ShortHand If Else di Java

advertisement
ShortHand If Else di Java
Oleh: Yudi Setiawan
Maksud dari Short Hand di sini ialah penulisan singkat dari statement If
Else di java. Tidak hanya di Java, di PHP pun Anda juga bisa
menerapkannya hanya saja mungkin agak sedikit berbeda penulisannya.
Dengan trik ini mungkin akan lebih mempercantik penulisan coding Anda
dan lebih berbeda. Selain itu,...
Maksud dari Short Hand di sini ialah penulisan singkat dari statement If Else di java. Tidak hanya di
Java, di PHP pun Anda juga bisa menerapkannya hanya saja mungkin agak sedikit berbeda
penulisannya. Dengan trik ini mungkin akan lebih mempercantik penulisan coding Anda dan lebih
berbeda. Selain itu, 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 Yudi Setiawan
*
* 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 Yudi Setiawan
*
* 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 : ");
nilai_angka = scan.nextInt();
int
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 Yudi Setiawan
*
* 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 : ");
nilai_angka = scan.nextInt();
int
//
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 Yudi Setiawan
*
* 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.
Tentang Penulis
Yudi Setiawan
Saat ini aktif sebagai Mahasiswa di salah satu Universitas di kota Medan
dengan mengambil bidang Fakultas Teknik dan Ilmu Komputer. Sangat
senang dengan bahasa pemrograman Java dan Android.
Download