Jumat, 25 Desember 2015

Switch Case

Pengertian Switch Case

Switch Case merupakan sebuah pernyataan atau statement yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan banyak alternatif pilihan. Pernyataan Switch lebih jarang digunakan dibandingkan dengan pernyataan IF pada java.Tetapi lebih sering digunakan ketika kita ingin menuliskan percabangan ataupun pengambilan keputusan dengan sangat banyak pilihan. Maka dari itu switch sangat baik untuk dipelajari.

Bentuk umum dari Switch Case
switch (ekspresi) {
    case konstanta1:
        statement1
        break;
   case konstanta2:
        statement2
        break;
    case konstanta3:
        statement3
        break;
    default:
        statement-n
}


Pernyataan  switch akan menyeleksi atau mencari sebuah kondisi yang diberikan dan kemudian akan membandingan hasilnya dengan konstanta yang berada di dalam case. Pembandingan akan dimulai dari konstanta1 sampai konstanta akhir. Jika hasil yang didapatkan sama dengan konstanta3 maka statemen pada konstanta3 akan diproses. Jika hasil tidak ada yang memenuhi kriteria dari masing-masing konstanta maka statement yang berada pada default akan diproses. 

Fungsi Break

Break digunakan untuk menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan. Contohnya, misalnya hasil yang kita dapatkan akan memproses konstanta1, apabila pada case konstanta1 tidak ada break, maka statement2pada case konstanta2 sampai case konstanta3 akan ikut di proses.
Maka dari itu apabila menggunakan Switch Case, sangatlah penting untuk menulis break pada akhir statemen. Kontruksi If-Else yang bertingkat-tingkat seringkali membingungkan pembacaan alur program. Java menyediakan intruksi Switch untuk memudahkan pembacaan alur program bercabang yang sangat banyak.
Meskipun Switch didesain untuk mengganti If-Else, akan tetapi Switch memiliki batasan:
1.Data yang diperiksa haruslah bertipe Integer (int) atau Karakter (char)
                  2.Range data yang diperiksa bernilai 0 s/d 255.
Bentuk penulisan perintah ini sebagai berikut :
switch(value)
}
case constanta 1 : statement1;
break;
case constanta 2 : statement 2;
break;
..........etc
default : statement x;
}

Keterangan
·  Constanta 1, constanta 2, dst adalah yang akan dicocokkan dengan isi value.
·  Statement adalah pernyataan yang akan di kerjakan jika value (bertipe Integer atau Karakter)cocok dengan salah satu data dari constanta 1 , constanta 2 atau yang lainnya.
·  break adalah perintah untuk mengakhiri statement. Apabila tidak ada break, komputer akan mengeksekusi intruksi yang berada di bawahnya walaupun berada di case yang berbeda.
·  default, bersifat optional. dieksekusi jika value tidak cocok dengan salah satu constanta yang tersedia.

Kesimpulan
Setiap cabang yang akan dijalankan jika syarat nilai konstanta tersebut dipenuhi dan default akan dijalankan jika semua cabang diatasnya tidak terpenuhi.
Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan kecabang – cabang yang lainnya.

Contoh Program :

import  java.io.InputStreamReader;

import  java.io.BufferedReader;

import  java.io.IOException;
public class Switch_case{



public static void main (String[] args){

InputStreamReader input = new  InputStreamReader(System.in);
BufferedReader buf = new BufferedReader(input);

try{

System.out.println("Masukkan Bilangan [1-10] : ");

String strPil = buf.readLine();
Int  pil = Integer.parseInt(strPil);
switch(pil){ // pil merupakan variabel atau ekspresi yg akan diuji


case 1 : // nilai 1 & seterusnya adalah data yang akan di cocokkan dengan variabel

// statement akan dikerjakan apabila nilai sesuai dengan variabel


System.out.println("\tSATU");

System.out.println("\nBILANGANGANJIL");
break; // perintah untuk mengakhiri suatu statement


case2 :

System.out.println("\tDUA");
System.out.println("\nBILANGANGENAP");
break;


case3 :

System.out.println("\tTIGA");
System.out.println("\nBILANGANGANJIL");
break;


case4 :

System.out.println("\tEMPAT");
System.out.println("\nBILANGANGENAP");
break;


case5 :

System.out.println("\tLIMA");
System.out.println("\nBILANGANGANJIL");
break;


case6 :

System.out.println("\tENAM");
System.out.println("\nBILANGANGENAP");
break;


case7 :

System.out.println("\tTUJUH");
System.out.println("\nBILANGANGANJIL");
break;


case8 :

System.out.println("\tDELAPAN");
System.out.println("\nBILANGANGENAP");
break;


case9 :

System.out.println("\tSEMBILAN");
System.out.println("\nBILANGANGANJIL");
break;


case10 :

System.out.println("\tSEPULUH");
System.out.println("\nBILANGANGENAP");
break;


default : //perintah ini akan dieksekusi apabila variabel yang diinputkan tidak sesuai dengan nilai yang tersedia

System.out.println("\nAngkaMelebihi10");
}

}

catch(Exceptionex){
System.out.println("System ERROR");
}
}
}

Tidak ada komentar:

Posting Komentar