diagram use case scenario.

advertisement
Matakuliah
Tahun
Versi
: T0456 ~ Algoritma dan Metode Object Oriented Programming
: 2005
:5
Pertemuan 3
Unified Modeling language (UML)
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan:
Mahasiswa dapat menjelaskan konsep object
dengan bantuan UML
2
Outline Materi
• Pemodelan Berorientasi Obyek
• Pemrograman Berorientasi Obyek
3
PEMODELAN BERORIENTASI OBYEK
• 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).
4
PEMODELAN BERORIENTASI OBYEK
• 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.
5
Model Obyek
• Pada Pengembangan system berorientasi
object, terdapat beberapa metode
pemodelan, seperti object modeling
technique OMT (Rumbaugh -1991),
Objectory (Jacobson - 1992), dan OOAOOD (coad and Yourdon - 1991).
• Gabungan dari ketiga metode tersebut
adalah unified Modeling language (UML)
pada tahun 1997.
• Pemodelan dalam slide ini dengan UML:
6
Notasi Kelas dan Object
Kelas dan object dimodelkan dengan
nama_kelas, attribute dan metode atau
fungsi sbb:
Nama_kelas
Atributes
Methods
• 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.
7
Notasi Kelas dan Object
Contoh:
Nama Kelas
Mahasiswa
NIM
Nama
Jurusan
InputNIM()
InputNama()
InputJurusan()
TampilData(NIM)
Atributes
Methods
8
Notasi Struktur
• Istilah struktur digunakan untuk menjelaskan
hubungan generalisasi spesifikasi (gen-spek) dan
hubungan keseluruhan sebagian (wholepart).
• Stuktur gen-spek
• Struktur whole-part
menjelaskan hubungan kelas
menjelaskan struktur
satu dengan yang lain yang
kepemilikan “has
memakai hubungan “is a”
a/an”
atau “is a kind of”
Contoh:
A car is a kind of vehicle
Contoh:
A Car has a body
9
Notasi Struktur Gen-Spek
Generalisasi
Spesifikasi 2
Spesifikasi 1
Contoh:
Kendaraan
Kecepatan
GantiKecepatan()
Mobil
Mesin
Sepeda
Gigi
Motor
Tak
Kereta Api
Gerbong
10
Notasi Struktur Whole-part
Whole
Part 2
Part 1
Contoh:
Mobil
Roda
Mesin
Body
11
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.
12
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 representasi yang dekat antara obyek dalam
program dan obyek dalam dunia nyata.
13
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
14
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.
15
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
16
pada atribut tersebut.
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.
17
Penggunaan class
• Class baru dapat digunakan setelah
melalui proses pendefinisian
• Untuk menggunakan class, object dalam
class tersebut juga harus didefinisikan.
18
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
19
Model Obyek Titik:
Point
int x
int y
int Color
Move()
Print()
Hide()
SetColor(int)
20
Penutup
• Untuk memahami konsep object dengan
bantuan UML, mahasiswa membahas
tugas pertemuan 3 no 1, 2, dan 3.
(diskusikan dalam kelompok)
21
Download