Tutorial pertama dari saya ini membahas tentang bahasan dasar dari java. Bahasan tentang class, method, logic control (loop for, while, if, else, switch, dsb) saya kira teman-teman sudah cukup paham dan cukup kenal akrab, karena bahasan tersebut sudah sering dibahas pada tutorial-tutorial di bahasa pemrograman lain, dan bentuknya juga ga jauh-jauh amat. Tutorial kali ini akan membahas tentang tipe data Enum.

Enumeration di Java

Hallo codinger semua, salam kenal.
Udah lama saya tongkrongin jagocoding.com ini, cuman sayang sekali tutorial-tutorial di sub forum buat bahasa java nya masih sepi. Padahal di luar sana bahasa ini cukup terbilang ngTren. Oleh sebab itu saya mau nyoba sedikit menambahkan beberapa tutorial di sub forum ini biar tambah rame.

Tutorial pertama dari saya ini membahas tentang bahasan dasar dari java. Bahasan tentang class, method, logic control (loop for, while, if, else, switch, dsb) saya kira teman-teman sudah cukup paham dan cukup kenal akrab, karena bahasan tersebut sudah sering dibahas pada tutorial-tutorial di bahasa pemrograman lain, dan bentuknya juga ga jauh-jauh amat. Tutorial kali ini akan membahas tentang tipe data Enum.

Enum adalah sebuah tipe data yang nilainya hanya terbatas dari pilihan nilai-nilai yang telah didefinisikan terlebih dahulu. Enumeration di Java ini baru diperkenalkan pada versi Java5.

Untuk contoh penggunaannya, kita coba dari sebuah kasus yang cukup sederhana. Ketika kita membuat sebuah aplikasi inputan form data diri, biasanya pada data jenis kelamin, user hanya diperbolehkan untuk memilih satu dari dua pilihan jenis kelamin. Artinya aplikasi kita ini tidak memungkinkan user untuk memilih jenis kelamin di luar dari pilihan yang disediakan (pria/wanita). Biasanya pada kasus ini kita membuat kedua pilihan jenis kelamin ini pada sebuah class constant. Contoh penulisan constant biasanya seperti ini:

public class JenisKelamin {
	public static final String PRIA = "Pria";
	public static final String WANITA = "Wanita";
}


Biasanya tipe data yang dihasilkan dari constant ini merujuk pada tipe data dari attribute constant yg dipilih. Berbeda dengan Enum, tipe data yang dihasilkan dari Enum ini akan berupa class Enum tersebut. Contoh penulisan enum biasanya seperti ini:

public enum JenisKelamin {
	PRIA, WANITA
}


Contoh penggunaannya constant pada inputan:

String jenisKelamin = JenisKelamin.PRIA;


Contoh penggunaannya enum pada inputan:

JenisKelamin jenisKelamin = JenisKelamin.PRIA;


Pada penggunaan constant variabel jenisKelamin masih dapat diisi oleh nilai di luar dari nilai constant tersebut selama tipe datanya String, sedangkan Enum tidak dapat diisi oleh nilai di luar tipe data Enum JenisKelamin.

Enum juga dapat bersifat seperti class pada umumnya yang mempunyai attribute dan method. Fitur ini dapat membuat enum terlihat lebih dinamis daripada constant. Berikut contoh penulisan attribute dan method pada Enum:

public enum JenisKelamin {

	PRIA(1, "Pria"), WANITA(2, "Wanita");

	private String strJenisKelamin;
	private int intJenisKelamin;

	private JenisKelamin(int intJenisKelamin, String strJenisKelamin) {
		this.intJenisKelamin = intJenisKelamin;
		this.strJenisKelamin = strJenisKelamin;
	}

	public String getStringValue() {
		return strJenisKelamin;
	}

	public int getIntValue() {
		return intJenisKelamin;
	}

}


Contoh diatas dapat memungkinkan kita menggunakan enum pada inputan tipe data String dan Integer. Misalkan kita menghendaki nilai String "Pria" untuk PRIA , "Wanita" untuk WANITA, dan nilai Integer 1 untuk PRIA dan 2 untuk WANITA. Berikut contoh penggunaan method pada Enum:

System.out.println("Jenis kelamin (nilai dalam String) :" +jenisKelamin.getStringValue());
System.out.println("Jenis kelamin (nilai dalam Integer) :" +jenisKelamin.getIntValue());

 

Cukup menarik bukan? Yap, saya kira sudah cukup pembahasan tentang tipe data Enum, semoga bermanfaat buat teman-teman semuanya. Jika ada pertanyaan, saran dan kritik tentang tutorial ini silahkan sampaikan kepada saya.

Terimakasih...
:D

#

About Author

risna hendayana

Lorem ipsum dollor Hello world...


Comment & Discussions

    Please LOGIN before if you want to give the comment.