STRUKTUR
Struktur (structures) adalah sekumpulan variabel yang masing-masing dapat berbeda tipe,
dan dikelompokkan ke dalam satu nama. Struktur ini sering digunakan untuk
mendefinisikan suatu rekord data yang disimpan di dalam file.
disusun dengan menggunakan obyek tipe lain. Perhatikan definisi struktur berikut:
struct mhs {
char *nama;
char *nim;
int uts, uas;
float akhir;
char mutu;
}
Kata kunci struct menunjukkan definisi struktur, dan identifikasi mhs menunjukkan
structure tag. Dengan demikian terdapat tipe data baru bernama struct mhs, yang terdiri
dari nama mahasiswa, nilai ujian tengah semester, akhir semester, nilai akhir, dan huruf
mutu, yang masing-masing disebut dengan field. Oleh karena itu, jika ingin
mendeklarasikan variabel dengan tipe tersebut, dapat dituliskan seperti contoh berikut:
struct mhs x, y[100], *z;
Variabel x adalah variabel tunggal, y adalah variabel array dengan 100 lokasi memori,
dan z adalah variabel pointer, yang kesemuanya masing-masing berisi field di atas. Jadi,
variabel y adalah daftar nama, nilai uts, uas, akhir, dan huruf mutu dari 100 mahasiswa.
Penulisan deklarasi tersebut dapat juga ditulis sekaligus seperti di bawah ini:
struct mhs {
char *nama;
char *nim;
int uts, uas;
float akhir;
char mutu;
} x, y[100], *z;
Inisialisasi terhadap variabel struktur ini dapat dilakukan seperti contoh berikut:
struct mhs x = { "Asterix", 80, 60, 76.8, 'A' };
Untuk mengakses anggota dari struktur digunakan salah satu dari dua operator, yaitu
operator titik (.), atau operator panah (->) tergantung tipe variabel yang dideklarasikan.
Jika variabel tunggal (misalnya x) maka digunakan operator titik, sedangkan jika variabel
pointer (misalnya z) maka digunakan operator panah, seperti yang terdapat pada dua
pernyataan berikut:
printf("%s", x.nama);
printf("%s", z->nama);
TYPEDEF
Kata kunci typedef merupakan mekanisme untuk membuat sinonim atau alias dari tipe
data yang telah didefinisikan sebelumnya. Sebagai contoh, pernyataan:
typedef struct mhs MHS;
mendefinisikan tipe data baru bernama MHS sebagai sinonim untuk struct mhs. Dengan
demikian, pernyataan struct mhs untuk selanjutnya dapat diganti dengan MHS saja.
UNION
Sama seperti struct, union juga merupakan tipe data yang dibangkitkan, dimana
anggota-anggotanya menggunakan secara bersama-sama ruang penyimpanan memori
yang sama, berbeda dengan struktur yang masing-masing variabel menempati lokasi
memori yang berbeda. Jumlah bytes yang digunakan untuk menyimpan union adalah
sedikitnya cukup untuk menyimpan data terbesar yang ditangani. Oleh karena itu, tipe
union ini umumnya digunakan untuk menangani satu, dua, atau tiga variabel dengan tipe
yang mirip. Sebagai contoh:
union nilaiUjian {
int uts, uas;
float akhir;
}
Inisialisasi, deklarasi, dan pengolahan terhadap tipe union ini sama dengan struct yang
telah dijelaskan pada bagian sebelumnya.
ENUMERASI
Program C menyediakan tipe data yang dapat didefinisikan oleh pemrogram yang disebut
dengan enumerasi. Enumerasi, didefinisikan dengan menggunakan kata kunci enum,
adalah sekumpulan konstanta integer yang direpresentasikan dengan identikasi tertentu.
Nilai dalam enum dimulai dari 0, dapat diubah dengan nilai lainnya, dan menaik dengan
penambahan 1 untuk nilai selanjutnya.
Tidak ada komentar:
Posting Komentar