01.12 java se_switch statement

5
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) Jefri Fahrian TI’12 | Page 1 of 5

Upload: jefri-fahrian

Post on 09-Jan-2017

175 views

Category:

Software


2 download

TRANSCRIPT

Page 1: 01.12 JAVA SE_switch statement

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.

Jefri Fahrian TI’12 | Page 1 of 4

Page 2: 01.12 JAVA SE_switch statement

- 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 scanner5 Scanner input = new Scanner(System.in);67 // Mendeklarasikan variabel8 String nama;9 int pil;10 // Meminta inputan11 System.out.print("Masukkan Nama : ");12 nama= input.next();13 System.out.print("Pilihan prodi : ");14 pil= input.nextInt();1516 // 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 dieksekusi43 default:44 System.out.println("Pilihan prodi salah !");45 }46 }47 }

Jefri Fahrian TI’12 | Page 2 of 4

Page 3: 01.12 JAVA SE_switch statement

Keluaran program :Masukkan Nama : Jefri FahrianPilihan prodi : 3Teknik 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)

Jefri Fahrian TI’12 | Page 3 of 4

Page 4: 01.12 JAVA SE_switch statement

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.

Jefri Fahrian TI’12 | Page 4 of 4