Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Menggunakan Enum Java Untuk Membuat Tipe Data Buatan

Enumeration bertujuan untuk menyediakan sekelompok nama konstanta pada bahasa pemrograman Java. Contoh, empat jenis kartu dapat memiliki empat jenis nama enumerasi seperti club, diamond, heart, dan spade yang memiliki nama enumerasi tipe Suit. Contoh lainnya seperti tipe enumerasi alami adalah planet, color, dan lain sebagainya.

Sebelum mempelajari materi tentang Cara Menggunakan Enum Java Untuk Membuat Tipe Data Buatan, terlebih dahulu pelajari materi tentang: Cara Menjadi Programmer Java yang Handal, Cara Membuat Identifier Java dan Fungsinya, dan Tipe Data Java dan Fungsinya.

Enum digunakan ketika mengetahui semua kemungkinan nilai dari tipe data. Enum pada bahasa pemrograman Java lebih handal daripada enum C atau C++. Enum Java juga dapat ditambahkan dengan variabel, method, dan counstructor. Tujuan utama dari penggunaan enum adalah mendefinisikan tipe data buatan sendiri.

Deklarasi enum pada Java

Enum dapat dideklarasikan di dalam ataupun di luar dari class, tetapi tidak bisa dideklarasikan di dalam method.

Contoh:

// Contoh sederhana penggunaan

// enum

 

// Enum dideklarasikan di luar

// dari class apapun (enum

// adalah pengganti dari class

// keyword)  

enum Color

{

RED, GREEN, BLUE;

}

 

public class Test

{

/* Driver method */

public static void main(String[] args)

{

Color c1 = Color.RED;

System.out.println(c1);

}

 

} 


Contoh: deklarasi enum di dalam class.

// Enum dideklarasikan di

// dalam class Java

public class Test

{

enum Color

{

RED, GREEN, BLUE;

}

 

/* Driver method */

public static void main(String[] args)

{

Color c1 = Color.RED;

System.out.println(c1);

}

 

} 


Catatan:
  • Baris pertama pada kode program harus dideklarasikan sebagai enum, setelah itu diikuti deklarasi lain seperti method, variabel, dan constructor.
  • Menurut aturan Kenvensi Penamaan Java, nama konstanta pada enum harus ditulis dengan HURUF KAPITAL.

Poin Penting Penggunaan pada Penggunaan ENUM:
  • satu, Setiap enum internal diimplementasikan oleh class.

/* internally above enum Color is converted to
class Color
{
     public static final Color RED = new Color();
     public static final Color BLUE = new Color();
     public static final Color GREEN = new Color();
}*/

  • dua, Setiap konstanta enum mewakili objek dari tipe enum.
  • tiga, Tipe data enum dapat dilewatkan sebagai argumen untuk mengganti statement.

Contoh:

// Program java untuk

// mendemostrasikan cara kerja

// enum

 

// dalam switch case (Filename

// Test.Java)

import java.util.Scanner;

 

/* Enum class */

enum Day

{

MINGGU, SENIN, SELASA, RABU

KAMIS, JUMAT, SABTU;

}

 

// Driver class yang

// mengandung objek "day" dan

// main().

public class Test

{

Day day;

 

/* Constructor */

public Test(Day day) { this.day = day; }

 

// Cetak baris tentang  Day

// menggunakan switch

public void dayIsLike() {

switch (day) {

 

case SENIN:  

System.out.println("Senin ya"

+"ng menyebalkan.");

break;

 

case JUMAT:

System.out.println("Jumat"

+" Lumayanlah.");

break;

 

case SABTU:

case MINGGU:

System.out.println("Hari"

+" Minggu adalah yang"

+" terbaik.");

break;

 

default:

System.out.println("Pertenga"

+"han minggu yang"

+" membosankan.");

break;

}

}

 

/* Driver method */

public static void main(String[] args)

{

String str = "SENIN";

Test t1 = new Test(Day.valueOf(str));

t1.dayIsLike();

}

 

}


  • empat, Setiap enum secara implisit selalu dinyatakan dalam public static final. Karena dideklarasikan dalam bentuk static, maka dapat dilakukan pengaksesan menggunakan enum Name. Karena final, maka enum tidak bisa dibuat child-nya.
  • lima, main() method dapat dideklarasikan di dalam enum. Dan karena hal tersebut, enum tidak bisa dipanggil secara langsung dari command prompt.

Baca Juga:
Contoh:

// Contoh program Java yang

// mendemonstrasikan bahwa

// method main() dapat

// digunakan didalam enum

enum Color

{

RED, GREEN, BLUE;

 

/* Driver method */

public static void main(String[] args)

{

Color c1 = Color.RED;

System.out.println(c1);

}

}

 

 


Enum dan konsep pewarisan:
  • Semua enum secara implisit memberikan java.lang.Enum class. Sebagai class, maka enum hanya bisa memberikan satu parent pada Java, dan tidak bisa memberikan lebih dari satu.
  • toString() method adalah overriden pada java.lang.Enum class, yang mengembalikan nama konstanta enum.
  • enum dapat diimplementasikan pada banyak interface.

Method values(), ordinal(), dan valueOf():
  • method ini ditampilkan di dalam java.lang.Enum.
  • values() method dapat digunakan untuk mengembalikan (return) semua nilai yang ditampilkan di dalam enum.
  • Perintah 'order' adalah hal penting pada enum, dengan menggunakan ordinal() method, setiap indeks konstanta enum dapat ditemukan, seperti halnya indeks array.
  • valueOf() method mengembalikan konstanta enum dari nilai string yang spesifik, jika ada.

Contoh:

// Program java untuk

// mendemonstrasikan cara

