Belajar Java Memahami Pernyataan Switch

Belajar Java Memahami Pernyataan Switch

Belajar Java Memahami Pernyataan Switch - Pernyataan switch dapat digunakan untuk menyederhanakan coding untuk kondisi kompleks, karena terus-menerus menggunakan pernyataan if bersarang membuat program menjadi sulit untuk di baca.

Struktur penggunaan switch adalah sebagai berikut :

switch (variabel yang diuji) {
      nilai case:
             kode_disini;
             break;
      nilai case:
             kode_disini;
             break;
      default:
            nilai_yang_tidak_termasuk_di_atas;
            break;
}

Aturan Pernyataan Switch Pada Java

Pernyataan switch memiliki aturan sebagai berikut :
  • Ekspresi switch harus menghasilkan nilai dari tipe char, byte, short, int, atau String dan harus selalu dapit menggunakan tanda kurung.
  • Nilai 1,..., dan nilai x harus memiliki tipe data yang sama seperti nilai dari ekspresi switch. Nilai 1,...nilai x adalah ekspresi konstan, artinya tidak dapat mengandung variabel seperti 1 + z.
  • Ketika nilai pada pernyataan case sesuai dengan nilai dari ekspresi switch, pernyataan yang dimulai dari case ini akan dieksekusi sampai pernyataan break atau akhir dari pernyataan switch tercapai.
  • Pada default case, yang bersifat opsional, dapat digunakan untuk melakukan aksi ketika tidak ada satupun case yang sudah ditetapkan sesuai dengan ekspresi switch.
  • Keyword break bersifat opsional. Pernyataan break segera mengakhiri pernyataan switch.
Contoh penggunaan sederhananya seperti di bawah ini :

1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
 *
 * @author smilejava.blogspot.co.id
 */
import java.util.Scanner;
public class Tomat {
     public static void main(String [] args){
         
         Scanner input = new Scanner (System.in);
         
         System.out.println("Berapa jumlah tomat: ");
         
         int jumlah_Tomat = input.nextInt();
         
         switch (jumlah_Tomat){
             
             case 5:
                 System.out.println("Jumlah tomat 5, pas");
                 break;
                 
             case 4:
                 System.out.println("Jumlah tomat 4, berarti hilang 1");
                 break;
                         
             case 3:
                 System.out.println("Jumlah tomat 3, berarti hilang 2");
                 break;
                 
             default :
                 System.out.println("Jumlah tomat bukan 5,4, atau 3");  
                 break;
         }
           
     }
}

Output :

Berapa jumlah tomat: 
6
Jumlah tomat bukan 5,4, atau 3

