Function adalah unit terkecil yang dapat dipanggil ulang. Kotlin menggabungkan sintaks function dengan banyak fitur fungsional sehingga kode tetap ringkas tanpa kehilangan kejelasan.
Pelajari anatomi deklarasi function Kotlin dengan keyword fun, daftar parameter, return type, dan body yang berisi logika program.
Buka → # Parameter dan ArgumentBedakan parameter (di deklarasi function) dan argument (saat pemanggilan) serta cara menyusun banyak parameter bertipe berbeda.
Buka → # Return TypesPelajari 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 FunctionsPelajari bentuk ringkas deklarasi function dengan tanda sama dengan, tanpa kurung kurawal dan tanpa keyword return, lengkap dengan type inference.
Buka → # Default ArgumentsBerikan nilai default pada parameter function sehingga pemanggil boleh menghilangkan argumen tertentu dan menyederhanakan pemanggilan umum.
Buka → # Named ArgumentsSebut argumen dengan nama parameter eksplisit sehingga urutan bebas dan kode pemanggilan lebih jelas, terutama untuk function dengan banyak parameter Boolean.
Buka → # vararg ParametersPelajari cara membuat function yang menerima jumlah argumen variabel dengan keyword vararg, termasuk spread operator untuk meneruskan array.
Buka → # infix FunctionsPanggil function dengan sintaks `a op b` tanpa titik dan kurung sehingga kode terbaca seperti kalimat natural, contohnya `2 kali 3`.
Buka → # operator FunctionsDefinisikan ulang operator seperti +, *, in, dan [] pada tipe buatan sendiri dengan keyword operator agar pemanggilan terasa natural.
Buka → # Local FunctionsDeklarasikan function di dalam function lain untuk menyembunyikan logika penolong dan tetap mengakses variabel dari scope luar (closure).
Buka → # Extension FunctionsTambahkan method baru ke class yang sudah ada (termasuk class pihak ketiga) tanpa memodifikasi kode sumbernya, dengan resolusi statis saat kompilasi.
Buka → # tailrec FunctionsTulis function rekursif dengan keyword tailrec agar kompilator mengoptimalkan menjadi loop iteratif tanpa pertumbuhan stack call.
Buka → # Higher-Order FunctionsFunction yang menerima function lain sebagai parameter atau mengembalikan function sebagai nilai, fondasi gaya pemrograman fungsional di Kotlin.
Buka → # Function TypesTuliskan tipe function secara eksplisit sebagai (A, B) -> C, pelajari suspend function type, dan receiver type seperti Int.(Int) -> Int.
Buka → # Function ReferencesKonversi function yang sudah dideklarasikan menjadi nilai dengan operator ::, termasuk bound dan unbound references untuk top-level dan member function.
Buka → # inline FunctionsTandai higher-order function dengan keyword inline agar kompilator menyalin body ke call site dan mengurangi overhead alokasi lambda.
Buka → # noinline dan crossinlineKontrol perilaku inline function: noinline untuk parameter yang tidak boleh di-inline, crossinline untuk melarang non-local return.
Buka → # Pure Functions dan Side EffectsBedakan pure function yang outputnya hanya bergantung pada input dari function impure yang mengakses state global, IO, atau random.
Buka →