Operator Aritmatika & Perbandingan

Operator Aritmatika & Perbandingan ➕

Operator adalah simbol yang digunakan untuk melakukan operasi pada nilai atau variabel. JavaScript memiliki banyak jenis operator yang akan sering kamu gunakan.


Operator Aritmatika

Digunakan untuk operasi matematika:

let a = 10;
let b = 3;

console.log(a + b);   // 13 — penjumlahan
console.log(a - b);   // 7  — pengurangan
console.log(a * b);   // 30 — perkalian
console.log(a / b);   // 3.333... — pembagian
console.log(a % b);   // 1  — modulo (sisa bagi)
console.log(a ** b);  // 1000 — pangkat (10³)

Modulo sangat berguna untuk:

// Cek bilangan genap/ganjil
let angka = 7;
if (angka % 2 === 0) {
  console.log('Genap');
} else {
  console.log('Ganjil'); // ini yang muncul
}

// Siklus (misal: urutan hari dalam minggu)
let hariKe = 9;
let posisiHari = hariKe % 7; // 2

Operator Penugasan (Assignment)

Menggabungkan assignment dengan operasi aritmatika:

let x = 10;

x += 5;   // sama dengan: x = x + 5  → x = 15
x -= 3;   // sama dengan: x = x - 3  → x = 12
x *= 2;   // sama dengan: x = x * 2  → x = 24
x /= 4;   // sama dengan: x = x / 4  → x = 6
x %= 4;   // sama dengan: x = x % 4  → x = 2
x **= 3;  // sama dengan: x = x ** 3 → x = 8

Operator Increment & Decrement

let i = 5;

// Post-increment: baca nilai dulu, lalu tambahkan 1
console.log(i++); // 5 — nilai lama dikembalikan
console.log(i);   // 6 — setelah operasi, i sudah jadi 6

// Pre-increment: tambahkan 1 dulu, lalu baca nilainya
let j = 5;
console.log(++j); // 6 — nilai baru langsung dikembalikan
console.log(j);   // 6

// Decrement bekerja sama, hanya mengurangi
i--;  // post-decrement
--i;  // pre-decrement

Operator Perbandingan

Mengembalikan nilai boolean (true atau false):

console.log(5 > 3);   // true — lebih besar dari
console.log(5 < 3);   // false — lebih kecil dari
console.log(5 >= 5);  // true — lebih besar atau sama dengan
console.log(5 <= 4);  // false — lebih kecil atau sama dengan

// == vs === (PENTING!)
console.log(5 == '5');  // true — loose equality (konversi tipe terjadi)
console.log(5 === '5'); // false — strict equality (tipe juga dicek)
console.log(5 !== '5'); // true — strict not equal
console.log(5 != '5');  // false — loose not equal

// Selalu gunakan === dan !== untuk menghindari bug tersembunyi!

Perbandingan String:

console.log('apel' < 'jeruk'); // true — berdasarkan urutan alfabet
console.log('B' < 'a');        // true — huruf besar kode ASCII-nya lebih kecil
console.log('10' > '9');       // false — '1' < '9' dalam perbandingan string!
console.log(10 > 9);           // true — bandingkan sebagai number

Operator String: Concatenation

let depan = 'Halo';
let nama = 'Budi';

// Cara lama
let salam = depan + ', ' + nama + '!';
console.log(salam); // "Halo, Budi!"

// Lebih disarankan: template literal
let salamModern = `${depan}, ${nama}!`;
console.log(salamModern); // "Halo, Budi!"

Math — Objek Matematika

JavaScript menyediakan objek Math untuk operasi matematika lanjutan:

Math.round(4.6);    // 5 — pembulatan normal
Math.floor(4.9);    // 4 — bulatkan ke bawah
Math.ceil(4.1);     // 5 — bulatkan ke atas
Math.abs(-7);       // 7 — nilai absolut
Math.max(1, 5, 3);  // 5 — nilai terbesar
Math.min(1, 5, 3);  // 1 — nilai terkecil
Math.pow(2, 8);     // 256 — 2 pangkat 8
Math.sqrt(16);      // 4 — akar kuadrat
Math.random();      // angka acak antara 0 dan 1

// Angka acak dalam rentang tertentu
function acakAntara(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(acakAntara(1, 10)); // angka acak 1-10

💡 Tips: Selalu gunakan === dan !== untuk perbandingan — bukan == dan !=. Operator strict equality tidak melakukan konversi tipe, sehingga hasilnya lebih dapat diprediksi. Mayoritas bug JavaScript yang berkaitan dengan perbandingan berasal dari penggunaan == yang tidak disengaja. 🎯

Informasi Kursus

Kursus

JavaScript Dasar

Kategori

Tipe Data & Operator

Durasi Pelajaran

20 menit

Pelajaran dalam Kategori Ini