Belajar pemrograman C: Mengenal Enum dan Contohnya

Apakah kamu masih ingat dengan pembahasan kita tentang tipe data pada C?

Pada C terdapat beberapa tipe data dasar, void, turunan, dan juga tipe data bentukan atau enum.

Tipe data pada C

Beberapa tipe data turunan sudah pernah kita bahas, silahkan dibaca di sini:

Sekarang kita akan membahas tentang enum.

Dimulai dari pembahasan tentang:

Apa sih enum itu?

Bagaimana cara membuatnya?

Mengapa kita harus pakai enum?

Mari kita mulai…

Apa itu Enum?

Enum atau Enumeration merupakan tipe data yang berisi sekumpulan konstanta.

Enum termasuk dalam tipe data bentukan, karena tipe data ini dibuat sendiri oleh kita.

Berikut ini cara membuat enum:

Cara membuat enum pada C

Contoh:

enum level {EASY = 1, NORMAL = 2, HARD = 3};
enum sex {MALE, FEMALE};
enum state {PENDING, INPROGRESS, DONE};

Apabila kita tidak mengisi nilai konstanta pada enum…

…maka secara default akan diisi dengan mengikuti urutan penulisannya.

Contoh:

enum hari {SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU, MINGGU};

Maka konstanta yang ada di dalam enum hari akan bernilai:

SENIN  = 0
SELASA = 1
RABU   = 2
KAMIS  = 3
JUMAT  = 4
SABTU  = 5
MINGGU = 6

Membuat Program dengan Enum

Sekarang mari kita coba membuat sebuah program dengan enum.

Silahkan buat program baru bernama contoh_enum.c, kemudian isi dengan kode berikut.

#include <stdio.h>

enum hari {SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU, MINGGU};

void main() {
    enum hari sekarang;
    sekarang = RABU;
    printf("Sekarang hari ke-%d", sekarang + 1);
}

Setelah itu, coba jalankan…

Maka hasilnya:

Contoh program dengan enum

Membuat Tipe Data Boolean dari Enum

Bahasa pemrograman C tidak memiliki tipe data boolean seperti bahasa pemrograman lain.

Namun…

Kita bisa membuatnya sendiri.

Pada bahasa C, nilai true akan sama dengan 1 dan false sama dengan 0.

Maka kita bisa membuat enum untuk boolean seperti ini:

enum boolean {false, true};

Mari kita coba dalam program…

Buatlah program baru bernama contoh_boolean.c, kemudian isi dengan kode berikut:

#include <stdio.h>

enum boolean {false, true};

void main() {
    int a = 4;
    int b = 5;

    if(a < b == true){
        printf("variabel a lebih kecil dari b\n");
    }
}

Hasilnya:

Contoh program dengan tipe data boolean pada C

Mengapa Kita Membutuhkan Enum?

Karena enum akan memberikan efisiensi dan fleksibilitas dalam penggunaan memori.

Veriabel enum hanya akan mengambil satu nilai dari konstanta yang ada.

Contoh:

#include <stdio.h>

enum hari {SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU, MINGGU};

void main() {
    enum hari sekarang;
    sekarang = RABU;

    printf("Ukurang variabel enum: %d bytes\n", sizeof(sekarang));
}

Hasil outputnya:

Ukuran enum pada memori

Sedangkan apabila kita menggunakan array atau struct, ukuran dari variabelnya akan mengikuti banyaknya isi dari array dan struct.

Apa Selanjutnya?

Kita sudah belajar dasar-dasar tentang enum, selanjutnya silahkan pelajari tentang: