Post on 06-Jul-2015
description
transcript
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 1/187
TEKNIK PERANCANGAN PERANGKATTEKNIK PERANCANGAN PERANGKAT
LUNAK BERORIENTASI OBYEKLUNAK BERORIENTASI OBYEK
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 2/187
Teknik Perancangan Berorientasi ObyekTeknik Perancangan Berorientasi Obyek
Memahami teknik Object Oriented Design
Konsep dan Prinsip Dasar Berorientasi Obyek
Analisis dan modelling
Metodologi desain Class dan object
Operasi dan Penggunaan Ulang Perangkat Lunak
Komponen program dan interface
Unified Modelling Language (UML)
Dapat menjelaskan dan menerapkan metode Object-Oriented pada Perancangan Perangkat Lunak
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 3/187
Pentingnya PerancanganPentingnya Perancangan
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 4/187
Dua Teknik Perancangan Perangkat LunakDua Teknik Perancangan Perangkat Lunak
Sistem dianggap sebagai kumpulan obyek (konsep,benda) dalam dunia nyata yang melaksanakansejumlah pelayanan secara terdesentralisasi.Setiap obyek membungkus (encapsulate) sejumlahprosedur dan data yang berinteraksi dengan obyek
lainnya melalui suatu pesan (message).
�� Perancangan Berorientasi pada FungsiPerancangan Berorientasi pada Fungsi
�� Perancangan Berorientasi pada ObyekPerancangan Berorientasi pada Obyek
Sistem di dekomposisi menjadi sejumlah fungsi(prosedur, logika) dengan sistem tersentralisasi
dimana data dapat dibagi dan digunakan secarabersama.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 5/187
Object Oriented Design (OOD)Object Oriented Design (OOD)
Mengapa menggunakan OOD
Karena lebih dekat pada tingkat abstraksi didunia nyata (mengunakan obyek-obyek untukkonsep penstrukturan perangkat lunak).
Interaksi menjadi lebih mudah dalam suatukomputer.
Pengembangan dan Perawatannya dapat
dilakukan secara mudah, iteratif dan terpadu Encapsulation: menggabungkan data dan
fungsi/program secara bersama-sama
Reuse: tidak perlu ada penulisan kembali kode.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 6/187
Reuse of all models, that is of everything architecture -- most important but just a
fraction of what is reusable
use cases, analysis, design, implementationand test
user interface models, business models, etc.
Reuse of technology process with tools
projects
guidelines
Reuseable AssetsReuseable Assets
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 7/187
PertanyaanPertanyaan
Jelaskan perbedaan antara perangkat lunakfungsional dengan perangkat lunak berorientasiobyek ?
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 8/187
Perangkat Lunak Fungsional terfokus pada: Fungsi dalam struktur terhirarki Proses dan Prosedur
Perangkat Lunak berorientasi-obyek terfokus pada: Obyek-obyek dalam dunia nyata yang bekerja sama
(tidak terhirarki). Model dari obyek-obyek di dunia nyata tersebut
(skenario). Peranan obyek-obyek ini dalam penggambaran
sistem perangkat lunak (task).
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 9/187
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 10/187
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 11/187
Lebih Rinci LagiLebih Rinci Lagi
Objects masuk disini
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 12/187
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 13/187
Penggambar an FungsionalPenggambar an Fungsional
Menggambarkan dunia sebagai sejumlahfungsi-fungsi yang saling berhubungan
Angka-angka
Pengurutan
Angka-angkaterurut dari kecil
ke besar
Umumnya dekomposisi Top-Down (dari abstraksisampai tingkat rendah).
Memanipulasi (mengfungsikan) data utama berartimemahami permasalahan.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 14/187
Penggambar an Berorientasi ObyekPenggambar an Berorientasi Obyek
Menggambarkan dunia sebagai sejumlahobyek-obyek
Sistem perangkat lunak digambarkan sebagaisekumpulan obyek-obyek yang saling berinteraksi.
Obyek-obyek dapat digunakan kembali dengansuatu standar karakteristik.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 15/187
ObjectObject--oriented System Developmentoriented System Development
CycleCycle
1. Object-oriented Analysis (OOA)
2. Object-oriented Design (OOD)
3. Object-oriented Implementation
1. Object-Oriented Analysis
Definisikan kebutuhan-kebutuhan sistem melaluiskenario atau penggunaan kasus-kasus.
Kemudian, buat suatu model obyek dengankemampuan memuaskan kebutuhan-kebutuhan.
Output : Model kebutuhan-kebutuhan
Biasanya menggunakan CRC Cards.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 16/187
ObjectObject--Oriented AnalysisOriented Analysis
Memberikan gambaran rinci dari suatu sistem.
Mengidentifikasi WHAT kebutuhan fungsional(Use Cases)
Identifikasi: objects, classes, operations
Identifikasi: object relationships, object interations
Bangun model-model di dunia nyata menggunakantampilan OO
Tujuan dari OOA Untuk memahami domain masalah Meningkatkan ketelitian, konsistensi, kelengkapan
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 17/187
Object-Oriented Design Model kebutuhan-kebutuhan yang dibuat pada fase
analisis diperkaya dalan fase perancangan.
Kadang-kadang ditambahkan lebih banyak lagiatribut dan pelayanan.
Ditambahkan antarmuka obyek-obyek.
Object-Oriented Implementation
Dikembangkan penggunaan sistem.
Menggunakan bahasa pemrograman yangberorientasi obyek.
Jika dibutuhkan, memberikan kaitan pada suatusistem manajemen basisdata yang terpisah.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 18/187
ObjectObject--Oriented DesignOriented Design
Memberikan blueprint untuk implementasi Menspesifikasi Menspesifikasi HOWHOW
Menspesifikasi: class definitions, class categories
Menspesifikasi: subsystems, system architectures OOA + Rincian Implementasi
Tujuan dari OO Design
Mengoptimalkan maintainability, reusability,enhancebility dan reliability
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 19/187
SNU OOPSLA Lab. 19
What is ObjectWhat is Object--Oriented Progr amming ?Oriented Progr amming ?
Gaya pemrograman yang terberhubungan dengannotasi object, class dan inheritance.
Peter Wegner pada ³Dimensions of OOPLs´
Object Class Inheritance
Object-Oriented Programming
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 20/187
Model Proses Berorientasi ObyekModel Proses Berorientasi Obyek
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 21/187
Orientasi obyek cocok untuk proses evolusionerdengan pendekatan penggunaan kembali komponen-komponen sistem.
Rekayasa perangkat lunak OO menekankan
penggunaan ulang kelas-kelas dalam pustaka. Bila suatu kelas tidak ada pada pustaka, maka
perekayasa perangkat lunak meangaplikasikan analisisberorientasi obyek (OOA), perancangan berorientasi
obyek (OOD), pemrograman berorientasi obyek (OOP)dan pengujian berorientasi obyek (OOT).
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 22/187
CIRICIRI--CIRI DARI PERANCANGANCIRI DARI PERANCANGAN
BERORIENTASI OBYEKBERORIENTASI OBYEK
Karena komunikasi antara obyek dilakukan melaluipegerakan pesan maka data yang digunakanbersama oleh beberapa obyek akan kecil sehinggamengurangi ketergantungan (minimum coupling).
Obyek adalah terpadu (cohesive) dan tak tembusdari luar, sehingga seluruh informasi dalam obyekterlindungi terhadap akses dari luar obyek yangtidak dikehendaki.
Obyek dapat dimodifikasi tanpa mempengaruhioperasi dari obyek-obyek yang lain, sehingga dapat meningkatkan kemampuan pemeliharaan sistem.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 23/187
PertanyaanPertanyaan
Mengapa walaupun sudah ada PerancanganBerorientasi Object (OOD), PerancanganFungsional masih tetap digunakan ?
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 24/187
Perancangan Fungsional tetap digunakan karena: Beberapa domain permasalahan lebih baik
digambarkan dalam bentuk fungsional dari padaobyek.
Sudah banyak metoda dan standard yangdikembangkan untuk mendukung perancanganberorientasi kepada fungsi ini.
Sudah banyak pengalaman yang dilakukan denganperancangan berorientasi fungsi.
Perancangan berorientasi fungsi menjadikomplemen (pelengkap) dari perancanganberorientasi obyek.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 25/187
PertanyaanPertanyaan
Bagaimana keunggulan dari perancanganberorietasi-obyek dalam memecahkan masalahperancangan perangkat lunak ?
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 26/187
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 27/187
Kelebihan OODKelebihan OOD
Penggunaan kembali Obyek-obyek Obyek-obyek yang dirancang baik dapat digunakan
dan ditambahkan ke proyek-proyek lain.
Obyek dapat ditambah dengan inheritance.
Keluwesan dan Reliabilitas Penggunaan obyek-obyek yang sudah teruji.
Encapsulation mencegah kesalahan penggunaandata oleh modul yang lain dan membantu
melokalisasi kesalahan (bugs) yang terjadi.
Pengembangan dan Standarisasi
Obyek-obyek dapat digunakan kembali dengankarakteristik standar.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 28/187
Produktivitas
Meningkatkan kecepatan pengembangan perangkat lunak.
Pengalaman: OOD meningkatkan kecepatanpengembangan sekitar faktor 10 kali.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 29/187
The SW development effortThe SW development effort
Size or Functionality Size or Functionality
Effort: Labor-Months Effort: Labor-Months
Conventional OO Technology
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 30/187
SNU OOPSLA Lab. 30
ObjectObject--Oriented SoftwareOriented Software
Dapat memodelkan masalah dengan baik Lebih mudah dimengerti.
Lebih mudah untuk diperbaiki. Lebih mudah untuk digunakan kembali.
Produktivitas !Kualitas !
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 31/187
KONSEP& MEKANISME OBJECT-
ORIENTED DESIGN
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 32/187
PertanyaanPertanyaan
Apa yang dimaksud dengan obyek dan bagaimanaanatomi (bagian dalam) dari suatu obyek ?
Bagaimana obyek dapat berinteraksi dengan dunia
luar ?
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 33/187
OBJECTOBJECT
Biasanya berupa benda atau sesuatu kejadian
Benda konkrit : pesawat
Konseptual : terbang
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 34/187
Anatomi suatu ObyekAnatomi suatu Obyek
Obyek
Metoda
DataPesan-pesan
(msg)
Obyek adalah sekumpulan data (atribut) bersama
dengan gabungan fungsi (metoda) yang digunakanuntuk mengoperasikan data tersebut.Obyek = Data + Metoda
Dunia luar berkomunikasi ke obyek dengan
mengirimkan pesan (message).
Interf ace
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 35/187
Contoh: File ObjectContoh: File Object
openclosereadwrite
file1
file1 open() : file1, tolong buka dirimu.
file1 read(ch) : file1, tolong berikan saya karakterfile1 close() : file1, silahkan tutup kembali dirimu.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 36/187
Windows Sistem Oper asi yangWindows Sistem Oper asi yang
diger akkan pesandiger akkan pesan
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 37/187
Window
open ( )close ( )
move ( )
display ( )
handleEvent ( )
Event
ConsoleWindow
DialogBox Control
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 38/187
Sif at ObyekSif at Obyek
Suatu obyek dikenal dengan apa itu dan apayang dapat dilakukannya (pelayanan).
Obyek-obyek memiliki ciri-ciri atau sifat-sifat
tertentu yang disebut atribut (abstraksi data). Obyek menunjukkan perilaku (behaviour) atau
dapat melakukan suatu pelayanan (methods).
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 39/187
OBJECT ATTRIBUTESOBJECT ATTRIBUTES
ATRIBUT: Adalah data yang menunjukan
Ciri-ciri atau sifat-sifat dari obyek
Penggambaran obyek
Panjang
WarnaTipe mesin
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 40/187
METHODS / OPERATIONSMETHODS / OPERATIONS ± ± BEHAVIOURBEHAVIOUR
Behaviour mengacu kepada apa-apa yang dapat dilakukan oleh suatu obyek dan berhubungandengan fungsi diterapkan pada suatu atribut.
Behaviour obyek-obyek biasanya methode atau
operasi pelayanan.
IkanPenyelam
Berenang
Mobil bisa bergerak,
meyalakan lampu,
membunyikan klakson
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 41/187
OBJECT DIAGRAMOBJECT DIAGRAM
Circle
Center PositionRadiusLengthFillColor
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 42/187
PertanyaanPertanyaan
Apa yang dimaksud dengan kelas dan sebutkankomponen-komponen dari suatu kelas ?
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 43/187
KELAS (CLASS)KELAS (CLASS)
Seperti di dunia nyata, obyek-obyek dapat dikelompokkan atau diklasifikasikan kedalamsuatu kelas.
Kelas adalah koleksi dari obyek-obyek yangmemiliki anggota-anggota yang sama (ciri-ciri,
struktur dan perilakunya). Obyek-obyek dibuat berdasarkan sebuah kelas
(type declaration), atau obyek adalah wujud(instance) dari sebuah kelas.
Suatu Kelas adalah kategori umum dan suatuobyek adalah kejadian spesifik dari suatu kelas.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 44/187
Kelas Record MahasiswaKelas Record Mahasiswa
Obyek-obyek dikelompokkan ke dalam suatu jenisyang disebut kelas Record Mahasiswa.
Obyek Desi, Abdurahman dan Widodo dibuat (instance) berdasarkan tipe kelas Record Mahasiswa
Kelas adalah template yang menghasilkan obyek-obyek dengan perilaku yang sejenis.
Record Mahasiswa
Desi Abdurahman Widodo
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 45/187
Hubungan antar a Obyek dan KelasHubungan antar a Obyek dan Kelas
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 46/187
Kelas Person menggabarkan atribut dari suatuobyek orang.
Setiap orang mempunyai atribut : nama, tanggal lahir,dan alamat dalam himpunan data instance-nyadengan empat metode ('get Name', 'getAge','setAddress', 'getAddress).
Metode ini memungkinkan akses dari luar ke atribut-
atribut tersebut. Dua obyek berikut (Mike, Neil) diciptakan dari Kelas
Person.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 47/187
Object1
M4
M1 M2
M3
M2
M1M4
M3Object
2
Object3
M2
M3
M1
M4
message 1
message 3
message 2
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 48/187
KomponenKomponen--komponen suatu Classkomponen suatu Class
Koleksi dari anggota-anggota data atau atribut-atribut.
Kolekasi dari deklarasi fungsi-fungsi anggota,pelayanan-pelayanan, metoda-metoda.
Tingkat akses: private, protected, atau public.
Nama tag sekutu : tipe data yang didefinisikanpemakai.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 49/187
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 50/187
Gener al Structure of a ClassGener al Structure of a Class
private
public
className
{data, data, «.}
{method,method, «.}
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 51/187
Tingkat Akses Anggota KelasTingkat Akses Anggota Kelas
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 52/187
Anggota KelasAnggota Kelas
class A{
public: A();
private:char m_char;int m_int;float m_float;UINT m_uint;
};
Variabel-variabel
anggota biasanya private
Variabel-variabel anggota
dideklar asikan dengan car a stardar: m_notasi.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 53/187
PertanyaanPertanyaan
Jelaskan bedanya antara instance dan inheritance(penurunan/pewarisan) ?
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 54/187
Modeling ClassModeling Class
Is Inherited byInstance by
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 55/187
INSTANCEINSTANCE
Object didefinisikan oleh Class
Setiap Object adalah instance dari suatu Class
class
instantiations
instances
object object
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 56/187
OBJECT INSTANCEOBJECT INSTANCE
Buat suatuintance dariobyek anda
Object instance
Rumah jadi
CLASS OBJECT
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 57/187
InstancesInstances
paragraph
justify
font =arial
text =
Four score and
seven years agoour forefathers
brought forth on
this continent, a
new nation «..
When in thecourse of human
events it become
necessary for
one people «..
We the people
of the UnitedStates, in order
to form a more
perfect union,
ensure «..
Class
Methods
Classvariables
Instancevariables
3 Instances
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 58/187
INHERITANCE (PEWARISAN)INHERITANCE (PEWARISAN)
Hirarki klasifikasi memungkinkan kelas-kelas obyekmewarisi atribut-atribut dari kelas-kelas yang lebihumum.
Pewarisan adalah suatu mekanisme menciptakankelas-kelas baru (sub-kelas) dari kelas-kelas yangsudah ada.
Kelas turunannya adalah sebuah subkelas atausubtype dari kelas sebelumnya.
Sub-kelas tersebut dapat diperluas perilakunya
dengan menambah metode-metode baru ataustruktur-sturktur data baru.
Misalnya obyek Ford Escorts dapat diwariskanberdasarkan kelas mobil.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 59/187
Pewarisan Kelas / ObyekPewarisan Kelas / Obyek
Khusus
Umum
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 60/187
Base Model:4 cylinder engine
vanilla chassis
standard interior
Ford Mustang
Base Model +luxury interior
Mustang LX:better interior
v6 or v8 engine
Mustang GT:sport suspension
sport v8 engine
special body work
specialization
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 61/187
Contoh InheritanceContoh Inheritance
Apa itu Zebra ?Masalah
³Zebr a adalah seperti kuda tetapi punya strip-strip´
Kuda
Zebr aditurunkan + strip-strip
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 62/187
Examples of generalization inheritance and constraints
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 63/187
Examples of generalization, inheritance, and constraints
Employee superclass with three subclasses
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 64/187
Rectangle
Window
add ³resize´ method
Class Windowinherit Rectangle
add operation
resize(int h1, w1);
{ h=h1; w=w1; display(); }
Rectangle
Window
MenuWindowScrolledWindow
EENCAPSULATION (P k l )NCAPSULATION (P k l )
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 65/187
EENCAPSULATION (Pengkapsulan)NCAPSULATION (Pengkapsulan)
Pengkapsulan berarti mengemas beberapa itembersama-sama menjadi satu unit yang tertutup dalamrangka menyembunyikan struktur internal suatu obyekdari lingkungan/dunia luar.
Pengapsulan seringkali dianggap sebagai
penyembunyian informasi. Setiap kelas hanya menampakkan interface yang
diperlukan untuk berkomunikasi dengan dunia luar(methode) dan menyembunyikan (encapsulating)
implementasi aktual didalam kelas. Kita hanya membutuhkan pemahamam tentang
interface (methode), tidak perlu paham tentanginternalnya (implementation).
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 66/187
Pengapsulan merupakan kemampuan sebuahobyek kelas untuk membatasi akses client kerepresentasi internal obyek (data dan fungsi).
Ada tiga metode enkaspulasi:
- Private- Protected
- Public
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 67/187
Component Interf acesComponent Interf aces
POLYMORPHISMPOLYMORPHISM
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 68/187
Polymorphism memungkinkan memiliki koleksi elemen-
elemen dengan bentuk berbeda dari item-item yangberhubungan.
Disini obyek-obyek atau kelas-kelas yang berbedadapat melakukan implementasi suatu metode yang
sama.Contoh: suatu kelas segi-empat dan kelas segi-tigadapat melakukan suatu metode hitungLuas tetapidengan menggunakan rumus perhitungan luas yangberbeda.
POL YMORPHISMPOL YMORPHISM
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 69/187
S lS l
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 70/187
SoalSoal
1. Ada adalah bahasa pemrograman yang mendukungobyek-obyek dan encapsulation, tetapi tidakmendukung inheritance, dynamic behavior, atauaturan-aturan. Ada dapat dikelompokkan padabahasa pemrograman jenis apa ?
(a) Object oriented language;
(b) Class-based language;
(c) Object-based language;
(d) Object procedure language.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 71/187
2. Ketika seseorang menambahkan suatu kelas yangdiambil dari suatu kelas dasar dengan meningkatkankemampuan kelas dasar tersebut, maka disebut :
(a) Data encapsulation (b) Inheritance
(c) Polymorphism (d) Instant
3. Suatu metoda yang hanya dapat digunakan olehmetoda lain dalam satu kelas, mempunyai jenis akses:
(a) Public (b) Protected
(c) Private (d) Indeterminate.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 72/187
4. Kelas A adalah kelas dasar. Kelas B diturunkan darikelas A. Kelas C diturunkan dari kelas B. Maka jenisdari turunan disini adalah:
(a) Multiple inheritance. (b) Composition
(c) Abstract inheritance (d) Serial Inheritance
Class hierarchyClass hierarchy
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 73/187
Emplo y ee
Name Address
Salar y Manager . . .
Pr ogrammer
Project Prog languages
Mana ger
Dept Staf f Gr ade. . .
Project mana ger
Project Date Appointed . . .
Class e a c yClass e a c y
Multiple inheritanceMultiple inheritance
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 74/187
Emplo y ee
Name Add r ess
Salar y Manager
r ogr ammer
r ojec t r og languages
Mana ger
ept S t af f
r ade. . .
P r ojec t mana g er
P r ojec t at e Appoint ed
. . .
Softw ar e pr ojec t mana g er
P r ojec t name: r enamesP r ojec t manager .P r ojec t
Multiple inheritanceMultiple inheritance
PERKEMBANGAN BAHASA PEMROGRAMANPERKEMBANGAN BAHASA PEMROGRAMAN
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 75/187
PERKEMBANGAN BAHASA PEMROGRAMANPERKEMBANGAN BAHASA PEMROGRAMAN
Generasi Awal (Pemrograman Prosedural)
Bahasa prosedural seperti Assembler, FORTR ANdan COBOL.
Pemrograman merupakan suatu karya seni
yang kreatif. Kode rumit seperti spaghetti karena penuh
dengan perintah-perintah GOTO yang sulit untuk dipertahankan.
P d lP d l
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 76/187
DIM N(100), M(500)--------------------------------------------
10 ----------------------IF ------
c THEN GOTO 5000c ELSE GOTO 10
--------------------------------------------
100 ------------------------------------------------------------------
5000 ------------------------------------------------------------------
6500 ----------------------GOTO 100
Prosedur alProsedur al
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 77/187
Generasi Kedua (Pemrograman Terstruktur)
Perangkat lunak meniru struktur dari suatumodel bisnis.
GOTO diganti dengan suatu putaran (loop)
seperti while, do-while, dan if-then-else. Deretan yang sangat cocok untuk aplikasi-
aplikasi ilmiah (matematika adalah suatuprosedur alamiah).
T t ktT t kt
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 78/187
while -------- do
---------------------------------------------------------------
if ---------then
----------------------------
else--------------
--------------endIf
------------------------------------------
endWhile
Terstruktur Terstruktur
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 79/187
Generasi Dewasa ini (PemrogramanBerorientasi Obyek)
Data dan kode dikemas kedalam suatu obyek.
Penggunaan kembali dan pemekaran melalui
kerjasama antara obyek-obyek. Memungkinkan kombinasi kode struktural dan
prosedural dalam obyek.
Memungkinkan pemakai mendefiniskan tipe datasebagai sejumlah obyek yang memberikan modelsistem yang lebih alamiah dari pada tipe-tipestandard.
B h P B i t i Ob kB h P B i t i Ob k
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 80/187
Bahasa Pemrograman Berorientasi ObyekBahasa Pemrograman Berorientasi Obyek
Penggunaan bahasa pemrograman berorientasiobyek memungkinkan implementasi langsungperancangan berorientasi obyek, tetapimembutuhkan ruang dan sumber-sumber yanglebih besar.
Efektivitas perancangan berorientasi obyek tidaktergantung pada penggunaan bahasapemrograman tertentu.
SoalSoal
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 81/187
SoalSoal
Pemrograman berorientasi obyek mengarahkepada hasil berupa:
(a) Reuse of code (Kode yang digunakan kembali )
(b) Sphagetti code
(c) Building code
(d) Structured code
DEFINISIDEFINISI
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 82/187
DEFINISIDEFINISI
Per ancangan Berorientasi Obyek
Mendefinisikan sebuah hubungan antara antarmuka(interface), kelas-kelas (classes), dan obyek-obyek(objects) yang masing-masing saling bekerjasamadengan aturan tertentu yang unik untuk menyelesaikan
suatu masalah.
Menurut Meyer:
Perancangan berorientasi obyek adalah metoda
yang membawa kita ke arsitektur perangkat lunakberbasis obyek-obyek yang dimanipulasi(difungsikan) oleh setiap sistem atau subsistem.
P Si t B i t i Ob kP Si t B i t i Ob k
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 83/187
Perancangan Sistem Berorientasi ObyekPerancangan Sistem Berorientasi Obyek
Merancang sistem berorientasi obyek adalahbagaimana memecah sistem kedalam obyek-obyekberdasarkan pada informasi yang diperolehterutama pada tahap analisis.
Membuat suatu generalisasi dari obyek-obyekuntuk mendefinisikan kelas-kelas bagi setiap obyekdalam sistem.
Menghasilkan sebuah diagram kelas (struktur dari
sistem) menggunakan berbagai notasi standarseperti: OMT (Object Modelling Technique), UML(Unified Modelling Language).
Pencipta Unified Modeling LanguagePencipta Unified Modeling Language
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 84/187
Pencipta Unified Modeling LanguagePencipta Unified Modeling Language
Grady Booch
James Rumbaugh
Ivar Jacobson
Sejarah UMLSejarah UML
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 85/187
Sejar ah UMLSejar ah UML
OOPSLA ´95
W b - J ´96
OMG vi i , Sep µ97
OMG b i i , J ´97
OMG Acceptance, v 1997
U ML partners
Revi si n T ask F rce ( R TF) report , Apr 1999
Booch ethod OM T
U ni i ed Method 0.8
OOSE
&
Other ethods
U ML 0.9
U ML 1.1
U ML 1.3
U ML 1.0
M i crosoft ,
Orac l e,
IBM , H P , &
other i ndustry l eaders
Other sub i ssi ons
OMG
F eed back
Fr agmentation
Unification
Standardization
Industrialization
Apa itu UML?Apa itu UML?
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 86/187
Apa itu UML?Apa itu UML?
UML singkatan dari Unified Modeling Language UML mengkombinasikan / koleksi dari:
Data Modeling concepts (Entity RelationshipDiagrams)
Business Modeling (work flow) Object Modeling
Component Modeling
UML adalah bahasa standarpemodelan untukmenggambarkan, menspesifikasikan,membangun, dan mendokumenkan sistemperangkat lunak.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 87/187
Bahasa pemodelanstandard.
Mendefinisikan suatumetamodel semantik
Tidak tergantungpada proses.
Bahasa pemrograman Visual.
Suatu perangkat antarmuka, penyimpan,atau model run-time.
Suatu proses standard.
UML adalah: UML adalah bukan:
Konsep Dasar OKonsep Dasar O--O dalam UMLO dalam UML
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 88/187
Konsep Dasar OKonsep Dasar O O dalam UMLO dalam UML
Inheritance Associations
Aggregation
Composition
Inheritance
Associations
AGGREGATIONAGGREGATION
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 89/187
AGGREGATION AGGREGATION
Aggregation adalah bentuk khusus dari Associationdimana suatu obyek dari Kelas X berisi atau mempunyaiobyek dari Kelas Y
Notasi intan terbuka menunjukkan bahwa instanceKelas X mempunyai lebih banyak intance Kelas Y atauKelas Nol.
* menandakan dapat diganti oleh suatu nilai integer.
ContohContoh
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 90/187
ContohContoh
DepartmentSchool
Student Course Instructor
member
1 .. *
*
has
1 .. *11 .. *
1 .. *
1 .. *
1 .. *
* *
1 .. *
0 .. 1
0 .. 1
attends teaches
assignedTo
chairperson
*
COMPOSITIONCOMPOSITION
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 91/187
COMPOSITIONCOMPOSITION
Composition adalah bentuk khusus dari Aggregationdimana kandungan obyek tidak dapat di-share olehcontainers yang lain dan obyek harus dihapus jikacontainer-nya dihilangkan.
Jika intance Kelas X dihapus maka bagian-bagiannya juga harus dihapus.
Tujuan Perancangan dengan UMLTujuan Perancangan dengan UML
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 92/187
Tujuan Perancangan dengan UMLTujuan Perancangan dengan UML
Memberikan pemakai bahasa pemodelan visualyang siap pakai sehingga mereka dapat mengembangkan dan mempertukarkan model-model yang berguna.
Tidak tergantung kepada bahasa pemrogramantertentu dan proses-proses pengembangan.
Memberikan basis formal untuk memahami bahasapemodelan.
Mendukung pengembangan konsep-konsep tingkat tinggi, seperti: kolaborasi, framework, pola-poladan komponen-komponen.
Model dan DiagramModel dan Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 93/187
Model dan Diagr amModel dan Diagr am
U se C aseDi agramsU se C ase
Di agramsU se C aseDi agrams
Scenar i oDi agramsScenar i o
Di agramsC oll aborat i onDi agrams
StateDi agramsState
Di agramsC omponent Di agrams
C omponent Di agramsC omponent
Di agramsDepl oyment Di agrams
StateDi agramsState
Di agramsObj ect Di agrams
Scenar i oDi agramsScenar i o
Di agramsStatechart Di agrams
U se C aseDi agramsU se C ase
Di agramsSequenceDi agrams
StateDi agramsState
Di agramsCl assDi agrams
Act ivi ty Di agrams
A model i s a compl ete
descr i pt i on of a system
from a part i cul ar perspect iv e
Model s
Scope UMLScope UML
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 94/187
Scope UMLScope UML
Object-Oriented Analysis Use Case diagram
Object interaction diagram
Class diagram
State diagram Activity diagram
Object-Oriented Design
Process diagram Architecture diagram
Deployment diagram
UML DiagramsUML Diagrams
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 95/187
UML Diagr amsUML Diagr ams
DIAGRAM UMLDIAGRAM UML
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 96/187
DIAGRAM UMLDIAGRAM UML
Phases of a Development CyclePhases of a Development Cycle
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 97/187
Phases of a Development CyclePhases of a Development Cycle
0. R equirement
analysis
1. Analysis
2.
Design
3. Code
4. Test
UML
diagram
UML
diagram
Use Case
analysisRequirement
specification
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 98/187
Pengembangan perangkat lunak adalah suatu prosesyang dilakukan secara bertahap.
Proses ini harus mengikuti suatu metodologi. Setiap tahapan didukung dengan grafik dan diagram.
UML adalah bahasa khusus untuk membuat diagram-diagram.
DIAGRAM DAN PROSESDIAGRAM DAN PROSES
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 99/187
Metode BoochMetode Booch
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 100/187
Metode Booch adalah metoda umum digunakan
dalam analisis dan perancangan berorientasi obyekyang dikembangkan dalam empat model dasar yaitu:
1. Logical Model
2. Physical Model3. Static Model
4. Dynamic Model
Komponen-komponen dokumennya terdiri dari : class,kategori-kategori class, objects, operations, modules,processes, processors, devices, dan hubungan-hubungan antara mereka.
DiagramDiagram--diagram dalam Metode Boochdiagram dalam Metode Booch
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 101/187
gg gg
Diagram Kelas (Class Diagram) Diagram Obyek (Object Diagram)
Diagram Modul (Module Diagram)
Diagram Keadaan (State Diagram)
Diagram Interaksi (Interaction Diagram)
Diagram Proses (Process Diagram)
Beberapa diagram dapat mengandung informasidari beberapa model berbeda, dan beberapa modeldapat memuat informasi yang berakhir padasejumlah diagram-diagram yang berbeda.
Contoh SoalContoh Soal
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 102/187
Masalah yang akan kita pecahkan adalah masalah
perpustakaan universitas. Aplikasi yang ingindikembangkan harus dapat mendukung pencarianbahan-bahan pustaka yang meliputi: buku, video danCD ROM. Users akan memasukan Identitas (ID)anggota perpustakaan untuk menggunakan sistempencarian melalui katalog pustaka.
PersyaratanSetiap peminjaman dibatasi maksimum 5 itemdimana waktu peminjamannya buku 14 hari, video 2hari dan CD ROM 7 hari. Jika terlambat dikenakandenda untuk buku $0,5/hari, video $1,5/hari dan CDROM $2,5/hari. Denda maksimum adalah $25 (tidakboleh pinjam lagi yang baru kalau belum dilunasi).
Spesifikasi MasalahSpesifikasi Masalah
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 103/187
pp
Perpustakaan universitas minta dibuatkan sistem
yang mendukung kegiatan perpustakaan.Pustakawan memperbolehkan mahasiswa meminjambeberapa bahan pustaka, mengembalikan bahanpustaka yang dipinjam, dan membayar denda.
Jenis Denda per hari Lama peminjamanBuku: $ 0.50 14 hari
Video: $ 1.5 2 hari
CD Roms $ 2.50 7 hari
Tanggal peminjaman dimulai ketika bahan pustakayang dipinjam dikeluarkan. Mahasiswa yang sudahmeminjam 5 jenis bahan pustaka atau denda lebihdari 25.00 tidak diperkenankan mendapat pinjaman
bahan pustaka yang baru.
Identifikasi KelasIdentifikasi Kelas--kelaskelas
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 104/187
Abstraksi kunci dari pelaku-pelaku (obyek) yangmemberikan model solusi adalah:
Librarian (Pustakawan)
User (Pemakai/Mahasiswa)
Book (Buku) Video (Video)
CD Rom
5 bahan pustaka
Diagr am KelasDiagr am Kelas
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 105/187
gg
Diagram kelas memperlihatkan keberadaan darikelas-kelas dan hubungan diantara mereka dalampandangan logis dari sistem.
Pertama mengidentifikasi kelompok awal darikelas-kelas: pemakai (user), pustakawan
(librarian), koleksi (collection), peminjam(borrower) , bahan pustaka (lendable), buku(book), video, CD ROM, dan tanggal (date).
Kita dapat menarik garis-garis antara kelas untuk
menggambarkan suatu hubungan. Dua kelas yang terhubung dapat memanggil suatu
metoda atau menukar pesan-pesan.
Diagr am Kelas MulaDiagr am Kelas Mula--mulamula
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 106/187
gg
Inheritance HierarchyInheritance Hierarchy
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 107/187
yy
lendable
book cdRom video
lendable is the abstract class n ever instantiat ed
concrete classes inheritance
Kenapa tidak satu kelas saja?Kenapa tidak satu kelas saja?
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 108/187
Beberapa perilaku (persyaratan)berbeda:
Perhitungan lama peminjaman
Perhitungan denda keterlambatan
Data berbeda Buku memiliki ISBN
Video dapat diberi identifikasi studio
Dapat dihimpun dalam kelas abstrakbahan pustaka (lendable)
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 109/187
Panah ditarik dari subkelas ke super kelas.
Panah dari tiga kelas-kelas bahan pustaka ke kelaslendable menunjukkan inheritance dalam notasiblooch, artinya buku, video dan CD ROM adalahobyek-obyek untuk dipinjamkan.
Pada gambar berikutnya titik hitam pada akhirgaris menunjukkan adanya hubungan dimana kelasdengan titik hitam menunjukkan sisi pemilik(owner) atau pengguna fasilitas.
Diagram Kelas Pass KeduaDiagram Kelas Pass Kedua
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 110/187
Diagr am ObyekDiagr am Obyek
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 111/187
Diagram obyek tujuannya untuk memperlihatkankeberadaan obyek-obyek, hubungan antara obyekdalam pandangan logis dari sistem, dan bagaimanamereka melaksanakan suatu skenario tertentu ataukasus.
Dalam suatu skenario, kita mengidentifikasi setiaptugas (task) yang harus ditangani sistem danmemberikan tugas tersebut ke kelas yangmenangani ini.
Metode Blooch kadang kala mengacu pada suatuteknik perancangan disebut metoda responsibility-driven design.
Diagram skenario obyek untuk memeriksaDiagram skenario obyek untuk memeriksakeluarnya suatu bukukeluarnya suatu buku
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 112/187
keluarnya suatu bukukeluarnya suatu buku
Gambar HubunganGambar Hubungan--hubunganhubungan
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 113/187
borrowerList
Stores valid borrowerslibrarian
oordinates
activities
book
lendableList
Stores all books, D OMs, videos
borrower
lendable
CDROM video
lendables
users
date
CRH Card untuk abstract classCRH Card untuk abstract class
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 114/187
base class: lendable
derived classes: book, video, cdRom
Responsibilities Helpers
Knows due date Date
Knows borrower
computeDueDate Date
computeLateFee Date
checkSelfIn
checkSelfOut(borrower)
isOverdue, isAvailable Date
Diagr am ModulDiagr am Modul
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 115/187
Diagram modul memperlihatkan alokasi dari kelas-
kelas dan obyek-obyek ke modul-modul dalamtampilan fisik suatu sistem.
Menrancang C++ Class DefinitionsMenrancang C++ Class Definitions
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 116/187
c ass endab e { // first draft pu b ic:
// ...
boo isOverd ue();
boo isAvai ab e();void checkSe fIn();void checkSe fOut(string
borrowersID);
private:// TBA
};
ContohContoh
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 117/187
class book : public lendable {
public: //--constr uct or
book(str ing init ID, str ing init Aut hor ,
str ing init Tit le); //--virt ual funct ions t hat must be implement ed
Dat e comput eDueDat e() const ; double comput eLat eFee() const ;
//--addit ional accessor s
str ing aut hor ();
str ing t it le();
pr ivat e:
str ing my_aut hor ; // Addit ional dat a member s
str ing my_t it le;
};
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 118/187
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 119/187
UML DiagramsUML Diagrams
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 120/187
Modeling Diagrams Use case
Interaction Sequence
Collaboration
Class
State Transition
Component Deployment
State
Component
Class
Deployment
Component
Use Case
Relationship
Actor
Object
Konsep UMLKonsep UML
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 121/187
UML menggunakan diagram-diagram untuk:
Use case diagrams untuk memperlihatkan batas-batas dari suatu sistem dan fungsi-fungsi utama.
Interaction diagrams untuk merealisasikan kasus
yang digunakan. Class diagrams untuk menggambarkan struktur
statis dari suatu sistem.
State transition diagrams untuk memodelkan
perilaku dari obyek-obyek. Component & deployment diagrams untuk
mengungkapkan arsitektur dari implementasi fisik.
Use Case Diagram SederhanaUse Case Diagram Sederhana
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 122/187
Memesan Memesan
bukubuku
Memi n j am Memi n j am
bukubuku
Mengembali Mengembali--
kan bukukan buku
CRC CardsCRC Cards
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 123/187
CRC Cards adalah cara sederhana untuk memulaimenganalisis domain.
UML Modeling Serial ViewUML Modeling Serial View
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 124/187
UML ModelingUML Modeling
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 125/187
Contoh UMLContoh UML
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 126/187
Universitas ingin komputerisasi sistem registrasi
Pencatat membuat kurikulum untuk satusemester.
Mahasiswa memilih 4 kuliah utama/wajib dan 2
kuliah pilihan. Setelah melakukan registrasi, sistem
pembayaran dicatat sehingga mahasiswa dapat melakukan pembayaran untuk semester tsb.
Mahasiswa dapat menggunakan sistem untukmenambah atau membatalkan kuliah yangtelah dipilih dalam jangka waktu tertentusetelah registrasi.
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 127/187
Dosen menggunakan sistem ini untukmenawarkan jadwal kuliah mereka.
Pemakai dari sistem registrasi ini diberikanpassword untuk validasi masuk ke logon
sistem.
Tahap 1 OOA: Use Case ModelingTahap 1 OOA: Use Case Modeling
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 128/187
Diperkenalkan oleh Jacobson(1994) Use Case modeling berdasarkan user requirement
Hubungan ant ara act ors dan Use Cases
Use Case adalah suatu int eraksi khu su s ant ara u ser
dan sist em komput er. Use Case is a t ypical int eract ion bet ween a u ser and
a comput er syst em
ActorsActors
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 129/187
Aktor adalah seseorang atau sesuatu yangharus berinteraksi dengan sistem yang akandikembangkan.
Student
Registrar
Professor
Billing System
Use CasesUse Cases
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 130/187
Use case adalah suatu pola perilaku dari sistem Setiap use case adalah suatu urutan transaksi yang
berkaitan yang dilakukan oleh seorang aktor dansistem dalam suatu dialog.
Aktor-aktor diperiksa untuk menentukan
kebutuhan mereka Registrar menyusun dan mengawasi kurrikulum
Professor meminta daftar roster
Student memilih jadwal
Billing System menerima informasi pembayarandari registrasi.
Maintain Curriculum Request Course Roster
Chain of responsibility
Diagr am Use CaseDiagr am Use Case
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 131/187
Diagram use case dibuat untuk menggambar-kan hubungan antaraaktor-aktor dan kasus-kasus yang digunakan.
Registrar
Maintain Curriculum
Professor
Request Course Roster
Student
Maintain Schedule
Billing System
Use Case DiagramUse Case Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 132/187
Actor - Person, Organization, or
SystemUse Case
System
Interaction
Information Flow
Contoh UML lainContoh UML lain
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 133/187
Buat struktur spesifikasi sistem bisnis denganUML.
Pemetaan Konsep Workflow dan UMLPemetaan Konsep Workflow dan UML
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 134/187
Penggambaran dari proses bisnis, obyek-obyekbisnis dan peranan Tim dalam UML.
Use Case DiagramUse Case Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 135/187
Use Case Diagram menggambarkan hubunganstatik antara proses bisnis.
Sequence DiagramSequence Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 136/187
Sequence Diagram menggambarkan instanceproses bisnis.
Sequence DiagramSequence Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 137/187
Sequence Diagram menggambarkan interaksiantara proses-proses bisnis dan aktor.
Collaboration DiagramCollaboration Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 138/187
Collaboration Diagram menggambarkan interaksidan relasi antara proses-proses bisnis dan aktor.
Pola PerancanganPola Perancangan
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 139/187
Tingkat Abstraksi:
1. Tingkat Organisasi
2. Tingkat Sistem3. Tingkat Arsitektur
4. Tingkat Kelas
5. Tingkat Prosedur
Use Case DiagramUse Case Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 140/187
Tr adingManager
Set Limits
Capture eal
Tr ader
Limits
Exceeded
Valuation
Salesperson
Price eal
Analyze Risk
U pdate
AccountsAccounting
System
<<uses>>
<<uses>>
Use Case
Actor
<<extends>>
Use Case for a financial trading system
Tahap 2 OOA: Class Finding &Tahap 2 OOA: Class Finding &
RefinementRefinement
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 141/187
RefinementRefinement
Untuk setiap Use Case, tentukan Kelas-kelas
Class Finding
Class Diagr am
Class Refinement Remove r edundant
Name same, semantics differ ent
Class Diagr amsClass Diagr ams
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 142/187
Suatu class diagram memperlihatkan keberadaankelas-kelas dan hubungannya dari pandanganlogis suatu sistem.
UML memodelkan elemen-elemen dalam class
diagrams Struktur kelas-kelas dan perilakunya.
Hubungan-hubungan: association, aggregation,dependency, dan inheritance
Indilkator pelipatan dan navigasi Nama-nama peran.
ClassesClasses
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 143/187
RegistrationForm
Course
Student
CourseOfferingProfessor
RegistrationManager ScheduleAlgorithm
Class
Attribute
Methods
Contoh Lain Class DiagramContoh Lain Class Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 144/187
Class
Attribute
Methods
Relationship
Oper ationsOper ations
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 145/187
Perilaku suatu kelas dinyatakan dengan operasi-
operasinya. Operasi-operasi dapat ditemukan dengan
memeriksa diaram-diagram interaksi.
registrationform
registrationmanager
3: add course
(joe, math 01)
RegistrationManager
addCourse(Student,Course)
AttributesAttributes
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 146/187
Struktur suatu kelas dinyatakan oleh atribut-
atributnya. Atribut-atribut dapat ditemukan dengan meme-
riksa definisi kelas, kebutuhan masalah dandengan menerapkan domain pengetahuan.
Setiap kuliahmenawarkan
nomor, lokasi dan waktu
CourseOffering
number location
time
Tahap 3 OOA: Object FindingTahap 3 OOA: Object Finding
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 147/187
Untuk setiap class, tentukan objects, dan buat object interaction diagram
Sequence Diagram
Collaboration Diagram
Tentukan messages pada objects
Object Diagr amObject Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 148/187
Memperlihatkan instances dan hubungan (links)
Dibangun pada tahap analisis dan perancangan
Tujuan
Menggambarkan struktur data/object
Menspesifikasi titik bidik
Dikembangkan oleh penganalis, perancang danpenerap.
Object Diagr amObject Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 149/187
Memperlihatkan instances dan links
Sequence Diagr amSequence Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 150/187
Menunjukkan prilaku dinamik (berorientasi padawaktu)
Tujuan
Model alur kendali
Mengambarkan skenario tertetu. Suatu sequence diagran memperlihatkan interaksi
antara obyek-obyek yang diatur dalam suatuurutan waktu.
Sequence Diagr amSequence Diagr am
Obj t
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 151/187
: Studentregistration
formregistration
manager math 101
1: fill in info
2: submit
3: add course
(joe, math 01) 4: are you open?5: are you open?
6: add (joe)7: add (joe)
math 101section 1
Objects
Method Invocation
Messages
Contoh Lain Sequence DiagramContoh Lain Sequence Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 152/187
Objects
Method Invocation
Messages
Sequence Diagr amSequence Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 153/187
Menampilkan perilaku dinamis (berorientasi pada
waktu)
Collabor ation Diagr amCollabor ation Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 154/187
Menampilkan perilaku dinamis (berorientasipada pesan).
Tujuan
Model alur kendali
Mengambarkan koordinasi struktur dan kendaliobyek-obyek.
Collaboration diagram memperlihatkan interkasiobyek yang diorganisasikan sekitar obyek-
obyek dan kaitannya antara satu dengan yanglain.
Contoh Collabor ation Diagr amContoh Collabor ation Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 155/187
: Registrar
course form :
CourseForm
theManager :
CurriculumManager aCourse :Course
1: set course info2: process
3: add course
4: new course
Objects
Relationship
Message
Contoh Lain Collaboration DiagramContoh Lain Collaboration Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 156/187
Objects
Relationship
MessageReturn Value
Contoh Collabor ation Diagr amContoh Collabor ation Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 157/187
Menampilkan prilaku dinamis (berorientasi pada
pesan)
Fasa 4 OOA: Class RelationshipFasa 4 OOA: Class Relationship
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 158/187
Menentukan class r elat io nships dari Object Di agr ams
Associ at io n
Aggr egat io n
Li nk
RelationshipsRelationships
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 159/187
Relationships memberikan jalur tapak untukkomunikasi antara obyek-obyek.
Sequence diagram dan/atau collaborationdiagram diperiksa untuk menentukan keterhu-
bungan apa yang dibutuhkan antara obyek-obyek untuk memenuhi perilakunya.
Tiga jenis relationships yaitu:
Association
Aggregation
Link / Dependency
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 160/187
Association adalah koneksi dua arah antara kelas yang
digambarkan berupa garis yang menghubungkankelas-kelas tersebut.
Aggregation adalah bentuk relationship yang sangat kuat yang digambarkan berupa garis yang menghu-
bungkan kelas-kelas dengan intan pada kelas yangmenggambarkan keseluruhan.
Dependency adalah bentuk paling lemah darirelationship memperlihatkan suatu relationship antara
client dan supplier dimana client tidak memilikipengetahuan semantik dari supplier. Digambarkanberupa garis putus-putus dari client ke supplier.
Menentukan RelationshipsMenentukan Relationships
l i hi di l h d ik
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 161/187
Registration
Manager Math 101:Course
3: add student(joe)
RegistrationManager
Course
Relationships diperoleh dengan memeriksa
diagram interaksi. Jika dua obyek harus berbicara maka harus
ada suatu jalur tapak untuk komunikasi.
RelationshipsRelationships
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 162/187
RegistrationForm
CourseOffering
RegistrationManager
addStudent
(Course, StudentInfo)
Student
namemajor
locationopen()addStudent(StudentInfo)
Professor
name
tenureStatus
ScheduleAlgorithm
CoursenamenumberCredits
open()addStudent(StudentInfo)
Dependencies Association
Aggregation
Multiplicity & NavigationMultiplicity & Navigation
M lti li it d fi i ik b b k b k
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 163/187
Multiplicity mendefinisikan berapa obyek-obyek
terlibat dalam suatu relationships Multiplicity adalah jumlah instances dari satu kelas
berhubungan dengan S ATU instance kelas yang lain.
Untuk setiap association dan aggregation, ada duaputusan multiplicity : satu untuk setiap akhir dari
relationship
Walaupun associations dan aggregations secaradefault adalah dua arah, sering diinginkannavigasi dibatasi hanya pada satu arah.
Jika navigasi dibatasi maka ditambahkan satukepala panah untuk menunjukkan arah darinavigasi.
Multiplicity & NavigationMultiplicity & Navigation
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 164/187
RegistrationFormRegistrationManager
Course
Student
CourseOfferingProfessor
addStudent(Course, StudentInfo)
namenumberCredits
open()
addStudent(StudentInfo)major
location
open()
addStudent(StudentInfo)
tenureStatus
ScheduleAlgorithm
10..*
0..*
1
1
1..*4
3..10
0..4
1
InheritanceInheritance
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 165/187
Inheritance adalah suatu relationships antarasuperclass dan subclasses-nya.
Ada dua cara menentukan inheritance:
Generalization
Specialization
Attribut-atribut bersama, operasi, dan/ataurelationships diperlihatkan pada tingkat aplikasitertinggi dalam hirarki
InheritanceInheritance
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 166/187
RegistrationForm
RegistrationManager
Course
Student
CourseOffering
Professor
addStudent(Course, StudentInfo)
namenumberCredits
open()
addStudent(StudentInfo)major
location
open()addStudent(StudentInfo)
tenureStatus
ScheduleAlgorithm
name
RegistrationUser
State Tr ansition Diagr amState Tr ansition Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 167/187
State transition diagram memperlihatkan Sejarah hidup suatu kelas
Kejadian-kejadian yang menyebabkan perubahandari suatu keadaan ke keadaan yang lain.
Aksi-aksi yang menghasilkan suatu perubahan
keadaan. State transition diagrams dibuat untuk obyek-
obyek dengan perilaku dinamis yang menonjol.
Menunjukkan perilaku dinamis (berorientasi
pada kejadian.) Tujuan
Model siklus hidup obyek
Model reactive objects (user interfaces, devices, dll.)
Statechart Diagr amStatechart Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 168/187
InitializationOpen
entry: Register student
exit: Increment count
Closed
Canceled
do: Initialize course
do: Finalize course
do: Notify registered students
Add Student /Set count = 0
Add student[ count < 10 ]
[ count = 10 ]
Cancel
Cancel
Cancel
Statechart Diagr am (lanjutan)Statechart Diagr am (lanjutan)
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 169/187
Contoh Lain State Transition DiagramContoh Lain State Transition Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 170/187
State
Final State
Initial State
Transition
Component Diagr amsComponent Diagr ams
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 171/187
Component diagrams memperlihatkan organisasidan ketergantungan antara komponen-komponen perangkat lunak.
Komponen dapat berupa:
Source code Run time
Executable component
Component Diagr amComponent Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 172/187
Course Course
Offering
Student Professor
Course.dll
People.dll
Course
User
Register.exeBilling.exe
Billing
System
Components
Dependencies
Component DiagramComponent Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 173/187
Components Dependencies
Deploying Diagr amDeploying Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 174/187
Deployment diagram menunjukkan konfigurasidari elemen-elemen pengolahan run-time danproses-proses perangkat lunak yang adapadanya.
Deployment diagram memperlihatkan distribusidari komponen-komponen yang melintasiperusahaan.
Deployment Diagr amDeployment Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 175/187
Registration Database
Library
Dorm
MainBuilding
Deployment Diagr amDeployment Diagr am
M lih tk t l gi gk t k i t
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 176/187
Memperlihatkan topologi perangkat keras sistem
Deployment DiagramDeployment Diagram
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 177/187
Components
Activity Diagr amActivity Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 178/187
Memperlihatkan perilaku dinamis (berorientasipada aktivitas)
Tujuan
Model business workflows
Model operations
Activity Diagr amActivity Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 179/187
Object Oriented RequirementsObject Oriented Requirements
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 180/187
Component Diagr amComponent Diagr am
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 181/187
Perkembangan Teknologi DatabasePerkembangan Teknologi Database
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 182/187
Tr aditional vs. ObjectTr aditional vs. Object--OrientedOriented
DatabasesDatabases
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 183/187
Traditional DBMS
Applications
DBMS
Query Data
Passive, structured
Datae.g.; Relations
Object Base
User Interface
Initiate
Request Result
Messages
Object
Data Method
Object
Data Method
Object
Data Method
Sistem Mana jemen Basisdata Sistem Mana jemen Basisdata
BerorientasiBerorientasi--ObyekObyek
Sistem basisdata harus:
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 184/187
Sistem basisdata harus:
1. Mendukung obyek-obyek yang kompleks,2. Mendukung identitas obyek.
3. Memungkinkan obyek-obyek untuk dikapsulkan.
4. Mendukung Types atau classes.
5. Mendukung inheritance.
6. Menghindari peningkatan prematur.
7. Dilakukan perhitungan lengkap.
8. Dapat dikembangkan
9. Dapat pulih dari kerusakan hardware/software.
10. Mendukung query data dengan cara sederhana
Pendekatan Tradisional untuk MengubahPendekatan Tradisional untuk Mengubah
suatu file pegawaisuatu file pegawai
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 185/187
Pendekatan BerorientasiPendekatan Berorientasi--Obyek untukObyek untuk
Mengubah suatu file pegawaiMengubah suatu file pegawai
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 186/187
Class Eployee in C++Class Eployee in C++
5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com
http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 187/187
class Employee{
char name[25], int age;public:
virtual void Add (char *name, int age);virtual void Delete (char *name);void Change (char *name, int age);
};