download

Matakuliah
Tahun
: T0456 / Algoritma dan Metode Object
Oriented Programming
: 2007
Class dan Object Model
Pertemuan 16
Learning Outcomes
Pada akhir pertemuan ini, diharapkan:
Mahasiswa dapat menghasilkan class diagram dari suatu program C++
dengan UML
Buku Referensi:
C++ - How to program, Deitel & Deitel,
Prentice Hall, 2001.
Websites:
http://www.deitel.com
3
Bina Nusantara
Outline Materi
•
•
•
•
•
•
•
Pemodelan Obyek
Notasi class dan object
Notasi structure class
Pemrograman Berorientasi Obyek
Data members
Function members
Contoh object modelling
4
Bina Nusantara
Object Model
• Teknik pemodelan object menggunakan tiga macam model
penggambaran system yaitu:
o Model object
o Model dinamik
o Model use case (use case scenario)
• Model object menggambarkan struktur statis dari suatu
object dalam system dan relasinya, digambarkan dengan
diagram object (class hierarchy).
5
Bina Nusantara
Object Model
• Model dinamik mengambarkan interaksi antara object dalam system
yang digambarkan dengan state diagram. Model ini berhubungan
dengan waktu dan sekuen operasi.
• Model use case (use case scenario) model ini menggambarkan
bagaimana system bekerja secara keseluruhan dan pada skenario
tertentu. Sehingga jika sebuah object merupakan sesuatu yang
menyediakan layanan maka harus dapat dibuktikan bahwa semua
layanan tersebut ada dalam suatu use case. Model ini digambarkan
dengan diagram use case scenario.
6
Bina Nusantara
Model Obyek
• Pada Pengembangan system berorientasi object, terdapat
beberapa metode pemodelan, seperti object modeling
technique OMT (Rumbaugh -1991), Objectory (Jacobson 1992), dan OOA-OOD (coad and Yourdon - 1991).
• Gabungan dari ketiga metode tersebut adalah unified
Modeling language (UML) pada tahun 1997.
• Pemodelan dalam slide ini dengan UML:
7
Bina Nusantara
Notasi Kelas dan Object
Kelas dan object dimodelkan dengan nama_kelas,
attribute dan metode atau fungsi sbb:
•
Atributes, berupa data atau informasi yang
dipunyai oleh setiap object dalam kelas
tersebut.
•
Fungsi (methods) adalah kemampuan dari
object untuk memproses data,
menginputkan data dan mendisplaynya.
Nama_kelas
Atributes
Methods
8
Bina Nusantara
Notasi Kelas dan Object
Nama Kelas
Contoh:
Mahasiswa
NIM
Nama
Jurusan
Atributes
InputNIM()
InputNama()
InputJurusan()
TampilData(NIM)
Methods
9
Bina Nusantara
Notasi Struktur
• Istilah struktur digunakan untuk menjelaskan hubungan generalisasi
spesifikasi (gen-spek) dan hubungan keseluruhan sebagian
(wholepart).
• Stuktur gen-spek menjelaskan
• Struktur whole-part
hubungan kelas satu dengan yang lain
menjelaskan struktur
yang memakai hubungan “is a” atau
kepemilikan “has a/an”
“is a kind of”
Contoh:
A car is a kind of vehicle
Contoh:
A Car has a body
10
Bina Nusantara
Notasi Struktur Gen-Spek
Generalisasi
Spesifikasi 1
Spesifikasi 2
Contoh:
Kendaraan
Kecepatan
GantiKecepatan()
Mobil
Mesin
Sepeda
Gigi
Motor
Tak
Kereta Api
Gerbong
11
Bina Nusantara
Notasi Struktur Whole-part
Whole
Part 1
Part 2
Contoh:
Mobil
Roda
Mesin
Body
12
Bina Nusantara
PEMROGRAMAN BERORIENTASI OBYEK
• Ide dasar dari pemrograman berorientasi obyek adalah
bahwa dalam dunia nyata terdiri dari obyek, yang memiliki
dua bagian yaitu properties (data/karakteristik) dan behavior
(kemampuan melakukan sesuatu).
• Untuk memecahkan masalah dalam PBO, programmer
tidak lagi bertanya bagaimana program dipecah menjadi
fungsi, tetapi bagaimana dipecah ke dalam obyek.
13
Bina Nusantara
PEMROGRAMAN BERORIENTASI OBYEK
• Benda-benda yang dapat menjadi obyek:
- Human entities: Employee, customer, worker, manager.
- Graphics program: point, line, circle, etc.
- Mathematics: matrix, vector, complex number.
- Computer user environment: windows, menus.
- Data-storage: array, stacks, linked-lists.
• Berfikir dalam batasan obyek dari pada fungsi sangat
berpengaruh dalam membantu proses perancangan
program, hasilnya adalah repre- sentasi yang dekat antara
obyek dalam program dan obyek dalam dunia nyata.
14
Bina Nusantara
PEMROGRAMAN BERORIENTASI OBYEK
• Konsep utama dalam PBO:
1. Encapsulation
2. Inheritance
3. Polymorphism
• Pada PBO program terdiri atas object yang saling
berinteraksi.
• PBO menggambarkan hubungan interaksi antar objek
sebagai satu peristiwa (events), disertai pengiriman pesan
(messages) antar object.
• Sebuah object dianalogikan sebagai object dari dunia nyata
yang mempunyai :
1. Specific properties
2. Specific behavior
15
Bina Nusantara
PEMROGRAMAN BERORIENTASI OBYEK
• Siklus hidup object:
1. Born (created)
2. Life (run, do it’s job)
3. Dead (destroyed)
• Object merupakan suatu variable yang memiliki dua property yaitu data
attribute dan operasi, atau dalam C++ disebut data members dan
member functions.
• Penggambaran sekelompok object yang mempunyai property sama
disebut Kelas (class), yang juga merupakan suatu tipe data.
16
Bina Nusantara
Data Class (data member)
• Pada pengembangan disain program secara keseluruhan, prinsip
yang digunakan adalah menyembunyikan atribut class (information
hiding)
• Dalam class terdapat dua interface dari attributenya yaitu private dan
public.
• Atribut private berarti data tersebut hanya dapat diakses oleh fungsi
dari class itu sendiri.
• Atribute public berarti data tersebut dapat diakses oleh fungsi di luar
class.
• Penentuan suatu attribute private atau public tergantung pada tingkat
keamanan yang diterapkan pada atribut tersebut.
17
Bina Nusantara
Fungsi Anggota (Member Function)
• Merupakan kemampuan yang dipunyai oleh suatu class
• Kemampuan tersebut diwujudkan dengan fungsi
anggota
• Dalam suatu class dapat mempunyai lebih dari satu
fungsi anggota.
• Dalam disain program, fungsi anggota ada yang bersifat
private maupun public.
18
Bina Nusantara
Penggunaan class
• Class baru dapat digunakan setelah melalui proses
pendefinisian
• Untuk menggunakan class, object dalam class tersebut
juga harus didefinisikan.
19
Bina Nusantara
Contoh Sebuah Obyek
• Sebuah titik (point) dalam komputer grafik
• Titik dalam bidang mempunyai data: koordinat x-y
• Kemampuan dari titik adalah bergerak (move) dalam
bidang, muncul ke layar dan sembunyi (hide)
• Bentuk model dari titik dalam PBO adalah:
– Dua variable bilangan bulat (x, y) untuk merepresentasikan
koordinat x-y
– Satu fungsi move untuk, menggerakkan titik
– Satu fungsi print, untuk menampilkan titik
– Satu fungsi hide, untuk menyembunyikan titik
20
Bina Nusantara
Model Obyek Titik:
Point
int x
int y
int Color
Move()
Print()
Hide()
SetColor(int)
21
Bina Nusantara
Diskusi dan Tanya Jawab
Latihan soal
22
Bina Nusantara