Lambda expressions


Apa Itu Lambda Expressions?

Lambda expression dalam Kotlin adalah sebuah cara untuk mengekspresikan fungsi dalam bentuk yang lebih sederhana dan lebih ringkas. Dengan lambda, Anda bisa membuat fungsi anonim yang dapat digunakan sebagai parameter untuk fungsi lain.

Sintaks Dasar

Sintaks umum dari lambda expression adalah sebagai berikut:

val lambdaName: Type = { parameter: Type -> body of the function }

Contohnya:

val sum: (Int, Int) -> Int = { a, b -> a + b }

Di sini, sum adalah nama lambda yang menerima dua parameter a dan b berjenis Int, dan mengembalikan hasil penjumlahan dari a dan b.

Penggunaan Lambda Expressions


1. Sebagai Parameter Fungsi

Lambda expressions bisa digunakan sebagai argumen untuk fungsi yang memerlukan fungsi lain sebagai parameter. Contoh:

fun calculate(operation: (Int, Int) -> Int, a: Int, b: Int): Int {
    return operation(a, b)
}

fun main() {
    val sum: (Int, Int) -> Int = { a, b -> a + b }
    val result = calculate(sum, 5, 10)
    println(result) // Output: 15
}

2. Dalam Koleksi

Anda dapat menggunakan lambda expression secara langsung saat memanggil metode pada koleksi seperti map, filter, dan forEach.

Contoh map:

val numbers = listOf(1, 2, 3, 4, 5)
val squares = numbers.map { it * it }
println(squares) // Output: [1, 4, 9, 16, 25]

Contoh filter:

val evenNumbers = numbers.filter { it % 2 == 0 }
println(evenNumbers) // Output: [2, 4]

3. Menggunakan it untuk Parameter Tunggal

Jika lambda expression hanya memiliki satu parameter, Anda bisa menggunakan it untuk merujuknya tanpa menyebutkan nama parameter:

val names = listOf("Alice", "Bob", "Charlie")
val uppercaseNames = names.map { it.toUpperCase() }
println(uppercaseNames) // Output: [ALICE, BOB, CHARLIE]

Keuntungan Menggunakan Lambda Expressions

  • Keterbacaan: Kode menjadi lebih ringkas dan mudah dibaca.
  • Fleksibilitas: Lambda dapat digunakan sebagai parameter fungsi untuk membuat fungsi yang lebih umum.
  • Fungsionalitas: Memudahkan pendekatan pemrograman fungsional dalam Kotlin.


Kesimpulan

Lambda expressions adalah fitur yang powerful dalam Kotlin yang memungkinkan Anda untuk menulis kode yang lebih bersih dan lebih efisien. Dengan menggunakan lambda, Anda bisa menyusun fungsi dan operasi dengan cara yang lebih intuitif.

Selamat mencoba dan bereksperimen dengan lambda expressions di Kotlin!