Analisis & Perancangan Berorientasi Objek

1.      Pengertian
OOSAD (Object Oriented System Analysis and Design) merupakan paradigma analisa dan perancangan sistem yang titik perhatiannya adalah penggambaran struktur dan tingkah laku sistem informasi yang meliputi data dan process. Secara statis struktur data dan process akan menunjukkan hubungan antar bagian dari sistem, sedangkan secara dinamis menunjukkan bagaimana bagian-bagian sistem tersebut akan berinteraksi antara satu dengan lainnya. Untuk penggambaran tersebut diperlukan pemahaman dasar dari class, object, method, message, encapsulation, information hiding, inheritance, polymorphism, dan dynamic binding.

1.1. Class dan Object
CLASS adalah template/cetakan yang digunakan untuk mendefinisikan suatu instance/contoh kejadian yang disebut object. Object adalah contoh kejadian dari class. setiap object pasti akan berasosiasi tepat dengan satu class.
Setiap object memiliki attributes yang berisikan informasi mengenai object tersebut. State dari sebuah object ditentukan oleh nilai dari attributes dan relationshipnya pada suatu waktu tertentu.
Setiap object juga memiliki behaviour yang menspesifikasikan apa yang bisan dilakukan sebuah object.

1.2. Methods dan Messages
Method merupakan implementasi dari behaviour(kelakukan) sebuah object. Method adalan sebuah action(tindakan) yang dapat dilakukan oleh object. Method dapat dianalogikan dengan fungsi sebagaimana terdapat didalam bahasa C. Message merupakan informasi yang dikirimkan ke Object yang akan menjadi pemicu dari dilakukannya sebuah tindakan.

1.3. Encapsulation dan Information Hiding
Pemikiran mengenai encapsulation dan Information hiding sudah ada sejak jaman
dahulu kala. Encapsulation adalah kombinasi dari proses dan data yang diletakkan didalam sebuah class. Didalam OOSAD yang dimaksudkan dengan
Encapsulation adalah meletakkan attribute dan behaviour kedalam sebuah object yang
dispesifikasikan didalam class. didalam notasi yang digunakan UML 2.0 attribute diletakkan pada bagian atas sedangkan behaviour diletakkan pada bagian bawah dari kotak. Information hiding adalah sebuah cara berpikir dimana informasi yang diperlukan oleh penggunalah yang akan ditampilkan sedangkan yang tidak diperlukan tidak usah ditampilkan/diberikan. Konsekuensinya yang dapat diakses adalah bagian dari object yang digunakan untuk menerima perintah dan memberikan informasi kepada pengguna object tersebut. Sehingga object diperlakukan seperti sebuah kotak hitam.

1.4.Inheritance
Inheritance atau pewarisan digunakan untuk mengidentifikasi object/class yang memiliki tingkat yang lebih tinggi dan lebih general. Atributes dan methods yang sama dikelompokkan menjadi sebuah superclass. Biasanya superclass diletakkan diatas dan turunannya diletakkan dibawah. Hubungan inheritance yang terjadi adalah A KIND OF. Subclass akan mewarisi attributes dan methods dari class yang berada diatasnya. Artinya subclass berisi attributes dan methods dari superclass yang berada diatasnya. Class yang berada didalam rantai hierarchy pasti akan ada yang memiliki instance/contoh kejadian. Class yang memiliki contoh kejadian disebut concrete class. Ada juga class yang menjadi superclass yang menjadi template bagi sebagian dari class yang berada dibawahnya. Class tersebut merupakan abstract class.

1.5.Polymorphism dan Dynamic Binding
Polymorphism artinya message yang sama diinterpretasikan/memiliki arti/bentuk yang berbeda. Sebagai contoh jika kita beri perintah draw kepada object segi empat, segi tiga, dan lingkaran akan menjalankan perintah yang berbeda. Dibawah ini adalah contoh polymorphism :
int kali(int a, int b);
int kali(int a, int b, int c);
maka fungsi mana yang akan dijalankan tergantung kepada argumen yang disertakan. Polymorphism dapat terlaksanya karena adanya dynamic binding. Dynamic, atau, late binding adalah teknik/cara penundaan penentuan jenis object sampai pada saat run-time. Artinya method mana yang akan dijalankan ditunda sampai system/program berjalan. Kontrasnya adalah static binding dimana setiap methods sudah ditentukan pada saat kompilasi.

