TIPE DATA BENTUKAN Tipe data bentukan adalah suatu tipe data yang di definisikan sendiri untuk memenuhi

kebutuhan-kebutuhan program yang akan kita buat. 1. Struktur Merupakan tipe data bentukan yang menyimpan lebih dari satu variabel bertipe data yang sama maupun berbeda dan di kelompokan dalam satu nama untuk kemudian diakses oleh program. Untuk mendifinisikan sebuah struktur kedalam bahasa C kita harus menggunakan kata kunci struct yang di ikuti dengan nama struktur tersebut. Untuk lebih jelasnya berikut bentuk umum dari pendefinisian struktur dalam bahasa C struct nama_struktur { tipe_data field1; tipe_data field2; ...... }; //jangan lupa titik koma

Apabila suatu struktur sudah di deklarasikan, struktur ini dapat digunakan untuk mendefinisikan suatu variabel didalam main, contoh struct nama_struktur nama_variabel Dan untuk mengakses struktur ini dengan menggunkan tanda titik (“.”). yaitu nama variabel di ikuti tanda titik (“.”) dan selanjutnya field dari struktur yang kita buat. nama_variabel.field1 Contoh :
#include <stdio.h> #include <conio.h> struct KOORDINAT { int x; int y; }; main() { struct KOORDINAT T; printf(“menentukan koordinat T :\n”); printf(“Nilai x = ”); scanf("%d",&T.x); printf(“Nilai y = ”); scanf("%d",&T.y); printf("T(%d,%d)",T.x,T.y); getch();

int usia.&S. yaitu dengan cara menggunakan kata kunci typedef. }SISWA. char nama[25]. printf("Nama :%s\n".&S. /*menampilkan nilai yang dikandung di dalam S*/ printf("NIM :%s\n". scanf("%s". char nama[25].nama). Dengan demikian kita tidak perlu lagi menuliskan kata kunci struct didalam main.usia).S. printf("Nilai :%d". }  Array dari struktur Merupakan array yang setiap elemen bertipe struktur.&S. scanf("%d". Contoh : #include <stdio. Contoh : #include <stdio. main() { /*mendeklarasikan variabel S dengan tipe SISWA*/ SISWA S.}  Struktur sebagai tipe data bentukan Struktur juga bisa digunakan sebagai tipe data bentukan. /*menisikan nilai ke dalam S*/ printf("NIM :"). printf("\n\n").NIM). int usia.nama). printf("usia :"). Array dari struktur ini digunakan untuk mencatat sekumpulan data dari yang dimasukan oleh user secara berulang kali.usia).S.S.h> typedef struct{ char NIM[10]. getch(). scanf("%s". }SISWA. main() /*mendeklarasikan variabel S dengan tipe SISWA*/ SISWA S[100].h> typedef struct{ char NIM[10]. printf("Nama :").h> #include <conio. .NIM).h> #include <conio.

printf("\n").scanf("%s". main() { datadiri M. printf("berapa banyak data :").NIM). int tahun. printf("Nama :"). printf("usia :").&M.i<n.NIM). printf("Nilai :%d".&S[i].S[i].h> typedef struct{ int tanggal.usia).&S[i].h> #include <conio.S[i]. int nim. scanf("%s".i<n. . int bulan.n. tgl_lahir mhs. }  Struktur berisi struktur lain Struktur juga bisa berisi struktur lain didalam anggota-anggota strukturnya.usia). printf("masukan nim :" ).scanf("%d". }tgl_lahir.i++) { printf("NIM :%s\n".nama).jurusan). /*menampilkan nilai yang dikandung di dalam S*/ for(i=0.nama). scanf("%s". scanf("%d". Contoh : #include <stdio. printf("masuakn jurusan :"). printf("Nama :%s\n".nama). scanf("%d". }datadiri.int i.nim).i++) { printf("NIM :").&S[i]. /*menisikan nilai ke dalam S*/ for(i=0. printf("\n").scanf("%s".&n). typedef struct{ char nama[20]. } getch(). } printf("\n\n"). printf("masuakn nama :"). char jurusan[20].&M.S[i].&M. printf("\n\n").

}  Struktur sebagai Paeameter #include <stdio. printf("jurusan :%s \n".&h_kali). } KOORDINAT. printf(“menentukan hasil kali :\n”). main() { KOORDINAT T.tahun).mhs.h> #include <conio.tahun). int y. getch(). int h_kali.int *hasilkali) { *hasilkali=A.jurusan).&M.tanggal. printf("masuan tahun lahir :").M. printf("\n\n").x*A.M.tanggal).nim). void kali(KOORDINAT A.printf("masuan tanggal lahir :").scanf("%d".&T.&M. } void kali(KOORDINAT A.int *hasilkali).nama).M.mhs. printf("masuan bulan lahir :").M.mhs. scanf("%d".mhs.y). printf("nama :%s \n".bulan). }  Struktur sebagai nilai kembali Fungsi .mhs.&M. printf(“Nilai y = ”).scanf("%d".M.x).&T.mhs.scanf("%d". printf("tanggal lahir :%d/%d/%d \n".h> typedef struct{ int x.M. printf("hasil kali = %d”.h_kali). bulan. printf("nim :%d \n". kali(T. getch(). scanf("%d".y. printf(“Nilai x = ”).

%d)\n". main() { KOORDINAT T1.%d)\n".x.h> #include <conio.T2 dan T3*/ T1=BuatTitik(3.T3. T2=BuatTitik(5.9). printf("T3(%d. KOORDINAT BuatTitik(int a. } return temp.T3. } getch().T2 dan T3*/ printf("T1(%d.y).T3. /*memasukan nilai kedalam T1.2).T2.T1.T2.y=b. printf("T2(%d. .x=a.y).T2.%d)\n".x. T3=BuatTitik(7.#include <stdio.int b) { KOORDINAT temp. }KOORDINAT. KOORDINAT BuatTitik(int a. /*menampilkan nilai yang terdapat pada T1.T1.4).y).x. /*membuat variabel temp yang bertipe KOORDINAT*/ /*memasukan nilai a kedalam x dan b ke dalam y*/ temp. temp. int y.h> typedef struct{ int x.int b).