Option di Scala
Penjelasan
Scala mendorong menghindari `null` (sumber banyak bug NullPointerException di bahasa lain) dengan tipe `Option[T]`. Sebuah Option bisa berisi `Some(nilai)` (ada isinya) atau `None` (kosong) — compiler MEMAKSA kamu menangani kedua kemungkinan secara eksplisit, alih-alih lupa mengecek null.
Contoh Konsep
val harga: Map[String, Double] = Map("Apel" -> 15000)
val hargaApel: Option[Double] = harga.get("Apel") // Some(15000.0)
val hargaMangga: Option[Double] = harga.get("Mangga") // None
// Pattern matching untuk menangani keduanya
hargaApel match {
case Some(nilai) => println(s"Harganya $nilai")
case None => println("Tidak ditemukan")
}
// getOrElse: cara ringkas memberi nilai default kalau None
println(hargaMangga.getOrElse(0.0)) // 0.0
Praktikum
Dari Map stok yang berisi "Sepatu" -> 5, cari stok "Tas" (tidak ada) memakai get(), lalu tampilkan hasilnya dengan getOrElse(0).
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Hindari memanggil `.get` langsung pada Option tanpa pengecekan (itu akan melempar exception kalau None) — selalu pakai pattern matching, `getOrElse`, atau `map`/`foreach` yang aman terhadap None.