
Selamat datang kembali di pakkoding.id para programer baru!
Kali ini kita akan membahas mengenai flow control percabangan if
.
Sebelum masuk ke sintaks penggunaan blok percabangan if
terlebih dahulu kita harus memahami apa itu percabangan. Istilah percabangan juga dikenal dengan istilah penyeleksian, control flow, decision, struktur kondisi, struktur if
.
Sebagai contoh, jika dianalogikan, jika saya memiliki uang 10.000 rupiah saya akan membeli nasi goreng. Namun, jika saya memiliki uang 20.000 saya akan membeli coto Makassar. Saat ini saya memiliki uang 20.000 rupiah. Jika melihat pernyataan sebelumnya, maka dapat diketahui bahwa saya akan membeli coto Makassar.
Dari analogi yang diberikan di atas, kita dapat menyimpulkan bahwa percabangan adalah penentuan pengeksekusian statement berdasarkan kondisi tertentu.
Blok percabangan “if
” adalah salah satu bentuk blok pernyataan penyeleksian yang memungkinkan kita untuk memanipulasi alur pengeksekusian perintah pada program berdasarkan conditional expression tertentu. Dengan adanya blok percabangan ini, kita dapat membuat program berjalan secara fleksibel sesuai keadaan dari pengguna dan mesin. Terdapat beberapa jenis bentuk dari blok percabangan if
. Kita akan mambahasnya satu persatu.
1. if
Pernyataan if adalah bentuk pernyataan percabangan yang paling sederhana. Bentuk percabangan ini digunakan untuk memutuskan apakah suatu pernyataan atau blok pernyataan tertentu akan dieksekusi atau tidak, jika kondisi tertentu benar maka blok pernyataan dieksekusi, namun jika salah maka tidak akan dieksekusi. if
hanya memiliki 1 blok pilihan yang akan dieksekusi jika kondisi bernilai benar.
Sintaks if dan contoh
Berikut sintaks bentuk if yang paling sederhana:
if (kondisi) {
//pernyataan yang akan dieksekusi
//jika kondisi bernilai benar
}

Sintaks adalah aturan penulisan yang digunakan untuk membuat suatu ekspresi tertentu. Pada gambar 1 di atas kita telah melihat salah satu bentuk sintaks dari penggunaan seleksi kondisi if
. Pada bagian kondisi akan diisi dengan ekspresi boolean yang menghasilkan nilai true
atau false
. Jika kondisi bernilai true maka blok perintah if akan dieksekusi. Namun, jika bernilai false, maka blok perintah tidak akan dieksekusi (dilompati).
Berdasarkan sintaks pada gambar 1, berikut contoh penggunaan sintaks if tersebut. Perhatikan gambar 2.

Berdasarkan contoh pada gambar 2, dapat diketahui bahwa kondisi bernilai true. Sehingga, blok perintah if
di dalam { }
akan dieksekusi.
Agar lebih jelas lagi berikut kami berikan contoh berbeda disertai flowchartnya. Lihat gambar 3.

