Skip to main content

Switch dalam Java

📌 Pendahuluan​

switch adalah control statement dalam Java yang digunakan untuk memilih satu dari banyak kondisi berdasarkan nilai tertentu.

Switch biasanya digunakan sebagai alternatif dari if-else if ketika kondisi berbasis nilai tetap.

1️⃣ Struktur Dasar Switch​

switch (ekspresi) {
case nilai1:
// kode
break;
case nilai2:
// kode
break;
default:
// kode default
}

Contoh:​

int hari = 1;

switch (hari) {
case 1:
System.out.println("Senin");
break;
case 2:
System.out.println("Selasa");
break;
default:
System.out.println("Hari tidak valid");
}

2️⃣ Peran break​

break digunakan untuk menghentikan eksekusi pada case tersebut.

Jika tidak menggunakan break, maka akan terjadi fall-through.

Contoh tanpa break:​

int angka = 1;

switch (angka) {
case 1:
System.out.println("Satu");
case 2:
System.out.println("Dua");
}

📌 Output:

Satu
Dua

3️⃣ Multiple Case (Gabungan Case)​

Beberapa case bisa menggunakan blok yang sama.

int hari = 6;

switch (hari) {
case 6:
case 7:
System.out.println("Weekend");
break;
default:
System.out.println("Hari kerja");
}

4️⃣ Switch dengan Tipe Data​

Switch mendukung:

  • int
  • char
  • String
  • enum

Contoh String:​

String role = "admin";

switch (role) {
case "admin":
System.out.println("Akses penuh");
break;
case "user":
System.out.println("Akses terbatas");
break;
}

5️⃣ Switch Expression (Java Modern)​

Sejak Java 14+, switch bisa digunakan sebagai expression.

int hari = 3;

String namaHari = switch (hari) {
case 1 -> "Senin";
case 2 -> "Selasa";
case 3 -> "Rabu";
default -> "Tidak valid";
};

System.out.println(namaHari);

6️⃣ Perbedaan Switch vs If​

SwitchIf
Nilai tetapKondisi kompleks
Lebih rapi untuk banyak pilihanLebih fleksibel
Cepat dibacaLebih powerful

7️⃣ Best Practice​

  • Gunakan switch untuk banyak pilihan nilai tetap
  • Selalu gunakan break (kecuali sengaja fall-through)
  • Gunakan default untuk menangani kondisi tak terduga
  • Gunakan switch expression untuk kode modern

🎯 Penutup​

Switch statement membantu membuat kode lebih rapi dan mudah dibaca saat menangani banyak kondisi berbasis nilai tetap.