Modul ini membahas tentang analisis dan perancangan sistem berbasis objek. Ada beberapa tahapan pengembangan sistem yang dijelaskan seperti perencanaan sistem, analisis sistem, perancangan sistem, implementasi sistem, dan pemeliharaan sistem. Perancangan sistem membahas konsep-konsep dasar seperti pemodelan objek, generalisasi, spesialisasi, komunikasi, dan pewarisan sifat. Ada beberapa teknik pemodelan yang disebutkan seperti UML.
2. Metodologi Umum Pengembangan Sistem
System Planning. Pengamatan dan penelitian awal untuk
mengetahui tingkat kepentingan sistem, menentukan
lingkup sistem dan membuat perencanaan pengembangan
System Analysis. Analisis domain sistem untuk
mengidentifikasikan elemen sistem, masalah, kebutuhan,
peluang, tujuan dan arahan.
System Design. Merancang pemodelan sistem dalam
conceptual model dan software engineering.
System Implementation. Menginstalasi perangkat lunak
dan perangkat keras, melatih pengoperasian sistem dan
menerapkan sistem.
System Maintenance. Merawat dan memperbaiki sistem.
3.
4. Desain Sistem
Merupakan teknik pemecahan masalah yang
merangkai pecahan komponen menjadi sistem
lengkap melalui strategi pengembangan dengan
menggambarkan model sistem untuk membantu
visualisasi, analisa dan desain sistem yang
memudahkan komunikasi antar stakeholder.
Design by specification. Desain sistem melalui model
grafis dan spesifikasi detail sebagai blueprint (rancang
bangun) konstruksi sistem.
Design by prototyping. Desain sistem melalui aplikasi
fungsional namun belum lengkap sebagai prototype
(purwarupa) yang dibuat dan diperbaiki berdasarkan umpan
balik user atau stakeholder lainnya.
5. Desain Sistem
Conceptual Design. Menerjemahkan kebutuhan user
dalam model sistem yang menggambarkan kebutuhan
tanpa rancangan teknis dan implementasi dari kebutuhan
tersebut.
Menunjukkan bagaimana sistem terlaksana secara konseptual.
Disebut juga essential model atau logical model
Physical Design. Menerjemahkan kebutuhan user dalam
model sistem yang menggambarkan rancangan teknis dan
impementasi kebutuhan tersebut.
Menunjukkan bagaimana sistem terlaksana secara fisik dan teknis.
Disebut juga implementation model atau technical model
6.
7. Tujuan Pemodelan
Menghilangkan bias sehingga hasil
pemikiran atas sistem valid atau sejalan.
Mengurangi resiko kealpaan sebagian
kebutuhan karena terlalu konsentrasi pada
detail teknis.
Memberikan media untuk berdiskusi dengan
user dalam bahasa yang tidak terlalu teknis.
8. Strategi Pemodelan
Process modeling – teknik pemodelan berfokus proses
bisnis berdasarkan metodologi SADT (structured analysis
and design technique) untuk memodelkan kebutuhan proses
bisnis hingga membangun rancangan software aplikasi.
Data modeling – teknik pemodelan berfokus data digunakan
untuk memodelkan kebutuhan data-informasi hingga
membangun basisdata.
Object modeling – teknik pemodelan berfokus object-
oriented yang memadukan data dan proses dalam elemen
tunggal yang disebut object untuk memodelkan object dan
interaksi antar object.
9. Entity – Object
Entity dan Object merupakan bagian penyusun
sistem berwujud benda (kongkrit) atau dibendakan
(abstrak) yang dapat berupa elemen atau subsistem
Entity hanya memiliki attribute
Object memiliki attribute, behaviour dan
reponsibility.
10. KONSEP
Natural mapping
Pemodelan dengan memetakan entitas sebagai object
yang selain mempunyai attribute juga mempunyai
behaviour dan responsibility.
Suatu object dapat ‘lahir’ (create), ‘dikenal’ (read),
‘berubah’ (update) dan ‘mati’ (delete).
Hierarchical model
Satu object merupakan instance dari suatu class yang
spesifik namun juga termasuk dalam supertype class-nya.
Terdapat pohon hirarki yang menghubungkan antra
supertype class dengan subtype class.
11. KONSEP
Encapsulation
Object dapat menjalankan behaviour yang mempengaruhi
attribute-nya, karena attribute dan behaviour menjadi satu
paket informasi yang tersembunyi dalam object.
Inheritance
Object memiliki attribute dan behaviour dari class-nya dan
mewarisi attribute dan behaviour dari supertype class-nya
Polymorphisme
Attribute dan behaviour menyatu dengan class dari object.
Attribute atau behaviour antar class dapat mempunyai
penamaan yang sama dengan arti berbeda.
12. KONSEP
Generalization & Specialization
Kesamaan attribute dan behaviour digeneralisasi dengan
membentuk supertype class. Perbedaan attribute dan
behaviour dispesialisasikan dalam subtype class.
Communication
Antar object berinteraksi atau berkomunikasi dengan saling
mengirimkan message.
Message
Pesan dapat dicetuskan oleh object aktif atau karena
adanya kejadian. Pesan memicu object pasif untuk
menjalankan behaviour-nya.
13. KONSEP
Scalability, Extensibility &
Expandability
Skala lingkup sistem dibatasi oleh banyaknya class.
Jumlah informasi tidak terpengaruh oleh jumlah array
variable yang disediakan melainkan oleh jumlah object
yang dibuat. Class dapat dikembangkan menjadi beberapa
subtype class. Pengembangan lingkup sistem dapat
ditempuh dengan pengembangan class.
Complexity & Maintenability
Kompleksitas sistem dapat dibangun melalui class secara
bertahap. Perawatan atau perbaikan sistem dapat pula
dilakukan bertahap melalui class.
14. KONSEP
Flexibility & reusability
Sistem dibangun dengan didukung software library yang
meliputi class library dan model library. Sistem dapat
dibuat dengan class dan model library yang diperlukan.
Class dan model library dari sistem yang telah dibuat dapat
dipergunakan untuk sistem yang lain.
Modularity, parallelsm &
concurrency
Sistem dibangun secara modular yaitu terbagi dalam
beberapa komponen atau modul. Pengembangan sistem
melalui modul-modul dapat dilakukan paralel dan bersama.
19. METODOLOGI
Object Oriented Analysis
Metode analisis yang menelaah kebutuhan dari perspektif
kelas dan objek yang ditemukan dalam domain masalah.
Object Oriented Design
Metode perancangan yang mengarahkan proses
dekomposisi orientasi objek dan penggambaran struktur
logika dan fisik dari model sistem.
Object Oriented Programming
Metode implementasi di mana program terorganisasi
sebagai koleksi kooperatif objek
20. TEKNIK PEMODELAN
Grady Booch Method
Sally Shlaer – Stephen J. Mellor Method
Object Modeling Technique, OMT, by James
Rumbaugh
Object-Oriented Software Engineering,
OOSE/Objectory, by Ivar Jacobson
Fusion by D. Coleman, Hewlett Packard
Peter Coad / Edward Yourdon Method
Unified Modeling Language