Operator pada Java
Feny Rahayu
Berikut ini adalah macam-macam Opertor dalam Java
- Operator Aritmatika
+ = Operator penjumlahan (juga sebagai penyambung string)
- = Operator pengurangan
* = Operator perkalian
/ = Operator pembagian
% = Operator sisa pembagian
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian). Contoh penggunaan :
Simbol | Nama operator | Contoh penggunaan |
+ | Operator penjumlahan | n = n + 1; |
- | Operator pengurangan | n = n - 1; |
* | Operator perkalian | n = n * 1; |
/ | Operator pembagian | n = n / 1; |
% | Operator sisa pembagian | n = n % 1; |
+ | Operator penyambung String | n = "saya "+"tidur"; |
Contoh kode program
package operatoraritmatika;
public class OperatorAritmatika {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 2;
int y = 5;
int z = 3;
int g = 0;
g = x + y;
System.out.println("Penjumlahan (x+y) : " + g);
g = y - x;
System.out.println("Pengurangan (y-x) : " + g);
g = x * y;
System.out.println("Perkalian (x*y) : " + g);
g = y / x;
System.out.println("Pembagian (y/x) : " + g);
g = z % y;
System.out.println("Sisa pembagian (z%x) : " + g);
g = x + (y * (z/x));
System.out.println("Hasilnya sekarang : " + g);
}
}
+ = Operator plus; menyatakan nilai positif (setiap angka tanpa tanda ini akan dianggap sebagai positif) - = Operator minus; menyatakan nilai negatif, dapat pula digunakan untuk menegatifkan suatu bilangan ++ = Operator kenaikan; menambah suatu bilangan dengan 1 -- = Operator penurunan; mengurangkan suatu bilangan dengan 1 ! = Operator lawan; membalik nilai suatu boolean Operator tunggal hanya membutuhkan satu operan untuk melakukan operasinya. Operator ini tidak dapat digunakan untuk variabel final, karena variabel final berupa konstanta yang tidak dapat diubah-ubah. Beberapa jenis operator tunggal diberikan pada tabel di bawah ini.
Operator kenaikan dan penurunan dapat diletakkan di belakang atau di depan suatu variabel. Jika diletakkan di depan (++x atau --x), penambahan/pengurangan dilakukan sebelumnya, sedangkan apabila diletakkan di akhir (x++ atau x--) penambahan/pengurangan dilakukan setelahnya. Walau bagaimanapun pada akhirnya keduanya akan menghasilkan x = x+1 atau x = x-1. |
- Operator Pembanding, Boolean dan Kondisi
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").
- Operator Pemberi Nilai & Type Casting
Operator merupakan simbol untuk melakukan perhitungan atau suatu operasi pada satu atau lebih dari satu hal. Setelah kita mendeklarasi dan mengisi suatu variabel, kita dapat menggunakan operator untuk melakukan beberapa hal seperti penambahan, pengurangan dan sebagainya.
Operator Pemberi Nilai
= Operator pemberi nilai Operator penugasan dan pemberian nilai merupakan operator yang paling umum dalam semua bahasa pemrograman.
Operator ini dilambangkan dengan "=" yang digunakan untuk memberikan nilai kepada suatu variabel di sebelah kiri operator. Jika variabel tersebut telah memiliki nilai, nilainya akan diganti dengan variabel atau angka di sebelah kanan operator.
Operator ini dilambangkan dengan "=" yang digunakan untuk memberikan nilai kepada suatu variabel di sebelah kiri operator. Jika variabel tersebut telah memiliki nilai, nilainya akan diganti dengan variabel atau angka di sebelah kanan operator.
Operator ini juga dapat digunakan untuk memberikan referensi kepada suatu objek.
Beberapa contoh :
String nama = "Budi";
boolean dewasa = true;
// buat objek baru
Shape s1 = new Shape();
// beri referensi s1 kepada s2
Shape s2 = s1;
// nilai sebelumnya diganti
dewasa = false;
Dapat juga memberikan nilai kepada beberapa variabel secara bersamaan. Misalnya :
x = y = z = 2;
x = (y + z);
Operator "=" dievaluasi dari kanan ke kiri. Pada ekspresi pertama, angka 2 diberikan kepada "z", kemudian nilai yang disimpan "z" diberikan kepada "y", dan kemudian "y" ke "x" secara bersamaan. Pada ekspresi kedua, nilai hasil evaluasi pertambahan dimasukkan ke variabel "x".
Pada dasarnya, kedua sisi tanda "=" harus memiliki tipe yang sama. Misalnya x = A, x dan A harus memiliki tipe yang sama. Bagaimana jika tidak, misalnya
int A;
short B;
A = 17;
B = (short)A;
Pada kode di atas, B akan mengambil nilai A yang sudah dikonversi ke tipe short. Tanda (short) dalam kurung artinya menginstruksikan Java untuk mengubah nilai A menjadi short sebelum diberikan kepada B.
Perubahan tipe ini disebut type casting. Kita bisa mengubah tipe apa saja, tetapi karena rentang tiap tipe berbeda, maka nilainya belum tentu sama dengan nilai aslinya. Misalnya (short)100000 adalah -31072.
Untuk perubahan tipe dari bilangan real (float atau double) ke bilangan bulat, Java melakukan type casting dengan memangkas desimalnya. Jadi 3.56 akan diubah menjadi 3 dalam bilangan bulat.
Nilai char juga bisa diubah ke dalam bilangan bulat, yaitu dengan menggantinya dengan bilangan Unicode-nya.
Selain operasi "=", Java juga memiliki operator pemberian nilai beruntun, dan dapat digunakan oleh semua operator aritmatika, manipulasi bit, atau pergeseran bit. Misalnya pada ekspresi berikut, nilai "x" akan dijumlahkan dengan 2, kemudian hasilnya disimpan kembali ke "x".
x += 2;
Table berikut menunjukkan semua operator pemberian nilai yang dapat Anda gunakan sehingga kode Anda menjadi lebih efisien dan mudah dibaca.
Operator | Contoh | Ekspresi setara |
+= | x += y; | x = (x + y); |
-= | x -= y; | x = (x - y); |
*= | x *= y; | x = (x * y); |
/= | x /= y; | x = (x / y); |
%= | x %= y; | x = (x % y); |
&= | x &= y; | x = (x & y); |
|= | x |= y; | x = (x | y); |
^= | x ^= y; | x = (x ^ y); |
< <= | x < <= y; | x = (x < < y); |
>>= | x >>= y; | x = (x >> y); |
>>>= | x >>>= y; | x = (x >>> y); |
Contoh kode program :
package operatorpemberinilai;
public class OperatorPemberiNilai {
/**
* Contoh program menggunakan operator pemberi nilai (assignment operator)
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 5;
int y = 10;
x += y;
System.out.println("Hasil penjumlahan : " + x);
x -= y;
System.out.println("Hasil pengurangan : " + x);
x *= y;
System.out.println("Hasil perkalian : " + x);
x /= y;
System.out.println("Hasil pembagian : " + x);
x %= y;
System.out.println("Sisa pembagian : " + x);
x &= y;
System.out.println("Hasil operasi AND : " + x);
x |= y;
System.out.println("Hasil operasi OR : " + x);
x <<= y;
System.out.println("Hasil operasi pergeseran bit ke kiri :"+ x);
}
}
Sekian, Semoga Bermanfaat :)
1 komentar:
June 18, 2012 at 11:38 AM
ajarin q buat tema blog kyak gini dong ya .,..,soalnya bgus amat nich tampilan blog .,.