Enum di Solidity
Penjelasan
Enum mendefinisikan sekumpulan nilai konstan bernama — cocok untuk merepresentasikan STATUS suatu proses (mis. status pesanan: Menunggu, Dikirim, Selesai). Enum sangat umum dipakai untuk membuat "state machine" sederhana di kontrak, mis. tahapan lelang atau alur persetujuan multi-langkah.
Contoh Konsep
contract Pesanan {
enum Status { Menunggu, Diproses, Dikirim, Selesai }
Status public statusSaatIni = Status.Menunggu;
function prosesPesanan() public {
require(statusSaatIni == Status.Menunggu, "Pesanan sudah diproses");
statusSaatIni = Status.Diproses;
}
}
Praktikum
Buat enum TahapLelang dengan nilai BelumMulai, Berlangsung, Selesai, dan variabel state bertipe TahapLelang diinisialisasi BelumMulai.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Enum di Solidity secara internal disimpan sebagai `uint8` (nilai pertama = 0, kedua = 1, dst) — pastikan urutan deklarasi nilainya logis, karena kode lain bisa membandingkannya dengan angka mentah juga.