Pada gambar 3 di atas, jika x
kita isi dengan nilai 5 dan y
dengan nilai 10 maka kondisi akan bernilai true
. Karena kondisi (x<y)
bernilai true
maka statement cout << "x lebih besar dari y";
akan dieksekusi. Sehingga string "x lebih besar dari y"
akan ditampilkan sebagai output. Namun, jika x
kita isi dengan 10 dan y
dengan 5 maka kondisi (x<y)
akan bernilai false
. Karena kondisi (x<y)
bernilai false
maka statement cout << "x lebih besar dari y";
tidak akan akan dilewati sehingga tidak dieksekusi.
Contoh program “if”
Agar lebih memahami pengimplementasiannya dalam sebuah program sederhana. Berikut kami berikan contoh penggunaan if dalam suatu program sederhana.
#include<iostream>
using namespace std;
int main()
{
int x = 10;
int y = 10;
if (x >= y)
{
cout<<"x lebih besar atau sama dengan y."<<endl;
}
cout<<"Nilai x : "<< x<<endl;
cout<<"Nilai y : "<< y<<endl;
}
Output:
x lebih besar atau sama dengan y.
Nilai x : 10
Nilai y : 10
Pada program contoh 1 kita telah menerapkan penggunaan if
dalam sebuah program sederhana. Pada baris 6 dan 7 kita mendekalarasikan variabel x
dan y
bertipe integer yang masing-masing bernilai 10. Pada baris 9 hingga 12 merupakan blok kode percabangan.
Pada bagian kondisi dari sintaks percabangan if
kita lihat berisi kondisi x>=y
. Jika bingung dengan maksud dari kondisi ini, coba untuk letakkan kondisi x>=y
ke dalam sebuah pertanyaan seperti ini “Apakah x>=y
(x lebih besar atau sama dengan y) ?“. Jika nilai x
lebih besar atau sama dengan nilai y
maka perintah baris 11 akan dieksekusi. Namun, jika tidak maka semua perintah yang berada didalam blok “{
” hingga “}
” dari if tidak akan dieksekusi. Artinya, setelah kondisi diperiksa dan ternyata false
maka pengeksekusian akan berlanjut ke baris perintah setelah “}
” dari if
.
Pada contoh di atas perintah baris 11 dieksekusi sebab kondisi x>=y
bernilai benar. Jika anda merubah nilai x
menjadi 5 dan y
menjadi 7 maka perintah baris 11 tidak akan dieksekusi.
2. if-else
Pada pernyataan if
, kita hanya diberi sebuah pilihan atau pernyataan yang dieksekusi jika kondisi bernilai benar. Namun, ada suatu kondisi tertentu dimana kita membutuhkan pengeksekusian suatu perintah khusus jika kondisi bernilai salah.
Pernyataan if-else
adalah bentuk pernyataan percabangan yang memiliki dua blok pilihan. Blok pilihan pertama akan dieksekusi jika kondisi benar dan blok pilihan kedua akan dieksekusi jika kondisi bernilai salah.
Sintaks if-else dan contoh
Berikut sintaks dari if-else
:
if (kondisi) {
//pernyataan yang akan dieksekusi
//jika kondisi bernilai benar
} else {
//pernyataan yang akan dieksekusi
//jika kondisi bernilai salah
}

Berdasarkan sintaks pada gambar 4 maka dapat diberikan sebuah contoh penggunaan sintaks if-else tersebut. Seperti terlihat pada gambar 5 berikut ini.

Berikut kami berikan lagi contoh yang berbeda disertai flowchartnya. Lihat gambar 6.