2.      UML v.2
UML (Unified Modeling Language) versi 2 mendefinisikan sehimpunan notasi yang terdiri dari 14 technique pembuatan diagram yang digunakan untuk memodelkan sistem. Diagram dikelompokkan menjadi 2 yaitu :
a. Structure Modelling Diagram yang digunakan untuk memodelkan struktur sistem.
b. Behaviour Modelling Diagram yang digunakan memodelkan tingkah laku sistem.

2.1. Structure Diagram
Structure diagram menggambarkan cara untuk merepresentasikan hubungan static dan data yang terdapat didalam sistem informasi. Adapun diagram yang digunakan adalah:
1. Class : relationship between classes
2. Object : Relationships between objects
3. Package : Group UML elements together to form higher level constructs
4. Deployment : Shows the physical architecture and software components of system
5. Component : Physical relationships among software components
6. Composite Structure : Illustrates internal structure of a class

2.2. Behaviour Diagram
Behaviour diagram menggambarkan aspek dinamis dari sistem, yaitu bagaimana bekerjanya sistem. Adapun diagram yang digunakan adalah :
a. Activity : Illustrates business workflows.
b. Sequence : Time-based ordering Behavior of objects activities in a use case.
c. Communication : Communication among a set of collaborating objects of an activity.
d. Interaction Overview : Overview of flow of control of a process
e. Timing Diagram : Portray the interaction between objects along a time axis.
f. Behavioral State Machine : Examines behavior of one class.
g. Protocol State Machine : Shows dependencies of different interfaces of a class
h. Use-Case : Captures business requirements and Illustrates interaction between system and environment

2.3. Extension Mechanism
Extension Mechanism memungkinkan perluasan model yang digunakan, karena boleh jadi model didalam suatu aktifitas OOSAD ada notasi lain yang diperlukan. Penambahan notasi disebut extension mechanism :
a. Stereotypes : Gives ability to incrementally extend UML
b. Tagged Values : Add new properties to base elements
c. Constraints : Place restrictions on use of model elements
d. Profiles : Group model elements into a package

3.      Object Oriented Systems Analysis and Design
Pendekatan OO dapat menggunakan methodology apapun, termasuk yang terstruktur, tetapi umumnya lebih berhubungan dengan methodology yang bersifat RAD. Yang harus diperhatikan didalam OOSAD adalah pemodelan dunia nyata berarti memodelkan : DATA DAN PROSES yang susah dipisahkan. UML bersifat use-case drive, architecture-centric, iterative dan incremental.

3.1. Use-Case Drive
Perangkat pemodelan utamanya adalah Use Case yang digunakan untuk menjelaskan tingkah laku dari sistem

3.2. Architecture Centric
Architecture software yang akan dibuat haruslah mengikuti dan menghasilkan standard yang meliputi spesifikasi, construction, dan documentation.

3.3. Itterative dan Incremental
Pengembangan dilakukan secara itterative dan incremental. Dimana setiap pengulangan akan mendekatkan produk ke spesifikasi dari pengguna akhir.

