Percabangan atau control flow adalah fondasi utama dalam dunia pemrograman. Tanpa percabangan, kode program hanya akan berjalan lurus dari atas ke bawah. Padahal, aplikasi yang cerdas harus bisa mengambil keputusan berdasarkan kondisi tertentuโseperti sistem login yang mengecek apakah password benar, atau toko online yang menghitung diskon otomatis.
baca juga:Soal Parabola Geometri Analitik dengan Rumus Lengkap dan Penyelesaian
Dalam artikel ini, kita akan membedah berbagai variasi soal percabangan if, mulai dari yang paling sederhana hingga logika bersarang (nested), lengkap dengan penjelasan logika dan contoh kodenya.
Apa itu Percabangan If?
Secara sederhana, percabangan if adalah sebuah instruksi yang memberi tahu komputer: “Jika kondisi ini benar (True), maka lakukan aksi ini. Jika salah (False), abaikan atau lakukan aksi lainnya.”
Di hampir semua bahasa pemrograman seperti Python, C++, Java, dan PHP, struktur dasar if melibatkan:
- If Tunggal: Hanya satu kondisi.
- If-Else: Memiliki alternatif jika kondisi tidak terpenuhi.
- If-Else If-Else: Menangani banyak kondisi berbeda.
- Nested If: Ada percabangan di dalam percabangan.
Contoh Soal 1: Menentukan Kelulusan Nilai (If-Else Sederhana)
Ini adalah skenario paling klasik dalam pemrograman. Program diminta menentukan apakah seorang siswa lulus atau tidak berdasarkan nilai ambang batas.
Soal:
Buatlah program yang menerima input nilai ujian. Jika nilai lebih besar atau sama dengan 75, cetak “Selamat, Anda Lulus!”. Jika kurang dari itu, cetak “Maaf, Anda Harus Remedial”.
Jawaban (Logika Python):
Python
nilai = int(input("Masukkan nilai ujian: "))
if nilai >= 75:
print("Selamat, Anda Lulus!")
else:
print("Maaf, Anda Harus Remedial")
Penjelasan:
Program menggunakan operator perbandingan >=. Jika input adalah 80, maka kondisi bernilai True dan baris pertama dijalankan. Jika input 60, baris di bawah else yang akan dieksekusi.
Contoh Soal 2: Menentukan Bilangan Ganjil atau Genap
Logika ini sering muncul dalam tes algoritma dasar untuk melatih pemahaman operator sisa bagi (modulus).
Soal:
Input sebuah bilangan bulat. Tentukan apakah bilangan tersebut ganjil atau genap.
Jawaban (Logika C++):
C++
#include <iostream>
using namespace std;
int main() {
int angka;
cout << "Masukkan angka: ";
cin >> angka;
if (angka % 2 == 0) {
cout << "Bilangan Genap" << endl;
} else {
cout << "Bilangan Ganjil" << endl;
}
return 0;
}
Penjelasan:
Kunci dari soal ini adalah penggunaan operator modulus %. Bilangan genap adalah bilangan yang jika dibagi 2, sisa baginya adalah 0.
Contoh Soal 3: Konversi Nilai Angka ke Huruf (If-Else If)
Skenario ini digunakan ketika kita memiliki lebih dari dua kemungkinan hasil.
Soal:
Buatlah sistem penilaian otomatis dengan kriteria:
- 90 – 100: A
- 80 – 89: B
- 70 – 79: C
- 60 – 69: D
- Bawah 60: E
Jawaban (Logika Java):
Java
import java.util.Scanner;
public class Penilaian {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nilai: ");
int skor = input.nextInt();
if (skor >= 90) {
System.out.println("Grade: A");
} else if (skor >= 80) {
System.out.println("Grade: B");
} else if (skor >= 70) {
System.out.println("Grade: C");
} else if (skor >= 60) {
System.out.println("Grade: D");
} else {
System.out.println("Grade: E");
}
}
}
Penjelasan:
Penggunaan else if memastikan bahwa komputer berhenti mengecek kondisi setelah menemukan satu yang benar. Jika skor 85, maka kondisi pertama (>=90) salah, masuk ke kondisi kedua (>=80) yang benar, cetak “B”, dan selesai.
Contoh Soal 4: Menentukan Tahun Kabisat
Tahun kabisat adalah tahun yang habis dibagi 4, namun ada pengecualian untuk kelipatan 100 dan 400.
Soal:
Input sebuah tahun, lalu tentukan apakah itu tahun kabisat atau bukan.
Jawaban (Logika Python):
Python
tahun = int(input("Masukkan tahun: "))
if (tahun % 4 == 0):
if (tahun % 100 == 0):
if (tahun % 400 == 0):
print("Tahun Kabisat")
else:
print("Bukan Tahun Kabisat")
else:
print("Tahun Kabisat")
else:
print("Bukan Tahun Kabisat")
Penjelasan:
Ini adalah contoh Nested If (If bersarang). Kita harus melakukan pengecekan berlapis untuk memastikan aturan tahun kabisat terpenuhi secara akurat.
Contoh Soal 5: Validasi Login Sederhana
Dalam pengembangan web, pengecekan akun adalah hal yang wajib dipahami.
Soal:
Buatlah logika untuk mengecek username dan password. Jika username adalah “admin” dan password “12345”, cetak “Login Berhasil”. Jika salah satu salah, cetak “Akses Ditolak”.
Jawaban (Logika JavaScript):
JavaScript
let username = prompt("Username:");
let password = prompt("Password:");
if (username === "admin" && password === "12345") {
console.log("Login Berhasil! Selamat datang.");
} else {
console.log("Akses Ditolak. Periksa kembali akun Anda.");
}
Penjelasan:
Di sini kita menggunakan operator logika && (AND). Kedua kondisi (username DAN password) harus bernilai benar agar blok kode pertama dijalankan.
Contoh Soal 6: Menghitung Diskon Belanja
Skenario ini sangat umum dalam aplikasi kasir (POS).
Soal:
Toko “Murah Meriah” memberikan diskon 10% jika total belanja minimal Rp 100.000. Jika belanja di bawah itu, tidak dapat diskon. Hitung total akhir yang harus dibayar.
Jawaban (Logika PHP):
PHP
<?php
$total_belanja = 150000;
$diskon = 0;
if ($total_belanja >= 100000) {
$diskon = 0.1 * $total_belanja;
}
$total_bayar = $total_belanja - $diskon;
echo "Total Belanja: Rp " . $total_belanja . "\n";
echo "Diskon: Rp " . $diskon . "\n";
echo "Total yang harus dibayar: Rp " . $total_bayar;
?>
Contoh Soal 7: Menentukan Bilangan Terbesar dari 3 Input
Soal ini menguji kemampuan kita dalam membandingkan beberapa variabel sekaligus.
Soal:
User memasukkan tiga buah angka (A, B, C). Program harus menentukan angka mana yang paling besar.
Jawaban:
Python
a = int(input("Masukkan A: "))
b = int(input("Masukkan B: "))
c = int(input("Masukkan C: "))
if a >= b and a >= c:
terbesar = a
elif b >= a and b >= c:
terbesar = b
else:
terbesar = c
print(f"Angka terbesar adalah: {terbesar}")
Kesalahan Umum dalam Menggunakan If
Banyak pemula terjebak pada kesalahan-kesalahan sepele namun fatal:
- Lupa Menggunakan Operator Perbandingan yang Tepat: Menggunakan
=(penugasan) alih-alih==(perbandingan). - Urutan Kondisi yang Salah: Dalam
if-else if, jika Anda meletakkan kondisi yang paling umum di atas, kondisi yang lebih spesifik tidak akan pernah tercapai. - Indentasi: Terutama di bahasa seperti Python, salah spasi/tab akan menyebabkan error atau logika yang berantakan.
Tabel Operator Perbandingan yang Sering Digunakan
| Operator | Makna | Contoh |
== | Sama dengan | if x == 10 |
!= | Tidak sama dengan | if x != 0 |
> | Lebih besar dari | if x > 5 |
< | Lebih kecil dari | if x < 100 |
>= | Lebih besar atau sama dengan | if x >= 18 |
<= | Lebih kecil atau sama dengan | if x <= 10 |
Penutup dan Kesimpulan
Memahami percabangan if adalah langkah pertama untuk menjadi seorang programmer yang handal. Kunci utamanya bukan menghafal sintaks, melainkan memahami logika alur data. Cobalah untuk memodifikasi soal-soal di atas, misalnya dengan menambahkan validasi input atau menggabungkan beberapa kondisi sekaligus.
penulis: ridho


Post Comment