Repositori pembelajaran mata kuliah pemrograman Java
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:
Bila digambarkan dalam mind map, akan terlihat seperti ini:
Operator aritmatika digunakan untuk melakukan operasi aritmatika.
Operator ini terdiri dari:
Nama | Simbol |
---|---|
Penjumlahan | + |
Pengurangan | - |
Perkalian | * |
Pembagian | / |
Sisa Bagi | % |
Contoh pemakaian:
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);
}
}
Output program:
Mari kita coba contoh kasus lain: Program menghitung keliling persegi panjang.
public class KelilingPersegiPanjang {
public static void main(String[] args) {
//deklarasi
double keliling, p, l;
//input
p = 6.0;
l = 3.0;
//proses
keliling = (2*p) + (2*l);
//output
System.out.println(keliling);
}
}
Operator penugasan (Assignment Operator) fungsinya untuk memberikan 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 | Symbol |
---|---|
Pengisian Nilai | = |
Pengisian dan Penambahan | += |
Pengisian dan Pengurangan | -= |
Pengisian dan Perkalian | *= |
Pengisian dan Pembagian | /= |
Pengisian dan Sisa bagi | %= |
Pelajari penggunaan operator penugasan pada contoh program 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:
Penambahan : 15
Pengurangan : 10
Perkalian : 50
Pembagian : 10
Sisa Bagi : 0
Seperti namanya, tugas operator ini untuk membandingkan. Operator ini juga dikenal dengan operator 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);
}
}
output:
false
true
false
false
true
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
: Budi seorang programmerPernyattan 2
: Budi menggunakan Linux
Jika ditanya, apakah Budi programmer yang menggunakan Linux?Tentu kita akan cek dulu kebenarannya
Pernyataan 1
: Budi seorang programmer = true
.Pernyattan 2
: Budi menggunakan Linux = true
.Apa Budi programmer dan menggunakan Linux?
Pernyataan 1
&& Pernyataan 2
= true
Coba cek lagi tabel kebenaran untuk logika AND.
Pernyatan 1 | Pernyataan 2 | Logika AND |
---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
Coba pelajari program berikut:
public class OperatorLogika {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
boolean c;
// AND
c = a && b;
System.out.println("true && false = "+c);
// OR
c = a || c;
System.out.println("true || false = "+c);
// NOT
System.out.println("NOT, !true"+!a);
}
}
output:
true && false = false
true && false = true
NOT, !true = false
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
Jika digambarkan, operasi bitwise adalah sebagai berikut:
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 jelasny pelajari program 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:
a & b = 112
a | b = 1
a & b = 49
~a = -61
a << 2 240
a >> 2 = 15
a >>> 2 = 15
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 ya. Sebaliknya akan tidak.
Lebih jelasnya, pelajari program 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";
Referensi: