Operasi pada koleksi filter, map, reduce


Kotlin adalah bahasa pemrograman yang modern dan statis yang dirancang untuk menggantikan Java di platform Android. Salah satu fitur yang kuat dari Kotlin adalah kemampuannya untuk melakukan operasi pada koleksi dengan cara yang intuitif dan efisien. Dalam tutorial ini, kita akan membahas tentang tiga operasi utama pada koleksi di Kotlin: filter, map, dan reduce.

1. Filter

Operasi filter digunakan untuk menyaring elemen dari koleksi berdasarkan kondisi tertentu. Dalam konteks koleksi, filter akan menghasilkan koleksi baru yang hanya berisi elemen yang memenuhi kriteria yang ditentukan.

Contoh Penggunaan Filter

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6)
    val evenNumbers = numbers.filter { it % 2 == 0 }

    println(evenNumbers)  // Output: [2, 4, 6]
}

Dalam contoh di atas, kita memiliki daftar angka dan kita menggunakan fungsi filter untuk mendapatkan hanya angka genap.

2. Map

Operasi map digunakan untuk mengubah setiap elemen dalam koleksi menjadi elemen baru. Ini berguna ketika kita ingin memproses atau mentransformasikan data.

Contoh Penggunaan Map

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)
    val squares = numbers.map { it * it }

    println(squares)  // Output: [1, 4, 9, 16, 25]
}

Dalam contoh ini, kita menggunakan fungsi map untuk menghitung kuadrat dari setiap angka dalam daftar.

3. Reduce

Operasi reduce digunakan untuk mengakumulasi semua elemen dalam koleksi menjadi satu nilai berdasarkan operasi yang diberikan. Ini biasanya digunakan untuk menghasilkan nilai agregat, seperti jumlah total atau produk.

Contoh Penggunaan Reduce

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)
    val sum = numbers.reduce { acc, number -> acc + number }

    println(sum)  // Output: 15
}

Dalam contoh ini, kita menggunakan fungsi reduce untuk menjumlahkan semua angka dalam daftar.

Menggabungkan Operasi

Kita juga dapat menggabungkan operasi filter, map, dan reduce untuk melakukan pemrosesan yang lebih kompleks.

Contoh Penggabungan Operasi

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

    val result = numbers
        .filter { it % 2 == 0 }
        .map { it * it }
        .reduce { acc, number -> acc + number }

    println(result)  // Output: 220
}

Dalam contoh ini, kita menyaring angka genap, menghitung kuadrat dari angka genap tersebut, dan kemudian menjumlahkan semua kuadrat yang dihasilkan.

Kesimpulan

Dalam tutorial ini, kita telah membahas tentang operasi dasar pada koleksi di Kotlin: filter, map, dan reduce. Ketiga operasi ini memungkinkan kita untuk memanipulasi dan memproses data dengan cara yang sangat efisien dan mudah dibaca. Dengan memahami operasi ini, Anda akan dapat bekerja dengan koleksi di Kotlin secara lebih efektif.