MODUL VI, Algoritma Pemrograman I

PERNYATAAN SWITCH
A.  DASAR TEORI
Penyataan percabangankedua yang dimiliki Java adalah switch.Pernyataan switch lebih digunakanuntuk memilih berdasar banyak pilihan, dimana dari masing-masing pilihan akanmenghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan.Pernyataan switch juga seringbermanfaat apabila kita ingin menuliskan percabangan multi arah. Pernyataan switch akan mencari nilai ekspresi yangsesuai dengan nilai-nilai yang didaftarkan pada pernyataan case. Jika salah satu nilai ditemui, maka program akan melanjutkanke cabang case tersebut dan melakukanperintah yang terdapat di sana. Jika tidak ditemui, maka program akanmelanjutkan ke perintah yang terdapat pada pernyataan default. Ungkapan ekspresi hanya bisa berbentuk nilai bilanganbulat (int, short, dan sejenisnya) atau karakter, sehingga kita tidak bisamenggunakan switch untuk mengevaluasi ekspresi yang berbentuk String. Pernyataan break di atas sebetulnya tidak harus selalu ada. Tetapi, perintah break di sini memerintahkan komputeragar segera keluar dari blok switchapabila perintah tersebut telah selesai dilaksanakan. Apabila perintah break tidak diberikan, maka program akanterus mengeksekusi perintah lain meskipun sudah berada di luar nilai yangtertera dalam pernyataan casenya.
B.   PEMBAHASAN
Program 1 :
importjava.util.Scanner;
publicclass CaseJurusan
{
  public static void main (String[] args)
  {
       Scanner masuk = new Scanner (System.in);
       int pil;
       System.out.print(“Masukkan Pilihan:”);
       pil = masuk.nextInt();
       switch (pil)
       {
case1: System.out.println(“Jurusan MI/D3”); break;
case2: System.out.println(“Jurusan TK/D3”); break;
case3: System.out.println(“Jurusan KA/D3”);// break;
case4: System.out.println(“Jurusan TI/S1”); break;
case5: System.out.println(“Jurusan SI/S1”); break;
default:System.out.println(“Pilihan Anda Salah !!!!”); break;
       }
  }
}
Hasil output program ( case 3  “tidak memakai break”) :
Hasil output program ( case 3  “memakai break”) :
Penjelasan :
switch(pil)
       {
case1: System.out.println(“Jurusan MI/D3”); break;
case2: System.out.println(“Jurusan TK/D3”); break;
case3: System.out.println(“Jurusan KA/D3”);// break;
case4: System.out.println(“Jurusan TI/S1”); break;
case5: System.out.println(“Jurusan SI/S1”); break;
default:System.out.println(“Pilihan Anda Salah !!!!”); break;
       }
Ketika pernyataan switch ditemukan pada potongan kodeprogram, java pertama kali akan memeriksa switch_expression, dan menujuke case yang akan menyamakan nilai yang dimiliki oleh switch_expression.Selanjutnya program akan mengeksekusi pernyataan pada dari kode setelah caseyang ditemukan sampai menemui pernyataan break, selanjutnya akanmengabaikan pernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch.
Jika tidak ditemui case yang cocok, maka programakan mengeksekusi blok default. Sebagai catatan, bahwa bagian blok defaultadalah opsional. Sebuah pernyataan switch bisa jadi tidak memilikiblok kode default.
CATATAN:
a.     Tidak seperti pada pernyataan if,beberapa pernyataan pada struktur pernyataan switch akan dieksekusitanpa memerlukan tanda kurung kurawal ({}).
b.     Ketika sebuah case pada pernyataan switch menemuikecocokan, semua pernyataan pada case tersebut akan dieksekusi. Tidak hanyademikian, pernyataan lain yang berada pada case yang sesuai juga akandieksekusi.
c.      Untuk menghindari program mengeksekusi pernyataan pada caseberikutnya, kita menggunakan pernyataan break sebagaipernyataan akhir pada setiap blok case.
Program 2 :
importjava.util.Scanner;
publicclass CaseTV
{
  public static void main (String[] args)
  {
       Scanner masuk = new Scanner (System.in);
       int pil;
       System.out.print(“Masukkan Pilihan:”);
       pil = masuk.nextInt();
       switch (pil)
       {
       case 1:System.out.println(“RCTI”); break;
       case 2:System.out.println(“SCTV”); break;
       case 3:System.out.println(“TPI”); break;
       case 4:System.out.println(“INDOSIAR”); break;
       case 5:System.out.println(“TRANSTV”); break;
       case 6: System.out.println(“TVONE”);break;
       case 7:System.out.println(“METRO”); break;
       case 8:System.out.println(“GLOBAL”); break;
       case 9:System.out.println(“TRANS7”); break;
       case 10:System.out.println(“TVRI”); break;
default:System.out.println(“Salah Memasukkan Pilihan !!!!”); break;
       }
  }
}
Hasil output program :
Penjelasan :
switch(pil)
       {
       case 1:System.out.println(“RCTI”); break;
       case 2:System.out.println(“SCTV”); break;
       case 3:System.out.println(“TPI”); break;
       case 4:System.out.println(“INDOSIAR”); break;
       case 5:System.out.println(“TRANSTV”); break;
       case 6:System.out.println(“TVONE”); break;
       case 7:System.out.println(“METRO”); break;
       case 8: System.out.println(“GLOBAL”);break;
       case 9:System.out.println(“TRANS7”); break;
       case 10:System.out.println(“TVRI”); break;
default:System.out.println(“Salah Memasukkan Pilihan !!!!”); break;
       }
