Dalam dunia pemrograman, algoritma adalah serangkaian instruksi yang terstruktur untuk menyelesaikan suatu masalah atau tugas. Salah satu konsep paling fundamental dalam algoritma adalah percabangan. Percabangan memungkinkan program untuk membuat keputusan berdasarkan kondisi tertentu. Jika sebuah kondisi terpenuhi, maka satu blok instruksi akan dijalankan; jika tidak, blok instruksi lain (atau tidak ada sama sekali) yang akan dieksekusi. Konsep ini sering diibaratkan seperti membuat keputusan dalam kehidupan sehari-hari.
Dalam logika dan pemrograman, percabangan adalah alur eksekusi yang bercabang. Ini berarti bahwa alur program akan mengikuti jalur yang berbeda tergantung pada nilai dari suatu ekspresi boolean (kondisi yang menghasilkan nilai benar atau salah). Struktur kontrol percabangan yang paling umum meliputi:
if (jika): Mengeksekusi blok kode jika kondisi bernilai benar.if-else (jika-jika tidak): Mengeksekusi satu blok kode jika kondisi bernilai benar, dan blok kode lain jika kondisi bernilai salah.if-else if-else (jika-jika lain-jika tidak): Memungkinkan pengujian beberapa kondisi secara berurutan.switch-case (pilih-kasus): Berguna ketika Anda perlu membandingkan satu nilai dengan banyak kemungkinan nilai yang berbeda.Mari kita ambil contoh sederhana dalam kehidupan sehari-hari yang bisa dianalogikan dengan algoritma percabangan. Bayangkan Anda sedang menilai hasil ujian seorang siswa. Aturan kelulusan adalah nilai harus minimal 70.
Algoritma menggunakan pseudocode:
MULAI
Baca nilai_ujian
JIKA nilai_ujian >= 70 MAKA
Tampilkan "Selamat, Anda Lulus!"
JIKA TIDAK
Tampilkan "Maaf, Anda perlu belajar lebih giat."
AKHIR JIKA
SELESAI
Dalam pseudocode di atas, kita dapat melihat sebuah struktur JIKA-TIDAK. Program akan membaca nilai ujian. Kemudian, ia akan memeriksa kondisi nilai_ujian >= 70. Jika kondisi ini benar (misalnya, nilai ujian adalah 85), maka pesan "Selamat, Anda Lulus!" akan ditampilkan. Jika kondisi ini salah (misalnya, nilai ujian adalah 60), maka program akan melewati blok pertama dan menjalankan blok JIKA TIDAK, menampilkan pesan "Maaf, Anda perlu belajar lebih giat.". Program kemudian akan selesai.
Sekarang, mari kita perluas contohnya dengan menggunakan struktur if-else if-else untuk memberikan diskon berdasarkan jumlah pembelian. Ini adalah skenario yang umum ditemui di toko ritel.
Aturan diskon:
Algoritma menggunakan pseudocode:
MULAI
Baca jumlah_pembelian
JIKA jumlah_pembelian > 500000 MAKA
hitung_diskon = 0.10 * jumlah_pembelian
Tampilkan "Anda mendapatkan diskon 10%."
JIKA LAIN jumlah_pembelian > 200000 MAKA
hitung_diskon = 0.05 * jumlah_pembelian
Tampilkan "Anda mendapatkan diskon 5%."
JIKA TIDAK
hitung_diskon = 0
Tampilkan "Tidak ada diskon."
AKHIR JIKA
total_bayar = jumlah_pembelian - hitung_diskon
Tampilkan "Total yang harus dibayar:", total_bayar
SELESAI
Dalam contoh ini, program pertama-tama memeriksa apakah jumlah_pembelian lebih besar dari 500.000. Jika ya, diskon 10% diberikan. Jika tidak, program akan lanjut ke kondisi berikutnya (JIKA LAIN) untuk memeriksa apakah jumlah_pembelian lebih besar dari 200.000. Jika ini benar, diskon 5% diberikan. Jika kedua kondisi di atas salah, maka blok JIKA TIDAK akan dieksekusi, yang berarti tidak ada diskon. Penting untuk dicatat bahwa urutan pengecekan sangat krusial di sini. Jika kita memeriksa jumlah_pembelian > 200000 terlebih dahulu, maka pembelian sebesar Rp 600.000 akan memenuhi kondisi pertama dan program tidak akan pernah memeriksa diskon 10%.
Konsep percabangan ini adalah dasar dari logika pemrograman yang memungkinkan aplikasi Anda menjadi dinamis dan responsif terhadap berbagai input atau situasi. Memahami dan menguasainya akan membuka pintu untuk membuat program yang lebih kompleks dan canggih.