Learn
← Previous Next →

Hari 2: Operator & Kondisional

55 min Last updated 09 Apr 2026

Operator Aritmatika & Perbandingan

// Aritmatika
console.log(10 + 3);   // 13
console.log(10 - 3);   // 7
console.log(10 * 3);   // 30
console.log(10 / 3);   // 3.333...
console.log(10 % 3);   // 1 (modulus)
console.log(2 ** 8);   // 256 (pangkat)

// Perbandingan
console.log(5 == "5");   // true  (loose: konversi tipe)
console.log(5 === "5");  // false (strict: tipe harus sama) ← pakai ini!
console.log(5 !== 4);    // true
console.log(10 > 5);     // true

If / Else / Ternary

const nilai = 78;

if (nilai >= 90) {
    console.log("A");
} else if (nilai >= 80) {
    console.log("B");
} else if (nilai >= 70) {
    console.log("C");
} else {
    console.log("D");
}
// C

// Ternary
const status = nilai >= 60 ? "Lulus" : "Tidak Lulus";
console.log(status); // Lulus

Logical Operators & Short-circuit

console.log(true && false);  // false (AND)
console.log(true || false);  // true  (OR)
console.log(!true);          // false (NOT)

// Short-circuit evaluation
const nama = null;
const tampilkan = nama || "Tamu"; // jika nama falsy, gunakan "Tamu"
console.log(tampilkan); // "Tamu"

// Nullish coalescing (??) — hanya null/undefined
const nilai2 = 0 ?? 100; // 0 (0 bukan null/undefined)
const nilai3 = null ?? 100; // 100

💡 Notice: toFixed(2) memformat angka dengan 2 desimal. Gunakan === bukan == untuk perbandingan ketat.

Assignment

Buat sistem BMI: tinggi = 1.72 meter, berat = 68 kg. Hitung BMI = berat / (tinggi * tinggi). Jika BMI < 18.5 tampilkan "Kurus", 18.5-24.9 "Normal", 25-29.9 "Gemuk", >= 30 "Obesitas". Tampilkan BMI (2 desimal) dan kategori.

Expected output:

BMI: 22.99
Kategori: Normal
JS script.js
Solution
Output