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