Study
Scala

Higher-Order Function & Lambda di Scala

Penjelasan

Higher-order function adalah fungsi yang menerima fungsi lain sebagai parameter, atau mengembalikan fungsi sebagai hasilnya — konsep inti functional programming. Scala memakai sintaks `(parameter) => ekspresi` untuk anonymous function (lambda). Method collection bawaan seperti `map`, `filter`, dan `reduce` sangat mengandalkan pola ini.

Contoh Konsep

val angka = List(1, 2, 3, 4, 5)

// map: transformasi tiap elemen
val kuadrat = angka.map(x => x * x)
println(kuadrat)   // List(1, 4, 9, 16, 25)

// filter: menyaring elemen
val genap = angka.filter(x => x % 2 == 0)
println(genap)      // List(2, 4)

// reduce: menggabungkan semua elemen jadi satu nilai
val total = angka.reduce((a, b) => a + b)
println(total)       // 15

Praktikum

Dari List(1,2,3,4,5,6,7,8,9,10), pakai filter untuk mengambil angka genap, lalu pakai map untuk mengalikannya dengan 10.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Scala punya sintaks pemendekan `_` untuk lambda sederhana, misal `angka.map(_ * 2)` sama dengan `angka.map(x => x * 2)` — berguna untuk kode ringkas, tapi jangan berlebihan sampai sulit dibaca.