OOAD TIF57/SIF57ebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc... · Atributadalah nilai internal...

Post on 19-Jun-2020

5 views 0 download

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