Basic Enumeration di Java

Enumeration merupakan salah satu fitur dari J2SE versi 5. Enumeration adalah kumpulan nama-nama konstant yang didefinisikan sebagai tipe data baru. Sebuah objek bertipe Enumeration dapat mengakses isi dari kumpulan nilai pada enumeration. Kalau saya menyebutnya sebagai array yg konstan nilainya karena enumeration ini seperti array namun perbedaanya adalah isi dari kumpulan enumeration bersifat tetap dan enumeration dalam pemrograman java disebut sebagai tipe dari kelas.

Di dunia nyata, kita banyak menemukan contoh nyata dari implementasi sebuah enumeration, seperti enumeration bulan tiap tahun. Untuk membentuk sebuah enumeration, kita cukup menuliskan seperti :

enum bln{
Januari, Februari, Maret, April, Mei,
Juni, Juli, Augustus, September, Oktober, November, Desember
}

Atau

enum Transport{
Mobil, Truck, Kapal, Kereta, Becak
}

Mobil, Kapal dan seterusnya adalah sebuah konstanta dari enumeration. Masing-masing dideklarasikan public jadi bisa diakses secara bebas oleh Transport. Lalu tipe data dari mobil, kapal dan seterusnya itu merupakan tipe nama enumeration yang dideklarasikan. Jadi mobil, kapal dan seterusnya merupakan tipe dari Transport. Oleh karena itu, konstanta enumeration disebut self-type, artinya merupakan tipe dirinya sendiri.

Saat kita ingin membuat variable bertipe enumeration, kita tidak perlu menuliskan dengan keyword new karena enumeration langsung berupa tipe dari sebuah kelas. Misalnya, saat kita mau membuat variable Tp bertipe enumeration dari Transport. Maka kita cukup menuliskan :

Transport Tp;

Secara otomatis Tp bertipe enum Transport dan langsung dapat mengakses isi dari enum Transport

Berikut ini adalah contoh untuk memudahkan kamu memahami enumeration.

public enum Transport {
	Mobil, Truck, Kapal, Kereta, Becak
}



public class TestingEnum {
	public static void main(String args[]){
		Transport Tp;
		
		Tp = Transport.Mobil;
		System.out.println("Isi Tp : "+Tp);
		
		System.out.println("Apa is Tp adalah Becak ???");
		if(Tp == Transport.Becak)
			System.out.println("Isi Tp : "+Transport.Becak);
		else
			System.out.println("Isi Tp bukan "+Transport.Becak);
		
		switch(Tp){
		case Mobil :
			System.out.println("Transport yang digunakan adalah Mobil");
			break;
		case Becak :
			System.out.println("Transport yang digunakan adalah Becak");
			break;
		case Kapal :
			System.out.println("Transport yang digunakan adalah Kapal");
			break;
		case Kereta :
			System.out.println("Transport yang digunakan adalah Kereta");
			break;
		case Truck :
			System.out.println("Transport yang digunakan adalah Truck");
			break;
		}
	}
}

Dari contoh program diatas, kita dapat mamahami bila ingin mengakses isi dari enum, kita panggil dengan variable bertipe enum disertai titik dan isi dari enum yang diinginkan.

Tp = Transport.Mobil; // valid karena Tp bertipe enum Transport

Bahkan kita juga bisa menggunakannya pada kondisi switch-case ataupun kondisi if.

Sampe sini,,moga dimengerti buat teman-teman.

3 thoughts on “Basic Enumeration di Java

  1. keunggulanya di bandingkan array apa yah?
    terus kapan harus pake array dan kapan harus pakai enum?
    di tunggu jawabnya!!

    thanks

  2. @ fachry :
    mnurut saya..karena enum itu termasuk tipe dari sebuah kelas,,jadi punya banyak method2 lebih banyak dari pada array..sehingga lebih efisien,,tapi tergantung juga yah..

    kpn harus memakainya..y tergantung kebutuhan mas,,yg saya tahu,,enum itu nilainya tetap,,beda dengan array yg nilainya dapat berubah2,,sesuai keinginan kita..

    lengkapnya mas bisa tanya langsung sama ahlinya di link sebelah kanan blog ini,,Blognya si Eko Kurniawan…ato Mas bisa gabung ke milis n forumnya java indonesia.

    maaf klu kurang pas jawabannya…gy fokus ma programming yg lain..

    makasih udah mampir mas…

  3. Ping-balik: Object Oriented Programming | How to Create

Silahkan Komentar...

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s