Tutorial Belajar Java Part 32: Percabangan Kondisi Switch Case Bahasa Java

Kondisi SWITCH CASE yang akan kita pelajari ini bisa dipandang sebagai alternatif penulisan dari kondisi logika IF ELSE IF pada tutorial Java sebelumnya. Namun tidak semua kondisi IF ELSE IF bisa dikonversi ke dalam bentuk SWITCH CASE, yang kita akan bahas dengan lebih detail.


Pengertian SWITCH CASE Bahasa Java

Kondisi SWITCH CASE adalah percabangan kode program dimana kita membandingkan isi sebuah variabel dengan beberapa nilai. Jika proses perbandingan tersebut menghasilkan true, maka block kode program akan di proses.

Kondisi SWITCH CASE terdiri dari 2 bagian, yakni perintah SWITCH dimana terdapat nama variabel yang akan diperiksa, serta 1 atau lebih perintah CASE untuk setiap nilai yang akan diperiksa.

Berikut format dasar penulisan kondisi SWITCH CASE dalam bahasa Java:

  switch (nama_variabel) {
    case 'nilai_1':
      // Kode program yang dijalankan jika nama_variabel == nilai_1
      break;
    case 'nilai_2':
      // Kode program yang dijalankan jika nama_variabel == nilai_2
      break;
    case 'nilai_3':
      // Kode program yang dijalankan jika nama_variabel == nilai_3
      break;
    ...
    ...
    default:
       // Kode program yang dijalankan jika tidak ada kondisi yang terpenuhi
  }

Di awal kode program, terdapat perintah SWITCH untuk menginput variabel yang akan diperiksa. Kemudian terdapat beberapa perintah CASE yang diikuti dengan sebuah nilai.

Jika isi dari nama_variabel sama dengan salah satu nilai ini, maka blok kode program akan dijalankan. Jika ternyata tidak ada kondisi CASE yang dipenuhi, blok default di baris paling bawah lah yang akan dijalankan.

Di dalam setiap block case, diakhiri dengan perintah break; agar struktur CASE langsung berhenti begitu kondisi terpenuhi. Mari langsung lihat contoh prakteknya.


Contoh Kode Program SWITCH CASE Bahasa Java

Dalam tutorial sebelumnya, terdapat kode program untuk menampilkan nilai dengan struktur IF ELSE IF. Kita akan coba konversi menjadi bentuk SWITCH CASE.

Sebelumnya, berikut kode menampilkan nilai dengan struktur IF ELSE IF:

import java.util.Scanner;
 
class BelajarJava {
  public static void main(String args[]){
     
    char nilai;
    Scanner input = new Scanner(System.in);
     
    System.out.print("Input Nilai Anda (A - E): ");
    nilai = input.next().charAt(0);
     
    if (nilai == 'A' ) {
      System.out.println("Pertahankan!");
    }
    else if (nilai == 'B' ) {
      System.out.println("Harus lebih baik lagi");
    }
    else if (nilai == 'C' ) {
      System.out.println("Perbanyak belajar");
    }
    else if (nilai == 'D' ) {
      System.out.println("Jangan keseringan main");
    }
    else if (nilai == 'E' ) {
      System.out.println("Kebanyakan bolos...");
    }
    else {
      System.out.println("Maaf, format nilai tidak sesuai");
    }
    
  }
}

Program yang sama bisa dikonversi ke dalam bentuk SWITCH CASE berikut ini:

import java.util.Scanner;

class BelajarJava {
  public static void main(String args[]){
    
    char nilai;
    Scanner input = new Scanner(System.in);
    
    System.out.print("Input Nilai Anda (A - E): ");
    nilai = input.next().charAt(0);
    
    switch (nilai) {
      case 'A':
        System.out.println("Pertahankan!");
        break;
      case 'B':
        System.out.println("Harus lebih baik lagi");
        break;
      case 'C':
        System.out.println("Perbanyak belajar");
        break;
      case 'D':
        System.out.println("Jangan keseringan main");
        break;
      case 'E':
        System.out.println("Kebanyakan bolos...");
        break;
      default:
        System.out.println("Maaf, format nilai tidak sesuai");
    }
  
  }
}

Hasil kode program:

Input Nilai Anda (A - E): A
Pertahankan!

Input Nilai Anda (A - E): D
Jangan keseringan main

Input Nilai Anda (A - E): E
Kebanyakan bolos...

Input Nilai Anda (A - E): F
Maaf, format nilai tidak sesuai

Di baris 10 terdapat perintah untuk meminta user menginput salah satu huruf antara 'A' – 'E'. Nilai huruf ini kemudian disimpan ke dalam variabel nilai yang sudah di set ber tipe data char.

Kondisi SWITCH CASE dimulai pada baris 12. Di sini terdapat perintah switch (nilai) yang artinya kita ingin memeriksa isi dari variabel nilai. Seluruh block SWITCH berada di dalam tanda kurung kurawal yang dimulai dari baris 12 sampai 30.

Di baris 13 terdapat perintah case 'A': Ini artinya jika variabel nilai berisi karakter 'A', maka jalankan isi dari block CASE, yakni perintah System.out.println("Pertahankan!"). Lalu terdapat perintah break di baris 15 agar struktur CASE lain tidak perlu di proses lagi.

Di baris 16 terdapat perintah CASE kedua, yakni case 'B':. Sama seperti sebelumnya, blok ini akan dijalankan jika variabel nilai berisi huruf 'B'. Demikian seterusnya sampai case 'E' : di baris 25.

Jika ternyata tidak ada nilai yang sesuai, maka block default di baris 28 yang akan di eksekusi.

Struktur SWITCH CASE ini terlihat lebih rapi daripada struktur IF ELSE IF, dan kadang kala bisa lebih efisien. Namun SWITCH CASE juga memiliki batasan, dimana tidak bisa dipakai untuk kondisi yang lebih kompleks seperti perbandingan dengan tanda lebih besar dari " > ", maupun penggabungan kondisi.

Kita tidak bisa membuat struktur CASE seperti berikut:

// ini akan error
case > '90':
  System.out.println("Pertahankan!");
  break;

Kondisi perbandingan di atas hanya bisa ditulis menggunakan struktur IF.

Sehingga jika kondisi yang diperiksa cukup rumit, maka terpaksa harus menggunakan struktur IF ELSE IF. Struktur SWITCH CASE yang kita pelajari kali ini hanya cocok untuk operasi perbandingan sederhana, dimana nilai yang diperiksa hanya terdiri dari nilai yang tetap.


Dalam tutorial ini kita telah membahas pengertian dan cara penggunaan struktur SWITCH CASE dalam bahasa pemrograman Java. Selanjutnya akan disambung dengan struktur perulangan (loop), yang diawali dengan perulangan FOR.

 

Add Comment