Study
Solidity

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.

Editor Latihan

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.