[ HTML ] [ Java ] [ Bahasa C ]


Senin, Mei 03, 2021

Switch Statement pada Bahasa Pemrograman Java

Switch statement adalah statement keputusan multi cabang. Statement ini menyediakan cara mudah untuk mengirim eksekusi program ke bagian kode program yang berbeda berbasis nilai dari ekspresi. Pada dasarnya, ekspresi bisa berupa byte, short, chart, dan tipe data primitif lainnya pada Java. Pada JDK7, Statement switch juga dapat bekerja dengan tipe data enumerasi, string class, dan wrapper class.

Sintak Untuk Switch-case:
/* Switch Statement */
switch(expression)
{
/* case statements */
/* values atau nilai harus memiliki tipe yang sama dengna ekspresi */
case value1 :
/* statements */
break; /* break bersifat optional */
   
case value2 :
/* statements */
break; /* break bersifat optional */
   
/* dapat digunakan number berapapun pada case */
/* default statement digunakan ketika tidak ada case yang bernilai benar */ 
/* break tidak dibutuhkan pada default case */
default : 
/* statements */
}

Diagram flow dari switch-case ditunjukkan pada gambar 1:


Beberapa Aturan Penting Penggunaan Switch-case:
satu, Nilai duplikat case tidak diperbolehkan.
dua, Nilai tipe data dari case harus sama dengan variabel switch.
tiga, Nilai dari case haruslah konstan atau literal. Penggunaan variabel pada case tidak diperbolehkan.
empat, Break statement digunakan di dalam switch untuk mengakhiri statement squence.
lima, Break statement bersifat opsional. Jika statement ini dihilangkan proses sequence akan dilanjutkan menuju case yang selanjutnya.
enam, Default statement bersifat opsional, dan dapat dimunculkan dibagian manapun di dalam block. Dengan tujuan jika default statement tidak terletak di bagian akhir, maka break statement harus tetap dimunculkan setelah default statement untuk menghilangkan eksekusi dari case statement setelahnya.

Contoh program:
Kode program berikut mendeklarasikan nama haris bertipe integer dimana nilai yang direpresentasikan sebanyak tujuh hari.

// Program Java

// mengilustrasikan switch

// case dengan tipe data

// primitif integer 

public class Test

 

public static void main(String[] args

int day = 5

String dayString; 

 

// switch statement dengan

// tipe data integer

switch (day) { 

case 1: dayString = "Monday"; break;

 

case 2: dayString = "Tuesday"; break;

 

case 3: dayString = "Wednesday"; break;

 

case 4: dayString = "Thursday"; break;

 

case 5: dayString = "Friday"; break;

 

case 6: dayString = "Saturday"; break;

 

case 7: dayString = "Sunday"; break;

 

default: dayString = "Invalid day"; break

}

 

System.out.println(dayString); 

}

 

}

Output:
Friday

Menghilangkan Break Statement
Break statement bersifat opsional. Jika break statement dihilangkan, eksekusi program akan berlanjut menuju case selanjutnya. Terkadang masuk akal untuk memiliki multiple case tanpa break statement diantara case seperti diperlihatkan pada contoh program berikut ini.

// Program Java

// mengilustrasikan switch

// case dengan multiple case

// tanpa menggunakan break

// statement

public class Test

 

public static void main(String[] args

int day = 2

String dayType; 

String dayString; 

 

switch (day) { 

case 1: dayString = "Monday"; break

  

case 2: dayString = "Tuesday"; break

  

case 3: dayString = "Wednesday"; break

 

case 4: dayString = "Thursday"; break

  

case 5: dayString = "Friday"; break

  

case 6: dayString = "Saturday"; break

  

case 7: dayString = "Sunday"; break

  

default: dayString = "Invalid day"; } 

 

switch (day) { 

// multiple case tanpa

// menggunakan break statement case 1

 

case 2

 

case 3

 

case 4

 

case 5: dayType = "Weekday"; break

  

case 6

 

case 7: dayType = "Weekend"; break

 

default: dayType = "Invalid"; } 

 

System.out.println(dayString 

+ " is a " 

+ dayType); 

}

 

}

Output:
Tuesday is a Weekday

Nested Switch Case Statement
Switch digunakan sebagai bagian dari sequence statement dari outer switch. Switch dengan bentuk program seperti ini disebut dengan nested switch (switch di dalam switch). Ketika switch didefinisikan di dalam block nya sendiri, tidak ada konflik yang muncul diantara konstanta case pada inner switch dan outer switch. Contoh program diperlihatkan sebagai berikut:

// Program Java

// mendemonstasikan nested

// switch case statement

public class Test

 

public static void main(String[] args

String Branch = "CSE"

int year = 2

 

switch (year) { 

case 1: System.out.println("elective courses : Advance english, Algebra"); break

  

case 2: switch (Branch

/* nested switch */ 

case "CSE"

 

case "CCE": System.out.println("electi"

+"ve courses : Machine"

+" Learning, Big Data");

break

 

case "ECE": System.out.println("electi"

+"ve courses : Antenna"

+" Engineering");

break

 

default: System.out.println("Electi"

+"ve courses : Optimiz"

+"ation"); } 

 

 

}

Output:
elective courses : Machine Learning, Big Data

5 komentar:

  1. Apa yang dimaksud dengan statement switch pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Statement switch pada bahasa pemrograman Java memungkinkan variabel untuk diuji nilai kesetaraannya terhadap nilai lainnya yang diberikat pada input, dimana setiap nilai disebut sebagai kasus (case), dan nilai variabel yang diaktifkan akan diperiksa pada setiap kasus tersebut hingga ditemukan kondisi yang cocok.

      Hapus
  2. Statement switch Java menjalankan satu pernyataan dari berbagai kondisi yang disediakan. Seperti pernyatan if-else-fi ladder.

    Statement switch berfungsi dengan jenis tipe data byte, short, int, long, enum, string, dan beberapa jenis lain.

    BalasHapus
  3. Apa perbedaan antara statement if-else dan switch pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Statement if-else dapat melakukan evaluasi pada hampir semua jenis tipe data seperti int, float, char, pointer, dan bool. Sedangkan statement switch dapat melakukan evaluasi bilangan bulat atau karakter.

      Dalam kasus if-else, baik blok if ataupun blok else, akan dieksekusi berdasarkan kondisi yang diberikan, sedangkan pada kondisi switch, baru dieksekusi jika nilai inputan adalah cocok dengan kondisi case yang disediakan.

      Hapus

Respon komentar 7 x 24 jam, so please be patient :D