STRUCT deddy | adinandra
definisi Adalah pengelompokan dari variable – variable dengan tipe berbeda dalam satu nama yang sama. Dideklarasikan dengan keyword “struct”. Variable yang membentuk suatu structure disebut dengan elemen atau anggota dari structure. Dapat digunakan sebagai tipe data.
cont.. struct is used to declare a new data-type. Basically this means grouping variables together. For example, a struct data type could be used to declare the format of the following file.
pendeklarasian struct namaStruktur { tipeData namaVariable1; tipeData namaVariable2; tipeData namaVariable3; tipeData namaVariable4; }
example struct address{ int houseNumber; char streetName[50]; int zipCode; char country[50]; }; //penggunaan nya struct address perumPermai, perumAsri;
cont..
Contoh struct tersebut mendeklarasikan sebuah variable bernama address, yang mempunyai 4 data member (houseNumber, streetName, zipCode,country). Untuk menggunakan struct yang kita buat pada suatu variable kita tinggal menyebutkan : “struct” + address (namaStruct) + perumAsri (namaVariable)
ilustrasi A-001
A-002
kepala
badan tangan A-003
kaki
A-004
Dengan struct, memungkinkan programer untuk membuat object yang komplek (gabungan beberapa var & attribute) tanpa harus membuat satu per satu. Cukup membuat pattern atau struktur utamanya. Sehingga object yang sama akan meniru struktur utama
how to access member ?
Untuk mengakses member atau elemen dari struct kita bisa lakukan dengan cara : menyebutkan nama struct kemudian diikuti “.” dan nama elemen atau member. namaVariable.namaMember perumAsri. houseNumber perumAsri. streetName perumAsri. zipCode perumAsri. country
example #include<stdio.h> #include
Struct Mahasiswa { char nim[9]; char nama[25]; char progdi[25]; char matkul[25]; char aksara; float ipSem; float ipKom; }; Void main() { } struct mahasiswa Mhs1; printf(“Data Calon Asisten mahasiswa FTI\n”); printf(“NIM : “);scanf(“%s”,&Mahasiswa.nim); printf(“Nama : “);scanf(“%s”,&Mahasiswa.nama); printf(“Program studi : “);scanf(“%s”,&Mahasiswa.progdi); printf(“Mata kuliah : “);scanf(“%s”,&Mahasiswa.matkul);
printf(“Aksara : “);scanf(“%c”,&Mahasiswa.aksara); printf(“IPS : “);scanf(“%f”,&Mahasiswa.ipSem); printf(“IPK : “);scanf(“%f”,&Mahasiswa.ipKom); clrscr(); printf(“\n\nData Calon Asisten mahasiswa FTI\n”); printf(“NIM : %s\n”,&Mahasiswa.nim); printf(“Nama : %s\n”,&Mahasiswa.nama); printf(“Program studi : %s\n”,&Mahasiswa.progdi); printf(“Mata kuliah : %s\n”,&Mahasiswa.matkul); printf(“Aksara : %c\n”,&Mahasiswa.aksara); printf(“IPS : %.2f\n”,&Mahasiswa.ipSem); printf(“IPK : %.2f\n”,&Mahasiswa.ipKom);
struct in struct
Elemen dari sebuah struct berisi struct lain Cara mengaksesnya : namaVariable.namaElemen.namaSubElemen
example #include<stdio.h>
printf(“Nama : “);scanf(“%s”,&Mahasiswa.nama);
#include
printf(“Program studi : “);scanf(“%s”,&Mahasiswa.progdi);
struct tanggal
printf(“Mata kuliah : “);scanf(“%s”,&Mahasiswa.matkul);
{
printf(“Aksara : “);scanf(“%c”,&Mahasiswa.aksara); unsigned int tgl;
printf(“IPS : “);scanf(“%f”,&Mahasiswa.ipSem);
unsigned int bulan;
printf(“IPK : “);scanf(“%f”,&Mahasiswa.ipKom);
unsigned int tahun;
printf(“Tanggal Lahir : “);scanf(“%i”,&Mahasiswa.tglLahir.tgl);
}
printf(“Bulan Lahir : “);scanf(“%i”,&Mahasiswa.tglLahir.bulan);
Struct Mahasiswa {
printf(“Tahun Lahir : “);scanf(“%i”,&Mahasiswa.tglLahir.tahun);
char nim[9]; char nama[25];
clrscr();
char progdi[25];
printf(“\n\nData Calon Asisten mahasiswa FTI\n”);
char matkul[25];
printf(“NIM : %s\n”,&Mahasiswa.nim);
char aksara;
printf(“Nama : %s\n”,&Mahasiswa.nama);
float ipSem;
printf(“Program studi : %s\n”,&Mahasiswa.progdi);
float ipKom;
printf(“Mata kuliah : %s\n”,&Mahasiswa.matkul);
struct tanggal tglLahir;
printf(“Aksara : %c\n”,&Mahasiswa.aksara); printf(“IPS : %.2f\n”,&Mahasiswa.ipSem);
};
printf(“IPK : %.2f\n”,&Mahasiswa.ipKom); Void main()
printf(“Tanggal Lahir : %i”,&Mahasiswa.tglLahir.tgl);
{
printf(“Bulan Lahir : %i”,&Mahasiswa.tglLahir.bulan); printf(“Tahun Lahir : %i”,&Mahasiswa.tglLahir.tahun);
printf(“Data Calon Asisten mahasiswa FTI\n”); printf(“NIM : “);scanf(“%s”,&Mahasiswa.nim);
}
operator and struct
Seperti halnya variable, struct juga dapat melakukan operator. Contoh nya : Assignment
Comparison As
parameter Ect..
passing struct by pointer and not struct x {int a; int b; int c;} ; void function(struct x); main() { struct x z; z.a = 10; /* 1 */ z.a++; function(z); /* 2 */ } void function( struct x z) { printf(" first member %d \n", z.a); }
struct x {int a; int b; int c;} ; void function(struct x *); main() { struct x z, *pz; /* 3 */ pz = &z; /* 4 */ z.a = 10; z.a++; function(pz); /* 5 */ } void function(struct x * pz) { /* 6 */ printf(" first member %d \n", (*pz).a); }
explanation 1. 2.
3. 4.
5. 6.
Give a structure member a value. Pass a COPY of the whole structure to the function. Define 'pz' a pointer to a structure of type 'x'. Put the address of 'z' into 'pz'. 'pz' now POINTS to 'z'. PLEASE NOTE. 'z' is defined to reserve memory equal to the size of the structure. 'pz' only holds an address so will be 4 bytes long. Pass the pointer into the function. Print the value of the member 'a'.