Belajar Pemrograman C #12: Mengenal Tipe Data Enum pada C
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.
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:
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:
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:
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("Ukuran variabel enum: %d bytes\n", sizeof(sekarang));
}
Hasil outputnya:
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: