🔀 Control Flow di Java
💡Apa itu Control Flow?
Control Flow adalah cara mengatur alur eksekusi program di Java. Dengan control flow, kita dapat membuat keputusan (percabangan)menggunakan if-else dan switch, serta mengatur alur program secara dinamis berdasarkan kondisi tertentu.
Penting: Halaman ini fokus pada percabangan (if-else, switch). Untuk perulangan (for, while), lihat halaman Perulangan.
🌿1. Percabangan dengan if
Statement if digunakan untuk menjalankan kode jika kondisi bernilai true.
// If sederhana
int umur = 18;
if (umur >= 17) {
System.out.println("Anda sudah dewasa");
}
// Contoh lain
int nilai = 85;
if (nilai >= 70) {
System.out.println("Selamat, Anda lulus!");
}
// Dengan kondisi kompleks
int suhu = 35;
if (suhu > 30) {
System.out.println("Cuaca sangat panas");
}⚡🎮 Demo: if Statement
Cek Status Umur
Masukkan umur untuk melihat status (dewasa >= 17)
✅
Dewasa
Boleh membuat KTP
Kode Java:
int umur = 20;
if (umur >= 17) {
System.out.println("Dewasa");
System.out.println("Boleh membuat KTP");
}↔️2. if-else
if-else memberikan pilihan alternatif jika kondisi if tidak terpenuhi.
int nilai = 65;
if (nilai >= 70) {
System.out.println("Lulus");
} else {
System.out.println("Tidak lulus");
}
// Contoh lain
int umur = 16;
if (umur >= 17) {
System.out.println("Boleh membuat KTP");
} else {
System.out.println("Belum boleh membuat KTP");
}
// Cek ganjil/genap
int angka = 7;
if (angka % 2 == 0) {
System.out.println("Genap");
} else {
System.out.println("Ganjil");
}🎯3. if-else if-else
Digunakan ketika ada lebih dari dua kemungkinan kondisi.
let nilai = 85;
if (nilai >= 90) {
console.log("Grade: A");
} else if (nilai >= 80) {
console.log("Grade: B");
} else if (nilai >= 70) {
console.log("Grade: C");
} else if (nilai >= 60) {
console.log("Grade: D");
} else {
console.log("Grade: E");
}
// Contoh lain: sistem suhu
let suhu = 28;
if (suhu >= 35) {
console.log("Sangat panas");
} else if (suhu >= 25) {
console.log("Panas");
} else if (suhu >= 20) {
console.log("Hangat");
} else if (suhu >= 15) {
console.log("Sejuk");
} else {
console.log("Dingin");
}⚠️ Perhatian:
Kondisi akan dievaluasi dari atas ke bawah. Begitu satu kondisi true, kode akan dijalankan dan sisanya diabaikan.
⚡🎮 Demo: if-else if-else
Sistem Penilaian Grade
Masukkan nilai untuk melihat grade (A, B, C, D, E)
C
Cukup 👌
Nilai: 75
Kode Java:
int nilai = 75;
if (nilai >= 90) {
System.out.println("Grade: A");
} else if (nilai >= 80) {
System.out.println("Grade: B");
} else if (nilai >= 70) {
System.out.println("Grade: C");
} else if (nilai >= 60) {
System.out.println("Grade: D");
} else {
System.out.println("Grade: E");
}🌡️🎮 Demo: Sistem Suhu
Klasifikasi Suhu
Geser slider untuk melihat kategori suhu
☀️
Panas
25°C
<15°C
Dingin
15-19°C
Sejuk
20-24°C
Hangat
25-34°C
Panas
≥35°C
Sangat Panas
🎚️4. Switch Statement
switch adalah alternatif untuk if-else if-else yang lebih rapi ketika membandingkan satu variabel dengan banyak nilai.
int hari = 3;
String namaHari;
switch (hari) {
case 1:
namaHari = "Senin";
break;
case 2:
namaHari = "Selasa";
break;
case 3:
namaHari = "Rabu";
break;
case 4:
namaHari = "Kamis";
break;
case 5:
namaHari = "Jumat";
break;
case 6:
namaHari = "Sabtu";
break;
case 7:
namaHari = "Minggu";
break;
default:
namaHari = "Tidak valid";
}
System.out.println(namaHari); // "Rabu"
// Contoh lain: grade nilai
char grade = 'B';
switch (grade) {
case 'A':
System.out.println("Sempurna!");
break;
case 'B':
System.out.println("Bagus!");
break;
case 'C':
System.out.println("Cukup");
break;
case 'D':
System.out.println("Kurang");
break;
default:
System.out.println("Tidak lulus");
}💡 Tips:
Jangan lupa breaksetelah setiap case, jika tidak kode akan "jatuh" ke case berikutnya.
⚡🎮 Demo: Switch Statement
Konversi Angka ke Nama Hari
Pilih angka 1-7 untuk melihat nama hari
Hari ke-1
Senin
Kode Java:
int hari = 1;
String namaHari;
switch (hari) {
case 1: namaHari = "Senin"; break;
case 2: namaHari = "Selasa"; break;
case 3: namaHari = "Rabu"; break;
case 4: namaHari = "Kamis"; break;
case 5: namaHari = "Jumat"; break;
case 6: namaHari = "Sabtu"; break;
case 7: namaHari = "Minggu"; break;
default: namaHari = "Tidak valid";
}
System.out.println(namaHari); // "Senin"❓Ternary Operator
Ternary operator adalah cara singkat menulis if-else sederhana dalam satu baris.
// Format: kondisi ? nilaiJikaTrue : nilaiJikaFalse
int umur = 20;
String status = (umur >= 17) ? "Dewasa" : "Belum Dewasa";
System.out.println(status); // "Dewasa"
// Contoh lain
int nilai = 85;
String hasil = (nilai >= 70) ? "Lulus" : "Tidak Lulus";
System.out.println(hasil); // "Lulus"
// Nested ternary (hindari jika terlalu kompleks)
int angka = 5;
String tipe = (angka > 0) ? "Positif" : (angka < 0) ? "Negatif" : "Nol";
// Lebih baik dibanding:
String tipe2;
if (angka > 0) {
tipe2 = "Positif";
} else if (angka < 0) {
tipe2 = "Negatif";
} else {
tipe2 = "Nol";
}🎭Nested If (If Bersarang)
If di dalam if, digunakan untuk kondisi bertingkat.
int umur = 20;
boolean punyaKTP = true;
if (umur >= 17) {
System.out.println("Umur mencukupi");
if (punyaKTP) {
System.out.println("Boleh masuk");
} else {
System.out.println("Harus bawa KTP");
}
} else {
System.out.println("Umur belum cukup");
}
// Contoh lain: validasi login
String username = "admin";
String password = "12345";
if (username.equals("admin")) {
if (password.equals("12345")) {
System.out.println("Login berhasil");
} else {
System.out.println("Password salah");
}
} else {
System.out.println("Username tidak ditemukan");
}📝 Ringkasan Control Flow Java
- ✅ if: Eksekusi kode jika kondisi true
- ✅ if-else: Pilih salah satu dari dua opsi
- ✅ if-else if-else: Pilih dari banyak kondisi
- ✅ switch: Alternatif if-else untuk banyak case
- ✅ Ternary (?:): If-else singkat dalam satu baris
- ✅ Nested if: If di dalam if untuk kondisi bertingkat
- ✅ Untuk perulangan, lihat halaman Perulangan!