Cara Menggunakan Enum Java Untuk Membuat Tipe Data Buatan
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.
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();
}
}
// 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();
}
}
- 2 Contoh Program Final Blank Variabel pada Java [klik]
- 3 Contoh Program Parameter Tipe Terikat pada Java [klik]
- 3 Jenis Utama Looping pada Java [klik]
- 7 Jenis Utama Statement Pengambil Keputusan pada Java [klik]
- 4 Kendala Penggunaan For Each Loop pada Java [klik]
- 5 Ciri Khas Utama For Loop pada Java [klik]
- 6 Aturan Penting Switch Statement pada Java [klik]
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.