Optional di Swift
Penjelasan
Optional adalah fitur paling khas Swift untuk mencegah crash akibat nilai kosong (nil) — mirip null safety Kotlin, tapi dengan sintaks dan idiom sendiri. Sebuah tipe data yang mungkin tidak punya nilai ditandai dengan ? di belakangnya (mis. String?). Untuk mengakses nilai di dalam optional dengan aman, Swift punya if let (unwrap kalau ada isinya) dan guard let (unwrap di awal fungsi, keluar lebih dulu kalau nil), plus operator ?? (nil-coalescing, memberi nilai default).
Contoh Konsep
var nama: String? = nil // optional, tanpa ? ini akan error
if let namaAsli = nama {
print("Halo, \(namaAsli)")
} else {
print("Nama belum diisi")
}
nama = "CompileDaily"
print(nama ?? "Tamu") // CompileDaily, nil-coalescing
func sapa(nama: String?) {
guard let namaValid = nama else {
print("Tidak ada nama")
return
}
print("Halo, \(namaValid)")
}
Praktikum
Buat variabel var kota: String? = nil. Pakai if let untuk mengecek apakah kota ada isinya — kalau ada, tampilkan "Kota: {kota}"; kalau nil, tampilkan "Kota belum diisi".
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Hindari forced unwrap (nama!) kecuali kamu BENAR-BENAR yakin nilainya tidak mungkin nil — forced unwrap akan membuat program crash total kalau ternyata nilainya nil. Utamakan if let, guard let, atau ?? untuk menangani optional dengan aman.