Java - Enum Strings (Indonesia)
Halo para programmer Java yang aspiratif! Hari ini, kita akan menyelam ke dalam dunia yang menarik tentang Enum Strings di Java. Jangan khawatir jika kamu masih baru dalam pemrograman – saya akan memandu kamu langkah demi langkah, sama seperti yang saya lakukan untuk banyak murid selama tahun-tahun pengajaran saya. Jadi, mari kita mulai perjalanan yang menyegarkan ini bersama-sama!
Apa itu Enums?
Sebelum kita mendalami Enum Strings, mari kita mulai dengan dasar-dasar. Enums, singkatan dari "enumerations," adalah tipe khusus di Java yang mewakili sekumpulan konstanta yang tetap. Pikirkan tentang mereka sebagai daftar pilihan yang telah ditentukan yang tidak akan berubah selama program kamu berjalan.
Bayangkan jika kamu membuat program untuk sebuah kedai kopi. Kamu mungkin memiliki sekumpulan ukuran gelas yang tetap: KECIL, SEDANG, dan BESAR. Ini adalah scenario yang sempurna untuk menggunakan enum!
Berikut ini adalah cara kita dapat menentukan enum ini:
public enum CupSize {
KECIL,
SEDANG,
BESAR
}
Sekarang, mari kita lihat bagaimana kita dapat menggunakan enum ini dalam kode kita:
public class CoffeeShop {
public static void main(String[] args) {
CupSize pesananSaya = CupSize.SEDANG;
System.out.println("Saya ingin kopi " + pesananSaya + ", tolong!");
}
}
Ketika kamu menjalankan kode ini, itu akan menghasilkan: "Saya ingin kopi SEDANG, tolong!"
Enum Strings: Pandangan Lebih Dekat
Sekarang bahwa kita mengerti apa itu enums, mari kita eksplorasi Enum Strings. Secara default, ketika kamu mencetak nilai enum, Java menggunakan nama itu sebagai string. Tetapi apa jika kamu ingin mengubah bagaimana nilai enum kamu direpresentasikan sebagai string?
Ini adalah tempat method toString()
menjadi berguna. Mari kita tingkatkan enum CupSize
kita untuk memberikan string deskripsi yang lebih deskriptif:
public enum CupSize {
KECIL("Kecil (8 oz)"),
SEDANG("Sedang (12 oz)"),
BESAR("Besar (16 oz)");
private final String deskripsi;
CupSize(String deskripsi) {
this.deskripsi = deskripsi;
}
@Override
public String toString() {
return this.deskripsi;
}
}
Mari kita uraikan apa yang terjadi di sini:
- Kita telah menambahkan field
deskripsi
ke enum kita. - Kita telah membuat konstruktor yang mengambil deskripsi ini sebagai parameter.
- Kita telah menimpa method
toString()
untuk mengembalikan deskripsi khusus kita.
Sekarang, mari kita gunakan enum yang telah kita tingkatkan:
public class CoffeeShop {
public static void main(String[] args) {
CupSize pesananSaya = CupSize.SEDANG;
System.out.println("Saya ingin kopi " + pesananSaya + ", tolong!");
}
}
Kali ini, ketika kamu menjalankan kode, itu akan menghasilkan: "Saya ingin kopi Sedang (12 oz), tolong!"
Apakah itu keren? Kita telah mengubah bagaimana nilai enum kita direpresentasikan sebagai string!
Bekerja dengan Enum Strings
Sekarang bahwa kita tahu cara membuat representasi string khusus untuk enums kita, mari kita eksplorasi beberapa operasi umum yang kamu mungkin melakukan dengan Enum Strings.
Mengkonversi Enum ke String
Kita telah sudah melihat cara mengkonversi enum ke string menggunakan method toString()
. Tetapi ada cara lain untuk mendapatkan nama konstanta enum sebagai string:
CupSize ukuran = CupSize.BESAR;
String namaUkuran = ukuran.name();
System.out.println("Nama enum adalah: " + namaUkuran);
Ini akan menghasilkan: "Nama enum adalah: BESAR"
Mengkonversi String ke Enum
Apa jika kamu memiliki string dan ingin mengkonversinya kembali ke enum? Kamu dapat menggunakan method valueOf()
:
String ukuranString = "KECIL";
CupSize ukuran = CupSize.valueOf(ukuranString);
System.out.println("Enum yang dikonversi adalah: " + ukuran);
Ini akan menghasilkan: "Enum yang dikonversi adalah: Kecil (8 oz)"
Mengulang Enum Values
Terkadang, kamu mungkin ingin mengulang semua nilai di enum. Kamu dapat melakukan ini menggunakan method values()
:
System.out.println("Ukuran gelas yang tersedia:");
for (CupSize ukuran : CupSize.values()) {
System.out.println("- " + ukuran);
}
Ini akan menghasilkan:
Ukuran gelas yang tersedia:
- Kecil (8 oz)
- Sedang (12 oz)
- Besar (16 oz)
Contoh Praktis: Sistem Pemesanan Kopi
Mari kita gabungkan semua yang kita pelajari ke dalam contoh yang lebih komprehensif. Kita akan membuat sistem pemesanan kopi sederhana:
import java.util.Scanner;
public enum CoffeeType {
ESPRESSO("Sebuah kopi yang kuat dibuat dengan memaksa air panas di bawah tekanan melalui kopi kering yang sangat halus."),
LATTE("Espresso dengan susu yang dipanaskan dan lapisan sedikit susu busa di atas."),
CAPPUCCINO("Persentase yang sama antara espresso, susu yang dipanaskan, dan susu busa.");
private final String deskripsi;
CoffeeType(String deskripsi) {
this.deskripsi = deskripsi;
}
@Override
public String toString() {
return name() + ": " + this.deskripsi;
}
}
public class CoffeeShop {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Selamat datang di kedai kopi kami!");
System.out.println("Berikut adalah jenis kopi yang tersedia kami:");
for (CoffeeType jenis : CoffeeType.values()) {
System.out.println("- " + jenis);
}
System.out.print("Jenis kopi apa yang kamu inginkan? ");
String pilihanUser = scanner.nextLine().toUpperCase();
try {
CoffeeType kopiYangDipilih = CoffeeType.valueOf(pilihanUser);
System.out.println("Pilihan yang bagus! Kamu telah memesan " + kopiYangDipilih.name().toLowerCase() + ".");
} catch (IllegalArgumentException e) {
System.out.println("Maaf, kita tidak memiliki jenis kopi itu.");
}
scanner.close();
}
}
Program ini melakukan hal berikut:
- Kita definisikan enum
CoffeeType
dengan deskripsi untuk setiap jenis kopi. - Di method
main
, kita menampilkan semua jenis kopi yang tersedia kepada pengguna. - Kita meminta pengguna untuk memilih jenis kopi.
- Kita mencoba untuk mengkonversi input pengguna ke enum
CoffeeType
. - Jika berhasil, kita mengkonfirmasi pesanan mereka. Jika tidak, kita memberitahu mereka bahwa kita tidak memiliki jenis kopi itu.
Kesimpulan
Selamat! Kamu baru saja menyelam ke dalam dunia Enum Strings di Java. Kita telah membahas apa itu enums, cara menyesuaikan representasi string mereka, dan cara bekerja dengan mereka dalam berbagai cara. Ingat, enums adalah alat yang kuat di Java yang dapat membuat kode kamu lebih mudah dibaca dan kurang error-prone saat berurusan dengan sekumpulan konstanta yang tetap.
Sebagai kamu melanjutkan perjalanan Java mu, kamu akan menemukan banyak penggunaan lagi untuk enums. Mereka sangat berguna dalam pernyataan switch, untuk mewakili negara dalam mesin negara, atau di mana saja kamu memiliki sekumpulan pilihan yang tetap.
Terus berlatih, tetap curious, dan happy coding!
Credits: Image by storyset