Pada gambar 6 di atas, jika x
kita isi dengan nilai 5 dan y
dengan nilai 10 maka kondisi akan bernilai false
. Karena kondisi (x>y)
bernilai false
maka statement cout << "x lebih besar dari y";
tidak akan dilewati sehingga tidak dieksekusi. Berdasarkan kondisi tersebut yang akan dieksekusi adalah statement cout << "x lebih kecil dari y";
. Sehingga string "x lebih kecil dari y"
akan ditampilkan sebagai output.
Namun, jika x
kita isi dengan 10 dan y
dengan 5 maka kondisi (x>y)
akan bernilai true
. Karena kondisi (x<y)
bernilai true
maka statement cout << "x lebih besar dari y";
akan dieksekusi. Statement cout << "x lebih kecil dari y";
tidak akan akan dilewati sehingga tidak dieksekusi.
Contoh program “if-else”
Agar dapat lebih memahami pengimplementasiannya, berikut contoh penggunaan if-else
dalam suatu program sederhana.
#include<iostream>
using namespace std;
int main() {
int x = 7;
int y = 10;
if (x >= y){
cout<<"x lebih besar atau sama dengan y."<<endl;
} else {
cout<<"x lebih kecil daripada y."<<endl;
}
cout<<"Nilai x : "<< x<<endl;
cout<<"Nilai y : "<< y<<endl;
}
Output:
x lebih kecil daripada y.
Nilai x : 7
Nilai y : 10
Pada contoh 2 kita telah menerapkan penggunaan if-else
dalam sebuah program sederhana. Pada baris 5 dan 6 kita mendekalarasikan variabel x
dan y
bertipe integer yang masing-masing bernilai 7 dan 10. Pada baris 8 hingga 12 merupakan 1 rangkaian blok kode percabangan (bukan rangkaian terpisah).
Pada bagian kondisi dari sintaks percabangan if
kita lihat berisi kondisi x>=y
. Jika nilai x
lebih besar atau sama dengan nilai y
maka perintah baris 9 akan dieksekusi. Namun, jika tidak maka perintah yang ada pada blok else
, dalam hal ini perintah baris 11 akan dieksekusi. Berbeda dengan contoh 1 dimana ketika kondisi salah maka tidak ada perintah khusus yang akan dieksekusi.
Pada contoh di atas perintah baris 11 cout<<"x lebih kecil daripada y."<<endl;
dieksekusi sebab kondisi x>=y
bernilai false
. Jika misalnya anda merubah nilai x
menjadi 20 dan y
menjadi 8 maka perintah baris 9 akan dieksekusi.
3. if-else if
Percabangan jenis ini merupakan perluasan dari struktur if else
yang memiliki dua kondisi atau lebih, yaitu dengan menyisipkan 1 atau lebih kondisi ke dalamnya. Percabangan if-else if
ini penting untuk diketahui sebab pada kondisi tertentu kita memerlukan pengeksekusian suatu perintah khusus dari beberapa perintah khusus yang ada.
Pada sintaks if-else if
berikut kita dapat melihat bahwa terdapat lebih dari satu kondisi di dalam rangkaian blok percabangan. Proses pengujian kondisinya dimulai dari kondisi paling atas ke bawah.
Sintaks if-else if dan contoh
Berikut sintaks dari if-else if:
if (kondisi1) {
//pernyataan yang akan dieksekusi
//jika kondisi1 bernilai benar
} else if (kondisi2) {
//pernyataan yang akan dieksekusi
//jika kondisi1 salah dan kondisi2 benar
} else {
//pernyataan yang akan dieksekusi
//jika kondisi1 dan kondisi 2 bernilai salah
}

Berdasarkan sintaks pada gambar 7 maka dapat diberikan sebuah contoh penggunaan sintaks if-else if tersebut. Seperti terlihat pada gambar 8 berikut ini.

Berikut kami berikan lagi contoh yang berbeda disertai flowchartnya. Lihat gambar 9.

