Struct atau record adalah kumpulan data yang memiliki tipe data yang berbeda. Secara pendeklarasian, struct sangat berbeda dengan array yang hanya memiliki satu buah tipe data untuk setiap kumpulannya. Struct digunakan apabila data yang ingin dikelompokkan memiliki tipe data yang berbeda. Pendeklarasian struct sebagai berikut:
stuct data_mahasiswa
{
long
int
nim;
char
nama[100];
char
fakultas[100];
};
data_mahasiswa mahasiswa1, mahasiswa2;
Deklarasi di atas merupakan suatu tipe data yang bernama data_mahasiswa di mana setiap data yang akan dideklarasikan menggunakan tipe data data_mahasiswa akan mempunyai field nim, nama, dan fakultas. Untuk dapat menggunakan tipe data tersebut sebuah variabel harus dideklarasikan menggunakan nama struct nya. Bentuk umum pendeklarasian variabel struct nya adalah sebagai berikut:
1
| struct data_mahasiswa mahasiswa1, mahasiswa2; |
Deklarasi dua variabel di atas ada dua variabel bernama Mahasiswa1 dan Mahasiswa2 setiap variabel tersebut mempunyai field sesuai dengan data_mahasiswa.
Selain dekalrasi variabel ada hal yang harus diperhatikan yaitu cara untuk mengisi dan memanggil nilai yang ada di dalam sebuah struct, yaitu sebagai berikut:
1
2
3
4
5
| //Untuk mengisi nilai struct cin>>mahasiswa1.nim; //Untuk memanggil nilai struct cout<<mahasiswa1.nim<<endl; |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| #include <iostream> #include <stdio.h> #include <stdlib.h> #include <conio.h> using namespace std; //Deklarasi struct struct data_mahasiswa { long int nim; char nama[100]; char fakultas[100]; }; //Deklarasi variabel struct data_mahasiswa mahasiswa1, mahasiswa2; int main() { //Input struct data mahasiswa cout<< " Data Mahasiswa Pertama\n" ; cout<< "-----------------------\n" ; cout<< " NIM : " ; cin>>mahasiswa1.nim; cout<< " Nama : " ; fflush (stdin); gets (mahasiswa1.nama); cout<< " Fakultas : " ; fflush (stdin); gets (mahasiswa1.fakultas); cout<< "\n\n" ; cout<< " Data Mahasiswa Kedua\n" ; cout<< "-----------------------\n" ; cout<< " NIM : " ; cin>>mahasiswa2.nim; cout<< " Nama : " ; fflush (stdin); gets (mahasiswa2.nama); cout<< " Fakultas : " ; fflush (stdin); gets (mahasiswa2.fakultas); cout<< "\n\n" ; //Output struct data mahasiswa cout<< " Data Mahasiswa Pertama\n" ; cout<< "-----------------------\n" ; cout<< " NIM : " <<mahasiswa1.nim<<endl; cout<< " Nama : " <<mahasiswa1.nama<<endl; cout<< " Fakultas : " <<mahasiswa1.fakultas<<endl; cout<< "\n\n" ; cout<< " Data Mahasiswa Kedua\n" ; cout<< "----------------------\n" ; cout<< " NIM : " <<mahasiswa2.nim<<endl; cout<< " Nama : " <<mahasiswa2.nama<<endl; cout<< " Fakultas : " <<mahasiswa2.fakultas<<endl; cout<< "\n\n" ; getch(); }
|