Modul 3 — Operator
🧮 Modul 3 — Operator
Operator adalah simbol khusus yang digunakan untuk melakukan operasi pada satu atau lebih operand (nilai atau variabel). Java menyediakan berbagai jenis operator untuk memanipulasi data.
📋 Jenis-Jenis Operator
Kita akan membahas 6 kategori operator utama di Java. Klik tab di bawah untuk melihat masing-masing kategori.
Operator aritmatika digunakan untuk operasi matematika dasar.
| Operator | Nama | Contoh | Hasil |
|---|---|---|---|
+ | Penjumlahan / Concatenation | 5 + 3 "Halo" + " Java" | 8 "Halo Java" |
- | Pengurangan | 10 - 4 | 6 |
* | Perkalian | 3 * 7 | 21 |
/ | Pembagian | 10 / 3 10.0 / 3 | 3 (bulat!) 3.333... |
% | Modulo (sisa bagi) | 10 % 3 | 1 |
10 / 3 = 3 (bukan 3.33) karena kedua operand adalah int.Solusi:
10.0 / 3 atau (double) 10 / 3- Cek genap/ganjil:
x % 2 == 0→ genap - Siklus berulang:
jam % 24,menit % 60
int a = 10, b = 3;
System.out.println(a + b); // 13
System.out.println(a - b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3 ← bukan 3.33!
System.out.println(a % b); // 1 ← sisa dari 10/3
Operator penugasan digunakan untuk memberi nilai ke variabel, sering dikombinasikan dengan operasi lain.
| Operator | Contoh | Setara Dengan |
|---|---|---|
= | x = 10; | x = 10 |
+= | x += 5; | x = x + 5 |
-= | x -= 3; | x = x - 3 |
*= | x *= 2; | x = x * 2 |
/= | x /= 4; | x = x / 4 |
%= | x %= 3; | x = x % 3 |
int x = 10;
x += 5; // x = x + 5 → 15
x *= 2; // x = 15 * 2 → 30
System.out.println(x); // 30
Operator ++ dan -- digunakan untuk menambah atau mengurangi nilai variabel dengan 1. Ada dua bentuk: postfix (x++) dan prefix (++x).
int x = 5;
// POST-increment: pakai nilai dulu, baru tambah
System.out.println(x++); // Cetak 5, lalu x jadi 6
System.out.println(x); // 6
int y = 5;
// PRE-increment: tambah dulu, baru pakai
System.out.println(++y); // y jadi 6 dulu, cetak 6
System.out.println(y); // 6
Operator relasional digunakan untuk membandingkan dua nilai. Hasilnya selalu boolean (true atau false).
| Operator | Nama | Contoh | Hasil |
|---|---|---|---|
== | Sama dengan | 5 == 5 | true |
!= | Tidak sama dengan | 5 != 6 | true |
> | Lebih besar | 7 > 3 | true |
< | Lebih kecil | 2 < 8 | true |
>= | Lebih besar atau sama | 5 >= 5 | true |
<= | Lebih kecil atau sama | 3 <= 5 | true |
== vs =:x = 5→ mengisi nilai (assignment)x == 5→ membandingkan nilai (menghasilkantrue/false)
if (x = 5) { ... } // ← BUG! Seharusnya: if (x == 5)
Operator logika digunakan untuk mengkombinasikan ekspresi boolean.
| Operator | Nama | Aturan | Contoh |
|---|---|---|---|
&& | AND (DAN) | true hanya jika KEDUA sisi true | (5>3) && (8>2) → true |
|| | OR (ATAU) | true jika MINIMAL SATU sisi true | (5>10) || (8>2) → true |
! | NOT (BUKAN) | Membalik nilai boolean | !(5>3) → false |
Tabel Kebenaran:
| A | B | A&&B | A||B | !A |
|---|---|---|---|---|
| true | true | true | true | false |
| true | false | false | true | false |
| false | true | false | true | true |
| false | false | false | false | true |
int umur = 17;
boolean punyaSIM = false;
boolean bolehBerkendara = (umur >= 17) && punyaSIM;
System.out.println(bolehBerkendara); // false (umur OK, tapi tidak punya SIM)
Operator ternary adalah operator bersyarat satu baris yang menggantikan if-else sederhana.
// Format: kondisi ? nilai_jika_true : nilai_jika_false
int nilai = 75;
String status = (nilai >= 70) ? "Lulus" : "Tidak Lulus";
System.out.println(status); // Lulus
Ternary bersarang (hindari jika lebih dari 2 level):
String grade = (nilai >= 90) ? "A" : (nilai >= 80) ? "B" : (nilai >= 70) ? "C" : "D";
::
🧪 Latihan Praktik
Buat program Java yang:
- Meminta pengguna memasukkan dua angka bulat.
- Menampilkan hasil penjumlahan, pengurangan, perkalian, pembagian (dalam bentuk desimal), dan modulo.
- Menampilkan apakah angka pertama lebih besar dari angka kedua, dan apakah kedua angka genap atau ganjil.
- Menggunakan operator ternary untuk menentukan apakah hasil penjumlahan genap atau ganjil.
Contoh interaksi:
Masukkan angka pertama: 10
Masukkan angka kedua: 3
Hasil:
10 + 3 = 13
10 - 3 = 7
10 * 3 = 30
10 / 3 = 3.3333333333333335
10 % 3 = 1
10 > 3 ? true
10 genap? true
3 genap? false
Jumlah (13) adalah ganjil.
Scanner untuk input dari pengguna, dan System.out.printf() untuk format output yang rapi.📺 Video Penjelasan
Tonton video berikut untuk penjelasan lebih mendalam tentang operator di Java (20 menit):
✨ Kesimpulan
Apa yang Telah Dipelajari
- ✅ Operator aritmatika dan masalah integer division
- ✅ Operator penugasan gabungan
- ✅ Perbedaan postfix dan prefix increment/decrement
- ✅ Operator relasional dan perbedaan
==vs= - ✅ Operator logika (AND, OR, NOT)
- ✅ Operator ternary untuk pengkondisian singkat
Selanjutnya
Modul 4: Struktur Kontrol (Percabangan) — if, else if, switch, dan logika percabangan.