Struktur pada C++
A. Definisi Struktur
Struktur
yaitu pengelompokan dari variabel-variabel yang bernaung dalam satu nama yang
sama. Struktur biasa dipakai untuk mengelompokkan beberapa informasi yang
berkaitan dengan sebuah kesatuan, atau biasanya disebut dengan record.
B. Mendeklarasikan struktur
Cara mendeklarasikan struktur
adalah dengan menggunakan kata kunci struct.
Contoh :
struct struktur
_psd{
char
kode[5];
char
nama[30];
int unit;
float
harga;
};
struct struktur _psd persediaan_pusat,
persediaan cabang;
Struktur tersebut diberi nama struktur_psd
yang memepunyai lima buah elemen, yaitu kode [5] dan nama [30] bertipe char,
sedangkan unit bertipe int dan harga bertipe float. Struktur_psd merupakan nama
tipe data struktur dari lima elemen tersebut, bukan nama dari suatu variabel
struktur. Sedangkan persediaan_pusat dan persediaan_cabang merupakan variabel-variabel yang
mempunyai tipe data struktur_psd. Cara lain untuk mendeklarasikan struktur
sebagai berikut:
struct
struktur_psd{
char kode[5];
char
nama[30];
int unit;
float harga;
}
persediaan_pusat,persediaan_cabang;
Untuk deklarasi seperti di atas,
sebenarnya kata struktur_psd dapat juga tidak dituliskan.
Contoh program :
#include<iostream.h>
#include<conio.h>
void main()
{
struct data_tanggal
{
int tanggal;
int bulan;
int tahun;
};
data_tanggal tgl1, tgl2;
tgl1.tanggal = 1;
tgl1.bulan = 9;
tgl1.tahun = 1979;
tgl2 = tgl1;
// atau
tgl2.tanggal = tgl1.tanggal;
tgl2.bulan = tgl1.bulan;
tgl2.tahun = tgl2.tahun;
cout << tgl1.tanggal << ‘/’ << tgl1.bulan
<< ‘/’ << tgl1.tahun << endl;
cout << tgl2.tanggal << ‘/’ << tgl2.bulan
<< ‘/’ << tgl2.tahun << endl;
}
C.
Typedef
Ada juga penulisan struktur
sperti di bawah ini :
typedef struct{
char kode[5];
char nama[20];
int jml;
float harga;
}psd;
psd
persediaan_barang; //pendefenisian nama variabel baru
Dengan menggunakan “typedef”, struktur psd didefinisikan kembali dengan nama
baru tanpa menggunakan kata “struct” di awal nama baru tersebut.
D. Struktur dalam Struktur
Suatu struktur juga bisa mengandung struktur yang lain. Sebagai
gambaran, ditunjukkan pada contoh di bawah ini :
struct
data_pegawai
{
int nip;
char nama[30];
data_tanggal tanggal_lahir;
}rec_peg;
Pada contoh ini, terdapat pendeklarasian struktur bernama
data_pegawai dan sekaligus pendefinisian variable struktur bernama rec_peg.
Gambar di bawah ini menunjukkan anggota dari variable rec_peg.
E. Perbandingan 2 Buah Struktur
Untuk
membandingkan 2 buah struktur, masing-masing unit harus dibandingkan
sendiri-sendiri, Contoh:
if ((tgl1.tanggal == tgl2.tanggal)
&& (tgl1.bulan == tgl2.bulan) && (tgl1.tahun ==
tgl2.tahun))
cout <<
“Isi strukturnya sama”;
else
cout <<
“Isi struktur tak sama”;
F. Struktur dalam Fungsi
Suatu
struktur juga dapat digunakan untuk argumen/parameter suatu fungsi (function).Contoh:
#include<iostream.h>
#include<conio.h>
struct data
{
int x;
int y;
};
void tampilkan(data nilai)
void main()
{
data nilaiku;
nilaiku.x = 10;
nilaiku.y = 16;
tampilkan(nilaiku);
}
void tampilkan(data nilai)
{
cout << “Nilai x = “ <<
nilai.x << endl;
cout << “Nilai y = “ <<
nilai.y << endl;
}
G. Struktur dalam Pointer
#include<iostream.h>
#include<conio.h>
//Deklarasi struktur
struct koordinat
{ int x, y; };
void ubah_posisi(koordinat *posisi)
//prototipe
void main()
{
koordinat posisi; //Definisi variable struktur
posisi.x = 10;
posisi.y = 30;
cout << ”Isi semula : x = ” << posisi.x
<< “ y = ” << posisi.y << endl;
ubah_posisi(&posisi); //parameter berupa alamat
cout << ”Isi sekarang : x = ” << posisi.x
<< “ y = ” << posisi.y << endl;
}
//Definisi fungsi
void ubah_posisi(koordinat *posisi)
{
(*posisi).x = 100;
(*posisi).y = 300;
}
[RS]
Klik Like & Share jika postingan ini bermanfaat
Apa tanggapan Anda?
Berikan tanggapan Anda melalui kolom komentar yang telah disediakan.
- Gunakan bahasa yang sopan;
- Saat menjadikan postingan pada blog ini sebagai referensi, jangan lupa mencantumkan sumbernya (link dari blog ini).
Jika blog ini bermanfaat jangan lupa memberikan 'like' atau 'share' untuk mendapatkan update terbaru.
Terima kasih