Cara Menggunakan Enum Java Untuk Membuat Tipe Data Buatan
Deklarasi enum pada Java
Enum dapat dideklarasikan di dalam ataupun di luar dari class, tetapi tidak bisa dideklarasikan di dalam method.// 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);
}
}
// 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);
}
}
- 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.
// 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.
// 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);
}
}
- 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.
// 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 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.
// 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();
}
}
- Kode yang Lebih Membaca dan Ekspresif: Enum memungkinkan untuk 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, pengembang 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 pengembang perlu menambahkan nilai baru atau mengubah nilai yang ada, maka pengembang 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
- Membuat Program Final Blank Variabel pada Java
- Menggunakan Parameter Tipe Terikat Java dan Fungsinya
- Cara Membuat Program Berulang pada Java Menggunakan Looping
- Statement Pengambil Keputusan Java dan Fungsinya
- Kendala Penggunaan For Each Loop Java dan Solusinya
- Membuat Program Berulang Java Menggunakan For Loop
- Membuat Perintah Keyboard Java Menggunakan Switch Statement
6 komentar untuk "Cara Menggunakan Enum Java Untuk Membuat Tipe Data Buatan"
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 -
Secara sederhana, apa yang dimaksud dengan enum pada bahasa pemrograman Java?
BalasHapusEnum 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.
HapusApa tujuan dari penggunaan enum pada bahasa pemrograman Java?
BalasHapusTujuan utama dari penggunaan enum pada bahasa pemrograman Java adalah untuk menentukan tipe data yang dibuat oleh programmer itu sendiri.
HapusApa yang dilakukan enum pada bahasa pemrograman Java?
BalasHapusTipe 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.
HapusContoh: enum Kompas, dengan nilai konstantanya adalh nilai UTARA, SELATAN, TIMUR, dan BARAT.