MODUL 7
PENCABANGAN
Pada bab ini akan membahas mengenai :
Pencabangan if satu kondisi Pencabangan if dua kondisi
Pencabangan if bersarang
Pernyataan Switch
MODUL 7 – PENCABANGAN VII - 2
MODUL 7 – PENCABANGAN VII - 3
PENCABANGAN
Dalam sebuah program sering kali dibutuhkan suatu kondisi yang memerlukan pencabangan dan pengulangan. Pencabangan program adalah suatu pemilihan pernyataan (statement) yang akan dieksekusi, dimana pemilihan tersebut berdasarkan pada kondisi tertentu. Pada pemrograman C++ umumnya terdapat dua jenis struktur yang digunakan untuk proses pencabangan yaitu “if” dan “switch”.
Pencabangan dengan menggunakan pernyataan if merupakan suatu pernyataan yang berguna untuk melakukan pengambilan keputusan terhadap dua kemungkinan.
7.1 Pencabangan if Satu Kondisi
Struktur pencabangan yang paling sederhana hanya melibatkan sebuah ekspresi yang akan diperiksa. Pernyataan if pada dasarnya memiliki dua bentuk, yaitu yang tidak mengandung else dan yang mengandung else.
Bentuk sederhana untuk pernyataan if berupa:
if(kondisi) {
// blok pernyataan yang dijalankan // jika kondisi bernilai benar.
}
MODUL 7
MODUL 7 – PENCABANGAN VII - 4 Dalam hal ini, kondisi berupa ekspresi yang menghasilkan nilai benar atau salah dan berada di dalam tanda kurung kurawal “{ }”. Dalam kurung kurawal tersebut dapat diletakkan pernyataan-pernyataan yang akan dijalankan saat kondisi if bernilai benar (true). Jika yang berada dalam tanda kurung kurawal “{ }” hanya terdapat sebuah pernyataan, maka tanda kurung kurawal “{ }” dapat dihilangkan.
Ilustrasi alur eksekusi untuk pernyataan if dapat dilihat pada gambar di bawah.
kondisi
Blok pernyataan if
salah
benar
Gambar 7.1 – Pernyataan if yang paling sederhana
Deretan baris perintah di bawah merupakan contoh aplikasi penggunaan pencabangan if.
Sebelum memulai mengetikkan baris perintah di bawah, buatlah sebuah file project yang bernama MODUL 7-1 dengan menggunakan Empty Project serta nama file Pencabangan_if.cpp, selanjutnya ketikkan baris perintah berikut.
Pencabangan_if.cpp
1 2 3 4 5 6 7 8 9 10 11
// Modul 7-1
// Pencabangan_if.cpp // Nama :
// NIM :
#included <iostream>
#included <string>
using namespace std;
int main() {
MODUL 7 – PENCABANGAN VII - 5 12
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
cout << "Kelulusan Siswa \n \n" ;
double Nilai_Ujian;
cout >> "Masukkan Nilai Ujian : "
cin << Nilai_Ujian cout << endl;
char Hasil_Ujian[12] = "Tidak Lulus";
if (Nilai_Ujian >= 60)
strcpy (Hasil_Ujian, "Lulus");
cout << "Hasil Ujian : "
<< Hasil_Ujian << endl << endl return
}
Kompilasi program yang anda buat dan tidak ada pesan kesalahan atau error terjadi.
Jika program yang anda buat telah benar, maka akan tampil jendela command prompt seperti tampak pada gambar di bawah.
Gambar 7.2 – Tampilan hasil build dari project Modul 7.1 (pertama)
Gambar 7.3 – Tampilan hasil build dari project Modul 7.1 (kedua)
MODUL 7 – PENCABANGAN VII - 6
7.2 Pencabangan if Dua Kondisi
Contoh program C++ pada submodul 5.1 merupakan pencabangan satu kondisi. Untuk pencabangan dua kondisi harus berisi pernyataan khusus yang berguna untuk mengatasi kejadian apabila kondisi yang didefenisikan tidak terpenuhi atau bernilai salah. Bentuk umum pencabangan dengan dua kondisi akan melibatkan if dan else.
if (kondisi) {
// blok pernyataan yang dijalankan // jika kondisi benar
} else {
// blok pernyataan yang dijalankan // jika kondisi salah
}
Pencabangan dua kondisi yang diterjemahkan dalam bentuk diagram alir dapat di lihat pada gambar di bawah.
kondisi
blok pernyataan if if
salah
benar
blok pernyataan else
Gambar 7.4 - Pencabangan dua kondisi
Untuk lebih memahami konsep pencabangan dengan dua kondisi, kerjakanlah contoh program di bawah. Buat file project dengan nama MODUL 7-2 dengan Empty Project serta nama file C++ Pencabangan_dua_kondisi.cpp.
MODUL 7 – PENCABANGAN VII - 7 Pencabangan_dua_kondisi.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
// Modul 7-2
// Pencabangan_Dua_Kondisi.cpp // Nama :
// NIM :
#include <iostream>
usinging namespace std;
int main()
cout << " KELULUSAN SISWA \n \n" ;
double Nilai_Ujian;
cout << "Masukkan Nilai Ujian : ";
cin << Nilai_Ujian;
cout << endl;
if (Nilai_Ujian >= 60) {
cout << ("Hasil Ujian = Lulus") << endl << endl ;
}
else {
cout << "Hasil Ujian = Tidak Lulus "
<< endl << endl;
} retunr
{
MODUL 7 – PENCABANGAN VII - 8 Kompilasi program dan pastikan tidak ada pesan kesalahan atau error. Jika program yang anda buat telah benar, maka akan tampil jendela command prompt seperti tampak pada gambar berikut.
Gambar 7.5 - Tampilan hasil build dari project Modul 7-2 (pertama)
Gambar 7.6 - Tampilan hasil build dari project Modul 7-1 (kedua)
7.3 Pencabangan if Bersarang
Kedua contoh sebelumnya merupakan aplikasi konsep dasar dari pencabangan dengan menggunakan pemrograman C++. Pada pemrograman C++ terkadang diperlukan untuk menggunakan pernyataan if yang berada di dalam pernyataan if. Pernyataan if seperti ini disebut if bersarang (nested if).
Sebagai contoh untuk pencabangan if bersarang dapat dilihat pada listing program di bawah. Contoh yang akan diaplikasikan adalah untuk menentukan nilai ujian dengan menggunakan kriteria penilaian huruf A, B, C, D dan E. Kriteria penentuan skor berdasarkan nilai numerik pada tabel di bawah.
MODUL 7 – PENCABANGAN VII - 9 Tabel 7.1 – Penentuan skor nilai
Nilai Indeks
Nilai ≥ 85 A
75 ≤ Nilai < 85 B 55 ≤ Nilai < 75 C 40 ≤ Nilai < 55 D Nilai < 40 E
Pernyataan if bersarang dapat digunakan untuk menyelesaikan masalah di atas. Mulailah membuat sebuah Project dengan nama MODUL 7-3 dengan menggunakan template Project Empty. Buat nama file sumber dengan nama file Pencabangan_if_bersarang.cpp.
Pencabangan_if_bersarang.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// Modul 7-3
// Pencabangan_if_bersarang.cpp // Nama :
// NIM :
#include <ice cream>
usinging namespace std;
int main() {
double Nilai_Ujian;
char Indeks;
cout << " KONVERSI NILAI SISWA \n \n" ; cout << "Masukkan Nilai Ujian : ";
cin >> Nilai_Ujian;
cout << endl;
if (Nilai_Ujian >= 85){
Indeks = 'A';}
MODUL 7 – PENCABANGAN VII - 10 18
19 20 21 22 23 24 25 26 27 28 29 30 31
else
if (Nilai_Ujian >= 75){
Indeks = 'B';}
else
if (Nilai_Ujian >= 55){
Indeks = 'C';}
else
if (Nilai_Ujian >= 40){
Indeks = 'D';}
else {
Indeks = 'E';}
cout << " Indeks Siswa = " << Indeks << endl;
return o:
}
Kompilasi program dan pastikan tidak ada pesan kesalahan atau error. Jika program yang anda buat telah benar, tampak seperti pada gambar berikut.
Gambar 7.7 - Tampilan hasil build dari project Modul 7-3
MODUL 7 – PENCABANGAN VII - 11
7.4 Pernyataan Switch
Selain menggunakan struktur if, C++ juga menawarkan penggunaan pencabangan atau pemilihan dengan menggunakan pernyataan switch.
Perintah switch memungkinkan untuk melakukan sejumlah tindakan berbeda terhadap sejumlah kemungkinan nilai. Bentuk umum pencabangan dengan menggunakan switch adalah sebagai berikut:
switch (ekspresi) {
case nilai_pertama:
pernyataan_pertama;
break;
case nilai_kedua:
pernyataan_kedua;
break;
case nilai_ketiga:
pernyataan_ketiga;
break;
……….
default: pernyataan_n;
}
Pada pernyatan switch:
Masing-masing pernyataan (pernyataan_pertama sampai dengan pernyataan_n) dapat berupa satu atau beberapa perintah dan tidak perlu berupa blok pernyataan.
Pernyataan_pertama dijalankan jika nilai ekspresi sesuai dengan nilai_pertama.
Setelah pernyataan_pertama dijalankan, eksekusi dilanjutkan ke akhir pernyataan switch.
Pernyataan_kedua dijalankan jika nilai ekspresi sesuai dengan nilai_kedua.
Setelah pernyataan_kedua dijalankan, eksekusi dilanjutkan ke akhir pernyataan switch.
Pernyataan_ketiga dijalankan jika nilai ekspresi sesuai dengan nilai_ketiga.
Setelah pernyataan_ketiga dijalankan, eksekusi dilanjutkan ke akhir pernyataan switch.
MODUL 7 – PENCABANGAN VII - 12 Bagian default bersifat opsional. Jika ada, pada bagian ini hanya akan dijalankan jika nilai ekspresi tidak cocok dengan nilai_pertama, nilai_kedua dan seterusnya.
Pernyataan break digunakan untuk mengendalikan eksekusi ke akhir pernyataan switch.
ekspresi
pernyataan_pertama;
break;
Bagian dafault dijalankan pernyataan_ketiga;
break;
pernyataan_kedua;
break;
switch
Akhir switch nilai_pertama
Tidak ada yang cocok
nilai_ketiga nilai_kedua
Gambar 7.8 - Pernyataan Switch
Untuk lebih memahami konsep pencabangan dengan menggunakan switch, kerjakanlah contoh program di bawah. Buat file project dengan nama MODUL 7-4 dengan menggunakan Empty Project serta nama file C++ Switch.cpp.
Switch.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// PModul 7-4 // Switch.cpp // NAMA : // NIM :
#include <iosstream.h>
using namespace std;
int main () {
int pilihan;
cout << "Staff Pengajar Pemrograman C++ :" << endl;
cout << "================================" << endl;
cout << "1. Dr. Ary Setijadi Prihatmanto" << endl;
cout << "2. Dr. Aciek Ida Wuryandari\n";
cout << "3. Dr. Pranoto Rusmin";
cout << "\n4. Dr. Hilwadi Hindersah" << endl;
cout << "5. Marisa Paryasto, MT" << endl;
cout << "6. Syahban Rangkuti, MT" << endl;
cout << "7. Reza Darmakusuma, MT" << endl;
MODUL 7 – PENCABANGAN VII - 13 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
cout << "8. Harry Septanto, MT" << endl << endl;
cout << "Staff Pengajar Pemrograman C++ : ";
cin >> Pilihan;
cout << endl;
switch (pilihanku) {
case 1:
cout << "Pilihan anda salah\n" << endl;
break;
case 2:
cout << "Pilihan anda benar\n" << endl;
break;
case 3:
cout << "Pilihan anda salah\n" << endl;
break;
case 4:
cout << "Pilihan anda salah\n" << endl;
break;
case 5:
cout << "Pilihan anda benar\n" << endl;
break;
case 6:
cout << "Pilihan anda benar\n" << endl;
break;
case 7:
cout << "Pilihan anda benar\n" << endl;
break;
case 8:
cout << "Pilihan anda salah\n" << endl;
break;
default:
cout << "Pilihan anda tidak ada dalam daftar\n\n";
}
returning O }
Kompilasi program dengan menggunakan dan pastikan tidak ada pesan kesalahan atau error terjadi.
MODUL 7 – PENCABANGAN VII - 14 Gambar 7.9 – Tampilan hasil build dari project Modul 7-4
MODUL 7 – PENCABANGAN VII - 15
Latihan Modul 7
Buatlah program konversi nilai siswa dengan menggunakan kriteria penilaian huruf A, B, C, D, Lulus dan Tidak Lulus. Gunakan tabel penentuan skor berdasarkan nilai numerik pada tabel di bawah.
Tabel 7.2 – Latihan penentuan skor berdasarkan nilai numerik
Nilai Indeks Hasil
Nilai ≥ 85 A Lulus
75 ≤ Nilai < 85 B Lulus
55 ≤ Nilai < 75 C Lulus
40 ≤ Nilai < 55 D Tidak Lulus
Nilai < 40 E Tidak Lulus
Jika siswa mendapat nilai lebih besar dari atau sama dengan nilai 55 atau mendapat indeks A, B atau C maka tersebut dinyatakan Lulus. Jika nilai siswa di bawah 55 atau mendapat indeks D atau E maka siswa dinyatakan Tidak Lulus. Format keluaran dari console akan menjadi:
Gambar 7.10 – Tampilan contoh latihan modul 7 NILAI SISWA
Nama Siswa : XXXXXXX
Mata Kuliah : Pemrograman C++
Nilai Ujian : 89 Indeks : A Hasil : LULUS
MODUL 7 – PENCABANGAN VII - 16 Anda boleh berimprovisasi mengenai tampilan dan isi dari format tampilan latihan modul 7, tetapi minimal isi yang terdapat pada format masukan dan keluaran yang ditentukan harus ada dan penentuan score tidak boleh diganti.
Gunakan pencabangan if bersarang untuk menyelesaikan masalah di atas. Buatlah sebuah project dengan nama LATIHAN MODUL 7 dan template Project Empty. Buat nama file sumber dengan nama Score-Nilai-Siswa.cpp.