Pemrogramman Terstruktur STRUCT Teknik Informatika Universitas Muhammadiyah Malang 2011
Tujuan Pembelajaran memahami dan mampu mengimplementasikan konsep struct yang telah didapat mampu membuat variabel bertipe struct mampu melakukan pengaksesan variabel struct
Topik deklarasi struct pengaksesan struct latihan
Pendahuluan Dalam kehidupan sehari-hari sering dijumpai sekumpulan data yang saling terkait satu sama lain. Contohnya : Nama, alamat, nomor telepon, nomor pokok siswa, nama siswa, nilai ujian, nomor pokok karyawan, nama karyawan, gaji, jabatan.
Pendahuluan Penulisan data tersebut dilakukan dengan mengelompokkan satu kumpulan data yang terkait dalam satu blok, kemudian satu kelompok data selanjutnya di blok yang kedua dan seterusnya. Pertanyaannya : bagaimana kita dapat menyimpan sekumpulan data tersebut?
Pendahuluan Data yang akan disimpan : nama, alamat, nomor telepon. Bagaimana jika menggunakan array? Agar tidak rumit diperlukan suatu cara untuk melakukan penyimpanan beberapa data yang saling terkait menggunakan tipe data baru. Solusi yang dapat digunakan adalah struct.
STRUCT Untuk menggabungkan beberapa data yang saling terkait menjadi seakan-akan satu data tunggal dapat dilakukan dengan menggunakan struct. Struct dari kata structure (struktur). Struct merupakan tipe data yang mampu menyimpan lebih dari satu data (untuk sekumpulan data).
STRUCT Perbedaannya dengan array : jika pada array kumpulan datanya memiliki jenis sama. Sedangkan struct jenis datanya dapat berbeda. Bagaimana cara mendeklarasikan tipe data struct?
Deklarasi Struct Cara deklarasi struct : struct nama_tipeData { deklarasi_variabel1; deklarasi_variabel2; ... deklarasi_variabeln; } ;
Deklarasi Struct 2 Cara deklarasi struct : 1 3 4 5 Perubahan struct menjadi tipe data menggunakan keyword typedef 1 struct nama_tipeData { deklarasi_variabel1; deklarasi_variabel2; ... deklarasi_variabeln; } ; 3 4 5
Deklarasi Struct Komponen-komponen pada deklarasi struct : Keyword ‘struct’ Nama tipe data : syarat pemberian nama sama seperti aturan standart penamaan variabel/identifier. Kurung kurawal buka dan tutup : untuk menandai awal dan akhir body struct Deklarasi variabel : diletakkan didalam body struct, caranya sama seperti deklarasi variabel biasa. Titik koma : untuk mengakhiri statement struct.
Contoh Deklarasi Struct Menggabungkan data karyawan yang terdiri dari : nomor pokok karyawan (terdiri dari 10 karakter), nama (terdiri dari 50 karakter), dan gaji. Deklarasi struct sbb : struct Tkaryawan { char NPK[10]; char nama[50]; long gaji; } ;
Variabel Struct Bagaimana membuat variabel dari tipe data struct? Untuk medeklarasikan variabel struct caranya sama seperti deklarasi variabel biasa. Perintahnya : nama_struct nama_variabel; Contoh: Tkaryawan karyawan_1; (mendeklarasikan variabel bertipe Tkaryawan)
Contoh Program Deklarasi struct Pembentukan variabel bertipe struct #include <stdio.h> void main() { struct Tkaryawan{ char NPK[10]; char nama[50]; long gaji; }; Tkaryawan karyawan; }
Array of Struct Mendeklarasikan array bertipe struct. Contoh : Tkaryawan karyawan_teladan[100]; (mendeklarasikan array bernama karyawan_teladan bertipe Tkaryawan dengan panjang maksimal 100 element)
Latihan Buatlah struct bernama Tpeserta dengan variabel yang dimiliki : nomor test, nama peserta, nilai test. Deklarasikan variabel dari struct tersebut. Buatlah struct dbernama Tbuku engan variabel yang dimiliki : judul, harga, jumlah stok. Deklarasikan variabel dari struct tersebut. Buatlah struct bernama Tpegawai dengan variabel yang dimiliki : kode pegawai, nama pegawai,gaji pokok, dan jabatan (berupa array yg memiliki panjang 4 element). Deklarasikan variabel array dari struct tersebut dengan panjang 10.
Penyimpanan Struct Pemahaman tentang konsep penyimpanan struct di memory akan memudahkan pembelajaran tentang cara pengaksesan variabel struct. Contoh deklarasi : Tkaryawan karyawan; akan mengalokasikan memory sebagaimana ilustrasi berikut : karyawan NPK[10] nama[50] gaji
Penyimpanan Array of Struct Contoh deklarasi : Tkaryawan_teladan[3]; Tkaryawan_teladan [0] [1] [2] NPK[10] nama[50] gaji NPK[10] nama[50] gaji NPK[10] nama[50] gaji
Pengaksesan Struct Karena variabel struct tersusun dari beberapa variabel yang lain. Sehingga untuk pengaksesannya harus menunjuk pada elemen mana yang ingin di-akses. Cara pengaksesan elemen pada variabel struct menggunakan tanda titik. Perintah pengaksesan : variabel_struct.elemen_struct;
Contoh pengaksesan Tkaryawan karyawan; //deklarasi variabel karyawan.gaji; //mengakses variabel gaji pada struct //untuk mengakses variabel struct yg bertipe string harus menggunakn fungsi strcpy() strcpy(karyawan.nama,”kaizan”);
Latihan Buatlah program dari struct Tpegawai yang akan memberikan bonus sesuai dengan jabatan yang dimiliki oleh pegawai : jabatan direktur mendapatkan bonus 20% dari gaji pokok jabatan manager mendapatkan bonus sebesar 15% dari gaji pokok jabatan administrasi mendapatkan bonus sebesar 5% dari gaji pokok jabatan B tidak mendapatkan bonus
Referensi Berbagai sumber