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

  1. Siapkan scenarios untuk beberapa urutan interaksi.
  2. Kenali events antarobyek dan siapkan event trace untuk setiap scenario.
  3. Siapkan event flow diagram dari sistem.
  4. Buat state diagram untuk setiap class yang mempunyai perilaku dinamis yang penting.
  5. 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

  1. Identifikasi nilai-nilai input dan output.
  2. Gunakan data flow diagrams untuk menunjukkan ketergantungan fungsional.
  3. Deskripsikan apa yang dilakukan setiap fungsi.
  4. Identifikasi batasan-batasan.
  5. 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