Modul 5 — Percabangan
🚦 Modul 5 — Percabangan
Percabangan (branching) memungkinkan program mengambil keputusan berdasarkan kondisi tertentu. Java menyediakan beberapa struktur percabangan: if, if-else, if-else if, dan switch.
if-else dan switch, serta menulis kode percabangan yang bersih dan efisien.🌿 Jenis-Jenis Percabangan
Mari kita bahas satu per satu dengan contoh.
1. if — Satu Kondisi
Digunakan jika hanya ada satu kondisi yang perlu diperiksa.
int nilai = 85;
if (nilai >= 70) {
System.out.println("Selamat, Anda lulus!");
}
// Jika nilai < 70, tidak ada output
2. if-else — Dua Pilihan
Untuk dua kemungkinan: jika kondisi true lakukan A, jika false lakukan B.
int nilai = 55;
if (nilai >= 70) {
System.out.println("Lulus");
} else {
System.out.println("Tidak Lulus");
}
3. if-else if-else — Banyak Kondisi
Untuk mengecek beberapa kondisi berurutan.
int nilai = 82;
String grade;
if (nilai >= 90) { grade = "A"; }
else if (nilai >= 80) { grade = "B"; }
else if (nilai >= 70) { grade = "C"; }
else if (nilai >= 60) { grade = "D"; }
else { grade = "E"; }
System.out.println("Grade: " + grade); // Grade: B
nilai >= 60 lebih dulu, maka nilai 82 akan masuk ke D (salah). Selalu urutkan dari kondisi paling spesifik ke umum.4. switch — Banyak Nilai Spesifik
switch digunakan untuk membandingkan satu variabel dengan banyak nilai konstan.
Switch Klasik (dengan break):
int hari = 3;
switch (hari) {
case 1: System.out.println("Senin"); break;
case 2: System.out.println("Selasa"); break;
case 3: System.out.println("Rabu"); break;
case 4: System.out.println("Kamis"); break;
case 5: System.out.println("Jumat"); break;
default: System.out.println("Akhir Pekan");
}
break pada switch klasik! Jika lupa, akan terjadi fall-through (eksekusi ke case berikutnya).Switch Expression (Java 14+) — Modern & Ringkas:
String namaHari = switch (hari) {
case 1 -> "Senin";
case 2 -> "Selasa";
case 3 -> "Rabu";
case 4, 5 -> "Kamis atau Jumat"; // multiple case!
default -> "Akhir Pekan";
};
System.out.println(namaHari); // Rabu
Switch dengan yield (multi-baris):
int result = switch (hari) {
case 1, 7 -> 0;
default -> {
int jam = 8;
yield jam * 60; // yield = return di dalam switch block
}
};
::
⚖️ if-else vs switch — Kapan Pakai Apa?
Tidak ada yang selalu lebih baik, tergantung situasi.
Gunakan if-else jika...
- Kondisi melibatkan range (
>=,<=,>) - Kondisi menggunakan operator logika (
&&,||) - Tipe data bukan
int,char,String, atauenum
Gunakan switch jika...
- Membandingkan satu variabel dengan banyak nilai spesifik
- Nilai yang dibandingkan adalah
int,char,String, atauenum - Ingin kode lebih ekspresif dan mudah dibaca
// if-else untuk range
int nilai = 85;
if (nilai >= 90) grade = "A";
else if (nilai >= 80) grade = "B";
// ...
// switch untuk nilai spesifik
String warna = "merah";
switch (warna) {
case "merah" -> System.out.println("Berhenti");
case "kuning" -> System.out.println("Hati-hati");
case "hijau" -> System.out.println("Jalan");
}
// if-else untuk range
int nilai = 85;
if (nilai >= 90) grade = "A";
else if (nilai >= 80) grade = "B";
// ...
// switch untuk nilai spesifik
String warna = "merah";
switch (warna) {
case "merah" -> System.out.println("Berhenti");
case "kuning" -> System.out.println("Hati-hati");
case "hijau" -> System.out.println("Jalan");
}
🧪 Latihan Praktik
Buat program Java yang:
- Meminta pengguna memasukkan angka 1-7 (mewakili hari Senin-Minggu).
- Menggunakan
switch expressionuntuk menentukan apakah hari tersebut hari kerja (Senin-Jumat) atau akhir pekan (Sabtu-Minggu). - Jika pengguna memasukkan angka di luar 1-7, tampilkan pesan error.
- Jika hari kerja, tampilkan pesan: "Hari kerja, semangat!".
- Jika akhir pekan, tampilkan pesan: "Akhir pekan, santai saja!".
Contoh interaksi:
Masukkan angka hari (1-7): 5
Hari kerja, semangat!
Masukkan angka hari (1-7): 7
Akhir pekan, santai saja!
Masukkan angka hari (1-7): 9
Error: Angka harus antara 1-7.
Scanner untuk input dan switch expression dengan multiple case (case 1,2,3,4,5 -> ...).📺 Video Penjelasan
Tonton video berikut untuk penjelasan lebih visual tentang percabangan di Java (18 menit):
✨ Kesimpulan
Apa yang Telah Dipelajari
- ✅
if,if-else,if-else if-else - ✅
switchklasik dan switch expression (Java 14+) - ✅ Perbedaan dan kapan menggunakan masing-masing
- ✅ Fall-through pada switch dan cara menghindarinya
- ✅
yielduntuk nilai dari switch expression multi-baris
Selanjutnya
Modul 6: Perulangan (Loop) — for, while, do-while, dan kontrol perulangan.