Learn
← Previous Next →

Hari 3: Control Flow — if, else, switch

60 min Last updated 09 Apr 2026

if / else if / else

void main() {
  int nilai = 78;

  if (nilai >= 90) {
    print("Grade A — Excellent!");
  } else if (nilai >= 80) {
    print("Grade B — Good");
  } else if (nilai >= 70) {
    print("Grade C — Average");
  } else {
    print("Grade D — Need Improvement");
  }
}

Ternary Operator

void main() {
  int umur = 20;
  String status = umur >= 18 ? "Dewasa" : "Anak-anak";
  print(status); // Dewasa
}

switch / case

void main() {
  String hari = "Senin";

  switch (hari) {
    case "Senin":
    case "Selasa":
    case "Rabu":
    case "Kamis":
    case "Jumat":
      print("Hari kerja");
      break;
    case "Sabtu":
    case "Minggu":
      print("Weekend!");
      break;
    default:
      print("Hari tidak dikenal");
  }
}

Null-aware Operators

void main() {
  String? nama;
  print(nama ?? "Tamu");         // Tamu (jika null, pakai default)

  String? kota;
  kota ??= "Jakarta";            // assign hanya jika null
  print(kota);                   // Jakarta
}

💡 Notice: Setiap case harus diakhiri dengan break; untuk menghindari fall-through.

Assignment

Buat kalkulator sederhana dengan switch untuk +, -, *, / dengan validasi pembagian nol.

Expected output:

10.0 + 3.0 = 13.0
Dart main.dart
Solution
Output