Bentuk umum mendeklarasikanmendefinisikan struktur Struct nama_tipe_struktur Pemanggilan elemen struktur Elemen struktur dapat dipanggil dalam program menggunakan bentuk

BAB 4 RECORDSTRUCTSTRUKTUR

Struktur adalah koleksi dari variabel yang dinyatakan dengan sebuah nama, dengan sifat setiap variabel dapat memiliki tipe yang berlainan. Struktur bisa dipakai untuk mengelompokkan beberapa informasi yang berkaitan menjadi sebuah kesatuan Pada Bahasa Pascal, struktur disebut dengan record. Contoh sebuah struktur adala informasi data tanggal, yang berisi: - Tanggal - Bulan, dan - Tahun.

4.1 Bentuk umum mendeklarasikanmendefinisikan struktur Struct nama_tipe_struktur

{tipe field1; tipe field2; ................... ................... tipe fieldN; }variabel_struktur1,...,variabel_strukturM; Adapun variabel_struktur1,...,variabel_strukturM menyatakan bahwa variabel struktur yang dideklarasikan bisa lebih dari satu. Contoh mendefinisikan struktur struct data_tunggal {int tanggal; int bulan; int tahun; };tgl_lahir; Yang mendefinisikan tipe struktur bernama data_tunggal, yang terdiri dari tiga buah elemen field berupa tanggal, bulan dan tahun. Field adalah sebutan untuk elemen struktur. Sedangkan variabel tgl_lahir betipe struktur data_tunggal yang mengandung tiga field yaitu tanggal, bulan dan tahun. Note: nama_tipe_struktur atau variabel_struktur boleh dihilangkan tetapi tidak boleh kedua-duanya dihilangkan.

4.2 Pemanggilan elemen struktur Elemen struktur dapat dipanggil dalam program menggunakan bentuk

