Menu
CoddyTech

Operator Pemanggilan Aman

Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 14 dari 93.

Jika kamu memiliki variabel yang dapat bernilai null, kamu tidak bisa langsung memanggil method atau mengakses property pada variabel tersebut: compiler tidak akan mengizinkannya karena nilainya mungkin null. Operator pemanggilan aman ?. mengatasi masalah ini dengan elegan.

Alih-alih menggunakan titik biasa ., kamu menggunakan ?. untuk mengakses anggota tipe nullable dengan aman:

fun main() {
    val name: String? = "Alice"
    val length = name?.length  // Mengembalikan 5
    println(length)
    
    val nullName: String? = null
    val nullLength = nullName?.length  // Mengembalikan null (tidak terjadi crash!)
    println(nullLength)
}

Operator pemanggilan aman memeriksa apakah nilai bernilai null sebelum mengakses property atau method. Jika nilai tersebut null, seluruh ekspresi mengembalikan null alih-alih mengalami crash. Jika nilainya ada, operator ini bekerja seperti pemanggilan biasa.

Kamu juga dapat merangkai beberapa pemanggilan aman sekaligus:

fun main() {
    val text: String? = "Hello"
    val result = text?.uppercase()?.length
    println(result)  // Mencetak: 5
}

Jika bagian mana pun dari rantai bernilai null, seluruh ekspresi akan mengembalikan null dengan aman tanpa memunculkan error.

challenge icon

Tantangan

Mudah

Kamu diberi variabel yang bisa bernilai null berikut:

val message: String? = "Kotlin"

Gunakan operator pemanggilan aman untuk:

  1. Mendapatkan panjang message dan mencetaknya
  2. Mengubah message menjadi huruf kapital dan mencetak hasilnya

Lalu, buat variabel lain yang bisa bernilai null:

val empty: String? = null

Gunakan operator pemanggilan aman untuk mendapatkan panjang empty dan mencetaknya.

Setiap hasil harus dicetak pada baris terpisah. Ingat: operator pemanggilan aman mengembalikan null saat nilainya null.

Coba sendiri

fun main() {
    val message: String? = "Kotlin"
    
    // TODO: Gunakan operator safe call untuk mendapatkan panjang message, lalu cetak hasilnya
    
    // TODO: Gunakan operator safe call untuk mengubah message menjadi huruf kapital, lalu cetak hasilnya
    
    val empty: String? = null
    
    // TODO: Gunakan operator safe call untuk mendapatkan panjang empty, lalu cetak hasilnya
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Kotlin