Anda di halaman 1dari 12

1

 Struktur bermanfaat utk mengelompokkan sejumlah data


dengan tipe yang berlainan

 Contoh pendeklarasian struktur :


Struct data_tanggal Nama tipe struct
{
Kata kunci
int tahun;
int bulan; anggota

int tanggal
}

 Dideklarasikan sebuah struktur bernama data_tanggal yg terdiri


dari tiga buah anggota berupa : tahun, bulan & tanggal

 Ketiga anggota bertipe int

2
 Apabila suatu struktur telah dideklarasikan, struktur ini
dapat digunakan utk mendefinisikan suatu variabel
 Misalnya : data_tanggal tanggal_lahir;
 Merupakan pendefinisian variabel struktur bertipe struktur
data_tanggal
 Dgn adanya pendefinisian ini tanggal_lahir memiliki tiga
buah anggota yaitu :
◦ Tahun
◦ Bulan
◦ tanggal

3
 Suatu struktur juga bisa mengandung struktur yg
lain

Struct data_pegawai
{
int nip;
char nama[25];
data_tanggal tanggal_lahir
} rec_peg;

 Pada contoh diatas terdpt pendeklarasian struktur


bernama data_pegawai dan sekaligus pendefinisian
variabel struktur bernama rec_peg

4
 Anggota struktur diakses dengan menggunakan bentuk :
Variabel_struktur.nama_anggota

 Tanda titik diberikan diantara nama variabel struktur dan


nama anggota misalnya :
tanggal_lahir.tanggal = 1;

 Merupakan pernyataan penugasan utk memberikan nilai 1


ke anggota tanggal pada variabel struktur tanggal_lahir

 Bagaimana halnya utk mengakses anggota bernama bulan


pd variabel struktur rec_peg :
Rec_peg.tanggal_lahir.bulan = 9;

5
 Pemberian nilai terhadap suatu struktur dpt
dilakukan dgn bentuk :
Var1 = var2
 Sepanjang kedua variabel adalah variabel
struktur bertipe sama
 Data_tanggal tgl1, tgl2; penugasan tgl2 =
tgl1
 Dalam hal ini, seluruh anggota pd variabel
tgl2 diisi dgn anggota terkait yg ada pd tgl1,
merupakan penyederhanaan dari tiga
pernyataan berikut :
◦ tgl2.bulan = tgl1.bulan;
◦ tgl2.tahun = tgl1.tahun;
◦ tgl2.tanggal = tgl1.tanggal;

6
 Pembandingan dua buah struktur tidak dapat
dilakukan secara langsung
 Misalnya terdpt pendefinisian sbb:
Data_tanggal tgl1,tgl2;
 Permbadingan sbb tdk akan diterima sewaktu
kompilasi:
If (tgl1 == tgl2)
pernyataan;
 Seharusnya dilakukan perbandingan secara
sendiri-sendiri
If ((tgl1.tahun == tgl2.tahun) &&
(tgl1.bulan == tgl2.bulan) &&
(tgl1.tanggal == tgl2.tanggal))

7
 Suatu struktur juga dpt berkedudukan sebagai
argumen fungsi
 Tanda & di depan nama argumen pada
pendefinisian fungsi meyatakan bahwa argumen
akan dilewatkan sebagai referensi
 Dengan menyatakan sebagai referensi, nilai
anggota struktur dpt diubah
 Selain sebagai fungsi, struktur juga bisa menjadi
nilai balik fungsi
 Contoh : data_tanggal tgl_kini()
 Tipe nilai balik fungsi tgl_kini() berupa struktur
data_tanggal

8
// nama program : struktur2
// contoh penugasan struktur

# include <iostream.h>
void main()
{
struct data_tanggal //pendefinisian
{
int tahun;
int bulan;
int tanggal;
};
data_tanggal tgl1,tgl2;//pendefinisian
struktur
// pengaksesan per anggota struktur
tgl1.tanggal = 1;
tgl1.bulan = 9;
tgl1.tahun = 1964;
//penugasan antar variabel struktur
tgl2 = tgl1;
cout<<tgl2.tanggal<<'/'
<<tgl2.bulan<<'/'
<<tgl2.tahun<<endl;
}

9
//contoh utk melewatkan struktur ke fungsi
# include <iostream.h>
//deklarasi struktur
struct koordinat
{
int x;
int y;
};
void tampilkan_posisi(koordinat posisi); //prototipe fungsi
void main()
{
koordinat posisi; //definisi variabel struktur
posisi.x = 27;
posisi.y = 55;
tampilkan_posisi(posisi);
}
void tampilkan_posisi(koordinat posisi)
{
cout<<"posisi x = " <<posisi.x<<endl;
cout<<"posisi y = "<<posisi.y<<endl;
}

10
Struct mahasiswa ...
{ For (i=0;i<35;i++)
string nama; {
int NIM; ..
int nilai; cin>>mhsTI[i].nama;
char grade; cin>>mhsTI[i].NIM;
} mhsTI; .....
}

11
Buatlah program untuk mengolah data nilai mahasiswa kelas
Algoritma & Pemrograman I. Program ini mampu membaca
setiap data mahasiswa (jumlah 35), dan dapat menentukan
indeks kelulusannya (seperti dalam latihan materi
conditional/pencabangan).
Data mahasiswa disimpan dalam tipe data Array of Struct,
yang berisi komponen Nama, Nim, Nilai, Indeks. Nilai sudah
berisi nilai akhir (dari perhitungan rata-rata). Lengkapi
program tsb dengan fungsi-fungsi sbb :
1. Fungsi membaca data dan menyimpan dalam Array
2. Fungsi menentukan indeks nilai setiap mahasiswa dan sismpan dalam
array
3. Fungsi untuk menentukan mahasiswa dengan nilai tertinggi dan indeks
tertinggi
4. Fungsi untuk mencetak nama-nama mahasiswa dengan indeks
kelulusannya

12

Anda mungkin juga menyukai