1. Sejarah Objct Oriented Analisi(OOA)
Object-oriented analysis (OOA) telah ada sejak 1988. orang yang telah memakai metode ini adalah Shlaer-Mellor, Jacobson, Coad-Yourdon, and Rumbaugh. Hasil sukses dalam penerapan metode ini dibuktikan di AT & T Bell Labs. AT & T Bell Labs menerapkan metode ini dalam project besar yang disebut Call Attempt Data Collection System (CADCS). Dari proyek tersebut didapat bahwa penggunaan metode ini mengurangi 8% dari total waktu untuk spesifikasi kebutuhan project dan pengurangan 30% staff effort.
Ada hubungan yang sangat erat antara Object-oriented analysis dan teknologi object oriented yang lain. Diantaranya yaitu Object-Oriented Database, Object-Oriented Design, and Object-Oriented Programming Languages. Dalam penerapannya semua metode itu digunakan secara keseluruhan dalam project disebut dengan metode object-oriented. Jika hanya melakukan analisis saja dengan metode object-oriented dan tidak diikuti dengan design dan programming dengan metode yang sama tentunya akan menambah kesulitan dalam pengambangannya. Dalam kenyataannya ketiga metode diatas tidak bisa dilepaskan satu sama lain. Karena memang untuk mendapatkan hasil yang maksimal dari metode object-oriented, ketiganya harus ada. Karakteristik dari object-orientedcteristics of
1. Abstraction and Classification: Pendefinisian sebuah class (object parent) yang memuat seluruh informasi dasar sebuah object meliputi semua informasi dasar calam object lain.
2. Encapsulation and Information Hiding: Bisa disebut pengkapsulan. Internal proses suatu object/class yang tidak diperlukan untuk diketahui detailnya. Focus pada fungsi yang telah di jalankan oleh masing-masing object.
3. Polymorphism and Inheritance: Kemampuan untuk membagi properties yang dimiliki dengan inheritance (penurunan object). Juga memungkinkan untuk menambah atau mengurangi properties yang didapat dari pewarisan sifat object.
ð Pendekatan analisa object-oriented:
1. Sistem / software dialokasikan menggunakan strategi formal, yaitu dengan memakai bahasa untuk mendeskripsikan. Strategi formal dapat dibuat dalam bentuk paragraph tunggal dengan tatabahasa yang benar.
2. Objek diberi garis bawah (kata benda, atau anak kalimat yang bersifat sebagai kata benda) dan kemudian dimasukkan ke dalam tabel. Sinonim dicatat. Jika objek diperlukan untuk mengimplementasikan status solusi, maka object tersebut merupakan bagian dari “solution space”. Jika objek hanya diperlukan untuk mendeskripsikan status solusi, maka objek tersebut merupakan bagian dari “problem space”.
3. Atribut dari objek diidentifikasi dengan menggarisbawahi semua kata sifat dan kemudian menghubungkannya dengan kata benda (objek) masing- masing.
4. Operasi ditetapkan dengan menggarisbawahi semua kata kerja, anak kalimat kata kerja dan predikat, serta menghubungkan setiap operasi dengan objek yang sesuai.
5. Attribut dari operasi diidentifikasikan dengan menggarisbawahi semua kata keterangan dan mengasosiasikan mereka dengan operasi ( kata kerja ) masing-masing.
ð Menejemen proyek perangkat lunak berorientasi objek:
Menejmen proyek perangkat lunak moderndapat dibagi kedalam aktivitas – aktivitas berikut:
1. Membangun kerangka kerja proses yang umum untuk proyek
2. Membangun kerangka kerja dan matrik historis unutk membangun usaha dan estimasi waktu
3. Menentukan produk kerja dan kejadian penting yang membuat kemajuan dapat di ukur
4. Memetukan checkpoint bagi jaminan kualitas dan kontrol
5. Mengatur perubahan yang terjadi pada saat proses berjalan
6. Menelusuri, memonotori, dan mengontrol kemajuan
2. Pengertian Dari Object Oriented Analysis(OOA)
a. 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 lainlainnya. 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.
ð Lima prinsip dasar untuk membangun model analisis
a. Domain Informasi dimodelkan
b. Fungsi modul digambarkan
c. Tingkah laku model direpresentasikan
d. Model di partisi untuk mengekpos detail yang lebih besar
e. Model awal mempresentasikan inti masalah sementara model selanjutnya memberikan detail implementasi
b. Pengertian OOA
Pada dasarnya kebanyakan metode analisis system memisahkan antara data dan proses. Walaupun SA dan IE telah melakukan usaha untuk menyelaraskan keduanya, namun usaha tersebut belum sepenuhnya berhasil. Analisis berbasis objek kemudian muncul dan digunakan untuk mengurangi batas pemisah abtara data dan proses. Seluruh data spesifik dan proses yang membuat, membaca, meng-update atau menghapus data-data tersebut diintegrasikan dan disebut dengan objek. Beberapa bahasa pemrograman yang berbasis objek ini antara lain adalah Visual Basic, C++, dan Powerbuilder.
Object-Oriented Analysis (OOA) adalah teknik pemodelan yang mengintegrasikan antara data dan proses kedalam suatu kesatuan yang disebut dengan objek. Model OOA berupa gambar yang mengilustrasikan objek system dari berbagai macam persepsi.
Selain itu OOA adalah Adalah suatu metode dalam pengembangan perangkat lunak berbasis object. Yang dimaksud dengan object bisa dipandang sebagai suatu item informasi atau representasi entitas di dunia nyata. Seperti contohnya dalam system reservasi penerbangan hal-hal yang bisa disebut sebagai object seperti pesawat, jalur penerbangan dll.
Dengan metode ini kita mempresentasikan sebuah permasalahan dalam dunia nyata kedalam object-object, khususnya dalam pegembangan perangkat lunak, agar dalam pelaksanaannya kita mendapatkan berbagai keuntungan dan kelebihan. Dari beberapa keuntungan dan kelebihannya, metode ini nantinya akan mendukung dalam konsep dibawah ini :
1. Maintainability , yaitu tingkat kemudahan dalam mengakomodasi perubahan- perubahan.
2. mengurangi kompleksitas dalam perarancangan design system.
3. Reusability , kemampuan untuk bisa digunakan kembali sehingga dapat menghemat waktu dan biaya.
Dengan adanya konsep tersebut membuat metode ini seirng digunakan pada masa sekarang. Kemampuannya untuk dapat digunakan kembali akan mendukung terciptanya suatu perangkat lunak yang lebih sempurna dari yang sebelumnya dikarenakan kekurangan dari perangkat lunak sebelumnya diperbaiki, dan kelebihannya tetpa dipertahankan. Jadi bisa muncul sebuah perangkat lunak baru dengan kemampuan yang selalu lebh dari pada sebelumnya.
Dengan semakin dikenalnya OOA, kemudian muncul Unified Modeling Language (UML) yang menyediakan sintaks grafik untuk membuat model berbassi objek.
c. Hubungan OOA dengan object oriented yang lain:
Ada hubungan yang sangat erat antara Object-oriented analysis dan teknologi object oriented yang lain. Diantaranya yaitu Object-Oriented Database, Object-Oriented Design, and Object-Oriented Programming Languages. Dalam penerapannya semua metode itu digunakan secara keseluruhan dalam project disebut dengan metode object-oriented. Jika hanya melakukan analisis saja dengan metode object-oriented dan tidak diikuti dengan design dan programming dengan metode yang sama tentunya akan menambah kesulitan dalam pengambangannya. Dalam kenyataannya ketiga metode diatas tidak bisa dilepaskan satu sama lain. Karena memang untuk mendapatkan hasil yang maksimal dari metode object-oriented, ketiganya harus ada.
d. Teknik dasar OOA:
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, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.
1. 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.
2. 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.
3. 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.
3. Tujuan OOA
Tujuan dari OOA adalah menentukan semua kelas(dan hubungan serta tingkah laku yang berkaitan dengannya) yang relevan dengan masalah yang akan dipecahkan.
Untuk itu perlu melakukan sejumlah tugas yaitu:
a. Persyaratan pemakaian dasar harus di komunikasikan diantara pelanggan dan perekayasa perangkat lunak.
b. Kelas – kelas harus diidentifikasi(misalnya: atribut dan metode yang ditentukan)
c. Hirarki kelas harus didpesifikasikan.
d. Hubungan objek - ke - objek(koneksi objek) harus direpresentasikan.
e. Tingkah laku objek dimodelkan.
f. Tugas 1 sampai 5 diaplikasikan lagi secara sampai model selesai.
Selain menguji suatu dengan masalah dengan menggunakan model input-proses-onput yang klasik(aliran informasi) atau model yang ditarik secara eksekutifdari struktur informasi) atau model yang tertarik secara eksklusif dari struktur infromasi hiraskis. OOA memperkenalkansejumlah konsep baru menurut Coad dan Yourdon yang menyinggung masalah ini dengan mengatakan:
“ OOA didasarkan pada konsep yang pertama kali kita pelajari di taman kanak – kanak. objek, atribut dan anggota. Keseluruhan dan bagian. Mengapa diperlukan waktu yang panjang unutk mengaplikasikan konsep –konsep ini ke analisis dan spesifikasi sistem informasi merupakan teka –teki bagi setiap orang – mungkin kita terlalu sibuk “mengikuti aliran” selama masa emas analisis terstruktur untuk mempertimbangkan alternatif – alternatif tersebut.”
4. Sasaran OOA
Sasaran OOA adalah mengembangkan sederetan model yang menggambarkan perangkat lunak komputer pada saat komputer itu bekerja unutk memenuhi serangkaian persyaratan yang ditentukan oleh pelanggan. OOA membangun metode multibagian untuk memenuhi sasaran tersebut.
5. Pengujian model OOA
a. Kebenaran dari model OOA
Kebenaran dari sintaks :
Penggunaan simbol dan aturan pemodelan yang tepat
Kebenaran dari sematik:
1. Model yang mewakili dunia nyata, dibutuhkan seorang ahli dalam domain persoalan.
2. Hubungan antar kelas
b. Kekonsistenan dari model OOA
1. hubungan antar entitas dalam model
2. dapat digunakan model CRC dan object-relationship diagram
6. Proses Analisis Domain:
input dan output unutk analisis domain
a. menurut Firesmith mengambarkan analisis domain perangkat lunak dengan cara sebagai berikut:
analisis domain perangkat lunak adalah identifikasi, analisis, dan spesifikasi dari persyaratan umum suatu domain aplikasi spesifik.
b. Akativitas - aktivitas dalam proses analisis domain:
1. Tentukan domain yang diselidiki
2. Kategorikan item yang di ekstrak dari domain tersebut.
3. Kumpulkan sempel representatif dari aplikasi di dalam domain tersebut
4. Analisis masing –masing aplikasi pada sempel tersebut
5. Kembangkan model a analis unutk objek tersebut.
7. Kesimpulan
Dari keseluruhan penjelasan diatas dapat ditarik beberapa kesimpulan diantaranya:
a. Metode analysis object-oriented memiliki beberapa kelebihan diantaranya dalam maintainability dan reuseability.
b. Membutuhkan pelengkap metode object-oriented yang lain jika digunakan dalam pengerjaan suatu project seperti object-oriented design dan object- oriented design programming, untuk mendapatkan hasil yang maksimal jika menggunakan metode ini.