Percabangan merupakan cara yang digunakan dalam mengambil suatu keputusan. Percabangan akan menjalankan blok statement yang ada pada kondisi true dan statement pada kondisi false tidak akan dijalankan.
Pada dunia nyata, salah satu contoh penggunaan percabangan yaitu dalam menentukan apakah nilai siswa melebihi ambang batas/KKM (Kriteria Ketuntasan Minimal). Kita misalkan mata pelajaran Matematika memiliki KKM sebesar 75. Apabila siswa mendapat nilai >= 75 maka siswa tersebut memiliki nilai yang mencukupi atau melebihi KKM, sedangkan siswa yang mendapatkan nilai < 75 berarti nilainya tidak mencukupi untuk lulus di mata pelajaran tersebut. Nah, bagaimana? ternyata dalam hal yang sering kita alami pun percabangan/pengambilan keputusan sering kita temukan ya.
Ok sebelum kita membahas sintaks percabangan yang dapat digunakan dalam pemrograman, ada baiknya kita mengetahui bagaimana sih sebenarnya flow dari suatu percabangan.

Dari diagram di atas, kita dapat mengetahui sebelum melakukan suatu proses/statement maka harus diketahui terlebih dahulu kondisi dari percabangan tersebut, apakah kondisinya true atau false.

