• Tidak ada hasil yang ditemukan

Problem Domain Analysis

Dalam dokumen BAB II LANDASAN TEORI (Halaman 27-33)

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)

Dalam dokumen BAB II LANDASAN TEORI (Halaman 27-33)

Dokumen terkait