Kotlin API reference di kotlinlang.org/api/latest/jvm/stdlib/ adalah katalog lengkap standard library Kotlin. Berbeda dari dokumentasi tutorial yang menjelaskan konsep, API reference adalah kamus: setiap function, class, dan property di standard library punya halaman dengan tanda tangan, parameter, dan contoh kode resmi. Pada chapter ini kita memetakan package utama, mendemokan function yang paling sering dipakai, dan menunjukkan cara navigasi yang efisien.
Package Utama Standard Library #
Standard library Kotlin terbagi menjadi beberapa package besar. Berikut tiga package paling sering dipakai dan isi kuncinya:
| Package | Isi umum | Contoh symbol |
|---|---|---|
kotlin.collections | List, Set, Map, Sequence, dan operasinya | filter, map, groupBy, chunked |
kotlin.text | String, Char, dan operasinya | uppercase, split, replace, padStart |
kotlin (root) | Top-level function, scope function, primitive | let, run, apply, also, repeat, lazy |
Selain tiga package di atas, ada juga kotlin.io (I/O), kotlin.ranges (rentang), kotlin.comparisons (comparator), dan kotlin.concurrent (thread-safe).
Demo Function Standar #
Cara terbaik memahami standard library adalah melihat function yang dipakai berulang kali. Cuplikan berikut menyatukan collection operations, string operations, dan scope functions dalam satu file runnable:
// kotlin_api_reference.kt
// Tour Kotlin API reference (standard library):
// https://kotlinlang.org/api/latest/jvm/stdlib/
// Mendemokan beberapa stdlib function paling umum.
fun main() {
println("=== Kotlin API Reference (stdlib) ===")
println("Sumber: https://kotlinlang.org/api/latest/jvm/stdlib/")
println()
println("--- 1. Collection operations (kotlin.collections) ---")
val angka = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
println("angka = $angka")
println("filter genap = ${angka.filter { it % 2 == 0 }}")
println("map kuadrat = ${angka.map { it * it }}")
println("sum = ${angka.sum()}")
println("average = ${angka.average()}")
println("maxOrNull = ${angka.maxOrNull()}")
println("minOrNull = ${angka.minOrNull()}")
println("sorted desc = ${angka.sortedDescending()}")
println("take 3 = ${angka.take(3)}")
println("drop 7 = ${angka.drop(7)}")
println("chunked 3 = ${angka.chunked(3)}")
println("associate = ${angka.associateBy({ it }, { it * it })}")
println()
println("--- 2. String operations (kotlin.text) ---")
val s = "Halo, Kotlin 2.0!"
println("s = $s")
println("uppercase = ${s.uppercase()}")
println("lowercase = ${s.lowercase()}")
println("length = ${s.length}")
println("split = ${s.split(", ")}")
println("replace = ${s.replace("Kotlin", "Dunia")}")
println("startsWith(\"Halo\") = ${s.startsWith("Halo")}")
println("substring 0..4 = ${s.substring(0, 4)}")
println("trim = ${" halo ".trim()}")
println("padStart = ${"42".padStart(5, '0')}")
println()
println("--- 3. Scope functions (kotlin) ---")
data class Pengguna(var nama: String = "", var umur: Int = 0)
// let — return value lambda
val panjangNama = "Budi".let { it.length }
println("let (string length) = $panjangNama")
// run — return value lambda, no receiver arg
val ringkas = Pengguna("Siti", 30).run {
"$nama ($umur tahun)"
}
println("run = $ringkas")
// with — return value lambda, receiver sebagai arg pertama
val sb = StringBuilder()
val hasil = with(sb) {
append("halo, ")
append("dunia")
toString()
}
println("with = $hasil")
// apply — return receiver, untuk konfigurasi
val u = Pengguna().apply {
nama = "Dewi"
umur = 25
}
println("apply = $u")
// also — return receiver, untuk side effect (mis. logging)
val v = Pengguna("Eka", 22).also {
println(" juga: dibuat pengguna ${it.nama}")
}
println("also = $v")
println()
println("--- 4. stdlib lainnya ---")
val daftar = listOf(
"repeat(n) { } -> eksekusi blok n kali",
"lazy { } -> inisialisasi tertunda",
"TODO(reason) -> throw NotImplementedError",
"measureTimeMillis -> ukur waktu eksekusi",
"Pair(a, b) -> tuple 2 elemen",
"Triple(a, b, c) -> tuple 3 elemen",
"Result<T> -> tipe untuk success/failure",
"Random.nextInt(n) -> angka acak (seeded untuk test)"
)
daftar.forEach { println(" $it") }
println()
println("--- 5. Cara navigasi API reference ---")
val cara = listOf(
"Cari symbol lewat search bar (atas)",
"Browse by package (kiri) -> kotlin.collections, kotlin.text, dst",
"Setiap halaman punya: signature, contoh, sejak versi",
"Filter by platform: JVM, JS, Native, Common",
"Lihat source code lewat link 'Source' (GitHub)"
)
cara.forEach { println(" $it") }
}Output yang Dihasilkan:
=== Kotlin API Reference (stdlib) ===
Sumber: https://kotlinlang.org/api/latest/jvm/stdlib/
--- 1. Collection operations (kotlin.collections) ---
angka = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filter genap = [2, 4, 6, 8, 10]
map kuadrat = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
sum = 55
average = 5.5
maxOrNull = 10
minOrNull = 1
sorted desc = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
take 3 = [1, 2, 3]
drop 7 = [8, 9, 10]
chunked 3 = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
associate = {1=1, 2=4, 3=9, 4=16, 5=25, 6=36, 7=49, 8=64, 9=81, 10=100}
--- 2. String operations (kotlin.text) ---
s = Halo, Kotlin 2.0!
uppercase = HALO, KOTLIN 2.0!
lowercase = halo, kotlin 2.0!
length = 17
split = [Halo, Kotlin 2.0!]
replace = Halo, Dunia 2.0!
startsWith("Halo") = true
substring 0..4 = Halo
trim = halo
padStart = 00042
--- 3. Scope functions (kotlin) ---
let (string length) = 4
run = Siti (30 tahun)
with = halo, dunia
apply = Pengguna(nama=Dewi, umur=25)
juga: dibuat pengguna Eka
also = Pengguna(nama=Eka, umur=22)
--- 4. stdlib lainnya ---
repeat(n) { } -> eksekusi blok n kali
lazy { } -> inisialisasi tertunda
TODO(reason) -> throw NotImplementedError
measureTimeMillis -> ukur waktu eksekusi
Pair(a, b) -> tuple 2 elemen
Triple(a, b, c) -> tuple 3 elemen
Result<T> -> tipe untuk success/failure
Random.nextInt(n) -> angka acak (seeded untuk test)
--- 5. Cara navigasi API reference ---
Cari symbol lewat search bar (atas)
Browse by package (kiri) -> kotlin.collections, kotlin.text, dst
Setiap halaman punya: signature, contoh, sejak versi
Filter by platform: JVM, JS, Native, Common
Lihat source code lewat link 'Source' (GitHub)Perhatikan tiga kelompok utama yang dicetak: collection operations pada List<Int> (filter, map, sum, take, chunked), string operations (uppercase, split, replace, padStart), dan lima scope functions (let, run, with, apply, also) yang masing-masing punya peran berbeda.
Cara Navigasi API Reference #
Halaman API reference punya beberapa jalur navigasi. Search bar di paling atas memakai Algolia dan menerima nama symbol atau potongan teks. Sidebar kiri memetakan package; mengklik package memunculkan daftar class dan function di dalamnya. Tiap halaman symbol memuat tanda tangan lengkap, contoh kode, sejak versi Kotlin berapa ditambahkan, dan link Source ke GitHub. Filter platform di pojok kanan atas memperlihatkan ketersediaan JVM, JS, Native, dan Common — berguna saat menulis kode KMP.
Referensi Lanjutan #
- Kotlin stdlib API reference — rujukan API stdlib Kotlin/JVM terbaru yang mencakup semua paket, class, dan extension function
Selanjutnya #
Standard library adalah fondasi; selanjutnya adalah pustaka yang memperluas Kotlin untuk kasus khusus. Chapter berikutnya membahas panduan coroutines — library resmi JetBrains untuk pemrograman asinkron.