Percabangan (if/else)

Percabangan (if/else) 🔀

Percabangan memungkinkan program untuk mengambil keputusan — mengeksekusi blok kode tertentu berdasarkan kondisi yang diberikan.


if — Kondisi Dasar

int nilai = 80;

if (nilai >= 60) {
  print('Lulus!');
}

Jika kondisi nilai >= 60 bernilai true, blok kode di dalam {} akan dieksekusi.


if-else — Dua Pilihan

int nilai = 45;

if (nilai >= 60) {
  print('Lulus');
} else {
  print('Tidak Lulus');
}

if-else if-else — Banyak Kondisi

int nilai = 78;

if (nilai >= 90) {
  print('Grade A — Sangat Baik');
} else if (nilai >= 80) {
  print('Grade B — Baik');
} else if (nilai >= 70) {
  print('Grade C — Cukup');
} else if (nilai >= 60) {
  print('Grade D — Kurang');
} else {
  print('Grade E — Tidak Lulus');
}

Kondisi Bersarang (Nested if)

int umur = 20;
bool punyaKTP = true;

if (umur >= 17) {
  if (punyaKTP) {
    print('Bisa mendaftar');
  } else {
    print('Perlu membuat KTP dulu');
  }
} else {
  print('Belum cukup umur');
}

Ternary Operator — if-else Satu Baris

Untuk kondisi sederhana yang menghasilkan satu nilai:

int nilai = 75;
String status = nilai >= 60 ? 'Lulus' : 'Tidak Lulus';
print(status); // Lulus

// Bisa digunakan langsung dalam print:
int stok = 0;
print(stok > 0 ? 'Tersedia' : 'Habis'); // Habis

Kondisi dengan Null Safety

// Cek apakah null
String? nama;
if (nama == null) {
  print('Nama belum diisi');
} else {
  print('Halo, $nama!');
}

// Cara lebih singkat dengan null-aware operator:
print(nama ?? 'Anonim');

Contoh Praktis

void main() {
  double ipk = 3.75;
  int kehadiran = 85;

  if (ipk >= 3.5 && kehadiran >= 80) {
    print('Memenuhi syarat beasiswa');
  } else if (ipk >= 3.0 || kehadiran >= 90) {
    print('Pertimbangkan untuk mengajukan');
  } else {
    print('Belum memenuhi syarat');
  }
}

if vs Ternary — Kapan Menggunakan yang Mana?

// Gunakan ternary untuk ekspresi satu nilai:
String label = umur >= 18 ? 'Dewasa' : 'Anak-anak';

// Gunakan if-else untuk banyak pernyataan:
if (umur >= 18) {
  print('Selamat datang!');
  aksesKonten();
  catatLog();
} else {
  print('Akses ditolak');
  tampilkanPesan();
}

💡 Tips: Untuk kondisi yang menghasilkan satu nilai, gunakan operator ternary ? : agar lebih ringkas. Untuk logika yang kompleks dengan banyak pernyataan di tiap cabang, tetap gunakan if-else if-else agar lebih mudah dibaca dan dikelola. 🎯

Selanjutnya

Informasi Kursus

Kursus

Dart Dasar

Kategori

Kontrol Alur

Durasi Pelajaran

20 menit

Pelajaran dalam Kategori Ini