PENDEKATAN PERANCANGAN SISTEM BERORIENTASI OBJEK
Pendekatan Perancangan Sistem Berorientasi Objek
Pendekatan
perancangan sistem berorientasi ojek adalah suatu teknik pendekatan baru dalam
melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi, atau
sistem lainnya). Pendekatan ini memandang sistem yang akan dikembangkan
sebagai suatu kumpulan objek-objek dunia nyata.
Terdapat
beberapa cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, yaitu
abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem. Saat
mengabstraksikan dan memodelkan objek, data dan proses-proses yang dipunyai
oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan.
Dalam
rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan
pada tahap analisis, perancangan, pemrograman, dan pengujian perangkat
lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap
tersebut, dengan aturan dan alat bantu pemodelan tertentu.
Karakteristik dari 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 :
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. 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.
3. 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
pendekatan berorientasi objek :
- Rational Unified Process (RUP) (Rational Software – IBM 2003)
- Fusion (Coleman 1994)
- STS development Method 3 (ADM3) (Firesmith 1993)
- Berard’s object-oriented design (Berard 1991)
- Booch’s object-oriented design (Booch 1983, 1991)
- Coad and Yourdon’s object – oriented analysis (Coad & Yourdon 1989)
- Coad and Yourdon’s object-oriented analysis (OOA) (Coad & Yourdon 1991)
- Jacobson’s Objectory (Jacobson & Linstrom 1992)
- Rumbaugh’s object modelling technique (OMT) (Rumbaugh et al. 1991)
- Object-oriented system analysis (OOA) (Shlaer & Mellor 1988)
Kelebihan pendekatan berorientasi objek :
- Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan system
- 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 Pendekatan Berorientasi Objek :
- 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).
Komentar
Posting Komentar