Skip to main content

STRUCK

Mengenal Struct (Struktur) Dalam C++


1. Pengertian Struct (Struktur)
Struktur adalah tipe data yang dapat menyimpan sejumlah data yang memiliki tipe data berbeda. Variabel yang menyusun Struktur dinamakan elemen struktur.

2. Deklarasi Struct (Struktur)
Struktur dapat dideklarasikan seperti berikut:
struct nama_struktur {
elemen1;
elemen2;
};

Atau bisa seperti ini:
typedef struct {
elemen1;
elemen2;
} nama_struct;

Contoh deklarasi struktur:
struct Buku {
char kode_buku[10];
char judul[50];
char isbn[20];
char pengarang[50];
int berat;
};

3. Pengaksesan Elemen Struct
Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struktur diikuti dengan tanda titik “.”.
Perhatikan contoh berikut:
buku = Buku;
cout << buku.kode_buku;
cout << buku.judul;

Contoh 1:
#include 
#include 

float get_nilai(float a, float b) {
return (a + b) / 2;
}

void main() {
// definisi struktur
struct Mahasiswa {
char nim[10];
char nama[30];
float uts;
float uas;
};
Mahasiswa mhs;

// entri data
cout << "Masukkan NIM : ";
cin.getline(mhs.nim, 10);
cout << "Masukkan Nama : ";
cin.getline(mhs.nama, 30);
cout << "UTS : ";
cin >> mhs.uts;
cout << "UAS : ";
cin >> mhs.uas;

// tampil data
cout << "\nNIM : " << mhs.nim;
cout << "\nNama : " << mhs.nama;
cout << "\nNilai : " << get_nilai(mhs.uts, mhs.uas);
getch();
}

Output:
Masukkan NIM : 12345676
Masukkan Nama : Edomaru
UTS : 89
UAS : 93

NIM : 12345676
Nama : Edomaru
Nilai : 91

4. Struktur Dalam Struktur
Struktur di dalam Struktur artinya elemen yang berada dalam struktur bertipe data struktur lainnya. Perhatikan contoh berikut:
struct Mahasiswa {
char nim[10];
char nama[30];
};

struct Nilai {
float uts; float uas;
};

struct NilaiMahasiswa {
Mahasiswa mhs;
Nilai nilai;
};

Contoh 2:
#include 
#include 
#include 

float get_nilai(float a, float b) {
return (a + b) / 2;
}

void main() {
// definisi struktur
struct Mahasiswa {
char nim[10];
char nama[30];
};

struct Nilai {
float uts;
float uas;
};

struct NilaiMahasiswa {
Mahasiswa mhs;
Nilai nilai;
};

NilaiMahasiswa nm;

// entri data
cout << "Masukkan NIM : ";
cin.getline(nm.mhs.nim, 10);
cout << "Masukkan Nama : ";
cin.getline(nm.mhs.nama, 30);
cout << "UTS : ";
cin >> nm.nilai.uts;
cout << "UAS : ";
cin >> nm.nilai.uas;

// tampil data
cout << "\nNIM : " << nm.mhs.nim;
cout << "\nNama : " << nm.mhs.nama;
cout << "\nNilai : " << get_nilai(nm.nilai.uts, nm.nilai.uas);
getch();
}

Output:
Masukkan NIM : 12345786
Masukkan Nama : Dee Chozo
UTS : 90
UAS : 70

NIM : 12345786
Nama : Dee Chozo
Nilai : 80

5. Struktur Array
Struktur juga dapat dikombinasikan dengan array, perhatikan contoh berikut:
struct Mahasiswa {
char nim[10];
char nama[30];
float uts;
float uas;
}; Mahasiswa mhs[10];

Contoh 3:
#include 
#include 
#define MAX 5

float get_nilai(float a, float b) {
return (a + b) / 2;
}

char get_huruf(float nilai) {
char huruf;
if (nilai > 85) huruf = 'A';
else if (nilai > 70) huruf = 'B';
else if (nilai > 50) huruf = 'C';
else if (nilai > 40) huruf = 'D';
else huruf = 'E';
return huruf;
}

void main() {
// definisi struktur
struct Mahasiswa {
char nim[10];
char nama[30];
float uts;
float uas; };
Mahasiswa mhs[MAX];

// entri data
for (int i=0; i < MAX; i++) {
clrscr();
cout << "Mahasiswa ke " << i + 1 << endl;
cout << "Masukkan NIM : ";
cin.getline(mhs[i].nim, 10);
cout << "Masukkan Nama : ";
cin.getline(mhs[i].nama, 30);
cout << "UTS : ";
cin >> mhs[i].uts;
cout << "UAS : ";
cin >> mhs[i].uas;
}

// tampil data
for (int i=0; i < MAX; i++) {
float n_akhir = get_nilai(mhs[i].uts, mhs[i].uas);
cout << "\nNIM : " << mhs[i].nim;
cout << "\nNama : " << mhs[i].nama;
cout << "\nNilai : " << n_akhir;
cout << "\nGrade : " << get_huruf(n_akhir);
}

getch();
}

Comments

Popular posts from this blog

STACK

STACK / TUMPUKAN Stack dapat diartikan sebagai tumpukan dari benda atau data yang seolah-olah diletakkan di atas data yang lain dimana data yang pertama kali masuk akan terakhir. Secara sederhana sebuah stack bisa digambarkan sebagai tumpukan buku yang disimpan dengan cara ditumpuk keatas. Dimana buku yang pertama kali disimpan atau ditumpuk ada di paling bawah dan yang selanjutnya ditumpuk diatasnya. Dan ketika kita melakukan pengambilan buku ototmatis buku yang terkahir ditumpuk atau disimpan terakhir akan mejadi yang pertama diambil, istilah ini kemudian disebut FILO (First In Last Out) dan bertambah atau berkurangnya data melalui satu ujung yang sama yaitu ujung atas tumpukan (Top of Stack). Ada 2 operasi dasar dari stack yang dapat dilakukan, yaitu : Operasi push yaitu operasi menambahkan elemen pada urutan terakhir (paling atas). Operasi pop yaitu operasi mengambil sebuah elemen data pada urutan terakhir dan menghapus elemen tersebut dari stack. Selain operasi dasar stack (p...

LOOPING DALAM C

Looping adalah sebuah program perulangan statement dengan jumlah tertentu jika kondisi terpenuhi. Perulangan akan berhenti jika nilai yang dimasukan sudah tidak memenuhi syarat yang diberikan. Macam-macam looping pada C : while loop Syntax :  while  (expression) statement  do-while loop Syntax :  do  statement  while  (condition); Secara fungsional hampir sama dengan while loop, hanya saja condition dalam do-while dievaluasi setelah eksekusi statement, dengan kata lain sedikitnya satu kali eksekusi statement walaupun kondisi tidak terpenuhi. for loop Syntax : for(initialization;condition;increase) statement; Fungsinya akan mengulang statement jika condition bernilai benar. Sama seperti while loop, hanya saja for memungkinkan untuk memberikan instruksi initialization dan instruksi increase, sehingga dapat menampilkan loop dengan counter. Algoritma perulangan for : initialization, digunakan untuk memberikan nila...