Dokumentasi resmi Kotlin di kotlinlang.org/docs/home.html adalah sumber primer yang paling otoritatif untuk mempelajari bahasa ini. Situs tersebut dikelola langsung oleh JetBrains dan diperbarui setiap rilis mayor. Pada chapter ini kita memetakan bagian utama dokumentasi, menjelaskan kapan masing-masing dibaca, dan mendemokan beberapa cuplikan kode klasik yang sering muncul di sana. Tujuan akhir kita adalah membentuk kebiasaan membaca dokumentasi resmi sebelum mencari jawaban di tempat lain.
Peta Bagian Dokumentasi #
Dokumentasi resmi Kotlin terbagi menjadi beberapa bagian besar. Tiap bagian punya tujuan berbeda dan ditujukan untuk tahapan belajar berbeda. Berikut ringkasan bagian utama:
| Bagian | Isi | Cocok untuk |
|---|---|---|
| Get Started | Instalasi, halo dunia, sintaks dasar | Pemula yang baru memegang Kotlin |
| Tour of Kotlin | Ringkasan fitur utama dalam 20 menit baca | Pemula yang ingin gambaran umum |
| Basics | Tipe data, kontrol alur, function | Pemula hingga menengah |
| Idioms | Pola umum yang direkomendasikan | Menengah |
| Coroutines Guide | Async programming lengkap | Menengah ke lanjut |
| Kotlin Multiplatform | KMP lintas target | Lanjut |
| Null Safety | Sistem tipe nullable/non-nullable | Pemula hingga menengah |
| Type-Safe Builders | DSL builder dengan lambda receiver | Lanjut |
Idioms dan Kotlin by Example #
Halaman Idioms berisi cuplikan kode singkat yang menunjukkan cara idiomatik Kotlin menulis pola umum. Membaca halaman ini sekali sebelum mulai menulis Kotlin nyata sangat disarankan, karena banyak cara yang tampak natural bagi programmer Java ternyata bukan cara terbaik di Kotlin. Halaman Kotlin by Example memperluas pola tersebut dengan kasus konkret: data class dengan destructuring, range check, dan scope function apply.
Cuplikan berikut menyatukan halo dunia, idiom utama (default argument, filter-map, elvis, when), dan Kotlin by Example dalam satu file runnable:
// dokumentasi_resmi.kt
// Tour singkat dokumentasi resmi Kotlin (https://kotlinlang.org/docs/home.html)
// Demo: beberapa konsep yang bisa ditemukan di dokumentasi resmi.
// 1. Tour of Kotlin — halaman "Get Started" mendemokan halo dunia
fun haloDunia() = println("Halo, Kotlin!")
// 2. Idioms — pola umum yang direkomendasikan dokumentasi resmi
fun idioms() {
// Default argument
fun sapa(nama: String, salam: String = "Halo") = println("$salam, $nama!")
sapa("Budi")
sapa("Siti", "Selamat pagi")
// Filter + map chain
val angka = listOf(1, 2, 3, 4, 5, 6)
val genap = angka.filter { it % 2 == 0 }.map { it * 10 }
println("Genap dikali 10: $genap")
// Elvis operator
val nama: String? = null
println("Nama: ${nama ?: "(tidak diketahui)"}")
// when expression
fun deskripsi(x: Int) = when {
x < 0 -> "negatif"
x == 0 -> "nol"
else -> "positif"
}
println("deskripsi(-5) = ${deskripsi(-5)}")
println("deskripsi(0) = ${deskripsi(0)}")
println("deskripsi(7) = ${deskripsi(7)}")
}
// 3. Kotlin by Example — sample kode di https://kotlinlang.org/docs/home.html
fun kotlinByExample() {
// Data class dengan destructuring
data class Titik(val x: Int, val y: Int)
val (x, y) = Titik(3, 4)
println("Titik: x=$x, y=$y, jarak=${Math.sqrt((x * x + y * y).toDouble()).toInt()}")
// Range
val rentang = 1..5
println("1..5 contains 3: ${3 in rentang}")
// Scope function 'apply'
val sb = StringBuilder().apply {
append("halo, ")
append("dunia")
}
println("StringBuilder: $sb")
}
fun main() {
println("=== Dokumentasi Resmi Kotlin ===")
println("Sumber: https://kotlinlang.org/docs/home.html")
println()
println("--- 1. Get Started — halo dunia ---")
haloDunia()
println()
println("--- 2. Idioms — pola umum ---")
idioms()
println()
println("--- 3. Kotlin by Example ---")
kotlinByExample()
println()
println("--- 4. Bagian utama dokumentasi resmi ---")
val bagian = listOf(
"Get Started -> instalasi, halo dunia, sintaks dasar",
"Tour of Kotlin -> ringkasan fitur utama (20 menit baca)",
"Basics -> tipe data, kontrol alur, function",
"Idioms -> pola umum yang direkomendasikan",
"Coroutine Guide -> async programming lengkap",
"Kotlin Multiplatform -> KMP untuk target lintas platform",
"Null Safety -> sistem tipe nullable/non-nullable",
"Type-Safe Builders -> DSL builder dengan lambda receiver"
)
bagian.forEach { println(" $it") }
println()
println("--- 5. Cara mengakses dokumentasi ---")
println(" Web: https://kotlinlang.org/docs/home.html")
println(" Search: Ctrl+K di halaman dok (algolia)")
println(" Offline: kotlinlang.org/docs/docs.zip (PDF/HTML bundle)")
println(" In-IDE: F1 di symbol IntelliJ -> tampilkan dok Kotlin")
}Output yang Dihasilkan:
=== Dokumentasi Resmi Kotlin ===
Sumber: https://kotlinlang.org/docs/home.html
--- 1. Get Started — halo dunia ---
Halo, Kotlin!
--- 2. Idioms — pola umum ---
Halo, Budi!
Selamat pagi, Siti!
Genap dikali 10: [20, 40, 60]
Nama: (tidak diketahui)
deskripsi(-5) = negatif
deskripsi(0) = nol
deskripsi(7) = positif
--- 3. Kotlin by Example ---
Titik: x=3, y=4, jarak=5
1..5 contains 3: true
StringBuilder: halo, dunia
--- 4. Bagian utama dokumentasi resmi ---
Get Started -> instalasi, halo dunia, sintaks dasar
Tour of Kotlin -> ringkasan fitur utama (20 menit baca)
Basics -> tipe data, kontrol alur, function
Idioms -> pola umum yang direkomendasikan
Coroutine Guide -> async programming lengkap
Kotlin Multiplatform -> KMP untuk target lintas platform
Null Safety -> sistem tipe nullable/non-nullable
Type-Safe Builders -> DSL builder dengan lambda receiver
--- 5. Cara mengakses dokumentasi ---
Web: https://kotlinlang.org/docs/home.html
Search: Ctrl+K di halaman dok (algolia)
Offline: kotlinlang.org/docs/docs.zip (PDF/HTML bundle)
In-IDE: F1 di symbol IntelliJ -> tampilkan dok KotlinPerhatikan tiga kelompok utama yang dicetak: halo dunia dari halaman Get Started, idiom default argument dan filter-map, lalu Kotlin by Example dengan data class destructuring, range, dan apply. File lengkap juga mencetak daftar bagian utama dokumentasi dan cara mengaksesnya.
Cara Navigasi Dokumentasi #
Navigasi dokumentasi resmi lebih efektif bila kita tahu ke mana mencari. Empat jalur berikut dipakai pembaca berpengalaman:
- Search bar (Ctrl+K) — bertenaga Algolia, mencari symbol, halaman, atau frasa dengan cepat.
- Browse by package — di sidebar kiri; tiap package (
kotlin.collections,kotlin.text, dst.) punya daftar function. - Filter by platform — toggle JVM, JS, Native, Common di pojok kanan atas untuk melihat ketersediaan API.
- Source link (GitHub) — tiap halaman API punya tautan
Sourceyang membuka kode implementasi di GitHub.
Kapan Baca, Kapan Cari Lain #
Dokumentasi resmi adalah rujukan pertama untuk perilaku bahasa, tanda tangan API, dan contoh resmi. Saat kita bertemu error kompilator atau perilaku tak terduga, langkah pertama adalah cari pesan tersebut di search bar dokumentasi resmi. Bila dokumentasi resmi tidak menjawab, baru kita lanjut ke Stack Overflow, issue tracker Kotlin, atau blog komunitas. Berpegang pada urutan ini mempercepat pencarian karena dokumentasi resmi selalu sinkron dengan versi Kotlin yang kita pakai.
Referensi Lanjutan #
- Kotlin documentation home — halaman utama dokumentasi resmi Kotlin sebagai titik masuk semua panduan bahasa, API, dan tutorial
Selanjutnya #
Untuk pertanyaan formal tentang semantik bahasa (misalnya kapan smart cast berlaku, atau bagaimana overload resolution dipilih), dokumentasi resmi punya satu bagian khusus: Kotlin Language Specification. Chapter berikutnya membahas struktur spec dan cara membacanya.