Yuk kita coba lihat contoh percabangan dalam menentukan ketuntasan nilai yang telah kita ketahui sebelumnya pada diagram di atas. Dari diagram di atas diketahui siswa memiliki nilai sebesar 80. Kemudian untuk menentukan apakah siswa tersebut Tuntas atau Tidak Tuntas KKM, kita harus melakukan pengecekan kondisi apakah nilai >= 75. Karena pada diagram di atas siswa memiliki nilai 80, yang berarti nilai lebih besar atau sama dengan dari 75. Dengan kata lain, kondisi pada diagram di atas bernilai benar/true. Oleh karena itu, dapat diambil kesimpulan jika nilai siswa tersebut Tuntas KKM.
Dalam pemrograman, ada beberapa sintaks yang digunakan untuk percabangan. Di artikel ini, sintaks yang dibahas merupakan sintaks If Then Else. Sintaks dalam menggunakan If Then Else pada beberapa bahasa pemrograman terdapat perbedaan cara penulisannya, akan tetapi memiliki struktur yang sama.
Struktur:
if (kondisi) then
// statement
end if
Berikut ini merupakan contoh sintaks If Then Else pada bahasa pemrograman C# dan Python.
C#:
if (kondisi1) {
// statement kondisi 1
} else if (kondisi2) {
// statement kondisi 2
} else {
// statement untuk yang bukan kondisi 1 dan kondisi 2
}
Python:
if kondisi1:
# statement kondisi 1
elif kondisi2:
# statement kondisi 2
else:
# statement untuk yang bukan kondisi 1 dan kondisi 2
Pada penulisan If Then Else di atas, akan terlihat perbedaan penulisan sintaks pada bahasa C# dan python. Akan tetapi, perbedaan tersebut hanyalah perbedaan cara penulisannya, dimana kedua sintaks memiliki struktur yang sama.
Apabila pada code terdapat kata If, maka akan terdapat pengecekan terhadap suatu kondisi apakah kondisinya bernilai trur atau false. Pada sintaks di atas terdapat beberapa kata If, ada yang hanya If (menandakan If yang pertama, melakukan pengecekan yang petama) dan ada juga If yang didampingi kata else (pada C# menjadi else if, pada Python menjadi elif) yang berarti terdapat pengecekan kondisi apabila pada kondisi sebelumnya bernilai false. Akan tetapi, apabila pada pengecekan menghasilkan nilai true, dia tidak akan melanjutkan pengecekan sampai akhir dan melanjutkan program setelah statement If Then Else tersebut. Pada sintaks di atas juga diketahui terdapat kata else yang tidak diikuti kata If, itu berarti apabila tidak ada kondisi yang memenuhi selama pengecekan sebelumnya maka akan masuk ke dalam blok else tersebut. Pada kasus lain, ada juga yang tidak terdapat else pada akhir statement If Then Else, itu berarti apabila tidak ada kondisi yang memenuhi selama pengecekan maka tidak akan menjalankan apa-apa, berbeda dengan else yang akan menjalankan perintah di blok else tersebut.
Perlu kita ingat kembali, untuk setiap kondisi pada percabangan akan bernilai true atau false. Oleh karena itu kita dapat menggunakan operator perbandingan dan operator logika untuk menghasilkan nilai true atau false pada kondisi tersebut. Di bawah ini merupakan contoh penyelesaiian penentuan ketuntasan nilai siswa yang telah kita bahas sebelumnya.
double nilai = 80;
double kkm = 75;
if (nilai >= kkm) {
Console.WriteLine("Tuntas KKM");
} else {
Console.WriteLine("Tidak Tuntas KKM");
}
Salah satu contoh lain dari penggunaan percabangan yaitu penentuan nilai angka dalam bentuk huruf. Berikut ketentuan dalam penentuan nilainya:
- Jika nilai angka >= 85, maka nilai huruf = A
- Jika nilai angka >= 75 dan < 85, maka nilai huruf = B
- Jika nilai angka >= 65 dan < 75, maka nilai huruf = C
- Jika nilai angka >= 55 dan < 65, maka nilai huruf = D
- Jika nilai angka < 55, maka nilai huruf = E
Rentang nilai pada contoh di atas adalah 0 – 100. Apabila nilai < 0 atau nilai > 100, maka akan terdapat pesan kalau nilai angka tidak sesuai.
double nilai_angka = 85; //inisialisasi nilai angka
char nilai_huruf = 'A'; //inisialisasi nilai huruf
bool is_valid = true; //inisialisasi ke-valid-an nilai angka
//melakukan konversi nilai angka menjadi nilai huruf
if (nilai_angka < 0 || nilai_angka > 100){
is_valid = false;
} else if(nilai_angka >= 85){
nilai_huruf = 'A';
} else if(nilai_angka >= 75){
nilai_huruf = 'B';
} else if(nilai_angka >= 65){
nilai_huruf = 'C';
} else if(nilai_angka >= 55){
nilai_huruf = 'D';
} else {
nilai_huruf = 'E';
}
//melakukan pengecekan apakah nilainya valid?
//kalau tidak valid akan terdapat pesan nilai angka tidak valid
if(is_valid){
Console.WriteLine(nilai_huruf);
} else {
throw new Exception("Nilai angka tidak valid");
}
Ok mari kita bahas potongan kode yang melakukan konversi nilai angka menjadi nilai huruf.
- Potongan kode di atas akan memunculkan pesan error ketika nilai angka nya bernilai kurang dari 0 atau lebih dari 100, di mana kondisi if yang pertama (
if (nilai_angka < 0 || nilai_angka > 100)) yang melakukan pengecekan terhadap nilai < 0 atau nilai > 100. - If yang kedua (
if(nilai_angka >= 85)) akan mengecek apakah nilai angka tersebut bernilai lebih dari atau sama dengan 85. - If yang ketiga (
if(nilai_angka >= 75)) akan mengecek apakah nilai angka tersebut bernilai lebih dari atau sama dengan 75 dan kurang dari 85. Pada If yang ketiga kita tidak perlu melakukan pengecekan terhadap < 85 kembali (if(nilai_angka >= 75 && nilai_angka < 85)), karena untuk nilai yang masuk ke dalam if tersebut tidak akan memiliki nilai >= 85. Nilai >= 85 akan masuk ke dalam If yang kedua dan tidak akan melanjutkan proses pengecekan. - If yang keempat (
if(nilai_angka >= 65)) akan mengecek apakah nilai angka tersebut bernilai lebih dari atau sama dengan 65. - If yang kedua (
if(nilai_angka >= 55)) akan mengecek apakah nilai angka tersebut bernilai lebih dari atau sama dengan 55. - Kondisi yang terakhir tidak terdapat If, kata else yang berada paling akhir berarti menandakan semua nilai yang kurang dari 55 akan masuk ke dalam blok else tersebut.
Akhirnya kita telah selesai mempelajari bagaimana penggunaan If Then Else pada pemrograman. Apabila ada pertanyaan dapat ditanyakan pada kolom komentar di bawah. Thank you 🙂
