Mengenal Enumerasi Dalam C++

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:
Mengenal Enumerasi Dalam C++

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:
Mengenal Enumerasi Dalam C++

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:

Mengenal Enumerasi Dalam C++

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:
Mengenal Enumerasi Dalam 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<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:
Mengenal Enumerasi Dalam C++

Posting Komentar untuk "Mengenal Enumerasi Dalam C++"

close