rangkuman mata kuliah case

187
TEKNIK PERANCANGAN PERANGKAT TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK LUNAK BERORIENTASI OBYEK

Upload: ar-van-chandra

Post on 06-Jul-2015

4.244 views

Category:

Documents


0 download

DESCRIPTION

rangkuman matakuliah case

TRANSCRIPT

Page 1: Rangkuman Mata Kuliah Case

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

Page 2: Rangkuman Mata Kuliah Case

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

Page 3: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 3/187

 

Pentingnya PerancanganPentingnya Perancangan

Page 4: Rangkuman Mata Kuliah Case

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.

Page 5: Rangkuman Mata Kuliah Case

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.

Page 6: Rangkuman Mata Kuliah Case

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

Page 7: Rangkuman Mata Kuliah Case

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 ?

 

Page 8: Rangkuman Mata Kuliah Case

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).

Page 9: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 9/187

Page 10: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 10/187

 

Page 11: Rangkuman Mata Kuliah Case

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

Page 12: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 12/187

 

Page 13: Rangkuman Mata Kuliah Case

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.

 

Page 14: Rangkuman Mata Kuliah Case

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.

 

Page 15: Rangkuman Mata Kuliah Case

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.

 

Page 16: Rangkuman Mata Kuliah Case

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

 

Page 17: Rangkuman Mata Kuliah Case

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.

 

Page 18: Rangkuman Mata Kuliah Case

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

 

Page 19: Rangkuman Mata Kuliah Case

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

 

Page 20: Rangkuman Mata Kuliah Case

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

 

Page 21: Rangkuman Mata Kuliah Case

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).

 

Page 22: Rangkuman Mata Kuliah Case

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.

 

Page 23: Rangkuman Mata Kuliah Case

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 ?

 

Page 24: Rangkuman Mata Kuliah Case

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.

 

Page 25: Rangkuman Mata Kuliah Case

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 ?

Page 26: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 26/187 

Page 27: Rangkuman Mata Kuliah Case

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.

 

Page 28: Rangkuman Mata Kuliah Case

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.

 

Page 29: Rangkuman Mata Kuliah Case

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

 

Page 30: Rangkuman Mata Kuliah Case

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 !

 

Page 31: Rangkuman Mata Kuliah Case

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

 

Page 32: Rangkuman Mata Kuliah Case

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 ?

 

Page 33: Rangkuman Mata Kuliah Case

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

 

Page 34: Rangkuman Mata Kuliah Case

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

 

Page 35: Rangkuman Mata Kuliah Case

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.

 

Page 36: Rangkuman Mata Kuliah Case

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

  

Page 37: Rangkuman Mata Kuliah Case

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

 

Page 38: Rangkuman Mata Kuliah Case

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).

 

Page 39: Rangkuman Mata Kuliah Case

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

 

Page 40: Rangkuman Mata Kuliah Case

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

 

Page 41: Rangkuman Mata Kuliah Case

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 

 

Page 42: Rangkuman Mata Kuliah Case

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 ?

 

Page 43: Rangkuman Mata Kuliah Case

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.

 

Page 44: Rangkuman Mata Kuliah Case

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

 

Page 45: Rangkuman Mata Kuliah Case

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

 

Page 46: Rangkuman Mata Kuliah Case

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.

 

Page 47: Rangkuman Mata Kuliah Case

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

 

Page 48: Rangkuman Mata Kuliah Case

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.

Page 49: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 49/187

 

Page 50: Rangkuman Mata Kuliah Case

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, «.}

 

Page 51: Rangkuman Mata Kuliah Case

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

 

Page 52: Rangkuman Mata Kuliah Case

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.

 

Page 53: Rangkuman Mata Kuliah Case

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) ?

 

Page 54: Rangkuman Mata Kuliah Case

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

 

Page 55: Rangkuman Mata Kuliah Case

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  

 

Page 56: Rangkuman Mata Kuliah Case

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

 

Page 57: Rangkuman Mata Kuliah Case

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

 

Page 58: Rangkuman Mata Kuliah Case

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.

 

