Function adalah unit terkecil yang dapat dipanggil ulang. Kotlin menggabungkan sintaks function dengan banyak fitur fungsional sehingga kode tetap ringkas tanpa kehilangan kejelasan.

# Deklarasi Function

Pelajari anatomi deklarasi function Kotlin dengan keyword fun, daftar parameter, return type, dan body yang berisi logika program.

Buka →
# Parameter dan Argument

Bedakan parameter (di deklarasi function) dan argument (saat pemanggilan) serta cara menyusun banyak parameter bertipe berbeda.

Buka →
# Return Types

Pelajari tiga jenis return type di Kotlin: tipe konkret, Unit untuk function tanpa nilai kembalian, dan Nothing untuk function yang tidak pernah kembali normal.

Buka →
# Single-Expression Functions

Pelajari bentuk ringkas deklarasi function dengan tanda sama dengan, tanpa kurung kurawal dan tanpa keyword return, lengkap dengan type inference.

Buka →
# Default Arguments

Berikan nilai default pada parameter function sehingga pemanggil boleh menghilangkan argumen tertentu dan menyederhanakan pemanggilan umum.

Buka →
# Named Arguments

Sebut argumen dengan nama parameter eksplisit sehingga urutan bebas dan kode pemanggilan lebih jelas, terutama untuk function dengan banyak parameter Boolean.

Buka →
# vararg Parameters

Pelajari cara membuat function yang menerima jumlah argumen variabel dengan keyword vararg, termasuk spread operator untuk meneruskan array.

Buka →
# infix Functions

Panggil function dengan sintaks `a op b` tanpa titik dan kurung sehingga kode terbaca seperti kalimat natural, contohnya `2 kali 3`.

Buka →
# operator Functions

Definisikan ulang operator seperti +, *, in, dan [] pada tipe buatan sendiri dengan keyword operator agar pemanggilan terasa natural.

Buka →
# Local Functions

Deklarasikan function di dalam function lain untuk menyembunyikan logika penolong dan tetap mengakses variabel dari scope luar (closure).

Buka →
# Extension Functions

Tambahkan method baru ke class yang sudah ada (termasuk class pihak ketiga) tanpa memodifikasi kode sumbernya, dengan resolusi statis saat kompilasi.

Buka →
# tailrec Functions

Tulis function rekursif dengan keyword tailrec agar kompilator mengoptimalkan menjadi loop iteratif tanpa pertumbuhan stack call.

Buka →
# Higher-Order Functions

Function yang menerima function lain sebagai parameter atau mengembalikan function sebagai nilai, fondasi gaya pemrograman fungsional di Kotlin.

Buka →
# Function Types

Tuliskan tipe function secara eksplisit sebagai (A, B) -> C, pelajari suspend function type, dan receiver type seperti Int.(Int) -> Int.

Buka →
# Function References

Konversi function yang sudah dideklarasikan menjadi nilai dengan operator ::, termasuk bound dan unbound references untuk top-level dan member function.

Buka →
# inline Functions

Tandai higher-order function dengan keyword inline agar kompilator menyalin body ke call site dan mengurangi overhead alokasi lambda.

Buka →
# noinline dan crossinline

Kontrol perilaku inline function: noinline untuk parameter yang tidak boleh di-inline, crossinline untuk melarang non-local return.

Buka →
# Pure Functions dan Side Effects

Bedakan pure function yang outputnya hanya bergantung pada input dari function impure yang mengakses state global, IO, atau random.

Buka →