MODUL VI, Algoritma Pemrograman I

PERNYATAAN SWITCH
A.  DASAR TEORI
Penyataan percabangan kedua yang dimiliki Java adalah switch. Pernyataan switch lebih digunakan untuk memilih berdasar banyak pilihan, dimana dari masing-masing pilihan akan menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan. Pernyataan switch juga sering bermanfaat apabila kita ingin menuliskan percabangan multi arah. Pernyataan switch akan mencari nilai ekspresi yang sesuai dengan nilai-nilai yang didaftarkan pada pernyataan case. Jika salah satu nilai ditemui, maka program akan melanjutkan ke cabang case tersebut dan melakukan perintah yang terdapat di sana. Jika tidak ditemui, maka program akan melanjutkan ke perintah yang terdapat pada pernyataan default. Ungkapan ekspresi hanya bisa berbentuk nilai bilangan bulat (int, short, dan sejenisnya) atau karakter, sehingga kita tidak bisa menggunakan switch untuk mengevaluasi ekspresi yang berbentuk String. Pernyataan break di atas sebetulnya tidak harus selalu ada. Tetapi, perintah break di sini memerintahkan komputer agar segera keluar dari blok switchapabila perintah tersebut telah selesai dilaksanakan. Apabila perintah break tidak diberikan, maka program akan terus mengeksekusi perintah lain meskipun sudah berada di luar nilai yang tertera dalam pernyataan casenya.
B.   PEMBAHASAN
Program 1 :
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();
       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(“Pilihan Anda Salah !!!!”); break;
       }
  }
}
Hasil output program ( case 3  “tidak memakai break”) :
Hasil output program ( case 3  “memakai break”) :
Penjelasan :
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(“Pilihan Anda Salah !!!!”); break;
       }