Page 59: Rangkuman Mata Kuliah Case

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

 

Page 60: Rangkuman Mata Kuliah Case

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

 

Page 61: Rangkuman Mata Kuliah Case

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

Page 62: Rangkuman Mata Kuliah Case

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

Page 63: Rangkuman Mata Kuliah Case

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

 

Page 64: Rangkuman Mata Kuliah Case

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 )

Page 65: Rangkuman Mata Kuliah Case

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).

 

Page 66: Rangkuman Mata Kuliah Case

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

 

Page 67: Rangkuman Mata Kuliah Case

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

Page 68: Rangkuman Mata Kuliah Case

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

Page 69: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 69/187

 

S lS l

Page 70: Rangkuman Mata Kuliah Case

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.

 

Page 71: Rangkuman Mata Kuliah Case

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.

 

Page 72: Rangkuman Mata Kuliah Case

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

Page 73: Rangkuman Mata Kuliah Case

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

Page 74: Rangkuman Mata Kuliah Case

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

Page 75: Rangkuman Mata Kuliah Case

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

Page 76: Rangkuman Mata Kuliah Case

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

 

Page 77: Rangkuman Mata Kuliah Case

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

Page 78: Rangkuman Mata Kuliah Case

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 

 

Page 79: Rangkuman Mata Kuliah Case

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

Page 80: Rangkuman Mata Kuliah Case

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

Page 81: Rangkuman Mata Kuliah Case

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

Page 82: Rangkuman Mata Kuliah Case

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

Page 83: Rangkuman Mata Kuliah Case

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

Page 84: Rangkuman Mata Kuliah Case

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

Page 85: Rangkuman Mata Kuliah Case

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?

Page 86: Rangkuman Mata Kuliah Case

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.

 

Page 87: Rangkuman Mata Kuliah Case

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

Page 88: Rangkuman Mata Kuliah Case

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

Page 89: Rangkuman Mata Kuliah Case

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

Page 90: Rangkuman Mata Kuliah Case

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

Page 91: Rangkuman Mata Kuliah Case

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

Page 92: Rangkuman Mata Kuliah Case

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

                

Page 93: Rangkuman Mata Kuliah Case

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

Page 94: Rangkuman Mata Kuliah Case

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

Page 95: Rangkuman Mata Kuliah Case

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

Page 96: Rangkuman Mata Kuliah Case

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

Page 97: Rangkuman Mata Kuliah Case

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

 

Page 98: Rangkuman Mata Kuliah Case

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

Page 99: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 99/187

 

Metode BoochMetode Booch

Page 100: Rangkuman Mata Kuliah Case

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

Page 101: Rangkuman Mata Kuliah Case

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

Page 102: Rangkuman Mata Kuliah Case

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

Page 103: Rangkuman Mata Kuliah Case

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

Page 104: Rangkuman Mata Kuliah Case

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

Page 105: Rangkuman Mata Kuliah Case

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

Page 106: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 106/187

gg

 

Inheritance HierarchyInheritance Hierarchy

Page 107: Rangkuman Mata Kuliah Case

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?

Page 108: Rangkuman Mata Kuliah Case

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)

 

Page 109: Rangkuman Mata Kuliah Case

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

Page 110: Rangkuman Mata Kuliah Case

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

Page 111: Rangkuman Mata Kuliah Case

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

Page 112: Rangkuman Mata Kuliah Case

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

Page 113: Rangkuman Mata Kuliah Case

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

Page 114: Rangkuman Mata Kuliah Case

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

Page 115: Rangkuman Mata Kuliah Case

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

Page 116: Rangkuman Mata Kuliah Case

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

Page 117: Rangkuman Mata Kuliah Case

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;

};

Page 118: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 118/187

Page 119: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 119/187

 

UML DiagramsUML Diagrams

Page 120: Rangkuman Mata Kuliah Case

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

Page 121: Rangkuman Mata Kuliah Case

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

Page 122: Rangkuman Mata Kuliah Case

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

Page 123: Rangkuman Mata Kuliah Case

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

Page 124: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 124/187

 

