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:

BagianIsiCocok untuk
Get StartedInstalasi, halo dunia, sintaks dasarPemula yang baru memegang Kotlin
Tour of KotlinRingkasan fitur utama dalam 20 menit bacaPemula yang ingin gambaran umum
BasicsTipe data, kontrol alur, functionPemula hingga menengah
IdiomsPola umum yang direkomendasikanMenengah
Coroutines GuideAsync programming lengkapMenengah ke lanjut
Kotlin MultiplatformKMP lintas targetLanjut
Null SafetySistem tipe nullable/non-nullablePemula hingga menengah
Type-Safe BuildersDSL builder dengan lambda receiverLanjut

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:

kotlin
// 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:

text
=== 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 Kotlin

Perhatikan 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:

  1. Search bar (Ctrl+K) — bertenaga Algolia, mencari symbol, halaman, atau frasa dengan cepat.
  2. Browse by package — di sidebar kiri; tiap package (kotlin.collections, kotlin.text, dst.) punya daftar function.
  3. Filter by platform — toggle JVM, JS, Native, Common di pojok kanan atas untuk melihat ketersediaan API.
  4. Source link (GitHub) — tiap halaman API punya tautan Source yang 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.