Ketika pernyataan switch ditemukan pada potongan kode program, java pertama kali akan memeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang dimiliki oleh switch_expression. Selanjutnya program akan mengeksekusi pernyataan pada dari kode setelah case yang ditemukan sampai menemui pernyataan break, selanjutnya akan mengabaikan pernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch.
Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default. Sebagai catatan, bahwa bagian blok default adalah opsional. Sebuah pernyataan switch bisa jadi tidak memiliki blok kode default.
CATATAN:
a.      Tidak seperti pada pernyataan if, beberapa pernyataan pada struktur pernyataan switch akan dieksekusi tanpa memerlukan tanda kurung kurawal ({}).
b.      Ketika sebuah case pada pernyataan switch menemui kecocokan, semua pernyataan pada case tersebut akan dieksekusi. Tidak hanya demikian, pernyataan lain yang berada pada case yang sesuai juga akan dieksekusi.
c.       Untuk menghindari program mengeksekusi pernyataan pada case berikutnya, kita menggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.
Program 2 :
import java.util.Scanner;
public class 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 pertama kali akan memeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang dimiliki oleh switch_expression. Selanjutnya program akan mengeksekusi pernyataan pada dari kode setelah case yang ditemukan sampai menemui pernyataan break, selanjutnya akan mengabaikan pernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch.
Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default. Sebagai catatan, bahwa bagian blok default adalah opsional. Sebuah pernyataan switch bisa jadi tidak memiliki blok kode default.
CATATAN:
a.      Tidak seperti pada pernyataan if, beberapa pernyataan pada struktur pernyataan switch akan dieksekusi tanpa memerlukan tanda kurung kurawal ({}).
b.      Ketika sebuah case pada pernyataan switch menemui kecocokan, semua pernyataan pada case tersebut akan dieksekusi. Tidak hanya demikian, pernyataan lain yang berada pada case yang sesuai juga akan dieksekusi.
c.       Untuk menghindari program mengeksekusi pernyataan pada case berikutnya, kita menggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.
Program 3 :
import java.util.Scanner;
public class 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 :
String pil;
float bagi;
char pilih;
String merupakan objek bersifat immutable, yang berarti sekal dia diciptakan nilainya tidak akan biasa diubah. Class String secara teknis bukan merupakan tipe data primitive, tetapi dengan melihat dukungan khusus yang diberikan kepadanya oleh bahasa itu.
Float (single-precision 32-bit IEEE 754 floating point) digunakan untuk melakukan pendeklarasian tipe data dengan hasil decimal untuk setiap veriabel yang akan digunakannya.
Tipe data char merupakan karakter Unicode 16 bit. Tipe data ini mempunyai nilai minimum’\u0000’ (atau 0) dan nilai maksimum’\uffff’ (atau 65,535)
System.out.print(“Bilangan 1: “);
A = masuk.nextInt ();
Bahasa pemrograman tersebut digunakan untuk melakukan penginputan banyaknya data dari keyboard dengan tipe integer.
jumlah = A+B;
  Salah satu contoh ekspresi yang terdiri dari konstanta dengan precedence yang bertipe aditif yang digunakan untuk menjumlahkan 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, java pertama kali akan memeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang dimiliki oleh switch_expression. Selanjutnya program akan mengeksekusi pernyataan pada dari kode setelah case yang ditemukan sampai menemui pernyataan break, selanjutnya akan mengabaikan pernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch.
Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default. Sebagai catatan, bahwa bagian blok default adalah opsional. Sebuah pernyataan switch bisa jadi tidak memiliki blok kode default.
CATATAN:
a.      Tidak seperti pada pernyataan if, beberapa pernyataan pada struktur pernyataan switch akan dieksekusi tanpa memerlukan tanda kurung kurawal ({}).
b.      Ketika sebuah case pada pernyataan switch menemui kecocokan, semua pernyataan pada case tersebut akan dieksekusi. Tidak hanya demikian, pernyataan lain yang berada pada case yang sesuai juga akan dieksekusi.
c.       Untuk menghindari program mengeksekusi pernyataan pada case berikutnya, kita menggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.
C.   TUGAS
1.      Buatlah program dengan menggunakan pernyataan switch untukmemilih 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
{
     public static void main (String[] args)
     {
     Scanner masuk = new Scanner (System.in);
     int pil;
     System.out.print(“Masukkan Pilihan Kendaraan: “);
     pil = masuk.nextInt();
     switch (pil)
     {
case 1: System.out.println(“Naik Pesawat Terbang”); break;
     case 2: System.out.println(“Naik Kereta Api”); break;
     case 3: System.out.println(“Naik Bus”); break;
     case 4: System.out.println(“Naik Taksi”); break;
case 5: System.out.println(“Naik Mobil Pribadi”);    break;
     case 6: System.out.println(“Naik Motor”); break;
default: System.out.println(“Anda Salah Memilih !!!!”); break;
     }
     }
}
Hasil output program :
2.      Seletah anda melakukan praktikum menggunakan pernyataan if dan switch jelaskan kekurangan dan kelebihan dari kedua pernyataan tersebut.
1)      Pernyataan if
§  Kelabihan :
Ø  Pernyataa bisa berupa pernyataan tunggal atau majemuk.
Ø  Programmer dapat menentukan pernyataan yang mana yang akan dipakai berdasarkan kemudahan membaca program dan faktor-faktor yang lain.
Ø  Pernyataan if dapat digunakan untuk membuat keputusan berdasarkan rentang nilai tertentu atau kondisi tertentu
§  Kekurangan
Ø  PernyataanIf hanya mengeksekusi pernyataan yang benar/true, sedangkan pernyataan yang salah 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
Ø  Programmer dapat menentukan pernyataan yang mana yang akan dipakai berdasarkan kemudahan membaca program dan faktor-faktor yang lain.
§  Kekurangan
Ø  Membutuhkan breakuntuk menghentikan eksekusi, agar tidak mengeksekusi semua case yang sama.
Ø  pernyataan switch membuat keputusan hanya berdasarkan nilai unik dari tipe integer atau karakter saja.
3.      Tugas dari dosen pengampu.
Tidak ada tugas dari dosen pengampu.
D.  KESIMPULAN
Pernyataan switch digunakan untuk memilih berdasarkan banyak pilihan, dimana pilihan tersebut menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan. Pernyataan akan terus dieksekusi selama blok dari case tersebut bernilai benar. Ungkapan ekspresi hanya bisa berbentuk nilai bilangan bulat, sehingga kita tidak bisa menggunakan switch untuk mengevaluasi ekspresi yang berbentuk String. Untuk menghindari program mengeksekusi pernyataan pada case berikutnya, 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