2.3. Pengertian Metode Analisis dan Desain Berorientasi Objek 1. Pengertian Object dan Class
2.3.4. Kriteria FACTOR
2.3.5.1 Problem Domain Analysis
Mengacu pada Mathiassen et al (2000) problem domain adalah bagian dari konteks yang diatur, di monitor, atau dikendalikan oleh sistem. AnalisiS problem-domain memfokuskan pada informasi apa yang harus ditangani oleh sistem dan menghasilkan sebuah model yang merupakan gambaran dari kelas – kelas, objek – objek, struktur dan perilaku (behavior) yang ada dalam problem domain.
2.3.5.1.1 Class
Mengacu pada Mathiassen et al. (2000, p49-65) kegiatan kelas merupakan kegiatan pertama dalam analisis problem domain. Ada beberapa tugas utama dalam kegiatan ini yaitu : abstraksi fenomena dari problem domain dalam objek dan event; klasifikasi objek dan event; pemilihan kelas-kelas dan event-event yang akan dipelihara informasinya oleh sistem.
• Klasifikasi Object dan Event.
Object adalah sebuah entity dengan identitas, state dan behavior. Event adalah kejadian yang meliputi satu atau lebih
object. Class: deskripsi dari kumpulan object yang termasuk
36 • Menemukan Class.
Pemilihan kelas dilakukan pada saat awal dan bertujuan untuk mendefinisikan dan membatasi problem domain. Class biasanya merupakan kata benda dan bermakna tunggal.
Kegiatan kelas akan menghasilkan tabel event. Dimensi horizontal dari tabel event berisi kelas-kelas yang terpilih, sementara dimensi vertikal berisi event-event terpilih dan tanda cek digunakan untuk mengindikasikan objek-objek dari kelas yang berhubungan dalam event tertentu.
Tabel event dapat dilihat pada tabel berikut ini.
Tabel 2.2 Contoh Tabel Event (Sumber Mathiassen et al, 2000, p50) Class Event
Customer Assistant Apprentice Appointment Plan
Reserved V V V V Cancelled V V V Treated V V Employed V V Resigned V V Graduated V Agreed V V V
37 • Menemukan Event.
Pemilihan kumpulan event yang dialami atau dilakukan oleh satu atau lebih objek bertujuan untuk membedakan tiap-tiap kelas dalam problem domain. Event merupakan kata kerja dan mengindikasikan kejadian tunggal.
• Evaluasi sistem.
Pada bagian ini dilakukan evaluasi criteria dari class dan event yang sudah ditemukan.
2.3.5.1.2 Structure
Menurut Mathiassen et al. (2000), structure merupakan kegiatan kedua dalam problem domain. Tujuan dari structure adalah untuk mencari hubungan structural antara kelas-kelas dan objek-objek dalam problem domain (p.69)
Hasil dari kegiatan structure adalah membuat class
diagram. Menurut Mathiassen et al. (2000), Class diagram
menggambarkan kumpulan dari kelas-kelas dan merupakan hubungan yang terstruktur (p.336)
Menurut Mathiassen et al. (2000), tipe dari Object Oriented
Structure terdiri dari dua bagian, yaitu:
1. Class Structure, mengekspersikan hubungan konseptual yang statis antar class.
38
Class Structure dibagi menjadi dua bagian yang meliputi :
a) Generalization: sebuah kelas umum (super class) yang menjelaskan property pada suatu kelompok kelas khusus (subclasses). Hubungan dalam generalization dapat dikatakan sebagai hubungan “is - a”, yang berarti subclass akan mempunyai attribute dan operation yang sama dengan superclass (p.73)
b) Cluster : sebuah kumpulan dari kelas-kelas yang saling berhubungan. Cluster digambarkan dengan notasi file
folder yang didalamnya terdapat kumpulan class yang
berkaitan. Class-class dalam cluster yang sama
dihubungkan dengan hubungan generalization ataupun
aggregation, sedangkan class-class yang ada pada cluster
yang berbeda dihubungkan dengan hubungan association. (p.74)
2. Object Structure, yang meliputi :
a) Aggregation : objek superior (keseluruhan) yang terdiri dari sejumlah objek inferior (sebagian). Hubungan
aggregation dirumuskan sebagai hubungan “has-a” atau
39
b) Association : hubungan yang penting antara sejumlah objek-objek. Hubungan association digambarkan sebagai garis yang menghubungkan class-class yang relevan. (p.77) Perbedaan antara association dengan aggregation adalah :
• Hubungan antar class pada aggregation mempunyai hubungan yang kuat sedangkan association tidak.
• Aggregation structure melukiskan hubungan yang defensive dan fundamental, sedangkan association structure melukiskan hubungan yang tidak tetap.
Terdapat 2 jenis struktur antar kelas yaitu generalisasi dan cluster. Generalisasi adalah hubungan antara dua atau lebih kelas yang lebih khusus (sub kelas) dengan sebuah kelas yang lebih umum (super kelas). Dimana hubungan spesialisasi tersebut dinyatakan dengan rumus “is-a”.
Cluster adalah kumpulan kelas yang saling berhubungan
yang membantu memperoleh dan menyediakan ringkasan
problem-domain. Sebagai contoh : cluster “mobil” berisi semua kelas yang
berhubungan dengan jenis kelas dan komponen-komponennya. Terdapat dua jenis hubungan antar objek yaitu : agregasi dan asosiasi. Agregasi adalah hubungan antara sejumlah objek inferior yang merupakan bagian (the parts) dari sebuah objek superior yang merupakan dasar (the whole) bagi beberapa objek inferior tersebut dimana hubungan tersebut dapat dirumuskan dengan
40
“has-a”. asosiasi adalah hubungan antara sejumlah objek yang
memiliki arti dimana objek-objek yang saling berhubungan tersebut tidak merupakan bagian dari objek yang lainnya.
Hasil dari kegiatan struktur ini adalah class diagram. Class diagram menghasilkan ringkasan model problem-domain yang jelas dengan menggambarakan semua struktur hubungan static antar kelas dan objek yang ada dalam model dari sistem yang berubah-ubah.
2.3.5.1.3 Behavior
Menurut Mathiassen et al. (2000), kegiatan ketiga dalam
problem domain adalah kegiatan behavior. Behavior bertujuan
untuk membuat model yang dinamis dari problem domain. Hasil dari kegiatan behavior adalah membuat statechart diagaram seperti pada Gambar di bawah ini. Behavior pattern mendeskripsikan kemungkinan jejak event dari semua objek di dalam kelas (p.90).
41
Gambar 2.1 Contoh Statechart Diagram
Perilaku dari suatu objek ditentukan oleh urutan
event-event (event-event trace) yang harus dilewati oleh objek tertentu
sepanjang waktu. Seperti contoh di atas, kelas “pelanggan” harus melewati event trace: account opened – amount deposited –
amount withdrawn – amount deposited – account closed sepanjang
masa hidupnya.
Menurut Mathiassen et al. (2000) ada tiga jenis notasi untuk behavior pattern, yaitu :
1. Sequence : sekumpulan event muncul satu persatu
2. Selection :terjadi pemilihan satu event dari sekumpulan event yang muncul
3. Iteration : sebuah event muncul sebanyak nol atau beberapa kali (p.93)