Anda di halaman 1dari 14

Struct Atau Record

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;

 cout<<"MAsukkan Nim =";cin>>nilai.mhs.nim;


 cout<<"Masukkan Nama =";cin>>nilai.mhs.nama;
 cout<<"Masukkan Nilai UTS =";cin>>nilai.nil.nil1;
 cout<<"Masukkan Nilai UAS =";cin>>nilai.nil.nil2;
 cout<<endl;
 cout<<"MAsukkan Nim =";cin>>nilai.mhs.nim;
 cout<<"Masukkan Nama =";cin>>nilai.mhs.nama;
 cout<<"Masukkan Nilai UTS =";cin>>nilai.nil.nil1;
 cout<<"Masukkan Nilai UAS =";cin>>nilai.nil.nil2;
 cout<<endl;
 getch();
 }
Hasil
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>

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;
}

cout<<"\n\nData - Data yang anda


masukkan adalah :\n\n";
for (i=0; i<2; i++)
{
cout<<"Data ke -"<<k++<<endl;
cout<<"Nim ="<<mhs[i].nim<<endl;
cout<<"Nama ="<<mhs[i].nama<<endl;
cout<<"Nilai ="<<mhs[i].nilai<<endl;
}
getch();
}
Soal
Sebuah Perusahaan ayam goreng dengan Ayam
Goreng Rakyat telah lumayan banyak pelanggannya.
Perusahaan ini ingin dibuatkan program penjulannya.
Ayam goreng rakyat. Buatlah program dengan
ketemtuan sebagai berikut :
 gunakan strukture dalam program ini
Banyak jenis, jenis potong dan banyak beli diinput

Anda mungkin juga menyukai