Indah Nofikasari
Pengantar
Struct terdapat pada bahasa C/C++, sedangkan Record
pada bahasa Pascal.
Sebuah Struct/Record merupakan koleksi satuan data
yang heterogen, yakni terdiri dari berbagai type: int,
float, char etc.Struct/Record adalah sekumpulan
elemen data yang memiliki tipe dan panjang data yang
berbeda-beda tapi memiliki nama yang sama.
Setiap elemen data disebut dengan
member
struct itu akan membentuk tipe data baru.
Satu kali struct didefinisikan, maka tipe data baru
berupa nama struct tersebut dapat digunakan dalam
program sebagaimana tipe data lainnya seperti int,
char, short, dll.
Syntax untuk membentuk struct:
struct nama_struct
{
tipe_data_member1nama_member1;
tipe_data_member2nama_member2;
tipe_data_member3nama_member3;
}nama_objek;Nama_objek merupakan sebuah
pengenal bagi objek yang menggunakan tipe struct
tersebut.
Kita dapat mendeklarasikan objek yang akan
menggunakan struct tersebut pada saat deklarasi struct.
Seperti di bawah ini
struct product
{int weight;//variabel biasa
float *price;//variabel pointer
}apple, banana, melon;
Mengakses Member
Untuk mengakses member struct pada masing2 objek, gunakan
tanda titik(.) jika variabel biasa, dan gunakan tanda panah (->) jika
variabel pointer yang disisipkan antara nama objek dan nama
member struct.
Contoh :
apple.weight
apple->price
melon.weight
melon->price
Contoh aplikasi struktur dalam struktur
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
struct dtmhs
{
char nim[9];
char nama[15];
};
struct dtnil
{
float nil1;
float nil2;
};
struct
{
struct dtmhs mhs;
struct dtnil nil;
} nilai;
void main()
{
int i, j=1, k=1, l=1;
struct
{
char nim[5];
char nama[15];
float nilai;
} mhs[5];
for(i=0; i<2; i++)
{
cout<<"Data ke-"<<j++<<endl;
cout<<"Masukkan Nim
=";cin>>mhs[i].nim;
cout<<"Masukkan Nama
=";cin>>mhs[i].nama;
cout<<"Masukkan nilai akhor
=";cin>>mhs[i].nilai;
cout<<endl;
}