Belajar Pemrograman C++ Seri 5 : Struktur Kontrol Percabangan

Belajar Pemrograman C++

Halo calon programmer!

Belajar Pemrograman C++
Belajar Pemrograman C++

Setelah pada materi sebelumnya kita sudah membuat program interaktif dimana kita bisa berinteraksi dengan pengguna, kali ini kita akan membahas materi struktur kontrol percabangan. Struktur kontrol percabangan merupakan salah satu materi penting dan menarik sehingga kalian harus menguasai ini dengan baik.

Apa yang dimaksud dengan struktur kontrol percabangan?

Secara mudah, struktur kontrol percabangan adalah bagian dari bahasa pemrograman yang digunakan untuk melakukan pemilihan / penyeleksian kondisi tertentu.

Apa maksudnya?

Dalam kehidupan sehari-hari kita sering menghadapi kasus pemilihan atau pembuatan keputusan tertentu. Misalnya “jika rata-rata nilai raport semester ini di atas 90, bapak akan membelikan sepeda”. Tetapi jika rata-ratanya di bawah itu tentu saja perjanjian batal.

Contoh lain misalkan suhu udara di atas 27 derajat Celcius kita kategorikan panas, antara 20 – 25 derajat kita kategorikan sebagai sejuk, di bawah itu kita kategorikan sebagai dingin. Ini hanya contoh saja. Yang pasti semua kasus di atas jika kita terapkan dalam bahasa pemrograman, kita akan membutuhkan struktur kontrol percabangan.

Apa saja yang termasuk struktur kontrol percabangan?

Kita akan membahas 2 macam struktur kontrol percabangan yaitu :

  1. IF dengan berbagai variasinya
  2. SWITCH CASE

Kedua macam fungsi tersebut memiliki fungsi yang sama tetapi memiliki perbedaan karakteristik. Mengenai perbedaan karakteristiknya akan kita bahas kemudian.

Struktur Kontrol IF

Struktur kontrol IF memiliki beberapa variasi bentuk :

  1. Bentuk IF yang paling sederhana
  2. Bentuk IF ELSE untuk pengecekan 2 kondisi
  3. Bentuk IF ELSE IF untuk kasus pengecekan yang banyak

Bentuk IF kita gunakan misalkan kita ingin menganalisis suatu kondisi, jika bernilai benar kode tertentu akan dijalankan, dan jika kondisinya bernilai salah program berhenti. Lebih jelasnya coba cermati kode program berikut :

 #include <iostream>
using namespace std; 

