Operator dalam pemrograman digunakan untuk melakukan operasi tertentu.
Misalkan kita ingin menjumlahkan nilai dari variabel x
dan y
, maka
kita bisa menggunakan operator penjumlahan (+
).
x + y
Ada enam jenis kelompok operator dalam pemrograman Java:
- Operator Artimatika;
- Operator Penugasan;
- Operator Pembanding;
- Operator Logika;
- Operator Bitwise;
- dan Operator Ternary.
Bila digambarkan dalam mind map, akan terlihat seperti ini:
Ukuran penuh dari mind map ini dapat kamu lihat di: coggle.it
1. Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi aritmatika.
Operator ini terdiri dari:
Nama | Simbol |
---|---|
Penjumlahan | + |
Pengurangan | - |
Perkalian | * |
Pembagian | / |
Sisa Bagi | % |
Bagaimana cara pakainya?
Mari kita coba praktik…
Buatlah kelas baru bernama OperatorAritmatika, kemudian ikuti kode berikut:
import java.util.Scanner;
public class OperatorAritmatika {
public static void main(String[] args) {
int angka1;
int angka2;
int hasil;
Scanner keyboard = new Scanner(System.in);
System.out.print("Input angka-1: ");
angka1 = keyboard.nextInt();
System.out.print("Input angka-2: ");
angka2 = keyboard.nextInt();
// penjumlahan
hasil = angka1 + angka2;
System.out.println("Hasil = " + hasil);
System.out.print("Input angka-1: ");
angka1 = keyboard.nextInt();
System.out.print("Input angka-2: ");
angka2 = keyboard.nextInt();
// pengurangan
hasil = angka1 - angka2;
System.out.println("Hasil = " + hasil);
System.out.print("Input angka-1: ");
angka1 = keyboard.nextInt();
System.out.print("Input angka-2: ");
angka2 = keyboard.nextInt();
// perkalian
hasil = angka1 * angka2;
System.out.println("Hasil = " + hasil);
System.out.print("Input angka-1: ");
angka1 = keyboard.nextInt();
System.out.print("Input angka-2: ");
angka2 = keyboard.nextInt();
// Pembagian
hasil = angka1 / angka2;
System.out.println("Hasil = " + hasil);
System.out.print("Input angka-1: ");
angka1 = keyboard.nextInt();
System.out.print("Input angka-2: ");
angka2 = keyboard.nextInt();
// Sisa Bagi
hasil = angka1 % angka2;
System.out.println("Hasil = " + hasil);
}
}
Silahkan jalankan programnya:
2. Operator Penugasan
Operator penugasan (Assignment Operator) fungsinya untuk meberikan tugas pada variabel tertentu. Biasanya untuk mengisi nilai.
Contoh:
int a = 10;
Variabel a
ditugaskan untuk menyimpan nilai 10
.
Operator Penugasan terdiri dari:
Nama Operator | Sombol |
---|---|
Pengisian Nilai | = |
Pengisian dan Penambahan | += |
Pengisian dan Pengurangan | -= |
Pengisian dan Perkalian | *= |
Pengisian dan Pembagian | /= |
Pengisian dan Sisa bagi | %= |
Mari Kita Coba…
Sekarang, buatlah sebuah kelas baru beranama OperatorPenugasan.
Kemudian ikuti kode berikut:
public class OperatorPenugasan {
public static void main(String[] args) {
int a;
int b;
// Pengisian nilai
a = 5;
b = 10;
// penambahan
b += a;
// sekarang b = 15
System.out.println("Penambahan : " + b);
// pengurangan
b -= a;
// sekarang b = 10 (karena 15-5)
System.out.println("Pengurangan : " + b);
// perkalian
b *= a;
// sekarang b = 50 (karena 10*5)
System.out.println("Perkalian : " + b);
// Pembagian
b /= a;
// sekarang b=10
System.out.println("Pembagian : " + b);
// Sisa bagi
b %= a;
// sekarang b=0
System.out.println("Sisa Bagi: " + b);
}
}
Hasil outputnya:
3. Operator Pambanding
Sepeti namanya, tugas oprator ini untuk membandingkan.
Operator ini juga dikenal dengan opeartor relasi.
Nilai yang dihasilkan dari operator ini berupa boolean, yaitu: true
dan false
.
Operator ini terdiri dari:
Nama | Simbol |
---|---|
Lebih Besar | > |
Lebih Kecil | < |
Sama Dengan | == |
Tidak Sama dengan | != |
Lebih Besar Sama dengan | >= |
Lebih Kecil Sama dengan | <= |
contoh:
boolean x = 10 < 12
Maka x
akan bernilai true, karena 10
lebih kecil dari 12
.
Untuk lebih jelasnya…
Mari kita coba dalam kode
Buatlah sebuah kelas baru bernama OperatorPembanding. Kemudian ikuti kode berikut:
public class OperatorPembanding {
public static void main(String[] args) {
int nilaiA = 12;
int nilaiB = 4;
boolean hasil;
// apakah A lebih besar dari B?
hasil = nilaiA > nilaiB;
System.out.println(hasil);
// apakah A lebih kecil dari B?
hasil = nilaiA < nilaiB;
System.out.println(hasil);
// apakah A lebih besar samadengan B?
hasil = nilaiA >= nilaiB;
System.out.println(hasil);
// apakah A lebih kecil samadengan B?
hasil = nilaiA <= nilaiB;
System.out.println(hasil);
// apakah nilai A sama dengan B?
hasil = nilaiA == nilaiB;
System.out.println(hasil);
// apakah nilai A tidak samadengan B?
hasil = nilaiA != nilaiB;
System.out.println(hasil);
}
}
Kode program di atas, akan menghasilkan output seperti ini:
4. Operator Logika
Kalau kamu pernah belajar logika matematika, pasti tidak akan asing dengan operator ini.
Nama | Simbol di Java |
---|---|
Logika AND | && |
Logika OR | || |
Negasi/kebalikan | ! |
Operator Logika digunakan untuk membuat operasi logika.
Misalnya seperti ini:
- Pernyataan 1: Petani Kode seorang programmer
- Pernyattan 2: Petanikode menggunakan Linux
Jika ditanya, apakah Petani Kode programmer yang menggunakan Linux?
Tentu kita akan cek dulu kebenarannya
- Pernyataan 1: Petani Kode seorang programmer =
true
. - Pernyattan 2: Petanikode menggunakan Linux =
true
.
Apa petanikode programmer dan menggunakan Linux?
Pertnyataan 1 && Pernyataan 2 = true
Bingung?
Coba cek lagi tabel kebenaran untuk logika AND.
Pernyatan 1 | Pernytaan 2 | Logika AND |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
5. Operator Bitwise
Operator bitwise merupkan operator yang digunakan untuk operasi bit (biner). Operator bitwise terdiri dari:
Nama | Simbol di Java |
---|---|
AND | & |
OR | | |
XOR | ^ |
Negasi/kebalikan | ~ |
Left Shift | << |
Right Shift | >> |
Left Shift (unsigned) | <<< |
Right Shift (unsigned) | >>> |
Operator ini berlaku untuk tipe data int
, long
, short
, char
, dan byte
.
Operator ini akan menghitung dari bit-ke-bit.
Misalnya, kita punya variabel a = 60
dan b = 13
.
Bila dibuat dalam bentuk biner, akan menjadi seperti ini:
a = 00111100
b = 00001101
Kemudian, dilakukan operasi bitwise
Operasi AND
a = 00111100
b = 00001101
a & b = 00001100
Operasi OR
a = 00111100
b = 00001101
a | b = 00111101
Operasi XOR
a = 00111100
b = 00001101
a ^ b = 00110001
Opearsi NOT (Negasi/kebalikan)
a = 00111100
~a = 11000011
Konsepnya memang hampir sama dengan opeartor Logika. Bedanya, Bitwise digunakan untuk biner.
Untuk lebih jelasnya…
Mari kita coba dalam program
Buat kelas baru dengan nama OperatorBitwise
, kemudian ikuti isinya sebagai
berikut.
public class OperatorBitwise {
public static void main(String[] args) {
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b; /* 12 = 0000 1100 */
System.out.println("a & b = " + c);
c = a | b; /* 61 = 0011 1101 */
System.out.println("a | b = " + c);
c = a ^ b; /* 49 = 0011 0001 */
System.out.println("a ^ b = " + c);
c = ~a; /*-61 = 1100 0011 */
System.out.println("~a = " + c);
c = a << 2; /* 240 = 1111 0000 */
System.out.println("a << 2 = " + c);
c = a >> 2; /* 215 = 1111 */
System.out.println("a >> 2 = " + c);
c = a >>> 2; /* 215 = 0000 1111 */
System.out.println("a >>> 2 = " + c);
}
}
Perhatikanlah hasil outputnya:
6. Operator Ternary
Opertor ini unik, seperti membuat pertanyaan.
Simbolnya menggunakan tanda tanya (?
) dan titik-dua (:
) untuk memisah jawabannya.
Pada contoh di atas, “Kamu suka aku” adalah pertanyaan atau kondisi yang akan diperiksa.
Kalau jawabannya benar, maka iya
. Sebaliknya akan tidak
.
Lebih jelasnya, mari kita coba…
Program dengan Operator Ternary
Buatlah sebuah kelas baru dengan nama OperatorTernary
, kemudian ikuti kode
berikut.
public class OperatorTernary {
public static void main(String[] args) {
boolean suka = true;
String jawaban;
// menggunakan operator ternary
jawaban = suka ? "iya" : "tidak";
// menampilkan jawaban
System.out.println(jawaban);
}
}
Hasil outputnya:
iya
Sekarang coba ganti nilai variabel suka
menjadi false
, lalu dijalankan
lagi.
Pasti akan menghasilkan tidak
.
Cara lain, dapat juga membuat kondisi seperti ini:
int suka = 8;
String jawaban = (suka > 5) ? "iya" : "tidak";