Struktur (struct) adalah kumpulan
dari variabel yang dinyatakan dengan sebuah nama , dengan sifat setiap variabel
dapat memiliki tipe yang berbeda.
Dalam pemrograman C++, jika kita
membuat suatu program yang memerlukan berbagai tipe data yang akan digunakan.
Tentunya dengan nama variable yang banyak. Dalam program yang sederhana, jika
kita manggunakan sedikit variable tentu tidak akan menjadi suatu jadi masalah.
Akan tetapi jika kita akan membuat sebuah program yang lebih kompleks, dengan
berbagai macam nama dan tipe variable dalam pendeklarasianya. Dengan struct,
kita bisa mengelompokkan berbagai nama dan tipe variable tersebut sesuai dengan
kelompoknya. Hal ini tentunya bisa berguna untuk memudahkan dalam
mengelompokkan sebuah variabel. Sebagai contoh , ada terdapat berbagai nama
variable : nama, nrp, alamat, dll. Variabel – variable tersebut dapat kita
kelompokkan menjadi satu dengan nama data_mahasiswa. Kemudian jika terdapat
variable mata_kuliah, nilai, sks, kelas, dll dapat kita kelompokkan menjadi satu
dengan nama krs.
Dalam
mendeklarasikan struct, ada beberapa cara penulisan yang biasa digunakan.
Pertama :
struct
nama_struct
{
tipe_data_1
nama_var_1;
tipe_data_2
nama_var_2;
tipe_data_3
nama_var_3;
dsb……
};
kedua :
dengan deklarasi menggunakan typedef.
typedef struct
{
tipe_data_1
nama_var_1;
tipe_data_n
nama_var_n;
} nama_struct;
untuk
mendeklarasikan sebuah variable dengan tipe data struct yang telah dibuat
sebelumnya adalah :
struct
tipe_struct nama_variabel;
untuk pendeklarasian
struct sebelumnya menggunakan typedef, maka untuk mendeklarasikan sebuah
variable dengan tipe data struct sebagai berikut :
tipe_struct
nama_variabel;
untuk mengakses
sebuah struct adalah dengan menggunakan operator titik (.)
nama_var_struct
. nama_var_elemen;
·
nested
struct
Di dalam sebuah
struct dapat membuat sebuah struct lagi. Jadi hal ini dapat diartikan struct di
dalam struct. Atau sama dengan for di dalam for.
Contoh :
struct tanggal
{
int hari;
int bulan;
int tahun;
};
struct karyawan
{
char NIP [10];
char nama [20];
struct tanggal
tgl_masuk;
};
·
struct
of array
yaitu sebuah
struct yang di dalamnya tedapat array
(kumpulan variabel).
Contoh :
struct data {
char nama[20];
char
alamat[100];
};
·
array
of struct
Sebuah array
yang setiap data elemennya bertipe struct. yaitu untuk menyimpan object data
yang terstruktur, misal: data buku, barang, dsb.
Contoh :
typedef struct
{
char nrp [10];
char nama [20];
char alamat
[30];
float ipk;
} mahasiswa ;
mahasiswa data[100];รจdeklarasi var, untuk menyiapkan 100 data dengan tipe data mahasiswa
.
contoh struct dengan array 1dimensi
#include "conio.h"
#include "iostream.h"
#include "stdio.h"
struct data {
char nama [20];
char no [3];
int jam;
}
kmp[100];
int bayar[100],bayar1=3000;
void main()
{
clrscr();
int i, x;
cout<<" PEMASUKAN RENTAL KOMPUTER "<
cout<<"==========================="<
cout<<"BERAPA INPUT : ";cin>>x;
cout<
for(i=1;i<=x;i++)
{
bayar[x]=0;
cout<<"NAMA : "; gets(kmp[i].nama);
cout<<"NO KOMPUTER : "; gets(kmp[i].no);
cout<<"JAM : "; cin>>kmp[i].jam;
cout<
bayar[i]=bayar1*kmp[i].jam;
}
cout<<"=========================";
cout<
for (i=1;i<=x;i++)
{
cout<<"NAMA : "; cout<<
cout<<"NO KOMPUTER : "; cout<<
cout<<"JAM : "; cout<
cout<
cout<<"JUMLAH BAYAR RP. " << bayar[i];
cout<<
}
getch();
}