Banner Java

Penyeleksian switch

Penyeleksian if digunakan untuk mengeksekusi pernyataan atau blok pernyataan berdasarkan pada satu kondisi yaitu true atau false. Apabila Anda dihadapkan pada banyak kondisi, Anda masih mungkin menggunakan penyeleksian if tersarang. Akan tetapi, penggunaan penyeleksian if tersarang secara berlebihan akan menyebabkan kode program sulit dibaca dan dimengerti. Untuk maksud penanganan banyak kondisi ini, Java menyediakan penyeleksian switch. Penggunaan penyeleksian switch untuk maksud tersebut akan lebih efisien dan program mudah dibaca dan dimengerti. Berikut ini adalah sintaksis penulisan penyeleksian switch:

switch (ekspresi-switch) {
   case nilai1 : pernyataan1;
                    break;
   case nilai2 : pernyataan2;
                    break;
   …
   case nilaiN : pernyataanN;
                    break;
   default : pernyataan default;
}
pernyataan berikutnya;

Di sintaksis penulisan penyeleksian switch, setelah kata kunci switch, kemudian diikuti oleh tanda kurung buka dan kurung tutup yang di dalamnya terdapat ekspresi-switch. ekspresi-switch harus menghasilkan sebuah nilai dari salah satu tipe data yaitu char, byte, short atau int. nilai1 sampai dengan nilaiN harus mempunyai tipe data yang sama dengan yang terdapat pada ekspresi-switch. Nilai1 sampai dengan nilaiN dapat berupa ekspresi konstanta yang dapat dievaluasi sebagai sebuah nilai atau konstanta dan tidak boleh berisi variabel dalam ekspresi, misalnya y + 3.

Jika nilai setelah kata kunci case cocok atau sama dengan nilai ekspresi-switch, pernyataan atau blok pernyataan yang dimulai dari kata kunci case sampai dengan kata kunci break atau sampai akhir penyeleksian switch berupa closing brace (}) dieksekusi. Umumnya, blok pernyataan di Java dimulai dengan opening brace ({) dan diakhiri dengan closing brace. Di penyeleksian switch, blok pernyataan dapat berupa pernyataan-pernyataan diantara kata kunci case dan kata kunci break. Kata kunci break bersifat opsional, dapat disertakan ataupun tidak. Bila kata kunci break disertakan, akan digunakan untuk mengakhiri pernyataan switch dengan segera. Apabila tidak disertakan, pernyataan atau blok pernyataan yang dieksekusi berlanjut ke pernyataan berikutnya sekalipun nilai setelah kata kunci case tidak cocok.

Kata kunci default juga bersifat opsional, dapat disertakan maupun tidak. Apabila kata kunci default disertakan dan tidak ditemukan kecocokan antara nilai setelah kata kunci case dengan nilai yang terdapat di ekspresi-switch, maka pernyataan atau blok pernyataan yang dieksekusi adalah pernyataan atau blok pernyataan setelah kata kunci default sampai dengan akhir dari penyeleksian switch berupa closing brace. Bila tidak disertakan, eksekusi berlanjut ke pernyataan berikutnya setelah closing braces (}). Berikut ini adalah bagan alir penyeleksian switch:

Contoh program berikut ini menggunakan penyeleksian switch untuk mengkonversi nilai integer 1 – 7 ke nama hari dalam seminggu. Seperti biasanya, pengguna aplikasi diminta memasukkan nilai integer dengan rentang 1 – 7 melalui kotak dialog input. Bila nilai integer yang diinput berada diluar rentang nilai 1 – 7, maka program akan berhenti dan kembali lagi ke jendela Command Prompt.

// Naman file : IntegerKeNamaHari.java
// Mengkonversi integer 1 - 7 ke nama hari

// Menginpor kelas JOptionPane
import javax.swing.JOptionPane;

//Deklarasi kelas IntegerKeNamaHari
public class IntegerKeNamaHari {
   public static void main(String[] args) {
      
      // Deklarasi variabel
      String strHari;
      String strNilai;
      int nilai;

      // input nilai integer 1 - 7
      strNilai = JOptionPane.showInputDialog(null, "Masukkan nilai integer" +
         "\nantara 1 - 7", "Integer ke Nama Hari", JOptionPane.QUESTION_MESSAGE);

      // Konversi ke integer
      nilai = Integer.parseInt(strNilai);

      // Jika nilai yang diinput salah, program selesai
      if ((nilai < 1) || (nilai > 7))
         System.exit(0);

      // Menginisialisasi variabel strHari
      strHari = "Senin";

      // Menyeleksi dengan switch
      switch (nilai) {
         case 1 : strHari = "Senin";
                  break;
         case 2 : strHari = "Selasa";
                  break;
         case 3 : strHari = "Rabu";
                  break;
         case 4 : strHari = "Kamis";
                  break;
         case 5 : strHari = "Jum'at";
                  break;
         case 6 : strHari = "Sabtu";
                  break;
         case 7 : strHari = "Minggu";
                  break;
      }
      // Menampilkan hasil
      JOptionPane.showMessageDialog(null,"Nilai integer : " + nilai +
         "\nKonversi ke nama hari : " + strHari, "Integer ke Nama Hari",
         JOptionPane.INFORMATION_MESSAGE);

      // Mengakiri aplikasi GUI
      System.exit(0);
   }
}

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.