Ketika pernyataan switch ditemukan pada potongan kode program, java pertamakali akan memeriksa switch_expression, dan menuju ke case yangakan menyamakan nilai yang dimiliki oleh switch_expression. Selanjutnyaprogram akan mengeksekusi pernyataan pada dari kode setelah case yangditemukan sampai menemui pernyataan break, selanjutnya akan mengabaikanpernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch.
Jika tidak ditemui case yang cocok, maka program akan mengeksekusiblok default. Sebagai catatan, bahwa bagian blok default adalahopsional. Sebuah pernyataan switch bisa jadi tidak memiliki blok kode default.
CATATAN:
a.     Tidak seperti pada pernyataan if,beberapa pernyataan pada struktur pernyataan switch akan dieksekusitanpa memerlukan tanda kurung kurawal ({}).
b.     Ketika sebuah case pada pernyataan switch menemuikecocokan, semua pernyataan pada case tersebut akan dieksekusi. Tidak hanyademikian, pernyataan lain yang berada pada case yang sesuai juga akandieksekusi.
c.      Untuk menghindari program mengeksekusi pernyataan pada caseberikutnya, kita menggunakan pernyataan break sebagaipernyataan akhir pada setiap blok case.
Program 3 :
importjava.util.Scanner;
publicclass CaseAritmatika
{
  public static void main (String[] args)
  {
       Scanner masuk = new Scanner (System.in);
       int A,B, jumlah, kali , kurang, sisa;
       String pil;
       float bagi;
       char pilih;
       System.out.print(“Bilangan 1:”);
       A = masuk.nextInt ();
       System.out.print(“Bilangan 2:”);
       B = masuk.nextInt ();
       System.out.print(“Masukkan Pilihan:”);
       pil = masuk.next();
       pilih = pil.charAt(0);
jumlah= A+B;
       kali = A*B;
       kurang = A-B;
       bagi = (float) A/B;
       sisa = A%B;
       switch (pilih)
       {
case’+’: System.out.println(“Jumlah= “+jumlah); break;
       case ‘*’: System.out.println(“Kali=”+kali); break;
case’-‘: System.out.println(“Kurang= “+kurang); break;
       case ‘/’: System.out.println(“Bagi=”+bagi); break;
       case ‘%’: System.out.println(“Sisa=”+sisa); break;
default:System.out.println(“Pilihan Anda Salah !!!!”); break;
       }
  }
}
Pembahasan :
Stringpil;
floatbagi;
charpilih;
String merupakanobjek bersifat immutable, yang berarti sekal dia diciptakan nilainya tidak akanbiasa diubah. Class String secara teknis bukan merupakan tipe data primitive,tetapi dengan melihat dukungan khusus yang diberikan kepadanya oleh bahasa itu.
Float (single-precision32-bit IEEE 754 floating point) digunakan untuk melakukan pendeklarasian tipedata dengan hasil decimal untuk setiap veriabel yang akan digunakannya.
Tipe data charmerupakan karakter Unicode 16 bit. Tipe data ini mempunyai nilaiminimum’\u0000’ (atau 0) dan nilai maksimum’\uffff’ (atau 65,535)
System.out.print(“Bilangan1: “);
A= masuk.nextInt ();
Bahasa pemrograman tersebut digunakanuntuk melakukan penginputan banyaknya data dari keyboard dengan tipe integer.
jumlah= A+B;
  Salah satu contoh ekspresi yang terdiridari konstanta dengan precedence yang bertipe aditif yang digunakan untukmenjumlahkan konstanta atau entitas.
switch(pilih)
       {
case’+’: System.out.println(“Jumlah= “+jumlah); break;
       case ‘*’: System.out.println(“Kali=”+kali); break;
case’-‘: System.out.println(“Kurang= “+kurang); break;
       case ‘/’: System.out.println(“Bagi=”+bagi); break;
       case ‘%’: System.out.println(“Sisa=”+sisa); break;
default:System.out.println(“Pilihan Anda Salah !!!!”); break;
       }
