* Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel
yang bernaung dalam satu nama yang sama dan memiliki kaitan satu
sama lain.
* Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data
sama, struct bisa memiliki variabel-variabel yang bertipe data sama atau
berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau
struct itu sendiri.
* Variabel-variabel yang menjadi anggota struct disebut dengan elemen
struct.
Bentuk umum dari struct:
typedef struct{
tipe_data
tipe_data
.... }
Struct bisa diumpamakan sebagai sebuah obyek, misalnya: obyek Mahasiswa. Struct Mahasiswa memiliki property atau atribut atau variabel yang melekat padanya:
* NIM misal karakter sejumlah 8
* Nama yaitu karakter
* IPK yaitu bilangan pecahan
Struct tidak memiliki operasi (method) atau function. Struct dapat digunakan dengan cara membuat variabel yang bertipe struct tersebut.
Misalnya :
* variabel anton bertipe struct Mahasiswa
* variabel erick bertipe struct Mahasiswa
Dengan demikian variabel anton dan erick memiliki NIM, Nama, dan IPK masing-masing.
Ada dua cara untuk mendeklarasikan struct pada C yaitu:
Menggunakan keyword typedef:
typedef struct Mahasiswa {
char NIM[8];
char nama[50];
float ipk;
};
//untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2
Mahasiswa mhs,mhs2;
//untuk menggunakan struct Mahasiswa dengan membuat variabel array m;
Mahasiswa m[100];
Menggunakan keyword struct:
struct {
char NIM[8];
char nama[50];
float ipk;
} mhs;
Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas
Cara penggunaan struct dan pengaksesan elemen-elemennya:
* Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe data struct tersebut
* Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.)
* Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses elemen-elemennya seperti contoh berikut:
Contoh Program 1 (Penggunaan Struct Sederhana) :
#include
#include
//Pendeklarasian tipe data baru struct Mahasiswa
typedef struct Mahasiswa{
char NIM[9];
char nama[30];
float ipk;
};
void main(){
//Buat variabel mhs bertipe data Mahasiswa
Mahasiswa mhs;
clrscr();
printf("NIM = ");scanf("%s",mhs.NIM);
printf("Nama = ");scanf("%s",mhs.nama);
printf("IPK = ");scanf("%f",&mhs.ipk);
printf("Data Anda : \n");
printf("NIM : %s\n",mhs.NIM);
printf("Nama : %s\n",mhs.nama);
printf("IPK : %f\n",mhs.ipk);
getch();
}