Dalam pemrograman, operator digunakan untuk melakukan berbagai operasi pada nilai-nilai atau variabel. Operator-operator ini diklasifikasikan menjadi beberapa jenis berdasarkan fungsinya. Berikut adalah jenis-jenis operator yang umum digunakan, penjelasannya, beserta contoh penggunaannya.
1. Operator Aritmatika
Digunakan untuk melakukan operasi matematika dasar seperti penjumlahan, pengurangan, perkalian, dll.
Operator | Fungsi | Contoh Penggunaan | Hasil |
---|---|---|---|
+ |
Penjumlahan | 5 + 3 |
8 |
- |
Pengurangan | 5 - 3 |
2 |
* |
Perkalian | 5 * 3 |
15 |
/ |
Pembagian | 6 / 3 |
2 |
% |
Modulus (sisa bagi) | 5 % 2 |
1 |
++ |
Increment (menambah 1) | let x = 5; x++ |
x = 6 |
-- |
Decrement (mengurangi 1) | let x = 5; x-- |
x = 4 |
2. Operator Perbandingan
Digunakan untuk membandingkan dua nilai dan menghasilkan nilai boolean (true
atau false
).
Operator | Fungsi | Contoh Penggunaan | Hasil |
---|---|---|---|
== |
Sama dengan (nilai saja) | 5 == '5' |
true |
=== |
Sama dengan (nilai dan tipe data) | 5 === '5' |
false |
!= |
Tidak sama (nilai saja) | 5 != '5' |
false |
!== |
Tidak sama (nilai dan tipe data) | 5 !== '5' |
true |
> |
Lebih besar dari | 5 > 3 |
true |
< |
Lebih kecil dari | 5 < 3 |
false |
>= |
Lebih besar atau sama dengan | 5 >= 5 |
true |
<= |
Lebih kecil atau sama dengan | 5 <= 3 |
false |
3. Operator Logika
Digunakan untuk melakukan operasi logika dan menghasilkan nilai boolean.
Operator | Fungsi | Contoh Penggunaan | Hasil | ||||
---|---|---|---|---|---|---|---|
&& |
Logika AND (keduanya true) | true && false |
false | ||||
` | ` | Logika OR (salah satu true) | `true | false` | true | ||
! |
Logika NOT (kebalikan) | !true |
false |
4. Operator Penugasan (Assignment)
Digunakan untuk memberikan nilai ke variabel.
Operator | Fungsi | Contoh Penggunaan | Hasil |
---|---|---|---|
= |
Menugaskan nilai | let x = 5 |
x = 5 |
+= |
Menambah nilai ke variabel | x += 3 (sama dengan x = x + 3 ) |
x = 8 |
-= |
Mengurangi nilai dari variabel | x -= 2 |
x = 6 |
*= |
Mengalikan nilai ke variabel | x *= 2 |
x = 12 |
/= |
Membagi nilai dari variabel | x /= 3 |
x = 4 |
%= |
Modulus dengan nilai variabel | x %= 3 |
x = 1 |
5. Operator Bitwise
Digunakan untuk operasi manipulasi bit. Biasanya digunakan untuk memproses data dalam bentuk bit.
Operator | Fungsi | Contoh Penggunaan | Hasil | ||
---|---|---|---|---|---|
& |
AND bitwise | 5 & 1 |
1 | ||
` | ` | OR bitwise | `5 | 1` | 5 |
^ |
XOR bitwise | 5 ^ 1 |
4 | ||
~ |
NOT bitwise (komplemen) | ~5 |
-6 | ||
<< |
Shift bit ke kiri | 5 << 1 |
10 | ||
>> |
Shift bit ke kanan | 5 >> 1 |
2 |
6. Operator Ternary (Conditional)
Operator yang digunakan untuk membuat keputusan sederhana dalam satu baris kode.
Operator | Fungsi | Contoh Penggunaan | Hasil |
---|---|---|---|
? : |
Operator ternary | let result = (5 > 3) ? "Benar" : "Salah" |
"Benar" |
7. Operator Nullish Coalescing (??
)
Digunakan untuk memberikan nilai default hanya jika operand pertama adalah null
atau undefined
.
Operator | Fungsi | Contoh Penggunaan | Hasil |
---|---|---|---|
?? |
Nullish coalescing | let name = null ?? "Default" |
"Default" |
8. Operator Logika OR (||
) vs Nullish Coalescing (??
)
||
: Mengembalikan nilai kedua jika operand pertama adalah falsy (termasuk0
,false
,null
,undefined
,NaN
,""
).??
: Mengembalikan nilai kedua hanya jika operand pertama adalahnull
atauundefined
.
Perbedaan:
||
memeriksa semua nilai falsy.??
hanya memeriksanull
danundefined
.
Contoh:
let x = 0 || 5; // x = 5, karena 0 dianggap falsy
let y = 0 ?? 5; // y = 0, karena 0 bukan null atau undefined
9. Operator Spread (...
)
Digunakan untuk memperluas elemen array atau properti objek.
Operator | Fungsi | Contoh Penggunaan | Hasil |
---|---|---|---|
... |
Spread (untuk array atau objek) | let arr = [...arr1] |
Salinan arr1 dalam arr |
Kesimpulan
- Operator Aritmatika: Operasi matematika dasar.
- Operator Perbandingan: Membandingkan dua nilai.
- Operator Logika: Operasi logika boolean.
- Operator Penugasan: Memberikan nilai pada variabel.
- Operator Bitwise: Operasi pada bit.
- Operator Ternary: Membuat keputusan berdasarkan kondisi.
- Operator Nullish Coalescing (
??
): Nilai default untuknull
atauundefined
. - Operator Spread: Memperluas array atau objek.
Perbedaan antara operator yang mirip, seperti ||
dan ??
, penting dipahami karena mereka memiliki perilaku berbeda dalam menangani nilai nullish
atau falsy.