void main()
{
enum nama_hari { Senin, Selasa, Rabu, Kamis,
Jumat, Sabtu, Minggu };
nama_hari hari1, hari2;
hari1 = Senin;
hari2 = Jumat;
int selisih = hari2 - hari1;
cout<<"Selisih hari = "<<selisih<<endl;
_getch();
}
• Pada contoh di atas terdapat pendeklarasian tipe enum berupa
nama_hari.
enum nama_hari { Senin, Selasa, Rabu,
Kamis, Jumat, Sabtu, Minggu };
• Pendeklarasian ini menyatakan bahwa anggota tipe enum
nama_hari berupa Senin, Selasa, Rabu, dst…
• Selanjutnya nama_hari hari1, hari2; merupakan
pernyataan untuk mendefinisikan variabel bernama hari1 dan
hari2 yang bertipe nama_hari (enum). Masing-masing
variabel dapat diisi dengan sebuah anggota dari tipe enum
nama_hari.
hari1 = Senin;
hari2 = Jumat;
• Adapun pernyataan int selisih = hari2 – hari1;
menunjukkan pengenaan operasi matematika pada variabel
bertipe enum dimungkinkan.
• Pada contoh ini variabel selisih akan bernilai 4 (hasil
eksekusi) karena variabel hari2 berisi Jumat yang bertipe
enum (Jumat 4), sedangkan variabel hari1 berisi Senin
yang juga bertipe enum (Senin 0) maka hasil int selisih
= hari2 – hari1; menghasilkan nilai selisih = 4 – 0 = 4.
enum nama_hari { Senin, Selasa, Rabu,
Kamis, Jumat, Sabtu, Minggu };
Senin 0
Selasa 1
Rabu 2
Kamis 3
Jumat 4
Sabtu 5
Minggu 6
• Anggota tipe enum dinyatakan dengan nilai integer secara
internal.
• Manfaat enum dalam C++ :
– Pengisian variabel lebih enak dibaca.
• Kekurangan :
– Ketika di output ke layar, yang muncul adalah angka
yang merepresentasikan nilai dari anggota enum
tersebut.
– Meskipun direpresentasikan sebagai angka,
programmer tidak dapat menugaskan angka ke tipe
data enumerasi.
STRUCT
struct atau terkadang disebut struktur bermanfaat
untuk mengelompokkan sejumlah data / variabel.
Variabel yang dikelompokkan bisa bertipe data sama
ataupun berbeda.
Struct didefinisikan dengan cara :
struct namaStruct {
anggota1 struct
anggota2 struct
…
};
• Setelah didefinisikan, sebuah variabel bertipe
struct dapat dibuat untuk digunakan dengan
perintah :
namaStruct namaVariabel;
• Setelah variabel struct didefinisikan, masing-masing
anggota struct diakses dengan menggunakan operator
"." seperti berikut :
namaVariabel.anggota1;
namaVariabel.anggota2;
#include <iostream>
#include <conio.h>
using namespace std;
struct InfoTanggal {
int tahun;
int bulan;
int tanggal;
};
void main()
{
InfoTanggal ultah;
ultah.tanggal = 30;
ultah.bulan = 2;
ultah.tahun = 2020;
cout<<"Saya ulang tahun tanggal : “
<<ultah.tanggal<<"-"<<ultah.bulan<<"-“
<<ultah.tahun;
_getch();
}
Penugasan STRUCT
Pemberian nilai terhadap suatu struktur dapat dilakukan
dengan bentuk :
variabel1 = variabel2;
Sepanjang kedua variabel adalah variabel struktur bertipe data
yang sama.
Misalknya suatu struct memiliki 3 anggota, maka pernyataan :
varStruct1 = varStruct2;
sama saja dengan
varStruct1.anggota1 = varStruct2.anggota1;
varStruct1.anggota2 = varStruct2.anggota2;
varStruct1.anggota3 = varStruct2.anggota3;
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
struct InfoTanggal {
int tahun;
int bulan;
int tanggal;
};
InfoTanggal ultahSaya, ultahDia;
ultahSaya.tanggal = 30;
ultahSaya.bulan = 2;
ultahSaya.tahun = 2020;
ultahDia = ultahSaya;
cout<<"Saya ulang tahun tanggal : "
<<ultahDia.tanggal<<"-"<<ultahDia.bulan
<<"-"<<ultahDia.tahun;
_getch();
}
Agregasi STRUCT
Agregasi struct adalah suatu istilah untuk kondisi dimana suatu
struktur merupakan anggota dari struktur yang lain.
Contoh pada struktur pegawai memiliki nomor induk, nama,
alamat, dan tanggal lahir. Tanggal lahir ini juga merupakan
struktur yang memiliki hari, bulan, dan tahun.
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
void main()
{
struct data_tanggal {
int hari;
int bulan;
int tahun;
};
struct pegawai {
int nip;
string nama;
string alamat;
data_tanggal tgl_lahir;
};
… lanjut
lanjutan …
pegawai Pegawai1;
Pegawai1.nip = 201101;
Pegawai1.nama = "Albert";
Pegawai1.alamat = "Jl.Jend.Sudirman";
Pegawai1.tgl_lahir.hari = 7;
Pegawai1.tgl_lahir.bulan = 12;
Pegawai1.tgl_lahir.tahun = 1955;
cout<<"---Data Pegawai------------"<<endl;
cout<<"NIP : "<<Pegawai1.nip<<endl;
cout<<"Nama : "<<Pegawai1.nama<<endl;
cout<<"Alamat : "<<Pegawai1.alamat<<endl;
cout<<"Tanggal Lahir : "
<<Pegawai1.tgl_lahir.hari<<"-"
<<Pegawai1.tgl_lahir.bulan<<"-"
<<Pegawai1.tgl_lahir.tahun;
_getch();
}
LATIHAN
1. Buatlah sebuah program C++ yang menyediakan input
data dari user menggunakan struktur bernama Data
berisi nama, berat, dan tinggi badan. Kemudian
tampilkan data itu.