P10 Perancangan Berbasis Objectebook.repo.mercubuana-yogya.ac.id/FTI/materi20151/... · Untuk...

Post on 19-Jun-2020

15 views 0 download

Transcript of P10 Perancangan Berbasis Objectebook.repo.mercubuana-yogya.ac.id/FTI/materi20151/... · Untuk...

P10Perancangan Berbasis Object

SQhttp://sidiq.mercubuana-yogya.ac.id

Program Studi Teknik InformatikaFakultas Teknologi Informasi

Universitas Mercu Buana Yogyakarta

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

2

Tujuan

● Mahasiswa mengetahui & memahami konsep perancangan berorientasi object

● Mahasiswa dapat menerapkannya kedalam bentuk analisis dan perancangan.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

3

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

4

Object Oriented Analysis Design

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

5

OOAD

● Object oriented mencakup bidang aplikasi yang luas.

● Pengguna sistem komputer dan sistem lain yang didasarkan atas teknologi komputer merasakan efek object oriented dalam bentuk meningkatkan aplikasi software yang mudah digunakan dan servis yang lebih fleksibel, yang muncul dalam berbagai bidang industri, seperti dalam perbankan, telekomunikasi dan sebagainya.

● Sedangkan bagi software engineer, object oriented berpengaruh dalam bahasa pemrograman, metodologi rekayasa, manajemen proyek, hardware dan sebagainya.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

6

● Karena luasnya cakupan object oriented, terdapat beberapa hal yang membingungkan berkenaan dengan istilah dan konsep object oriented.

● Object oriented analysis adalah metode analisis yang memeriksa requirements (syarat/keperluan yang harus dipenihi suatu sistem) dari sudut pandang class-class dan object-object yang ditemui dalam ruang lingkup permasalahan.

● Object oriented design adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manupulasi object-object sistem atau subsistem.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

7

Konsep Dasar

● Object adalah “benda” ,secara fisik atau konseptual yang kita temui disekeliling kita.

● Contoh : Hardware, software, document, human, dan concept.

● Pandangan terhadap object tergantung dari ruang lingkup seseorang.

● Contoh : – Seorang teknisi mesin memandang mesin, ban dan

bahan bakar sebgai object. – Seorang software engineer memandang stack, queue,

windows dan check box sebagai suatu object.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

8

● Sebuah object memiliki state (keadaan sesaat) dan behavior (perilaku).

● State dari sebuah object adalah kondisi object tersebut atau himpunan dari keadaan yang menggambarkan object tersebut.

– Contoh : lampu, bola lampu adalah object dan nyala atau tidak nyala adalah state bola lampu tersebut.

– State dinyatakan dengan nilai dari atribut (attribute) object-nya.

● Atribut adalah nilai internal suatu object yang mencerminkan antara lain karateristik object, kondisi sesaat, koneksi dengan object lain, dan identitas. Perubahan state dicerminkan dengan perilaku object tersebut.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

9

● Behavior suatu object mendefinisikan bagaimana sebuh object bertindak (beraksi) dan memberi reaksi. (aksi-reaksi)

● Behavior ditentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan dalam object itu sendiri.

● Behavior dari sebuah object dicerminkan oleh interface, service dan methode dari object tersebut.

● Interface adalah pintu untuk mengakses service object. ● Service adalah fungsi yang bisa diemban object. ● Method adalah mekanisme internal object yang

mencerminkan perilaku (behavior) object tersebut.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

10

● Class adalah definisi umum (pola, template atau blue print) untuk himpunan object sejenis.

● Class menetapkan spesifikasi perilaku (behaviors) dan atribut object-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 detil implementasi sebuah object.

● Untuk mengakses data object tersebut adalah melalui interface.

● Interface melindungi internal face sebuah object dari campur tangan orang lain.

● Dalam object oriented programming :

