Media Belajar Bahasa Pemrograman | by APPKEY

Kotlin Tutorial Kotlin 22 : Mengenal Kotlin Enum Class dan...

Tutorial Kotlin 22 : Mengenal Kotlin Enum Class dan Fungsinya

-

Seperti bahasa pemrograman yang menerapkan object oriented programming atau pemrograman berbasis objek lainnya, dalam bahasa Kotlin juga dikenal dengan istilah enumeration.

Dalam pemrograman, terkadang muncul kebutuhan untuk mengetikan sesuatu hanya untuk menambahkan nilai yang pasti, oleh karena iti konsep enum pun diperkenalkan dan digunakan di berbagai bahasa pemrograman termasuk Kotlin.

Pada bahasan seri Tutorial Kotlin kali ini, Codekey akan membahas tentang enum Kotlin. Jika Anda tertarik dengan pembahasan kali ini, pastikan Anda membaca artikel ini sampai akhir.

Kotlin Enum Class

kotlin-18

Kotlin enum berisikan daftar nama dari konstanta. Enumeration pada kotlin memiliki tipe khusus yang mengindikasikan sesuatu yang memiliki angka atau nilai yang mungkin. Tidak seperti Java, Kotlin enum sendiri berbentuk kelas.

Saat Anda memodelkan data aplikasi Anda, beberapa konsep akan memiliki serangkaian kemungkinan yang terbatas. Contohnya adalah aplikasi yang terdapat fitur dark mode. Dalam kasus seperti ini, Anda mendefinisikan enum dengan dua hal yang telah ditentukan: LIGHT dan DARK. Oleh karena itu tidak akan ada hal lain yang mungkin muncul karena dua kasus tersebut saling terkait.

Ketika Anda memiliki bidang kemungkinan yang terdefinisi dengan baik, enum adalah fitur yang sangat bagus untuk digunakan. Dengan menggunakan Enum, kode Anda memiliki pemeriksaan waktu kompilasi yang mencegah pengembang menggunakan kasus yang tidak ditentukan. Anda tidak dapat mereferensikan mode aplikasi yang disebut COLORFUL jika satu-satunya opsi adalah LIGHT dan DARK.

Karakteristik yang sama membuat enum tidak cocok untuk kumpulan data variabel atau dinamis. Anda tidak dapat mendefinisikan enum saat runtime. Namun di sisi lain, Enum juga lebih baik untuk digunakan sebagai tambahan kinerja, karena Anda tidak perlu membandingkan nilai String.

Berikut ini adalah beberapa hal penting yang harus Anda ketahui tentang Enum Kotlin:

  • Konstanta enum bukan hanya kumpulan konstanta tetapi ia juga memiliki properti, metode, dan lain sebagainya.
  • Masing-masing konstanta enum Kotlin bertindak sebagai instance terpisah dari kelas dan dipisahkan dengan koma.
  • Enum meningkatkan keterbacaan kode Anda dengan menetapkan nama yang telah ditentukan sebelumnya ke konstanta.
  • Instance kelas enum tidak dapat dibuat menggunakan konstruktor.

Artikel Terkait  Tutorial Kotlin 15 : Cara Menulis Functions dalam Kotlin

Berikur ini adalah dasar penggunaan enum dari type-safe Enum:

enum class ArahAngin {
    UTARA, SELATAN, BARAT, TIMUR
}

Masing-masing konstanta enum adalah objek dan konstanta enum dipisahkan dengan koma. Kemudian, berikut ini adalah cara mendefinisikan enum Kotlin dengan menggunakan keyword enum di depan suatu kelas seperti ini:

enum class Hari{
  MINGGU,
  SENIN,
  SELASA,
  RABU,
  KAMIS,
  JUMAT,
  SABTU
}

Menginisialisasi Kotlin Enum

Pada bahasa pemrograman Kotlin, enum juga bisa didapatkan dengam konstruktor seperti Java Enum. Karena konstanta enum adalah turunan dari kelas Enum, konstanta dapat diinisialisasi dengan meneruskan nilai tertentu ke konstruktor utama. Berikut adalah contoh untuk menentukan warna pada card atau kartu:

