Cari artikel di situs ini

Operator Pembanding, Boolean dan Kondisi

Versi ramah cetakVersi ramah cetak

Operator kondisi (conditional operator) menghasilkan nilai true atau false tergantung dari variabelnya, dalam hal ini operasinya dilakukan pada dua operand. Operator boolean adalah operator kondisi yang kedua operandnya berupa nilai boolean (true atau false), sedangkan Operator Pembanding membandingkan 2 nilai seperti pada operasi matematika.

Catatan : Pada objek, seperti String, operasi pembanding akan membandingkan alamat memory tempat objek itu disimpan, bukan membandingkan isinya. Untuk membandingkan isi String, gunakan equals(), equalsIgnoreCase(), dan compareTo() seperti dibahas pada bagian sebelumnya.

Simbol Nama operator Contoh
== Sama dengan b = (1 == 2);
!= Tidak sama dengan b = (1 == 2);
> Lebih besar b = (1 > 2);
>= Lebih besar atau sama dengan b = (1 >= 2);
< Lebih kecil b = (1 < 2);
<= Lebih kecil atau sama dengan b = (1 <= 2);
&& Conditional AND b = true && false;
|| Conditional OR b = true || false;
! NOT b = !true;
?: Bentuk pendek dari if-then-else

Operator boolean AND

Operator kondisi AND menghasilkan "true" apabila kedua operandnya bernilai "true". Jika salah satunya atau keduanya "false", operator ini menghasilkan "false". Berikut ini tabel kebenaran operasi AND.

Op1 atau Exp1 Op2 atau Exp2 Hasil
true true true
true false false
false true false
false false false

Operator && akan mengevaluasi Op2 (di sebelah kanan) HANYA jika operand 1 bernilai "true". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah kiri) bernilai "false", hasilnya akan selalu "false" tidak tergantung pada isi dari Op2.

Operator kondisi OR

Operator kondisi OR menghasilkan "true" jika salah satu operandnya bernilai "true". Jika keduanya "false", operator ini menghasilkan "false". Berikut ini table kebenaran oeprasi OR.

Op1 atau Exp1 Op2 atau Exp2 Hasil
true true true
true false true
false true true
false false false

Operator || akan mengevaluasi Op2 (di sebelah kanan) HANYA jika operand 1 bernilai "false". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah kiri) bernilai "true", hasilnya akan selalu "true" tidak tergantung pada isi dari Op2.

Operator NOT

Operator NOT ("!") melakukan operasi boolean NOT pada operand atau ekspresi tunggal. Operator ini mengecek nilai boolean dari suatu operand atau expresi kemudian membalik nilainya (dari true ke false atau false ke true). Berikut ini adalah tabel kebenaran operator NOT.

Op1 Hasil
true false
false true

Operator Ternary (?:) Java memiliki operator berkondisi lain yang disebut ternary "?:", yang pada dasarnya merupakan bentuk pendek dari if-then-else. Secara umum

kondisi ? jika_benar : jika_salah

Pada dasarnya operator "?:" akan mengevaluasi "kondisi". Apabila kondisi bernilai "true", operator akan mengembalikan "jika_benar", tetapi apabila "kondisi" bernilai "false", operator akan mengembalika "jika_salah". Misalnya

x = (1 > 2) ? 10 : 20

Dari contoh di atas, "x" akan memiliki nilai 20, karena ekspresi (1 > 2) adalah salah (atau "false").

Contoh kode program yang dapat Anda unduh dalam bentuk zip file atau melalui SVN di alamat berikut : http://belajarjava.googlecode.com/svn/trunk/OperatorKondisi

package operatorkondisi;
 
public class OperatorKondisi {
 
	/**
	 * Contoh program menggunakan operator kondisi
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		int x = 5;
		int y = 10, angka = 0;
		boolean bl = true;
		if((x == 5) && (x < y))
			System.out.println("Nilai x adalah " + x);
 
		if((x == y) || (y > 1))
			System.out.println("Nilai y lebih besar dari x");
		angka = bl ? x : y;
 
		System.out.println("Angka yang keluar adalah " + angka);
	}
}

Berikut adalah hasil keluarannya :

SisipanUkuran
OperatorKondisi-src.zip1.14 KB

Komentar

Mungkin ada kesalahan pengetikan pada tabel

!= Tidak sama dengan b = (1 == 2); mungkin seharusnya: != Tidak sama dengan b = (1 != 2);