ShortHand IfElse Java

ShortHand If Else di Java

Teknik ini juga akan mempersingkat penulisan coding Anda. Seperti berikut syntax-nya:
Kondisi_If ? Statement jika Kondisi If Benar : Statement jika Kondisi If Salah
Perhatikan contoh sederhana berikut.
/**
 *
 * @author Hafidz Muttiillah
 *
 * Contoh Sederhana Short Hand If Java
 *
 */
public class Main
{
    public static void main(String[] args)
    {
        int angka = 5;
        String hasil = (angka >= 5) ? "Lebih besar sama dengan 5" : "Lebih kecil dari 5";
        System.out.println("Hasil : "+hasil);
    }
}
Pada kode diatas, bisa Anda perhatikan bahwa angka berniai 5. Kemudian, variable hasil menggunakan short hand if else dimana, jika variable angka bernilai 5 atau lebih besar 5 maka, variable hasil akan bernilai "Lebih besar sama dengan 5" namun, jika variable angka bernilai dibawah 5 maka, variable hasil akan bernilai "Lebih kecil dari 5". Yang perlu Anda ingat di teknik ini ialah bahwa letak statement true terletak di sebelah kiri dari tanda titik dua(:), dan letak statement false terletak di sebelah kanan dari tanda titik dua(:). Gimana lumayan gampangkan? Coba Anda bandingkan kedua contoh program di bawah ini dimana, pada contoh pertama menggunakan gaya penulisan If Else biasa dan contoh kedua menggunakan gaya penulisan Short Hand If Else.
File : Contoh1.java
import java.util.Scanner;

/**
 *
 * @author Hafidz Muttiillah
 *
 * Contoh 1 : Menggunakan gaya penulisan If Else biasa
 *
 */

public class Contoh1
{
    public static void main(String[] args)
    {
        //  Objeck Scanner
        Scanner scan = new Scanner(System.in);
         
        //  Input nilai angka
        System.out.print("Masukkan nilai angka : ");    int nilai_angka = scan.nextInt();
         
        String hasil;
        //  Proses menentukan, apakah lulus atau tidak
        if(nilai_angka > 65)
        {
            hasil = "Selamat, Anda lulus.";
        }
        else
        {
            hasil = "Maaf, Anda gagal. Silakan coba lagi.";
        }
         
        //  Cetak hasil
        System.out.println("Hasil ujian Anda : "+hasil);
         
    }
}
Dan berikut contoh kedua menggunakan teknik Short Hand.
File : Contoh2.java
import java.util.Scanner;

/**
 *
 * @author Hafidz Muttiillah
 *
 * Contoh 2 : Menggunakan teknik short hand If Else
 *
 */

public class Contoh2
{
    public static void main(String[] args)
    {
        //  Objeck Scanner
        Scanner scan = new Scanner(System.in);
         
        //  Input nilai angka
        System.out.print("Masukkan nilai angka : ");    int nilai_angka = scan.nextInt();
         
        //  Proses menentukan, apakah lulus atau tidak
        String hasil = (nilai_angka > 65) ? "Selamat, Anda lulus." : "Maaf, Anda gagal. Silakan coba lagi";     
         
        //  Cetak hasil
        System.out.println("Hasil ujian Anda : "+hasil);
         
    }
}
Coba Anda perhatikan, pada kedua contoh diatas. Lihat baik - baik pada teknik penulisan If Else-nya. Gimana gampangkan cara membuatnya. Mungkin Anda belum terbiasa tapi, lama kelamaan mungkin akan bisa dengan sendirinya. Oya, saya rasa teknik short hand ini hanya bekerja pada kondisi If Else saja. Untuk kondisi If Else If belum pernah saya coba dan kalaupun bisa saya belum tahu gimana bentuk penulisannya dalam Short Hand.
Biar Anda lebih paham lagi, berikut saya beri contoh program Bubble Sort dengan menggunakan teknik Short Hand If Else.
import java.util.Scanner;

/**
 *
 * @author Hafidz Muttiillah
 *
 * Bubble Short menggunakan teknik Short Hand
 *
 */
public class Main
{
    public static void main(String[] args)
    {
        //  Data
        int[] data = {5, 9, 1, 2, 3};
         
        //  Tampilkan Data
        System.out.print("Data : ");
        for(int a = 0; a < data.length; a++)
            System.out.print(data[a]+" ");
         
        //  Proses Bubble Sort
        for(int a = 0; a < data.length; a++)
        {
            for(int b = 0; b < data.length-1; b++)
            {
                //  Gaya Penulisan If Else biasa
            /*  if(data[b] > data[b+1])
                {
                    int temp = data[b];
                    data[b] = data[b+1];
                    data[b+1] = temp;
                }   */
                 
                //  Gaya Penulisan Short Hand If Else
                int temp = (data[b] > data[b+1]) ? data[b] : data[b+1];
                data[b] = (temp == data[b]) ? data[b+1] : data[b];
                data[b+1] = (data[b] == data[b+1]) ? temp : data[b+1];

            }
        }
         
        //  Cetak output
        System.out.print("\nHasil Sorting : ");
        for(int a = 0; a < data.length; a++)
            System.out.print(data[a]+" ");
         
         
    }
}
Perhatikan pada contoh program Bubble Sort diatas. Hampir lupa, bahwa untuk menggunakan teknik Short Hand If Else harus menggunakan variable untuk menyimpan hasil pengkondisiannya. Lihat pada contoh-contoh sebelumnya. Saya selalu menggunakan variable untuk menyimpan value hasil dari pengkondisiannya. Pada contoh program Bubble Sort diatas pun saya menyimpannya dalam variable. Berikut sedikit penjelasan dari kode Short Hand If Else di program Bubble Sort diatas.
1. Pertama, cek kondisi apakah data ke-n lebih besar dari data ke-(n+1) atau (data-[n] > data-[n+1] ). Jika bernilai true, maka simpan nilai data[n] ke dalam variable temp. Kode ini, bisa Anda lihat pada kode "int temp = (data[b] > data[b+1]) ? data[b] : data[b+1];".
2. Kedua, cek kondisi apakah nilai temp sama dengan data[n]. Pada statement ini, Kondisi ini akan bernilai true jika pada kondisi sebelumnya(point 1) bernilai true. Jika kondisi ini bernilai true maka, simpan nilai data[n+1] ke dalam data[n]. Jika false, maka, nilainya tetap. Bisa Anda lihat pada kode "data[b] = (temp == data[b]) ? data[b+1] : data[b];".
3. Ketiga, cek kondisi apakah nilai data[n] sama dengan data[n+1]. Pada statement ini, Kondisi ini akan bernilai true jika pada kondisi sebelumnya(point 2) bernilai true. Jika kondisi ini bernilai true maka, simpan nilai variable temp kedalam data[b+1]. Jika false maka, nilainya tetap. Bisa Anda lihat pada kode "data[b+1] = (data[b] == data[b+1]) ? temp : data[b+1];".
4. Keempat, cetak hasilnya.

Komentar

Postingan Populer