Dokumen tersebut membahas tentang pernyataan switch dalam bahasa pemrograman Java. Pernyataan switch digunakan untuk mengeksekusi perintah berdasarkan kondisi tertentu, dengan batasan bahwa data yang diperiksa harus bertipe integer atau character. Contoh kode mendemonstrasikan penggunaan switch untuk mencetak nama program studi berdasarkan pilihan yang diinputkan pengguna.
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OS
01.12 JAVA SE_switch statement
1. Jefri Fahrian TI’12 | Page 1 of 4
01.12 Switch Statement
Jefri Fahrian (6)
Dalam pemrograman penggunaan pernyataan percabangan/pemilihan tentu
sangat berguna untuk mengeksekusi suatu perintah yang memiliki syarat/kondisi
tertentu. Salah satu pernyataan untuk melakukan fungsi tersebut adalah switch
statement. Pernyataan ini juga memiliki fungsi alternatif seperti pada pernyataan if
– else (nested if).
Pernyataan Switch
Switch – case merupakan pernyataan yang dirancang khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah atau banyak
alternatif penyelesaian. Pernyataan switch - case ini memiliki kegunaan sama
seperti if – else bertingkat (nested if). Kontruksi if-else yang bertingkat - tingkat
seringkali membingungkan pembacaan alur program. Java menyediakan
pernyataan switch untuk memudahkan pembacaan alur program bercabang yang
sangat banyak. Meskipun switch didesain untuk menggantii if-else, akan tetapi
switch memiliki batasan berikut :
- Data yang diperiksa haruslah bertipe integer (int) atau character (char)
- Range data yang diperiksa bernilai 0 s/d 255 (Hariyanto, 2003)
Sintaks percabangan switch di Java adalah :
Switch (expression) {
Case constanta1:
Statement1
Case constanta2:
Statement2
Default statement
}
Keterangan :
- constanta1, constanta2, dst adalah kontanta yang akan dicocokkan dengan
isi exspression
- statement adalah pernyataan yang akan dikerjakan jika expression (bertipe
int atau char) cocok dengan salah satu data dari constanta1, constanta2,
dan seterusmya.
2. Jefri Fahrian TI’12 | Page 2 of 4
- 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 expression tidak cocok dengan
salah satu dari constanta yang tersedia (Hariyanto, 2003)
Contoh program :
1 import java.util.Scanner;
2 public class prodi {
3 public static void main(String args[]) {
4 // Pembuatan objek input untuk menggantikan fungsi scanner
5 Scanner input = new Scanner(System.in);
6
7 // Mendeklarasikan variabel
8 String nama;
9 int pil;
10 // Meminta inputan
11 System.out.print("Masukkan Nama : ");
12 nama= input.next();
13 System.out.print("Pilihan prodi : ");
14 pil= input.nextInt();
15
16 // Pengujian pilihan
17 switch (pil) {
18 case 1:
19 System.out.println("Desain Komunikasi Visual");
20 break;
21 case 2:
22 System.out.println("Desain Produk Industri");
23 break;
24 case 3:
25 System.out.println("Teknik Informatika");
26 break;
27 case 4:
28 System.out.println("Falsafah Agama");
29 break;
30 case 5:
31 System.out.println("Hubungan Internasional");
32 break;
33 case 6:
34 System.out.println("Psikologi");
35 break;
36 case 7:
37 System.out.println("Ilmu Komunikasi");
38 break;
39 case 8:
40 System.out.println("Manajemen");
41 break;
42 //Jika tidak ada ekspresi yang cocok akan dieksekusi
43 default:
44 System.out.println("Pilihan prodi salah !");
45 }
46 }
47 }
3. Jefri Fahrian TI’12 | Page 3 of 4
Keluaran program :
Masukkan Nama : Jefri Fahrian
Pilihan prodi : 3
Teknik Informatika
Percabangan switch mengevaluasi dan membandingkan expression untuk
semua constanta case dan mengendalikan eksekusi program ke pernyataan case
yang cocok dengan expression. Jika tidak ada expression yang cocok maka
program menuju ke default statement. Pernyataan break adalah opsional, jika kita
meniadakan break, maka eksekusi akan terus dijalankan ke pernyataan case
berikutnya.
Berikut adalah fitur penting pernyataan switch :
1. Pernyataan switch berbeda dengan pernyataan if-else dimana switch hanya
bisa menguji kesamaan tipe ekspresi int/char, sedangkan pernyataan if-
else dapat melakukan evaluasi sembarang tipe ekspresi boolean. Dengan
demikian, switch terlihat seperti hanya mencocokkan di antara nilai – nilai
ekspresi dan constanta case.
2. Tidak ada constanta case di block case yang sama dapat mempunyai nilai
identik. Tentu saja untuk pernyataan switch bersarang (nested switch) yang
diapit switch luar dapat mempunyai kontanta yang sama dengan konstanta
di switch luar.
3. Pernyataan switch biasanya lebih efisien dibanding if-else bersarang yang
dalam.
Dalam mengompilasi pernyataan switch, Java compiler akan melakukan
inspeksi masing – masing constanta case dan menciptakan “jump table” yang
akan digunakan untuk memilih jalur eksekusi bergantung nilai ekspresi. Dengan
demikian, jika kita hendak memilih sekelompok besar nilai maka pernyataan
switch akan berjalan lebih cepat dibanding menggunakan pernyataan else-if.
Kompilator melakukannya dengan mengetahui bahwa semua contanta case
bertipe sama dan cukup membandingkan kesamaan dengan jump table.
(Hariyanto, 2003)
4. Jefri Fahrian TI’12 | Page 4 of 4
Daftar Pustaka
Bloch, J. (2001). Effective Java: Programming Language Guide. Massachusetts:
Addison Wesley.
Bracha, G. (2004). Generics in the Java Programming Language.
Hariyanto, B. (2003). Esensi - Esensi bahasa pemrograman Java. Bandung:
Penerbit Informatika.
Harold, E. R. (1999). Java I/O. O'Reilly.
McLaughlin, B. (2002). Building Java™ Enterprise Applications Volume I:
Architecture. O'Reilly.