enum class Kartu(val color: String) {
    Hearts("green"),
    Spades("blue"),
}

Kita bisa dengan mudah mengakses warna dari kartu dengan menggunakan kode berikut ini:

val view = Kartu.Spades.color

Properti Enum dan Metode

Seperti di Java dan bahasa pemrograman lainnya, kelas enum Kotlin memiliki beberapa properti dan fungsi bawaan yang dapat digunakan oleh programmer. Berikut ini adalah properti dan metode utama.

Properti Kelas Enum

  • ordinal: Properti ini menyimpan nilai ordinal dari konstanta, yang biasanya merupakan indeks berbasis nol.
  • name: Properti ini menyimpan nama konstanta.

Metode Utama Kelas Enum

  • value : Metode ini mengembalikan daftar semua konstanta yang didefinisikan dalam kelas enum.
  • valueOf: Metode ini mengembalikan konstanta enum yang ditentukan dalam enum, cocok dengan string input. Jika konstanta, tidak ada di enum, maka IllegalArgumentException dilemparkan.

Artikel Terkait  Tutorial Kotlin 12 : Cara Menggunakan Sealed Class pada Kotlin

Kotlin Enum Class dan Fungsinya

Sejak ada enum class di Kotlin, ia pun berfungsi untuk mendefinisikan tipe baru. Tipe kelas ini dapat memiliki properti dan fungsinya sendiri. Properti dapat diberikan nilai default, namun jika tidak diberikan, maka setiap konstanta harus menentukan nilainya sendiri untuk properti tersebut.

Dalam kasus fungsi, mereka biasanya didefinisikan dalam objek pendamping sehingga mereka tidak bergantung pada instance kelas tertentu. Namun, mereka dapat didefinisikan tanpa objek pendamping juga.

Berikut ini adalah contoh cara untuk mendemonstrasikan properti dan fungsi di Kotlin.

enum class Days(val isWeekend: Boolean = false){

SUNDAY,
    MONDAY,
    TUESDAY,
    WEDNESDAY(true),
    THURSDAY,
    FRIDAY(true),
    // Nilai default akan diganti
    SATURDAY;

    companion object{
        fun today(obj: Days): Boolean {
            return obj.name.compareTo("WEDNESDAY") == 0 || obj.name.compareTo("FRIDAY") == 0
        }
    }
}

fun main(){
    // Demonstrasi sederhana dari property dan metode
    for(day in Days.values()) {
        println("${day.ordinal} = ${day.name} and is weekend ${day.isWeekend}")
    }
    val today = Days.THURSDAY;
    println("apakah hari ini weekend ${Days.today(today)}")
}
Output
0 = SUNDAY and is weekend false
1 = MONDAY and is weekend false
2 = TUESDAY and is weekend false
3 = WEDNESDAY and is weekend true
4 = THURSDAY and is weekend false
5 = FRIDAY and is weekend true
6 = SATURDAY and is weekend false
Is today a weekend false

Enum sebagai Anonymous Class

Konstanta Enum juga berperilaku sebagai kelas anonim dengan mengimplementasikan fungsinya sendiri bersama dengan mengesampingkan fungsi abstrak kelas. Yang paling penting adalah bahwa setiap konstanta enum harus ditimpa. Berikut ini adalah contohnya:

enum class Seasons(var weather: String) {
    Summer("hot"){
        override fun foo() {			
            println("Bulan ini musim panas")
        }
    },
    Rainy("moderate"){
        override fun foo() {
            println("Bulan ini musim hujan")
        }
    };
    abstract fun foo()
}

fun main(args: Array<String>) {
    Seasons.Rainy.foo()
}
Output:
Bulan ini musim hujan

Kegunaan dari ekspresi when dengan enum class

Sebuah keuntungan besar dari kelas enum di Kotlin ikut ketika mereka dikombinasikan dengan ekspresi when. Keuntungannya adalah karena kelas enum membatasi nilai yang dapat diambil oleh suatu tipe, jadi ketika digunakan dengan ekspresi when dan definisi untuk semua konstanta disediakan, maka kebutuhan klausa else sepenuhnya dihilangkan. Bahkan, hal itu akan menghasilkan peringatan dari kompiler. Berikut ini adalah contohnya:

