P10 Perancangan Berbasis Object SQ http://sidiq.mercubuana-yogya.ac.id Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Tujuan ●
Mahasiswa mengetahui & memahami konsep perancangan berorientasi object
●
Mahasiswa dapat menerapkannya kedalam bentuk analisis dan perancangan.
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
Object Oriented Analysis Design SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
4
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
[email protected]
5
●
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 objectobject sistem atau subsistem.
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
6
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
[email protected]
7
●
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) objectnya.
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
[email protected]
8
●
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
[email protected]
9
●
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
[email protected]
10
●
●
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
[email protected]
11
●
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
[email protected]
12
Unified Modeling Language 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]
14
●
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
[email protected]
15
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]
16
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
[email protected]
17
Notasi UML ●
UML mempunyai notasi untuk menjelaskan secara visual mengenai elemen-elemen pemodelan.
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
18
Faktor UML ●
Pentingnya Model
●
Kecendrungan Dunia Industri Terhadap Software
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
19
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
[email protected]
20
Constraint Cakupan UML ●
Tidak Mencakup
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.
●
Bahasa Pemrograman
●
Tool (Software aplikasi) pemodelan
●
Proses Rekayasa
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
21
Use Case SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
22
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
[email protected]
23
●
●
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
[email protected]
24
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
[email protected]
25
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
[email protected]
26
Include
Extend
●
Memungkinkan suatu use case menggunakan fungsionalitas yang dimiliki oleh use case lainnya.
●
Memungkinkan suatu use case secara opsional menggunakan fungsionalitas yang disediakan oleh use case lainnya.
●
Menyatakan bahwa satu use case selalu 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
[email protected]
27
Contoh Use Case
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
28
Class Diagram SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
29
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
[email protected]
30
Hubungan Antar Class Asosiasi ●
Menggambarkan class yang memiliki atribut berupa class lain. Asosiasi sederhana
Generalisasi ●
Hubungan yang hierarkhi antara induk dan anak class,
●
sehingga semua method dan atribut yang terdapat di class induk diturunkan pada class anaknya.
Agregasi → data master dengan detailnya Navigability → Arah Query (komunikasi)
Composit → Gabungan
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
31
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
[email protected]
32
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
[email protected]
33
Contoh Class Diagram
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
34
State Chart Diagram SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
35
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
[email protected]
36
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
[email protected]
37
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
[email protected]
38
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
[email protected]
39
Component Diagram ●
Merupakan diagram yang digunakan untuk menggambarkan struktur dan hubungan antar komponen hardware, termasuk dependency (ketergantungan).
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
40
Deployment Diagram ●
Merupakan diagram yang menggambarkan komponen-komponen dibentuk dan didistribusikan dalam infrastruktur sistem secara detail.
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
41
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
[email protected]
42
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
[email protected]
43
●
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
[email protected]
44
Thanks For Participating in My Class C U Nex week .. !
SQ - http://sidiq.mercubuana-yogya.ac.id
[email protected]
45