Post on 19-Jun-2020
P8OOAD
TIF57/SIF57
A. Sidiq P.
Program Studi Teknik Informatika/Program Studi Sistem InformasiFakultas Teknologi Informasi
Universitas Mercu Buana Yogyakarta
Tujuan
• Mahasiswa mengetahui & memahami konsep perancanganberorientasi object
• Mahasiswa dapat menerapkannya kedalam bentuk analisis danperancangan.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
2
Materi
• Object Oriented Analysis Design
• Kosep Dasar Dalam OOAD
• Unified Modelling Language
• Artifact UML
• Semantik Dalam UML
• Notasi Dalam UML
• Faktor-Faktor Yang Menyebabkan Dibuatnya UML
• Tujuan UML
• Batasan UML
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
3
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
4
Object Oriented Analysis Design
OOAD
• Object oriented mencakup bidang aplikasi yg luas.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
5
Pengguna sistem komputer dan sistem lain yg didasarkan atas teknologi komputer
•Dalam bentuk meningkatkan aplikasi software yg mudah digunakan dan servis yg lebih fleksibel, ygmuncul dalam berbagai bidang industri, seperti dalam perbankan, telekomunikasi dan sebagainya.
Software engineer,
• Berpengaruh dalam bahasa pemrograman, metodologi rekayasa, manajemen proyek, hardware dan sebagainya.
Efe
k y
g d
irasakan
Karena luasnya cakupan object oriented, terdapat beberapa halyg membingungkan berkenaan
dengan istilah dan konsep object oriented.
Object Oriented Analysis
• Metode analisis yg memeriksarequirements (syarat/keperluan yg harusdipenihi suatu sistem) dari sudutpandang class-class dan object-object ygditemui dalam ruang lingkuppermasalahan.
Object Oriented Design
• Metode untuk mengarahkan arsitektursoftware yg didasarkan pada manupulasiobject-object sistem atau subsistem.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
6
Konsep Dasar
Object
• adalah “benda” ,secara fisik ataukonseptual yg kita temuidisekeliling kita.
Contoh
Hardware
Software
Document
Human
Concept
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
7
Pandangan terhadap object tergantung dari ruang lingkup seseorang.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
8
Seorang teknisi mesin memandang mesin, ban dan bahan bakar sebagai object.
Seorang software engineer memandang stack, queue, windows dan check box sebagai suatuobject.
Sebuah object memiliki state (keadaan sesaat) dan behavior (perilaku).
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
9
State
State dari sebuah object adalahkondisi object tersebut atauhimpunan dari keadaan ygmenggambarkan object tersebut.
Contoh : lampu, bola lampu adalahobject dan nyala atau tidak nyalaadalah state bola lampu tersebut.
State dinyatakan dengan nilai dariatribut (attribute) object-nya.
Behavior Behavior suatu object mendefinisikan bagaimana
sebuh object bertindak (beraksi) dan memberireaksi. (aksi-reaksi)
Behavior ditentukan oleh himpunan semua ataubeberapa operasi yg dapat dilakukan dalamobject itu sendiri.
Behavior dari sebuah object dicerminkan olehinterface, service dan methode dari object tersebut. Interface adalah pintu untuk mengakses
service object. Service adalah fungsi yg bisa diemban
object. Method adalah mekanisme internal object
yg mencerminkan perilaku (behavior) object tersebut.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
10
Atribut
Atribut adalah nilai internal suatu object ygmencerminkan antara lain karateristik object, kondisisesaat, koneksi dengan object lain, dan identitas.
Perubahan state dicerminkandengan perilaku object tersebut.
Class
Class adalah definisi umum (pola, template atau blue print) untukhimpunan object sejenis.
Class menetapkan spesifikasiperilaku (behaviors) dan atributobject-object tersebut.
Class adalah keniskalan (abstraksi) dari entitas dalam dunia nyata. Object adalah “contoh” (instance)
dari sebuah class.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
11
Encapsulation adalah proses menyembunyikan detilimplementasi sebuah object.
Untuk mengakses data object tersebut adalah melaluiinterface.
Interface melindungi internal face sebuah object dari campurtangan orang lain.
Dalam object oriented programming :
Object berisi kode (himpunan instruksi dengan bahasa yg dipahami komputer) dan data (informasi dimana instruksi tersebut beropasi dengannya).
kode dan data disatukan dalam sebuah “benda” yg tersembunyi isinya, yaitu object.
Pemakai tidak perlu mengetahui isi dalam object, untuk dapat berkomunikasi dengan object, diperlukan pesan (message).
Secara formal kita definisikan message sebagai permintaan object penerima (receiver object) untuk membawa metode yg ditunjukkan atau perilaku dan mengembalikkan result dari aksi tersebut kepada object pengirim (sender object).
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
12
HubunganObject Association
hubungan antar object ygsaling membutuhkan.
Aggregationbentuk khusus dari asosiasiyg menggambarkan seluruhbagian suatu object merupakan bagian dariobject lainnya.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
13
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
14
Unified Modeling Language
UML
The Unified Modeling Language (UML) offers a standard way to visualize a system's architectural blueprints, including elements such as:
Activities
Actors
Business processes
Database schemas
(Logical) components
Programming language statements
Reusable software components.
UML has synthesized the notations of the Booch method, the Object-modeling technique (OMT) and Object-oriented software engineering (OOSE) by fusing them into a single, common and widely usable modeling language.
UML aims to be a standard modeling language which can model concurrent and distributed systems.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
15
UML merupakan sistem arsitektur yg bekerja dalam OOAD dengan satubahasa yg konsisten untuk menentukan, memvisualisasi,
mengkonstruksi, dan mendokumentasikan artifact (rancangan) ygterdapat dalam sistem software.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
16
UML Artifact
UML memiliki diagram grafis sebagai berikut :
Use case diagram
Class diagram
Behavior diagram :
Statechart diagram
Activity diagram
Interaction diagram
Sequence diagram
Colaboration diagram
Implementation diagram
Component diagram
Deployment diagram
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
17
Semantik UML
OMG telah menetapkan sematik (makna istilah) semua notasi UML dalam model struktural dan model behavioral.
Model Struktural
• disebut juga sebagai model statis
• menekankan struktur object dalam sebuah sistem, menygkut class-class, interface, attribute dan hubunganantar komponen.
Model Behavioral
• juga disebut sebagai model dinamis
• menekankan perilaku object dalam sebuah sistem, termasusk metode, interaksi, kolaburasi dan state history.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
18
Notasi UML
• UML mempunyai notasi untuk menjelaskan secara visual mengenai elemen-elemen pemodelan.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
19
Faktor dan Tujuan UML
Faktor
• Pentingnya Model
• Kecendrungan Dunia IndustriTerhadap Software
Tujuan• Memberikan model yg siap pakai,
bahasa pemodelan visual yg ekspresifuntuk mengembangkan dan salingmenukar model dengan mudah dandimengerti secara umum.
• Memberikan bahasa pemodelan ygbebas dari berbagai bahasapemrograman dan proses rekayasa.
• Menyatukan praktek-praktek terbaik ygterdapat dalam pemodelan.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
20
Constraint
Cakupan UML• UML menggabungkan konsep BOOCh, OMT
dan OOSE sehingga UML merupakan suatubahasa pemodelan tunggal yg umum dandigunakan secara luas oleh para user ketigametoda tersebut dan bahkan para user metode lainnya.
• UML menekankan pada apa yg dapatdikerjakan dengan metode-metode tersebut.
• UML berfokus pada suatu bahasa pemodelanstandar, bukan pada proses standar. MeskipunUML harus diaplikasikan dalam kontekssebuah proses dari pengalaman bahwaorganisasi dan masalah yg berbedamemerlukan proses yg berbeda juga.
Tidak Mencakup
• Bahasa Pemrograman
• Tool (Software aplikasi) pemodelan
• Proses Rekayasa
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
21
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
22
Use Case
Use Case
• Diagram yg digunakan untuk menggambar fungsionalitas dari sebuahsistem yg merepresentasikan sebuah actor (pelaku) dengan sistem(pekerjaan).
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
23
Actor merupakan sebuah entitas manusiaatau mesin yg berinteraksi dengan sistemuntuk melakukan aktivitas tertentu.
Actor dapat menggambarkan aturan main dari user, hardware tambahan dan sistemlain. actor biasanya berupa kata benda.
Use case merupakan aktivitas yg dilakukanoleh sistem.
Sebuah use case dapat dimiliki oleh satuatau banyak actor dalam sebuah diagram.
Setiap use case menentukan sebuah perilakuyg dilakukan pengguna terhadap sistem. Sebuah use case biasanya berupa kata kerja.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
24
Hubungan Actor – Use Case
• Asosiasi
• Generalisasi
• Include
• Extend
Asosiasi• Komunikasi antara actor dengan use case.
• Menggambar apa yg bisa dilakukan actor terhadapsistem.
• Dimana setiap use case menggambarkan satu buahaktivitas yg bisa dilakukan oleh actor.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
25
Dibaca : Tentor sedang Mengajar
Generalisasi antar actor Base actor → actor yg mewariskan kerjanya kepada child actor.
Child actor → actor yg mewarisi kerja dari base actor.
Generalisasi antar use case Base use case → Use case yg mewariskan kerjanya kepada child
use case.
Child use case → Use case yg mewarisi kerja dari base use case.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
26
Dibaca : - Seorang Asisten mewarisi sifat yg dimiliki oleh Siswa, - Sehingga bisa diartikan seorang Asisten adalah Siswa, - Sedangkan seorang Siswa belum tentu Asisten.
Dibaca : - Seorang Siswa hanya diperbolehkan Belajar, - Sedangkan seorang Asisten diperbolehkan Belajar dan membantu Tentor.
Include Memungkinkan suatu use case menggunakan fungsionalitas yg
dimiliki oleh use case lainnya.
Menyatakan bahwa satu use case selalu menggunakanfungsionalitas yg disediakan oleh use case lainnya.
Extend Memungkinkan suatu use case secara opsional menggunakan
fungsionalitas yg disediakan oleh use case lainnya.
Menyatakan bahwa suatu use case tidak selalu menggunakanfungsionalitas yg disediakan oleh use case lainnya.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
27
Dibaca : - Ketika seorang Siswa akan Belajar, secara otomatis ia akan melihat
jadwal,- Apabila hendak Belajar, Ia akan mengecek apakah saat ini ada
jadwal Belajar atau tidak.
Dibaca : - Seorang Asisten akan ikut Belajar, - Ketika Tentor ada maka ia akan membantu Tentor, - Jika tidak maka ia tidak akan membantu Tentor.
Contoh Use Case
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
28
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
29
Class Diagram
Class Diagram
• Diagram yg digunakan untuk menggambar struktur dan deskripsiclass, package dan object besera hubungan satu dengan yg lainnya, misalnya seperti asosiasi, inheritance, containment, dll.
• Menggambarkan berbagai object yg terdapat dalam sistem danmenunjukkan berbagai hubungan statis yg ada di dalamnya.
• class merupakan sebuah spesifikasi object, yg mempunyai atribut danoperasi.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
30
Hubungan Antar Class
Asosiasi
• Menggambarkan class ygmemiliki atribut berupa class lain.
Generalisasi
• Hubungan yg hierarkhi antarainduk dan anak class,
• sehingga semua method danatribut yg terdapat di class indukditurunkan pada class anaknya.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
31
Composit → Gabungan
Navigability → Arah Query (komunikasi)
Asosiasi sederhana
Agregasi → data master dengan detailnya
Implementasi (Realization)• Hubungan antar object yg mendukung
pola khusus dalam perilaku anggotaobject lainnya. Yang dapat diwujudkandengan adanya class ygmengimplementasikan interface tertentu.
Ketergantungan (Dependency)
• Hubungan yg menyatakan bahwasuatu class membutuhkan object lain agar dapat memfungsikandirinya dengan baik
Dinamis
Merupakan hubungan yg menyatakan rangkaian pesan yg di passing dari class satu ke class lainnya.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
32
Multiplicity
• Multiplicity merupakan batasan jumlah contraint (hubungan) ygdinotasikan dengan :
• 0 → tidak ada
• 1 → ada satu
• * → lebih dari satu
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
33
Contoh Class Diagram
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
34
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
35
State Chart Diagram
State Chart
• Merupakan diagram ygdigunakan untukmenggambarkan transisi danperubahan keadaan suatuobject, akibat dari input ygditerimanya.
• Perilaku sebuah class dalamsistem.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
36
Activity Diagram
• Merupakan diagram ygdigunakan untukmenggambarkan aktivitas dalamsebuah sistem.
• Diagram ini lebihmenggambarkan logika, proses bisnis dan alur kerja.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
37
Sequence Diagram
• Merupakan diagram ygdigunakan untukmenggambarkan interaksi antarobject yg berada di dalam dan di sekitar sistem berupa message yg digambarkan terhadap waktu.
• Terdiri dari dua dimensi :• Vertical → waktu
• Horizontal → object yg terkait
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
38
Collaboration Diagram
• Merupakan diagram yg digunakanuntuk menggambarkan interaksiantar object seperti sequence diagram.
• Lebih menekankan pada peranmasing-masing object dan bukanpada waktu penyampaianmessage.
• Level message : dengan urutanangka 1, 1.1, 1.1.1, dan seterusnya.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
39
Component Diagram
• Merupakan diagram ygdigunakan untukmenggambarkan struktur danhubungan antar komponenhardware, termasuk dependency (ketergantungan).
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
40
Deployment Diagram
• Merupakan diagram ygmenggambarkan komponen-komponen dibentuk dandidistribusikan dalaminfrastruktur sistem secaradetail.
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
41
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
42
SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com
43