Struktur Oleh: Sri Supatmi,S.Kom
struktur Struktur dalam bahasa C sama dengan record dalam bahasa Pascal. Struktur adalah kumpulan elemen – elemen data yang digabung menjadi satu kesatuan. Masing – masing elemen data pada record disebut filed, dimana field pada struktur dapat memiliki tipe data yang berbeda. Deklarasi Struktur : struct nama_stuktur { tipe_data1 field-1; tipe_data2 field-2; . . . tipe_datan field-n; } nama_variabel;
Hal yang harus diperhatikan dalam struktur Deklarasi struktur hanya mendefinisikan bentuk data, tidak mendeklarasikan variable. Untuk mendeklarasikannya maka harus menambahkan nama variable strukturnya. Bagian dari struktur (field) adalah sebuah statement, sehingga harus diakhiri dengan titik koma. Pengaksesan struktur di input maupun output “nama_variabel_struktur.field” Contoh Deklarasi Struktur : struct data_mhs { char nama[20]; char nim[20]; float ipk; } mahasiswa;
Latihan soal-1 #include<stdio.h> #include<conio.h> main() { struct mhs { char nama[20]; char nim[20]; float ipk; }mahasiswa; clrscr(); printf("nama : "); gets(mahasiswa.nama); printf("nim : "); scanf("%s",&mahasiswa.nim); printf("ipk : "); scanf("%f",&mahasiswa.ipk); printf("data mahasiswa \n"); printf("nama : %s \n",mahasiswa.nama); printf("nim : %s \n",mahasiswa.nim); printf("ipk : %f \n",mahasiswa.ipk); }
Latihan soal-2 #include<stdio.h> #include<conio.h> main() { int i,jum,tot; struct mhs { char nama[20]; char nim[20]; float ipk; }mahasiswa[20]; clrscr(); tot=0; printf("jumlah mhs:"); scanf("%d",&jum); for(i=1;i<=jum;i++) printf("nama : "); scanf("%s",&mahasiswa[i].nama); printf("nim : "); scanf("%s",&mahasiswa[i].nim); printf("ipk : "); scanf("%f",&mahasiswa[i].ipk); { if(mahasiswa[i].ipk >= 2) tot++; } printf("\n\ndata mahasiswa \n\n"); for(i=1;i<=jum;i++) printf("nama : %s \n",mahasiswa[i].nama); printf("nim : %s \n",mahasiswa[i].nim); printf("ipk : %2f \n",mahasiswa[i].ipk); printf("\n"); printf("\njumalh mhs yg ipk >=2 = %d mahasiswa",tot); return 0;
Tugas Rumah Buatlah program data mahasiswa dengan elemen – elemennya nim, nama, total nilai dan huruf mutu. Dengan ketentuan data yang diinputkan adalah nim, nama dan total nilai, sedangkan huruf mutu didapat dari inputan total nilai. Buatlah program untuk menghitung upah karyawan di suatu proyek, dengan ketentuan : Inputan : nama, nip, jumlah jam kerja. Ketentuan : Jumlah jam kerja normal = 7 jam atau kurang Jika jumlah jam kerja > 7 jam maka Lembur = jjk – 7 * (3/2 * honor/jam) Selain itu lembur = 0, honor/jam = 5000 Jika jumlah jam lembur >= 3, diberi uang makan = 6500, sselain itu tidak mendapat uang makan. Honor = jjk * honor/jam Total honor = honor + lembur + uang makan Output : No Nama Pegawai NIP JJK Honor/Jam Honor U.Lembur U.Makan Total 1 dst ……… …… 5000