Definisi
Perancangan
berorientasi objek adalah suatu teknik atau cara pendekatan baru dalam melihat
permasalahan dan sistem (sistem perangkat lunak. Sistem informasi, atau sistem
lainnva). Pendekatan berorientasi objek akan memandang sistem yang akan
dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan
objek-objek dunia nyata. Pengertian “berorientasi objek” berarti bahwa kita
mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang
memiliki struktur data dan perilakunya.
Karakteristik Objek
Objek ialah
Identitas. Berarti bahwa data diukur mempunyai nilai tertentu yang membedakan
entitas disebut Objek. Objek dapat kongkrit, seperti halnya arsip dalam sistem,
atau konseptual seperti kebijakan penjadualan dalam multiprocessing pada sistem
operasi. Setiap objek mempunyai sifat yang melekat pada identitasnya. Dua objek
dapat berbeda walaupun bila semua nilai atributnya identik.
Kelas Objek
ialah gambaran sekumpulan Objek yang terbagi dalam atribut, operasi, metode,
hubungan, dan makna yang sama. Suatu kegiatan mengumpulkan data (atribut) dan
perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup. Kelas
Objek merupakan wadah bagi Objek. Dapat digunakan untuk menciptakan Objek.
Objek mewakili fakta / keterangan dari sebuah kelas.
Metodologi
Berorientasi Objek
Metodologi pengembangan
sistem berorientasi objek mempunyai 3 karakteristik utama :
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.
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. Suatu kelas dapat ditentukan secara umum,
kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai
hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan
ditambah dengan sifat unik yang dimilikinya. Kelas Objek dapat didefinisikan
atribut dan service dari kelas Objek lainnya. Inheritance menggambarkan
generalisasi sebuah kelas.
Polymorphism
Polimorfisme
yaitu konsep yang menyatakan bahwa seuatu yang sama dapat mempunyai bentuk dan
perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin
mempunyai perbedaan dalam kelas yang 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.
Tools Perancangan Berorientasi
Objek
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].
Kelebihan dan Kekurangan
Perancangan Berorientasi Objek
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.
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).
Tidak ada komentar:
Posting Komentar