Analisa Dan Desain Dengan Menggunakan Obyek Oriented (OOAD)

Analisa Dan Desain Dengan Menggunakan Obyek Oriented (OOAD)

Analisa Dan Desain Dengan
Menggunakan Obyek Oriented
(OOAD)

Untuk mempelajari analisa dan desain dengan menggunakan objek orientasi (OOAD) kita harus mengerti dulu apa itu OOAD (Object Oriented Analysis and Design), inilah pengertian dari OOAD ?

Pengertian OOAD dari sumber yang saya ambil di  https://saiiamilla.wordpress.com/2010/06/04/ooad-object-oriented-analysis-dan-design/ yaitu:

OOAD adalah metode analisis yang memeriksa requirements dari sudut pandang kelas kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek system atau subsistem.

Konsep OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaitu analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD).

Ø  OOA adalah metode analisis yang memeriksa requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan. 

Ø  OOD adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.


Terdapat beberapa konsep dalam OOAD, yaitu :

Ø  Objek (object)

·         Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki keadaan sesaat yang disebut state.
·         State dari sebuah objek adalah kondisi dari objek atau himpunan keadaan yang menggambarkan objek tersebut. State dinyatakan dengan nilai dari atribut objeknya.
·         Atribut adalah nilai internal suatu objek yang mencerminkan karakteristik objek, kondisi sesaat, koneksi dengan objek lain dan identitas.
·         Behaviour (perilaku objek) mendefinisikan bagaimana sebuah objek bertindak dan memberi reaksi. Behaviour ditentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan oleh objek tersebut, yang dicerminkan oleh interface, service, dan method dari objek tersebut.
·         Interface adalah pintu untuk mengakses service dari objek
·         Service adalah fungsi yang dapat dikerjakan oleh sebuah objek
·         Method adalah mekanisme internal objek yang mencerminkan perilaku objek tersebut
Ø  Kelas (class)
Class adalah himpunan objek yang sejenis yaitu mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum. Class adalah abstraksi dari objek dalam dunia nyata. Class menetapkan spesifikasi perilaku dan atribut dari objek tersebut.
Ø  Kotak Hitam (black boxes)
Sebuah objek adalah kotak hitam. Konsep ini menjadi dasar implementasi objek. Dalam operasi OO hanya developer yang dapat memahami detail proses yang ada didalam kotak tersebut, sedangkan user tidak perlu mengetahui apa yang dilakukan yang penting mereka dapat menggunakan objek untuk memproses kebutuhan mereka. Kotak hitam berisi kode dan data.
·         Encapsulation, yaitu proses menyembunyikan detail implementasi sebuah objek. Untuk mengakses data objek tersebut adalah melalui interface. Untuk berkomunikasi dengan objek digunakan message.
·         Message adalah permintaan agar objek menerima untuk membawa metode yang ditunjukkan oleh perilaku dan mengembalikan result dari aksi tersebut kepada objek pengirim (sender)


Ø  Asosiasi dan Agregasi

·         Asosiasi adalah hubungan yang mempunyai makna antara sejumlah objek. Asosiasi digambarkan dengan sebuah garis penghubung diantara objeknya. Contohnya : Asosiasi karyawan dengan unit kerja. Setiap karyawan bekerja di satu unit kerja, sedangkan unit kerja dapat memiliki beberapa karyawan.
·         Agregasi adalah bentuk khusus sebuah asosiasi yang menggambarkan seluruh bagian pada suatu objek merupakan bagian dari objek yang lain. Contohnya : Kopling dan piston adalah bagian dari mesin, sedangkan mesin, roda, body merupakan bagian dari sebuah mobil.


*        Karakteritik Metodologi Berorientasi Objek

Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama dari sumber yang saya ambil dari https://peterdraw.wordpress.com/2011/10/30/konsep-ooad-object-oriented-analysis-design/
yaitu :
1. Encapsulation (Pengkapsulan)
·       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 (Pewarisan)
·     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)
·       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.

*      Teknik pemodelan yang ada pada OOAD

Ada beberapa Teknik Pemodelan yang ada pada OOAD Menurut sumber dari http://catatankuliahh.blogspot.co.id/2012/06/object-oriented-analysis-and-design.html yaitu :

Ø  Model Objek

1.   Model objek Menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya
2.   Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.

Ø  Model Dinamik
1.   Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat.
2.   Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem.
3.   Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event.

Ø  Model Fungsional
1.   Model fungsional menggambrakan transformasi nilai data di dalam sistem.
2.  Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data.


Referensi :