// kerja method values(),

// ordinal(), dan valuesOf()

// pada enum

enum Color

{

RED, GREEN, BLUE;

}

 

public class Test

{

public static void main(String[] args)

{

// memanggil method values()

Color arr[] = Color.values();

 

/* looping enum */

for (Color col : arr)

{

// memanggil method ordinal()

// untuk mencari index dari

// Color

System.out.println(col + " at index " + col.ordinal());

}

 

// menggunakna method

// valueOf(). untuk

// mengembalikan nilai objek

// dari Color yang diberi

// nilai konstanta

 

// Membatalkan komentar baris

// kedua menyebabkan

// pengecualian

 

/* IllegalArgumentException */

System.out.println(Color.valueOf("RED"));

/* System.out.println(Color.valueOf("WHITE")); */

}

 

}


Enum dan constructor:
  • enum dapat mengandung constructor dan dapat dieksekusi secara terpisah untuk setiap konstanta enum pada saat class enum melakukan loading.
  • enum tidak dapat diciptakan secara eksplisit dan karena itu enum tidak bisa dipanggil constructor secara langsung.

Enum dan method:
  • Enum dapat mengandung method konkret jika dan hanya jika tidak terdapat method abstrak pada enum tersebut.

Contoh:

// Program Java yang

// mendemonstrasikan bahwa

// enum dapat memiliki

// construktor dan method

// konkret

 

// catatan: kata kunci enum

// menggantikan kata kunci

// class

enum Color

{

RED, GREEN, BLUE;

 

// enum constructor dipanggil

// terpisah untuk setiap

// konstanta

private Color()

{

System.out.println("Construc"

+"tor dipanggil untuk : " 

+this.toString());

}

 

// Hanya method konkret yang

// diizinkan

public void colorInfo()

{

System.out.println("Warna"

+" Universal");

}

}

 

public class Test

{  

/* Driver method */

public static void main(String[] args)

{

Color c1 = Color.RED;

System.out.println(c1);

c1.colorInfo();

}

 

}


Enum (Enumerated) adalah tipe data khusus di Java yang digunakan untuk mendefinisikan kumpulan nilai konstan yang dapat diidentifikasi oleh nama. Penggunaan Enum dalam pembuatan tipe data buatan memberikan beberapa kelebihan dan manfaat tertentu. Berikut adalah beberapa kelebihan utama:
  • Kode yang Lebih Membaca dan Ekspresif: Enum memungkinkan Anda memberi nama pada kumpulan nilai yang mewakili konsep atau kategori tertentu. Ini membuat kode lebih membaca dan ekspresif daripada menggunakan nilai-nilai konstan atau angka secara langsung.
  • Keamanan Kode Lebih Tinggi: Enum meningkatkan keamanan kode dengan membatasi nilai yang dapat diatribusikan pada tipe data tersebut. Hanya nilai-nilai yang telah didefinisikan di dalam Enum yang dapat digunakan.
  • Ketidakrentan terhadap Kesalahan Penulisan: Dengan menggunakan Enum, Anda dapat menghindari kesalahan penulisan yang umumnya terjadi jika menggunakan nilai konstan atau konstanta numerik. Enum memastikan bahwa nama-nilai yang diakses selalu benar dan tidak dapat disalahketik.
  • Pemeliharaan Kode yang Mudah: Enum memudahkan pemeliharaan kode karena jika Anda perlu menambahkan nilai baru atau mengubah nilai yang ada, Anda hanya perlu memperbarui definisi Enum. Ini meminimalkan potensi kesalahan dan menyederhanakan proses pemeliharaan.
  • Kemudahan dalam Pembandingan: Enum mendukung pembandingan nilai dengan aman menggunakan operator ==, yang tidak selalu berlaku dengan benar jika menggunakan nilai konstan atau konstanta numerik.

Kesimpulan

Penggunaan Enum dalam pembuatan tipe data buatan di Java memberikan sejumlah kelebihan, termasuk kode yang lebih ekspresif, keamanan tinggi, ketidakrentan terhadap kesalahan penulisan, kemudahan pemeliharaan kode, dan kemudahan dalam pembandingan nilai. Dengan memanfaatkan fitur ini, pengembang dapat meningkatkan kualitas dan keterbacaan kode mereka.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Ilham Iftakukhoiri, Khairunisa Hanum Hafifah, Khoirul Latif, Merry Puspita Sari, dan Muhammad Ali Wardhana.

6 komentar untuk "Cara Menggunakan Enum Java Untuk Membuat Tipe Data Buatan"

  1. Secara sederhana, apa yang dimaksud dengan enum pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Enum adalah class khusus pada Java yang mewakili sekelompok konstanta atau variabel yang tidak dapat diubah, seperti variabel tipe final. Untuk dapat membuat enum pada Java, maka dapat digunakan keyword enum (bukan berupa class ataupun juga interface), dan pisahkan konstanta yang menyertai enum dengan tanda koma.

      Hapus
  2. Apa tujuan dari penggunaan enum pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Tujuan utama dari penggunaan enum pada bahasa pemrograman Java adalah untuk menentukan tipe data yang dibuat oleh programmer itu sendiri.

      Hapus
  3. Apa yang dilakukan enum pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Tipe enum pada bahasa pemrograman Java adalah tipe data khusus yang memungkinkan variabel menjadi sebuah kumpulan konstanta yang telah ditentukan sebelumnya. Dimana nilai variabel tersebut harus sama dengan salah satu nilai yang telah ditentukan oleh deklarasi enum sebelumnya.

      Contoh: enum Kompas, dengan nilai konstantanya adalh nilai UTARA, SELATAN, TIMUR, dan BARAT.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -