• Tidak ada hasil yang ditemukan

Mengacu pada Mathiassen et al. (2000), problem domain adalah bagian dari konteks yang diatur, dimonitor, atau dikendalikan oleh sistem. Analisis problem-domain memfokuskan pada informasi yang harus ditangani oleh sistem dan menghasilkan sebuah model yang merupakan gambaran dari kelas-kelas, objek-objek, struktur dan perilaku dalam problem domain.

Aktivitas dalam problem domain meliputi: Classes, Structure, dan Behaviour. Tujuan dari Problem Domain Analysis adalah mengidentifikasikan dan memodelkan problem domain.

Gambar 2.2 Aktivitas Dalam Problem Domain

Tabel 2.1 Kerangka Analisis Problem Domain

Kegiatan Isi Konsep

Class

Objek dan event yang mana merupakan bagian dari problem domain?

Class, objek, event

Structure

Bagaimana classdan objek saling terkait satu sama lain secara konseptual?

Generalisasi, agregasi, asosiasi, dan cluster

Behaviour Properti dinamik mana yang dimiliki oleh objek?

Event trace, behavioural pattern, dan atribut

2.4.7.1 Class

Class adalah “a description of collection of objects sharing structure, behavioural pattern, and attributes.”

Mengacu pada Mathiassen et al. (2000), 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 kegiatan;

klasifikasi objek dan event; pemilihan kelas-kelas dan event-event yang akan dipelihara informasinya oleh sistem.

Tujuan dari mendefinisikan class adalah untuk mencari elemen dari sebuah problem domain, yaitu objects, classes, dan events.

1. Object: suatu entitas yang mempunyai identitas, state dan behavior . Dalam problem-domain analysis, sebuah object adalah abstraksi dari fenomena yang ada dalam problem-domain tersebut. Object diberi karakter melalui event-nya.

2. Class: objek yang berbagi structure, behavior pattern, dan atribut. Dalam menentukan class, terlebih dahulu dicari kandidat untuk class. Candidate class dapat diperoleh dari kata benda dalam keterangan atau pembicaran, daftar dari tipe objek, cari persamaan dengan sistem komputer, atau literatur teknis di dalam problem domain. Penamaan class harus sederhana, mudah dibaca, tepat, tidak membingungkan seperti yang digunakan di problem domain.

Hasil dari tahap ini berupa sebuah event table dengan class-class dan event-event yang terkait.

3. Event: insiden yang terjadi seketika yang melibatkan satu atau lebih object. Event candidates dapat diperoleh dari kata kerja di dalam penjelasan atau wawancara dengan user.

Dalam membuat event candidates, sebaiknya memilih kata-kata sederhana dan mudah dibaca, ada di dalam problem-domain, dan memperlihatkan sebuah event tunggal. Semua kata-kata tersebut lalu dievaluasi berdasarkan kriteria apakah event tersebut instan, atomic, dan dapat diidentifikasi dengan jelas ketika terjadi.

Kegiatan class akan menghasilkan sebuah Event Tabel.

Seperti yang terlihat pada tabel dibawah ini, merupakan contohnya, dimana dimensi horizontal berisi class-class yang terpilih, dimensi vertikal berisi event-event terpilih. Sebuah tanda cek digunakan untuk mengindikasikan objek-objek dari class yang berhubungan dalam event tertentu.

Tabel 2.2 Contoh Event Table

Event Class

Customer Assistant Apprentice Appointment Plan

Reserved √ √ √ √

Pada gambar di bawah ini menjelaskan mengenai subactivity dari class. Dimulai dengan mengidentifikasi, objek, dan kemudian melakukan abstraksi dan klasifikasi, mengembangkan susunan class yang relevan dan potensial untuk model problem domain. Dalam aktivitas secara paralel, di identifikasi dan dikembangkan serupa dengan beberapa event.

Kemudian secara sistematik dievaluasi banyak kandidat dan memilih beberapa class dan event yang relatif meliputi model problem domain. Pada akhirnya, menaruh event ke class.

Eval uat e and sel eect syst emat i cal l y

Fi nd candi dat es f or event s Fi nd Candi dat es

f or cl asses

Event Tabl e

