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.