Operator JS
Kuasai cara melakukan operasi matematika, penugasan nilai, perbandingan, dan logika di JavaScript menggunakan berbagai jenis operator.
Jadi "Kalkulator" dan "Hakim" di JavaScript: Kenalan Sama Operator!
Udah bisa nyimpen data pake variabel? Sip! Sekarang, gimana caranya kita "ngolah" data itu? Misalnya, mau nambahin dua angka, ngecek apakah satu nilai lebih gede dari nilai lain, atau ngegabungin beberapa kondisi logika. Nah, buat ngelakuin semua itu, JavaScript nyediain yang namanya Operator.
Operator itu simbol-simbol khusus yang ngelakuin operasi tertentu ke satu, dua, atau tiga nilai (yang disebut operand), terus ngasilin nilai baru. Kayak tombol +
, -
, x
, :
di kalkulator, tapi di JavaScript operatornya lebih macem-macem!
Yuk, kita kenalan sama beberapa jenis operator penting di JavaScript:
1. Operator Aritmatika (Arithmetic Operators) - Buat Ngitung!
Ini operator yang paling sering kita temuin buat operasi matematika dasar.
Operator | Nama | Contoh Penggunaan | Hasil x | Deskripsi |
---|---|---|---|---|
+ | Penjumlahan | let x = 5 + 2; | 7 | Nambahin dua angka. Bisa juga buat gabungin string (konkatenasi). |
- | Pengurangan | let x = 5 - 2; | 3 | Ngurangin angka. |
* | Perkalian | let x = 5 * 2; | 10 | Ngaliin dua angka. |
/ | Pembagian | let x = 10 / 2; | 5 | Bagiin angka pertama dengan angka kedua. |
% | Modulus (Sisa Bagi) | let x = 5 % 2; | 1 | Ngasih sisa dari pembagian. (5 dibagi 2 sisa 1) |
** | Pangkat (Exponentiation - ES2016) | let x = 5 ** 2; | 25 | Angka pertama dipangkatin angka kedua. (5 pangkat 2) |
++ | Increment (Tambah 1) | let y = 5; let x = ++y; atau let x = y++; | 6 (untuk ++y ), 5 (untuk y++ di ekspresi awal, tapi y jadi 6 setelahnya) | Nambahin 1 ke nilai variabel. Ada versi pre-increment (++var ) dan post-increment (var++ ). |
-- | Decrement (Kurang 1) | let y = 5; let x = --y; atau let x = y--; | 4 (untuk --y ), 5 (untuk y-- di ekspresi awal, tapi y jadi 4 setelahnya) | Ngurangin 1 dari nilai variabel. Ada versi pre-decrement (--var ) dan post-decrement (var-- ). |
Contoh Penggunaan Operator Aritmatika:
let hargaBuku = 50000;
let jumlahBeli = 3;
let ongkir = 10000;
let totalBelanja = (hargaBuku * jumlahBeli) + ongkir;
console.log("Total belanja:", totalBelanja); // Output: Total belanja: 160000
let angka = 10;
angka++; // sekarang angka jadi 11
console.log("Angka setelah increment:", angka);
let sisaKue = 7 % 3; // 7 kue dibagi ke 3 orang, sisanya berapa?
console.log("Sisa kue:", sisaKue); // Output: Sisa kue: 1
2. Operator Penugasan (Assignment Operators) - Ngasih Nilai ke Variabel
Operator ini dipake buat ngasih (assign) nilai ke variabel. Yang paling dasar ya tanda sama dengan (=
).
Operator | Contoh Penggunaan | Sama Dengan | Deskripsi |
---|---|---|---|
= | x = y | x = y | Ngasih nilai y ke x . |
+= | x += y | x = x + y | Tambah dan tugaskan. |
-= | x -= y | x = x - y | Kurang dan tugaskan. |
*= | x *= y | x = x * y | Kali dan tugaskan. |
/= | x /= y | x = x / y | Bagi dan tugaskan. |
%= | x %= y | x = x % y | Modulus dan tugaskan. |
**= | x **= y | x = x ** y | Pangkat dan tugaskan. |
Contoh Penggunaan Operator Penugasan:
let skor = 100;
skor += 50; // sama kayak skor = skor + 50;
console.log("Skor sekarang:", skor); // Output: Skor sekarang: 150
let sisaStok = 20;
sisaStok -= 5; // sama kayak sisaStok = sisaStok - 5;
console.log("Sisa stok:", sisaStok); // Output: Sisa stok: 15
Operator penugasan shorthand ini (+=
, -=
, dll.) bikin kode jadi lebih ringkes.
3. Operator Perbandingan (Comparison Operators) - Ngebandingin Dua Nilai
Operator ini dipake buat ngebandingin dua nilai dan hasilnya selalu boolean (true
atau false
). Sering banget dipake di dalem kondisi if
.
Operator | Nama | Contoh Penggunaan | Hasil x | Deskripsi |
---|---|---|---|---|
== | Sama Dengan (Loose Equality) | let x = (5 == "5"); | true | Ngecek apakah nilainya sama, ngelakuin konversi tipe data kalau perlu. Hati-hati pakenya! |
=== | Sama Dengan Persis (Strict Equality) | let x = (5 === "5"); | false | Ngecek apakah nilainya sama DAN tipe datanya juga sama. Ini yang lebih aman dan direkomendasikan! |
!= | Tidak Sama Dengan (Loose) | let x = (5 != "5"); | false | Kebalikan == . Juga ngelakuin konversi tipe. |
!== | Tidak Sama Dengan Persis (Strict) | let x = (5 !== "5"); | true | Kebalikan === . Ngecek nilai dan tipe. Lebih aman! |
> | Lebih Besar Dari | let x = (10 > 5); | true | |
< | Lebih Kecil Dari | let x = (10 < 5); | false | |
>= | Lebih Besar Dari atau Sama Dengan | let x = (5 >= 5); | true | |
<= | Lebih Kecil Dari atau Sama Dengan | let x = (5 <= 4); | false |
Contoh Penggunaan Operator Perbandingan:
let umurBudi = 20;
let umurAni = 22;
console.log("Apakah umur Budi sama dengan 20?", umurBudi === 20); // Output: true
console.log("Apakah umur Ani lebih tua dari Budi?", umurAni > umurBudi); // Output: true
console.log("Apakah '10' sama dengan 10 (pake ==)?", "10" == 10); // Output: true (karena konversi tipe)
console.log("Apakah '10' sama persis dengan 10 (pake ===)?", "10" === 10); // Output: false (tipe beda)
Selalu usahakan pake ===
dan !==
(strict equality) daripada ==
dan !=
(loose equality) buat ngindarin hasil yang gak terduga gara-gara konversi tipe otomatis.
4. Operator Logika (Logical Operators) - Ngegabungin Kondisi Boolean
Operator ini dipake buat ngegabungin beberapa ekspresi boolean jadi satu ekspresi boolean baru. Sering dipake di kondisi if
yang kompleks.
Operator | Nama | Contoh Penggunaan | Hasil x | Deskripsi |
---|---|---|---|---|
&& | DAN (AND) | let x = (true && false); | false | Hasilnya true cuma kalau kedua operand true . |
` | ` | ATAU (OR) | `let x = (true | |
! | TIDAK (NOT) | let x = !true; | false | Ngebalikin nilai boolean operandnya. |
Contoh Penggunaan Operator Logika:
let punyaSIM = true;
let umurCukup = 18;
let usiaPengemudi = 20;
let bolehMenyetir = punyaSIM && (usiaPengemudi >= umurCukup);
console.log("Boleh menyetir?", bolehMenyetir); // Output: Boleh menyetir? true
let hariLibur = false;
let cuacaCerah = true;
let bisaPiknik = hariLibur || cuacaCerah;
console.log("Bisa piknik?", bisaPiknik); // Output: Bisa piknik? true (karena cuaca cerah)
let lampuMenyala = true;
console.log("Apakah lampu mati?", !lampuMenyala); // Output: Apakah lampu mati? false
Pahami konsep "truthy" dan "falsy" di JavaScript. Beberapa nilai non-boolean bisa dianggap true
atau false
dalam konteks logika (misal, 0
, ""
(string kosong), null
, undefined
, NaN
itu falsy).
5. Operator String (+
) - Gabungin Teks
Operator +
kalau dipake sama string, fungsinya jadi konkatenasi (menggabungkan string).
let namaDepan = "Budi";
let namaBelakang = "Sanjaya";
let namaLengkap = namaDepan + " " + namaBelakang; // Tambahin spasi di tengah
console.log(namaLengkap); // Output: Budi Sanjaya
let pesan = "Umur saya " + 25 + " tahun."; // Angka 25 dikonversi jadi string
console.log(pesan); // Output: Umur saya 25 tahun.
Kalau salah satu operand +
itu string, JavaScript bakal ngubah operand lainnya jadi string juga terus digabungin.
6. Operator Ternary (Conditional Operator) - if/else
Versi Singkat
Ini operator spesial yang butuh tiga operand. Dia kayak versi ringkes dari pernyataan if...else...
.
- Sintaks:
kondisi ? ekspresiJikaBenar : ekspresiJikaSalah;
- Cara Kerja: Kalau
kondisi
hasilnyatrue
, ekspresi sebelum titik dua (:
) yang dijalanin. Kalaufalse
, ekspresi setelah titik dua yang dijalanin.
Contoh Penggunaan Operator Ternary:
let usia = 17;
let status = (usia >= 18) ? "Dewasa" : "Anak-anak";
console.log("Status:", status); // Output: Status: Anak-anak
let adaDiskon = true;
let harga = 100000;
let hargaFinal = harga - (adaDiskon ? 20000 : 0); // Kalau ada diskon, kurangin 20rb, kalau gak, kurangin 0
console.log("Harga final:", hargaFinal); // Output: Harga final: 80000
Operator ternary ini bisa bikin kode lebih ringkes buat kondisi simpel, tapi kalau logikanya udah kompleks, mending pake if...else...
biasa biar lebih gampang dibaca.
Prioritas Operator (Operator Precedence)
Sama kayak di matematika, operator di JavaScript juga punya urutan prioritas mana yang dikerjain duluan (misal, perkalian dan pembagian dikerjain sebelum penjumlahan dan pengurangan).
Contoh: let hasil = 10 + 5 * 2;
// 5 * 2
dikerjain dulu (jadi 10), baru 10 + 10
, hasilnya 20
.
Kalau kamu ragu atau mau maksa urutan tertentu, pake tanda kurung ()
. Apa yang di dalem kurung bakal dikerjain duluan.
let hasilPakaiKurung = (10 + 5) * 2;
// 10 + 5
dikerjain dulu (jadi 15), baru 15 * 2
, hasilnya 30
.
Operator ini adalah "alat kerja" utama buat ngolah data dan bikin logika di JavaScript. Pahami fungsi masing-masing operator, terutama beda ==
sama ===
, dan gimana operator logika bekerja. Ini bakal jadi dasar buat nulis kode yang lebih kompleks dan fungsional.
Di materi berikutnya, kita bakal ngulik lebih dalem soal salah satu tipe data yang paling sering dipake: String!
Kuis Operator JavaScript
Pertanyaan 1 dari 5
Operator aritmatika `%` (modulus) di JavaScript digunakan untuk apa?