Study
Elixir

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.

Editor Latihan

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.