rekayasa perangkat lunak lanjut class modeling · nomor-nomor telepon merupakan masukan untuk...

42
email Fasilkom|| 10/16/2018 CLASS MODELING Rekayasa Perangkat Lunak Lanjut

Upload: buibao

Post on 30-Mar-2019

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

CLASS MODELINGRekayasa Perangkat Lunak Lanjut

Page 2: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Elemen-elemen Model Analisis

Bentukrepresentasiyang berbedamemberipertimbangankebutuhan-kebutuhansistem/ perangkat lunakdari berbagaisudut pandangyang berbeda

Elemen-elemen Model Analisis

Page 3: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

COLLABORATION DIAGRAM

Page 4: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

The Example of Main Success Scenario: Make Appointment

1. The Patient contact the office regarding an appointment

2. The Patient provides the Receptionist with their name and address

3. The Receptionist validates that the Patient exists in the Patient database

4. The Receptionist executes the Make Payment Arrangements use case

5. The Receptionist asks Patient if he/she would like to make a new appointment an existing appointment

6. The Receptionist provides the results of the transaction to the Patient

Page 5: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Sequence Diagram Make Appointment

Page 6: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Collaboration Diagrams

Essentially an object diagram that showsMessage passing relationships Instead associations

Emphasize The flow of messages among objects Rather than timing and ordering of messages

Page 7: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Collaboration Diagram Syntax [1]Slide 7

AN ACTOR

AN OBJECT

AN ASSOCIATION

A MESSAGE

anObject:aClass

aMessage()

Page 8: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Example Collaboration Diagram [1]

Page 9: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

CLASS DIAGRAM

Page 10: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Pemodelan Berbasis Kelas

Pemodelan berbasis kelas pada dasarnya memperlihatkan: Objek-objek yang akan dimanipulasikan oleh sistem/PL, Operasi-operasi yang akan diterapkan Relas-relasi antar objek (mungkin diantaranya bersifat

hirarkis) Serta memperlihatkan kolaborasi yang terjadi antara

kelas-kelas yang didefinisikan.

Page 11: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Pemodelan Berbasis Kelas (lanj)

Elemen-elemen model berbasis kelas mencakup di dalamnya: Elemen-elemen kelas dan objek, Atribut-atribut, Operasi-operasi, Model Tanggung Jawab Kelas (Class Responsibility

Collaborator) Diagram-diagram kolaborasi dan paket (package)

Page 12: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Mengidentifikasi Kelas-kelas Analisis

Proses identifikasi kelas analisis dilakukan dengan cara: Memeriksa skenario penggunaan sistem/PL yang

telah dikembangkan sebelumnya (sebagai bagian dari model-model kebutuhan)

Lakukan “pemisahan berdasarkan tata bahasa” pada use case yang telah dikembangkan

Garisbawahi setiap kata benda (noun) dan masukkan ke sebuah tabel sederhana

Page 13: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Mengidentifikasi Kelas-kelas Analisis (lanj)

Kelas-kelas analisis pada umumnya manifestasi dari: External Entities Things Occurrences or events Roles Organizational Units Places Structures

Page 14: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Mengidentifikasi Kelas-kelas Analisis (lanj)

External Entities (misal sistem-sistem lain, peralatan-peralatan lain, serta orang-orang) yang menghasilkan atau menggunakan informasi yang akan digunakan oleh sistem/pl

Things (misalnya laporan-laporan, tampilan-tampilan, huruf-huruf, sinyal-sinyal) yang merupakan bagian dari ranah informasi permasalahan

Occurrences or events (misal suatu transfer properti atau penyelesaian sejumlah pergerakan robot) yang terjadi di dalam konteks SO

Page 15: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Mengidentifikasi Kelas-kelas Analisis (lanj)

Roles (misalnya manager, rekayasawan,salesperson) yang dimainkan oleh orang-orang yang berinteraksi dengan sistem/PL

Organizational units (misalnya divisi-divisi, kelompok, tim) yang relevan untuk aplikasi/perangkat lunak yang akan dikembangkan.

Structures (misalnya sensor-sensor, kendaraan beroda empat, atau komputer) yang mendefinisikan suatu kelas objek-objek atau kelas-kelas yang berhubungan dengan objek-objek

Page 16: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Contoh Mengidentifikasi Kelas-kelas Analisis(1)

Identifikasilah Kelas-kelas Analisis pada narasi berikut: Fungsi keamanan SafeHome memungkinkan pemilik

