Function adalah blok kode terpisah yang dapat dipanggil berulang untuk menjalankan tugas tertentu. Dengan function, kita tidak perlu menulis ulang logika yang sama di banyak tempat. Kotlin menggunakan keyword fun untuk mendeklarasikan function, mirip dengan bahasa C-like lainnya namun jauh lebih ringkas. Pada chapter ini kita akan membongkar anatomi sebuah deklarasi function, mulai dari nama, daftar parameter, tipe kembalian, hingga isi body.
Anatomi Deklarasi Function #
Bentuk paling umum deklarasi function di Kotlin terdiri dari lima bagian: keyword fun, nama function, daftar parameter dalam tanda kurung, tipe kembalian setelah tanda titik dua, dan body di dalam kurung kurawal. Perhatikan contoh berikut yang menjumlahkan dua bilangan bulat.
fun tambah(a: Int, b: Int): Int {
return a + b
}
fun sapa(nama: String) {
println("Halo, $nama! Selamat datang di Kotlin.")
}
fun main() {
val hasil = tambah(3, 5)
println("Hasil 3 + 5 = $hasil")
sapa("Budi")
sapa("Siti")
}Output yang Dihasilkan:
Hasil 3 + 5 = 8
Halo, Budi! Selamat datang di Kotlin.
Halo, Siti! Selamat datang di Kotlin.Mari kita bedah baris per baris:
fun tambah(a: Int, b: Int): Int: keywordfunmemulai deklarasi. Nama function adalahtambah. Daftar parameter menuliskan tipe secara eksplisit —a: Intdanb: Int. Setelah tanda kurung tutup, tanda titik dua diikuti tipe kembalianInt.return a + b: kata kuncireturnmengirimkan hasil ekspresia + bkepada pemanggil. Karena tipe kembalianInt, hasil ekspresi harus kompatibel denganInt.fun sapa(nama: String): functionsapatidak menuliskan tipe kembalian. Kotlin menyimpulkan tipe kembalianUnitsecara default.println(...): function dari standard library Kotlin untuk mencetak teks ke stdout. Pemanggilan ini adalah satu-satunya isi bodysapa.val hasil = tambah(3, 5): pemanggilan functiontambahdengan argumen3dan5. Hasilnya disimpan ke variabel read-onlyhasil.
Komponen Wajib dan Opsional #
Tabel berikut merangkum komponen deklarasi function dan mana yang wajib dituliskan.
| Komponen | Wajib? | Contoh |
|---|---|---|
fun keyword | Ya | fun |
| Nama function | Ya | tambah, sapa |
| Daftar parameter | Boleh kosong | (a: Int, b: Int) atau () |
| Tipe kembalian | Opsional | : Int, defaultnya Unit |
Body { ... } | Ya (kecuali single-expression) | { return a + b } |
Nama function di Kotlin menggunakan lowerCamelCase sesuai konvensi resmi. Penamaan yang konsisten membantu pembaca kode memahami maksud tanpa harus membuka isi body.
Aturan Parameter #
Setiap parameter wajib diberi tipe secara eksplisit. Kotlin tidak melakukan type inference untuk parameter function seperti halnya variabel lokal. Tipe parameter ditulis setelah tanda titik dua, dipisahkan dengan koma bila ada lebih dari satu parameter.
fun buatProfil(nama: String, umur: Int, menikah: Boolean): String {
return "$nama, umur $umur, menikah=$menikah"
}Parameter bersifat immutable secara default — kita tidak dapat menugaskan ulang nilai nama, umur, atau menikah di dalam body. Bila membutuhkan variabel yang dapat berubah, deklarasikan variabel lokal baru dengan var.
Body Tanpa Return Eksplisit #
Bila sebuah function dideklarasikan tanpa return, Kotlin mengembalikan Unit secara implisit. Unit adalah tipe yang memiliki satu nilai saja, yaitu Unit — mirip void di Java tetapi tetap merupakan nilai konkret. Berikut dua bentuk function yang setara:
fun sapa1(nama: String): Unit {
println("Halo, $nama")
}
fun sapa2(nama: String) {
println("Halo, $nama")
}Referensi Lanjutan #
- Kotlin functions — panduan resmi deklarasi function, parameter, dan tipe kembalian di Kotlin
- Kotlin basic syntax
— ringkasan sintaks dasar Kotlin termasuk deklarasi
fununtuk function
Ringkasan #
Deklarasi function di Kotlin menggabungkan kejelasan tipe dengan ringkasnya sintaks. Keyword fun memulai deklarasi, parameter wajib bertipe eksplisit, tipe kembalian boleh dihilangkan bila Unit. Pada chapter Parameter dan Argument berikutnya, kita akan membedah perbedaan istilah parameter dan argument serta bagaimana keduanya bekerja sama saat pemanggilan function.