Abstraksi dan enkapsulasi


Pendahuluan

Dalam pemrograman berorientasi objek, dua konsep penting yang sering digunakan adalah abstraksi dan enkapsulasi. Kotlin, sebagai bahasa pemrograman modern, mendukung kedua konsep ini dengan baik. Dalam tutorial ini, kita akan membahas apa itu abstraksi dan enkapsulasi serta bagaimana cara menerapkannya dalam Kotlin.

Apa Itu Abstraksi?

Abstraksi adalah proses menyembunyikan detail implementasi dan menunjukkan hanya fitur penting dari objek tersebut. Tujuannya adalah untuk mengurangi kompleksitas dan meningkatkan pemahaman terhadap program. Di Kotlin, kita biasanya menggunakan abstract classes dan interfaces untuk mencapai abstraksi.

Contoh Abstraksi dengan Abstract Class

// Mendefinisikan kelas abstrak
abstract class Kendaraan(val merk: String) {
    abstract fun jalan()
}

// Kelas Turunan
class Mobil(merk: String) : Kendaraan(merk) {
    override fun jalan() {
        println("$merk sedang berjalan di jalan.")
    }
}

Contoh Abstraksi dengan Interface

// Mendefinisikan interface
interface Kendaraan {
    fun jalan()
}

// Kelas Implementasi
class Sepeda(override val merk: String) : Kendaraan {
    override fun jalan() {
        println("$merk sedang bersepeda.")
    }
}

Apa Itu Enkapsulasi?

Enkapsulasi adalah prinsip menyembunyikan data dalam suatu objek dan hanya memberikan akses melalui metode yang ditentukan. Ini membantu menjaga integritas data dan mencegah akses langsung ke variabel objek.

Contoh Enkapsulasi di Kotlin

class AkunBank(private var saldo: Double) {

    // Metode untuk menambah saldo
    fun setSaldo(jumlah: Double) {
        if (jumlah > 0) {
            saldo += jumlah
        }
    }

    // Metode untuk mendapatkan saldo
    fun getSaldo(): Double {
        return saldo
    }
}

Menggunakan Enkapsulasi

fun main() {
    val akun = AkunBank(1000.0)

    // Menambah saldo
    akun.setSaldo(500.0)

    // Mendapatkan saldo
    println("Saldo Anda: ${akun.getSaldo()}")
}

Kesimpulan

Dalam tutorial ini, kita telah membahas tentang abstraksi dan enkapsulasi dalam Kotlin. Keduanya merupakan konsep penting dalam pemrograman berorientasi objek yang membantu meningkatkan struktur dan keamanan kode. Semoga tutorial ini bermanfaat untuk pemahaman Anda tentang Kotlin.