PERTEMUAN5 SWITCH Recent site activity Chaky_182 PERTEMUAN5 SWITCH
ALGORITMA DAN
PEMROGRAMAN
SELEKSI-SWITCH
1
SINTAKS DASAR
switch (switch-expression)
{
case value1:
statement(s)1;
break;
case value2:
statement(s)2;
break;
…
case valueN:
statement(s)N;
break;
default:
statement(s)-for-default;
}
Modul 1 - Sejarah dan struktur
java
2
FLOWCHART
Modul 1 - Sejarah dan struktur
java
3
KETERANGAN
Switch-expression harus ditulis dalam tanda
kurung (…)
Value1, …, dan valueN harus memiliki tipe
data yang sama dengan switch-expression
dan tidak dapat berupa expression seperti
1+x
Jika case ditemukan, maka eksekusi dimulai
dari case tersebut sampai ditemukan break
Modul 1 - Sejarah dan struktur
java
4
KETERANGAN
Keyword
break adalah optional
Case default adalah optional, dieksekusi
jika tidak ada case yang memenuhi
Case dicek secara berurutan
Lebih baik case diurutkan dan default
diletakkan di case terakhir
Switch-case tanpa break menyebabkan
case berikutnya dieksekusi
Modul 1 - Sejarah dan struktur
java
5
FLOWCHART TANPA BREAK
Modul 1 - Sejarah dan struktur
java
6
CONTOH
Bila ingin mengetahui kode bulan dan hari sebagai
berikut :
Bulan : 1, 3, 5, 7, 8, 10, 12
jumlah hari 31 hari
Bulan : 4, 6, 9, 11
jumlah hari 30 hari
Bulan : 2
jumlah hari 28 atau 29
Dan jika selain angka-angka tersebut dimasukan
muncul komentar “salah memasuki kode bulan”
Modul 1 - Sejarah dan struktur
java
7
ALGORITMA
1.
2.
3.
4.
5.
6.
7.
8.
9.
Definiskan/masukan variabel kode_bulan
jika kode_bulan = 1, 3, 5, 7, 8, 10, 12
tampilan jumlah hari = 31
jika kode_bulan = 4, 6, 9, 11
tampilan jumlah hari = 30
jika kode_bulan = 2
tampilan jumlah hari = 28 atau 29
jika kode_bulan yang dimasukan salah
tampilkan komentar “Salah memasukan kode bulan”
Modul 1 - Sejarah dan struktur
java
8
ACTIVITY DIAGRAM
Modul 1 - Sejarah dan struktur
java
9
PROGRAM
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
import java.util.Scanner;
public class CaseBulan
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int kode_bulan;
System.out.print("Masukkan kode bulan : ");
kode_bulan=masuk.nextInt();
switch (kode_bulan) {
case 1:case 3:case 5: case 7: case 8:case 10:case 12:
System.out.println("Jumlah hari = 31 hari");
break;
Modul 1 - Sejarah dan struktur
java
10
LANJUTAN PROGRAM
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
case 4:case 6: case 9: case 11:
System.out.println("Jumlah hari = 30 hari");
break;
case 2:
System.out.println("Jumlah hari = 28 atau 29 hari");
break;
default:
System.out.println("Salah masukan kode bulan");
break;
}
}
}
Modul 1 - Sejarah dan struktur
java
11
OUTPUT:
Masukan
kode bulan : 1
Jumlah hari = 31 hari
Modul 1 - Sejarah dan struktur
java
12
KETERANGAN:
Baris 9 adalah perintah meminta masukan ke
variabel kode_bulan. Nilai itu kemudian dites pada
perintah switch. Baris 10 – 23 adalah perintah
switch-nya. Baris 11 –13 akan dikerjakan jika
masukan untuk kode_bulan adalah 1, 3, 5, 7, 8, 10,
12. Sedangkan baris 13 - 16 akan dikerjakan untuk
kode_bulan 4, 6, 9, 11. Dan baris 17 –19 dikerjakan
untuk kode_bulan 2. Jika yang dimasukkan selain
nilai-nilai diatas, maka akan dikerjakan baris 20 – 22.
Modul 1 - Sejarah dan struktur
java
13
KETERANGAN:
Yang perlu diperhatikan dalam perintah switch ini
adalah bahwa, setelah masuk ke sebuah pilihan (case
) tertentu, maka pernyataan akan keluar dari case jika
sudah menjumpai pernyataan break. Sehingga, jika
kita tidak menjumpai perintah pernyataan break, maka
akan dikerjakan semua perintah sampai ketemu break
atau kalau tidak ada, sampai pernyataan switch
berakhir. Misalnya program diatas baris ke 13
dihilangkan. Dan dijalankan dengan masukan yang
sama, maka hasilnya adalah
Modul 1 - Sejarah dan struktur
java
14
OUTPUT:
Masukkan
kode bulan : 1
Jumlah hari = 31 hari
Jumlah hari = 30 hari
Modul 1 - Sejarah dan struktur
java
15
CATATAN:
Semua
program yang dibuat
dengan pernyataan switch dapat
diubah menggunakan pernyataan
if, tetapi tidak sebaliknya, karena
switch tidak menerima input
berupa floating point
Modul 1 - Sejarah dan struktur
java
16
Dari kasus kode bulan diubah
menggunakan if
import java.util.Scanner;
public class IfBulan
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int kode_bulan;
System.out.print("Masukkan kode bulan : ");
kode_bulan=masuk.nextInt();
if ((kode_bulan == 1)||(kode_bulan==3)||(kode_bulan==5)||
(kode_bulan==7) || (kode_bulan == 8)||
(kode_bulan == 10) || (kode_bulan == 12))
System.out.println("Jumlah hari = 30 hari");
Modul 1 - Sejarah dan struktur
java
17
Lanjutan
else if
((kode_bulan==4)||(kode_bulan==6)||
(kode_bulan==9)|| (kode_bulan == 11))
System.out.println("Jumlah hari = 31 hari");
else if (kode_bulan == 2)
System.out.println("Jumlah hari = 28 atau 29 hari");
else
System.out.println("Salah masukan kode bulan");
}
}
Modul 1 - Sejarah dan struktur
java
18
OUTPUT:
Masukan kode bulan : 1
Jumlah hari = 31 hari
Masukkan kode bulan : 2
Jumlah hari = 28 atau 29 hari
Masukkan kode bulan : 13
Salah masukan kode bulan
Modul 1 - Sejarah dan struktur
java
19
CONTOH:
Kasus jurusan yang ada di Perguruan Tinggi
dengan ketentuan :
Pilih 1 jurusan MI/D3
Pilih 2 jurusan TK/D3
Pilih 3 jurusan KA/D3
Pilih 4 jurusan TI/S1
Pilih 5 jurusan SI/S1
Jika yang dipilih selain (1, 2, 3, 4, 5) beri
komentar “Salah masukan pilihan”
Modul 1 - Sejarah dan struktur
java
20
ALGORITMA
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Definisikan/masukan variabel pilihan
jika pil = 1
tampilkan(jurusan MI/D3)
jika pil = 2
tampilkan (jurusan TK/D3)
jika pil = 3
tampilkan(jurusan KA/D3)
jika pil = 4
tampilkan (jurusan TI/S1)
jika pil = 5
tampilkan (jurusan SI/S1)
jika bukan beri komentar “Salah masukan pilihan”
Modul 1 - Sejarah dan struktur
java
21
ACTIVITY DIAGRAM
Modul 1 - Sejarah dan struktur
java
22
IMPLEMENTASI PROGRAM
1.
2.
3.
4.
5.
6.
7.
8.
9.
import java.util.Scanner;
public class CaseJurusan
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int pil;
System.out.print("Masukkan pilihan : ");
pil = masuk.nextInt();
Modul 1 - Sejarah dan struktur
java
23
LANJUTAN
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
switch (pil) {
case 1:System.out.println("Jurusan MI/D3");break;
case 2:System.out.println("Jurusan TK/D3");break;
case 3:System.out.println("Jurusan KA/D3");break;
case 4:System.out.println("Jurusan TI/S1");break;
case 5:System.out.println("Jurusan SI/S1");break;
default: System.out.println("Salah masukkan pilihan");
break;
}
}
}
Modul 1 - Sejarah dan struktur
java
24
OUTPUT:
Masukan
Pilihan : 1
Jurusan MI/D3
Masukan
Pilihan : 3
Jurusan KA/D3
Modul 1 - Sejarah dan struktur
java
25
LATIHAN:
Ubahlah
kasus jurusan pada Perguruan
Tinggi tersebut menggunakan If
Modul 1 - Sejarah dan struktur
java
26
JAWABAN:
1.
2.
3.
4.
5.
6.
7.
8.
9.
import java.util.Scanner;
public class IfJurusan
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int pil;
System.out.print("Masukkan pilihan : ");
pil = masuk.nextInt();
Modul 1 - Sejarah dan struktur
java
27
LANJUTAN
10.
11.
12.
13.
14.
15.
16.
17.
if (pil==1) System.out.println("Jurusan MI/D3");
else if (pil==2)System.out.println("Jurusan TK/D3");
else if (pil==3) System.out.println("Jurusan KA/D3");
else if (pil==4) System.out.println("Jurusan TI/S1");
else if (pil==5) System.out.println("Jurusan SI/S1");
else System.out.println("Salah masukkan pilihan");
}
}
Modul 1 - Sejarah dan struktur
java
28
OUTPUT:
Masukan
Pilihan : 1
Jurusan MI/D3
Masukan
Pilihan : 3
Jurusan KA/D3
Modul 1 - Sejarah dan struktur
java
29
CONTOH:
Modul 1 - Sejarah dan struktur
java
30
OUTPUT:
Modul 1 - Sejarah dan struktur
java
31
CONTOH:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public class Grade {
public static void main( String[] args )
{
int grade = 92;
switch(grade){
case 100:
System.out.println( "Excellent!" );
break;
case 90:
System.out.println(“Bagus!" );
break;
case 80:
System.out.println(“Belajar lagi!" );
break;
default:
System.out.println(“Maaf, Anda gagal.");
}
}
}
Modul 1 - Sejarah dan struktur
java
32
OUTPUT:
Modul 1 - Sejarah dan struktur
java
33
CONTOH:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
switch (N)
case 1:
System.out.println("Angka tersebut bernilai 1");
break;
case 2: case 3: case 4: case 5:
System.out.println("Angka tersebut bernilai 2, 3, 4, atau 5");
break;
case 6: case 7: case 8:
System.out.println("Angka tersebut bernilai 6, 7, atau 8");
break;
default:
System.out.println("Angka tersebut tidak bernilai 1 - 8"); }
Modul 1 - Sejarah dan struktur
java
34
MENGGUNAKAN STRING DAN
SWITCH PADA JAVA
Java tidak bisa membandingkan tipe data String pada
perintah switch . Misalnya cuplikan program yang tidak
bisa digunakan :
String a = "satu";
switch (a) {
case "satu" : System.out.println("1"); break;
case "dua" : System.out.println("2"); break;
case "tiga" : System.out.println("3"); break;
}
35
Solusi untuk mengatasi masalah di atas adalah dengan menggunakan enum
seperti contoh program di bawah ini :
public class switchString {
public enum warnaLampu {
merah, kuning, hijau, salah;
public static warnaLampu nyala(String str) {
try {
return valueOf(str);
} catch (Exception ex) {
return salah;
}
}
}
Modul 1 - Sejarah dan struktur
java
36
/** Creates a new instance of switchString */
public static void main(String[] args) {
String warna = "biru";
switch (warnaLampu.nyala(warna)) {
case merah:
System.out.println("stop"); break;
case kuning:
System.out.println("pelan"); break;
case hijau:
System.out.println("jalan"); break;
default :
System.out.println("ngaco");
}
}
}
Modul 1 - Sejarah dan struktur
java
37
CONTOH
Kita akan membuat program untuk main suit. Permainan ini
terdiri dari dua pemain. Dalam permainan real, biasanya dua
pemain mengadu suit dengan saling menunjukkan jari. Hanya
3 jari yang boleh dipakai: jempol, telunjuk, dan kelingking.
Peraturannya : Jempol menang lawan Telunjuk, Telunjuk
menang lawan Kelingking, dan Kelingking menang lawan
Jempol.
Dalam program ini, komputer adalah pemain pertama,
sedangkan user adalah pemain kedua. Komputer akan
menggunakan perintah random() untuk menghitung salah satu
dari 3 pilihan. 0 berarti Jempol, 1 berarti Telunjuk, dan 2 berarti
Kelingking.
Modul 1 - Sejarah dan struktur
java
38
KETERANGAN
User akan diberikan pertanyaan untuk
memasukkan J untuk Jempol, T untuk Telunjuk
dan K untuk Kelingking. Kemudian dengan
pernyataan switch, J, T, dan K akan diubah
menjadi angka 0, 1, dan 2 seperti pada
komputer.
Hasil perhitungan komputer dan hasil input dari
user akan dibandingkan, kemudian hasilnya
siapa yang menang akan ditampilkan di layar.
Modul 1 - Sejarah dan struktur
java
39
JAWABAN
http://java.lyracc.com/belajar/java-untuk-
pemula/contoh-program-switch-case
Modul 1 - Sejarah dan struktur
java
40
CONTOH
Modul 1 - Sejarah dan struktur
java
41
OUTPUT:
Modul 1 - Sejarah dan struktur
java
42
TAMBAHAN
if(kata1.equals(kata2)==true)
dapat diganti menjadi
if(kata1.equals(kata2))
karena if akan menjalankan blok jika
bernilai true
Modul 1 - Sejarah dan struktur
java
43
KESALAHAN-KESALAHAN
Kesalahan yang paling sering dilakukan:
memberikan semicolon (;) setelah if
Contoh yang salah:
If (radius >= 0) ;
{
…
}
Kesalahan yang sering terjadi dalam switch-case
adalah lupa memberikan break
Modul 1 - Sejarah dan struktur
java
44
PEMROGRAMAN
SELEKSI-SWITCH
1
SINTAKS DASAR
switch (switch-expression)
{
case value1:
statement(s)1;
break;
case value2:
statement(s)2;
break;
…
case valueN:
statement(s)N;
break;
default:
statement(s)-for-default;
}
Modul 1 - Sejarah dan struktur
java
2
FLOWCHART
Modul 1 - Sejarah dan struktur
java
3
KETERANGAN
Switch-expression harus ditulis dalam tanda
kurung (…)
Value1, …, dan valueN harus memiliki tipe
data yang sama dengan switch-expression
dan tidak dapat berupa expression seperti
1+x
Jika case ditemukan, maka eksekusi dimulai
dari case tersebut sampai ditemukan break
Modul 1 - Sejarah dan struktur
java
4
KETERANGAN
Keyword
break adalah optional
Case default adalah optional, dieksekusi
jika tidak ada case yang memenuhi
Case dicek secara berurutan
Lebih baik case diurutkan dan default
diletakkan di case terakhir
Switch-case tanpa break menyebabkan
case berikutnya dieksekusi
Modul 1 - Sejarah dan struktur
java
5
FLOWCHART TANPA BREAK
Modul 1 - Sejarah dan struktur
java
6
CONTOH
Bila ingin mengetahui kode bulan dan hari sebagai
berikut :
Bulan : 1, 3, 5, 7, 8, 10, 12
jumlah hari 31 hari
Bulan : 4, 6, 9, 11
jumlah hari 30 hari
Bulan : 2
jumlah hari 28 atau 29
Dan jika selain angka-angka tersebut dimasukan
muncul komentar “salah memasuki kode bulan”
Modul 1 - Sejarah dan struktur
java
7
ALGORITMA
1.
2.
3.
4.
5.
6.
7.
8.
9.
Definiskan/masukan variabel kode_bulan
jika kode_bulan = 1, 3, 5, 7, 8, 10, 12
tampilan jumlah hari = 31
jika kode_bulan = 4, 6, 9, 11
tampilan jumlah hari = 30
jika kode_bulan = 2
tampilan jumlah hari = 28 atau 29
jika kode_bulan yang dimasukan salah
tampilkan komentar “Salah memasukan kode bulan”
Modul 1 - Sejarah dan struktur
java
8
ACTIVITY DIAGRAM
Modul 1 - Sejarah dan struktur
java
9
PROGRAM
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
import java.util.Scanner;
public class CaseBulan
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int kode_bulan;
System.out.print("Masukkan kode bulan : ");
kode_bulan=masuk.nextInt();
switch (kode_bulan) {
case 1:case 3:case 5: case 7: case 8:case 10:case 12:
System.out.println("Jumlah hari = 31 hari");
break;
Modul 1 - Sejarah dan struktur
java
10
LANJUTAN PROGRAM
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
case 4:case 6: case 9: case 11:
System.out.println("Jumlah hari = 30 hari");
break;
case 2:
System.out.println("Jumlah hari = 28 atau 29 hari");
break;
default:
System.out.println("Salah masukan kode bulan");
break;
}
}
}
Modul 1 - Sejarah dan struktur
java
11
OUTPUT:
Masukan
kode bulan : 1
Jumlah hari = 31 hari
Modul 1 - Sejarah dan struktur
java
12
KETERANGAN:
Baris 9 adalah perintah meminta masukan ke
variabel kode_bulan. Nilai itu kemudian dites pada
perintah switch. Baris 10 – 23 adalah perintah
switch-nya. Baris 11 –13 akan dikerjakan jika
masukan untuk kode_bulan adalah 1, 3, 5, 7, 8, 10,
12. Sedangkan baris 13 - 16 akan dikerjakan untuk
kode_bulan 4, 6, 9, 11. Dan baris 17 –19 dikerjakan
untuk kode_bulan 2. Jika yang dimasukkan selain
nilai-nilai diatas, maka akan dikerjakan baris 20 – 22.
Modul 1 - Sejarah dan struktur
java
13
KETERANGAN:
Yang perlu diperhatikan dalam perintah switch ini
adalah bahwa, setelah masuk ke sebuah pilihan (case
) tertentu, maka pernyataan akan keluar dari case jika
sudah menjumpai pernyataan break. Sehingga, jika
kita tidak menjumpai perintah pernyataan break, maka
akan dikerjakan semua perintah sampai ketemu break
atau kalau tidak ada, sampai pernyataan switch
berakhir. Misalnya program diatas baris ke 13
dihilangkan. Dan dijalankan dengan masukan yang
sama, maka hasilnya adalah
Modul 1 - Sejarah dan struktur
java
14
OUTPUT:
Masukkan
kode bulan : 1
Jumlah hari = 31 hari
Jumlah hari = 30 hari
Modul 1 - Sejarah dan struktur
java
15
CATATAN:
Semua
program yang dibuat
dengan pernyataan switch dapat
diubah menggunakan pernyataan
if, tetapi tidak sebaliknya, karena
switch tidak menerima input
berupa floating point
Modul 1 - Sejarah dan struktur
java
16
Dari kasus kode bulan diubah
menggunakan if
import java.util.Scanner;
public class IfBulan
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int kode_bulan;
System.out.print("Masukkan kode bulan : ");
kode_bulan=masuk.nextInt();
if ((kode_bulan == 1)||(kode_bulan==3)||(kode_bulan==5)||
(kode_bulan==7) || (kode_bulan == 8)||
(kode_bulan == 10) || (kode_bulan == 12))
System.out.println("Jumlah hari = 30 hari");
Modul 1 - Sejarah dan struktur
java
17
Lanjutan
else if
((kode_bulan==4)||(kode_bulan==6)||
(kode_bulan==9)|| (kode_bulan == 11))
System.out.println("Jumlah hari = 31 hari");
else if (kode_bulan == 2)
System.out.println("Jumlah hari = 28 atau 29 hari");
else
System.out.println("Salah masukan kode bulan");
}
}
Modul 1 - Sejarah dan struktur
java
18
OUTPUT:
Masukan kode bulan : 1
Jumlah hari = 31 hari
Masukkan kode bulan : 2
Jumlah hari = 28 atau 29 hari
Masukkan kode bulan : 13
Salah masukan kode bulan
Modul 1 - Sejarah dan struktur
java
19
CONTOH:
Kasus jurusan yang ada di Perguruan Tinggi
dengan ketentuan :
Pilih 1 jurusan MI/D3
Pilih 2 jurusan TK/D3
Pilih 3 jurusan KA/D3
Pilih 4 jurusan TI/S1
Pilih 5 jurusan SI/S1
Jika yang dipilih selain (1, 2, 3, 4, 5) beri
komentar “Salah masukan pilihan”
Modul 1 - Sejarah dan struktur
java
20
ALGORITMA
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Definisikan/masukan variabel pilihan
jika pil = 1
tampilkan(jurusan MI/D3)
jika pil = 2
tampilkan (jurusan TK/D3)
jika pil = 3
tampilkan(jurusan KA/D3)
jika pil = 4
tampilkan (jurusan TI/S1)
jika pil = 5
tampilkan (jurusan SI/S1)
jika bukan beri komentar “Salah masukan pilihan”
Modul 1 - Sejarah dan struktur
java
21
ACTIVITY DIAGRAM
Modul 1 - Sejarah dan struktur
java
22
IMPLEMENTASI PROGRAM
1.
2.
3.
4.
5.
6.
7.
8.
9.
import java.util.Scanner;
public class CaseJurusan
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int pil;
System.out.print("Masukkan pilihan : ");
pil = masuk.nextInt();
Modul 1 - Sejarah dan struktur
java
23
LANJUTAN
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
switch (pil) {
case 1:System.out.println("Jurusan MI/D3");break;
case 2:System.out.println("Jurusan TK/D3");break;
case 3:System.out.println("Jurusan KA/D3");break;
case 4:System.out.println("Jurusan TI/S1");break;
case 5:System.out.println("Jurusan SI/S1");break;
default: System.out.println("Salah masukkan pilihan");
break;
}
}
}
Modul 1 - Sejarah dan struktur
java
24
OUTPUT:
Masukan
Pilihan : 1
Jurusan MI/D3
Masukan
Pilihan : 3
Jurusan KA/D3
Modul 1 - Sejarah dan struktur
java
25
LATIHAN:
Ubahlah
kasus jurusan pada Perguruan
Tinggi tersebut menggunakan If
Modul 1 - Sejarah dan struktur
java
26
JAWABAN:
1.
2.
3.
4.
5.
6.
7.
8.
9.
import java.util.Scanner;
public class IfJurusan
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int pil;
System.out.print("Masukkan pilihan : ");
pil = masuk.nextInt();
Modul 1 - Sejarah dan struktur
java
27
LANJUTAN
10.
11.
12.
13.
14.
15.
16.
17.
if (pil==1) System.out.println("Jurusan MI/D3");
else if (pil==2)System.out.println("Jurusan TK/D3");
else if (pil==3) System.out.println("Jurusan KA/D3");
else if (pil==4) System.out.println("Jurusan TI/S1");
else if (pil==5) System.out.println("Jurusan SI/S1");
else System.out.println("Salah masukkan pilihan");
}
}
Modul 1 - Sejarah dan struktur
java
28
OUTPUT:
Masukan
Pilihan : 1
Jurusan MI/D3
Masukan
Pilihan : 3
Jurusan KA/D3
Modul 1 - Sejarah dan struktur
java
29
CONTOH:
Modul 1 - Sejarah dan struktur
java
30
OUTPUT:
Modul 1 - Sejarah dan struktur
java
31
CONTOH:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public class Grade {
public static void main( String[] args )
{
int grade = 92;
switch(grade){
case 100:
System.out.println( "Excellent!" );
break;
case 90:
System.out.println(“Bagus!" );
break;
case 80:
System.out.println(“Belajar lagi!" );
break;
default:
System.out.println(“Maaf, Anda gagal.");
}
}
}
Modul 1 - Sejarah dan struktur
java
32
OUTPUT:
Modul 1 - Sejarah dan struktur
java
33
CONTOH:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
switch (N)
case 1:
System.out.println("Angka tersebut bernilai 1");
break;
case 2: case 3: case 4: case 5:
System.out.println("Angka tersebut bernilai 2, 3, 4, atau 5");
break;
case 6: case 7: case 8:
System.out.println("Angka tersebut bernilai 6, 7, atau 8");
break;
default:
System.out.println("Angka tersebut tidak bernilai 1 - 8"); }
Modul 1 - Sejarah dan struktur
java
34
MENGGUNAKAN STRING DAN
SWITCH PADA JAVA
Java tidak bisa membandingkan tipe data String pada
perintah switch . Misalnya cuplikan program yang tidak
bisa digunakan :
String a = "satu";
switch (a) {
case "satu" : System.out.println("1"); break;
case "dua" : System.out.println("2"); break;
case "tiga" : System.out.println("3"); break;
}
35
Solusi untuk mengatasi masalah di atas adalah dengan menggunakan enum
seperti contoh program di bawah ini :
public class switchString {
public enum warnaLampu {
merah, kuning, hijau, salah;
public static warnaLampu nyala(String str) {
try {
return valueOf(str);
} catch (Exception ex) {
return salah;
}
}
}
Modul 1 - Sejarah dan struktur
java
36
/** Creates a new instance of switchString */
public static void main(String[] args) {
String warna = "biru";
switch (warnaLampu.nyala(warna)) {
case merah:
System.out.println("stop"); break;
case kuning:
System.out.println("pelan"); break;
case hijau:
System.out.println("jalan"); break;
default :
System.out.println("ngaco");
}
}
}
Modul 1 - Sejarah dan struktur
java
37
CONTOH
Kita akan membuat program untuk main suit. Permainan ini
terdiri dari dua pemain. Dalam permainan real, biasanya dua
pemain mengadu suit dengan saling menunjukkan jari. Hanya
3 jari yang boleh dipakai: jempol, telunjuk, dan kelingking.
Peraturannya : Jempol menang lawan Telunjuk, Telunjuk
menang lawan Kelingking, dan Kelingking menang lawan
Jempol.
Dalam program ini, komputer adalah pemain pertama,
sedangkan user adalah pemain kedua. Komputer akan
menggunakan perintah random() untuk menghitung salah satu
dari 3 pilihan. 0 berarti Jempol, 1 berarti Telunjuk, dan 2 berarti
Kelingking.
Modul 1 - Sejarah dan struktur
java
38
KETERANGAN
User akan diberikan pertanyaan untuk
memasukkan J untuk Jempol, T untuk Telunjuk
dan K untuk Kelingking. Kemudian dengan
pernyataan switch, J, T, dan K akan diubah
menjadi angka 0, 1, dan 2 seperti pada
komputer.
Hasil perhitungan komputer dan hasil input dari
user akan dibandingkan, kemudian hasilnya
siapa yang menang akan ditampilkan di layar.
Modul 1 - Sejarah dan struktur
java
39
JAWABAN
http://java.lyracc.com/belajar/java-untuk-
pemula/contoh-program-switch-case
Modul 1 - Sejarah dan struktur
java
40
CONTOH
Modul 1 - Sejarah dan struktur
java
41
OUTPUT:
Modul 1 - Sejarah dan struktur
java
42
TAMBAHAN
if(kata1.equals(kata2)==true)
dapat diganti menjadi
if(kata1.equals(kata2))
karena if akan menjalankan blok jika
bernilai true
Modul 1 - Sejarah dan struktur
java
43
KESALAHAN-KESALAHAN
Kesalahan yang paling sering dilakukan:
memberikan semicolon (;) setelah if
Contoh yang salah:
If (radius >= 0) ;
{
…
}
Kesalahan yang sering terjadi dalam switch-case
adalah lupa memberikan break
Modul 1 - Sejarah dan struktur
java
44