STRUCT
Structure (struct) adalah kumpulan elemen data yang digabungkan menjadi satu kesatuan
atau bisa diartikan koleksi referensi variabel yang dikemas ke dalam satu nama. Structure
merupakan cara yang nyaman untuk menjaga informasi. Biasanya penamaan antar
variabel di dalam struct saling berkaitan dan mendukung satu gagasan.
Struktur mempunyai persamaan dengan array yaitu pengalokasian memori untuk elemen-
elemennya sudah di tentukan sebelum program dijalankan. Perbedaannya,
Array : tipe data dari elemen-elennya harus sama dan elemen-elemennya diakses
menggunakan indeks
Struktur : tipe data dari elemen-elennya tidak harus sama dan elemen-elemennya diakses
menggunakan identifier atau nama variabel.
Contoh deklarasi structure:
struct data {
char nim[10];
char nama[30];
char kelas[6];
float nilai;
};
Apabila terdapat field-field yang mempunyai tipe yang sama maka bisa dituliskan
sebagai berikut :
struct data {
char nim[10],char nama[30],char kelas[6];
float nilai;
};
Contoh1:
Program menghitung volume sebuah balok
#include<iostream>
#include<conio>
main(){
struct
{
int panjang, lebar,tinggi,volume;
}
balok;
cout<<"panjang=";
cin>>[Link];
cout<<"lebar=";
cin>>[Link];
cout<<"tinggi=";
cin>>[Link];
[Link]= [Link] * [Link] * [Link];
cout<<"Volume="<< [Link];
getch();
}
Tampilan program:
Panjang=10
Lebar=10
Tinggi=5
Volume=500
Contoh2:
// Program tentang data karyawan
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
int main()
{
int C,n;
struct karyawan
{
long NIP;
char Nama[25];
char Alamat[70];
char Status[10];
int Gaji;
char Departemen[20];
};
karyawan A[3];
cout<<"Jumlah data Karyawan = ";cin>>n;
//input data karyawan
for (C=1; C<=n; C++)
{
cout<<"NIP = ";cin>>A[C].NIP;
cout<<"Nama = ";gets(A[C].Nama);//cin>>A[C].nama;
cout<<"Alamat = ";cin>>A[C].Alamat;
cout<<"Status = ";cin>>A[C].Status;
cout<<"Gaji = ";cin>>A[C].Gaji;
cout<<"Departemen = ";cin>>A[C].Departemen;
cout<<"\n";
}
//menampilkan data karyawan
cout<<"==========================================="<<endl;
cout<<n<<"DATA KARYAWAN YANG BERHASIL DI-INPUT-KAN"<<endl;
cout<<"==========================================="<<endl;
for (C=1; C<=n; C++)
{
cout<<"Data Karyawan ke "<<C<<":"<<endl;
cout<<"NIP = "<<A[C].NIP<<endl;
cout<<"Nama = "<<A[C].Nama<<endl;
cout<<"Alamat = "<<A[C].Alamat<<endl;
cout<<"Status = "<<A[C].Status<<endl;
cout<<"Gaji = "<<A[C].Gaji<<endl;
cout<<"Departemen = "<<A[C].Departemen<<endl;
cout<<"\n";
}
getch();
Struct berantai
di dalam deklarasi structure kita bisa mendeklrasikan struct lain, misalnya;
struct data_pembuatan {
int tgl,bulan,thn;
};
struct data_motor {
char merk[20];
char warna[10];
};
struct harga {
int harga
struct data_pembuatan;
struct data_motor;
};
Mengisi Variabel di Struct
Jika struct dikemas ke dalam array maka kita bisa mengisikan semua variabel di dalam
struct secara langsung, contoh :
struct data {
char nim[10];
char nama[30];
char kelas[6];
float nilai;
} mahasiswa[] = {
{ "07.11.1111", "Bejo", "S1TI2J", 70 },
{ "07.11.2222", "Farah", "S1TI2J", 85 },
{ NULL, NULL, NULL, 0 }
};
Mengakses Elemen Struktur
Contoh Program mengakses elemen struktur
#include<iostream>
#include<conio>
main(){
struct data_motor
{
char merk[20];
char warna[10];
int thn_buat;
};
struct
{
int harga;
struct data_motor data ;
} info={
10000000,"Honda Revo","Hitam",2007};
cout<<"merk motor\t:"<<[Link];
cout<<endl;
cout<<"warna\t:"<<[Link];
cout<<endl;
cout<<"thn pembuatan\t:"<<[Link].thn_buat;
cout<<endl ;
cout<<"harga\t:"<<[Link];
getch();
}
Tampilan program:
Merk motor : Honda Revo
Warna : Hitam
Thn pembuatan:2007
Harga : 10000000
Latihan:
Buatlah program diatas supaya pemasukan datanya diinput dari keyboard dan tampilkan
datanya!