download

Matakuliah
Tahun
Versi
: T0044/Pemrograman Berorientasi Obyek
: 2005
: 1.0
Pertemuan 4
Abstract Data Type
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• Menghasilkan program C++ dengan
struktur data struct
2
Outline Materi
•
•
•
•
•
Abstract Data Type
Deklarasi Struct
Access Struct Member
Nested Struct
Typedef
3
Pendahuluan Abstract Data Type
• Model mendefinisikan abstract
view dari sebuah problem.
• Model berfokus pada problem
related stuff dimana kita
definisikan properties dari
problem tersebut.
• Properties ini berisi
– data which are affected and
– operations which are identified by
the problem.
4
Pendahuluan Abstract Data Type
• Contoh: Masalah Administrasi Pegawai dimana
kepala bagian Administrasi meminta anda
membuat program pendataan Pegawai.
– Informasi apa saja yg diperlukan oleh administrasi
tersebut?
– Task apa saja yg perlu dikerjakan?
• Pegawai adalah real persons yg memiliki
karakteristik properties:
– name, date of birth, Address, Position Level, dll
5
Pendahuluan Abstract Data Type
• Dg abstraksi kita definisikan
sebuah entity
• Entity ini mendefinisikan data
structure
• Data structure hanya dapat
di-access melalui operations.
• Operations ini disebut juga
interface
• Sebuah entity dg propertiesnya disebut sebagai abstract
data type (ADT).
6
ADT dg Struct
• Struct merupakan jenis user define data type
• Deklarasi struct:
struct Time
{ int hour;
int minute;
int second;
};
// struct tag
// struct member
• Deklarasi variable struct:
Time timeObject; //var biasa
Time timeArray[ 10 ]; // var array
Time *timePtr; //var pointer
Time &timeRef = timeObject; //reference
7
Access Struct Member
• Operator dot (.) untuk mengakses
member struct dg variable biasa / array
cout << timeObject.hour;
• Operator arrow (->) untuk mengakses
member struct dg variable pointer/ref
timePtr = &timeObject;
cout << timePtr->hour; // atau (*timePtr).hour;
8
Nested Struct
struct Date
{ int tgl;
int bln;
int thn;
};
struct Employee
{ int ID;
int Name;
Date hire;
};
Employee Person1;
Person1.hire.thn < 2000;
9
Typedef
• Untuk memberikan nama alias dari suatu tipe data.
• Contoh menggganti tipe data unsigned char menjadi
byte:
typedef unsigned char Byte;
Byte kode; //variable kode dg tipe Byte
Kode = 65;
typedef Employee Person[10];
Person P;
cin << P[2].ID
10
Tugas 4
• Tugas 4A: Mahasiswa membuat ringkasan
tentang pemakaian struct pada C++
• Tugas 4B: Mahasiswa membuat analisis
contoh program structure dari dosen
• Tugas 4C: Mahasiswa membuat satu
program sederhana dengan menggunakan
struct
11