Dalam suatu proses pengembangan software, analisa dan rancangan telah merupakan terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegoisasikan, dapat dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk menyelesaikan masalah, salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented adalah UML.
Konsep Objek
Obyek
dalam ‘software analysis & design’
adalah sesuatu berupa konsep (concept),
benda (thing), dan sesuatu yang
membedakannya dengan lingkungannya. Secara sederhana obyek adalah mobil,
manusia, alarm dan lain-lainnya. Tapi
obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem
seperti tabel, database, event, system messages. Obyek
dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil
dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciri-ciri
ini yang akan membedakan obyek tersebut dari obyek lainnya.
Alasan
mengapa saat ini pendekatan dalam pengembangan software dengan object-oriented, pertama adalah scalability dimana obyek lebih mudah
dipakai untuk menggambarkan sistem yang besar dan komplek. Kedua dynamic modeling, adalah dapat dipakai
untuk permodelan sistem dinamis dan real
time.
Teknik
Dasar OOA/D (Object-Oriented
Analysis/Design)
Dalam
dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah
standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software
analyst & designer. Beberapa obyek akan diabaikan dan beberapa obyek
menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja
karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu
solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.
a. Pemodulan (Encapsulation)
Pada
dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan
menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi.
Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan
demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi
konsep information hiding.
b. Penurunan (Inheritance)
Obyek-obyek
memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa
buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka
seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian
obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil,
obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua
operasi yang berlaku pada mobil berlaku juga pada minibus.
c. Polymorphism
Pada
obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama,
namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada
minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari
obyek induknya. Hal ini yang disebut polymorphism,
teknik atau konsep dasar lainnya adalah ruang lingkup / pembatasan. Artinya
setiap obyek mempunyai ruang lingkup kelas, atribut, dan metoda yang
dibatasi.
Comments
Post a Comment