jumlah_Tomat adalah variabel dengan tipe integer. Jika user menginput jumlah tomat misalnya 5, maka kondisi case 5 berlaku, yaitu String "Jumlah tomat 5, pas" akan muncul pada output ketika program dijalankan. Demikian juga dengan case 4 atau case 3, akan memunculkan string yang sesuai jika kondisinya terpenuhi.

 Namun jika jumlah tomat bukan 5, 4 atau 3, maka kondisi default terpenuhi, yaitu akan menampilkan String "Jumlah tomat bukan 5,4, atau 3".

    Contoh coding Java  pernyataan switch yang bersarang

    Program akan menerima input nilai siswa dari user, kemudian akan menghitung dan menampilkan nilai rata-rata dari nilai para siswa tersebut. Program juga akan mengkategorikan nilai berdasarkan huruf, dan menampilkan jumlah dari masing-masing kategori huruf tersebut. Pada program ini juga terdapat penggunaan while loop, serta pernyataan if dan else.

    class DataNilaiSiswa
    1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    public class DataNilaiSiswa {
     
     //variabel instance
     private String namaUser;
     private int totalNilai;
     private int counterNilai;
     private int hitungA;//menghitung nilai A
     private int hitungB;//menghitung nilai B
     private int hitungC;//menghitung nilai C
     private int hitungD;//menghitung nilai D
     private int hitungE;//menghitung nilai E
     private int hitungF;//menghitung nilai F
     
     //konstruktor menginisialisasi namaUser
     public DataNilaiSiswa (String nama){
      namaUser = nama;//inisialisasi namaUser
     }//akhir konstruktor
     
     //method untuk mengeset nama user
     public void setNamaUser (String nama){
      namaUser = nama;//menyimpan nama user
     }//akhir method setNamaUser
     
     //method untuk menerima nama user
     public String getNamaUser(){
      return namaUser;
     }//akhir method getNamaUser
     
     //method untuk menampilkan pesan kepada user
     public void tampilkanPesan(){
      System.out.printf("Selamat datang \n%s!\n\n",
        getNamaUser());
     }
     
     //input nilai dari user dalam int
     public void inputNilai(){
      
      //membuat objek scanner
      Scanner input = new Scanner(System.in);
      
      int nilaiSiswa;//nilai siswa yang diinput oleh user
      
      System.out.printf("%s\n%s\n %s\n %s\n",
        "Masukkan nilai int antara 0 - 100",
        "Untuk mengakhiri input :",
        "Pada UNIX/Linux/Mac OS X tekan <Ctrl> d kemudian Enter",
        "Pada Windows tekan <Ctrl> z kemudian Enter");
      
      //loop sampai user mengakhri input
      while (input.hasNext()){
       
       nilaiSiswa = input.nextInt();//membaca nilai siswa
       totalNilai = totalNilai + nilaiSiswa;//menambahkan nilai siswa ke total nilai
       ++counterNilai;//increment counter nilai
       
       //memanggil method untuk increment counter yang sesuai
       incrementKategoriHurufSesuaiNilai(nilaiSiswa);
       
       }//akhir while
      
      }//akhir method inputNilai
     
       //menambahkan 1 pada counter yang sesuai 
       private void incrementKategoriHurufSesuaiNilai(int nilaiSiswa){
       
       //menetapkan kategori nilai yang dimasukkan
       switch (nilaiSiswa / 10){
       
        case 10 :
         ++hitungA;// increment hitungA
         break;//diperlukan untuk keluar dari switch
         
        case 9 :
         ++hitungB;// increment hitungB
         break;//diperlukan untuk keluar dari switch 
         
        case 8 :
         ++hitungC;// increment hitungC
         break;//diperlukan untuk keluar dari switch
         
        case 7 :
         ++hitungD;// increment hitungD
         break;//diperlukan untuk keluar dari switch
         
        case 6 :
         ++hitungE;// increment hitungE
         break;//diperlukan untuk keluar dari switch
         
        default :
         ++hitungF;// increment hitungF
         //diperlukan untuk keluar dari switch
         
       }//akhir switch
       
      }//akhir method incrementKategoriHurufSesuaiNilai
       
       //menampilkan laporan berdasarkan kategori yang diinput oleh user
       public void tampilkanLaporanNilai(){
        System.out.println( "\nKategori Nilai:" );
        
        //Jika user memasukkan sekurang-kurangnya satu nilai
        if ( counterNilai != 0 ){
         
         //menghitung nilai rata-rata untuk dari semua nilai yang diinput
         double nilaiRataRata = (double) totalNilai / counterNilai;
         
         //output ringkasan hasil
         System.out.printf( "Total dari %d nilai yang diinput adalah %d\n",
           counterNilai, totalNilai );
         
         System.out.printf( "Nilai rata-rata adalah %.2f\n", nilaiRataRata );
         System.out.printf("%s\n%s%d\n%s%d\n%s%d\n%s%d\n%s%d\n%s%d\n",
           "Rincian kategori nilai:",
           "A: ", hitungA,
           "B: ", hitungB,
           "C: ", hitungC,
           "D: ", hitungD,
           "E: ", hitungE,
           "F: ", hitungF );
        }
        
        else//bila tidak ada nilai yang diinput, pesan akan ditambilkan
         
         System.out.println( "Tidak ada nilai yang dimasukkan" );
        
       }//akhir method tampilkanLaporanNilai
       
    }//akhir class DataNilaiSiswa

    class DemoDataNilaiSiswa
    1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    public class DemoDataNilaiSiswa {
     
     public static void main( String[] args ){
      
      //membuat objek nilaiSiswaKu
      //menyampaikan nama user ke constructor
      DataNilaiSiswa nilaiSiswaKu = new DataNilaiSiswa ("User");
      
      nilaiSiswaKu.tampilkanPesan();
      nilaiSiswaKu.inputNilai();
      nilaiSiswaKu.tampilkanLaporanNilai();
      
     }
    
    }

    Output:
    Memahami Pernyataan Switch Pada Java
    Ouput Program
    Denikianlah penmbahasan mengenai Belajar Java Memahami Pernyataan Switch, mohon di share jika dirasa bermanfaat untuk anda.

    No comments

    Bahasa Java. Powered by Blogger.