BENTUK STRUKTUR KASUS

Bentuk Struktur Kasus (percabangan)

Kalau kita perhatikan, alur pengeksekusian sebuah kode program dikerjakan satu per satu dari atas sampai ke bawah. Baris demi baris dibaca, kemudian komputer mengerjakan apa yang diperintahkan.

misalnya seperti ini:
Alur porgram tanpa percabangan 

Alur programnya satu, tidak ada belokan atau percabangan.
Ngomong-ngomong apa itu percabangan?

Percabangan hanyalah sebuah istilah yang digunakan untuk menyebut alur program yang bercabang.
Percabangan juga dikenal dengan “Control Flow”, “Struktur Kondisi”, “Struktur IF”, “Decision”, dsb. Semuanya itu sama.
Pada diagram alur (Flow Chart) seperti di atas, alurnya memang satu.
Tapi setelah kita menggunakan percabangan, alurnya akan bertambah menjadi seperti ini.

Flowchart Percabangan 

Lalu bagaimana cara menulis kode percabangan dalam Java?
Caranya: menggunakan kata kunci if, else, switch, dan case, dan operator ternary.
Contoh format stuktur IF seperti ini:
if( suatu_kondisi ) {
    // lakukan sesuatu kalau kondisi benar
    // Lakukan ini juga
}

suatu_kondisi hanya bernilai true/false saja. Kita bisa gunakan operator relasi dan logika di sini.
Untuk lebih jelasnya, nanti akan kita bahas.
Sebelumnya, kamu perlu tahu dulu tiga bentuk percabangan pada Java:
  1. Percabangan IF
  2. Percabangan IF/ELSE
  3. Percabangan IF/ELSE/IF atau SWITCH/CASE
Mari kita bahas satu per satu…

Percabangan IF

Percabangan ini hanya memiliki satu pilihan. Artinya, pilihan di dalam IF hanya akan dikerjakan kalau kondisinya benar.
Percabangan IF
Tapi kalau salah… tidak akan melakukan apa-apa. Alias lanjut eksekusi ke perintah berikutnya.


1. Percabangan IF/ELSE

Sedangkan percabangan IF/ELSE memiliki pilihan alternatif kalau kondisinya salah.
IF: “Jika kondisi benar maka kerjakan ini, kalau tidak silahkan lanjut”
IF/ESLE: “Jika kondisi benar maka kerjakan ini, kalau salah maka kerjakan yang itu, setelah itu lanjut”
Perbedaan percabangan IF dengan IF/ELSE
Begitulah perbedaan IF dengan IF/ELSE.
Sekarang mari kita coba dalam kode program…

Program Cek Kelulusan

Misalkan, kalau nilai siswa lebih besar dari 70, maka ia dinyatakan lulus. Kalau tidak, maka dia gagal.
Programnya bisa kita buat seperti ini:
import java.util.Scanner;

public class CekKelulusan {

    public static void main(String[] args) {

        // membuat variabel dan Scanner
        int nilai;
        String nama;
        Scanner scan = new Scanner(System.in);

        // mengambil input
        System.out.print("Nama: ");
        nama = scan.nextLine();
        System.out.print("Nilai: ");
        nilai = scan.nextInt();

        // cek apakah dia lulus atau tidak
        if( nilai >= 70 ) {
            System.out.println("Selemat " + nama + ", anda lulus!");
        } else {
            System.out.println("Maaf " + nama + ", anda gagal");
        }

    }

}
Hasil outputnya:
Hasil output program tes kelulusan
Cobalah untuk merubah nilai yang dimasukkan dan perhatikan apa yang akan terjadi.

2. Percabangan IF/ELSE dengan Operator Ternary

Selain menggunakan struktur seperti di atas, percahangan ini juga dapat menggunakan operator ternary.
Seperti yang sudah kita pelajari pada pembahasan tentang operator. Operator ternary memiliki konsep yang sama seperti percabganan IF/ELSE.
Ilustraisi operator ternary
Contoh programnya:
public class OperatorTernary {
    public static void main(String[] args) {

        boolean suka = true;
        String jawaban;

        // menggunakan operator ternary
        jawaban = suka ? "iya" : "tidak";

        // menampilkan jawaban
        System.out.println(jawaban);

    }


3. Percabangan IF/ELSE/IF dan SWITCH/CASE

Jika percabangan IF/ESLE hanya memiliki dua pilihan saja. Maka percahangan IF/ELSE/IF memiliki lebih dari dua pilihan.
Formatnya seperti ini:
if (suatu kondisi) {
    // maka kerjakan ini
    // kerjakan perintah ini juga
    // …
} else if (kondisi lain) {
    // kerjakan ini
    // kerjakan ini juga
    // …
} else if (kondisi yang lain lagi) {
    // kerjakan perintah ini
    // kerjakan ini juga
    // …
} esle {
    // kerjakan ini kalau
    // semua kondisi di atas
    // tidak ada yang benar
    // …
}
Coba perhatikan contohnya:

Jika nilainya lebih besar dari 90, maka grade-nya “A”. Sedangkan kalau lebih besar dari 80, maka “B+”. Lebih besar dari 70, maka “B”, dan seterusnya.
Lebih jelasnya, mari kita buat program.

Program HitungGrade

Silahkan buat sebuah class baru bernama HitungGrade, kemudian ikuti kode program berikut.
import java.util.Scanner;

public class HitungGrade {
    public static void main(String[] args) {

        // membuat variabel dan scanner
        int nilai;
        String grade;
        Scanner scan = new Scanner(System.in);

        // mengambil input
        System.out.print("Inputkan nilai: ");
        nilai = scan.nextInt();

        // higung gradenya
        if ( nilai >= 90 ) {
            grade = "A";
        } else if ( nilai >= 80 ){
            grade = "B+";
        } else if ( nilai >= 70 ){
            grade = "B";
        } else if ( nilai >= 60 ){
            grade = "C+";
        } else if ( nilai >= 50 ){
            grade = "C";
        } else if ( nilai >= 40 ){
            grade = "D";
        } else {
            grade = "E";
        }

        // cetak hasilnya
        System.out.println("Grade: " + grade);
    }
}
Hasil outputnya:

Hasil output program hitung grade

Menggunakan Operator Logika dalam Percabangan

Operator logika dalam percabangan sebenarnya bisa membuat percabangan menjadi lebih singkat.
Misal ada program Tilang dengan logika seperti ini:
public class Tilang {
    public static void main(String[] args) {
        boolean SIM = false;
        boolean STNK = true;

        // cek apakah dia akan ditilang atau tidak
        if(SIM == true){
            if( STNK == true ) {
                System.out.println("Tidak ditilang!");
            }
        } else {
            System.out.println("Anda ditilang!");
        }
    }
}
Perhatikan: di sana kita menggunakan percabangan bersarang untuk mengecek, apakah dia ditilang atau tidak.
Hal ini sebenarnya bisa disingkat dengan operator logika, sehingga menjadi seperti ini:
public class Tilang {
    public static void main(String[] args) {
        boolean SIM = false;
        boolean STNK = true;

        // cek apakah dia akan ditilang atau tidak
        if(SIM == true && STNK == true){
            System.out.println("Tidak ditilang!");
        } else {
            System.out.println("Anda ditilang!");
        }
    }
}
Pada kode di atas, kita menggunakan operator AND (&&).
Karena logikanya: Si pengendara tidak akan ditilang kalau punya SIM dan STNK.

Comments

Popular posts from this blog

RECOVERY DATA

VGA