Struktur bermanfaat
untuk mengelompokkan sejumlah
data dengan tipe yang berlainan. Perhatikan
contoh struktur berikut ini:
struct
data_tanggal
{
int
tahun;
int
bulan;
int
tanggal;
};
Struktur
di atas bernama data_tanggal, yang tersusun atas 3 unit penyusunnya yaitu tahun,
tanggal, dan bulan.
Setelah dibuat struktur
tanggal, selanjutnya struktur
tersebut dapat digunakan sebagai tipe data suatu variabel, dalam hal ini disebut
tipe data abstrak.
Berikut
contoh programnya.
Contoh
1.
#include<iostream.h>
#include<conio.h>
void
main()
{
struct
data_tanggal
{
int
tanggal;
int
bulan;
int
tahun;
};
data_tanggal
tanggal_lahir;
tanggal_lahir.tanggal
= 1;
tanggal_lahir.bulan
= 9;
tanggal_lahir.tahun
= 1979;
cout
<< tanggal_lahir.tanggal << ‘/’ << tanggal_lahir.bulan
<< ‘/’
<<
tanggal_lahir.tahun;
}
Misalkan
terdapat 2 buah variabel tgl1 dan tgl2 sama-sama bertipe data_tanggal. Selanjutnya diinginkan
mengcopy isi dari tgl1 ke
tgl2, maka dapat dilakukan dengan perintah assignment
biasa. Contoh:
Contoh
2.
#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;
}
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”;
Suatu
struktur juga dapat digunakan untuk argumen/parameter suatu function.
Contoh
3.
#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;
}
Tidak ada komentar:
Posting Komentar