Kondisi — JavaScript

Hidup penuh keputusan: kalo hujan, bawa payung. Kalo lapar, makan. Kalo nilai >= 75, lulus. Otak kita kerja pake aturan if-else terus-menerus tanpa sadar…

Kondisi bikin program bisa memilih: jalankan kode ini kalau sesuatu benar, kode lain kalau salah. Di JavaScript, kondisi ditulis pakai if (kalau) dan else (kalau gak). Persis kayak "kalau hujan, bawa payung, kalau gak, pakai topi".

🧪 Tebakan cepat: nilai kamu 75 dan syarat lulusnya nilai > 75. Lulus atau belum? Tebak dulu, jawabannya ada di bagian "Tanda pembanding".

if, else if, else

let nilai = 80;

if (nilai >= 90) {
  console.log("A: luar biasa");
} else if (nilai >= 75) {
  console.log("B: lulus");
} else {
  console.log("C: belum lulus");
}

Dengan nilai 80, syarat pertama false, syarat kedua true, jadi yang tercetak B: lulus, dan else dilewati. JavaScript mengecek dari atas ke bawah dan berhenti di syarat pertama yang true. Jadi taruh syarat paling ketat (angka paling besar) di paling atas. Kalau nilai >= 75 ditaruh duluan, nilai 95 juga cuma dapat B.

else if dan else boleh gak ditulis. if sendirian juga sah.

Tanda pembanding

console.log(75 > 75);   // false
console.log(75 >= 75);  // true
console.log(5 === 5);   // true
console.log("5" === 5); // false
console.log(5 !== 3);   // true

Jawaban tebakan: belum lulus, karena 75 > 75 itu false. Kalau 75 harus ikut lulus, pakai >=.

=== mengecek nilai dan tipenya sekaligus. "5" (teks) dan 5 (angka) beda tipe, jadi hasilnya false. Begitu juga "" === false hasilnya false. Ada juga == yang mengubah tipe dulu sebelum membandingkan, jadi "5" == 5 hasilnya true. Hasil == sering mengejutkan, jadi biasakan pakai ===. Satu = beda lagi: itu buat mengisi variabel, bukan membandingkan.

Kondisi di dalam function

function cekUmur(umur) {
  if (umur >= 17) {
    return "Boleh bikin KTP";
  }
  return "Belum boleh";
}

console.log(cekUmur(20)); // Boleh bikin KTP
console.log(cekUmur(12)); // Belum boleh

return mengirim hasil keluar dan langsung menghentikan function. Jadi baris return "Belum boleh" cuma tercapai kalau syarat if tadi false. Teks yang dikembalikan harus persis: "Lulus" dan "lulus" itu dua teks yang beda.

Ternary: if-else dalam satu baris

const nilai = 80;
const status = nilai >= 75 ? "Lulus" : "Belum lulus";
console.log(status); // Lulus

Bentuknya syarat ? nilaiKalauBenar : nilaiKalauSalah. Tanda ? sesudah syarat, tanda : di antara dua pilihan. Cocok buat memilih satu dari dua nilai.

⚠️ Jebakan yang sering ketemu

TL;DR: if (syarat) { ... } else if (syarat lain) { ... } else { ... } menjalankan satu cabang saja, yaitu cabang pertama yang syaratnya true, jadi syarat paling ketat ditaruh di atas. >= dan <= ikut menghitung angka batasnya, > dan < gak. Pakai === buat membandingkan, karena dia mengecek nilai dan tipe. Di dalam function, kirim hasil pakai return. Buat memilih satu dari dua nilai, pakai ternary syarat ? a : b.

Yang akan kamu pelajari