Upload
buibao
View
232
Download
0
Embed Size (px)
Citation preview
email Fasilkom|| 10/16/2018
CLASS MODELINGRekayasa Perangkat Lunak Lanjut
email Fasilkom|| 10/16/2018
Elemen-elemen Model Analisis
Bentukrepresentasiyang berbedamemberipertimbangankebutuhan-kebutuhansistem/ perangkat lunakdari berbagaisudut pandangyang berbeda
Elemen-elemen Model Analisis
email Fasilkom|| 10/16/2018
COLLABORATION DIAGRAM
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
email Fasilkom|| 10/16/2018
Sequence Diagram Make Appointment
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
email Fasilkom|| 10/16/2018
Collaboration Diagram Syntax [1]Slide 7
AN ACTOR
AN OBJECT
AN ASSOCIATION
A MESSAGE
anObject:aClass
aMessage()
email Fasilkom|| 10/16/2018
Example Collaboration Diagram [1]
email Fasilkom|| 10/16/2018
CLASS DIAGRAM
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.
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)
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
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
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
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
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.
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.
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
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?!
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
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
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
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.
email Fasilkom|| 10/16/2018
PEMODELAN BERBASIS KELAS
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
email Fasilkom|| 10/16/2018
Relation
Secara umum hubungan/relasi antar class, meliputi: Association / Asosiasi Generalization / Generalisasi Aggregation / Aggregasi Composition / Komposisi
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
email Fasilkom|| 10/16/2018
Association / Asosiasi
Example of Association
email Fasilkom|| 10/16/2018
Association / Asosiasi
Asosiasi ada beberapa jenis, antara lain: Directional Association / Asosiasi 1 arah Bidirectional Association / Asosiasi 2 arah
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
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
email Fasilkom|| 10/16/2018
Generalization / Generalisasi
Inheritene dapat didefinisikan sebagai mekanismeyang disediakan dalam bahasa pemrograman untukmencapai gagasan generalisasi vertikal
email Fasilkom|| 10/16/2018
Generalization / Generalisasi
Example of Generalization
email Fasilkom|| 10/16/2018
Generalization / Generalisasi
Example of Generalization
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.
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
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
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
email Fasilkom|| 10/16/2018
Multiplicity - Contoh
Person Car1 own 1..*
email Fasilkom|| 10/16/2018
TERIMA KASIH
email Fasilkom|| 10/16/2018
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!