Fungsi & Lambda
Definisikan fungsi dengan parameter dan tipe pengembalian, gunakan argumen bawaan dan bernama, serta tulis ekspresi lambda yang ringkas.
Fungsi & Lambda adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 3 pelajaran total.
Mengapa Fungsi?
Fungsi memungkinkan Anda menulis satu blok kode lalu menggunakannya kembali di mana saja.
- Mengurangi pengulangan
- Membuat kode lebih mudah dibaca dan diuji
- Memecah masalah besar menjadi bagian-bagian yang lebih kecil
Dalam Kotlin, fungsi merupakan elemen kelas satu — Anda dapat menyimpannya dalam variabel dan meneruskannya.
Sintaks Fungsi Dasar
Fungsi Kotlin menggunakan kata kunci fun:
fun greet(name: String): String {
return "Hello, $name!"
}
fun main() {
val msg = greet("Alice")
println(msg) // Hello, Alice!
println(greet("Bob")) // Hello, Bob!
}Fungsi Ekspresi Tunggal
Jika isi fungsi hanya berupa satu ekspresi, Anda dapat menggunakan = dan menghilangkan kurung kurawal serta return:
fun square(n: Int): Int = n * n
fun add(a: Int, b: Int) = a + b // type inferred
fun main() {
println(square(5)) // 25
println(add(3, 7)) // 10
}Argumen Default & Bernama
Fungsi Kotlin mendukung nilai parameter default — Anda tidak perlu membuat fungsi dengan variasi parameter:
- Default:
fun greet(name: String = "World") - Bernama: panggil dengan
greet(name = "Alice")untuk mengabaikan urutan posisi
Default & Bernama dalam Praktik
Argumen default membuat API Anda tetap rapi:
fun buildProfile(
name: String,
age: Int = 0,
role: String = "User"
): String {
return "$name | age=$age | $role"
}
fun main() {
println(buildProfile("Alice"))
println(buildProfile("Bob", age = 30))
println(buildProfile("Carol", 25, "Admin"))
}Apa Itu Lambda?
Lambda adalah fungsi anonim — fungsi tanpa nama.
- Sintaks:
{ params -> body } - Disimpan dalam variabel:
val double = { x: Int -> x * 2 } - Diteruskan ke fungsi lain sebagai argumen
Lambda ada di berbagai bagian Android: pendengar klik, transformasi daftar, dan coroutine.
Contoh Lambda
Simpan dan panggil lambda seperti fungsi biasa:
fun main() {
val double = { x: Int -> x * 2 }
println(double(4)) // 8
val add = { a: Int, b: Int -> a + b }
println(add(3, 5)) // 8
// Lambda with no params
val sayHi = { println("Hi!") }
sayHi() // Hi!
}Fungsi Orde Tinggi
Fungsi orde tinggi menerima fungsi lain sebagai parameter atau mengembalikan fungsi.
Pustaka standar Kotlin penuh dengan fungsi seperti ini: filter, map, forEach.
Sintaks lambda di akhir: ketika argumen terakhir berupa lambda, pindahkan lambda tersebut ke luar tanda kurung.
Sintaks Lambda di Akhir
Teruskan lambda sebagai argumen terakhir di luar tanda kurung:
fun applyTwice(n: Int, operation: (Int) -> Int): Int {
return operation(operation(n))
}
fun main() {
val result = applyTwice(3) { x -> x * 2 }
println(result) // 12 (3 * 2 = 6, 6 * 2 = 12)
// 'it' is the implicit single parameter
val doubled = applyTwice(5) { it + it }
println(doubled) // 20
}Pemeriksaan Singkat
Perhatikan kode ini. Apa yang akan dicetaknya?
val triple = { x: Int -> x * 3 }
println(triple(4))
Ringkasan: Fungsi & Lambda
Anda telah mempelajari:
funmendefinisikan fungsi dengan parameter dan tipe kembalian- Fungsi ekspresi tunggal menggunakan bentuk singkat
= - Argumen default dan bernama menggantikan fungsi dengan variasi parameter
- Lambda adalah fungsi anonim:
{ params -> body } - Fungsi orde tinggi menerima fungsi sebagai parameter
Berikutnya: mengendalikan alur program dengan kondisi dan perulangan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Fungsi & Lambda” gratis?
Ya — teks lengkap “Fungsi & Lambda” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Fungsi & Lambda”?
Definisikan fungsi dengan parameter dan tipe pengembalian, gunakan argumen bawaan dan bernama, serta tulis ekspresi lambda yang ringkas. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 3.
Berapa lama pelajaran “Fungsi & Lambda” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Variabel & Tipe Data
- Fungsi & Lambda
- Alur Kendali