Operator Dalam Java
Operator Dalam Java
Pagi sobat blogger, kali ini saya mau ngepost operator-operator yang ada dalam pemrograman
menggunakan Java. Sebenarnnya apa sih operator itu? Operator adalah suatu tanda atau simbol yang
dipakai untuk menyatakan suatu operasi atau manipulasi nilai. Contohnya adalah operasi penambahan
dipresentasikan dengan tanda +, pengurangan dipresentasikan dengan tanda -, dan sebagainya. Sedangkan
operan adalah nilai yang dilibatkan didalamnya.
Bentuk operator
Berkenaan dengan banyaknya operan yang dilibatkan oleh ope maka operator dapat diklasifikasikan
menjadi bentuk yaitu :
1. Unary operator >> dengan 1 operan
2. Binary operator >> dengan 2 operan
3. Ternary operator >> dengan 3 operan
Jenis operator
Java menyediakan
bebagai jenis operator. Macam-macam operator ini mempunyai fungsi yang berbeda. Berbagai
jenis operator ini dapat diklasifikasikan sebagai berikut :
Operator Aritmatika
Arithmatic operator (operator aritmatika) adalah operator yang berfungsi untuk
operasi aritmatika. Lihat tabel dibawah ini.
Example :
class Arithmatic {
public static void main(String[] args) {
int a = 20;
int b = 10;
System.out.println("Arithmatic Operator");
System.out.println("First value of : "+a);
System.out.println("First value of: "+b);
System.out.println("Result of a + b = " +(a + b));
System.out.println("Result of a -b = " +(a -b));
System.out.println("Result of a / b = " +(a / b));
System.out.println("Result of a * b = " +(a * b));
System.out.println("Result of a % b = " +(a % b));
}
}
Output :
Operator Increment dan Decrement
Operator Increment dan Decrement digunakan untuk menaikan atau menurunkan suatu nilai integer (bilangan
bulat) sebanyak satu satuan, dan hanya dapat digunakan pada variabel. Ada dua versi operator increment
maupun decrement, yaitu prefix dan postfix. Prefix berarti operator digunakan sebelum variabel atau ekspresi,
dan postfix berarti operator digunakan sesudahnya. Penjelasan selengkapnya yaitu:
Example :
class IncrementDecrement{
public static void main (String[] args){
int i = 1;
System.out.println("i : " + i);
System.out.println("++i : " + ++i);
System.out.println("i++ : " + i++);
System.out.println("i : " + i);
System.out.println("--i : " + --i);
System.out.println("i--: " + i--);
System.out.println("i : " + i);
}
}
Output :
Operator Assingment
Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah variabel. Operator
assignment hanya berupa ‘=’, namun selain itu dalam Java dikenal beberapa shortcut assignment operator
yang penting, yang digambarkan dalam tabel berikut :
Example :
class Assignment {
public static void main(String[] args) {
int var = 10;
int a,b,c;
a = b = c = 100;
int d,e,f;
f = 200;
e = f;
d = e;
System.out.println("Value of var : " + var);
System.out.println("value of a : " + a);
System.out.println("value of b : " + b);
System.out.println("value of c : " + c);
System.out.println("value of f : " + f);
System.out.println("value of e : " + e);
System.out.println("value of d : " + d);
int z;
char text = 'a'; // on Unicode character 'a' is presented with
97
z = text * 100; // z = 97 * 10;
System.out.println("value of text1 : " + text);
System.out.println("value of z : " + z);
}
}
Output :
Operator Relasi
Operator relasi dalam Java digunakan untuk menghasilkan nilai boolean yang sering digunakan untuk
mengatur alur jalannya sebuah program.
Example :
class Relation{
public static void main(String[] args) {
int a,b,c;
a = 100;
b = 99;
c = 99;
System.out.println("value of a = "+a);
System.out.println("value of b = "+b);
System.out.println("value of c = "+c);
if(b == c ){
System.out.println("b equal c");
}else {
System.out.println("b not equal c");
}
if(a != b ){
System.out.println("a not equal b");
}else {
System.out.println("a equal b");
}
if(a > b ){
System.out.println("a more than b");
}else {
System.out.println("a less than b");
}
if(b < a ){
System.out.println("b less than a");
}else {
System.out.println("b more than a");
}
if(a >= b ){
System.out.println("a more than or equal b");
}else {
System.out.println("a less than or equalb");
}
if(b <= a ){
System.out.println("b less than or equal a");
}else {
System.out.println("b more than or equal a");
}
}
}
Output :
Operator Logika
Operator ini digunakan untuk ekspresi logik yang menghasilkan nilai boolean. Operator-operator yang
digunakan adalah AND ( && ), OR ( ¦ ¦ ) dan NOT ( ! ).
a b a||b a && b
true true true true
true false true false
false true true false
false false false false
Example :
class Logic{
public static void main(String[] args) {
boolean _true = true;
boolean _false = false;
Bitwise Operator
Bitwise operator adalah operator yang dipakai untuk operasi bit pada nilai operan. Operator yang digunakan
untuk memanippulasi bit.
1. Bitwise AND
Bitwise AND akan menghasilkan bit “1”, jika kedua operan bernilai bit “1”. Operasi bitwise AND dapat
digambarkan sebagai berikut :
a b a&b
0 0 0
0 1 0
1 0 0
1 1 1
2. Bitwise OR
Bitwise OR akan menghasilkan bit “1”, jika salah satu operan bernilai bit “1”. Operasi bitwise OR dapat
digambarkan sebagai baerikut :
a b a&b
0 0 0
0 1 1
1 0 1
1 1 1
3. Bitwise XOR (Exclusive OR)
Bitwise XOR akan menghasilkan bit “1”, jika kedua operan memiliki nilai bit yang berbeda. Operasi bitwise
XOR dapat digambarkan sebagai berikut :
a b a&b
0 0 0
0 1 1
1 0 1
1 1 1
4. Bitwise Complement
Bitwise Complement akan menghasilkan bit yang berlawanan dengan bit yang dioperasikan. Operasinya dapat
digambarkan sebagai berikut :
Example :
class Bitwise{
public static void main(String[] args) {
int x,y;
x = ~100;
System.out.println("value of inverse of x : "+x);
x = 17 & 30;
System.out.println("value of and : "+x); x = 17 | 30;
System.out.println("value of or : "+x); x = 17 ^ 30;
System.out.println("value of xor : "+x); x = 111; y = x >> 1;
System.out.println("value of right shift : "+x); x = -111; y = x >>
1;
System.out.println("value of right shift neg : "+x); x = 111; y = x
>>> 1;
System.out.println("value of right shift 1 bit 0 : "+x); x = -111; y
= x >>> 1;
System.out.println("value of right shift 1 bit 0 neg : "+x); x =
111; y = x << 1;
System.out.println("value of left shift : "+x); x = 1000; y = x <<
1;
System.out.println("value of left shift : "+x);
}
}
Output :
Boolean Operator
Boolean operator (operator boolean) adalah operator yang mengharuskan operannya bertipe boolean (true atau
false).
Logic operator Description
! negation (not)
& AND
| OR
^ XOR
&& AND (short circuit)
|| OR (short circuit)
Operator !, &, | dan ^ mempunyai implementasi yang sama sebagaimana ketika ia menjadi bitwise operator.
Hanya saja di logical operator, operan yang dilibatkan disini harus bertipe boolean, yang hanya mempunyai
nilai true atau false.
Huuuuuuuffttt, entah berapa bulan nih saya gak nulis di blog lagi… Biasa, karena kesibukan
*alesan*… Nah, di penghujung tahun 2011 ini saya menyempatkan diri buat nulis. Yang simple
aja yaitu tentang perbedaan &&, ||, & dan | di Java…
Okay, bagi yang sudah terbiasa menggunakan java. Tentunya sudah mengetahui hal ini. Ya,
tanda2 tersebut biasa digunakan untuk ekspresi logika (Bahasa kerennya sih Logical Expression).
Tapi bagi yang pernah menggunakan java tapi masih kurang paham, biasanya yang sering
digunakan adalah && dan ||. Nah untuk lebih jelasnya mari kita lihat perbedaannya.
Operator yang satu ini digunakan untuk perbandingan kondisi AND. Akan menghasilkan true
jika kedua kondisi true. Operator di jalankan dari kiri ke kanan. Selain itu yang perlu
diperhatikan adalah bahwa && merupakan short-circuit operator. Short circuit operator disini
maksudnya adalah jika kondisi yang kiri bernilai false, maka operasi yang kanan tidak akan di
jalankan, karena sudah pasti hasilnya akan false. Berikut ini contohnya:
|| (Logical OR)
Operator || digunakan untuk perbandingan kondisi OR. Akan menghasilkan true jika salah
satunya bernilai true. Operator ini dijalankan dari kiri ke kanan dan juga termasuk short-circuit
operator. Short-circuit operator disini maksudnya adalah jika kondisi yang kiri bernilai true,
makan operasi yang kanan tidak dijalankan, sebab sudah pasti hasilnya true. Contohnya:
Operator & bisa berfungsi sebagai conditional operator atau bisa juga berfungsi sebagai operator
bit pada bilangan. Jika berfungsi sebagai conditional operator, maka tidak berlaku fungsi short-
circuit, akibatnya operator kiri dan kanan pasti akan di evaluasi apapun kondisinya. Contoh
sebagai conditional operator sebagai berikut:
0101 (decimal 5)
AND 0011 (decimal 3)
= 0001 (decimal 1)
Nah, yang terakhir ini adalah operator | yang berfungsi sebagai conditional operator atau bisa
juga berfungsi sebagai bit pada bilangan. Jika berfungsi sebagai conditional operator, maka tidak
berlaku fungsi short-circuit, akibatnya operator kiri dan kanan pasti akan di evaluasi apapun
kondisinya. Contoh sebagai conditional operator sebagai berikut:
0101 (decimal 5)
OR 0011 (decimal 3)
= 0111 (decimal 7)
Kesimpulan:
Nah, untuk lebih memperdalam pendalaman tentang operator2 diatas, bisa coba mengeksekusi
source code dibawah ini:
Referensi:
Liguori, Robert., Finegan, Edward. (2010). SCJA Sun® Certified Java™ Associate Study Guide.
New York: Mc Graw Hill.
Huuuuuuuffttt, entah berapa bulan nih saya gak nulis di blog lagi… Biasa, karena kesibukan
*alesan*… Nah, di penghujung tahun 2011 ini saya menyempatkan diri buat nulis. Yang simple
aja yaitu tentang perbedaan &&, ||, & dan | di Java…
Okay, bagi yang sudah terbiasa menggunakan java. Tentunya sudah mengetahui hal ini. Ya,
tanda2 tersebut biasa digunakan untuk ekspresi logika (Bahasa kerennya sih Logical Expression).
Tapi bagi yang pernah menggunakan java tapi masih kurang paham, biasanya yang sering
digunakan adalah && dan ||. Nah untuk lebih jelasnya mari kita lihat perbedaannya.
Operator yang satu ini digunakan untuk perbandingan kondisi AND. Akan menghasilkan true
jika kedua kondisi true. Operator di jalankan dari kiri ke kanan. Selain itu yang perlu
diperhatikan adalah bahwa && merupakan short-circuit operator. Short circuit operator disini
maksudnya adalah jika kondisi yang kiri bernilai false, maka operasi yang kanan tidak akan di
jalankan, karena sudah pasti hasilnya akan false. Berikut ini contohnya:
|| (Logical OR)
Operator || digunakan untuk perbandingan kondisi OR. Akan menghasilkan true jika salah
satunya bernilai true. Operator ini dijalankan dari kiri ke kanan dan juga termasuk short-circuit
operator. Short-circuit operator disini maksudnya adalah jika kondisi yang kiri bernilai true,
makan operasi yang kanan tidak dijalankan, sebab sudah pasti hasilnya true. Contohnya:
Operator & bisa berfungsi sebagai conditional operator atau bisa juga berfungsi sebagai operator
bit pada bilangan. Jika berfungsi sebagai conditional operator, maka tidak berlaku fungsi short-
circuit, akibatnya operator kiri dan kanan pasti akan di evaluasi apapun kondisinya. Contoh
sebagai conditional operator sebagai berikut:
0101 (decimal 5)
AND 0011 (decimal 3)
= 0001 (decimal 1)
Nah, yang terakhir ini adalah operator | yang berfungsi sebagai conditional operator atau bisa
juga berfungsi sebagai bit pada bilangan. Jika berfungsi sebagai conditional operator, maka tidak
berlaku fungsi short-circuit, akibatnya operator kiri dan kanan pasti akan di evaluasi apapun
kondisinya. Contoh sebagai conditional operator sebagai berikut:
0101 (decimal 5)
OR 0011 (decimal 3)
= 0111 (decimal 7)
Kesimpulan:
Nah, untuk lebih memperdalam pendalaman tentang operator2 diatas, bisa coba mengeksekusi
source code dibawah ini:
Referensi:
Liguori, Robert., Finegan, Edward. (2010). SCJA Sun® Certified Java™ Associate Study Guide.
New York: Mc Graw Hill.