Matakuliah Tahun : T0456 / Algoritma dan Metode Object Oriented Programming : 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 { double x; double y; }; point p1, p2, p3; Bina Nusantara struct { double x; double y; } p1, p2, p3; Akses Anggota Struct C++ memberikan fasilitas inisialisasi satu struktur serta akses anggota satu struktur. Contoh : point p1 = {1.0, 8.5}; Atau p1.x p1.y p2.x p2.y Bina Nusantara = = = = 9.0; 12.5; 5.0; 7.2; 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); do { cout << “input menit? “; cin << waktu.menit; }while(waktu.menit < 0 || waktu.menit > 60); do { 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 Input dan tampilkan data master barang pada Indomaret Masukkan Masukkan Masukkan Masukkan Masukkan Kode Barang: _ Nama Barang: _ Harga Beli: _ Harga Jual: _ Jumlah Stock: _ Yang diinput: Kode Barang: xxxxx Nama Barang: xxxxxxxxxxx Harga Beli: 99999999 Harga Jual: 99999999 Jumlah Stock: 999 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
© Copyright 2024 Paperzz