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