OOAD TIF57/SIF57ebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc... · Atributadalah nilai internal...
Transcript of OOAD TIF57/SIF57ebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc... · Atributadalah nilai internal...
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 [email protected]
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 [email protected]
3
OOAD
• Object oriented mencakup bidang aplikasi yg luas.
SQ - http://sidiq.mercubuana-yogya.ac.id [email protected]
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 [email protected]
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 [email protected]
7
Pandangan terhadap object tergantung dari ruang lingkup seseorang.
SQ - http://sidiq.mercubuana-yogya.ac.id [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
13
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
18
Notasi UML
• UML mempunyai notasi untuk menjelaskan secara visual mengenai elemen-elemen pemodelan.
SQ - http://sidiq.mercubuana-yogya.ac.id [email protected]
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 [email protected]
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 [email protected]
21
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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.
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
33
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
39
Component Diagram
• Merupakan diagram ygdigunakan untukmenggambarkan struktur danhubungan antar komponenhardware, termasuk dependency (ketergantungan).
SQ - http://sidiq.mercubuana-yogya.ac.id [email protected]
40
Deployment Diagram
• Merupakan diagram ygmenggambarkan komponen-komponen dibentuk dandidistribusikan dalaminfrastruktur sistem secaradetail.
SQ - http://sidiq.mercubuana-yogya.ac.id [email protected]
41
SQ - http://sidiq.mercubuana-yogya.ac.id [email protected]
42
SQ - http://sidiq.mercubuana-yogya.ac.id [email protected]
43