Structure Data - Struct Pertemuan 8 Matakuliah : T0456 / Algoritma dan Metode Object Oriented Programming Tahun : 2007 Structure Data - Struct Pertemuan 8
Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menghasilkan program yang menggunakan struktur data struct Buku Referensi: C++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Websites: http://www.deitel.com 3 Bina Nusantara
Outline Materi Definisi Struct Akses Element Struct Struct Array of Struct Enum Bina Nusantara
Definisi Struct Adalah struktur data yang terdiri dari 1 atau lebih variabel yang bertipe sama/berbeda Struct secara logik membuat suatu tipe data baru (user defined) yang dapat dipergunakan untuk menampung informasi / data yang bersifat majemuk. Bina Nusantara
Syntax Struct Syntax: struct structTag{ <list of members> }; Contoh: struct point { double x; double y; Bina Nusantara
Deklarasi Variabel Struct Struktur yang telah didefinisikan dapat dipergunakan sebagai tipe data dalam membentuk suatu variable. Contoh: struct point { struct { double x; double x; double y; double y; }; } p1, p2, p3; point p1, p2, p3; Bina Nusantara
Akses Anggota Struct C++ memberikan fasilitas inisialisasi satu struktur serta akses anggota satu struktur. Contoh : point p1 = {1.0, 8.5}; Atau p1.x = 9.0; p1.y = 12.5; p2.x = 5.0; p2.y = 7.2; Bina Nusantara
Contoh Program #include <constrea.h> struct Time { int jam, menit, detik; }; void main() { Time waktu; do { cout << “input jam? “; cin << waktu.jam; }while(waktu.jam < 0 || waktu.jam > 24); cout << “input menit? “; cin << waktu.menit; }while(waktu.menit < 0 || waktu.menit > 60); cout << “input detik? “; cin << waktu.detik; }while(waktu.detik < 0 || waktu.detik > 60); cout << "Waktu yang telah diinputkan = "; cout << waktu.jam << ":" << waktu.menit << ":" << waktu.detik; } Bina Nusantara
Contoh Struct Setiap barang di Indomart mempunyai: KdBarang, NmBarang, HargaBeli, HargaJual, JumlahStock. struct MsBrg{ char KdBarang[5]; char NmBarang[31]; double HargaBeli; double HargaJual; int JumlahStock; } Barang; Array of Struct MsBrg: MsBrg DataBrg[10]; //10 data bertipe MsBrg Bina Nusantara
Contoh Program Struct Masukkan Kode Barang: _ Masukkan Nama Barang: _ Masukkan Harga Beli: _ Masukkan Harga Jual: _ Masukkan Jumlah Stock: _ Yang diinput: Kode Barang: xxxxx Nama Barang: xxxxxxxxxxx Harga Beli: 99999999 Harga Jual: 99999999 Jumlah Stock: 999 Input dan tampilkan data master barang pada Indomaret Bina Nusantara
Contoh Program #include <constrea.h> struct MsBrg { char kodeBrg[5]; char namaBrg[20]; double hargaBrg; int stock; }; void main() { MsBrg Barang; cout << “input kode barang? “; cin << Barang.kodeBrg; cout << “input nama barang? “; cin << Barang.namaBrg; cout << “input harga barang? “; cin << Barang.hargaBrg; cout << “input jumlah stock? “; cin << Barang.stock; cout << “Barang yang telah diinputkan = "; cout << “Kode Nama Harga Stock “ << endl; cout << Barang.kodeBrg << “ " << Barang.namaBrg << “ " << Barang.hargaBrg << “ “ << Barang.stock << endl; } Bina Nusantara
Enum Enum merupakan tipe data yang anggota datanya telah diketahui. Contoh Nama_hari, Nama_bulan, Status. enum Months { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC }; enum Nama_Hari { Senin, Selasa, rabu, Kamis, Jum’at, Sabtu, Minggu }; enum Status {Lanjut, Menang, Kalah }; Bina Nusantara
Contoh Program #include <constrea.h> void main(){ enum Status {ANAK, DEWASA, TUA}; Status kategory; int umur; cout << “input umur? “; cin >> umur; if(umur <= 10 && umur >=0) kategory = ANAK; else if(umur <= 40) kategory = DEWASA; else if(umur <= 90) kategory = TUA; else << “salah input umur” << endl; cout << “Kategory umur = “ << kategory << endl; } Bina Nusantara
Diskusi dan Tanya Jawab Latihan soal 15 Bina Nusantara