Definisi OOAD Aktivitas Utama dalam OOAD

16 Davis NL, Willis CE in the United States are administered by the American Medical Association AMA and the American Academy of Family Physicians AAFP Credit sistems for allopathic physicians 2004 17 Iljas A Perbankan Syariah Pembiayaan bagi hasil 2004 18 Aniza R, Sharif M, Rahim A, Rahman A Institusi Keuangan Malaysia Pembiayaan Ijarah 2003 19 Habib A Islamic Microfinance Institutions Financing Microenterprises 2002 20 Rosly SA, Sanusi M, Yasin N Perbankan Syariah Pembiayaan Bai bitSaman Ajil` 2000 21 Okonjo K Nigerian Rural womens credit sistems 1979

2.6 OOAD Object Oriented Analisys and Design

2.6.1 Definisi OOAD

Object Oriented Analysis adalah metode analisa yang memeriksa requirement syaratkeperluan yang harus dipenuhi suatu sistem dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup permasalahan. Sedangkan Object Oriented Design adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem Suhendar Gunadi, 2002. Analysis dan design objects mendeskripsikan dengan jelas dua hal yang berbeda. Analysis objects mendeskripsikan gejala di luar sistem, seperti orang- orang dan hal-hal, yaitu seuatu yang berdiri sendiri. Design objects mendeskripsikan gejala pada sistem yang dapat kita kontrol. Kita mendeskripsikan perilaku mereka seperti pengoperasian komputer Mathiassen et al. 2000.

2.6.2 Konsep Dasar dalam OOAD

2.6.2.1 Objek

Objek baik yang konkret maupun konseptual selalu ada di sekeliling kita. Sebuah objek memiliki keadaan sesaat state dan perilaku behavior. State sebuah objek tersebut yang dinyatakan dalam attributeproperties. Sedangkan perilaku suatu objek mendefinisikan bagaimana sebuah objek bertindakberaksi dan memberikan reaksi. Perilaku sebuah objek dinyatakan dalam operation. Menurut Schmuller, attribute dan operation bila disatukan akan memberikan fiturfeatures. Himpunan objek-objek yang sejenis disebut class. Objek adalah contohinstance dari sebuah class. Aspek-Aspek yang berkaitan dengan objek antara lain Munawar, 2005: a. Abstraksi Abstraksi bertujuan untuk memfilter properties dan operation pada suatu objek, sehingga hanya tinggal properties dan operation yang dibutuhkan saja. Seringkali masalah yang berbeda membutuhkan sejumlah informasi yang berbeda pula pada areal yang sama. b. Inheritance Seperti yang telah diuraikan, objek adalah contohinstance dari sebuah class. Hal ini mempunyai konsekuensi yang penting yaitu sebagai instance sebuah class, sebuah objek mempunyai semua karakterisktik dari classnya. Inilah yang disebut dengan inheritance pewarisan sifat. Dengan demikian apapun attribute dan operation dari class akan dimiliki pula oleh semua objek yang di inheritditurunkan dari class tersebut. Sifat ini tidak hanya berlaku untuk objek terhadap class tetapi juga berlaku untuk class terhadap class lainnya. c. Polimorphisme Polimorphisme adalah konsep yang sangat handal bagi pengembangan perangkat lunak untuk pemisahan secara jelas di antara sub sistem yang berbeda. Dengan demikian sebuah sistem akan bisa dimodifikasi secara mudah karena hanya dibutuhkan interface antar class. d. Encapsulation Encapsulation sering disebut dengan penyembunyian informasi information hiding. Konsep ini lebih didasari pada fakta yang ada di dunia nyata bahwa tidak semua hal perlu diperlihatkan. e. Association Association assosiasi adalah hubungan antar objek yang saling membutuhkan. Hubungan ini bisa satu arah ataupun lebih dari satu arah. f. Aggregation Aggregation agregasi adalah bentuk khusus dan asosiasi yang menggambarkan seluruh bagian suatu objek merupakan bagian dari objek yang lain.

2.6.3 Aktivitas Utama dalam OOAD

Aktifitas utama dalam OOAD ialah sebagai berikut Booch et al. 2007: 1. Inception Pada tahapan awal ini ialah membangun dan memprioritaskan kebutuhan- kebutuhan sistem, membuat sebuah kesepakatan dengan user mengenai apa yang akan dibangun, secara pasti dapat mengetahui kendala yang terjadi dan memastikan lingkup lingkungan pembangunan sistem yang akan dibangun. 2. Elaboration Pada tahapan ini akan dibangun rancangan sistem yang akan dibuat. Seluruh kebutuhan user digambarkan melalui desain diagram. 3. Construction Pada tahapan ini merupakan tahapan pembangunan atau pembuatan coding dan pengujian sistem. 4. Transition Pada tahapan ini sistem telah selesai dibuat akan siap diberikan kepada end user. Pada tahapan ini juga akan digambarkan arsitektur perangkat-perangkat yang digunakan. Aktifitas dalam OOAD digambarkan pada Gambar 2.3. Gambar 2.3 Aktivitas OOAD Booch et al. 2007 Proses dalam OOAD terdapat dua, yaitu Booch et al. 2007: 1. Macro Prosess Dalam proses makro meliputi beberapa tahapan dan akan digambarkan pada Gambar 2.4, yaitu: a. Requirements Pada tahapan ini dijelaskan mengenai membuat dan menjaga hubungan baik dengan pelanggan dan stakeholder atau pihak-pihak lain yang berkaitan dengan sistem yang akan dibuat. Serta mendefiniskan dan menjelaskan batasan dari sistem yang akan dibuat. b. Analysis and design Tahapan ini mentransformasikan kebutuhan ke dalam sebuah perancangan sistem yang menyediakan sebuah spesifikasi dari implementasi di lingkungan yang dipilih untuk di implementasikan. Ini meliputi meningkatkan satu arsitektur yang kokoh untuk sistem dan mendirikan mekanisme umum yang harus dipergunakan oleh elemen yang berbeda dari sistem. c. Implementation Pada tahapan ini dilakukan penerapan, tes unit, integrasi desain, menghasilkan sistem executable. d. Test Pada tahapan test dilakukan uji implementasi untuk memastikan bahwa sistem yang dibuat telah memenuhi kebutuhan yaitu kebutuhan telah diterapkan sewajarnya. e. Deployment Di tahapan ini dipastikan bahwa produk perangkat lunak meliputi uji implementasi telah tersedia untuk end user. Disiplin berikut dilaksanakan sepanjang lifecycle: a. Project Management Mengatur projek pembangunan software, meliputi planning perencanaan, staffing susunan kepegawaian dan monitoring the project memonitor proyek, seperti halnya mengatur risiko. b. Configuration and Change Management Identifikasi konfigurasi data, mengontrol perubahan data-data dan mengatur konfigurasi dari data. c. Enviroment Menyediakan lingkungan pengembangan software, termasuk atara kedua proses dan alat untuk mendukung team pengembang. Gambar 2. 4 Proses Makro Booch et al. 2007 2. Micro Prosess Pada proses mikro ini, meliputi proses analysis and design proses mikro dengan melihat aktivitas apa yang dilaksanakan dan mengerjakan produk apa yang dihasilkan. Proses mikro merupakan bagian dari proses makro seperti yang terdapat pada Gambar 2.5. Gambar 2.5 Proses Mikro Booch et al. 2007 Pada analisis terfokus pasa behavior perilaku bukan form bentuk. Dalam analisis mencari model dunia dengan mengidentifikasi unsur-unsur yang membentuk kosakata yang berasal dari problem domain dan mendeskripsikan roles, responsibilities, and collaborations. Sedangkan pada desain diciptakan unsur-unsur yang menyediakan behavior dari unsur analisis yang diperlukan. Produk utama dari proses mikro adalah: 1. The architecture description, menjelaskan arsitektur sistem, termasuk deskripsi mekanisme umum. Uraian tersebut meliputi arsitektural aspek penting dari analisisdesain model. 2. The analysisdesign model, mencakup analisis dan elemen desain solusi perangkat lunak dan organisasi mereka, serta realisasi yang menjelaskan bagaimana kebutuhan perilaku sistem yang diwujudkan dalam hal elemen-elemen. Di dalam proses mikro terdiri dari 4 aktifitas seperti yang tergambar pada Gambar 2.6. Aktivitas yang terdapat pada proses mikro ialah: 1. Identify the elements Menemukan elemen-elemen yang akan dikerjakan. 2. Define the collaborations between the elements Mendeskripsikan bagaimana mengidentifikasi kerjasama antara elemen untuk menyediakan kebutuhan tingkah laku sistem. 3. Define the relationships between the element Mendefinisikan hubungan antar elemen untuk mendukung kerjasama antar elemen. 4. Define the semantics of the elements Membangun behavior dan attributes dari pengidentifikasian elemen. Menyiapkan elemen untuk level abstraksi selanjutnya. Gambar 2.6 Aktifitas Proses Mikro Booch et al. 2007

2.7 UML Unified Modeling Language

2.7.1 Definisi UML

Unified Modeling Language UML adalah sebuah bahasa untuk menentukan, visualisasi, konstruksi dan mendokumentasikan artifacts dari sistem software, untuk memodelkan bisnis dan sistem nonsoftware lainnya Suhendar Gunadi, 2002. Artifact itu sendiri adalah sepotong informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa software. Artifact dapat berupa model, deskripsi, atau software.