You are on page 1of 5

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();

Struktur sebagai tipe data bentukan Struktur juga bisa digunakan sebagai tipe data bentukan, yaitu dengan cara menggunakan kata kunci typedef. Dengan demikian kita tidak perlu lagi menuliskan kata kunci struct didalam main. Contoh :
#include <stdio.h> #include <conio.h> typedef struct{ char NIM[10]; char nama[25]; int usia; }SISWA; main() { /*mendeklarasikan variabel S dengan tipe SISWA*/ SISWA S; /*menisikan nilai ke dalam S*/ printf("NIM :"); scanf("%s",&S.NIM); printf("Nama :"); scanf("%s",&S.nama); printf("usia :"); scanf("%d",&S.usia); printf("\n\n"); /*menampilkan nilai yang dikandung di dalam S*/ printf("NIM :%s\n",S.NIM); printf("Nama :%s\n",S.nama); printf("Nilai :%d",S.usia); getch(); }

Array dari struktur Merupakan array yang setiap elemen bertipe struktur. Array dari struktur ini digunakan untuk mencatat sekumpulan data dari yang dimasukan oleh user secara berulang kali. Contoh :
#include <stdio.h> #include <conio.h> typedef struct{ char NIM[10]; char nama[25]; int usia; }SISWA; main()

/*mendeklarasikan variabel S dengan tipe SISWA*/ SISWA S[100];

int i,n; printf("berapa banyak data :"); scanf("%d",&n); printf("\n"); /*menisikan nilai ke dalam S*/ for(i=0;i<n;i++) { printf("NIM :"); scanf("%s",&S[i].NIM); printf("Nama :"); scanf("%s",&S[i].nama); printf("usia :"); scanf("%d",&S[i].usia); printf("\n"); } printf("\n\n"); /*menampilkan nilai yang dikandung di dalam S*/ for(i=0;i<n;i++) { printf("NIM :%s\n",S[i].NIM); printf("Nama :%s\n",S[i].nama); printf("Nilai :%d",S[i].usia); printf("\n\n"); } getch(); }

Struktur berisi struktur lain Struktur juga bisa berisi struktur lain didalam anggota-anggota strukturnya. Contoh :
#include <stdio.h> #include <conio.h> typedef struct{ int tanggal; int bulan; int tahun; }tgl_lahir; typedef struct{

char nama[20]; int nim; char jurusan[20]; tgl_lahir mhs; }datadiri; main() { datadiri M; printf("masuakn nama :");scanf("%s",&M.nama); printf("masukan nim :" );scanf("%d",&M.nim); printf("masuakn jurusan :");scanf("%s",&M.jurusan);

printf("masuan tanggal lahir :");scanf("%d",&M.mhs.tanggal); printf("masuan bulan lahir :");scanf("%d",&M.mhs.bulan); printf("masuan tahun lahir :");scanf("%d",&M.mhs.tahun); printf("\n\n"); printf("nama :%s \n",M.nama); printf("nim :%d \n",M.nim); printf("jurusan :%s \n",M.jurusan); printf("tanggal lahir :%d/%d/%d \n",M.mhs.tanggal,M.mhs. bulan,M.mhs.tahun); getch(); }

Struktur sebagai Paeameter


#include <stdio.h> #include <conio.h> typedef struct{ int x; int y; } KOORDINAT; void kali(KOORDINAT A,int *hasilkali); main() { KOORDINAT T; int h_kali; printf(menentukan hasil kali :\n); printf(Nilai x = ); scanf("%d",&T.x); printf(Nilai y = ); scanf("%d",&T.y); kali(T,&h_kali); printf("hasil kali = %d,h_kali); getch(); } void kali(KOORDINAT A,int *hasilkali) { *hasilkali=A.x*A.y; }

Struktur sebagai nilai kembali Fungsi

#include <stdio.h> #include <conio.h> typedef struct{ int x; int y; }KOORDINAT; KOORDINAT BuatTitik(int a,int b); main() { KOORDINAT T1,T2,T3; /*memasukan nilai kedalam T1,T2 dan T3*/ T1=BuatTitik(3,2); T2=BuatTitik(5,4); T3=BuatTitik(7,9); /*menampilkan nilai yang terdapat pada T1,T2 dan T3*/ printf("T1(%d,%d)\n",T1.x,T1.y); printf("T2(%d,%d)\n",T2.x,T2.y); printf("T3(%d,%d)\n",T3.x,T3.y); } getch();

KOORDINAT BuatTitik(int a,int b) { KOORDINAT temp; /*membuat variabel temp yang bertipe KOORDINAT*/ /*memasukan nilai a kedalam x dan b ke dalam y*/ temp.x=a; temp.y=b; } return temp;

You might also like