PEMILIHAN (Seleksi Kondisi)

Java menyediakan dua buah statemen untuk proses pemilihan, yaitu if dan switch. Kedua statemen tersebut digunakan untuk mengontrol eksekusi statement tergantung pada kondisi yang ditentukan sebelumnya. Sebagai analogi, coba perhatikan pernyataan berikut :

" Jika Joni memiliki banyak uang, maka Joni akan membeli rumah mewah"

Nah, dari pernyataannya Joni hanya akan membeli rumah mewah jika memiliki uang banyak, dan apabila kondisi tersebut tidak terpenuhi, maka rumah mewah pun tidak akan pernah dibeli. Ini sama halnya dengan seleksi kondisi dalam java. Perhatikan kode berikut

if (bil%2 == 1){
            System.out.println("adalah bilangan prima");
        } else {
            System.out.println("adalah bukan bilangan prima");
        }

Artinya jika bilangan di mod(%) 2 atau jika hasil mod(%) 2 sama dengan 1 maka akan mengeluarkan hasil cetakan "adalah bilangan prima", akan tetapi jika kondisi tidak terpenuhi maka akan mengeluarkan cetakan "adalah bukan bilangan prima".

1. if-else
Statemen if dapat digunakan untuk menangani percaangan atau pemilihan yang terdiri atas 1, 2, atau lebih kondisi. Perhatikan source code berikut :

package bilanganprima;
import java.util.Scanner;
    public static void main(String[] args) {
       Scanner inayah = new Scanner(System.in);
      
       int angka;
        System.out.println("Masukkan angka : ");
         angka=inayah.nextInt();
        
            if (angka>20){
                System.out.println("No Command");
                        } 
            else if (angka <2){
                System.out.println("adalah bukan bilangan prima");
            }
            else if (angka ==2 || angka == 3 || angka == 5){
                System.out.println("adalah bilangan prima");
            }
            else if (angka % 2 == 0 || angka % 3 == 0 || angka % 5 == 0 ){
                System.out.println("adalah bukan bilangan prima");
            }
            else if (angka % 2 == 1 || angka % 3 == 1 || angka % 5 == 1){
                System.out.println("adalah bilangan prima");
            }
            else {
                System.out.println("adalah bukan bilangan prima");
            }
    }

}

Pada source diatas terdapat banyak kondisi dimana setiap kondisi akan dicek yang mana yang sesuai, apabila sudah pada kondisi pertama tidak memenuhi maka program akan mengecek lagi pada kondisi kedua, dan apabila kondisinya sesuai maka program akan langsung terhenti dengan mengeluarkan hasil output yang ada pada kondisi kedua, sehingga kondisi ke 3 dan seterusnya tidak perlu dieksekusi lagi atau dicek lagi. 

Nah biasanya bagi pemula terkadang disuruh untuk membuat flowchartnya, mengapa? karena flowchart ini yang akan menjadi pedoman kita sebelum memulai untuk membuat suatu program. Berikut adalah hasil flowchart dari source diatas.


2. Switch-case
Statemen switch merupakan statemen alternatif untuk melakukan pemilihan statemen, swlwksi kondisi switch ini akan sering kita gunakan jika dalam pemrograman kita terdapat pilihan, dan juga switch ini digunakan untun menyederhanakan kompleksitas if yang banyak mengandung kondisi. Untuk memahami lebih lanjut langsung saja saya berikan contoh source codenya

package besok_dan_lusa;
import java.util.Scanner;
    public static void main(String[] args) {
        Scanner masukan  = new Scanner(System.in);
        int Angka;
        System.out.println("ditentukan angka 0 sampai dengan angka 6 "
                + "adalah hari Minggu sampai hari Senin");
        System.out.println("Masukan angka yang diinginkan : ");
        Angka = masukan.nextInt();
        switch (Angka){
            case 0 :
                System.out.println("Besok adalah hari Senin");
                System.out.println("Lusa adalah hari Selasa");
                break;
            case 1 :
                System.out.println("Besok adalah hari Selasa");
                System.out.println("Lusa adalah hari Rabu");
                break;
            case 2 :
                System.out.println("Besok adalah hari Rabu");
                System.out.println("Lusa adalah hari Kamis");
                break;
            case 3 :
                System.out.println("Besok adalah hari Kamis");
                System.out.println("Lusa adalah hari Jumat");
                break;
            case 4 :
                System.out.println("Besok adalah hari Jumat");
                System.out.println("Lusa adalah hari Sabtu");
                break;
            case 5 :
                System.out.println("Besok adalah hari Sabtu");
                System.out.println("Lusa adalah hari Minggu");
                break;
            case 6 :
                System.out.println("Besok adalah hari Senin");
                System.out.println("Lusa adalah hari Selasa");
                break; 
        }
    }
}

Contoh source diatas cukup sederhana dan mudah dipahami, terdapat 6 case yang artinya tedapat 6 kondisi, jika kita menginput angka 4 maka case 4 akan dijalankan hingga menemukan kata break , jika dalam case 4 tidak terdapat kata break maka program akan berjalan terus hingga menemukan kata break. Maka dari itu setiap case diberi kata break sebagai batas proses pada suatu kondisi.

Gambaran flowchartnya sebagai berikut

Cukup mudah bukan? mungkin sekian dulu materi yang saya share apabila kalian ingin bertanya monggo dicoment atau ingin request materi apa yang harus saya share lagi ke kalian, semoga bermanfaat terima kasih.

Komentar