Belajar Menggunakan Fungsi apply dan copy di Kotlin


Assalamualaikum Warahmatullahi Wabarakatuh.

apply() dan copy() adalah salah satu kelebihan, yang dimiliki bahasa pemrograman Kotlin ,yang tidak terdapat di pemrograman Java, fungsi tersebut berguna untuk meringkas suatu code dan mencegah terjadinya pengulangan code (boilerpate), serta agar mudah di pahami oleh para developer.


Pada tutorial ini kita akan belajar menggunakan fungsi apply dan copy, disini kita akan membuat program sederhana dengan menggunakan kedua fungsi tersebut, untuk lebih jelasnya, silakan kalian baca tutorial berikut ini.

Materi lainnya yang direkomendasikan:

A.Penggunaan Fungsi apply() pada Kotlin

1) Buka Aplikasi IntellliJ IDEA atau sejenisnya, Buat Project Baru.

2) Selanjtunya Buat File/Class Kotlin : Klik kanan pada direktory src > New > Kotlin File/Class,.

3) Pada File/Class Koltin yang kalian buat, berikut ini merupakan source code dari contoh sederhana penggunaan apply pada kolitn.
/**
 Belajar Kotlin Bersama WILDAN TECHNO ART
 */

fun main(args: Array) {

    val programmer = dev.apply {
        nama = "Wildan Muhammad A"
        umur = 19
        jeniskelamin = "Laki-Laki"
    }
    println("Saya Programmer : $programmer")
}

//Model data
data class Programmer (
        var nama :String?,
        var umur :Int?,
        var jeniskelamin :String?
)

val dev = Programmer(null,null,null)
Penjelasan:

Pada pemrograman Kotlin, apply() merupakan salah satu fungsi tambahan, yang berguna untuk mengaplikasikan nilai, berdasarkan atribut atau method, yang telah di definisikan dalam objek. 

Pada contoh program diatas, kita dapat menggunakan fungsi tambahan apply() sebagai alternatif saat kita memanggil atau memodifikasi nilai, dengan menggunakan method Setter dan Getter, atau kalian juga dapat mengisi secara langsung argument di dalam constructor.

Output:


B.Penggunaan Fungsi copy() pada Kotlin
/**
 Belajar Kotlin Bersama WILDAN TECHN ART
 */

fun main(args: Array<String>) {

    val programmer = dev.apply {
        nama = "Wildan Muhammad A"
        umur = 19
        jeniskelamin = "Laki-Laki"
    }
    val programmer2 = dev.copy(nama = "Aziz Hapidin", umur = 22)

    println("Android Developer : $programmer \nWeb Developer : $programmer2")
}

//Model data
data class Programmer (
        var nama :String?,
        var umur :Int?,
        var jeniskelamin :String?
)

val dev = Programmer(null,null,null)
Penjelasan:

copy() adalah fungsi tambahan yang hanya terdapat di data class , pada contoh program tersebut, kita menggunakan fungsi copy() untuk menyalin semua data atau nilai, yang telah kita definisikan sebelumnya didalam objek, lalu menerapkanya pada objek baru. Kerena kita sudah mendefinisikan data class, untuk mengaplikasikan nilai, kita dapat menggunakan fungsi apply().

Output:


Terimakasih atas kunjungannya, semoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.