download

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