int main() { 

int nilai = 90;

if (nilai >= 80) {    
cout << “lulus” << endl;

return 0;

Pada kode di atas kita mengatur nilai 90 secara manual. Program kemudian akan membaca “jika nilanya di atas atau sama dengan 80, tampilkan pesan lulus”. Nah, karena nilai kita 90, maka tulisan “lulus” akan tampil.

Tetapi jika kita mengganti nilainya menjadi 70, program tidak akan menampilkan pesan apapun karena kita tidak menentukan kondisi selain yang nilainya di atas atau sama dengan 80.

Contoh di dunia nyatanya misalkan begini. Di dalam aplikasi pengolah foto selfie, ada kode program yang digunakan untuk menghilangkan titik jerawat jika ternyata program mendeteksi adanya titik jerawat pada wajah. Kira-kira gambaran kodenya seperti ini :

 #include <iostream>
using namespace std; 

int main() { 

bool jerawat = true; 

if (jerawat) {    
// jerawat terdeteksi   
// jalankan kode untuk menghilangkan jerawat

return 0;

Tentu saja kodenya tidak sesederhana itu. Kode tersebut hanya sebagai gambaran saja.

Struktur kontrol IF ELSE

IF ELSE kita gunakan apabila kita membutuhkan pengecekan dan aksi untuk 2 kondisi, yaitu saat kondisi benar dan saat kondisi salah.

Dengan menggunakan analogi nilai seperti pada contoh IF di atas, kasusnya akan berubah menjadi seperti ini : “jika nilai yang kita miliki di atas atau sama dengan 80, tampilkan pesan lulus. Dan jika tidak (nilai di bawah itu), tampilkan pesan kamu harus ikut remidi”.

Kode implementasinya menjadi seperti berikut, silahkan dicermati :

 #include <iostream>
using namespace std; 

int main() { 
int nilai = 70; 

if (nilai >= 80) {    
cout << “lulus” << endl;
} else {   
cout << “kamu harus ikut remidi” << endl;

return 0;

Pada kode di atas kita menuliskan nilainya 70. Nilai 70 tersebut akan dimasukkan ke dalam struktur IF, jika nilainya lebih dari atau sama dengan 80 tampilkan lulus. Apakah 70 >= 80? tentu saja tidak alias FALSE. Karena bernilai FALSE, maka kode di bagian else yang akan dijalankan sehingga akan tampil pesan “kamu harus ikut remidi”.

Struktur kontrol IF ELSE IF

IF ELSE IF akan kita perlukan manakala kita menghadapi beberapa pilihan di dalam hidup kebutuhan kode kita. Agar lebih mudah, kita samakan kodenya dengan kasus nilai seperti pada materi di atas.

Misalkan jika kita ingin membuat program untuk membuat nilai huruf dari nilai angka yang kita punya berdasarkan tabel berikut ini :

NILAI ANGKANILAI HURUF
0 – 20E
21 – 40D
41 – 60C
61 – 80B
81 – 100A

Sekarang kita buat dengan sedikit kombinasi input dari pengguna seperti yang ada pada materi program interaktif sebelumnya. Mengapa? Agar semakin paham saja.

Perhatikan kode implementasinya sebagai berikut :

#include <iostream>
using namespace std; 

int main() { 

int angka; 

cout << “masukkan angka : “;
cin >> angka; 

if (angka >= 0 && angka <= 25) {    
cout << “E” << endl;
} else if (angka >= 26 && angka <= 40) {    
cout << “D” << endl;
} else if (angka >= 41 && angka <= 60) {    
cout << “C” << endl;
} else if (angka >= 61 && angka <= 80) {    
cout << “B” << endl;
} else if (angka >= 81 && angka <= 100{   
cout << “A” << endl;
} else {   
cout << “nilai tidak valid” << endl;


return 0;
}

Cermati kembali kode di atas. Jika kita memasukkan angka 77, kira-kira huruf apa yang akan tampil?

Program akan menganalisis satu persatu sesuai dengan kondisi pada masing-masing blok if yang ada di atas dan pada akhirnya akan menemukan kondisi yang cocok ada di rentang >= 61 dan <= 80 sehingga akan menampilkan huruf “B”.

Bagaimana jika yang dimasukkan angka 96? Program akan membaca satu per satu kondisi yang ada di blok if dan akan menemukan kalau ternyata kondisi tersebut akan masuk pada blok if yang terakhir. Output yang dihasilkan adalah huruf “A”.

Bagaimana jika angka -10 atau 101 dimasukkan? Hasilnya adalah “nilai tidak valid”.

Struktur Kontrol Switch Case

SWITCH CASE memiliki fungsi yang sama dengan bentuk IF ELSE IF. Hal ini berarti switch case akan cocok jika memiliki banyak kemungkinan yang akan dicek.

Lalu bedanya dimana?

Switch case hanya digunakan jika kita mengecek suatu kondisi satu per satu. Switch case tidak mendukung rentang nilai seperti yang dimiliki if else.

Switch case juga memiliki beberapa kata kunci (keyword) baru yang perlu kita cermati. Keyword tersebut adalah switch, case, break, dan default.

Apa fungsi switch, case, break dan default?

Oke, fungsinya adalah sebagai berikut :

  1. Switch fungsinya seperti if yaitu untuk menuliskan variabel yang akan kita analisis.
  2. Case digunakan untuk menuliskan kondisi yang akan kita analisis satu per satu.
  3. Break digunakan untuk membatasi blok program agar tidak “lari” ke blok case berikutnya.
  4. Default fungsinya seperti else, yaitu untuk menjalankan apa saja yang tidak termasuk dalam case.

Perhatikan kode program untuk kasus berikut ini :

 #include <iostream>
using namespace std; 

int main() { 
int suhu; 

cout << “masukkan suhu : “;
cin >> suhu; 

switch(suhu) {    
case 0:        
cout << “dingin”;        
break;    

case 25:        
cout << “sejuk”;        
break;    

case 30:        
cout << “panas”;        
break;    

default:        
cout << “suhu tidak diketahui”;


return 0;

Jika kita memasukkan suhu 0, program akan menampilkan pesan “dingin”. Jika kita memasukkan suhu 25, program akan menampilkan pesan “sejuk”.

Tetapi karena switch case tidak mendukung rentang, jika kita memasukkan angka 20 maka yang akan tampil adalah “suhu tidak diketahui”. Artinya, switch case hanya akan menjalankan apa yang ditulis jelas pada bagian case. Selain itu akan masuk ke dalam blok default.

Sedikit manipulasi kode, untuk pemahaman lebih

Sekarang coba cermati kode program dengan sedikit modifikasi berikut :

 #include <iostream>
using namespace std; 

int main() { 

int suhu; 

cout << “masukkan suhu : “;
cin >> suhu; 

switch(suhu) {    
case 0:        
cout << “dingin”;    

case 25:        
cout << “sejuk”;       
break;    

case 30:        
cout << “panas”;    

default:        
cout << “suhu tidak diketahui”;


return 0;

Pada kode di atas ada beberapa kode “break” yang dihapus. Karena perbedaan kode, hasil yang akan ditampilkan pun akan berbeda.

Jika kita memasukkan suhu 0, maka program akan menampilkan tulisan “dingin sejuk”. kok bisa? Karena ketika suhu 0 dianalisis, suhu tersebut cocok untuk kondisi “dingin”, tetapi karena tidak ada keyword “break”, maka kode akan berlanjut ke case 25 sehingga tulisan “sejuk” pun akan ditampilkan.

Karena setelah menampilkan “sejuk” terdapat keyword “break”, program pun berhenti.

Bagaimana jika suhu yang dimasukkan 80? Tetap saja “suhu tidak diketahui”.

Bagaimana jika suhu yang dimasukkan 30? Tepat sekali, hasilnya adalah “panas” dan “suhu tidak diketahui”.

Sampai disini, apa yang sudah kamu pelajari?

Meskipun contoh implementasi program di atas hanyalah program yang sederhana, di dunia nyata konsep tentang struktur kontrol percabangan dapat diimplementasikan dalam banyak hal. Misalkan apakah seorang pengguna sudah login saat melakukan transaksi tertentu? Apakah file sudah disimpan saat pengguna menekan tombol close? Dan sebagainya.

Tetap semangat belajar pemrograman C++, karena setelah ini masih ada episode-episode materi yang lebih menantang.

Yuk bagikan ilmu ini!

Tinggalkan Balasan