Di dalam dunia pemrograman, ada tiga jenis algoritma yang umum dijumpai: algoritma runtunan, algoritma pemilihan (algoritma percabangan), dan algoritma pengulangan. Ketiganya merupakan dasar yang akan digunakan saat mempelajari pemrograman lebih lanjut. Karena itu, memahami fungsi setiap jenis algoritma membantu kamu menentukan alur yang tepat untuk sebuah program.
Artikel ini membahas algoritma pemilihan, yang juga dikenal sebagai struktur kontrol percabangan. Struktur ini menentukan perintah yang dijalankan berdasarkan kondisi tertentu. Jika kondisi terpenuhi, program mengikuti satu jalur; jika tidak, program dapat mengikuti jalur lain.
Contohnya, sebuah program dapat menampilkan pesan berdasarkan status pesanan. Jika statusnya “dikirim”, program menampilkan informasi pengiriman. Jika statusnya masih “diproses”, program menampilkan pesan bahwa pesanan sedang disiapkan. Keluaran program berubah mengikuti nilai yang diperiksa.
Contoh tersebut menunjukkan kegunaan struktur kontrol percabangan: program memilih tindakan setelah memeriksa kondisi. Dalam kode, percabangan umumnya ditulis dengan if-else atau switch-case. Berikut penjelasan sintaks dan contoh penggunaannya.
Baca Juga: 5 Program Sederhana untuk Melatih Logika Looping Kamu
Syntax untuk Struktur Kontrol Percabangan
Struktur kontrol percabangan yang umum digunakan ditulis dengan if-else atau switch-case. Keduanya memilih jalur program, tetapi cara menuliskan kondisinya berbeda. Bentuk sintaks yang tepat bergantung pada bahasa pemrograman yang digunakan.
Sebagai gambaran, pola dasarnya dapat diringkas seperti berikut:
- if-else: memeriksa kondisi logis, termasuk perbandingan atau rentang nilai.
- switch-case: mencocokkan satu nilai dengan beberapa kemungkinan nilai tertentu.
Misalnya, pada JavaScript, program dapat menentukan hasil berdasarkan nilai ujian dengan pola if-else. Sementara itu, status pesanan yang berupa pilihan seperti “diproses” atau “dikirim” dapat diperiksa menggunakan switch-case.
1. If-else
Struktur kontrol percabangan yang pertama adalah if-else. Bentuk ini sesuai untuk kondisi yang hasilnya benar atau salah, termasuk saat program perlu membandingkan nilai. Pola umumnya dalam JavaScript seperti berikut:
if (nilaiUjian >= 75) { console.log("Lulus");
} else { console.log("Belum lulus");
}Program memeriksa apakah nilaiUjian lebih besar dari atau sama dengan 75. Jika benar, perintah di dalam blok if dijalankan. Jika kondisi tidak terpenuhi, program menjalankan blok else.
Pada contoh sapaan yang dibahas sebelumnya, kondisi juga dapat ditentukan dari masukan pengguna. Kode berikut menggambarkan alur if-else dengan dua kemungkinan nilai:
if (jenisKelamin === "perempuan") { console.log("Good morning, Miss!");
} else { console.log("Good morning, Sir!");
}Struktur penulisan if-else secara umum juga dapat dilihat pada gambar di bawah ini:
Pada bagian kondisi, program memeriksa nilai yang dimasukkan. Sesudah itu, perintah di dalam blok if akan dijalankan hanya apabila kondisi bernilai benar. Pada contoh sapaan, kondisi memeriksa apakah jenis kelamin bernilai “perempuan”. Perintah yang sesuai dapat ditulis seperti pada ilustrasi berikut:
Blok else tidak memerlukan kondisi tambahan. Program menjalankannya ketika kondisi pada if tidak terpenuhi. Dalam contoh ini, else mencakup semua nilai selain “perempuan”. Jika program hanya menerima dua nilai, kondisi tersebut dapat mewakili “laki-laki”. Untuk aplikasi yang menerima masukan bebas, sebaiknya nilai lain ditangani secara khusus agar hasilnya tidak menyesatkan.
Perintah pada blok else ditulis setelah kondisi if, seperti yang ditunjukkan pada gambar berikut:
If-else dasar menangani dua jalur. Untuk memeriksa lebih dari dua kemungkinan, tambahkan else if. Program mengevaluasi kondisi secara berurutan dan menjalankan blok pertama yang kondisinya terpenuhi. Contoh pola untuk beberapa rentang nilai:
if (nilaiUjian >= 85) { console.log("Sangat baik");
} else if (nilaiUjian >= 75) { console.log("Lulus");
} else { console.log("Belum lulus");
}Urutan kondisi berpengaruh. Dalam contoh tersebut, nilai diperiksa dari batas tertinggi lebih dulu. Dengan begitu, nilai yang memenuhi syarat “Sangat baik” tidak lebih dulu masuk ke kondisi “Lulus”. Bentuk percabangan dengan else if juga ditunjukkan pada ilustrasi berikut:
Baca Juga: 5 Istilah Pemrograman Penting untuk Programmer Pemula
2. Switch-case
Struktur kontrol percabangan yang kedua adalah switch-case. Pola ini berguna saat satu variabel perlu dicocokkan dengan beberapa nilai tertentu, misalnya untuk menentukan tindakan dari status pesanan. Berbeda dari if-else, switch-case biasanya tidak menuliskan perbandingan rentang pada setiap case.
Struktur dasar switch-case dalam JavaScript dapat dilihat pada gambar di bawah ini:
Nilai yang ditulis setelah syntax Switch adalah variabel yang akan diperiksa. Dalam JavaScript, penulisan kata kuncinya menggunakan huruf kecil, yaitu switch. Setiap case kemudian berisi nilai yang mungkin cocok dengan variabel tersebut.
Berikut contoh switch-case untuk memeriksa status pesanan:
switch (statusPesanan) { case "diproses": console.log("Pesanan sedang disiapkan"); break; case "dikirim": console.log("Pesanan sedang dikirim"); break; default: console.log("Periksa status pesanan");
}Pada contoh tersebut, variabel statusPesanan menjadi nilai yang diperiksa. Setiap case berisi nilai yang dapat dicocokkan, seperti “diproses” atau “dikirim”. Perintah setelah titik dua dijalankan ketika nilai variabel sesuai dengan case tersebut.
Kata kunci break menghentikan pemeriksaan switch setelah case yang sesuai selesai dijalankan. Tanpa break, JavaScript dapat meneruskan eksekusi ke case berikutnya. Bagian default bersifat opsional dan berguna untuk menangani nilai yang tidak cocok dengan case mana pun.
Switch-case dapat memuat banyak case, tetapi banyaknya pilihan saja bukan alasan untuk selalu menggunakannya. Pilih switch-case saat variabel dibandingkan dengan nilai-nilai tertentu. Jika kondisi melibatkan rentang atau beberapa perbandingan logis, if-else biasanya lebih sesuai.
Jadi, struktur kontrol percabangan mengarahkan program ke perintah yang sesuai dengan hasil pemeriksaan kondisi. Gunakan if-else untuk kondisi logis atau rentang nilai. Gunakan switch-case untuk mencocokkan satu nilai dengan beberapa pilihan. Setelah memahami perbedaan ini, kamu dapat mempelajari fungsi default dan bentuk percabangan lain yang tersedia dalam bahasa pemrograman pilihanmu.
Semoga artikel dari Coding Studio ini membantu kamu memahami algoritma pemilihan atau algoritma percabangan. Pemilihan pola yang sesuai akan membuat alur program lebih mudah diperiksa saat hasilnya tidak sesuai harapan.
Jika ingin mempelajari algoritma lebih lanjut, kamu dapat melihat Menguasai Fundamental Algoritma dari Coding Studio.
