Percabangan: case, cond, if
Penjelasan
Elixir punya tiga bentuk percabangan dengan kegunaan berbeda: `if`/`unless` untuk kondisi sederhana satu boolean, `case` untuk mencocokkan NILAI dengan pattern matching (mirip switch tapi jauh lebih kuat), dan `cond` untuk mengecek BEBERAPA kondisi boolean berurutan (seperti if/elseif berantai).
Contoh Konsep
nilai = 75
# case: pattern matching pada nilai
case nilai do
n when n >= 85 -> IO.puts("A")
n when n >= 70 -> IO.puts("B")
_ -> IO.puts("C")
end
# cond: banyak kondisi boolean berurutan
cond do
nilai >= 85 -> IO.puts("A")
nilai >= 70 -> IO.puts("B")
true -> IO.puts("C") # true = default, mirip 'else'
end
# if sederhana
if nilai >= 70 do
IO.puts("Lulus")
else
IO.puts("Tidak lulus")
end
Praktikum
Tulis case yang menerima variabel hari (atom, misal :senin) dan mencetak "Awal minggu" untuk :senin, "Akhir minggu" untuk :jumat, dan "Hari biasa" untuk lainnya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Pakai `case` kalau kamu mencocokkan STRUKTUR/BENTUK nilai (tuple, list, atom), dan `cond` kalau kamu mengecek BANYAK EKSPRESI BOOLEAN yang tidak saling terkait bentuknya.