Sunday, June 24, 2012

Contoh Penggunaan "enum" di Java

package test.org;
public class AnonimClass {
public static void main(String[] args) {
AnonimClass anonim = new AnonimClass();
String cc[] = {"medan", "jakarta", "parigi", "depok",
"makassar", "Antah berantah"};
for(int i =0; i< cc.length ;i++)
System.out.println(anonim.getKabupatenOrKota(cc[i]));
}
public String getKabupatenOrKota(String nama)
{
Choice c = new Choice() {
@Override
public Kota getKota(String kota) {
kota = kota.toLowerCase();
switch (kota) {
case "makassar": return Kota.Makassar;
case "medan": return Kota.Medan;
case "jakarta": return Kota.Jakarta;
case "banjarmasin": return Kota.Banjarmasin;
default:return null;
}
}
@Override
public Kabupaten getKabupaten(String kabupaten) {
kabupaten = kabupaten.toLowerCase();
switch (kabupaten) {
case "parigi": return Kabupaten.Parigi;
case "poso": return Kabupaten.Poso;
case "luwuk": return Kabupaten.Luwuk;
case "depok": return Kabupaten.Depok;
default: return null;
}
}
};
return getChoice(nama, c);
}
public String getChoice(String nama, Choice cc)
{
for (Kabupaten kab : Kabupaten.values())
if (kab.toString().equalsIgnoreCase(nama))
return "Kabupaten " + cc.getKabupaten(nama);
for (Kota kota : Kota.values())
if (kota.toString().equalsIgnoreCase(nama))
return "Kota " + cc.getKota(nama);
return "NOT FOUND";
}
public static interface Choice {
public Kota getKota(String kota);
public Kabupaten getKabupaten(String Kabupaten);
}
public enum Kota {Makassar, Medan, Jakarta, Banjarmasin}
public enum Kabupaten {Parigi, Poso, Luwuk, Depok}
}
Hasil eksekusinya adalah:
Kota Medan
Kota Jakarta
Kabupaten Parigi
Kabupaten Depok
Kota Makassar
NOT FOUND