02 - Operator dan Ekspresi
Pengantar operator dan ekspresi dalam pemrograman Java.
Operator adalah simbol yang melakukan operasi pada variabel dan nilai. Mereka adalah "kata kerja" dalam pemrograman - mereka membuat sesuatu terjadi!
Operator Aritmatika
Digunakan untuk perhitungan matematika:
int a = 10;
int b = 5;
int sum = a + b; // Penjumlahan: 15
int difference = a - b; // Pengurangan: 5
int product = a * b; // Perkalian: 50
int quotient = a / b; // Pembagian: 2
int remainder = a % b; // Modulus (sisa bagi): 0Saat membagi bilangan bulat (integer), Java melakukan pembagian integer, yang berarti Java membuang bagian desimalnya. Contohnya, 7 / 2 akan menghasilkan 3, bukan 3.5.
int x = 7 / 2; // 3 (bukan 3.5!) - Pembagian integer
double y = 7.0 / 2; // 3.5 - Setidaknya satu tipe double menghasilkan hasil double
double z = (double) 7 / 2; // 3.5 - Casting juga bisa digunakanModulus (%) - Operator Sisa Bagi
Operator modulus mengembalikan sisa dari operasi pembagian:
int remainder = 10 % 3; // 1 (karena 10 dibagi 3 adalah 3 dengan sisa 1)Operator Penugasan Majemuk (Compound Assignment)
Operator ini menggabungkan operasi aritmatika dengan penugasan:
int a = 10;
a = a + 5; // Cara lama
a += 5; // a = a + 5
a -= 3; // a = a - 3
a *= 2; // a = a * 2
a /= 4; // a = a / 4
a %= 3; // a = a % 3Operator Increment dan Decrement
Digunakan untuk menambah atau mengurangi nilai variabel sebesar 1:
int a = 5;
a++; // Increment: a menjadi 6
a--; // Decrement: a menjadi 5 lagiint a = 5;
int b = a++; // b adalah 5, a sekarang 6
int c = ++a; // a adalah 7, c sekarang 7Operator Perbandingan
Digunakan untuk membandingkan dua nilai, mengembalikan hasil boolean (true atau false):
int a = 10;
int b = 5;
a == b // false - Sama dengan
a != b // true - Tidak sama dengan
a > b // true - Lebih besar dari
a < b // false - Kurang dari
a >= b // true - Lebih besar dari atau sama dengan
a <= b // false - Kurang dari atau sama denganOperator Logika
Digunakan untuk menggabungkan beberapa ekspresi boolean:
boolean x = true;
boolean y = false;
x && y // false - Logika AND (DAN)
x || y // true - Logika OR (ATAU)
!x // false - Logika NOT (BUKAN/KEBALIKAN)Menggabungkan Operator Logika
boolean result = (a > b) && (b < 10); // // true jika kedua kondisi benarPenggabungan String (Concatenation)
Operator + juga dapat digunakan untuk menggabungkan (concatenate) string:
String greeting = "Hello, " + "world!"; // "Hello, world!"
String name = "Alice";
String greetingWithName = "Hello, " + name + "!"; // "Hello, Alice!"Prioritas Operator (Precedence)
Prioritas Operator berarti operator mana yang dievaluasi terlebih dahulu dalam satu baris kode. Anggap saja seperti BODMAS/PEMDAS dalam matematika!
int result = 10 + 5 * 2; // hasilnya 20, bukan 30