Media Belajar Bahasa Pemrograman | by APPKEY

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

Tutorial Kotlin 22 : Mengenal Kotlin Enum Class dan Fungsinya

-

Last Updated on August 16, 2021 by

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 39 : Mengenal Abstract Class pada 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 29 : Kotlin Comment, Belajar Membuat Komentar 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 PHP 22 : Cara Membuat Redirect PHP dengan Cepat dan Mudah

Jika Anda melakukan browsing di browser kesayangan Anda, mungkin Anda pernah melihat link yang berisikan “php redirect” atau yang...

Tutorial PHP 23 : Cara Membuat Messages Alert PHP

Alert box atau alert messages digunakan di situs web untuk menampilkan pesan peringatan kepada pengguna bahwa mereka telah memasukkan...

Tutorial PHP 2 : Cara Install PHP, Langkah Awal Belajar PHP

PHP adalah bahasa pemrograman gratis dan open source. Secara teknis tidak perlu menginstal PHP: sebagian besar host web dan...

Tutorial Python 9 : Cara Membuat Looping Python

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

Tutorial HTML/CSS 23 : Cara Membuat Form Sederhana dengan HTML

Form memiliki peran yang sangat krusial bagi website atau aplikasi untuk menjaga sistem keamanannya. Form HTML digunakan untuk mengumpulkan...

Tutorial SQL 8 : Constraint SQL, Bagaimana Fungsi dan Penggunaannya?

Pada artikel sebelumnya Anda telah mempelajari tentang wildcard SQL, pada artikel kali ini kami akan menjelaskan tentang constraint SQL. Jika...

Tutorial Javascript 8 : Array Javascript, Panduan Lengkap Cara Membuatnya

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

Tutorial SQL 20 : Mari Pelajari Cara Menggunakan Fungsi GROUP by SQL

Pada pembahasan seri Tutorial SQL ke- 20 ini, Codekey akan membahas tentang GROUP BY yang merupakan statement di dalam...

Tutorial Python 7 : Python String Format dan Cara Mudahnya

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

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...

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