Sebelum menulis satu baris kode pun, kita perlu memahami alat apa yang sedang kita pegang. Kotlin adalah bahasa pemrograman modern berstatik type-safe yang dikembangkan oleh JetBrains dan kini menjadi bahasa resmi untuk pengembangan Android bersama Java. Pada chapter ini kita akan mengenal definisi Kotlin, sejarahnya, dan ciri utama yang membuatnya diminati di banyak bidang.
Definisi Singkat #
Kotlin adalah bahasa pemrograman general-purpose yang dikompilasi ke bytecode JVM, JavaScript, atau native binary. Bahasa ini dibuat oleh JetBrains dan pertama kali dirilis ke publik pada Februari 2016 dalam versi 1.0. Sejak 2017 Google mengumumkan dukungan resmi Kotlin untuk Android, dan pada 2019 Kotlin menjadi bahasa utama yang direkomendasikan untuk Android.
Istilah “berstatik type-safe” berarti kompilator mengetahui tipe setiap variabel saat kompilasi, sehingga banyak kelas galat dapat dideteksi sebelum program dijalankan. Hal yang sama juga dimiliki Java, namun Kotlin menambahkan lapisan keamanan tambahan berupa sistem tipe null-safety bawaan yang akan kita bahas tuntas pada section khusus.
Filosofi Desain Kotlin #
Kotlin tumbuh dengan prinsip utama: menjadi bahasa yang ringkas (concise), aman (safe), dan dapat berinteroperasi penuh dengan Java (interoperable). Tiga prinsip tersebut memengaruhi setiap fitur bahasa, mulai dari type inference sampai data class yang menyingkat puluh baris boilerplate Java menjadi satu deklarasi tunggal.
Berikut ciri paling menonjol yang akan kita temui sepanjang Course ini:
| Ciri | Artinya bagi kita |
|---|---|
| Sintaks ringkas | Kode lebih pendek; tidak ada titik koma, tidak ada new, tidak perlu get/set manual |
| Null-safety bawaan | Tipe nullable (String?) dipisah dari non-nullable (String) di level kompilator |
| Type inference | Kompilator menentukan tipe dari nilai tanpa kita menulisnya secara eksplisit |
| Interoperable dengan Java | Kode Kotlin dapat memanggil library Java langsung dan sebaliknya |
| Multi-paradigm | Mendukung pemrograman berorientasi object, fungsional, dan prosedural |
| Multiplatform | Satu kode dapat dikompilasi ke JVM, JS, Native, dan Android |
Konsep null-safety, type inference, dan interoperable akan kita bedah tuntas pada chapter-chapter berikutnya; untuk sekarang, cukup pahami bahwa Kotlin mengurus banyak detail teknis supaya kita bisa fokus pada logika program.
Kode Kotlin Pertama #
Mari kita lihat wujud Kotlin yang paling sederhana. Simpan kode berikut sebagai file halo.kt, lalu kompilasi dan jalankan:
fun main() {
println("Halo, Kotlin!")
val nama = "Budi"
val tahunBelajar = 2026
println("Saya $nama mulai belajar Kotlin pada $tahunBelajar")
}Output yang Dihasilkan:
Halo, Kotlin!
Saya Budi mulai belajar Kotlin pada 2026Mari kita telaah baris-baris kode di atas:
- Baris 1 (
fun main() { ... }): keywordfunmendeklarasikan function.mainadalah titik masuk program Kotlin. Tidak perlu membungkusnya dalamclassseperti di Java. - Baris 2 (
println("Halo, Kotlin!")): functionprintlnmencetak teks ke layar diikuti newline.printlnadalah bagian dari standard library Kotlin. - Baris 3 (
val nama = "Budi"): keywordvalmendeklarasikan variabel read-only. Kompilator menyimpulkan tipeStringdari nilai"Budi"tanpa kita menyebutkannya. - Baris 4 (
val tahunBelajar = 2026): variabeltahunBelajarmenyimpan bilangan bulat2026. TipeIntditentukan kompilator dari nilai literal. - Baris 5 (
println("Saya $nama ...")): tanda$di dalam string literal memicu string template — Kotlin akan mengganti$namadengan nilai variabelnamasaat mencetak.
Perhatikan bahwa tidak ada tanda titik koma di akhir baris, dan blok kode dibatasi oleh kurung kurawal {} mirip Java. Tidak seperti Python yang memakai indentasi, struktur kode Kotlin tetap mengandalkan kurung kurawal.
Mengapa Kotlin Banyak Dipilih #
Kotlin tidak menjadi populer hanya karena dipromosikan JetBrains dan Google. Bahasa ini menyelesaikan masalah nyata yang dihadapi developer Java sehari-hari: boilerplate get/set, null yang tidak terduga, dan lambdanya yang verbose. Dengan Kotlin, class data sederhana cukup ditulis satu baris:
data class Pengguna(val nama: String, val umur: Int)Padanannya dalam Java memerlukan deklarasi field, constructor, getter, equals, hashCode, dan toString — totalnya sekitar 40 baris kode. Selisih ini akan terasa nyata ketika kita membangun aplikasi yang punya puluhan model domain.
Referensi Lanjutan #
- Kotlin documentation home — halaman utama dokumentasi resmi Kotlin sebagai pintu masuk seluruh panduan bahasa
- What’s new in Kotlin 2.0 — catatan rilis Kotlin 2.0 yang merangkum fitur terbaru bahasa dan kompilator K2
Selanjutnya #
Dengan gambaran apa itu Kotlin, langkah berikutnya adalah memahami sejarah singkat Kotlin dan ekosistem yang menopangnya — materi yang akan kita bahas pada chapter Sejarah dan Ekosistem Kotlin.