Mengenal Enumerasi Dalam C++
Apa Itu Tipe Data Enumerasi
Enumerasi atau Enum adalah suatu set Konstanta Integer yang masing-masing konstanta akan memiliki nama dan nilai yang berbeda.Enumerasi lebih ditujukan untuk penanganan kesalahan proses input output maupun proses pengolahan data dalam internal CPU. Dalam pemrograman C atau C++ tiap-tiap jenis kesalahan akan diidentifikasi oleh nama konstanta hal ini dikarenakan lebih mudah mengingat nama konstanta dibanding nilai atau angka.
Contoh deklarasi tipe enumerasi dalam bahasa C atau C++ adalah sebagai berikut:
enum pilihan {SATU, DUA, TIGA, EMPAT, LIMA, ENAM, TUJUH, DELAPAN};
enum angka{satu=1, dua, tiga, empat, lima};
Code pendefinisian enumerasi dalam C/C++, adalah sebagai berikut:
enum nama_tipe { nilai_1, nilai_2, ...}; // nilai yang diinginkan
//contoh dari enum
enum warna {HITAM, COKELAT, MERAH, JINGGA, KUNING, HIJAU, BIRU, NILA}
enum pilihan {SATU=1, DUA, TIGA, EMPAT, LIMA};
Contoh:
Jika konstanta pertama didalam suatu set enumerasi tidak diberi nilai maka secara default nilainya adalah 0. Untuk contoh pertama di atas, maka nilai konstanta HITAM=0, COKELAT=1, MERAH=2 dan seterusnya. Sedangkan untuk contoh kedua nilai konstanta SATU=1, DUA=2, TIGA=3 dan seterusnya. Di samping itu nilai-nilai suatu set konstanta tidak mesti berurutan. Adakalanya pada pertengahan set nilainya tidak berurutan lagi atau disambung dengan nilai yang lain tergantung keinginan kita.berikut
contoh:
bilangan yang dinisialisasikan bebas dan bilangan tersebut akan mulai kembali dari nilai yang dinisialisasikan
enum pilihan {SATU=49, DUA, TIGA, EMPAT, LIMA, TUJUH=1, DELAPAN};
/* Nilai SATU = 49
DUA = 50
TIGA = 51
EMPAT= 52
LIMA = 53
ENAM = 54
TUJUH= 1
DEPALAPAN=2
*/
Contoh kode program yang menggunakan tipe enumerasi adalah sebagai berikut.
#include <stdio.h>
enum pilihan {SATU, DUA, TIGA, EMPAT, LIMA, ENAM, TUJUH, DELAPAN};
int main(){
printf("SATU = %d ?\n", SATU);
printf("DUA = %d ?\n", DUA);
printf("TIGA = %d ?\n", TIGA);
printf("EMPAT = %d ?\n", EMPAT);
printf("LIMA = %d ?\n", LIMA);
printf("ENAM = %d ?\n", ENAM);
printf("TUJUH = %d ?\n", TUJUH);
printf("DELAPAN = %d ?\n", DELAPAN);
return 0;
}
Hasil Program:
Jika konstanta pertama di dalam suatu set enumerasi tidak diberi nilai maka secara default nilai anggota pertamanya adalah 0. Nilai-nilai anggota selanjutnya adalah 1, 2, 3 dan seterusnya. Untuk contoh pertama di atas, maka nilai dari masing-masing anggota tipe enumerasi yaitu :
SATU=0
DUA=1
TIGA=2
EMPAT=3
LIMA=4
ENAM=5
TUJUH=6
DELAPAN=7
Jika ada pemberian nilai pada anggota-anggota variabel dengan tipe enumerasi, maka urutan nilai berikutnya akan dilanjutkan sesuai dengan nilai anggota sebelumnya. Contoh pemberian nilai pada anggota enumerasi adalah seperti contoh di bawah ini.
#include <stdio.h>
enum pilihan {SATU=1, DUA, TIGA, EMPAT, LIMA, ENAM, TUJUH, DELAPAN};
int main(){
printf("SATU = %d ?\n", SATU);
printf("DUA = %d ?\n", DUA);
printf("TIGA = %d ?\n", TIGA);
printf("EMPAT = %d ?\n", EMPAT);
printf("LIMA = %d ?\n", LIMA);
printf("ENAM = %d ?\n", ENAM);
printf("TUJUH = %d ?\n", TUJUH);
printf("DELAPAN = %d ?\n", DELAPAN);
return 0;
}
Hasil Program:
Nilai konstanta pada contoh kode program di atas adalah :
SATU=1
DUA=2
TIGA=3
EMPAT=4
LIMA=5
ENAM=6
TUJUH=7
DELAPAN=8
Berikut ini adalah contoh kode program lain yang menggunakan tipe enumerasi.
#include <stdio.h>
#include <string.h>
enum Jenis_kelamin {Pria, Wanita};
enum pilihan {SATU=29, DUA, TIGA, EMPAT, LIMA, ENAM, TUJUH=21, DELAPAN};
int main(){
struct pegawai{
char nama[100];
int nik;
int gaji;
int usia;
Jenis_kelamin jk;
pilihan kode;
};
pegawai peg;
//mendeklarasikan variabel peg1 bertipe pegawai
strcpy(peg.nama, "Geri");
peg.gaji = 5000000;
peg.nik = 1107130630;
peg.usia = 26;
peg.jk = Pria;
peg.kode = EMPAT;
//Menampilkan nilai yang diisikan kelayar
printf("nama pegawai: %s\n", peg.nama);
printf("nomor induk pegawai: %d\n", peg.nik);
printf("gaji pokok: %d\n", peg.gaji);
printf("usia: %d\n", peg.usia);
printf("gender: %d\n", peg.jk);
printf("kode: %d\n", peg.kode);
return 0;
}
Hasil Program:
Cara Membuat Tipe Data Boolean dari Enum
Bahasa pemrograman C tidak memiliki tipe data boolean seperti bahasa pemrograman lain.
Tapi, 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 {};
Mari kita coba dalam program.
Buatlah program baru bernama contoh_boolean.cpp, kemudian isi dengan kode berikut:
#include<iostream>
#include <stdio.h>
using namespace std;
enum boolean {};
int main() {
int a = 4;
int b = 5;
if(a < b == true){
printf("variabel a lebih kecil dari b\n");
}
}
Hasil Program:
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<iostream>
#include <stdio.h>
using namespace std;
enum hari {SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU, MINGGU};
int main() {
enum hari sekarang;
sekarang = RABU;
printf("Ukuran variabel enum: %d bytes\n", sizeof(sekarang));
}
Hasil Program:
Posting Komentar untuk "Mengenal Enumerasi Dalam C++"
Dilarang Berkomentar Menggunakan Kata-Kata Kasar, Link Aktif, Pornografi, Perjudian dan Sejenisnya!!!