UML ModelingUML Modeling

Page 125: Rangkuman Mata Kuliah Case

5/6/2018 Rangkuman Mata Kuliah Case - slidepdf.com

http://slidepdf.com/reader/full/rangkuman-mata-kuliah-case 125/187

 

Contoh UMLContoh UML

Page 126: Rangkuman Mata Kuliah Case

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.

 

Page 127: Rangkuman Mata Kuliah Case

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

Page 128: Rangkuman Mata Kuliah Case

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

Page 129: Rangkuman Mata Kuliah Case

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

Page 130: Rangkuman Mata Kuliah Case

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

Page 131: Rangkuman Mata Kuliah 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

Page 132: Rangkuman Mata Kuliah Case

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

Page 133: Rangkuman Mata Kuliah Case

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

Page 134: Rangkuman Mata Kuliah Case

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

Page 135: Rangkuman Mata Kuliah Case

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

Page 136: Rangkuman Mata Kuliah Case

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

Page 137: Rangkuman Mata Kuliah Case

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

Page 138: Rangkuman Mata Kuliah Case

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

Page 139: Rangkuman Mata Kuliah Case

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

Page 140: Rangkuman Mata Kuliah Case

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

Page 141: Rangkuman Mata Kuliah Case

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

Page 142: Rangkuman Mata Kuliah Case

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

Page 143: Rangkuman Mata Kuliah Case

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

Page 144: Rangkuman Mata Kuliah Case

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

Page 145: Rangkuman Mata Kuliah Case

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

Page 146: Rangkuman Mata Kuliah Case

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

Page 147: Rangkuman Mata Kuliah Case

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

Page 148: Rangkuman Mata Kuliah Case

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

Page 149: Rangkuman Mata Kuliah Case

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

Page 150: Rangkuman Mata Kuliah Case

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

Page 151: Rangkuman Mata Kuliah Case

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

Page 152: Rangkuman Mata Kuliah Case

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

Page 153: Rangkuman Mata Kuliah Case

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

Page 154: Rangkuman Mata Kuliah Case

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

Page 155: Rangkuman Mata Kuliah Case

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

Page 156: Rangkuman Mata Kuliah Case

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

Page 157: Rangkuman Mata Kuliah Case

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

Page 158: Rangkuman Mata Kuliah Case

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

Page 159: Rangkuman Mata Kuliah Case

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

 

Page 160: Rangkuman Mata Kuliah Case

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

Page 161: Rangkuman Mata Kuliah Case

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

Page 162: Rangkuman Mata Kuliah Case

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

Page 163: Rangkuman Mata Kuliah Case

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

Page 164: Rangkuman Mata Kuliah Case

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

Page 165: Rangkuman Mata Kuliah Case

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

Page 166: Rangkuman Mata Kuliah Case

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

Page 167: Rangkuman Mata Kuliah Case

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

Page 168: Rangkuman Mata Kuliah Case

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)

Page 169: Rangkuman Mata Kuliah Case

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

Page 170: Rangkuman Mata Kuliah Case

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

Page 171: Rangkuman Mata Kuliah Case

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

Page 172: Rangkuman Mata Kuliah Case

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

Page 173: Rangkuman Mata Kuliah Case

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

Page 174: Rangkuman Mata Kuliah Case

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

Page 175: Rangkuman Mata Kuliah Case

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

Page 176: Rangkuman Mata Kuliah Case

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

Page 177: Rangkuman Mata Kuliah Case

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

Page 178: Rangkuman Mata Kuliah Case

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

Page 179: Rangkuman Mata Kuliah Case

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

Page 180: Rangkuman Mata Kuliah Case

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

Page 181: Rangkuman Mata Kuliah Case

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

Page 182: Rangkuman Mata Kuliah Case

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

Page 183: Rangkuman Mata Kuliah Case

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:

Page 184: Rangkuman Mata Kuliah Case

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

Page 185: Rangkuman Mata Kuliah Case

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

Page 186: Rangkuman Mata Kuliah Case

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++

Page 187: Rangkuman Mata Kuliah Case

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);

};