Study
Scala

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).

Editor Latihan

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.