Ketika pernyataan switch ditemukan pada potongan kode program, javapertama kali akan memeriksa switch_expression, dan menuju ke case yangakan menyamakan nilai yang dimiliki oleh switch_expression. Selanjutnyaprogram akan mengeksekusi pernyataan pada dari kode setelah case yangditemukan sampai menemui pernyataan break, selanjutnya akan mengabaikanpernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch.
Jika tidak ditemui case yang cocok, maka program akan mengeksekusiblok default. Sebagai catatan, bahwa bagian blok default adalahopsional. Sebuah pernyataan switch bisa jadi tidak memiliki blok kode default.
CATATAN:
a.     Tidak seperti pada pernyataan if,beberapa pernyataan pada struktur pernyataan switch akan dieksekusitanpa memerlukan tanda kurung kurawal ({}).
b.     Ketika sebuah case pada pernyataan switch menemuikecocokan, semua pernyataan pada case tersebut akan dieksekusi. Tidak hanyademikian, pernyataan lain yang berada pada case yang sesuai juga akandieksekusi.
c.      Untuk menghindari program mengeksekusi pernyataan pada caseberikutnya, kita menggunakan pernyataan break sebagaipernyataan akhir pada setiap blok case.
C.   TUGAS
1.     Buatlah program dengan menggunakan pernyataan switchuntukmemilih kendaraan yang akan dipakai bepergian, sbb :
         Pilihan 1 Naik Pesawat Terbang.
         Pilihan 2 Naik Kereta Api.
         Pilihan 3 Naik Bus.
         Pilihan 4 Naik Taksi.
         Pilihan 5 Naik Mobil Pribadi.
         Pilihan 6 Naik Motor.
         Jika tidak ada diantara pilihan 1-6, beri komentar“Anda salah Memilih”
import java.util.Scanner;
public class CaseKendaraan
{
     publicstatic void main (String[] args)
     {
     Scannermasuk = new Scanner (System.in);
     intpil;
     System.out.print(“MasukkanPilihan Kendaraan: “);
     pil= masuk.nextInt();
     switch(pil)
     {
case 1: System.out.println(“NaikPesawat Terbang”); break;
     case2: System.out.println(“Naik Kereta Api”); break;
     case3: System.out.println(“Naik Bus”); break;
     case4: System.out.println(“Naik Taksi”); break;
case 5:System.out.println(“Naik Mobil Pribadi”);    break;
     case6: System.out.println(“Naik Motor”); break;
default:System.out.println(“Anda Salah Memilih !!!!”); break;
     }
     }
}
Hasil outputprogram :
2.     Seletah anda melakukan praktikum menggunakan pernyataanif dan switch jelaskan kekurangan dan kelebihan dari kedua pernyataan tersebut.
1)     Pernyataan if
§ Kelabihan :
Ø Pernyataa bisa berupa pernyataan tunggal ataumajemuk.
Ø Programmerdapat menentukan pernyataan yang mana yang akan dipakai berdasarkan kemudahanmembaca program dan faktor-faktor yang lain.
Ø Pernyataanif dapat digunakan untuk membuat keputusan berdasarkan rentang nilai tertentuatau kondisi tertentu
§ Kekurangan
Ø PernyataanIf hanya mengeksekusi pernyataan yang benar/true, sedangkan pernyataan yangsalah akan mengabaikan dan masuk ke blok else
Ø  Tanda kurawal {} di dalam blok if-elsedigunakan untuk menghindari kebingungan.
2)     Pernyataan switch
§ Kelebihan
Ø Switch digunakan untuk memilih banyak pilihan.
Ø Pernyataan switchtidak perlu menggunakan tanda {} untuk mengeksekusi
Ø Programmerdapat menentukan pernyataan yang mana yang akan dipakai berdasarkan kemudahanmembaca program dan faktor-faktor yang lain.
§ Kekurangan
Ø Membutuhkan breakuntuk menghentikan eksekusi, agar tidak mengeksekusi semua case yang sama.
Ø pernyataanswitch membuat keputusan hanya berdasarkan nilai unik dari tipe integer ataukarakter saja.
3.     Tugas dari dosen pengampu.
Tidakada tugas dari dosen pengampu.
D.  KESIMPULAN
Pernyataan switch digunakan untuk memilihberdasarkan banyak pilihan, dimana pilihan tersebut menghasilkan pernyataan atauaksi yang berlainan sesuai pilihan yang dilakukan. Pernyataan akan terusdieksekusi selama blok dari case tersebut bernilai benar. Ungkapan ekspresihanya bisa berbentuk nilai bilangan bulat, sehingga kita tidak bisa menggunakanswitch untuk mengevaluasi ekspresi yang berbentuk String. Untuk menghindari program mengeksekusi pernyataan pada caseberikutnya, kita menggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.
E.   LISTING
Terlampir 
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s