Object Modeling Technique
(Teknik Pemodelan Obyek)
M. Saad Nurul Ishlah, M.Comp.
Dept. Ilmu Komputer FMIPA Univ. Pakuan
Review
Pemrograman Berorientasi Obyek
- Paradigma pemrograman yang menitikberatkan perancangan sistem berdasarkan obyek
- Kode dipecah menjadi bagian-bagian yang mempunyai fungsionalitas yang khusus
- Bagian khusus tsb disebut Class
Class & Object
- Class (Kelas)
- Blueprint (cetakan, abstraksi) dari obyek
- Dapat mencetak lebih dari satu obyek
- Object (Obyek)
- Bentuk akhir dari sebuah kelas (class)
Konsep Penting di PBO
- A: Abstraction (Abstraksi)
- P: Polymorphism (Polimorfisme)
- I: Inheritance (Pewarisan)
- E: Encapsulation (Pembungkusan)
Bagaimana Sistem Berorientasi Obyek Dikembangkan?
Object-oriented Methods
- Booch Methodology [1994]: Membangun konsep the Object Oriented Analysis and Object Oriented Design (OOA/OOD).
- RDD Methodology [1990]: Wirfs-Brock, Wilkerson, and Wiener membangun metode Responsibility Driven Design (RDD).
- OMT methodology [1991]: James Rumbaugh memimpin sebuah tim riset di laboratorium General Electric untuk membangun the Object Modeling Technique (OMT).
- OOSE [1994]: Ivar Jacobson membangun Object Oriented Software Engineering (OOSE).
Object Modeling Technique
( James Rumbaugh, 1991 )
- Metode pengembangan perangkat lunak yang mendeskripsikan analisis, perancangan dan implementasi dengan menggunakan teknik dan notasi yang terdefinisi
Tujuan Pengembangan
- Menguji entitas sebelum dibangun (simulasi),
- Komunikasi dengan Pengguna,
- Visualisasi,
- Mengurangi kompleksitas
Fase Pengembangan
-
Analysis: Memahami dan memodelkan aplikasi dan ranah operasinya
- Perumusan Masalah
- Pemodelan Obyek
- Pemodelan Dinamis
- Pemodelan Fungsional
- Validasi, Ulangi, Perbaiki ketiga model
-
System Design:
- Arsitektur keseluruhan sistem
- Object Design
- Implementation
Tipe-tipe Pemodelan
-
Object modeling (Pemodelan Objek: Aspek statis pada sistem)
-
Mendeskripsikan obyek pada sistem dan keterhubungannya
-
Output: Class, Object, &/or Instance diagram
-
-
Dynamic modeling (Pemodelan Dinamis: Aspek dinamis pada sistem)
-
Menggambarkan perubahan states pada obyek terhadap event tertentu
-
Output: State diagram
-
-
Functional modeling (Pemodelan Fungsional)
-
Menggambarkan transformasi data yang terjadi pada sistem
-
Output: Data Flow Diagram
-
Object Modeling
(Pemodelan objek)
Object Modeling
Memodelkan objek pada sistem dan keterhubungannya berdasarkan ranah sistemnya.
Pemahaman objek memiliki 2 fungsi:
- memudahkan untuk mempelajari secara seksama apa yang ada di dunia nyata.
- menyediakan suatu dasar yang kuat dalam implementasi ke dalam sistem terkomputerisasi
Contoh Objek
- Obyek orang : Anda, saya, kamu, dia,
- Obyek tempat : kampus, negara, jalan, kota
- Obyek benda : mesin, gedung, komputer, gitar, keyboard, tape-recorder
- Obyek kejadian : pembayaran, registrasi, kuliah, membaca buku, proklamasi kemerdekaan
- Obyek konsep : marxisme, liberalisme, kapitalisme, kursus, kuliah, pelatihan
Pemodelan Objek (Object modeling)
- Direpresentasikan dalam Object diagram, Class diagram
-
Links/Association (Unary, Binary, Ternary, n-ary)
- Link: hubungan fisik atau konseptual antar obyek
- Association: kumpulan link yang menghubungkan
obyek-obyek pada kelas yang sama.
- Multiplicity (0..1, 1..1, 0..*, 1..*)
- Inheritance (generalization, specialization)
- Aggregation (part of, has a)
Notasi
Class name
Attributes
Operations
Associations
Associations
0..1
0..*
Inheritance
Aggregation
Class
Class
Class
Class
Class
Ternary
Class
= 1..1
= 0..*
= 1..*
Contoh Class Diagram
Dynamic Modeling
(Pemodelan dinamis)
Apa itu pemodelan dinamis?
- Pemodelan untuk menggambarkan perubahan states pada obyek terhadap event tertentu pada waktu tertentu.
- Menggambarkan
- states : abstraksi dari atribut dan link dari obyek pada waktu tertentu
- transitions : hubungan antarstate
- events : stimulus luar yang mempengaruhi obyek pada satuan waktu
- actions: proses komputasi yang terjadi sebagai akibat langsung dari events
- Output: scenarios, event-trace diagrams, dan state diagrams.
Kenapa pemodelan dinamis?
- Setiap obyek memperlihatkan karakteristik dan perilaku tertentu yang berubah seiring waktu
- Setiap obyek mengenali dan merespon events tertentu
Contoh:
Langkah Pemodelan
- Siapkan scenarios untuk beberapa urutan interaksi.
- Kenali events antarobyek dan siapkan event trace untuk setiap scenario.
- Siapkan event flow diagram dari sistem.
- Buat state diagram untuk setiap class yang mempunyai perilaku dinamis yang penting.
- Lakukan pengecekan untuk consistency and completeness (konsistensi dan kelengkapan) dari events yang tersebar di dalam state diagrams.
Scenario
- Sebuah scenario merupakan urutan dari beberapa event yang terjadi selama satu eksekusi pada sistem
- Setiap pengeksekusian dari sistem seyogyanya direpresentasikan oleh sebuah scenario
- Sekup scenario bisa bervariasi. Bisa jadi semua events dalam sistem atau hanya beberapa event yang dihasilkan oleh obyek tertentu.
Scenario
Contoh:
sebuah scenario penggunaan ATM untuk mengambil uang
Scenario
Kekurangan:
- Tidak menggambarkan dengan jelas berapa obyek yang terlibat dan obyek mana yang menstimulus events maupun yang menerima events
Event-trace diagram
- garis vertikal: menunjukkan obyek,
- tanda panah horizontal: event dari obyek mengirim ke obyek penerima,
- Waktu bertambah dari atas ke bawah,
- ruang kosong antara tanda panah horizontal tidak memiliki informasi apa-apa.
Event-trace
diagram
Contoh:
- Obyek:
- User, ATM, Consortium, Bank
- User generates "insert card" event
State Diagram
-
State:
- kondisi dari sebuah objek selama masa hidupnya (dalam sistem) yang memenuhi beberapa kondisi,
- dapat melakukan aktifitas, atau menunggu event lain,
- kondisi antara dua events (interval) yang diterima sebuah obyek, menggambarkan nilai pada waktu itu.
State Diagram
-
Event:
- spesifikasi dari kejadian yang signifikan
- kejadian yang dapat menstimulasi perubahan (transisi) state,
- sesuatu yang terjadi pada satuan waktu tertentu.
- Contoh:
- mengklik tetikus (mouse)
State Diagram
-
Activity:
- sebuah operasi yang membutuhkan waktu untuk menyelesaikannya
- termasuk operasi yang kontinyu maupun sekuensial
- sebuah state dapat mengotrol aktivitas yang kontinyu
- Contoh:
- Menayangkan gambar pada televisi
- melakukan komputasi tertentu selama waktu tertentu
State Diagram
-
State diagrams:
- digunakan untuk mendeskripsikan perilaku dari sebuah sistem
- mendeskripsikan semua kemungkinan state dari sebuah obyek ketika events terjadi
- State diagram menspesifikasikan urutan state yang disebabkan urutan event
Kapan digunakan?
- Gunakan untuk mendeskripsikan perilaku dari sebuah obyek melalui beberapa contoh kasus dari sistem,
- Hanya gunakan state diagram untuk kelas-kelas yang obyeknya perlu dipahami pada sistem
- Tidak semua kelas memerlukan state diagram dan state diagram tidak berguna untuk mendeskripsikan kolaborasi dari obyek-obyek
- State diagrams dikombinasikan dengan diagram lain seperti interaction diagram dan activity diagram.
Notasi
- state dinotasikan sebagai sebuah node
- transisi disimbolkan oleh tanda panah yang berisi nama event
Initial state
Final state
Notasi
Contoh
Functional Modeling
(Pemodelan fungsional)
Pemodelan fungsional
- Menggambarkan transformasi data pada sistem
- Menggambarkan komputasi dan menspesifikasi aspek-aspek yang berhubungan dengan trasnformasi nilai
- fungsi, pemetaan, batasan, dependesi
- Menjelaskan apa yang dilakukan sistem, bukan bagaimana atau kapan sistem melakukan sesuatu
- Digambarkan secara grafis dengan Data Flow Diagrams (DFDs)
- Konsep utama:
- process, data store, data flow, and actors
- Output: DFDs
Langkah Pemodelan
- Identifikasi nilai-nilai input dan output.
- Gunakan data flow diagrams untuk menunjukkan ketergantungan fungsional.
- Deskripsikan apa yang dilakukan setiap fungsi.
- Identifikasi batasan-batasan.
- Spesifikasi kriteria optimisasi.
Data Flow Diagram
(Diagram Alur Data)
- Menunjukkan alur data pada sistem
- Sistem sebagai sebuah fungsi yang mengubah input menjadi output yang diinginkan
- Agen yang melakukan perubahan data dari satu state ke state lainnya disebur process (proses)
- DFD menunjukkan pergerakan data melalui transformasi yang berbeda-beda atau proses dalam sebuah sistem.
Data Flow Diagram
(Diagram Alur Data)
data flow diagram merupakan sebuah grafik yang menunjukkan alur perubahan (melalui proses/process) nilai-nilai data dari obyek-obyek sumber ke obyek-obyek tujuan.
Simbol-simbol DFD
-
The External Entity / Actors (Entitas Luar)
- simbol yang merepresentasikan sumber data yang menuju ke atau dari sistem.
- di luar dari lingkup sistem, dapat berupa sistem lain atau subsistem
-
The Process (Proses)
- Merepresentasikan aktivitas mengubah atau memanipulasi data (combines, reorders, converts, etc.).
- harus mempunyai input dan output. Dapat ditunjukkan dalam level yang lebih detil.
- Dinamai menggunakan kata kerja.
Simbol-simbol DFD
-
The Data Store (Penyimpan Data)
- Merepresentasikan data yang tidak bergerak (delayed data at rest).
- Hanya proses yang dapat terhubung dengan data store
- Bisa digunakan bersama beberapa sistem (sistem pengupdate dan sistem pemroses)
- Dinamai dengan nama plural (Produk-produk, Pesan-pesan)
-
The Data Flow (Alur Data)
- Memperlihatkan pergerakan data.
Simbol-simbol DFD
-
The Data Flow (Alur Data)
- Memperlihatkan pergerakan data.
- Merepresentasikan data input (atau output) ke (atau dari) sebuah process, data store, atau actor
- Data flow hanyalah data, bukan kontrol.
- Merepresentasikan data minimum yang penting bagi process
- Data flows harus berasal dan/atau berakhir pada sebuah process.
- Direpresentasikan dengan tanda panah bernama
Simbol-simbol DFD
-
The Control Flow (Alur Kontrol)
- sebuah nilai boolean yang mempengaruhi apakah sebuah proses dievaluasi atau tidak
- bukan merupakan nilai input untuk proses
- direpresentasikan sebagai tanda panah putus (titik-titik)
Simbol-simbol DFD
External Entity
Process
Data store
Data store
or
Data Flow
Address
Street
City
Control Flow
Contoh Data Flow Diagram
DFD for a system that pays workers
References
- http://www.ddegjust.ac.in/studymaterial/mca-5/mca-503.pdf
- http://www.idi.ntnu.no/grupper/su/publ/html/totland/ch0527.htm
- http://ratandon.mysite.syr.edu/cis453/notes/DFD_over_Flowcharts.pdf
Terima kasih
PBO-2 - Object Modelling Technique
By M. Saad Nurul Ishlah
PBO-2 - Object Modelling Technique
Discussing about various techniques in modelling object.
- 1,321