Variabel_struktur.nama_field Antara variabel_struktur dan nama_field dipisahkan dengan operator titik disebut operator titik anggota struktur. Sedangkan untuk memberikan data nama ke field nama, pernyataan yang diperlukan misalnya berupa strcpyinfo_rekan.nama,”Ummu Habibah”; Contoh Program 1 Program untuk mengakses elemen struktur Output setelah program dijalankan Nama : UMMU HABIBAH Tanggal lahir : 15-5-1985 includestdio.h includeconio.h includestring.h void main {struct data_tanggal definisi tipe data_tunggal {int tanggal; int bulan; int tahun; }; clrscr; struct data_rekan definisi tipe data_rekan {char nama[31]; struct data_tanggal tgl_lahir; }; struct data_rekan info_rekan; deklarasi variabel strcpyinfo_rekan.nama,UMMU HABIBAH; info_rekan.tgl_lahir.tanggal=15; info_rekan.tgl_lahir.bulan=5; info_rekan.tgl_lahir.tahun=1985; penampilan elemen variabel struktur printfNama : s\n,info_rekan.nama; printfTanggal lahir : d-d-d\n, info_rekan.tgl_lahir.tanggal, info_rekan.tgl_lahir.bulan, info_rekan.tgl_lahir.tahun; getch; } Contoh Program 2 Output setelah program dijalankan Nama pegawai 1:ummu Alamat pegawai 1:malang Gaji pegawai 1:1000 Data yang telah anda ketikkan: ummu malang 1000.00 Tekan sembarang tombol includestdio.h includeconio.h includestring.h includemath.h struct{ char nama[20]; char alamat[20]; float gaji; }pegawai1; void main {char g[15]; float gj; clrscr; printfNama pegawai 1:; getspegawai1.nama; printfAlamat pegawai 1:; getspegawai1.alamat; printfGaji pegawai 1:; getsg; konversi string ke float gj=atofg; pegawai1.gaji=gj; printf\n\nData yang telah anda ketikkan:; printf\n-20s-30s10.2f,pegawai1.nama,pegawai1.alamat,pegawai1.gaji; printf\n\nTekan sembarang tombol; getch; } 4.3 Array dan struktur Penggunaan struktur sering dikaitkan dengan array, membentuk array dari struktur. Contoh dari array struktur adalah array yang dipakai untuk menyimpan data rekan. Array yang diperlukan untuk masalah ini berupa Setelah array larik_rekan dideklarasikan, ruang yang disediakan akan ditunjukkan pada gambar berikut Tanggal lahir No Nama Tanggal Bulan Tahun 1 2 . . . n Array dari struktur Contoh Program 3 Program berikut merupakan contoh mengenai array dari struktur. Mula-mula seluruh data dimasukkan ke dalam array, kemudian ditampilkan sehingga membentuk tabel. define MAKS 20 . . . struct data_rekan larik_rekan[MAKS]; includestdio.h includeconio.h void main {struct zodiak {char nama[11]; int tgl_awal; int bln_awal; int tgl_akhir; int bln_akhir; }; struct zodiak bintang= {Sagitarius,23,11,20,12}; int tg_lhr,bl_lhr,th_lhr; clrscr; Output setelah program dijalankan Tanggal lahir anda XX-XX-XXXX: 15-05-1985 Bintang anda bukanlah Sagitarius 4.3 Struktur dan fungsi Pada bagian ini masalah yang dibahas meliputi ➢ Cara melewatkan elemen struktur meupun struktur ke dalam fungsi Cara melewatkan elemen struktur ke dalam fungsi dapat dilihat pada contoh program berikut Contoh program 4 include stdio.h include conio.h void tukar_xyint x, int y; deklarasi fungsi void main { struct koordinat { int x; int y; }; struct koordinat posisi = { 21, 34 }; clrscr; printfx, y semula -- d, d\n, posisi.x, posisi.y; tukar_xyposisi.x, posisi.y; printfx, y kini -- d, d\n, posisi.x, posisi.y; getch; } void tukar_xyint x, int y { int z; z = x; x = y; y = z; } printfBintang anda bukanlah s\n,bintang.nama; getch; } printfTanggal lahir anda XX-XX-XXXX: ; scanfd-d-d,tg_lhr,bl_lhr,th_lhr; iftg_lhr=bintang.tgl_awal bl_lhr==bintang.bln_awal|| tg_lhr=bintang.tgl_akhir bl_lhr==bintang.bln_akhir printfBintang anda adalah s\n,bintang.nama; else printfBintang anda bukanlah s\n,bintang.nama; getch; } Output setelah program dijalankan x, y semula -- 21, 34 x, y kini -- 34, 21 ➢ Cara melewatkan struktur ke dalam fungsi. Contoh Program 5 Output setelah program dijalankan 12 September 1989 Latihan 1. Kembangkanlah contoh program 2 sehingga dapat dipakai untuk menentukan bintang kelahiran. Sebagai acuan gunakan data berikut: Aries : 21 Maret-19 April Taurus : 20 April-20 Mei Gemini : 21 Mei-20 Juni Cancer : 21 Juni-22 Juli Leo : 23 Juli-22 Agustus Virgo : 23 Agustus-22 September Libra : 23 September-22 Oktober Scorpio : 23 Oktober-21 November Sagitarius : 22 November-21 Desember includestdio.h includeconio.h struct data_tanggal {int tanggal; int bulan; int tahun;}; void cetak_info_tanggalstruct data_tanggal unit_tgl; void main {struct data_tanggal saat_proses = {12,9,1989}; clrscr; cetak_info_tanggalsaat_proses; getch; } void cetak_info_tanggalstruct data_tanggal unit_tgl {static char nama_bulan[]= {Kode bulan salah, Januari,Februari,Maret,April,Mei, Juni,Juli,Agustus,September,Oktober, November,Desember}; printfd s d\n,unit_tgl.tanggal, nama_bulan[unit_tgl.bulan], unit_tgl.tahun; } Aquarius : 20 Januari-18 Februari Pisces : 19 Februari-20 Maret Gunakan array untuk mengimplementasikan program. 2. Buatlah program untuk menginputkan data-data nilai nama mahasiswa, QUIS, UTS dan UAS dalam suatu struktur daftar nilai mahasiswa dalam suatu kelas mata kuliah pemrograman dasar.

BAB 5 FILE