● Object berisi kode (himpunan instruksi dengan bahasa yang dipahami komputer) dan data (informasi dimana instruksi tersebut beropasi dengannya).

● kode dan data disatukan dalam sebuah “benda” yang 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 yang 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

● Association adalah hubungan antar object yang saling membutuhkan.

● Aggregation adalah bentuk khusus dari asosiasi yang menggambarkan seluruh bagian suatu object merupakan bagian dari object lainnya.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

13

Unified Modeling Language

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

14

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 yang bekerja dalam OOAD dengan satu bahasa yang konsisten untuk menentukan, memvisualisasi, mengkonstruksi, dan mendokumentasikan artifact (rancangan) yang terdapat 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 sbagai model statis) menekankan struktur object dalam sebuah sistem, menyangkut class-class, interface, attribute dan hubungan antar 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 UML

● Pentingnya Model● Kecendrungan Dunia Industri Terhadap

Software

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

20

Tujuan UML

● Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.

● Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.

● Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

21

Constraint

Cakupan UML

● UML menggabungkan konsep BOOCh, OMT dan OOSE--> sehingga UML merupakan suatu bahasa pemodelan tunggal yang umum dan digunakan secara luas oleh para user ketiga metoda tersebut dan bahkan para user metode lainnya.

● UML menekankan pada apa yang dapat dikerjakan dengan metode-metode tersebut.

● UML berfokus pada suatu bahasa pemodelan standar, bukan pada proses standar. Meskipun UML harus diaplikasikan dalam konteks sebuah proses dari pengalaman bahwa organisasi dan masalah yang berbeda memerlukan proses yang berbeda juga.

Tidak Mencakup

● Bahasa Pemrograman

● Tool (Software aplikasi) pemodelan

● Proses Rekayasa

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

22

Use Case

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

23

Use Case

● Diagram yang digunakan untuk menggambar fungsionalitas dari sebuah sistem yang merepresentasikan sebuah actor (pelaku) dengan sistem (pekerjaan).

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

24

● Actor merupakan sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan aktivitas tertentu.

● Actor dapat menggambarkan aturan main dari user, hardware tambahan dan sistem lain. actor biasanya berupa kata benda.

● Use case merupakan aktivitas yang dilakukan oleh sistem.

● Sebuah use case dapat dimiliki oleh satu atau banyak actor dalam sebuah diagram.

● Setiap use case menentukan sebuah perilaku yang dilakukan pengguna terhadap sistem. Sebuah use case biasanya berupa kata kerja.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

25

Hubungan Actor – Use Case

● Asosiasi● Generalisasi● Include● Extend

Asosiasi

● Komunikasi antara actor dengan use case.

● Menggambar apa yang bisa dilakukan actor terhadap sistem.

● Dimana setiap use case menggambarkan satu buah aktivitas yang bisa dilakukan oleh actor.

Dibaca : Tentor sedang Mengajar

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

26

Generalisasi antar actor

● Base actor → actor yang mewariskan kerjanya kepada child actor.

● Child actor → actor yang mewarisi kerja dari base actor.

Generalisasi antar use case

● Base use case → Use case yang mewariskan kerjanya kepada child use case.

● Child use case → Use case yang mewarisi kerja dari base use case.

Dibaca : - Seorang Asisten mewarisi sifat yang 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.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

27

Include

● Memungkinkan suatu use case menggunakan fungsionalitas yang dimiliki oleh use case lainnya.

● Menyatakan bahwa satu use case selalu menggunakan fungsionalitas yang disediakan oleh use case lainnya.

Extend

● Memungkinkan suatu use case secara opsional menggunakan fungsionalitas yang disediakan oleh use case lainnya.

● Menyatakan bahwa suatu use case tidak selalu menggunakan fungsionalitas yang disediakan oleh use case lainnya.

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.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

28

Contoh Use Case

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

29

Class Diagram

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

30

Class Diagram