Event Tabl e

Gambar 2.3 Subactivity Dalam Pemilihan Class Dan Event Problem Domain

2.4.7.2 Structure

Structure adalah hubungan antara classes dan objects.

Tujuan dari structure adalah untuk menggambarkan hubungan yang struktural antara class dan obyek di dalam sebuah problem domain. Hasil dari structure adalah sebuah class diagram dengan class dan structure. Class diagram adalah diagram yang

menggambarkan kumpulan dari classes dan hubungan terstruktur. Menurut Mathiassen et al. (2000) menyatakan bahwa ada empat tipe hubungan struktural di mana keempatnya dibagi ke dalam dua bagian yaitu:

1. Class Structure

Generalization Structure

Sebuah class umum (superclass) menjelaskan properties pada sekelompok class khusus (subclass).

Generalization dapat dikatakan sebagai hubungan “is-a”, mengekspresikan inheritance yang berarti sub class akan mempunyai attribute dan operation yang sama dengan superclass. Sebagai contoh dapat dikatakan “a customer is a person”.

Person

Customer Employee

Gambar 2.4 Contoh Generalization Structure

Cluster Structure

Kumpulan dari class-class yang saling berhubungan.

Cluster digambarkan dengan notasi file folder yang didalamnya terdapat kumpulan class berkaitan.

Hubungan antara class dari cluster yang berbeda biasanya menggunakan association structure.

Gambar 2.5 Contoh Cluster Structure

2. Object Structure

Aggregation

Sebuah object superior (the whole) mengandung sejumlah object (the part). Aggregation diformulasikan sebagai hubungan “has-a”, contoh: “a car has a body”.

Aggregation juga dapat diformulasikan sebagai “is-part-of”, contoh: “the body is a part of the car”.

Menurut Mathiassen et al. (2000) ada tiga tipe struktur aggregation, yaitu:

i. Whole-part, objek superior adalah jumlah dari objek inferior, jika dilakukan penambahan atau penghapusan objek inferior, maka akan mengubah pokok objek superior.

mobil

Mesin

Silinder

Bus

Taksi

-* *

1*

<<cluster>>

mobil

ii.Container-content, objek superior adalah container bagi objek inferior, jika melakukan penambahan maupun penghapusan objek inferior, tidak akan mengubah pokok objek superior.

iii.Union-member, objek superior adalah objek inferior yang terorganisasi. Tidak akan terjadi perubahan pada objek superior apabila melakukan penambahan atau penghapusan objek inferior tetapi ada batasannya.

Car

Body Wheel

1 1 1 4..* -.

Gambar 2.6 Contoh Aggregation Structure

 Association

Hubungan yang ada dalam dua atau lebih object, tetapi hubungan ini bukan merupakan hubungan yang sangat kuat seperti aggregation karena object satu tetap ada walaupun object yang lain tidak ada. Association diterjemahkan sebagai garis yang menghubungkan object-object.

car person

0..* 1..*

Gambar 2.7 Contoh Association Structure

2.4.7.3 Behaviour

Gambaran dari urutan event yang mungkin terjadi pada semua object dalam sebuah class. Tujuan dari aktivitas ini adalah untuk memodelkan bagian yang dinamis dari sebuah problem domain. Menurut Mathiassen et al. (2000) konsep dari behaviour antara lain meliputi:

1. Event trace: urutan event yang terjadi pada suatu objek yang spesifik.

2. Behavioural Pattern: deskripsi dari event traces yang mungkin terjadi pada semua objek di dalam sebuah kelas 3. Attribute: sebuah keterangan property dari kelas atau event.

Hasil dari kegiatan behavior adalah statechart diagram.

Statechart menunjukkan urutan lengkap dari suatu sistem atau objek yang ada pada event yang telah dibuat. Tiga jenis notasi untuk behavioral pattern, yaitu:

1. Sequence, yaitu event terjadi satu per satu secara berurutan.

Notasinya adalah “+”.

2. Selection, yaitu satu event dipilih diantara sekumpulan event yang ada. Notasinya adalah “”.

3. Iteration, yaitu sebuah event terjadi sebanyak nol atau beberapa kali. Notasinya adalah “”

Dokumen terkait