rumah untuk melakukan konfigurasi sistem keamanan saat sistem itu telah terinstal, memungkinkan pemilik rumah memantau semua sensor yang terhubung ke sistem keamanan dan berinteraksi dengan pemilik rumah melalui Internet, PC atau panel kontrol.

Page 17: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Contoh Mengidentifikasi Kelas-kelas Analisis(2)

Identifikasilah Kelas-kelas Analisis pada narasi berikut: Selama instalasi, SafeHome digunakan untuk

mempogram dan melakukan konfigurasi terhadapsystem. Masing-masing sensor diberi penandanomor dan jenis, kata sandi utama diprogram untukmengaktifkan dan menonaktifkan system dannomor-nomor telepon merupakan masukan untukmelakukan kontak saat event yang dapat ditangkapsensor terjadi.

Page 18: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Contoh Mengidentifikasi Kelas-kelas Analisis(3)

Identifikasilah Kelas-kelas Analisis pada narasi berikut: Saat event sensor dikenal, system/PL akan memanggil

alarm suara yang dilampirkan pada system. Setelahwaktu tunda yang ditentukan oleh pemilik rumahselama aktivitas konfigurasi system dilaksanakan, perangkat lunak akan memanggil nomor telepon untuklayanan pemantauan, menyediakan informasi yang berkaitan dengan lokasi, serta melaporkan penyebabevent yang terdeteksi. Nomor telepon akan dihubungi-ulang setiap 20 detik hingga koneksi telepon berjalanbaik

Page 19: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Contoh Mengidentifikasi Kelas-kelas Analisis(4)

Identifikasilah Kelas-kelas Analisis pada narasi berikut: Pemilik rumah menerima informasi keamanan melalui

panel kendali, PC, atau perambah(browser) yang secarabersamaan dinamakan sebagai antarmuka. Antarmukaitu akan menampilkan pesan-pesan yang harus diisi daninformasi status system pada panel kendali, PC, ataujendela perambah (browser).

Dari Narasi di atas frase manakah yang berpotensi menjadi kelas-kelas analisis?!

Page 20: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Mengidentifikasi Kelas-kelas Analisis (lanj)

Kelas Potensial Kategori Klasifikasi

Pemilik Rumah Role or External Entities

Sensor External Entities

Instalasi Event

Sistem Keamanan Things

Nomor,jenis Things

Kata Sandi Utama Things

Nomor Telepon Things

Alarm yang dapat dibunyikan External Entities

Layanan Pemantauan Organizational units / External Entities

Page 21: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Mengidentifikasi Kelas-kelas Analisis (lanj)

Untuk menentukan kelas-kelas potensial yang dapat dimasukkan ke model analisis, kita bisa mempertimbangkan 6 (enam) karakteristik dari Coad dan Yourdon [Coa91] meliputi:

1. Informasi yang disimpan2. Layanan-layanan yang diperlukan3. Atribut-atribut majemuk 4. Atribut-atribut umum5. Operasi-operasi umum6. Kebutuhan-kebutuhan esensial

Page 22: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Mengidentifikasi Kelas-kelas Analisis (lanj)

1. Informasi yang disimpan Kelas potensial akan sangat bermanfaat selama tahapan

analisis hanya jika informasinya harus diingat dalam sistem/PL sehingga sistem/PL dapat berfungsi dengan baik.

2. Layanan-layanan yang diperlukan Kelas potensial harus memiliki sejumlah operasi yang bisa

diidentifikasi yang dapat mengubah nilai atributnya dengan cara-cara tertentu.

3. Atribut-atribut majemuk Selama analisis kebutuhan dilakukan, fokus perhatian analisis

sistem seharusnya berada pada informasi utama

Page 23: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Mengidentifikasi Kelas-kelas Analisis (lanj)

4. Atribut-atribut umum Sejumlah atribut dapat didefinisikan untuk suatu kelas

potensial dan atribut-atribut.

5. Operasi-operasi Umum Suatu kumpulan operasi yang dapat didefinisikan untuk kelas

potensial dan operasi ini berlaku untuk semua contoh/instances kelas.

6. Kebutuhan-kebutuhan esensial Entitas eksternal yang muncul dalam ruang masalah dan

menghasilkan atau mengkonsumsi informasi penting untuk operasi dari setiap solusi untuk sistem akan hampir selalu didefinisikan sebagai kelas dalam requirements model.

Page 24: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

PEMODELAN BERBASIS KELAS

Page 25: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Class Diagram

