Kondisi if, else if, else

Kondisi if, else if, else 🔀

Kondisi memungkinkan program untuk mengambil keputusan — menjalankan blok kode yang berbeda berdasarkan kondisi yang diberikan. Ini adalah fondasi dari logika pemrograman.


if — Kondisi Dasar

let nilai = 75;

if (nilai >= 60) {
  console.log('Lulus!');
}
// Jika nilai >= 60, tampilkan "Lulus!"
// Jika tidak, tidak ada yang terjadi

if...else

let umur = 16;

if (umur >= 17) {
  console.log('Boleh membuat SIM.');
} else {
  console.log('Belum cukup umur untuk membuat SIM.');
}

if...else if...else

let nilai = 85;
let grade;

if (nilai >= 90) {
  grade = 'A';
} else if (nilai >= 80) {
  grade = 'B';
} else if (nilai >= 70) {
  grade = 'C';
} else if (nilai >= 60) {
  grade = 'D';
} else {
  grade = 'F';
}

console.log(`Grade kamu: ${grade}`); // "Grade kamu: B"

Kondisi Bersarang (Nested)

let umur = 20;
let memilikiKTP = true;

if (umur >= 17) {
  if (memilikiKTP) {
    console.log('Bisa mendaftar untuk memilih.');
  } else {
    console.log('Perlu membuat KTP terlebih dahulu.');
  }
} else {
  console.log('Belum cukup umur untuk memilih.');
}

Kondisi dengan Operator Logika

let suhu = 30;
let adaHujan = false;

// AND: kedua kondisi harus terpenuhi
if (suhu > 25 && !adaHujan) {
  console.log('Cuaca bagus, cocok untuk jalan-jalan!');
}

// OR: salah satu kondisi cukup
if (suhu > 35 || adaHujan) {
  console.log('Mending di rumah aja.');
}

// NOT: membalik kondisi
let sedangLibur = false;
if (!sedangLibur) {
  console.log('Hari ini masuk kerja.');
}

Truthy & Falsy dalam Kondisi

let nama = '';
let pengguna = null;
let daftar = [];

if (nama) {
  console.log('Ada nama'); // tidak tampil — '' adalah falsy
}

if (pengguna) {
  console.log('Ada pengguna'); // tidak tampil — null adalah falsy
}

if (daftar) {
  console.log('Ada daftar'); // TAMPIL — array kosong adalah truthy!
}

// Cara yang lebih aman untuk mengecek array kosong:
if (daftar.length > 0) {
  console.log('Daftar tidak kosong');
}

Guard Clause — Pola yang Direkomendasikan

Daripada membuat kondisi bersarang yang dalam, gunakan guard clause — return awal jika kondisi tidak terpenuhi:

// ❌ Cara kurang baik — banyak nesting
function prosesOrder(order) {
  if (order) {
    if (order.items.length > 0) {
      if (order.pembayaran) {
        console.log('Memproses order...');
      }
    }
  }
}

// ✅ Dengan guard clause — lebih bersih
function prosesOrder(order) {
  if (!order) return;
  if (order.items.length === 0) return;
  if (!order.pembayaran) return;

  // Logika utama di sini — tanpa nesting berlebihan
  console.log('Memproses order...');
}

💡 Tips: Hindari kondisi bersarang yang terlalu dalam (lebih dari 3 level) — ini membuat kode sulit dibaca. Gunakan guard clause (return awal) atau pisahkan kondisi menjadi fungsi-fungsi yang lebih kecil untuk membuat kode lebih bersih dan mudah dipahami. 🎯

Selanjutnya

Informasi Kursus

Kursus

JavaScript Dasar

Kategori

Kontrol Alur

Durasi Pelajaran

20 menit

Pelajaran dalam Kategori Ini