Kotlin telah menjadi salah satu bahasa pemrograman paling populer, terutama setelah diadopsi secara resmi oleh Google sebagai bahasa pilihan untuk pengembangan Android. Keunggulan utamanya terletak pada sintaksnya yang ringkas, keamanan null (null safety), serta interoperabilitasnya yang sempurna dengan Java. Memahami contoh program Kotlin dasar sangat penting untuk memulai perjalanan Anda dalam menguasai bahasa ini.
Artikel ini akan menyajikan beberapa contoh kode fundamental yang menunjukkan fitur-fitur utama Kotlin, dari struktur dasar hingga konsep pemrograman berorientasi objek (OOP) yang lebih kompleks.
Ini adalah titik awal standar. Perhatikan bagaimana Kotlin membutuhkan lebih sedikit baris kode dibandingkan bahasa lain untuk mencapai fungsi yang sama.
fun main() {
// Mencetak teks ke konsol
println("Halo, Dunia Kotlin!")
}
Kotlin membedakan antara variabel yang dapat diubah (mutable) menggunakan var dan yang tidak dapat diubah (immutable) menggunakan val. Ini mendorong praktik pengkodean yang lebih aman.
fun main() {
// Val (Immutable - mirip 'final' di Java)
val nama: String = "Budi"
// Var (Mutable)
var umur = 25 // Tipe data (Int) disimpulkan secara otomatis
umur = umur + 1 // Nilai bisa diubah
println("Nama saya $nama dan umur saya sekarang $umur tahun.")
// Contoh tipe data lain
val pi: Double = 3.14159
val isAktif: Boolean = true
}
Salah satu fitur Kotlin yang paling dicintai adalah penanganan null yang eksplisit, yang secara signifikan mengurangi risiko NullPointerException.
fun main() {
// String normal (tidak boleh null)
var namaLengkap: String = "Andi"
// String yang boleh null (ditandai dengan '?')
var alamatOpsional: String? = null
// Menggunakan '?.let' untuk mengeksekusi blok hanya jika nilainya tidak null
alamatOpsional?.let {
println("Alamat ditemukan: $it")
} ?: println("Alamat belum diisi.")
// Menggunakan operator Elvis (?:) untuk memberikan nilai default
val panjangAlamat = alamatOpsional?.length ?: 0
println("Panjang alamat adalah: $panjangAlamat")
}
Kotlin sangat kuat dalam mendukung pemrograman fungsional. Fungsi dapat menerima fungsi lain sebagai argumen (lambda).
// Fungsi yang menerima dua integer dan sebuah fungsi lambda sebagai operasi
fun kalkulasi(a: Int, b: Int, operasi: (Int, Int) -> Int): Int {
return operasi(a, b)
}
fun main() {
val hasilTambah = kalkulasi(10, 5) { x, y -> x + y }
println("Hasil Penjumlahan: $hasilTambah")
val hasilKali = kalkulasi(10, 5) { x, y -> x * y }
println("Hasil Perkalian: $hasilKali")
}
Untuk objek yang terutama menyimpan data, Kotlin menyediakan data class yang secara otomatis menghasilkan metode berguna seperti equals(), hashCode(), dan copy().
// Definisi Data Class
data class Pengguna(val id: Int, val nama: String, val email: String)
fun main() {
val user1 = Pengguna(1, "Dewi", "[email protected]")
println(user1) // Mencetak representasi yang mudah dibaca
// Membuat salinan dengan perubahan parsial
val user2 = user1.copy(nama = "Dewi Sartika")
println(user2)
}
Melalui contoh program Kotlin di atas, kita dapat melihat bagaimana bahasa ini memprioritaskan keterbacaan, keamanan, dan efisiensi. Mulai dari sintaksis yang lebih sedikit untuk tugas dasar hingga fitur canggih seperti keamanan null dan ekspresi lambda, Kotlin menawarkan pengalaman pengembangan yang menyenangkan dan produktif, baik untuk pengembangan backend, aplikasi desktop, maupun platform Android.