Class diagram membantu pengembangmendapatkan struktur sistem dan menghasilkanrancangan (design) sistem yang baik

Class diagram juga menunjukkan property yang diwakili oleh attribute dan behaviour melaluimethod / operasi sebuah Class

Page 26: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Relation

Secara umum hubungan/relasi antar class, meliputi: Association / Asosiasi Generalization / Generalisasi Aggregation / Aggregasi Composition / Komposisi

Page 27: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Association / Asosiasi

Sebuah asosiasi secara formal didefinisikan sebagairelasi antara dua atau lebih kelas menggambarkansekelompok hubungan struktur

Sebuah asosiasi menyiratkan bahwa obyek dari satukelas yang memanfaatkan sebuah objek dari kelaslain dan ditunjukkan hanya dengan garis yang solid menghubungkan ikon dua kelas

Page 28: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Association / Asosiasi

Example of Association

Page 29: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Association / Asosiasi

Asosiasi ada beberapa jenis, antara lain: Directional Association / Asosiasi 1 arah Bidirectional Association / Asosiasi 2 arah

Page 30: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Directional Association / Asosiasi 1 arah

Asosiasi ini menggambar bahwa pesan atau urutankejadian terjadi hanya dari salah satu kelassedangkan kelas yang lain pasif (dari kelas sumberke kelas tujuan)

Asosiasi 1 arah

Page 31: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Bidirectional Association / Asosiasi 2 arah

Asosiasi ini terjadi ketika salah satu kelasmengirimkan pesan kepada kelas yang lain kemudian kelas yang lain mengirimkan pesankepada kelas yang mengirimnya pesan

Asosiasi Bidireksional

OwnPerson Car

Page 32: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Generalization / Generalisasi

Inheritene dapat didefinisikan sebagai mekanismeyang disediakan dalam bahasa pemrograman untukmencapai gagasan generalisasi vertikal

Page 33: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Generalization / Generalisasi

Example of Generalization

Page 34: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Generalization / Generalisasi

Example of Generalization

Page 35: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Agregation / Agregasi

Aggregasi dapat diartikan bahwa suatu kelasmerupakan bagian dari kelas yang lain namunbersifat tidak wajib Contohnya sebuah buku memiliki pengarang,judul,namun

bisa saja suatu buku tidak memiliki daftar pustaka. Namuntetap sebagai buku.

Page 36: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Composition / Komposisi

Komposisi diartikan bahwa suatu kelas merupakanbagian yang wajib dari kelas yang lain. Eksistensi(keberadaan) kelas tersebut, mempengaruhikeberadaan kelas yang lain Contoh kasus yaitu pada sebuah buku, sudah pasti

terdapat halaman isi sekurang-kurangnya satu

Page 37: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Multiplicity

Pada relasi terdapat suatu penanda yang disebutmultiplicity.

Multiplicity ini akan mengindikasikan berapa banyakobyek dari suatu kelas terelasi ke obyek lain

Multiplicity memiliki batas bawah dan batas atas Jika batas bawah dan batas atas bernilai sama yaitu 1..1,

maka hanya ditulis 1 Sedangkan * merupakan kependekan dari 0..* Dan 0 merupakan kependekan dari 0..0

Default nilai multiplicity relasi class diagram adalah 1

Page 38: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Multiplicity

Multiplicity Arti* = 0..* Banyak/tak terhingga0 = 0..0 Nol1 = 1..1 Tepat Satu, bisa ditulis bisa tidak (default)

1..* Antara Satu sampai Banyak

0..1 Nol atau Satu

Notasi UML Class Diagram untuk Multiplicity

Page 39: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Multiplicity - Contoh

Person Car1 own 1..*

Page 40: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

TERIMA KASIH

Page 41: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

Page 42: Rekayasa Perangkat Lunak Lanjut CLASS MODELING · nomor-nomor telepon merupakan masukan untuk melakukan kontak saat event yang dapat ditangkap sensor terjadi. ... Class diagram juga

email Fasilkom|| 10/16/2018

TUGAS

Seorang pemilik Bioskop 123, ingin menerapkan sistem pemesanan tiket secara online. Diharapkan sistem dapat menampilkan film-film yang ditayangkan dan jadwal pemutarannya. Di sistem tersebut, pelanggan juga dapat mememesan tiket secara online dan mencetaknya sebagai bukti pemesanan tiket.

Buatlah Use Case Diagram, Use Case Scenario pemesanan tiket, Sequence Diagram pemesanantiket dan Class Diagramnya!