3.4. Unified Process
Unified process mengunakan methodolgy yang secara khusus memetakan bagaimana
menggunakan perangkat methodoly yang dimiliki oleh UML. Jika UML memiliki struktur untuk menjelaskan hubungan struktural dan behaviour dari sebuah sistem informasi. RUPS menyediakan dukungan methodology penggunaan notasi UML.
Unified processadalah proses pengembangan sistem yang dijelaskan melalui tahapan-tahapan dan workflows. Tahapannya (Phases) adalah :
1. Inception. Merupakan tahapan perencanaan. Business Case dibuat dalam tahapan ini.
2. Elaboration. Mrupakan tahapan dimana dilakukan analisa dan perancangan sistem
secara mendalam. Pada tahapan ini dilakukan pembelajaran mengenai bagaimana
sistem yang akan dibuat. vision document, penyelesaian business case, revisi penilaian resiko, dan menyelesaikan project plan secara terinci agar pihak-pihak yang
berkepentingan dapat setuju dengan pembuatan sistem yang final. Deliverablesnya
meliputi notasi-notasi struktur dan behaviour, executable of baseline version. Baseline
harus ditetapkan dengan baik pada tahapn ini karena merupakan dasar bagi pekerjaan
lanjutan untuk membuat sistem yang jadi.
3. Construction. Tahapan ini terfokus pada pemrogram dan pekerjaan teknis untuk
membuat sistem. Berarti merupakan implemention workflows. Disamping itu
requirement, analysis, dan design workflows juga dilibatkan dalam tahapan ini. Version
control dari configuration and change management, menjadi sangat penting dalam
tahapan ini. Deliverables yang utama adalah versi alpha maupun beta dari sistem yang
dibuat.
4. Transition. Tahapan ini merupakan pemasangan dari sistem yang sudah jadi berarti
deliverablesnya adalah sistem yang sudah jadi, berikut dokumentasi-dokumentasi
pendukungtermasuk didalamnya manuals, support plan, dan upgrading plan.

Sedangkan workflowsnya meliputi :
1. Business modelling digunakan untuk menemukan permasalahan dan dapat
mengidentifikasi projects yang mungkin dikerjakan dalam organisasi.
2. Requirements digunakan untuk melakukan elisitasi kebutuhab baik secara fungsional dan nonfungsional.
3. Analysis merupakan pekerjaan yang meliputi analisis dari problem/business domain.
4. Design meupakan pekerjaan yang mentransformasikan analysis model kedalam bentuk yang daat digunakan untuk implementasi sistem yaitu : design model. Design model merupakan peningkatan yang lebih terinci dari analysis model dengan penambahan classes/object dan model-model lain yang akan digunakan untuk pembuatan sistem yang nantinya akan dibangun.
5. Implementation merupakan pekerjaan pembangunan sistem. Aktifitas yang dilakukan, sebagai contoh, adalah pemrograman.
6. Test atau pengujian bertujuan agar produk yang dibuat memenuhi kriteria kualitas yang telah ditentukan untuk sistem yang dibuat.
7. Deployment. Bagian ini berhubungan dengan tahapan transisi pada RUP. Aktifitasnya meliputi packaging, distribution , beta testing, dan pada akhirnya adalah sistem yang telah jadi.
8. Project management. Merupakan cross-phase flow. Contoh dari aktifitas yang dilakukan dalam tahap ini adalah : risk identification & management, scope management, time estimation, cost estimation, dan tracking progress.
9. Configuration and change management bertujuan untuk menjejaki sampai sejauh mana sistem yang sekarang sedang dibuat.
10. Environment. Dalam pengembangan sistem sudah tentu bermacam-macam perangkat digunakan. Environmental workflows adalah kelompok perkerjaan yang berhubungan dengan penyediaan perangkat untuk pembuatan sistem.
Tahapan-tahapan dialam RUP membantu analis dalam mengembangkan sistem
informasi secara itterative dan incremental. Tahapan-tahapan tersebut menjelaskan
bagaimana sistem informasi berevolosi. Tergantung kepada tahapan yang mana,
tingkat aktivitas dalam setiap workflows akan bervariasi.

Daftar Pusaka :
Satzinger, Jackson, Burd, Object-Oriented Analysis and Design with the Unified Process, Course Technology, 2005

Alan Denis, Barbara Haley Wixon, David Tagerden, System Analys and Design : an Object –Oriented Approach with UML 2.0, John Willey and Sons, 2005

fasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Modul-Analisa-Berorientasi-Objek.pdf

dinus.ac.id/repository/docs/ajar/OOAD__Pengenalan_Analisis_Berorientasi_Objek.pdf

eprints.upnjatim.ac.id/4267/1/file_1.pdf

Komentar

Postingan Populer