Mengenal Dasar-Dasar Kotlin

Kotlin Modern & Pragmatis

Diagram representasi dasar bahasa Kotlin.

Kotlin adalah bahasa pemrograman modern yang dikembangkan oleh JetBrains. Bahasa ini mendapatkan popularitas besar karena interoperabilitasnya yang mulus dengan Java dan kemampuannya yang ringkas, aman, dan ekspresif. Meskipun sering dikaitkan dengan pengembangan Android, Kotlin kini digunakan secara luas untuk pengembangan *backend*, *multiplatform*, dan bahkan *desktop*.

Mengapa Memilih Kotlin?

Ada beberapa alasan utama mengapa pengembang beralih ke Kotlin. Pertama, ia sangat ringkas. Anda bisa menulis kode yang jauh lebih sedikit dibandingkan dengan Java untuk mencapai fungsionalitas yang sama. Kedua, Kotlin dirancang untuk menjadi aman, terutama dengan penanganan *null* yang sangat baik, yang secara drastis mengurangi kesalahan umum seperti NullPointerException.

Ketiga, fitur *interoperability* 100% dengan Java memungkinkan Anda menggunakan pustaka Java yang sudah ada dan memanggil kode Java dari Kotlin, dan sebaliknya. Ini memudahkan migrasi bertahap dari proyek Java lama.

Variabel dan Tipe Data Dasar

Seperti bahasa modern lainnya, Kotlin memiliki sistem tipe yang kuat. Deklarasi variabel menggunakan kata kunci val (untuk nilai yang tidak dapat diubah/immutable) dan var (untuk nilai yang dapat diubah/mutable).

// Variabel yang tidak dapat diubah (seperti 'final' di Java)
val namaAplikasi = "Belajar Kotlin"

// Variabel yang dapat diubah
var hitungan = 0
hitungan = hitungan + 1

// Inferensi Tipe: Kotlin bisa menebak tipe datanya
val usia = 25 // Otomatis menjadi Int
val pi = 3.14 // Otomatis menjadi Double
                

Fungsi: Blok Bangunan Utama

Fungsi digunakan untuk mengorganisir kode. Di Kotlin, kita menggunakan kata kunci fun. Fungsi tunggal yang mengembalikan satu ekspresi dapat ditulis dalam format yang sangat singkat.

// Fungsi standar dengan blok kode
fun sapa(nama: String) {
    println("Halo, $nama!")
}

// Fungsi ekspresi tunggal (sangat ringkas)
fun kuadrat(x: Int): Int = x * x

fun main() {
    sapa("Dunia Kotlin")
    val hasil = kuadrat(5)
    println("Hasil kuadrat: $hasil")
}
                

Penanganan Null yang Aman

Ini adalah salah satu fitur bintang Kotlin. Secara *default*, variabel tidak boleh berisi nilai null. Jika Anda ingin variabel bisa berisi null, Anda harus secara eksplisit menandainya dengan tanda tanya (?).

Untuk mengakses properti dari variabel yang mungkin bernilai null, Anda harus menggunakan operator aman seperti ?. (safe call operator) atau operator Elvis ?:.

var teks: String? = "Data Ada" // Bisa bernilai null

// Safe call operator: Hanya dijalankan jika teks tidak null
val panjang = teks?.length 

// Operator Elvis: Memberikan nilai default jika null
val ukuran = teks?.length ?: 0

println("Panjang string: $ukuran") // Output: Panjang string: 8
                

Struktur Kontrol: When vs Switch

Kotlin menggantikan pernyataan switch yang kaku dari Java dengan konstruksi when yang jauh lebih kuat dan fleksibel. when dapat digunakan seperti switch, tetapi juga bisa digunakan sebagai pengganti pencocokan pola.

fun deskripsikanAngka(x: Int): String {
    return when (x) {
        1 -> "Satu"
        in 2..10 -> "Antara 2 sampai 10"
        else -> "Angka lain"
    }
}

println(deskripsikanAngka(5)) // Output: Antara 2 sampai 10
                

Kesimpulan Awal

Dasar-dasar Kotlin menunjukkan filosofi desainnya: membuat kode lebih aman, lebih ringkas, dan lebih mudah dibaca. Dengan memahami variabel, fungsi, dan penanganan null, Anda telah meletakkan fondasi kuat untuk menjelajahi fitur Kotlin yang lebih maju seperti *coroutines* atau pemrograman *multiplatform*.