PENDEKATAN DESAIN SISTEM BERORIENTASI OBJEK
Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak,sistem informasi,atau sistem lainnya). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut,mulai dan abstraksi objek,kelas,hubungan antarkelas sampai abstraksi sistem.Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi.Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya dan dapat berinteraksi satu sama lain. Hal-hal yang terlibat dalam perancangan berorientasi objek yaitu:
1. Kelas (class)
Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statik dan himpunan objek yang sama yang mungkin lahir atau diciptakan dari kelas tersebut.Suatu kelas dapat diturunkan dan kelas yang lain , dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru.Ilustrasi dari sebuah kelas dapat dilihat pada gambar berikut.
2. Objek (object)
Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda,manusia,satuan organisasi,tempat,kejadian,struktur,status,atau hal-hal lain bersifat abstrak.Objek merupakan suatu entitas yang mampu menyimpan (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya.Objek mempunyai siklus hidup yaitu diciptakan,dimanipulasi,dan dihancurkan.
3. Method (Metode)
Metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek.Metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural.Metode dapat berasal dari event,aktivitas,atau aksi keadaan,fungsi,atau kelakuan dunia nyata.Contoh metode misal read,write,move,copy,dsb
4. Attribut
Attribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas.Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek.Atribut dipunyai secara individual oleh sebuah objek,misalnya berat,jenis,nama,dsb.
5. Operasi
Operasi adalah fungsi atau transformasi yang mungkin dapat diaplikasikan ke/oleh suatu objek dalam kelas. Misalnya, suatu objek dalamkelas manusia mungkin memiliki fungsi-fungsi tersenyum, marah, makan, minum, menerima perlakuan tertentu, dan sebagainya.
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)
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.
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).
Tidak ada komentar:
Posting Komentar