Perancangan Berbasis
Objek (Object-oriented Analysis and Design / OOAD)
Metode OOAD
melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada
perspektif fungsional seperti pada pemrograman terstruktur. Akhir-akhir ini
penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan
software dengan metode tradisional. Sebagai metode baru dan sophisticated
bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi
peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis.
Metode
pengembangan perangkat lunak berorientasi objek yang sudah dikenal, dan
diantaranya adalah :
Object
Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan
Edward Yourdon [1990].Object Modeling Technique (OMT) dan James Rumbaugh,
Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].Object
Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].Booch Method dan
Grady Booch [1994].Sritrop dan Steve Cook dan John Daniels [1994].UML (Unified
Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].Metodologi
pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama,
yaitu:
1. Encapsulation
Encapsulation merupakan dasar untuk pembatasan
ruang lingkup program terhadap data yang diproses.
Data dan prosedur atau fungsi dikemas
bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar
tidak dapat mengaksesnya.
Data terlindung dari prosedur atau objek lain,
kecuali prosedur yang berada dalam objek itu sendiri.
2. Inheritance
Inheritance adalah teknik yang menyatakan
bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya
langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak
objek, demikian seterusnya.
Inheritance
mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas
yang mempunyai hubungan secara hirarki.
Inheritance menggambarkan generalisasi sebuah
kelas.
3. Polymorphism
Polimorfisme yaitu konsep yang menyatakan
bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
Kemampuan objek-objek yang berbeda untuk
melakukan metode yang pantas dalam merespon message yang sama.
Seleksi dari metode yang sesuai bergantung
pada kelas yang seharusnya menciptakan objek.
Kelebihan dan
kekurangan dari metode perancangan ini adalah sebagai berikut :
Kelebihan
Dibandingkan
dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
Dibandingkan
dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan
kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD
(Sommerville, 2000).
Tidak ada
pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi
antara user dan developer dari awal hingga akhir pembangunan sistem.
Analis dan
programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat
diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
Relasi obyek
dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi
pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami
desain (Sommerville, 2000).
Memungkinkan
adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software
yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks
(Booch, 2007).
Encapsliation
data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan
memperingan proses desain, pemrograman dan reduksi harga.
OOAD
memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan
mengurangi resiko pelaksanaan proyek.
Dekomposisi
obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan
masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat
dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan
cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang
dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
Pada awal
desain OOAD, sistem mungkin akan sangat simple.
Pada OOAD
lebih fockus pada coding dibandingkan dengan SSAD.
Pada OOAD
tidak menekankan pada kinerja team seperti pada SSAD.
Pada OOAD
tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
Sering kali
pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap
fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
OOAD
merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan
metode analisis dengan metode terstruktur. Konsekuensinya adalah, team
developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka
sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
Metodologi
pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah
satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian,
tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan
konsep ini pada skala besar (Hantos, 2005).
Berikut ini merupakan
kelebihan dan kekurangan metode perancangan terstruktur :
Kelebihan
Milestone
diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
SSAD
merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh
pengguna atau programmer.
Penggunaan
analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk
digunakan.
SSAD
merupakan metode yang diketahui secara umum pada berbagai industry.
SSAD sudah
diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk
digunakan.
SSAD
memungkinkan untuk melakukan validasi antara berbagai kebutuhan
SSAD relatif
simpel dan mudah dimengerti.
Kekurangan
SSAD
berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
Sedikit
sekali manajemen langsung terkait dengan SSAD
Prinsip dasar
SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan
akan berubah pada setiap proses.
Interaksi
antara analisis atau pengguna tidak komprehensif, karena sistem telah
didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan
(kebutuhan-kebutuhan baru).
Selain dengan
menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk
mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk
melakukan evaluasi.
Pada SAAD
sulit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai
membuat sistem.
SSAD tidak
selalu memenuhi kebutuhan pengguna.
SSAD tidak
dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena
metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur,
tidak berorientasi pada obyek (Jadalowen, 2002).
Kesimpulan
jadi, sangat
jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan
dalam kasus pembuatan software yang rumit dan kompleks karena memberikan
berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.permodelan
yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang
mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu
sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem
informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran,
serta mudah digunakan, dimengerti dan dipelihara.
Tidak ada komentar:
Posting Komentar