Pada gambar 9 kita dapat mengetahui bahwa jika kondisi1
tidak memenuhi atau bernilai false (salah), maka kondisi2
akan diuji. Jika kondisi2
bernilai true (benar) maka blok perintah kondisi2
akan dieksekusi. Setelah dieksekusi, perogram akan mengeksekusi perintah di bawah rangkaian blok percabangan saat ini, bagian else tidak akan dieksekusi. Namun, jika kondisi1
dan kondisi2
bernilai salah barulah blok perintah bagian else dieksekusi.
Pada gambar di atas jika x
berisi nilai 0 maka perintah yang akan dieksekusi adalah blok perintah bagian else yaitu cout << "x sama dengan 0";
. Namun, jika x
misalnya bernilai -5 maka perintah yang akan dieksekusi adalah blok perintah else if
yaitu cout << "x lebih kecil dari 0";
. Jika x
bernilai 3 maka perintah yang akan dieksekusi adalah blok perintah if
yaitu cout << "x lebih besar dari 0";
setelah itu proses pengeksekusian keluar dari blok percabangan.
Ingat bahwa rangkaian blok if di datas adalah satu kesatuan. Jika salah satu kondisi sudah terpenuhi maka kondisi berikutnya dalam blok if-else if
tersebut tidak akan diuji atau dieksekusi. Bagian else akan dieksekusi jika semua kondisi yang ada bernilai false.
Contoh program “if-else if”
Untuk dapat lebih memahami bagaimana mengimplementasikan if-else if
dalam sebuah program. Berikut kami berikan contoh penggunaan if-else if
dalam suatu program sederhana.
#include<iostream>
using namespace std;
int main() {
int x = 10;
int y = 10;
if (x > y){
cout<<"x lebih besar dari y."<<endl;
} else if (x < y){
cout<<"x lebih kecil daripada y."<<endl;
} else {
cout<<"x sama dengan y."<<endl;
}
cout<<"Nilai x : "<< x<<endl;
cout<<"Nilai y : "<< y<<endl;
}
Output:
x sama dengan y.
Nilai x : 10
Nilai y : 10
Pada contoh program di atas dapat kita lihat variabel x
dan y
bertipe integer
masing-masing diinisilisasi dengan nilai 10. Blok percabangan if-else if
dimulai pada baris 8 hingga 14. Pada blok percabangan tersebut kita dapat melihat bahwa kondisi1
diuji pertama kali, dalam hal ini x>y
. Jika hasil pengujian bernilai true
, maka baris perintah di dalam bloknya (baris 9) akan dieksekusi. Namun, jika kondisi1
bernilai false
maka kondisi2
akan diuji dalam hal ini x<y
. Jika hasil pengujian kondisi2
bernilai true, maka baris perintah didalam bloknya (baris 11) akan dieksekusi. Namun, jika kondisi2
bernilai salah maka secara otomatis dan pasti, blok perintah pada bagian else
(baris 13) akan dieksekusi.
Dalam kasus yang diberikan pada contoh program di atas, karena x
dan y
sama-sama bernilai 10, maka yang akan dieksekusi adalah perintah pada blok else
. Sehingga output yang tampil pada layar monitor adalah “x sama dengan y.
“
Contoh implementasi pada pemilihan menu
Sebagai contoh tambahan, perhatikan program berikut:
#include<iostream>
using namespace std;
int main() {
string menu;
cout<<"--Menu yang tersedia--"<<endl;
cout<<"1. Coto"<<endl;
cout<<"2. Nasgor:"<<endl;
cout<<"Masukkan menu yang ingin anda pesan :"<<endl;
cin>>menu;
if (menu == "Coto"){
cout<<"Anda memesan Coto"<<endl;
} else if (menu == "Nasgor"){
cout<<"Anda memesan Nasgor"<<endl;
} else {
cout<<"Menu yang anda pesan tidak tersedia"<<endl;
}
cout<<"--Terima kasih--"<<endl;
}
Output:
--Menu yang tersedia--
1. Coto
2. Nasgor:
Masukkan menu yang ingin anda pesan :
Coto
Anda memesan Coto
--Terima kasih--
Pada contoh 4 di atas kita telah mengimplementasikan percabangan dalam pemilihan menu makanan. Pada baris 5 dideklarasikan sebuah variabel bertipe string
bernama menu
. variabel menu
nantinya akan menampung nilai yang diinputkan user melalui keyboard saat perintah cin>>menu;
baris 10 dieksekusi. Pada baris 6 hingga 9 ditampilkan list menu dan permintaan untuk memasukkan menu.
Adapun blok percabangan dapat kita lihat pada baris 12 hingga 18. Pada blok percabangan tersebut, kondisi1
menguji menu == "Coto"
(dibaca: apakah isi dari variabel menu sama dengan Coto?) sedangkan kondisi2
menguji menu == "Nasgor"
. Bagian else
tanpa kondisi karena akan otomatis dan pasti dieksekusi jika kondisi1
dan kondisi2
bernilai false
. Kemudian setelah melewati blok percabangan perintah cout<<"--Terima kasih--"<<endl;
di baris 20 akan dieksekusi.
Pada contoh kasus di atas jika kita menginputkan “Coto” maka perintah cout<<"Anda memesan Coto"<<endl;
pada baris 13 akan dieksekusi sehingga output yang ditampilkan adalah “Anda memesan Coto
“.
Semoga dapat menambah wawasan teman-teman yang masih baru dalam dunia pemrograman. Semoga bermanfaat.
Jika ingin mendengarkan penjelasan secara lisan, jangan sungkan untuk mengunjungi channel youtube kami “PAKKODING“.
Oh iya, share halaman ini agar orang-orang yang baru belajar pemrograman dapat terbantu.
19,856 total views, 33 views today