enum class Hari{
    MINGGU,
    SENIN,
    SELASA,
    RABU,
    KAMIS,
    JUMAT,
    SABTU;
}

fun main(){
    when(Hari.KAMIS){
        Hari.MINGGU -> println("Minggu")
        Hari.SENIN -> println("Senin")
        Hari.SELASA -> println("Selasa")
        Hari.RABU -> println("Rabu")
        Hari.KAMIS -> println("Kamis")
        Hari.JUMAT -> println("Jumat")
        Hari.SABTU -> println("Sabtu")
        
    }
}
Output:
Kamis

Demikianlah penjelasan tentang Kotlin Enum yang harus Anda ketahui untuk digunakan dalam pemrograman Kotlin Anda. Jika Anda tertarik untuk belajar lebih banyak tentang Kotlin maupun pemrograman Android lainnya, simak terus artikel seri tutorial Kotlin yang ada di https://codekey.id/.

Codekey adalah website media pembelajaran bahasa pemrograman. Anda bisa belajar berbagai bahasa pemrograman dari Codekey dan Anda bisa belajar kapan pun dan di mana pun yang Anda inginkan.

Codekey menyediakan berbagai materi, penjelasan, tips, dam trik untuk berbagai bahasa pemrograman seperti Python, JavaScript, dan Kotlin tentunya. Jangan lupa untuk allow notification dari Codekey, agar Anda tidak ketinggalan update artikel terbaru dari situs kami.


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Tutorial

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang bahasa pemrograman langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Blog Post Ranking 10

Tutorial Dart 18 : Ayo Mulai, Pelajari Cara Install Flutter

Pada seri tutorial Dart kali ini, Codekey akan menampilkan hal yang sedikit berbeda, yaitu tentang aplikasi-aplikasi yang mendukung pemrograman...

Tutorial Dart 1 : Pengenalan Bahasa Pemrogaman Dart untuk Pemula

Halo pembaca setia Codekey! Belajar pemrograman saat ini menjadi keharusan bagi semua orang yang ingin berkarir sebagai programmer, hal...

Tutorial Python 9 : Cara membuat perulangan (Looping) pada Python

Pada artikel sebelumnya, Codekey telah menjelaskan tentang Operasi Kondisional Python yang di dalamnya menyinggung tentang percabangan dan perulangan. Belajar...

Tutorial Python 8 : Langkah Mudah Membuat Operasi Kondisional pada Python

Pada pembahasan sebelumnya, Codekey telah menjelaskan kepada Anda tentang pengoperasian string pada Python mulai dari menggabungkan hingga memanipulasi string...

Tutorial PHP 8 : Memahami Array Multidimensi di PHP | Kapan dan Bagaimana Menggunakannya?

Pada artikel sebelumnya kami telah membahas tentang array PHP serta membahas sedikit tentang array multidimensi PHP. Pada artikel kali...

Tutorial Swift 2 : Tahap Awal Persiapan dan Mengatur Lingkungan Kerja pada Swift

Setelah Anda mengenal bahasa pemrograman Swift 4, langkah selanjutnya adalah Anda perlu memulai pemrograman Swift 4 dengan cara install...

Tutorial Javascript 8 : Panduan Lengkap Cara Membuat Array di Javascript

Seperti bahasa pemrograman yang berorientasi objek lainnya, dalam JavaScript juga terdapat array. Jika Anda memiliki banyak objek yang ingin...

Tutorial Python 7 : Tutorial Dasar Cara Mengoperasikan String pada Python

Anda ingin belajar Python dan ingin menjadi ahli dalam bahasa pemrograman Python? Mari belajar bersama Codekey! Pada pembahasan kali...

Tutorial Javascript 6 : Cara Membuat Event pada Javascript

Event JavaScript adalah tindakan atau proses khusus yang terjadi dalam program atau situs web yang akan Anda kembangkan. Anda...

Tutorial PHP 9 : Belajar Menggunakan Sort Array Berdasarkan Key dan Value

Array PHP sangat berguna untuk para developer untuk menyimpan data pada variabel. Anda dapat mengelompokkannya dengan membuat kategori tertentu...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya