Enum dan Struct C++ – Materi Kuliah Program Studi Sistem Informasi

Enum dan Struct C++

Mendefinisikan tipe data baru

Dalam mendeklarasikan variabel, kita menuliskan: tipeData  namaVariabel;

tipeData yang bisa dipakai, antara lain: int, unsigned int, long int, float, double, char, string, dan sebagainya.

Untuk berikutnya, kita dapat menggunakan enum (enumerasi), struct (struktur) sebagai nama tipe.



 

Enum

Enumerasi biasa dipakai kalau kemungkinan nilai dari suatu data telah diketahui, dan jumlah kemungkinannya tidak banyak.

Misalkan untuk menyatakan nama hari, jenis kelamin, atau jenis penjualan.

Sintaksnya:

enum namaEnumerasi { nilai-nilai yang sah }

enum hari { Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu };

 

 

int main()

{

enum NamaHari

{Senin, Selasa, Rabu,

Kamis, Jumat, Sabtu, Minggu};

NamaHari hari1, hari2;

hari1 = Senin;

hari2 = Jumat;

 

int selisih = hari2 – hari1;

cout<<“Selisih hari = “<<selisih;

 

getch();

return 0;

}

 

 

Enum di c++

Manfaat:

Pengisian variabel lebih enak dibaca.

Kekurangan:

Ketika di-output ke layar, yang muncul adalah angka yang merepresentasikan nilai tersebut.

Meskipun direpresentasikan sebagai angka, programmer tidak dapat menugaskan angka ke tipe data enumerasi.

 

Struct

Struct atau terkadang disebut struktur, bermanfaat untuk mengelompokkan sejumlah variabel.

Variabel yang dikelompokkan bisa bertipe sama ataupun berbeda.

Struct bisa diumpamakan sebagai sebuah record, misalnya: Mahasiswa

Struct Mahasiswa memiliki property atau atribut atau variabel atau field yang melekat padanya:

  • NIM yaitu karakter sejumlah 8
  • Nama yaitu karakter
  • IPK yaitu bilangan pecahan

Bentuk umum pendeklarasian struct

Deklarasi diluar main()

typedef struct nama_struct{

tipe_data <nama_var>;

tipe_data <nama_var>;

….

};

Atau

Deklarasi didalam main()

struct {

tipe_data <nama_var>;

tipe_data <nama_var>;

….

} nama_struct;

 

Pendeklarasian dan penggunaan Struct (1)

typedef struct Mahasiswa {

char NIM[8];

char nama[50];

float ipk;

};

 

Atau

 

struct {

char NIM[8];

char nama[50];

float ipk;

} mhs;

 

 

Cara penggunaan struct dan pengaksesan elemen-elemennya

Penggunaan struct dilakukan dengan membuat suatu variabel yang bertipe struct tersebut

Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.)

 

main()

{

struct

{

char nim[8];

char nama[50];

float ipk;

}  mahasiswa;

 

clrscr();

cout<<“masukan NIM = “;

cin>>mahasiswa.nim;

cout<<“masukan Nama = “;

cin>>mahasiswa.nama;

cout<<“masukan ipk Akhir = “;

cin>>mahasiswa.ipk;

cout<<“\n\nData Yang di Inputkan adalah : \n\n”;

cout<<“NIM = “<<mahasiswa.nim<<endl;

cout<<“Nama = “<<mahasiswa.nama<<endl;

cout<<“ipk Akhir = “<<mahasiswa.ipk<<endl;

getch();

}

 

typedef struct Mahasiswa

{

char NIM[9];

char nama[30];

float ipk;

};

 

void main()

{

Mahasiswa mhs; //variabel mhs bertipe data Mahasiswa

clrscr();

printf(“NIM = “);scanf(“%s”,mhs.NIM);

printf(“Nama = “);scanf(“%s”,mhs.nama);

printf(“IPK = “);scanf(“%f”,&mhs.ipk);

printf(“Data Anda : \n”);

printf(“NIM : %s\n”,mhs.NIM);

printf(“Nama : %s\n”,mhs.nama);

printf(“IPK : %f\n”,mhs.ipk);

getch();

}

 

Nested Structure

Nested Structure merupakan suatu Structure yang dapat digunakan didalam structure yang lainnya.

 

main()

{

struct dtmhs

{

char nim[9];

char nama[15];

};

struct dtnil

{

float nil1;

float nil2;

};

struct

{

struct dtmhs mhs;

struct dtnil nil;

} nilai;

cout<<“masukan NIM = “; cin>>nilai.mhs.nim;

cout<<“masukan Nama = “; cin>>nilai.mhs.nama;

cout<<“masukan Nilai UTS = “; cin>>nilai.nil.nil1;

cout<<“masukan Nilai UAS = “; cin>>nilai.nil.nil2;

cout<<“masukan NIM = “<<nilai.mhs.nim<<endl;

cout<<“masukan Nama = “<<nilai.mhs.nama<<endl;

cout<<“masukan Nilai UTS = “<<nilai.nil.nil1<<endl;

cout<<“masukan Nilai UAS = “<<nilai.nil.nil2<<endl;

}

 

 

Structure dengan Array

Penggunaan Array sering dikaitkan dengan Structure, sehingga membentuk Array dari Structure.

Deklarasi array of structure

struct

{

elemen_struktur;

…..

…..

} nama_tipe_struktur[jml_index];

 

 

CONTOH :

 

main()

{

int i, j=1;

struct {

char nim[5];

char nama[15];

float nilai;

} mhs[5];

 

clrscr();

for(i=0; i<2; i++)

{

cout<<“masukan NIM = “; cin>>mhs[i].nim;

cout<<“masukan Nama = “; cin>>mhs[i].nama;

cout<<“masukan Nilai Akhir = “; cin>>mhs[i].nilai;

}

for(i=0; i<2; i++)

{

cout<<“Data Ke – “<<j++<<endl;

cout<<“NIM = “<<mhs[i].nim<<endl;

cout<<“Nama = “<<mhs[i].nama<<endl;

cout<<“Nilai Akhir = “<<mhs[i].nilai<<endl;

}

getch();

}

 

 

 

Nim : 201753003
Nama : Muhajirin
Dosen Pengampu : Ibu. NANIK SUSANTI M.Kom

Materi Kuliah : STRUKTUR DATA – Semester : Genap 2017 / 2018
Fakultas Teknik. Program Studi Sistem Informasi – Universitas Muria Kudus


Konten Yang Sesuai:


Materi Kuliah Program Studi Sistem Informasi © 2017