22
BAB 2
LANDASAN TEORI
2.1. Pengukuran Waktu
Pengukuran waktu adalah pekerjaan mengamati dan mencatat waktu-waktu
kerjanya baik setiap elemen ataupun siklus dengan menggunakan alat-alat pengukuran
waktu. Setelah melakukan pengukuran waktu maka hal berikutnya yang harus dilakukan
adalah melakukan pengujian kenormalan data, keseragaman data, dan kecukupan data.
(Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979, p. 131)
• Uji Keseragaman
Uji keseragaman data ini dibutuhkan untuk mengatasi perubahan yang terus
terjadi dimana perubahan-perubahan yang terjadi tetap harus dalam batas
kewajaran. (Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979)
- Masukan data-data ke dalam subgrup-subgrup
- Hitung nilai rata-rata masing-masin subgrup (x)
- Hitung nilai rata-rata dari rata-rata subgrup ( )
- Hitung nilai standar deviasi berdasarkan pada persamaan berikut
∑ (1)
- Hitung standar deviasi dari distribusi harga rata-rata subgrup dengan:
√
(2)
n adalah jumlah subgrup.
- Hitung batas kontrol atas (BKA) dan batas kontrol bawah (BKB)
23
BKA = + Zσ (3)
BKB = – Zσ (4)
Untuk tingkat ketelitian 5% dan tingkat keyakinan 95 % maka nilai Z = 2
dan nilai S = 0.05.
• Uji Kecukupan Data
Untuk melakukan penghitungan atas berapa banyak data yang diperlukan untuk
pengukuran. Uji kecukupan data ini dapat dilakukan dengan rumus:
N’ = / ∑ ∑
∑ (5)
N = Jumlah pengamatan aktual yang dilakukan
N’ = Jumlah pengamatan teoritis yang diperlukan
Xi = waktu penyelesaian
Bila nilai N (data aktual) lebih besar daripada N’ (data teoritis) maka
pengumpulan data dinilai cukup dan sudah dapat mewakili populasi.
(Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979)
• Uji Kenormalan data
Untuk mengetahui apakah data-data yang dikumpulkan apakah mengikuti
distribusi normal atau tidak maka dilakukan pengujian dengan metode Goodness
of Fit (uji Kebaikan Suai).
Langkah-langkah yang dilakukan dalam pengujian kenormalan data adalah:
a. Mengelompokkan data-data yang didapat kedalam data kelompok dengan
cara:
Range = data terbesar – data terkecil (6)
24
Kelas : k = 1 + 3.33 log n dimana n adalah banyaknya data
pengamatan (7)
Lebar kelas interval = (8)
b. Menetapkan nilai rata-rata dan standar deviasi
Nilai rata-rata : ∑ (9)
Standard deviasi = σ = ∑ (10)
c. Mencari nilai Z untuk setiap kelas yang ada dengan cara:
Z = Batas Kelas atas interval-Nilai rata-rata (11)
d. Menetapkan nilai luas kurva normal
Luas = p(zi < Z < z2) = P(Z< z2) - P(Z< z1) (12)
Nilai dari Z bisa dilihat pada tabel kurva normal pada lampiran.
e. Menetapkan nilai frekuensi harapan (ei)
ei = luas x N (13)
Nilai dari ei tidak boleh lebih kecil dari 5 maka jika nilai ei masih lebih kecil
dari 5 maka akan digabungkan dengan nilai ei lainnya hingga berjumlah
lebih dari 5.
f. Menghitung nilai khi-kuadrat
∑ (14)
Dimana k = jumlah interval kelas
Oi = frekuensi pengamatan
Ei = frekuensi harapan
25
Banyaknya derajat bebas yang berkaitan dengan sebaran khi-kuadrat yang
ada berdasarkan pada dua faktor yakni banyaknya sel dalam percobaan yang
bersangkutan dan banyaknya besaran yang diperoleh dari data pengamatan
yang diperlukan dalam perhitungan frekuensi harapannya. Derajat kebebasan
ini memiliki rumus ν = k – m – 1 dimana k adalah jumlah subgrup dan nilai
m = 2 untuk data distribusi normal. Jika nilai dari Χ2hitung < Χ2
tabel maka data
tersebut terdistribusi normal. (Walpole, 1995, p. 326)
Setelah melakukan uji keseragaman, kecukupan dan kenormalan data maka akan
menghitung waktu baku, dimana waktu baku ini didapat dari perhitungan waktu siklus
dan waktu normal.
• Hitung waktu siklus:
Ws = ∑ (15)
Dimana Xi adalah data-data dari nilai pengukuran, sedangkan n adalah
banyaknya jumlah data pengukuran. (Sutalaksana, Anggawisastra, &
Tjakraatmadja, 1979, p. 137)
• Hitung waktu normal:
Waktu diperoleh dengan cara mengalikan waktu rata-rata (Ws) dengan
performance rating. Rumus perhitungan waktu normal adalah:
Waktu Normal = Waktu siklus x (1+ Rating Factor) (16)
Rating Factor adalah faktor yang diperoleh dengan membandingkan kecepatan
bekerja daripada seseorang(operator) dengan kecepatan normal menurut ukuran
si peneliti. Performance rating (p) disebut juga faktor penyesuaian, faktor ini
diperhitungkan jika pengukur berpendapat bahwa operator bekerja dengan
26
kecepatan tidak wajar, jika pekerja bekerjanya terlalu cepat >1, lambat <1, kalau
normal =1. Untuk penyesuaian menggunakan sistem “Westinghouse System of
Rating” yang dipengaruhi oleh 4 faktor yaitu skill (keterampilan), effort (usaha),
conditions (kondisi kerja), consystency (konsistensi). Untuk lebih jelas mengenai
tabel westinghouse dapat dilihat di lampiran. (Ginting, 2009, p. 257)
• Hitung Waktu Baku:
Waktu baku adalah waktu yang dibutuhkan secara wajar oleh seorang pekerja
normal untuk menyelesaikan suatu pekerjaan yang dijalankan dalam sistem kerja
terbaik. Waktu standard di peroleh dengan perkalian antara waktu normal dengan
persentase kelonggaran rumus perhitungan waktu standar yaitu:
Waktu Baku = Waktu normal x %
(17)
Menurut Ginting (2009) berdasarkan pada buku karangan Barnes (Motion and
Time Study: Design and Measurement Work, 1968) Dalam menentukan waktu
standar diperlukan suatu kelonggaran waktu, kelonggaran terbagi dalam 3 bagian
yaitu:
- Personal Allowance, yaitu kelonggaran yang diberikan untuk memenuhi
kebutuhan pribadi pekerja, seperti ke WC, ibadah, dan hal-hal lainnya.
- Delay Allowance, yaitu waktu yang diberikan pada pekerja sebagai akibat
dari keadaan yang tidak terduga yang dapat memperlambat jalannya
pekerjaan.
- Fatique Allowance, yaitu kelonggaran diberikan untuk memperpanjang
datangnya keletihan (fatique).
27
2.2. Peta Proses Operasi
Peta proses operasi merupakan suatu diagram yang menggambarkan langkah-
langkah proses yang akan dialami bahan (bahan-bahan) baku mengenai urutan-urutan
proses operasi dan pemeriksaan sejak dari awal sampai menjadi produk jadi utuh
maupun sebagai komponen. (Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979, p. 21)
Menurut Sutalaksana et al, (1979, p. 21) adapun kegunaan dari peta proses
operasi ini adalah untuk:
1. Untuk mengetahui kebutuhan akan mesin dalam proses perakitan komponen
2. Untuk memperkirakan kebutuhan akan bahan baku
3. Sebagai alat bantu untuk menentukan tata letak pabrik
4. Sebagai alat bantu untuk melakukan perbaikan cara kerja yang sedang dipakai.
Menurut Sutalaksana et al, (1979, p. 21) dalam pembuatan peta proses operasi
ini, ada beberapa aturan dasar yang perlu diikuti yakni:
1. Pada baris paling atas perlu dituliskan PETA PROSES OPERASI sebagai kepala
gambar yang diikuti dengan identifikasi kerja lainnya seperti nama objek, nomor
gambar kerja, dan lain- lain.
2. Material yang akan diproses diletakkan diatas garis horizontal, yang
menunjukkan bahwa material tersebut masuk ke dalam proses.
3. Lambang-lambang ditempatkan dalam arah vertikal yang menunjukkan
terjadinya perubahan proses.
4. Penomoran terhadap suatu kegiatan operasi diberikan secara berurutan sesuai
degnan urutan operasi yang dibutuhkan untuk pembuatan produk tersebut atau
sesuai dengan proses yang terjadi
28
5. Penomoran terhadap suatu kegiatan pemeriksaan diberikan secara tersendiri dan
prinsipnya sama degan penomoran untuk kegiatan produksi
2.3. Peramalan
Untuk membuat peramalan permintaan, harus menggunakan suatu metode
tertentu. Pada dasarnya, semua metode peramalan memiliki ide yang sama, yaitu
menggunakan data masa lalu untuk memperkirakan atau memproyeksikan data di masa
yang akan datang. Berdasarkan tekniknya metode peramalan dapat dikategorikan ke
dalam metode kualitatif dan metode kuantitatif. (Baroto, 2002, p. 27)
Metode kualitataif biasanya digunakan bila tidak ada atau sedikit data masa lalu
yang tersedia. Sedangkan metode kuantitaif, suatu set data historis (masa lalu)
digunakan untuk mengekstrapolasi (meramalkan) permintaan masa depan. Ada dua
kelompok besar metode kuantitatif yaitu metode “Time Series” dan metode “Non Time
Series” Beberapa contoh metode yang digunakan untuk time series adalah metode free
hand, metode moving average, metode exponential smoothing, metode regresi linear
sederhana, metode winter, dan metode lainnya. (Baroto, 2002, p. 27)
Terdapat empat jenis pola permintaan pada time series yaitu pola trend, pola
musiman, pola siklikal, dan pola eratik/random. Pola trend memiliki pola data
permintaan yang cenderung memiliki gerakan menurunan atau kenaikan jangka panjang.
Pola Musiman memiliki data yang berfluktuasi, namun fluktuasi tersebut akan berulang
dalam interval tertentu dan biasanya dipengaruhi oleh musim. Pola siklikal memiliki
pola yang berfluktuasi yang membentuk pola siklus. Pola Random memiliki pola data
yang tidak bisa digambarkan dengan pola lainnya. (Baroto, 2002, pp. 32-34)
29
Metode exponential smoothing adalah suatu metode populer untuk peramalan
time series dengan pola data siklis. Formulasi single exponential smooting ini adalah:
αf 1 α (18)
Dimana = perkiraan permintaan pada periode t
α = sesaut nilai > 0 dan < 1 yang ditentukan secara subjektif
ft = permintaan aktual pada periode t
= perkiraan permintaan periode t - 1
2.4. Penjadwalan
2.4.1. Konsep Dasar Penjadwalan
Penjadwalan adalah pengurutan pembuatan / pengerjaan produk secara
menyeluruh yang dikerjakan pada beberapa buah mesin. Dengan demikian masalah
penjadwalan senantiasa melibatkan pengerjaan sejumlah komponen yang sering disebut
dengan istilah ‘job’. Job sendiri merupakan komposisi dari sejumlah elemen-elemen
dasar yang disebut dengan aktivitas atau operasi. (Ginting, 2009, p. 1)
Dua elemen penting dalam penjadwalan adalah urutan (sequence) job yang
memberikan solusi optimal dan pengalokasian sumber daya (resources). Karakteristik
dari sumberdaya adalah kapasitas kualitatif dan kuantitatif. Pekerjaan (job order) yang
diterima diuraikan dalam bentuk kebutuhan akan sumber daya, waktu proses, waktu
dimulai dan waktu berakhirnya proses. (Ginting, 2009, p. 7)
Menurut Ginting (2009, p. 2) berdasarkan pada Bedworth (1982), beberapa
tujuan dari aktivitas penjadwalan adalah:
30
• Meningkatkan penggunaan sumberdaya atau mengurangi waktu tunggunya,
sehingga total waktu proses dapat berkurang dan produktivitas dapat meningkat.
• Mengurangi persediaan barang setengah jadi atau mengurangi sejumlah
pekerjaan yang menunggu dalam antrian ketika sumberdaya yang ada masih
mengerjakan tuga yang lain.
• Mengurangi beberapa kelambatan pada pekerjaan yang mempunyai batas waktu
penyelesaian sehingga akan meminimasi penalty cost atau biaya keterlambatan
• Membantu pengambilan keputusan mengenai perencanaan kapasitas pabrik dan
jenis kapasitas yang dibutuhkan sehingga penambahan biaya yang mahal dapat
dihindarkan
2.4.2. Definisi Dalam Penjadwalan
Beberapa definisi yang digunakan dalam penjadwalan mesin
1. Processing time (ti)
Adalah waktu yang dibutuhkan untuk mngerjakan suatu pekerjaan. Dalam waktu
proses ini sudah termasuk waktu yang dibutuhkan untuk persiapan dan
pengaturan (set-up) selama proses berlangsung.
2. Due-date (di)
Adalah batas waktu dimana suatu operasi terakhir dari suatu pekerjaan harus
selesai.
3. Slack time (SLi)
Adalah waktu tersisa yang muncul akibat dari waktu prosesnya lebih kecil dari
due-date-nya. SLi = di - ti
4. Flow time (Fi)
31
Adalah rentang waktu antara satu titik dimana tugas tersedia untuk diproses
dengan suatu titik ketika tugas tersebut selesai.
5. Completion time (Ci)
Adalah waktu yang dibutuhkan untuk menyelesaikan pekerjaan mulai dari saat
terseduianya pekerjaan (t=0) sampai pada pekerjaan tersebut selesai dikerjakan.
6. Lateness (Li)
Adalah selisih antara completion time (Ci) dengan due-date-nya (di).
7. Tardiness (Ti)
Adalah ukuran waktu terlambat yang bernilai positif jika suatu pekerjaan dapat
diselesaikan lebih cepat dari due-date-nya, pekerjaan tersebut akan memiliki
keterlambatan yang negatif.
8. Makespan
Adalah total waktu penyelesaian pekerjaan-pekerjaan mulai dari urutan pertama
yang dikerjakan pada mesin atau work center pertama sampai kepada urutan
pekerjaan terakhir pada mesin atau work center terakhir.
9. Heuristic
Prosedur penyelesaian suatu masalah atau aturan ibu jari (rule of thumb) yang
ditunjukkan untuk memproduksi hasil yang baik tetpai tidak menjamin hasil yang
optimal.
2.4.3. Penjadwalan Flow Shop dan Hybrid Flow Shop
Dalam bukunya Ginting (2009, p. 47), menurut Baker (1974) penjadwalan Flow
Shop merupakan suatu pergerakan unit-unit yang terus-menerus melalui suatu rangkaian
stasiun-stasiun kerja yang disusun berdasarkan produk.
32
Hybrid Flow Shop adalah generalisasi dari permasalahan flow shop klasik
dengan adanya beberapa mesin paralel setiap stage atau tahap dari suatu proses. (Oguz,
Janiak, & Lichtenstein, 2001, p. 477)
Menurut Ruiz & Rodriguez (2010, p. 1) Hybrid flow shop merupakan lingkungan
manufakturing secara umum dimana sejumlah n job akan diproses pada m stage/tahap
secara berurutan. Ada beberapa karakteristik yang sama untuk hybrid flow shop yakni:
- Jumlah tahapan proses m minimal dua buah
- Setiap tahapan memiliki M(k) ≥ 1 mesin dalam bentuk pararel dan paling
tidak di salah satu stage M(k) > 1.
- Semua job diproses mengikuti alur produksi yang sama seperti stage 1, stage
2, sampai dengan stage m. Sebuah job mungkin saja melewati beberapa stage
dimana job ini tetap diproses paling tidak di salah satu stage tersebut.
2.4.4. Algoritma Nawaz, Enscore dan Ham (NEH)
Algoritma Nawaz, Enscore, dan Ham (NEH) ini merupakan metode yang
dikembangkan pada tahun 1983. Metode ini juga disebut metode Incremental
Construction Algorithms,yang telah mendapatkan penghargaan sebagai metode heuristik
terbaik dalam permutation Flow-Shop Sequencing Problem (PFSP). (Ginting, 2009, p.
96)
Untuk penjadwalan NEH untuk n job terhadap m mesin dilakukan dengan
langkah-langkah:
A. Langkah 1
a. Jumlahkan waktu proses setiap job
33
b. Urutkan job-job menurut jumlah waktu prosesnya dimulai dari yang
terbesar hingga yang terkecil
c. Hasil dari urutan ini disebut juga dengan daftar pengurutan job-job
B. Langkah 2
a. Set k = 2
b. Ambil job yang menempati urutan pertama dan kedua dari daftar
pengurutan job-job.
c. Buat dua buah alternatif calon urutan parsial baru
d. Alokasikan pada mesin pertama dari waktu job terkecil dari kedua job
yang telah dipilih.
e. Apakah kedua job ini dilanjutkan ke job berikutnya?
f. Lanjutkan perhitungan sampai mendapatkan nilai makespan dan mean
flow time dan total flow time
g. Pilih calon urtan parsial baru yang memiliki makespan parsial terkecil.
Jika ada calon urutan parsial baru yang memiliki makespan parsial
terkecil yang sama, pilihlah calon urutan parsial yang memiliki nilai total
flow time terkecil.
h. Calon urutan parsial baru yang terpilih menjadi urutan parsial baru
i. Coret job yang telah dialokasikan dari daftar pegnurutan job
C. Langkah 3
a. Apakah k = n? Jika tidak maka set k = k + 1
b. Ambil job yang menempati urutan pertama dari daftar pengurutan job.
c. Hasilkan sebanyak k calon urutan parsial yang baru dengan memasukkan
job yang diambil ke dalam setiap slot urutan parsial sebelumnya
34
d. Hitung setiap makespan parsial dan total flow time parsial dari calon
urutan parsial yang baru
e. Pilih calon urtan parsial baru yang memiliki makespan parsial terkecil.
Jika ada calon urutan parsial baru yang memiliki makespan parsial
terkecil yang sama, pilihlah calon urutan parsial yang memiliki nilai total
flow time terkecil.
f. Calon urutan parsial baru yang dipilih menjadi urutan parsial baru
g. Coret job yang telah diambil dari daftar pengurutan job
h. Periksa apakah k = n. jika ya lanjutkan ke langkah 4 jika tidak lanjutkan
ke langkah 3
D. Langkah 4
a. Urutan parsial baru menjadi urutan final dan stop.
2.4.5. Ant Colony Optimization
Algoritma semut pertama kali dikemukakan oleh Dorigo dan kawan-kawannya
dalam penyelesaiian permasalah tugas ganda. Algoritma ini pada awalnya dibangun
berdasarkan pada pengamatan terhadap koloni semut. Dimana para koloni semut ini
dapat menemukan makanan sumber makanan yang paling dekat dengan sarang para
semut. (Berlianty & Arifin, 2010, p. 61)
Pada dasarnya, pada saat semut mencari makan maka para semut akan
meninggalkan jejak pheromone sepanjang jalannya. Semakin tinggi konsentrasi
pheromone itu maka akan semakin banyak semut yang melewati jalur tersebut. Dan
karena mengikuti jalur pheromone ini dapat membuat para semut untuk menemukan
35
jalur paling singkat. Hal ini dapat terlihat pada gambar 2.1 (Berlianty & Arifin, 2010, p.
61)
Gambar 2. 1 Jalur Semut pada saat mencari lintasan terpendek
Sumber: Berliaty & Arifin, 2010, p. 63
2.4.6. Proposed Ant Colony Optimization (PACO)
Berdasarkan pada Rajendran & Ziegler (2004) salah pengembangan dari metode
ant colony optimization yang memberikan hasil yang baik adalah proposed ant colony
optimization (PACO) dimana metode ini menunjukkan hasil yang lebih optimal untuk
job yang banyak dan juga dengan jumlah mesin yang lebih banyak. Pada saat
penggunaannya, PACO ini menggunakan setiap semut untuk setiap iterasi.
Dalam mengembangkan struktur dari ACO maka Rajendran & Ziegler (2004, p.
428) mengusulkan struktur umum daripada ACO adalah sebagai berikut:
Step 1: Initialize the pheromone trails and parameters
Step 2: While (termination condition not met) do the following
Construct a solution
36
Improve the solution by local search
Update the pheromone trail or trail intensities
Step 3: Return the best solution found
Dalam jurnal Rajendran & Ziegler (2004, p. 427) perhitungan algoritma semut,
menggunakan beberapa notasi matematis seperi berikut:
- tij merupakan waktu proses job i di mesin j,
- n merupakan jumlah job yang akan dijadwalkan,
- m merupakan jumlah mesin yang digunakan,
- σ merupakan urutan job yang sudah dijadwalkan dari n job; partial sequence,
- ),( jq σ merupakan waktu penyelesaian partial sequence σ di mesin j,
- ),( jq iσ merupakan waktu penyelesaian dari job i di mesin j, ketika job
diaplikasikan ke partial sequence σ .
Untuk menghitung waktu mulai dan waktu selesai pengerjaan job pada mesin-
mesin, digunakan perhitungan sebagai berikut:
Inisialisasi
Nilai 0)0,( =iq σ
For j=1 to m do
),( jq iσ = max { } ijii tjqjq +−− )1,();,( 1 σσ
Ketika semua job sudah dijadwalkan, nilai makespan didapat dari:
M= max { }mmniCim ,...,2,1;,...,2,1, ==
Tahap inisialisasi trails and parameters pertama kali dikerjakan dengan algoritma
NEH. Setelah didapatkan sequence awal dari algoritma NEH, perhitungan dilanjutkan ke
tahap inisialisasi parameter dengan menggunakan rumus PACO, sebagai berikut:
37
Set τik = (1/Zbest), jika (|position job i –k| +1) ≤ 4n
= (1/2* Zbest ), jika (|position job i –k| +1) ≤ 2n
= (1/4* Zbest ), jika (|position job i –k| +1) > 2n
(19)
Set ∑ == kq ikikT 1τ
Setelah langkah di atas dikerjakan, perhitungan dilanjutkan ke tahap penentuan ant
sequence. Pertama-tama tentukan bilangan acak (u) yang berada dalam range [0,1]:
- jika u ≤ 0.4, pilih job pertama yang belum dijadwalkan dalam sequence
sebelumnya,
- jika u ≤ 0.8, pilih 1 job dari 5 job pertama yang belum dijadwalkan yang
memiliki nilai ikT paling besar,
- selain itu, pilih job yang memiliki nilai ikP terbesar dengan rumus:
∑=
lik
ikik T
TP , dimana l adalah job yang belum dijadwalkan. (20)
Ketiga poin di atas dilakukan berulang-ulang sampai semua job yang belum
dijadwalkan selesai dijadwalkan. Setelah itu, dilakukan job index based local search
untuk mendapatkan solusi yang paling optimal. Metode ini menggunakan prinsip
insertion dalam pelaksanaannya dengan mengubah urutan yang ada sekarang tanpa
mengubah urutan relatif dari posisi job lainnya. Prosedurnya adalah sebagai berikut:
For i = 1 to n
For k = 1 to n
If k ≠ i
38
Then
Masukkan job I pada posisi k dengan tidak merubah urutan relatif dari
job yang lain dan hitung nilai makespannya. Pilih urutan (sequence)
yang memiliki nilai makespan terkecil dari (n-1) jumlah urutan yang
didapat. Bila terdapat nilai makespan yang sama, maka hitung total
flowtime dan pilih total flowtime dengan nilai terkecil. Jika urutan yang
baru berbeda dengan urutan sebelumnya maka urutan yang baru akan
menggantikan urutan yang lama.
Sampai tahap ini, iterasi pertama telah selesai. Sedangkan untuk iterasi kedua
dilakukan tahap updating of trail intensities.
Dalam PACO, memperbarui intensitas jejak tidak hanya berdasarkan urutan yang
dihasilkan setelah penerapan ketiga dari index job berdasarkan prosedur local search
pada ant-sequence, tetapi juga pada jarak relatif antara posisi yang diberikan dan posisi
job i dalam urutan yang dihasilkan. Intensitas jejak diperbarui sebagai berikut:
- Jika n ≤ 40, maka
( ) ,1
current
oldik
newik Zdiff ×
+×= τρτ if 1kh ≤− (21)
Bila tidak, oldik
newik τ×ρ=τ
- Selain itu,
( ) ,1
current
oldik
newik Zdiff ×
+×= τρτ if 2kh ≤− (22)
Bila tidak, oldik
newik τ×ρ=τ
Keterangan:
39
diff = ( ) 2/11kfar so obtained sequence best the in i job of position +−
75.0=ρ
h = posisi job i dalam sequence terakhir.
Setelah didapat nilai newikτ , kembali ke tahap ant sequence pada iterasi pertama dan
dilanjutkan ke job index based local search sebanyak tiga kali. Kemudian, untuk iterasi
ketiga, lakukan cara yang sama seperti pada iterasi kedua.
2.5. Pengertian Sistem
Menurut O’Brien (2003, p. 8) sistem adalah sebuah kelompok yang saling
bekerja sama dan untuk mencapai satu tujuan yang sama dengan memiliki masukan
(inputs) dan memberikan hasil (outputs) dalam sebuah proses transformasi yang
terorganisir dengan baik
Menurut McLeod (2001, p. 11) sistem adalah sekelompok elemen yang saling
terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan yang sama.
Contohnya adalah suatu organisasi, dimana organisasi tersebut terdiri dari bidang-
bidang fungsional yang semuanya saling bekerja sama untuk tercapainya tujuan
organisasi yang telah ditetapkan.
.
2.6. Pengertian Informasi
McLeod (2001, p. 12) berpendapat informasi adalah data yang telah melalui
suatu proses atau data yang memiliki telah memiliki arti. Sedangkan menurut O’Brien
(2003, p. 13) informasi adalah data yang telah mengalami proses konversi menjadi
sebuah konteks yang berarti dan berguna bagi seseorang.
40
2.7. Pengertian Sistem Informasi
Menurut O’Brien (2003, p. 7) Sistem Informasi adalah kombinasi dari sumber
daya manusia, perangkat keras, perangkat lunak, jaringan komunikasi, dan sumber daya
data yang mengubah, mengumpulkan, dan menyebarkan informasi dalam sebuah
organisasi. Pengertian lainnya dari sistem informasi adalah sebagai suatu sistem yang
menerima data sebagai input dan kemudian mengolahnya menjadi informasi sebagai
outputnya.
2.8. Internet, Intranet dan Extranet
Internet adalah koleksi global dari sebuah jaringan yang saling terhubung
menggunakan standar jaringan tingkat bawah secara umum atau yang biasa disebut juga
dengan TCP/IP (Transmission Control Protocol/ Internet Protocol). World Wide Web
(WWW) yang biasa disebut juga dengan web adalah sekumpulan sumber daya
(program, file, dan servis) yang dapad diakses melalui internet. (Satzinger, Jackson, &
Burd, 2005, p. 274)
Intranet adalah jaringan pribadi yang menggunakan IP tapi hanya bisa diakses
sejumlah pengguna internal (biasanya para pengguna yang sama-sama berada dalam satu
organisasi atau satu kelompok kerja). (Satzinger, Jackson, & Burd, 2005, p. 274)
Extranet adalah intranet yang telah dikembangkan yang menyertakan para
pengguna yang berada diluar organisasi (seperti supplier, customer besar dan partner
penting). Extranet membantu beberapa organisasi berbeda untuk saling bertukar
informasi dan mengkoordinasikan aktivitas organisasi tersebut. (Satzinger, Jackson, &
Burd, 2005, p. 274)
41
2.9. Analysis and Design Objects
Identitas dari analisis objek mengekspresikan bagaimana user membedakan
objek tersebut dengan objek lainnya di dalam konteks. Identitas dari desain objek
mengekspresikan bagimana objek lain di dalam sistem dapat mengenali objek tersebut
dan juga dapat mengaksesnya. Di dalam analisis, behavior objek dapat diekspresikan
dengan event yang dilakukan ataupun pengalaman.
Analisis dan desain objek mendeskripsikan dua hal yang yang benar-benar
berbeda. Objek analisis mendeskripsikan fenomena diluar sistem seperti orang dan
benda yang mana biasanya dapat berdiri sendiri (independen). Objek desain
mendeskripsikan fenomena di dalam sistem yang dapat dikontrol. Behavior dari objek
yang dideskripsikan sebagai operasi untuk dijalankan oleh komputer. (Mathiassen et al.,
2000, p. 5)
2.10. System Development Life Cycle
Proyek adalah sebuah kegiatan yang direncanakan yang memiliki awal dan akhir
dan menghasilkan sebuah hasil atau produk yang diharapkan. Agar sebuah proyek
pengembangan sistem dapat sukses, para pengembang sistem haruslah memiliki sebuah
perencanaan untuk diikuti. Sebuah kunci, fundamental konsep dalam pengembangan
sistem informasi adalah System Development Life Cycle (SDLC). (Satzinger et al, 2005,
p. 38)
Sepanjang siklus hidup dari sistem informasi, pertama-tama haruslah
mengandung sebuah ide, lalu di disain, di bangun, dan di jalankan selama
pengembangan proyek dan paling akhir dimasukkan ke dalam proses dan digunakan
untuk mendukung proses bisnis. (Satzinger et al, 2005, p. 39)
42
Salah satu teknik yang berguna untuk mengklasifikasikan sistem secara
komprehensif adalah dengan mengkategorikan pendekatan SDLC apakah lebih kearah
prediktif atau adaptif. Pendekatan prediktif pada SDLC adalah sebuah pedekatan yang
mengasumsikan bahwa pengembangan proyek dapat direncanakan dan di atur lebih
lanjut dan bahwa sistem informasi yang baru ini dapat dikembangkan sejalan dengan
rencana. Sedangkan pedekatan adaptif pada SDLC digunakan pada saat kebutuhan pasti
dari sistem atau kebutuhan dari user tidak dapat dimengerti dengan baik. (Satzinger et al,
2005, p. 39)
Dalam pengembangan SDLC, terdiri atas beberapa aktivitas yakni planning analysis,
analysis activities, design activities, implementation analysis dan support phase.
Planning activitites adalah kegiatan merencanakan, mengatur dan menjadwalkan sebuah
proyek. Analysis activities adalah sebuah aktivitas untuk memahami secara pasti
bagaimana sistem harus bertindak untuk mendukung proses bisnis. Implementation
activities adalah kegiatan yang penting dalam membangun sistem. Support phase adalah
aktivitas yang diperlukan untuk mengembangkan dan menjaga sistem setelah sistem
tersebut dijalankan. Untuk fase-fase dan tujuan dalam SDLC dapat dilihat pada tabel 2.1.
Aktivitas SDLC ini dapat dilihat pada gambar 2.2. (Satzinger et al, 2005, p. 40)
Sumber: Satzinger et al, 2005, p. 40
Gambar 2. 2 Aktivitas dalam SDLC.
43
Tabel 2. 1 Fase dan tujuan dari SDLC.
SDLC Phase Tujuan
Perencanaan proyek Untuk mengidentifikasikan cakupan dari sistem yang baru,
memastikan bahwa proyek layak untuk dijalankan,
mengembangkan sebuah jadwal, perencanaan sumber daya,
dan perencanaan budget untuk proyek.
Analisis Untuk memahami dan mendokumentasikan dengan detil
kebutuhan bisnis dan kebutuhan proses dari sistem baru.
Desain Untuk mendisain sistem solusi berdasarkan pada kebutuhan
sistem informasi yang didefinisikan dan keputusan yang
dibuat sepanjang analisis
Implementasi Untuk membuat, menguji, dan memasang sebuah sistem
informasi yang dapat terpecaya dengan melatih user menjadi
siap untuk memberikan keuntungan seperti yang diharapkan
berdasarkan pada kegunaan dari sistem.
Support Untuk membuat sistem tetap berjalan produktif dari awal dan
sepanjang usia dari sistem.
Sumber: Satzinger et al, 2005, p. 41
2.11. The Unified Process Life Cycle
Berdasarkan pada kebutuhan atas pengulangan dalam pengembangan sistem (seperti
aktivitas analisis, desain, dan implementasi), sebuah model SDLC baru telah digunakan
untuk membuat perencanaan dan pengaturan menjadi lebih mudah. Pada Unified
Process Life Cycle terdapat satu atau lebih iterasi yang mengikutsertakan analisis, desain
44
dan implementasi dari sistem. Ke-empat fase dari UP life cycle dinamakan inception,
elaboration, construction dan transition seperti pada gambar 2.3. (Satzinger et al, 2005,
p.45)
Sumber: Satzinger et al, 2005, p.45
Gambar 2. 3Unified Process SDLC
Inception phase
Seperti pada fase perencanaan pada berbagai proyek, pada fase inception manajer
proyek mengembangkan dan menyempurnakan cara pandang untuk sistem baru untuk
melihat bagaimana dapat meningkatkan operasi dan menyelesaikan masalah yang ada.
Pada fase inception, biasanya diselesaikan dalam satu iterasi, bagian dari sistem aslinya
dapat didesain, implementasi dan di uji. (Satzinger et al, 2005, p.46)
Elaboration phase
Fase elaborasi biasanya melibatkan beberapa iterasi, dan pada iterasi awal biasanya telah
menyelesaikan identifikasi dan definisi dari semua kebutuhan sistem. Fase elaborasi juga
menyelesaikan analisis, desain dan implementasi pusat arsitektur dari sistem. (Satzinger
et al, 2005, p.46)
System Development Life
Iteration Phase
Inception Elaboration Construction Transition
PHASES ARE NOT ANALYSIS, DESIGN, AND IMPLEMENT; INSTEAD, EACH ITERATION INVOLVES A COMPLETE
CYCLE OF REQUIREMENTS, DESIGN, IMPLEMENTATION, AND
45
Construction Phase
Fase construction melibatkan beberapa iterasi yang melanjutkan desain dan
implementasi dari sistem. Dalam pengerjaannya mungkin memasukkan pengendalian
detil sistem seperti validasi data, meningkatkan user interface, memperbaiki fungsi dan
menyelesaikan bantuan dan fungsi sistem.
Transition Phase
Selama fase transisi satu atau beberapa iterasi akhir melibatkan pengguna akhir dan
pengujian beda, dan sistem dibuat siap untuk operasi. Ketika sistem dalam operasi, maka
sistem perlu untuk didukung dan diperbaiki. (Satzinger et al, 2005, p.47)
2.12. Unified Modeling Language (UML)
Unified Modeling Language adalah sebuah standar model yang bentuk dan notasinya
dikembangkan untuk mengembangkan object-oriented. Pada umumnya, dalam
penggambaran diagram-diagram, notasi yang digunakan untuk menunjukkan
menggambarkan model didefinisikan dengan UML. Dengan menggunakan UML, para
analis dan pengguna mampu untuk mengerti berbagai variasi diagram digunakan untuk
mengembangkan sistem proyek. (Satzinger et al, 2005, p.48)
2.13. Disiplin dari Unified Process
Menurut Satzinger et al (2005, p.55) dalam pengembangannya, UP memiliki enam
aktivitas utama yakni:
46
- Pemodelan bisnis
Tujuan utama dari pemodelan bisnis adalah untuk memahami dan
mengkomunikasikan lingkungan nyata dari bisnis yang akan menggunakan
sistem.
- Kebutuhan
Tujuan utama dari kebutuhan ini adalah untuk memahami dan
mendokumentasikan kebutuhan bisnis dan kebutuhan proses untuk sistem yang
baru.
- Desain
Tujuan utama dari desain ini adalah untuk menggambarkan sistem solusi
berdasrkan pada kebutuhan sebelumnya yang telah didefinisikan.
- Implementasi
Dalam tahap implementasi, tahapan ini melibatkan pemenuhan atas komponen
yang dibutuhkan oleh sistem.
- Pengujian
Tahapan ini berguna untuk melakukan pengujian terhadap sistem yang telah di
bangun apakah dapat berfungsi dengan baik atau tidak.
- Pemasangan dan penggunaan
Tahapan ini memiliki aktivitas memastikan bahwa sistem yang dibangun dapat
digunakan untuk kegiatan operasional.
Untuk menyelesaikan pengembangan sebuah sistem, tim proyek haruslah
memahami lingkungan bisnis (pemodelan bisnis), mendefinisikan kebutuhan dari sistem
(kebutuhan), mendesain solusi untuk sistem dalam memenuhi kebutuhan (desain),
menulis dan mengintegrasikan kode dalam komputer yang akan membuat sistem dapat
47
berjalan dengan baik (implementasi), kemudian lakukan pengujian dari sistem
(pengujian) dan setelah selesai maka sistem tersebut diuji-cobakan kepada pengguna
untuk melakukan kegiatan operasionalnya (pemasangan dan penggunaan). (Satzinger et
al, 2005, p.55)
2.14. Konsep Object-Oriented
Pedekatan berbasis objek adalah sebuah penekatan pengembangan sistem yang
melihat sistem informasi sebagai sekelompopk objek yang saling berinteraksi yang
bekerja sama untuk menyelesaikan suatu kegiatan. Objek itu sendiri berarti sebuah
benda dalam sistem komputer yang merespon terhadap sebuah pesan. (Satzinger et al,
2005, p.60)
Oleh karena pendekatan berbasi objek melihat sistem informasi sebagai
sekumpulan objek yang saling berinteraksi, object-oriented analysis (OOA)
medefinisikan semua tipe objek yang dibutuhkan oleh pengguna untuk bekerja dan
menunjukkan bahwa interaksi dengan pengguna dibutuhkan untuk menyelesaikan suatu
pekerjaan. Object-oriented design (OOD) mendefinisikan semua tipe dari objek penting
untuk mengkomunikasikan orang dengan sistem yang menunjukkan bagaimana objek
berinteraksi untuk menyelesaikan suatu masalah. Object-oriented programming (OOP)
terdiri atas pernyataan tertulis dalam bahasa pemrograman untuk mendefinisikan setiap
tipe dari objek. (Satzinger et al, 2005, p.60)
2.15. Prinsip-prinsip Dalam Analisis dan Perancangan
Dalam pengembangan OOA&D (Object Oriented Analysis and Design) terdapat
empat buah dasar yang menjadi prinsip umum untuk analisis dan desain yaitu:
48
• Model The Context
Kesuksesan dalam pengembangan sistem biasanya bergantung pada pemahaman
dari pengembang mengenai aplikasi praktis sistem. Seperti yang tergambar dalam
gambar 2.4, konteks sistem dapat dilihat dari dua buah sudut pandang: sistem yang
memodelkan sesuatu (the problem domain) an hal ini dioperasikan oleh user (the
application domain). (Mathiassen et al., 2000, p. 6)
Sumber: Mathiassen et al., 2000, p. 7
Gambar 2. 4 Sistem Konteks
• Emphasize the architecture
Memahami konteks yang ada memang penting, namun hal lainnya yang tidak
kalah penting adalah untuk memahami sistem itu sendiri. Sistem itu sendiri memiliki
pengertian: sekumpulan komponen yang menerapkan model requirements, functions,
dan interfaces. (Mathiassen et al., 2000, p. 9)
Selama proses analisis dan desain, adalah hal yang penting untuk
mengembangkan pemahaman umum mengenai sistem yang ada. Sistem arsitektur
seharusnya mudah untuk dimengerti karena arsitektur sistem ini berfungsi sebagai dasar
49
untuk pengambilan keputusan dan sebagai alat komunikasi dan alat kerja dalam
pengembangan kerja kedepannya. Arsitektur sistem ini juga perlu untuk fleksibel karena
pengembangan sistem mengambil tempat di dalam lingkungan kerja. Dan arsitektur
sistem juga sebaiknya berguna karena kesuksesan sistem bergantung pada peran yang
dimainkan di dalam organisasi. (Mathiassen et al., 2000, p. 9)
• Reuse patterns
Sebuah landasan awal untuk memastikan kualitas dan efisiensi dalam analisis
dan desain adalah untuk menggunakan kembali ide yang telah di uji dan
menggunakannya kembali pada situasi lainnya. OOA&D memiliki dua langkah dalam
penggunaan kembali: dengan menggunakan objek dan komponen, dan lebih umum
dengan menggunakan pola analisis dan desain. Pola ini sendiri adalah deskripsi umum
dari sebuah masalah dan solusi yang terkait. Sebagai contoh kita dapat menggunakan
pola peran selama proses analisis untuk memodelkan berbagai peran yang orang
perankan berulang kali. Pada gambar 2.03 menunjukkan contoh pembuatan model
person yang bisa diperankan oleh employee dan customer. (Mathiassen et al., 2000, p.
11)
Sumber: Mathiassen et al., 2000, p. 12
Gambar 2. 5 Sebuah Contoh role pattern
50
• Tailor The Method
OOA&D adalah sekumpulan dari panduan umum untuk membuat analisis dan
desain. Oleh karena itulah metode-metode tersebut harus diimplementasikan ke dalam
organisasi dan proyek. Untuk membuat metode yang dibuat menjadi lebih berguna,
dilakukan perancangan metode tersebut agar dapat beradaptasi, berkembang dan
bagiannya akan mudah untuk diimplementasikan. (Mathiassen et al., 2000, p. 12)
2.16. Aktivitas Utama dalam OOA&D
OOA&D memiliki empat buah aktivitas utama yang dapat di lihat dalam gambar 2.04.
Sumber: Mathiassen et al., 2000, p. 15
Gambar 2. 6 Aktivitas utama dalam OOA&D
Keempat aktivitas utama relatif penting dan urutan perubahan dari projek ke
projek. Dalam beberapa projek, analisis application domain memiliki karakteristik yaitu
51
ketidakpastian yang besar. Keempat aktivitas utama dari OOA&D ini kegiatan abstrak
yang dapat dilakukan bersamaan dengan kegiatan lainnya dalam projek pengembangan
sistem secara praktis. Keempat aktivitas ini adalah analisis problem domain, analisis
application domain, architectual design, dan componen design. (Mathiassen et al., 2000,
p. 15)
2.16.1. Analisis Problem Domain
Dalam perancangan problem domain, terkandung di dalamnya apa yang dihadapi
oleh pengguna dan kapan mereka melakukan pekerjaan (produk, order, invoice, dan
pelanggan) mereka yang dibutuhkan sebagai bagian dari sistem. Sebagai contoh, seorang
pelanggan (external agent) melakukan pemesanan, akan tetapi selain pesanan yang di
simpan itu, sistem juga membutuhkan untuk menyimpan data-data pelanggan. (Satzinger
et al, 2005, p.178)
Tipe data yang dibutuhkan untuk disimpan merupakan aspek penting yang
dibutuhkan dalam pemenuhan kebutuhan dari sistem informasi. Dalam pendekatan
berorientasi-objek, hal ini menjadi objek yang berinteraksi dengan sistem.
Mengidentifikasi dan memahami tipe data dalam problem domain merupakan kunci
awal ketika mendefinisikan kebutuhan. (Satzinger et al, 2005, p.178)
Analisis problem domain berfokus pada informasi apa yang harus disediakan
dalam sistem. Penyediaan informasi ini sangat penting dalam aktifitas analisis karena
model problem domain menyediakan sebuah bahasa untuk mengekspresikan kebutuhan
sistem. Dalam pengembangan problem domain, prinsip pertama yang harus
dikembangkan adalah memodelkan dunia nyata sesuai dengan cara pandang dari calon
pengguna. (Mathiassen et al., 2000, p. 45)
52
Tujuan utama daripada analisis problem domain adalah untuk mengembangkan
sebuah model. Dengan adanya sebuah model yang baik, maka model tersebut dapat
mendesain dan mengimplementasikan sistem yang dapat memproses,
mengkomunikasikan, dan menampilkan informasi mengenai problem domain.
(Mathiassen et al., 2000, p. 46)
Seperti pada gambar 2.7 analisis problem domain terbagi atas tiga aktivitas.
Pertama, melakukan penentuan objek, classes, dan events yang akan menjadi elemen
dari model problem domain. Kedua, membuat model berfokus pada struktur hubungan
antara objek dan classes yang terpilih. Hal ini merepresentasikan sebuah pergerakan dari
objek ke tingkatan model. Ketiga, berfokus pada properti objek dynamic,
merepresentasikan sebuah pergerakan kembali ke tingkatan objek. (Mathiassen et al.,
2000, p. 40)
Sumber: Mathiassen et al., 2000, p. 46
Gambar 2. 7 Model dari aktivitas dalam problem domain
2.16.1.1. System Definition
System definition adalah sebuah deskripsi singkat dari sistem komputer yang
diekspresikan dalam bahasa natural. System definition mengekspresikan properti dasar
53
untuk pengembangan dan penggunaan dari sistem. Hal ini menjelaskan mengenai sistem
di dalam konteks, informasi apa yang seharusnya terkandung didalamnya, fungsi apa
yang seharusnya disediakan, dimana harusnya digunakan dan kondisi pengembangan
seperti apa yang harus diterapkan. Sebuah system definition seharusnya singkat dan tepat
dan mengandung sebagian besar dasar keputusan mengenai sistem yang ada. Membuat
sebuah formulasi yang singkat dan tepat menyediakan gambaran umum dan membuat
hal ini mudah untuk membandingkan berbagai alternatif yang ada. (Mathiassen et al.,
2000, p. 24)
2.16.1.1.1. Rich Picture
Rich picture adalah sebuah gambaran tidak formal yang menampilkan
pemahaman sebuah situasi oleh ilustrator. Sebuah rich picture berfokus pada seberapa
penting suatu aspek pada suatu situasi yang mana hal ini ditentukan oleh ilustrator.
Bagaimanapun juga, sebuah rich picture seharusnya memberikan deskripsi secara luas
dari situasi yang memungkinkan beberapan interpretasi alternatif. (Mathiassen et al.,
2000, p. 26)
2.16.1.1.2. Sistem Definisi
Menurut Mathiassen et al. (2000, p. 39), kriteria FACTOR terdiri atas enam
elemen:
• Functionality: fungsi sistem yang mendukung tugas application domain.
• Application Domain: bagian dari organisasi yang melakukan kegiatan
administrasi, memonitor, atau menggendalikan problem domain.
54
• Conditions: kondisi yang dibutuhkan untuk mengembangkan dan menggunakan
sistem.
• Technology: kedua teknologi yang digunakan untuk mengembangkan sistem dan
teknologi dimana sistem itu akan dijalankan.
• Objects: Objek utama dalam problem domain.
• Responsibility: Tanggung jawab sistem secara umum dalam hubungannya
dengan konteks sistem tersebut.
Kriteria FACTOR dapat digunakan dalam dua cara. Pertama-tama, dapat
digunakan untuk mendukung pengembangan system-definition, tetapi harus tetap
berhati-hati dalam mempertimbangkan bagaimana setiap elemen dari sistem
diformulasikan. Kedua, untuk memulai sebuah definisi dapat dilakukan dengan
mendeskripsikan sistem dan menggunakan kriteria untuk melihat bagaimana sistem-
definition yang ada memuaskan keenam faktor yang ada. (Mathiassen et al., 2000, p. 40)
2.16.1.1.3. Activity Diagram
Setelah mendapatkan informasi mengenai proses bisnis dengan melakukan
interview dengan pengguna dan melakukan observasi proses yang ada, maka perlu
dilakukan proses dokumentasi. Salah satu teknik untuk menangkap informasi yang ada
digunakan sebuah diagram. Dimana diagram ini digunakan untuk mendeskripsikan alur
kerja (workflow) dari sistem yang baru. (Satzinger, Jackson, & Burd, 2005, p. 144)
Workflow adalah urutan langkah proses untuk menyelesaikan sebuah transaksi
bisnis. Sebuah workflow bisa berupa sederhana ataupun kompleks. Sebuah workflow
yang kompleks bisa terdiri atas puluhan atau ratusan proses dan mungkin
55
mengikutsertakan partisipan dari berbagai bagian dalam organisasi. Jika workflow yang
sederhana dapat dibuat dan di lihat lebih mudah dan juga mudah untuk memeriksanya
kembali dengan para pengguna. Salah satu keuntungan dalam menggunakan diagram
dan model adalah diagram tersebut menjadi sebuah alat komunikasi yang sangat berguna
diantara tim proyek dan para pengguna. (Satzinger et al, 2005, p.144)
Metodologi yang digunakan untuk melakukan penggambaran proses bisnis ini
biasanya adalah flowchart ataupun activity diagram. Activity diagram adalah sebuah
diagram workflow yang sederhana yang mendeskripsikan berbagai kegiatan pengguna,
siapa yang melakukan aktivitas tersebut dan urutan dari kegiatan tersebut. (Satzinger et
al, 2005, p.144)
Gambar 2.8 merupakan simbol dasar yang digunakan pada activity diagram.
Bentuk oval merepresentasikan aktivitas individual dalam workflow. Gambar panah
menunjukkan urutan antar kegiatan. Bulatan hitan digunakan untuk notasi awal dan
akhir dari sebuah workflow. Bentuk diamond berarti sebuah keputusan dimana proses itu
akan berlanjut apakah ke satu aktivitas atau ke aktivitas lainnya. Garis lain yang tebal
disebut juga synchronization bar dimana apakah akan memecah kegiatan atau
menggabungkan beberapa kegiatan. Swinlane menunjukkan siapa yang malakukan
aktivitas tersebut. (Satzinger et al, 2005, p.145)
56
Sumber: Satzinger et al, 2005, p.145
Gambar 2. 8 Simbol dalam activity diagram
Dapat dilihat bahwa activity diagram berfokus pada urutan dari aktivitas.
Diagram ini jelas dan cukup mudah untuk dimengerti. Pada kenyataannya salath satu
kekuatan dari menggunakan activity diagram adalah untuk mendokumenasikan
workflow yang mudah dimengerti oleh para pengguna. Dalam pembuatan activity
diagram, pertama-tama haruslah mengidentifikasikan agent untuk membuat swimlane
yang sesuai. Kemudian ikuti langkah-langkah dan buatlah bentuk oval untuk setiap
aktivitasnya. Lalu hubungkan oval tersebut dengan tanda panah untuk menunjukkan arah
dari workflow. (Satzinger et al, 2005, p.146)
2.16.1.2. Event dan use cases
Use case adalah sebuah aktivitas yabg dikakukan sistem, pada umumnya
merupakan respon atas permintaaan dari pengguna. Berbagai teknik direkomendasikan
untuk mengidentifikasi use case. Salah satu pendekatan adalah dengan membuat catatan
57
semua pengguna dan memikirkan apa yang mereka butuhkan dari sistem untuk
membantu pekerjaan mereka. Cara lainnya adalah dengan memulai dari sistem yang ada
dan membuat catatan kebutuhan semua sistem yang telah dimasukkan dan
menambahkan beberapa fungsi yang diminta oleh pengguna. Salah satu cara atau
panduan yang paling mendalam untuk mengientifikasi use case disebut dengan event
decomposition technique. (Satzinger et al, 2005, p.166)
Event decomposition
Dalam penentuan use case apa yang digunakan untuk sistem, haruslah berfokus
pada event decomposition yaitu sebuah teknik yang pertama-tama berfokus pada event
yang dibutuhkan oleh sistem untuk merespon dan lalu melihat bagaimana sistem dapat
memberikan respon (use case sistem). (Satzinger et al, 2005, p.167)
Pentingnya konsep dari event untuk mendefinisikan kebutuhan sistem dikenalkan
untuk analisis struktur modern ketika konsep ini diadaptasikan pada waktu nyata pada
tahun 1980an. Sistem ini dibutuhkan untuk beraksi secepatnya untuk event yang ada
pada lingkungan. Pada dasarnya terdapat tiga buah tipe event yakni external event,
temporal event, dan state event. External event adalah event yang terjadi diluar sistem,
biasanya dilakukan oleh external agent. External agent adalah seseorang atau bagian
dari organisasi yang memberikan atau menerima data dari sistem akan tetapi bukan
pengguna sistem langsung. Temporal event adalah sebuah event yang terjadi sebagai
hasil telah sampainya waktu yang telah ditentukan. State event adalah sebuah event yang
terjadi ketika sesuatu terjadi didalam sistem yang memicu untuk sebuah proses.
(Satzinger et al, 2005, p.168)
58
2.16.1.3. Classes
Secara khusus kita dapat mendeskripsikan objek sebagai sebuah class
dibandingkan sebuah individual. Class sangat berguna untuk memahami objek dan
sangat penting untuk mendeskripsikan objek. Dibandingkan dengan menjelaskan setiap
objek masing-masing, maka akan lebih baik jika mengembangkan sebuah objek bersama
untuk semua objek yang ada dalam class yang sama. Class itu sendiri memiliki
pengertian: sebuah deskripsi dari sekumpulan objek yang memiliki struktur yang sama,
pola behavioral dan atribut. (Mathiassen et al., 2000, p. 4)
Aktivitas class terdiri atas tiga buah kegiatan utama yaitu abstraksi, klasifikasi,
dan pemilihan. Fenomena problem domain diabstraksikan dengan melihat problem
domain sebagai objek dan class. Lalu objek dan class diklasifikasikan dan memilih class
dan event yang mana yang akan mempertahankan informasi pada sistem. Classes adalah
hal pertama yang akan mendefinisikan dan membatasi problem domain. Setiap class
dapat dikarakterisasikan berdasarkan sekumpulan event. (Mathiassen et al., 2000, p. 49)
2.16.1.3.1. Klasifikasi dari objek dan events
Selama proses analisis, sebuah objek adalah abstraksi dari sebuah fenomena di
dalam sistem konteks seperti pelanggan. Objek mengekspresikan sudut pandang user
secara nyata. Orang tertentu adalah pelanggan dan orang tersebut akan diperlakukan
sebagai sebuah entitas tunggal dengan identitas, state dan behavior yang spesifik.
Seorang pelanggan juga bisa menjadi objek desain. Dalam desain, objek pelanggan akan
merepresentasikan bagian dari sejarah orang ternteu dan state selama berada di dalam
sistem dan membuat berbagai operasi dapat dilakukan oleh sistem objek lainnya.
59
Dengan menggunakan objek ini, sistem dapat mengatur dan menyimpan data pelanggan
secara spesifik.(Mathiassen et al, 2000, p. 4)
Dalam klasifikasi aktivitas, terfokus pada objek yang dikerjakan oleh user
dengan tujuan untuk menciptakan dan memilih abstraksi yang bersangkutan. Dalam
klasifikasi aktivitas ini memiliki tiga buah prinsip dasar. Pertama, klasifikasikan objek di
dalam problem domain. Kedua, karaterisasikan objek berdasarkan event. Ketiga,
memiliki pemikiran yang terbuka, tapi memilih dengan kritis. (Mathiassen et al., 2000,
p. 50)
Menurut Mathiassen et al. (2000, p. 4) dalam Object Oriented Analysis and
Design, yang menjadi dasar utama adalah sebuah objek. Selama proses analisis,untuk
mengorgansisasikan pemahaman akan konteks dari sebuah sistem maka akan digunakan
objek. Selama proses desain, objek digunakan untuk pemahaman dan mendeskripsikan
sistem itu sendiri. Sedangkan objek itu sendiri berarti sebuah entitas dengan identitas,
state, dan behavior. (Mathiassen et al., 2000, p. 50)
Sedangkan event itu menspesifikasikan kualitas dari objek dalam problem
domain. Event memiliki pengertian sebagai sebuah kejadian instant yang melibatkan
satu atau lebih objek. Event juga merupakan sebuah abstraksi dari aktivitas problem-
domain atau proses yang dijalankan atau dirasakan oleh satu atau lebih objek.
(Mathiassen et al., 2000, p. 51)
Untuk mengidentifikasikan semua objek dan event yang ada agar dapat
dimasukkan ke dalam sebuah model problem-domain yang relevan maka objek-objek
tersebut dikelompokkan menjadi beberapa class. Class memiliki pengertian sebagai
sebuah deskripsi dari sekumpulan objek yang berbagi struktur, behavioral pattern, dan
atribut. (Mathiassen et al., 2000, p. 53)
60
2.16.1.3.2. Menentukan Class
2.16.1.3.2.1. Membuat daftar dari objek
Pemilihan class akan mendefinisikan hal yang paling pertama dan paling dasar
dari sebuah blok bangunan untuk model problem-domain. Untuk mendapatkan sebuah
deskripsi dari problem-domain maka harus bekerja sama dengan user. Dalam
mendapatkan kandidat class, sebaiknya menggunakan nama yang simpel dan mudah
dibaca, original di dalam problem domain, dan mewakili sebuah contoh. (Mathiassen et
al., 2000, p. 55)
Terdapat beberapa panduan umum yang bisa digunakan untuk membantu analis
dalam membuat daftar sumber informasi yang mana sistem perlu untuk menyimpannya.
Beberapa prosedur yang berguna untuk diikuti adalah dengan mendaftar semua kata
benda yang disebutkan oleh pengguna ketika membicarakan mengenai sistem. Untuk
membuat daftarnya bisa dibuat dengan cara pertama yaitu menggunakan event table, dan
informasi mengenai setiap event dan identifikasikan setiap kata benda, kedua
menggunakan informasi lainnya yang berasal dari sistem yang sudah ada, prosedur yang
ada ataupun laporan-laporan yang ada, dan ketiga adalah dengan menentukan apakah
dari kata-kata benda tersebut memang perlu disimpan, hanya merupakan atribut dari kata
benda yang lain, atau memang tidak perlu untuk disimpan. (Satzinger et al, 2005, p.179)
Menurut Mathiassen et al. (2000, p. 61) untuk dapat memilih sebuah class, class
tersebut harus dapat menjawab beberapa pertanyaan seperti:
- Apakah bisa mengidentifikasikan sebuah objek dari class tersebut?
- Apakah class tersebut mengandung informasi yang unik?
- Apakah class tersebut dapat mewakili beberapa objek?
61
- Apakah class tersebut memiliki beberapa event yang sesuai dan dapat
dijalankan?
2.16.1.3.2.2. Asosiasi antar objek
Setelah menemukan dan menyimpan hal apa saja yang disimpan maka
dibutuhkan untuk mencari informasi tambahan. Seperti hubungan antar objek
merupakan hal yang penting untuk sistem. Hubungan tersebut berupa asosiasi yang
muncul dalam hubungan antar objek tertentu sebagai contoh sebuah order diberikan oleh
pelanggan dan pelanggan bekerja pada suatu bagian/divisi. (Satzinger et al, 2005, p.181)
2.16.1.3.2.3. Atribut dari objek
Sebagian besar dari sistem informasi menyimpan dan menggunakan informasi
spesifik mengenai setiap objek. Setiap informasi spesifik ini disebut dengan atribut.
Dimana setiap objek bisa memiliki beberapa atribut. Atribut yang merupakan secara
unik mendefinisikan objek disebut dengan identifier atau key.
2.16.1.4. Event table
Informasi yang paling penting untuk mengidentifikasikan adalah use case yang
dibutuhkan oleh sistem untuk merespon setiap event yang ada. Informasi ini dimasukkan
kedalam event table. Event table termasuk di dalamnya baris dan kolom,
merepresentasikan event dan detilnya. Setiap baris dalam event table menyimpan
informasi mengenai satu event dan use case-nya. Setiap kolom dalam tabel
merepresentasikan kunci informasi mengenai event dan use case-nya. Sebagai contoh
dari event table dapat di lihat pada gambar 2.9. (Satzinger et al, 2005, p.174)
62
Event Trigger Source Use Case Response Desination
Customer wants to
chect item
availability
Item inquiry Customer
Look up
item
availability
Item availability
details Customer
Sumber: Satzinger et al, 2005, p.175
Gambar 2. 9 Contoh dari event table.
Pertama-tama untuk setiap event, bagaimana sistem tau bahwa sebuah event terjadi?
Sebuah signal yang memberi tahu sistem bahwa event terjadi disebut dengan trigger.
Sumber datanya juga penting untuk diketahui. Kemudian apa yang dilakukan oleh
sistem ketika suatu event terjadi dsebut sebagai use case. Hasil atau respon dari use case
dalam sistem tersebut disebut juga response. Dan destination adalah temat dimana
respon apapun dikirimkan, kepada external agent. Terkadang use case tidak
menghasilkan respon apapun. (Satzinger et al, 2005, p.175)
2.16.1.5. Structure
Aktivitas di dalam sebuah struktur berfokus pada hubungan antara classes dan objek.
Pada aktivitas class, dilakukan pemilihan classes untuk pemodelan problem-domain dan
mengkarakterisasikan setiap class dengan event-nya. Sedangkan pada aktivitas struktur,
pengembangan dilakukan dengan menambahkan deskripsi dengan menambahkan
Source: For external event, the
external agent is the source of
Response: what output (if any) is
produce by the system?
The event that causes the system
to do something
Destination: what external
agents gets the output
Trigger: how does the system know the event
occurred? For external events, the trigger is data
entering the system. For temporal events, it is
Use case: what does the system do
when the event occurs? The use case
is what is important to define for
63
hubungan strutural antara classes dan objek. Hasil dari aktivitas struktur ini adalah class
diagram. (Mathiassen et al., 2000, p. 69)
Pada class diagram, bentuk persegi merepresentasikan class, dan garis yang
menghubungkan persegi menunjukkan asosiasi antar class. Gambar 2.10 menunjukkan
contoh simbol untuk sebuah class customer. Dan gambar 2.11 menunjukkan contoh dari
sebuah class diagram. (Satzinger et al, 2005, p.187)
Sumber: Satzinger et al, 2005, p.187
Gambar 2. 10 Simbol class diagram
Sumber: Mathiassen et al., 2000, p. 70
Gambar 2. 11 Contoh sebuah class diagram.
64
2.16.1.5.1. Struktur Object-Oriented
Dalam pengembangannya, pemodelan problem-domain dengan struktur object-
oriented menggunakan perbedaan mendasar dari objek dan class. Untuk tingkatan objek
yang lebih konkrit, dapat melihat fenomena dari sebuah problem domain sebagai sebuah
objek dengan properti tertentu yang menunjukkan identitas, state dan behavior dari
objek tersebut. Sebagai contoh, terkadang dapat melihat seseorang sebagai karyawan
dari sebuah perusahaan akan tetapi tidak melihat orang tersebut sebagai seorang anggota
keluarga yang memiliki anak, hobi, keluarga dan lainnya. Dari hal ini dapat dilihat
bahwa dalam pembuatan objek terkadang hanya melihat properti tertentu yang memiliki
hubungan dengan problem domain. Untuk menjelaskan hal ini, terdapat dua jenis
struktur dari objek yaitu: pertama, struktur agregasi dimana menjelaskan hubungan
antara objek dan komponen objek, dan kedua, struktur asosiasi dimana menjelaskan arti
hubungan objek yang lain. (Mathiassen et al., 2000, p. 70)
Dalam tingkatan class yang abstrak, lebih memperhatikan hubungan konseptual
antara dua atau lebih class di dalam problem domain. Class adalah sebuah deskripsi dari
properti dan behavioral pattern yang umum diantara semua objek yang ada di dalam
grup tersebut. Untuk mendeskripsikan hubungan konseptual antar class, maka dibagi
menjadi dua jenis struktur class yaitu: pertama, struktur generalisasi dimana menjelaskan
sebuah class yang merupakan spesialisasi dari beberapa class yang lebih umum. Kedua,
struktur cluster, dimana merupakan sebuah grup dari class yang saling berhubungan.
(Mathiassen et al., 2000, p. 71)
Aktivitas struktur di bagi menjadi tiga buah sub-aktivitas. Pada sub-aktivitas
pertama, mengkombinasikan problem-domain dengan tipe struktur yang berbeda untuk
menciptakan kandidat untuk hubungan struktural diantara class dan objek yang terpilih.
65
Pada sub-aktivitas kedua, mengekplorasi relevansi dari beberapa pola umum untuk
memperluas model dari problem-domain. Di sub-aktivitas ketiga, mengevaluasi dan
memilih hubungan struktural yang dibutuhkan dari beberapa kandidat. Ketiga sub-
aktivitas ini dapat dilihat pada gambar 2.12. (Mathiassen et al., 2000, p. 71)
Sumber: Mathiassen et al., 2000, p. 72
Gambar 2. 12 Sub-aktivitas untuk memodelkan struktur problem-domain.
2.16.1.5.2. Struktur antar class
Ada 2 cara untuk memahami struktur dari problem domain dalam dunia nyata
yakni generalisasi/spesialisasi hirarki, dan whope-part hirarki. (Satzinger et al, 2005,
p.189)
2.16.1.5.2.1. Generalisasi/spesialisasi hirarki
Struktur generalisasi adalah sebuah relasi antara dua atau lebih class spesial dan satu
atau lebih class umum. Dimana pengertian generalisasi itu sendiri adalah sebuah class
general (super class) mendeskripsikan properti umum kepada sekelompok class spesial
66
(subclass). Sebagai contoh class dari “taxi” dan “private car” merupakan spesialisasi
dari class general dari “Passenger Car” seperti pada gambar 2.13.(Mathiassen et al.,
2000, p. 72)
Sumber: Mathiassen et al., 2000, p. 73
Gambar 2.13 Struktur generalisasi.
Tipikal struktur generalisasi adalah hirarkikal oleh karena itu subclass apapun
merupakan spesialiasasi dari tepat satu super class. Bagaimanapun juga, multiple
inheritance (turunan berganda) dimana sebuah class menuruni properti dari dua atau
lebih super class yang dapat meningkatkan model dari beberapa kasus seperti pada
gambar 2.14. .(Mathiassen et al., 2000, p. 74)
Sumber: Mathiassen et al., 2000, p. 74
Gambar 2. 13Beberapa contoh tipe Account dengan multiple inheritance.
67
2.16.1.5.2.2. Whole-part hirarki
Cara lain untuk menstrukturisasi informasi adalah dengan mendefinisikan
informasi tersebut menjadi bagian-bagian yang lebih kecil. Whole-part hirarki
menggambarkan hubungan yang telah teridetifikasi dalam pembuatan asosiasi antar
objek dan komponennya. Ada dua tipe whole-part hirarki yakni agregasi dan komposisi.
Agregasi digunakan untuk mendeskripsikan asosiasi whole-part antara aggregate(whole)
dan komponennya (parts). Komposisi digunakan untuk menggambarkan asosiasi
whole-part secara lebih kuat, dimana ketika sebuah bagian sekali terasosiasi tidak bisa
lagi dipisahkan. (Satzinger et al, 2005, p.191)
2.16.1.5.3. Struktur antar objek
Terdapat dua buah tipe struktur objek yaitu agregasi dan asosiasi. Kedua struktur
ini menangkap hubungan dinamis antar objek di dalam problem-domain. Struktur objek
ini dideskripsikan di dalam class diagram sebagai hubungan struktural antara dua atau
lebih class. Struktur ini dideskripsikan pada tingkatan class dengan menentukan properti
multiplicity yang menjelaskan beberapa objek dari class yang berhubungan dapat
terkoneksi. (Mathiassen et al., 2000, p. 75)
2.16.1.5.3.1. Struktur Agregasi
Struktur agregasi merupakan hubungan antara dua atau lebih objek. Struktur ini
menunjukkan bahwa satu objek merupakan dasar dan menjelaskan bagian dari yang lain.
Sebuah struktur agregasi menggambarkan sebuah garis antara class yang keseluruhan
dengan bagiannya, dimana garis tersebut diakhiri dengan sebuah belahketupat pada class
yang memodelkan keseluruhan, hal ini dapat dilihat pada gambar 2.14. Secara
68
pengucapan, agregasi dapat diekspresikan dengan formulasi “kepunyaan” atau “bagian
dari”. (Mathiassen et al., 2000, p. 76)
Sumber: Mathiassen et al., 2000, p. 75
Gambar 2. 14 Struktur Agregasi.
2.16.1.5.3.2. Struktur Asosiasi
Struktur asosiasi juga merupakan sebuah hubungan antara dua atau lebih objek,
tapi berbeda dengan agregasi, dimana yang mengasosiasikan objek bukan menjelaskan
properti dari sebuah objek. Asosiasi ini sendiri memiliki pengertian hubungan antara
sejumlah objek. (Mathiassen et al., 2000, p. 75)
Struktur asosiasi digambarkan dengan sebuah garis lurus antara class yang
berhubungan. Mendeskripsikan multiplicity dari asosiasi sama dengan ketika
mendeskripsikan multiplicity dari agregasi. Karena struktur asosiasi tidak
mengutamakan urutan, dan penempatan class yang saling berhubungan dapat dimana
saja di dalam class diagram. Asosiasi seringkali digunakan ketika agregasi menunjukkan
69
keterikatan yang terlalu kuat. Seperti pada gambar 2.15 dimana gambar ini menunjukkan
hubungan antara manusia dengan mobil. Dimana dalam hal ini, tidak masuk di akal
ketika mengatakan bahwa objek dari mobil atau manusia memiliki objek yang lain dari
class yang berbeda sebagai bagiannya. Secara pengucapan, asosiasi dapat diekspresikan
dengan formulasi “diketahui atau dimiliki” atau “memiliki hubungan dengan”.
(Mathiassen et al., 2000, p. 77)
Sumber: Mathiassen et al., 2000, p. 77
Gambar 2. 15 Struktur Asosiasi.
2.16.1.5.4. Menemukan Kadidat untuk Struktur
Memodelkan hubungan struktural sama seperti ketika melakukan pemilihan class dan
event. Dimulai dari mengumpulkan kandidat untuk hubungan struktural diantara model-
model class. Dimana pengumpulan kandidat ini berdasarkan pada prinsip: mempelajari
abstrak, hubungan statis antar class dan mempelajari konkrit, hubungan dinasmis antar
objek. Dalam mengumpulkan kandidat, didasarkan pada empat tipe struktur.
(Mathiassen et al., 2000, p. 77)
2.16.1.5.4.1. Identifikasi Generalisasi
Untuk menghasilkan kandidat untuk struktur generalisasi terdapat tiga macam
pendekatan. Pertama, memilih dari semua class yang berpasangan dan tentukan apakah
satu dari dua class tersebut merupakan generalisasi dari yang lainnya. Kedua, tentukan
70
apakah ada class generalisasi yang dapat terbentuk dari sepasang class yang dipilih.
Ketiga, mengambil setiap class yang dipilih, mencoba untuk mendefinisikan sebuah
generalisasi atau spesialisasi yang sesuai. (Mathiassen et al., 2000, p. 78)
2.16.1.5.4.2. Identifikasi Agregasi
Untuk menemukan kandidat untuk struktur agregasi terdapat tiga macam
pendekatan. Pertama, memeriksa setiap pasang class untuk melihat apakah mungkin
objek dari suatu class merupakan bagian objek dari class yang lain. Kedua, menentukan
apakah sesuai untuk mengagregasikan objek dari setiap pasang class kedalam objek dari
sebuah class yang baru saja dibuat. Ketiga, menentukan apakah setiap class dapat
dipecah menjadi beberapa class yang tidak terdapat dalam model yang sudah di buat.
(Mathiassen et al., 2000, p. 78)
Menurut Mathiassen et al., (2000, p. 79), dalam mendefinisikan hubungan dalam
agregasi, terdapat tiga jenis aplikasi dari struktur agregasi:
• Whole-part, dimana keseluruhan merupakan penjumlahan dari bagian-bagian;
ketika menambahkan atau mengurangi bagian apapun, dapat merubah
keseluruhan secara mendasar
• Container-content, dimana keseluruhan merupakan tempat penampungan dari
bagian-bagian; ketika menambahkan atau mengurangi bagian apapun, properti
dasar dari keseluruhan tidak berubah.
• Union-member, dimana keseluruhan merupakan keteraturan dari kesatuan
anggota. Kesatuan ini tidak dirubah secara fundamental baik dengan
menambahkan atau mengurangi beberapa anggota.
71
2.16.1.5.4.3. Identifikasi Asosiasi
Untuk menghasilkan struktur asosiasi, perlu diperhatikan sisa dari class yang
berpasangan untuk melihat apakah class-class tersebut dapat saling terhubung dengan
sebuah arti. Sebuah asosiasi perlu untuk dideskripsikan kapanpun harus melakukan
kegiatan administrasi, mengawasi, dan mengendalikan hubungan antar objek yang
dengan kata lain tidak berhubungan dengan model. (Mathiassen et al., 2000, p. 79)
2.16.1.6. Behavior
Oleh karena sistem biasanya berhadapan dengan kenyataan yang dinamis, maka
diperlukan pemahaman terhadap apa yang terjadi di problem-domain secara berulang-
ulang. Sebuah sistem memiliki tujuan mendasar yakni untuk mendaftar, menyimpan dan
menghasilkan informasi mengenai kejadian dalam problem-domain. Agar sistem dapat
mengendalikan suatu batasan dalam suatu event untuk dipatuhi atau dilanggar,
pemodelan problem domain harus memasukkan deskripsi dari event trace yang mungkin
dari setiap class. (Mathiassen et al., 2000, p. 89)
Untuk aktivitas behavior, pengembangan definisi class di dalam class diagram
diperlukan untuk menambahkan deskripsi mengenai behavioral pattern dan atribut dari
setiap class. Hasil dari aktivitas behavior ini diekspresikan dalam gambar dalam sebuah
state chart diagram yang dapat dilihat pada gambar 2.16. (Mathiassen et al., 2000, p.
89)
72
Sumber: Mathiassen et al., 2000, p. 90
Gambar 2.16 Sebuah statechart diagram sederhana untuk class “Customer” di dalam
bank.
2.16.1.6.1. Behavioral pattern dan atribut
Sebuah objek adalah antitas dengan identitas, state dan behaviour. Di dalam
aktivitas class dapat dilihat behavior sederhana sebagai suatu kumpulan event yang tidak
teratur yang melibatkan sebuah objek. Di dalam aktivitas behavior, pendeskripsian
behavior menjadi lebih akurat dengan menambahkan waktu relatif dari suatu event.
Sebuah behavior dari objek didefinisikan oleh sebuah event trace yang menunjukkan
event dalam suatu urutan dari waktu ke waktu. (Mathiassen et al., 2000, p. 90)
Event trace ini memiliki arti yakni sebuah urutan event yang melibatkan objek
tertentu. Sebuah event trace adalah unik untuk sebuah objek tertentu. Ini adalah sebuah
urutan event secara tepat yang melibatkan objek dalan interval waktu tertentu. Sebagai
contoh, objek dari class “Customer” memiliki event trace berikut sepanjang masa hidup
objek ini:
Account opened – amount deposited – amount withdrawn – amount deposited
– account closed. (Mathiassen et al., 2000, p. 90)
73
Fokus di dalam object oriented pada analisis problem-domain adalah pada
objeknya, tapi untuk alasan tertentu, mendeskripsikan sekelompok objek dengan definisi
class umum. Oleh sebab itu, perulangan untuk mendeskripsikan behavior dari setiap
objek yang ada di dalam problem-domain dilakukan. Sebagai gantinya, behavioral
pattern untuk objek class dapat diartikan sebagai sebuah deskripsi atas event trace yang
mungkin untuk semua objek di dalam class. (Mathiassen et al., 2000, p. 90)
Behavioral pattern mendeskripsikan behavior umum untuk semua objek dari
class. Untuk menghasilkan patern, digunakan contoh dari event traces untuk objek
individu di dalam class berdasarkan pada prinsip: membuat behavioral pattern dari
event trace. Event trace dan behavioral pattern sama-sama berhubungan dengan sebuah
objek atau class. Untuk melangkah dari objek individu ke arah problem domain dinamis,
dilakukan penekanan pada kolaborasi objek dan deskripsi event umum untuk dua atau
lebih objek. Hal ini ditunjukkan pada prinsip: mempelajari event umum. Event umum
dapat digunakan untuk mendeskripsikan interaksi antar class, karena semua event
dinamakan secara umum disepanjang problem-domain.
Ketika memodelkan problem-domain, dapat diformulasikan kebutuhan untuk
data yang akan disimpan oleh sistem, dan oleh karena itu menjadikan data dapat diakses
melalui fungsi dan interface. Untuk menspesifikasikan data digunakan atribut yang
berarti sebuah properti deskriptif untuk sebuah class atau event. Aktivitas behavior
termasuk di dalamnya empat buah sub-aktivitas, seperti digambarkan pada gambar 2.17.
Dimana dimulai dari event table dan class diagram. Untuk memulai mendeskripsikan
behavioral pattern dari setiap class dalam class diagram menggunakan event yang
berhubungan sebagai fondasi awal. (Mathiassen et al., 2000, p. 92)
74
Sumber: Mathiassen et al., 2000, p. 92
Gambar 2. 17 Sub-aktivitas dalam pemodelan behavior objek.
2.16.1.6.2. Notasi untuk Behavioral Pattern
Sebuah behavioral pattern menggunakan event tunggal yang digunakan untuk
pengendalian struktur dasar dari struktur pemrograman yakni:
• Sequence: event dalam sekelompok yang terjadi satu demi satu.
• Selection: Tepat satu dari sekelompok event yang terjadi.
• Iteration: Suatu event terjadi nol sampai beberapa kali.
Behavioral pattern adalah deskripsi yang menangkap karakter dinamis dari problem-
domain tanpa menspesifikasikan kenapa dan bagaimana suatu behavior tertentu dapat
terjadi. (Mathiassen et al., 2000, p. 93)
75
Sebuah behavioral pattern dengan sequence, selection dan iteration dapat
dideskripsikan menjadi yang paling komprehensif dibandingkan ekspresi biasanya.
Menggunakan simbol “+” yang mewakili sequence, simbol “|” yang mewakili selection
dan simbol “*” yang mewakili iteration, behavior dari customer dapat dideskripsikan
menjadi: account opened + (amount deposited | amount withdrawn)* + account closed.
(Mathiassen et al., 2000, p. 93)
Behavioral pattern juga dapat dideskripsikan berupa gambar dengan menggunakan
statechart diagram. Notasi klasik ini pada umumnya digunakan untuk mendeskripsikan
adanya kedinamisan yang melibatkan sejumlah state dan sejumlah transisi. Seperti pada
gambar 2.18, tiga buah struktur pengendalian klasik yang digunakan dalam ekspresi
biasa dapat juga digunakan untuk diekspresikan dalam statechart diagram. (Mathiassen
et al., 2000, p. 94)
Sumber: Mathiassen et al., 2000, p. 95
Gambar 2.18 Struktur pengemdalian di dalam statechart diagram.
76
Sequence diekspresikan dengan menggunakan event yang menjalani melalui beberapa
stte, dimana setiap state hanya memiliki satu buah event. Event tersebut harus terjadi
agar urutannya dapat dijelaskan oleh anak panah. Selection diekspresikan dengan
membuat semua kemungkinan event keluar dari state yang sama. Iteration diekspresikan
dengan membuat event kembali ke state awalnya. (Mathiassen et al., 2000, p. 94)
2.16.2. Analisis Application-Domain
Analisis application-domain berfokus pada bagaimana sistem yang dituju dapat
digunakan. Fokus ini berguna unutk mendefinisikan kebutuhan untuk function dan
interface sistem. Analisis application-domain berinteraksi dengan analisis problem-
domain. Menentukan urutan dalam pengerjaan kedua aktivitas Utama ini adalah sebuah
strategi. Jika memulai dengan menganalisa application-domain maka untuk selanjutnya
akan berfokus pada pekerjaan user dan mungkin menspesifikasikan berbagai kebutuhan
detil. Namun jika memulai dengan menganalisa problem-domain maka untuk
selanjutnya akan berfokus pada bisnis apa yang sebenarnya di jalankan, dibandingkan
dengan interfaces dan function. (Mathiassen et al., 2000, p. 115)
Stable properties
Model Function
Transient properties
Interfaces
Sumber: Mathiassen et al., 2000, p. 116
Gambar 2. 19 Stabilitas relative dari property sistem yang berbeda
77
Pada gambar 2.19 menggambarkan sebuah model sistem yang lebih stabil, dan
untuk function dan interface lebih bersifat sementara. Jadi ketika terjadi perubahan pada
model, function dan interface juga berubah. Akan tetapi perubahan pada function tidak
harus merubah model yang ada. Oleh karena itu, function dan interface kebutuhan untuk
berubah lebih sering, namun model sistem jarang sekali berubah. (Mathiassen et al.,
2000, p. 116)
Sumber: Mathiassen et al., 2000, p. 117
Gambar 2. 20 Analisis application domain
Pengarahan kebutuhan berdasarkan pada dua prinsip dasar. Pertama, tentukan
application-domain dengan use case. Dimana use case menawarkan solusi elegan untuk
masalah klasik di analisis application-domain dimana berfokus pada pekerjaan user
dapat menghasilkan terlalu banyak informasi dengan terlalu banyak detil. Kedua,
berkolaborasi dengan user. Spesifikasi kebutuhan tidak menjadi langkah satu arah. User
mungkin tidak mengerti mengenai kebutuhan teknikal dengan baik untuk menulisakan
78
kebutuhan optimal. Oleh karena itu kerjasama antara user dengan pengembang sangat
dibutuhkan. Kebutuhan akan usage, function dan interface perlu untuk dievaluasi seperti
pada gambar 2.20. Dan aktivitas umum pada application domain analisis dapat dilihat
pada tabel. 2.2. (Mathiassen et al., 2000, p. 117)
Tabel 2. 2 Aktivitas pada analisis application-domain
Activity Content Concepts
Usage
How does the system
interact with people
and sustems in the
context?
Uce Case and
actor
Function What are the sustem's
information
processing capabilities
Funtion
Interfaces
What are the target
system's interface
requirements?
Interface, user
interface, and
system
interface
Sumber: Mathiassen et al., 2000, p. 117
2.16.2.1. Usage
Untuk dapat digunakan sistem harus sesuai dengan application domain. Untuk
melakukan penyesuaian ini dapat dilakukan dengan mendeskripsikan actor dan use case
berdasarkan pada pemahaman atas aktivitas application domain. Use case menyediakan
79
gambaran umum dari kebutuhan sistem dari sudut pandang user dan menyediakan
landasan untuk mendefinisikan dan mengevaluasi fungsi dasar yang lebih banyak dan
kebutuhan interface. (Mathiassen et al., 2000, p. 119)
2.16.2.1.1. Use Case
Menganalisis application domain yang sudah ada dapat menciptakan sejumlah
besar informasi detil yang memiliki sedikit nilai untuk mengembangkan proses. Untuk
kemudahan, diperlukan untuk mempertahankan tingkatan abstraksi yang relevan dan
berfokus pada interaksi antara user dan sistem. Use case dapat membantu dalam
mendapatkan tingkatan fokus dan abstraksi yang relevan. (Mathiassen et al., 2000, p.
119)
Menurut Mathiassen et al.(2000, p. 119), actor adalah abstraksi dari user atau
sistem lain yang berinteraksi dengan sistem tujuan. Dan use case adalah sebuah pola
untuk interaksi antara sistem dan aktor di dalam application domain. Sebuah use case
menentukan semua kegunaan dari sistem yang dituju dengan application domain.
Prinsip utama dalam menentukan kegunaan sistem adalah menentukan application
domain dengan use case.
80
Sumber: Mathiassen et al., 2000, p. 117
Gambar 2. 21 sub-aktivitas dari usage.
Menentukan use case merupakan aktivitas multi aspek. Pertama, memerlukan
kerjasama antara user dan pengembang. Kedua menentukan use case adalah proses
analitikal seperti aktivitas kreatif. Ketiga, menentukan use case adalah aktivitas
deskriptif dan eksperimental. Keempat, use case mendefinisikan target sistem dan
application domain-nya. Pada gambar 2.21 menunjukkan rangkuman aktivitas pada
analisis usage dimana actor dan use case didefinisikan, dan sering menggunakan pola
sebagai inspirasi. Pada tabel 2.3 menunjukkan actor table menunjukkan interaksi secara
umum. Dan pada gambar 2.22 menunjukkan informasi yang sama pada tabel 2.3 akan
tetapi menggunakan use case diagram. (Mathiassen et al., 2000, p. 120)
81
Tabel 2.3 Sebuah contoh actor table..
Actors
Use cases
Account
Owner Creditor Administrator
Liquidity
Monitor
Payment √ √
Cash withdrawal √
Money Transfer √ √ √
Account
Information √ √ √
Credit Information √ √
Registration √
Monitoring √
Error Correcting √
Sumber: Mathiassen et al., 2000, p. 121
Sumber: Mathiassen et al., 2000, p. 122
Gambar 2. 22 Contoh use case diagram..
82
Dalam penggambaran use case, use case itu sendiri dilambangkan dengan bentuk
oval dengan nama dari use case-nya berada di dalam. Garis yang menghubungkan actor
dengan use case menunjukkan actor yang mana yang menjalankan use case yang mana.
(Satzinger, Jackson, & Burd, 2005, p. 215)
2.16.2.1.2. Use case descriptions
Diagram use case membantu dalam mengidentifikasi berbagai proses yang user
lakukan dan hal yang harus didukung oleh sistem baru. Untuk membuat sebuah sistem
secara mendalam, maka diperlukan pemahaman secara mendalam mengenai semua
langkah yang harus dimengerti. Terdapat tiga tahapan dalam penulisan use case
description yaitu: brief description, intermediate description, dan fully developed
description.
Brief description digunakan untuk use case yang sangat sederhana, terutama
ketika sistem akan dikembangkan adalah sistem yang kecil dan juga merupakan aplikasi
yang mudah dimengerti. Intermediate description merupakan pengembangan dari brief
description dimana menyertakan alur dari aktivitas dari sebuah use case. Jika ada
beberapa skenario maka setiap aktivitas dideskripsikan masing-masing. Kondisi
pengecualian (exception conditions) juga di ikut sertakan jika memang diperlukan.
(Satzinger, Jackson, & Burd, 2005, p. 220)
Fully developed descriptions merupakan metode dokumentasi use case yang
paling formal. Dalam pembuatannya, terdapat beberapa bagian yakni bagian pertama
dan kedua digunakan untuk mengidentifikasikan use case dan skenario untuk use case-
nya. Bagian ketiga digunakan untuk mengidentifikasikan pemicu untuk use acse
tersebut. Bagian keempat merupakan brief description daru use case. Bagian kelima,
83
mengidentifikasikan aktornya. Bagian keenam digunakan untuk mengidentifikasi use
case lain dan bagaimana use case ini saling terhubung. Bagian keenam digunakan untuk
mengidentifikasikan bagian lain yang terhubung selain dari aktor utama. Dua bagian
berikutnya digunakan untuk menyediakan informasi penting mengenai kondisi use case
sebelum dan sesudah use case tersebut dijalankan. Kedua bagian terakhir digunakan
untuk mendeskripsikan alur aktivitas dari use case. Kondisi alternatif dan kondisi
eksepsi dijelaskan pada bagian terakhir. (Satzinger, Jackson, & Burd, 2005, pp. 221-225)
2.16.2.1.3. Function
Menurut Mathiassen, et al. (2000, pp137-138). Function berfokus pada
bagaimana cara sebuah sistem dapat membantu aktor dalam melaksanakan pekerjaan
mereka. Function memiliki empat tipe yang berbeda, yaitu:
• Update
Fungsi update diaktifkan oleh event problem domain dan menghasilkan
perubahan status model.
• Signal
Fungsi signal diaktifkan oleh perubahan status model dan menghasilkan
reaksi di dalam context.
• Read
Fungsi read diaktifkan oleh kebutuhan actor akan informasi dan
menghasilkan tampilan model sistem yang relevan.
84
• Compute
Fungsi compute diaktifkan oleh kebutuhan actor akan informasi dan berisi
perhitungan yang dilakukan baik oleh actor maupun oleh model. Hasilnya
adalah tampilan dari hasil perhitungan yang dilakukan.
Tujuan dari kegiatan function adalah untuk menentukan kemampuan sistem
memproses informasi. Hasil dari kegiatan ini adalah sebuah daftar function-function
yang merinci function-function yang kompleks. Daftar function harus lengkap
menyatakan secara keseluruhan kebutuhan kolektif dari pelanggan dan aktor sehingga
harus konsisten dengan use case. (Mattiassen et al, 2000, p.139)
Untuk beberapa fungsi, perlu untuk mendeskripsikan isinya dengan lebih
mendetail untuk mengerti apa yang harus dilakukan. Deskripsi lebih mendetail ini hanya
untuk fungsi yang paling kompleks. Fungsi-fungsi yang ada harus konsisten dengan
hasil analisis lainnya. (Mattiassen et al, 2000, p.140-141)
2.16.2.1.4. User Interface
Interface digunakan oleh seorang actor untuk melakukan interaksi dengan sistem.
Interface juga menghubungkan sistem untuk semua actor yang saling terkait di dalam
sistem. Sebuah user interface yang baik membantu user dalam melakukan pekerjaannya
dan konsep mengenai sistem. (Mathiassen, Munk-Madsen, Nielsen, & Stage, 2000, p.
152)
Menurut Satzinger et al (2005, p. 444) user interfae terdiri atas tiga aspek yaitu,
pertama aspek fisik yang berupa semua alat yang digunakan atau disentuh oleh user
dalam menggunakan user interface berupa keyboard, mouse, dan lainnya, kedua aspek
persepsi yang berupa semua hal yang di dengar, dilihat oleh user, dan yang ketiga adalah
85
aspek konseptual, yakni semua yang diketahui oleh user mengenai penggunaan sistem,
termasuk didalamnya hal-hal yang berkaitan dengan “problem-domain” yang dapat
dimanipulasi atau operasi yang dapat digunakan oleh user.
2.16.2.2. Sequence Diagram
Sequence Diagram digunakan untuk mendeskripsikan alur informasi dari sistem
dan menuju ke sistem. Dalam pembuatan sequence diagram menggunakan sebuah
gambar stik orang yang mewakili user yang menggunakan sistem. Dalam sequence
diagram ini menunjukkan bagaimana user berinteraksi dengan sistem dengan melakukan
pemasukkan data dan menghasilkan data.
Dalam sequence diagram terdapat garis putus-putus yang disebut dengan
lifelines. Sebuah lifelines merupakan pengembangan dari objek secara sederhana,
Gambar anak panah menunjukkan pesan yang diterima atau yang dikirmkan oleh aktor
kepada sistem. Sebuah pesan dituliskan untuk mendeskripsikan pesan yang diterima
ataupun yang dikirimkan. Dan pesan yang dikembalikan oleh sistem diwakili oleh
gambar garis panah yang terputus-putus. Garis panah putus-putus ini menandakan
respon atau jawaban dan secara langsung mengikuti pesan yang dikirimkan sebelumnya.
(Satzinger, Jackson, & Burd, 2005, pp. 226-228)
2.16.3. Architectual Design
Architectural design berfungsi sebagai kerangka kerja dalam aktivitas
pengembangan sistem dan menghasilkan struktur komponen dan proses sistem.
Tujuannya adalah untuk menstrukturisasi sebuah sistem yang terkomputerisasi.
Architectual design juga berguna untuk menjembatani kriteria-kriteria dengan platform
86
yang tersedia. Dalam pengembangannya, architectural design terdiri dari tiga aktivitas
yaitu criteria, component architecture, dan process architecture seperti yang pada
gambar 2.23.
Gambar 2. 23 Aktivitas Architectural Design
Sumber: Mathiassen et al (2000, p176)
2.16.3.1. Component Architecture
Menurut Satzinger et al (2005, p. 280) Component architecture adalah struktur sistem
dari komponen-komponen yang berkaitan yang membantu dalam pembuatan sebuah
software. Beberapa contoh software architecture adalah:
- Client/server architecture
Client dan server merupakan sebuah model umum dari software di dalam suatu
organisasi yang dapat diterapkan dengan berbagai bentuk. Salah satunya adalah
dimana proses pengaksesan menggunakan sebuah workstation dan database
mengakses sistem yang lebih besar.
- Three-layer client/server architecture
Merupakan sebuah aplikasi software yang lebih besar lagi dimana membagi
layer-nya menjadi data layer yang digunakan untuk menyimpan database,
business logic layer yang digunakan untuk menjalankan prosedur-prosedur dari
87
proses bisnis, dan view layer yang menerima masukkan dan format dari user juga
menampilkan hasil-hasilnya.
- Middleware
Merupakan software yang menjadi penengah dalam proses komunikasi antar
layer. Middleware menghubungkan berbagai bagian dari aplikasi yang
membantu dalam pengiriman data diantara layer.
- Internet and web-based software architecture
Web arsitektur digunakan untuk perancangan berbasis web dimana para user
mengirimkan data melalui web yang melalui protocol.
2.16.3.2. Process architecture
Menurut Mathiassen et al (2000, p. 211) process architecture adalah sebuah
sistem eksekusi yang terdiri atas proses yang saling bergantung. Dalam buku Satzinger
et al (2005, p. 379), dalam penggambarannya, deployment diagram menggunakan dua
buah simbol yakni component symbol dan node symbol. Component symbol adalah
program yang dapat dijalankan dan terkandung didalamnya semua class yang dijalankan
menjadi sebuah entitas tunggal. Node symbol adalah sebuah simbol yang
merepresentasikan sebuah sumber daya komputer.
Menutur Satzinger et al (2005, pp. 380-385)Dalam proses implementasi,
deployment diagram dapat digunakan pada berbagai bentuk pada sistem berbasis
internet, seperti:
- Simple Internet Architecture
- Two Layer Architecture
- Three Layer Architecture