● Diagram yang digunakan untuk menggambar struktur dan deskripsi class, package dan object besera hubungan satu dengan yang lainnya, misalnya seperti asosiasi, inheritance, containment, dll.

● Menggambarkan berbagai object yang terdapat dalam sistem dan menunjukkan berbagai hubungan statis yang ada di dalamnya.

● class merupakan sebuah spesifikasi object, yang mempunyai atribut dan operasi.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

31

Hubungan Antar Class

Asosiasi● Menggambarkan class yang

memiliki atribut berupa class lain.

Generalisasi

● Hubungan yang hierarkhi antara induk dan anak class,

● sehingga semua method dan atribut yang terdapat di class induk diturunkan pada class anaknya.

Composit → Gabungan

Navigability → Arah Query (komunikasi)

Asosiasi sederhana

Agregasi → data master dengan detailnya

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

32

Implementasi (Realization)

● Hubungan antar object yang mendukung pola khusus dalam perilaku anggota object lainnya. Yang dapat diwujudkan dengan adanya class yang mengimplementasikan interface tertentu.

Ketergantungan (Dependency)

● Hubungan yang menyatakan bahwa suatu class membutuhkan object lain agar dapat memfungsikan dirinya dengan baik.

Dinamis

● Merupakan hubungan yang menyatakan rangkaian pesan yang di passing dari class satu ke class lainnya.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

33

Multiplicity

● Multiplicity merupakan batasan jumlah contraint (hubungan) yang dinotasikan dengan :● 0 → tidak ada● 1 → ada satu ● * → lebih dari satu

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

34

Contoh Class Diagram

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

35

State Chart Diagram

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

36

State Chart

● Merupakan diagram yang digunakan untuk menggambarkan transisi dan perubahan keadaan suatu object, akibat dari input yang diterimanya.

● Perilaku sebuah class dalam sistem.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

37

Activity Diagram

● Merupakan diagram yang digunakan untuk menggambarkan aktivitas dalam sebuah sistem.

● Diagram ini lebih menggambarkan logika, proses bisnis dan alur kerja.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

38

Sequence Diagram

● Merupakan diagram yang digunakan untuk menggambarkan interaksi antar object yang berada di dalam dan di sekitar sistem berupa message yang digambarkan terhadap waktu.

● Terdiri dari dua dimensi :

● Vertical → waktu

● Horizontal → object yang terkait

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

39

Collaboration Diagram

● Merupakan diagram yang digunakan untuk menggambarkan interaksi antar object seperti sequence diagram.

● Lebih menekankan pada peran masing-masing object dan bukan pada waktu penyampaian message.

● Level message : dengan urutan angka 1, 1.1, 1.1.1, dan seterusnya.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

40

Component Diagram

● Merupakan diagram yang digunakan untuk menggambarkan struktur dan hubungan antar komponen hardware, termasuk dependency (ketergantungan).

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

41

Deployment Diagram

● Merupakan diagram yang menggambarkan komponen-komponen dibentuk dan didistribusikan dalam infrastruktur sistem secara detail.

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

42

Home Work (Team)

Dari permasalahan yang kelompok anda pilih, analisislah apa saja proses yang ada di dalamnya

1.Software Requirement Spesification (SRS), dengan format sebagai berikut :

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

43

2.Skenario dengan format sebagai berikut :

1.Use case : Melihat Jadwal Praktikum

Actor : Asisten dan Mahasiswa

Tujuan : Asisten dan Mahasiswa melihat

Informasi jadwal praktikum

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

44

● Dikerjakan kelompok, Tugas dikumpulkan setiap kelompok dikumpulkan 1 saja

● Format :

● Cover (Judul, Nama Kelompok)

● Daftar Isi

● Soal 1

● Soal 2

● Kesimpulan

● Presentasi Minggu Depan 25 Mei 2016

SQ - http://sidiq.mercubuana-yogya.ac.id dnd_07june07@live.com

45

Thanks For Participating in My Class

C U Nex week .. !