15 BAB II LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2011-2-00005-TISI...
Transcript of 15 BAB II LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2011-2-00005-TISI...
15
BAB II
LANDASAN TEORI
2.1 Pengertian Industri dan Teknik Industri
Menurut Sritomo (2003, p2), secara definitif, industri bisa diartikan
sebagai suatu lokasi atau tempat dimana aktivitas produksi akan
diselenggarakan, sedangkan aktivitas produksi bisa dinyatakan sebagai
sekumpulan aktivitas yang diperlukan untuk mengubah satu kumpulan
masukan (sumber daya manusia, material, energi, informasi, dan lain-lain)
menjadu produk keluaran (finish product atau service) yang memiliki nilai
tambah
Teknik industri dapat diartikan sebagai keahlian teknik (engineering)
yang berfungsi untuk merancang (design) fasilitas-fasilitas produksi seperti
pemilihan proses manufakturing, perencanaan fasilitas (lokasi, tata letak, dan
lain-lain) dan tata cara berproduksi (methods engineering). Selain itu tidak
kalah pentingnya, disiplin Teknik Indsutri ini juga bertanggung jawab untuk
merancang proses pengelolaan (manajemen) dari proses produksi atau
operasional agar sistem produksi tersebut bisa diselenggarakan secara
terencana, terorganisir dan terkendali. Disiplin Teknik Industri pada
hakikatnya juga mengusahakan tercapainya hasil secara optimal dan
pengelolaan faktor-faktor produksi yang didukung oleh pertimbangan
kelayakan teknik dan kelayakan ekonomis.
16
2.2 Distribusi
Menurut Chopra (2010, p86) distribusi adalah suatu kegiatan untuk
memindahkan produk dari pihak supplier ke pihak konsumen dalam suatu
rantai pasokan (supply chain). Distribusi terjadi diantara tahapan dari rantai
pasokan. Aliran bahan baku yang diperlukan berpindah dari pemasok
menuju perusahaan pembuat produk dan perusahaan tersebut akan
memindahkan barang jadi yang dihasilkan ke tangan konsumen. Distribusi
merupakan suatu kunci dari keuntungan yang akan diperoleh perusahaan
karena distribusi secara langsung akan mempengaruhi biaya dari supply
chain dan kebutuhan konsumen. Jaringan distribusi yang tepat dapat
digunakan untuk mencapai berbagai macam tujuan dari supply chain, mulai
dari biaya yang rendah sampai respons yang tinggi terhadap permintaan dari
pelanggan.
Menurut Bowersox (1996, p90), saluran distribusi adalah kegiatan
sekelompok pelaku bisnis yang memfasilitasi pertukaran produk dari pemilik
awal produk tersebut (bahan baku supplier) sampai ke konsumen akhir.
Menurut American Marketing Assciation (AMA), saluran distribusi
didefenisikan sebagai suatu struktur unit organisasi dalam perusahaan dan
agen luar perusahaan, dan dealer, pedagang grosir dan eceran,dimana
melalui suatu komoditi, produk atau jasa yang dipasarkan. Berikut ini adalah
gambar saluran distribusi menurut Bowersox (1996, p90):
17
Gambar 2.1 Saluran Distribusi Umum
Sumber : Bowersox (1996, p90)
Chopra (2010, pp87-88) menyatakan bahwa pada tingkat tertinggi,
kinerja dari jaringan distribusi dapat dievaluasi dari dua dimensi yaitu
pemenuhan dari kebutuhan konsumen dan biaya yang dibutuhkan untuk
memenuhi kebutuhan konsumen. Oleh sebab itu, suatu perusahaan harus
mengevaluasi dampak yang ditimbulkan dari pelayanan terhadap pelanggan
dan melakukan perbandingan terhadap biaya jika menggunakan jaringan
distribusi yang berbeda. Pemenuhan akan kebutuhan konsumen akan
mempengaruhi pendapatan perusahaan lewat biaya yang ditimbulkan dari
suatu jaringan pengiriman. Faktor-faktor yang berpengaruh terhadap suatu
jaringan distribusi adalah:
18
a. Response Time (Waktu Respon)
Response time merupakan waktu yang dibutuhkan oleh perusahaan untuk
mengirimkan barang sampai ke tangan konsumen. Response time dimulai
saat konsumen memesan barang pada perusahaan sampai barang yang
dipesan tersebut sampai kepada konsumen. Suatu perusahaan yang baik
akan meminimalkan waktu tanggap (response time) sehingga kepuasan
pelanggan dapat tercapai.
b. Product Variety (Varietas Produk)
Product variety merupakan jumlah dari diferensiasi produk yang
ditawarkan oleh suatu jaringan distribusi.
c. Product Availability (Ketersediaan Produk)
Product availability merupakan probabilitas dari ketersediaan produk di
bagian penyimpanan saat pesanan konsumen datang ke perusahaan.
d. Customer Experince (Pengalaman Kustomer)
Customer experience mencakup kemudahan konsumen dalam melakukan
pesanan ke perusahaan dan meneriman pesanan dari produsen.
e. Time to Market
Time to market merupakan waktu yang dipilih untuk meluncurkan suatu
produk baru ke pasar.
f. Order Visibility
Order visibility merupakan kemampuan konsumen untuk mengecek
pesanan mereka dari ketersediaan di gudang sampai pada pengiriman
barang yang dilakukan oleh perusahaan.
19
g. Returnability
Returnability merupakan kemudahan yang diberikan kepada pelanggan
dalam hal pengembalian barang yang tidak sesuai dengan pesanan.
Returnability juga mencakup kemampuan jaringan distribusi perusahaan
dalam menangani pengembalian pesanan tersebut.
Dalam menentukan rute distribusi, perusahaan harus
mempertimbangkan 2 hal, yaitu:
- Apakah produk akan dikirim ke lokasi dimana konsumen berada atau
konsumen mengambil sendiri produk yang ia pesan?
- Apakah produk dari perusahaan langsung dikirim ke tangan konsumen
atau lewat media perantara?
Dari pertimbangan-pertimbangan tersebut, cara pendistribusian produk
dapat diklasifikasikan menjadi 6 desain jaringan distribusi, yaitu (Chopra,
2010, pp91-102):
a. Manufacturer Storage with Direct Shipping
Pada desain ini, produk dikirim secara langsung dari perusahaan menuju
konsumen akhir dengan melangkahi pengecer dimana mereka yang
mengambil pesanan dari pelanggan. Aliran informasi bermula dari
pesanan pelanggan ke pengecer. Kemudian pengecer memberitahukan
kepada perusahaan tentang pesanan dari konsumen. Setelah itu,
20
perusahaan mengirimkan produk yang dipesan langsung ke konsumen.
Keuntungan terbesar dari desain ini adalah pemusatan inventori barang di
pabrik perusahaan. Namun desain ini juga memiliki kekurangan yaitu
tingginya biaya transportasi karena rata-rata jarak dari pabrik ke
konsumen akhir sangat jauh
b. Manufacturer Storage with Direct Shipping and In-Transit Merge
Pada desain ini, konsumen dari berbagai lokasi memesan produk dari
pabrik-pabrik yang bereda. Aliran informasi mengalir dari konsumen
akhir ke pengecer. Kemudian pengecer memberitahukan pesanan-pesanan
konsumen ke pabirk-pabrik menuju suatu tempat (carrier), lalu produk-
produk tersebut dikirimkan ke konsumen akhir. Contoh sederhana dari
desain ini adalah apabila suatu konsumen ingin memberli PC dari pabrik
IBM dan memesan monitor dari pabrik SONY. Konsumen akan
melakukan pemesanan melalui pengecer. Kemudian pengecer akan
memberitahukan kepada pabrik IBM untuk memesan PC dan pabrik
SONY untuk memesan monitor. Setelah itu pabrik IBM dan SONY akan
mengirimkan barang yang dipesan oleh konsumen ke suatu tempat
(carrier). Kemudian carrier akan mengirimkan pesanan konsumen itu
secara bersama-sama langsung ke konsumen. Dalam contoh ini, jelas
terlihat bahwa pabrik tidak mengirim barang langsung ke konsumen,
tetapi lewat perantara. Hal ini terjadi untuk pemenuhan keinginan
pelanggan dimana pelanggan ingin seperangkat komputer, tetapi dari
21
produsen yang berbeda. Apabila produsen mengirimkan barang pesanan
satu persatu dari pabriknya masing-masing, maka konsumen mungkin
saja tidak akan menerima pesanannya itu langsung dalam waktu yang
bersamaan. Hal ini tentu saja akan merugikan konsumen.
c. Distributor Storage with Package Carrier Delivery
Pada desain ini, inventori tidak terletak pada pabrik melainkan di
distributor pusat. Produk yang sudah dibuat oleh produsen dikirimkan ke
distributor pusat, kemudian distributor akan menyalurkannya ke
konsumen. Aliran informasi dari desain ini hanya terjadi ke konsumen ke
distributor. Lalu distributor merespons informasi tersebut dengan
melakukan pengiriman pesanan tersebut ke konsumen.
d. Distributor Storage with Last-Mile Delivery
Pada desain ini, pabrik mendistribusikan produknya ke distributor-
distributor yang dekat dengan konsumennya. Dengan begitu, pengiriman
dari distributor ke konsumen akan lebih cepat tetapi distributor biaya
inventori dari distributor tidaklah kecil karena distributor harus
menyimpan produk-produk dari berbagai pabrik. Aliran informasi
mengalir dari pesanan konsumen ke distributor yang terdekat dengan
mereka. Lalu distributor tersebut akan merespon pesanan mereka dengan
mengirimkan produk pesanannya tersebut.
22
e. Manufacturer/Distributor Storage with Customer Pickup
Desain ini berbeda dengan desain-desain yang dijelaskan sebelumnya.
Pada desain ini, konsumen akan melakukan pesanan ke pengecer (baik
lewat telepon atau web) dan konsumen sendiri yang akan mengambil
barangnya tersebut di suatu tempat (pickup point). Aliran informasi pada
desain ini dimulai dari konsumen ke pengecer. Setelah itu, pengecer akan
melanjutkan informasinya tersebut ke pabrik-pabrik. Pabrik-pabrik
tersebut akan merespon permintaan konsumen dengan mengirimkan
barangnya ke distributor. Kemudian distributor akan mengirimkan
produk-produk dari pabrik itu ke pickup point dimana pelanggan akan
mengambil sendiri barang pesanannya.
f. Retail Storage with Customer Pickup
Desain ini merupakan desain yang sering orang-orang temukan dimana
inventori disimpan oleh pengecer. Kemudian konsumen akan datang ke
pengecer untuk memilih produk yang ia inginkan lalu membelinya.
2.3 Transportasi
Menurut Chopra (2010, p380), transportasi merupakan pergerakan dari
suatu produk dari satu lokasi ke lokasi lain yang merepresentasikan awal dari
suatu rangkaian rantai pasokan sampai kepada konsumen. Transportasi
adalah suatu penggerak rantai pasokan yang sangat penting karena suatu
produk jarang diproduksi dan digunakan dalam lokasi yang sama.
23
Sedangkan menurut Bowersox (2010, pp28-29), transportasi adalah
area operasional dari logistik dimana secara geografis mengerakkan dan
menempatkan suatu inventori. Kebutuhan akan transportasi dapat diperoleh
dengan 3 cara. Pertama, perusahaan dapat menggunakan armada sendiri
yang dapat dioperasikan. Kedua, perusahaan dapat melakukan kerjasama
dengan suatu perusahaan yang melayani jasa transportasi. Ketiga,
perusahaan dapat melakukan kerjasama dengan berbagai penyedia jasa
transportasi yang memberikan layanan transportasi yang berbeda dan
digunakan sesuai dengan kebutuhan saat pengiriman. Tiga hal yang sangat
fundamental dalam mengukur kinerja transportasi yaitu :
a. Biaya
Biaya dari transportasi adalah suatu pengeluaran yang terjadi saat
melakukan pengiriman dari suatu tempat ke tempat yang lain. Biaya ini
dapat berupa biaya bahan bakar, biaya perawatan mobil, ataupun biaya
dari pengemudi. Sistem logistik sebaiknya dapat meningkatkan utilisasi
dari alat transportasi yang digunakan untuk meminimalkan total biaya.
b. Kecepatan
Kecepatan akan transportasi adalah waktu yang dibutuhkan untuk
melakukan pergerakan dari suatu tempat ke tempat yang lain. Kecepatan
dan biaya dalam transportasi berkaitan dalam dua hal. Pertama, suatu
perusahaan transportasi, dapat menawarkan layanan yang lebih cepat
dengan menggunakan tarif yang tinggi. Kedua, semakin cepat layanan
transportasi, maka semakin pendek pula waktu yang dibutuhkan dalam
24
perjalanan dan semakin cepatnya persediaan akan produk habis. Dari
kedua hal tersebut dapat terlihat bahwa faktor kritikal dari metode
transportasi adalah menyeimbangkan antara kecepatan dan biaya.
c. Konsistensi
Konsistensi dari transportasi mengacu pada variasi waktu yang
dibutuhkan untuk mengukur spesifikasi pengerakan dari beberapa
pengiriman. Maksudnya adalah waktu yang diperlukan untuk melakukan
pengiriman hendaknya konsisten. Misalnya, apabila pengiriman diantara
2 lokasi tertentu membutuhkan waktu 3 hari, maka pengiriman
selanjutnya dengan lokasi yang sama pun seharusnya membutuhkan
waktu 3 hari juga. Apabila terjadi perubahan dalam waktu pengiriman
tetapi lokasi yang dituju sama, akan mengakibatkan masalah dalam rantai
pasokan. Jika terjadi inkonsistensi dalam transportasi, maka akan
berdampak pada inventori baik dari pihak pemasok maupun konsumen.
2.4 Cluster Analysis
Menurut Supranto (2004, p26), cluster analysis (analisa klaster) adalah
sebuah metode dalam analisis multivariat yang digunakan unutk
menggelompokkan elemen yang mirip sebagai objek penelitian menjadi
kelompok (cluster) yang berbeda dan mutually exclusive. Pengelompokkan,
klasifikasi, kategrisasi terjadi di seluruh bidang, misalnya di bisnis
(pemasaran, SDM), biologi, kedokteran (medicine), seperti pengelompokkan
25
obat, khususnya dalam pemasaran yang berguna untuk membentuk segmen
pasar.
Sedangkan menurut Hair et al. (1998, p473), cluster analysis adalah
sebuah nama untuk kelompok dalam teknik multivariate yang intinya
bertujuan untuk mengelompokkan objek berdasarkan karakteristik yang
dimiliki objek tersebut. Cluster analysis mengklasifikasikan objek seperti
responden, produk, atau entitas lainnya sehingga mempunyai kesamaan
antara satu objek dengan objek lainnya di dalam suatu klaster yang
berhubungan dengan beberapa kriteria seleksi yang telah ditentukan
sebelumnya. Hasil dari pengelompokkan objek harus dapat menunjukkan
homogenitas internal yang tinggi (dalam klaster) dan heterogenitas eksternal
yang tinggi juga (antara klaster).
Supranto (2004, pp141-142) menyebutkan bahwa analisis klaster juga
meneliti seluruh hubungan interdependensi, tidak ada perbedaan variabel
bebas dan tak bebas (independent dan dependent variables) dalam analisis
klaster ini. Pembedaan variabel bebas dan tidak bebas terjadi dalam analisis
regresi berganda, analisis varian, analisis diskriminan, dimana kita ingin
mengetahui pengaruh dari setiap variabel bebas, baik secara individu
maupuin bersama-sama terhadap variabel tak bebas.
Di dalam analisis klaster, hubungan interdependensi antara seluruh set
variabel dikaji. Tujuan utama analisis klaster ialah mengklasifikasi objek
(kasus atau elemen) seperti orang, produk (barang), toko, perusahaan ke
dalam kelompok-kelompok yang relatif homogen didasarkan pada suatu set
26
variabel yang dipertimbangkan untuk diteliti. Objek di dalam setiap
kelompok harus relatif mirip atau sama (relatively similar). Dinyatakan
dalam variabel-variabel ini, dan harus berbeda jauh dengan objek dari
kelompok lain. Kalau dipergunakan dengan cara semacam ini, analisis
klaster merupakan bagian depan (observe) dari analisis faktor, dimana
mereduksi (memperkecil) banyaknya objek (responden) bukan banyaknya
variabel atau atribut responden, yaitu dengan mengelompokkan objek-objek
tersebut menjadi klaster, yang banyaknya lebih sedikit daripada banyaknya
objek asli yang diteliti, misalnya dari 50 orang responden, dikelompokkan
hanya menjadi 5 klaster saja, dimana masing-masing klaster terdiri dari 10
orang saja.
Pada umumnya suatu objek dimasukkan ke dalam suatu klaster atau
kelompok sedemikian rupa sehingga lebih berhubungan (berkolerasi dengan
objek lainnya di dalam klasternya daripada dengan objek dari klaster lain).
Pembentukan klaster didasarkan pada kuat tidaknya hubungan antar-objek.
Cara ini disebut hierarkis, sebab pemecahan disajikan pada berbagai tingkat
(level) kuatnya korelasi atau hubungan. Misalnya objek yang berkorelasi
rendah, dengna koefisien korelasi r di bawah 0,5 menjadi klaster 1, 0,5 <
0,75 di dalam klaster 2 dan koefisien korelasi ≥ 0,57 di dalam klaster 3.
2.4.1 Konsep Dasar Cluster Analysis
Menurut Supranto (2004, pp142-143), analisis klaster merupakan suatu
kelas teknik, yang dipergunakan untuk mengklasifikasi objek atau kasus
27
(responden) ke dalam kelompok yang relatif homogen, yang disebut klaster
(clusters). Objek dalam setiap kelompok cenderung mirip satu sama lain dan
berbeda jauh (tidak sama) dengan objek dari klaster lainnya. Analisis klaster
juga disebut klasifikasi atau taksonomi numerik (numerical taxonomy).
Prosedur pengklasteran dimana setiap objek hanya masuk ke dalam satu
klaster saja, tidak terjadi tumpang tindih (overlapping atau interaction).
Di dalam analisis klaster, konsep variat sudah berulang kali menjadi
permasalahn utama, tetapi dengan cara yang berbeda dengan teknik
multivariat lainnya. Variat klaster (cluster variate) adalah sekelompok
variabel yang mewakili karakteristik yang digunakan untuk membandingkan
objek dalam analisis klaster. Karena variat klaster memasukkan variabel
yang hanya digunakan untuk membandingkan objek, ini menyebabkan
penetapan ”karakter” objek. (Hair et al., 1998, 473)
2.4.2 Statistik yang Berkaitan dengan Cluster Analysis
Statistik dan konsep yang diuraikan di bawah ini berkaitan dengan
analisis klaster, antara lain (Supranto, 2004, pp146-147):
a. Skedul aglomerasi (aglomeration schedule), ialah jadwal yang
memberikan informasi tentang objek atau kasus yang akan digabung
(dikelompokkan dimasukkan dalam klaster) pada setiap tahap, pada suatu
proses pengklasteran yang hierarki.
b. Rata-rata klaster (cluster centroid) ialah nilai rata-rata variabel dari semua
objek atau kasus dalam suatu klaster tertentu.
28
c. Pusat klaster (cluster centroid) ialah titik awal dimulainya
pengelompokkan di dalam pengklasteran non-hierarki
d. Keanggotaan klaster (cluster membership) ialah keanggotaan yang
menunjukkan klaster, untuk mana setiap objek atau kasus menjadi
anggotanya.
e. Dendogram, juga disebut grafik pohon (tree graph), suatu alat grafis
untuk menyajikan (display) hasil pengklasteran. Garis vertikal atau tegak
mewakili klaster yang digabung bersama. Posisi garis pada skala
menunjukkan jarak (distance) untuk mana klaster digabungkan.
Dendogram harus dibaca dari kiri ke kanan.
f. Jarak antara pusat klaster (distances between cluster centres) ialah jarak
yang menunjukkan bagaimana terpisahnya pasangan individu klaster.
Klaster yang terpisah jauh (widely separated) sangat berbeda dan
memang itu yang diinginkan.
g. Icicle diagram ialah penyajian berupa grafis dari hasil pengklasteran.
Disebut demikian karena bentuknya menyerupai suatu deretan es yang
menggantung pada mulut gua (the cares of a house). Kolom menunjukkan
objek atau kasus yang akan dikelompokkan (dibuat klasternya) dan barus
yang menunjukkan banyaknya klaster. Icicle diagram dibaca dari bawah
ke atas.
h. Matriks koefisien kemiripan atau jarak (similarity or distance coefficient
matrix) ialah matriks bagian bawah, berupa matriks segituga menurut
pasangan jarak antara objek atau kasus.
29
2.4.3 Prosedur Cluster Analysis
Menurut Supranto (2004, pp147-167), langkah-langkah yang
diperlukan untuk melakukan analisis klaster bisa dilihat pada gambar 2.2
Sumber : Supranto, 2004, p147
Gambar 2.2 Prosedur Analisis Klaster
Langkah pertama merumuskan masalah pengklasteran dengan
mendefiniskan variabel-variabel yang dipergunakan untuk dasar
pengklasteran (pengelompokkan). Kemudian ukuran jarak yang tepat harus
dipilih. Ukuran jarak menentukan kemiripan atau ketidakmiripan dari objek
yang dikelompokkan (dimasukkan ke dalam klaster).
1. Merumuskan masalah
Hal yang penting di dalam perumusan masalah analisis klaster
ialah pemilihan-pemilihan variabel-variabel yang akan dipergunakan
untuk pengklasteran (pembentukan klaster). Memasukkan satu atau dua
30
variabel yang tidak relevan dengan masalah pengklasteran atau
pengelompokkan akan mendistorsi hasil pengklasteran yang
kemungkinan besar sangat bermanfaat.
Pada dasarnya set variabel yang akan dipilih harus menguraikan
kemiripan (similiarity) antara objek, yang memang benar-benar relevan
dengan permasalahan yang ada. Variabel harus dipilih berdasarkan
penelitian sebelumnya, teori atau suatu pertimbangan berkenaan dengan
hipotesis yang akan diuji.
2. Memilih ukuran jarak atau similaritas
Oleh karena tujuan pengklasteran ialah untuk mengelompokkan
objek yang mirip dengna klaster yang sama, maka beberapa ukuran
dipekukan untuk mengakses seberapa mirip atau berbeda objek-objek
tersebut. Pendekatan yang paling umum ialah mengukur kemiripan yang
dinyatakan dalam jarak (distance) antara pasangan objek. Objek dengan
jarak yang lebih pendek antara mereka akan lebih mirip satu sama lain
dibandingkan dengan pasangan dengan jarak yang lebih panjang. Ada
beberapa cara untuk mengukur jarak antara dua objek.
Ukuran kemiripan yang paling biasa dipakai adalah jarak yuklidian
atau euclidean distance atau nilai kuadratnya. The euclidean distance
ialah akar dari jumlah kuadrat perbedaan atau deviasi di dalam nilai untuk
setiap variabel. Ada juga ukuran jarak lainnya, yaitu the city-block or
manhattan distance antara dua objek merupakan jumlah perbedaan
31
mutlak atau absolut di dalam nilai untuk setiap variabel. The chebyshev
distance antara dua objek ialah perbedaan mutlak atau absolut yang
maksimum di dalam nilai untuk setiap variabel. Menggunakan ukuran
jarak yang berbeda mungkin menghasilkan pengklasteran yang berbeda.
Oleh karena itu, dianjurkan untuk menggunakan ukuran lain kemudian
membandingkan hasilnya. Setelah memilih suatu jarak atau kemiripan,
kemudian langkah berikutnya memilih prosedur pengklasteran.
3. Memilih suatu prosedur pengklasteran
Gambar 2.3 menujukkan klasifikasi pengklasteran. Prosedur
pengklasteran bisa hierarki dan bisa juga non-hierarki.
32
Sumber : Supranto (2004, p151)
Gambar 2.3 Klasifikasi Prosedur Pengklasteran
4. Menentukan banyaknya klaster
Isu utama dalam analisis klaster ialah menentukan berapa
banyaknya klaster. Sebetulnya tidak ada aturan yang baku untuk
menentukan berapa sebetulnya banyaknya klaster, namun demikian ada
beberapa petunjuk yang bisa dipergunakan, yaitu :
33
1. Pertimbangan teoritis, konseptual, praktis, mungkin bisa diusulkan
atau disarankan untuk menentukan berapa banyaknya klaster yang
sebenarnya. Sebagai contoh, kalau tujuan pengklasteran untuk
mengenali atau mengidentifikasi segmen pasar.
2. Di dalam pengklasteran hierarki, jarak dimana klaster digabung bisa
dipergunakan sebagai kriteria.
3. Di dalam pengklasteran non-hierarki, rasio jumlah varian dalam klaster
dengan jumlah varian antar-klaster dapat diplotkan melawan
banyaknya klaster.
4. Besarnya relatif klaster seharusnya berguna atau bermanfaat.
5. Menginterpretasi dan memprofil klaster
Mengintepretasi dan memprofil klaster meliputi pengkajian
mengenai centroids yaitu rata-rata nilai objek yang terdapat dalam klaster
pada setiap variabel. Nilai centroid memungkinkan kita untuk
menguraikan setiap klaster dengan ceara memberikan suatu nama atau
label.
Seringkali sangat berguna untuk memprofil klaster dinyatakan
dalam variabel yang tidak dipergunakan untuk mengklaster. Ini mungkin
mencakup variabel demographic, psychographic, product usage, atau
variabel lainnya. Sebagai contoh, klaster mungkin diperoleh media usage
didasarkan pada manfaat yang dicari (benefits sought).
34
Pemprofilan selanjutnya munkin dibuat didasarkan pada variabel
demographic dan psychographic untuk upaya sasaran pemasaran bagi
setiap klaster. Variabel yang mendeferensiasi sangat signifikan
diidentifikasi atau dikenali melalui analisis diskriminan dan analisis
varian satu arah (discriminant and one analysis of variance).
6. Mengakses keandalan dan kesahihan (access reliabillity and validity)
Beberapa pertimbangan perlu diberikan (entailed) dalam analisis
klaster, jangan sampai ada pemecahan pengklasteran diterima tanpa
beberapa penilaian atau accesment tentang keandalan dan kesahihannya.
Prosedur berikut memberikan cukup pengecekan pada mutu hasil
pengklasteran, antara lain :
1. Lakukan analisis klaster pada data yang sama dengan menggunakan
ukuran jarak yang berbeda. Bandingkan hasilnya lintas ukuran (across
measure) untuk menentukan stabilitas pemecahan.
2. Pergunakan metode pengklasteran yang berbeda dan bandingkan
hasilnya.
3. Pecah atau bagi data secara acak menjadi dua bagian. Lakukan analisis
pengklasteran secara terpisah pada setiap bagian (katakan bagian 1 dan
2). Bandingkan centroid klaster lintas dua subsampel.
4. Hilangkan beberapa variabel secara acak. Lakukan pengklasteran yang
didasarkan pada sisa variabel (reduced set of variables). Bandingkan
35
hasilnya dengan hasil pengklasteran yang didasarkan pada data asli,
yang masih utuh (sebelum dikurangi).
5. Di dalam pengklasteran non-hierarki, pemecahan mungkin tergantung
pada urutan objek (kasus) dalam seluruh data. Lakukan mulitiple run
dengan menggunakan urutan objek yang berbeda sampai pemecahan
menjadi stabil.
2.4.4 Jenis Pengklasteran
Menurut Supranto (2004, p150), di dalam analisa klaster terdapat 2
jenis pengklasteran, yaitu pengklasteran hierarki dan pengklasteran non-
hierarki.
1. Pengklasteran hierarki
Pengklasteran hierarki ditandai dengan pengembangan suatu
hierarki atau struktur mirip pohon (tree like structure). Metode hierarki
bisa berupa aglomeratif (pemusatan) atau devisif (penyebaran).
Pengklasteran aglomeratif dimulai dengan setiap objek dalam suatu
klaster yang terpisah. Klaster dibentuk dengan mengelompokkan objek ke
dalam suatu klaster yang terpisah. Klaster dibentuk dengan
mengelompokkan objek ke dalam klaster yang semakin membesar
(semakin banyaknya elemen atau objek yang menjadi anggotanya). Proses
ini dilanjutkan sampai semua objek menjadi anggota dari suatu klaster
tunggal (a single cluster). Sebaliknya pengklasteran divisif dimulai dari
semua objek dikelompokkan menjadi klaster tunggal. Kemudian klaster
36
dibagi atau dipisah, sampai setiap objek berada di dalam klaster yang
terpisah. Metode aglomeratif biasanya dipergunakan di dalam riset
pemasaran. Metode-metode aglomeratif tersebut terdiri dari metode
terkait (linkage method), error sums of squares or variance methods dan
centroid methods. (Supranto, 2004, pp 150-152)
Berikut ini adalah beberapa langkah dalam algoritma
pengklasteran hierarki aglomeratif untuk mengelompokkan objek N baik
berupa benda atau variabel (Johnson, 2002, p681), yaitu sebagai berikut :
1. Mulailah dengan klaster-klaster N, yang masing-masing berisi sebuah
entitas dan buatlah matriks jarak atau kedekatan simetris N x N
dimana D = {d i k}.
2. Carikah matriks jarak untuk pasangan klaster yang paling dekat atau
yang paling mirip. Biarkan jarak antara klaster ”yang paling dekat” U
dan V menjadi dUV .
3. Gabungkan klaster U dan V. Beri nama klaster yang baru terbentuk
(UV). Perbaharui entri di dalam matriks jarak dengan cara (a)
menghapus baris dan kolom yang sesuai untuk U dan V dan (b)
menambahkan baris dan kolom yang memberikan jarak antara klaster
(UV) dan klaster yang tersisa.
4. Ulangi langkah 2 dan 3 total dari N-1. (Semua objek akan berada
dalam klaster single setelah algoritma berakhir) Simpan identitas
37
klaster yang digabungkan dan tingkat jarak atau kesamaan di mana
terjadinya penggabungan.
a. Linkage methods
Lingkage methods didasarkan pada jarak minimum atau aturan
tetangga dekat (nearest neighbour rule). Dua objek pertama yang
masuk klaster dalam objek yang jaraknya paling kecil. Jarak terkecil
berikutnya ditemukan, objek yang ketiga digabung dengan dua objek
pertama satu klaster dua objek yang baru dibentuk. Pada setiap tahap,
jarak antara dua klaster merupakan jarak antara dua titik terdekat
seperti yang digambarkan pada gambar 2.4 Dua klaster digabung
setiap tahap dengan the single shortest link between them. Proses ini
dilanjutkan sampai semua objek berada dalam satu klaster. Linkage
methods sendiri meliputi single linkage, complete linkage, dan average
linkage.
38
Sumber : Supranto, 2004, p152
Gambar 2.4 Linkage Method of Clustering
1. Single Linkage
Masukan untuk algoritma single linkage dapat berupa jarak
atau kemiripan antara pasangan objek. Kelompok-kelompok akan
terbentuk dari entitas individual yang bergabung dengan tetangga
terdekat, dimana istilah tetangga terdekat ini maksudnya adalah
jarak terkecil atau kemiripan terbesar. Pada awalnya kita harus
mencari jarak terpendek dalam D = {d i k} dan gabungkan dengan
objek yang sesuai, kita sebut, U dan V, untuk mendapatkan klaster
(UV). Pada langkah ke-3 dalam algoritma umum seperti yang telah
disebutkan sebelumnya (Johnson, 2002, p681), jarak antara (UV)
dan klaster W lainnya di hitung dengan menggunakan rumus :
d( U V ) W = min { d U W , d V W }
39
dimana nilai d U W , d V W merupakan jarak antara tetangga terdekat
dari klaster U dan W dan klaster V dan W masing-masing. Hasil
dari pengklasteran single linkage dapat digambarkan secara grafis
dalam bentuk dendogram atau diagram pohon. Cabang-cabang
dalam pohon menunjukkan klaster. Cabang-cabang tersebut
bergabung pada titik-titik yang posisinya berada di sepanjang jarak
atau kemiripan sumbu yang menunjukkan tingkat penggabungan
terjadi. (Johnson, 2002, p681)
2. Complete Linkage
Pengklasteran metode complete linkage menghasilkan yang
sama dengan cara seperti pengklasteran single linkage, dengan satu
pengecualian yang terpenting yaitu pada setiap tahapnya, jarak atau
kemiripan antara klaster-klaster ditentukan oleh jarak atau
kemiripan antara dua elemen, masing-masing satu dari masing-
masing klaster, yang paling terjauh. Dengan demikian, metode
complete linkage memastikan semua item dalam klaster berada
dalam jarak maksimum atau kemiripan paling minimum antara
masing-masing item.
Algoritma umum algomeratif dimulai dengan mencari
masukan yang paling minimum di dalam D = {d i k} dan gabungkan
dengan objek yang sesuai, seperti U dan V, untuk mendapatkan
klaster (UV). Pada langkah ke-3 dalam algoritma umum seperti
40
yang telah disebutkan sebelumnya (Johnson, 2002, p681), jarak
antara (UV) dan klaster W lainnya di hitung dengan menggunakan
rumus
d( U V ) W = max { d U W , d V W }
disini nilai d U W , d V W merupakan jarak antara masing-masing
anggota klaster U dan W dan klaster V dan W yang paling jauh.
(Johnson, 2002, p685)
3. Average Linkage
Metode average linkage menganggap jarak antara dua klaster
adalah jarak rata-rata antara semua pasangan item dari anggota
pasangan milik setiap klaster. Seperti metode linkage yang lain,
input untuk algoritma average linkage dapat berupa jarak atau
kemiripan, dan metode ini dapat digunakan untuk kelompok objek
atau variabel. Algoritma average linkage menghasilkan yang sama
dengan cara seperti algoritma linkage secara general. Algoritma
umum algomeratif dimulai dengan mencari masukan yang paling
minimum di dalam D = {d i k} dan gabungkan dengan objek yang
sesuai, seperti U dan V, untuk mendapatkan klaster (UV). Pada
langkah ke-3 dalam algoritma umum seperti yang telah disebutkan
sebelumnya (Johnson, 2002, p681), jarak antara (UV) dan klaster W
lainnya di hitung dengan menggunakan rumus
d( U V ) W = max { d U W , d V W }
41
disini nilai d U W , d V W merupakan jarak antara masing-masing
anggota klaster U dan W dan klaster V dan W yang paling jauh.
(Johnson, 2002, p685)
The single linkage method tidak memberikan hasil yang bagus
jikalau klaster didefenisikan secara tidak baik (tidak tepat). The
complete linkage method sama dengan the singke linkage method
kecuali bahwa the complete linkage method berdasarkan pada jarak
maksimum atau the furthest neighbour approach. Di dalam complete
linkage method, jarak antara dua klaster dihitung sebagai jarak antara
dua titik yang paling jauh, dan average linkage juga sama. Akan tetapi
di dalam average linkage method, jarak antara dua klaster
didefinisikan sebagai rata-rata jarak semua pasangan objek, dimana
salah satu anggota dari setiap klaster. Seperti dapat dilihat pada
Gambar 2.4, average linkage method menggunakan informasi pada
semua pasangan jarak, tidak hanya jarak maksimum atau minimum.
Berdasarkan alasan ini lebih sering dipilih single dan complete linkage
method.
Metode variance, mencoba menghasilkan klaster dengan
meminumumkan varian dalam klaster. Metode varian yang biasanya
dipergunakan ialah ward`s procedure. Untuk setiap klaster rata-rata
dari seluruh variabel dihitung, kemudian setiap objek, jarak yuklidian
kuadrat ke rata-rata klaster dihitung (Gambar 2.4). Jarak ini
42
dijumlahkan untuk semua objek. Pada setiap tahap, dua klaster dengan
kenaikan yang terkecil di dalam overall sum of squares within cluster
distances digabung. In the centroids method, jarak antara dua klaster
merupakan jarak antara centroids (rata-rata dari seluruh variabel),
seperti ditunjukkan Gambar 2.4. Setiap objek dikelompokkan, centroid
baru dihitung. Kenyataan menunjukkan, metode hirarki, rata-rata
linkage, dan metode Ward lebih baik daripada metode lainnya.
b. Pengklasteran non-hierarki
Jenis prosedur pengklasteran kedua adalah metode pengklasteran
non-hierarki, yang sering disebut dengan K-means clustering. Metode
ini meliputi sequential threshold, parallel threshold, dan optimising
partitioning. Di dalam sequential threshold method, suatu pusat klaster
dipilih dan semua objek dalam suatu prespesified threshold value dari
pusat, digabung bersama. Kemudian suatu pusat klaster yang baru atau
seed dipilih, dan proses diulangi, untuk titik-titik yang belum
diklasterkan (dikelompokkan) atau the unclustered points.
Segera setelah suatu objek diklasterkan dengan seeds
selanjutnya. The parallel threshold method berlaku sama. Kecuali
bahwa beberapa pusat klaster dipilih secara simultan dan objek dalam
threshold level dikelompokkan dengan pusat terdekat. The optimizing
partitioning method berbeda dari prosedur dua threshold, dimana
objek selanjutnya di reassigned ke klaster untuk mengoptimalkan
43
suatu kriteria menyeluruh, seperti average within cluster distance
utnuk sejumlah klaster tertentu.
Dua kelemahan dari prosedur non-hierarki ialah bahwa
banyaknya klaster yang ahrus disebutkan atau ditentukan sebelumnya
dan pemilihan pusat klaster sembarang (arbitary). Lebih lanjut, hasil
pengklasteran mungkin tergantung pada bagaimana pusat (centers)
dipilih. Banyak program non-hirarki, memilih k objek yang pertama,
tanpa ada nilai yang hilang sebagai pusat klaster awal (k = banyakanya
klaster). Jadi hasil pengklasteran mungkin tergantung pada urutan
observasi dalam data. Bagaimanapun juga pengklasteran non-hirerarki
lebih cepat daripada metode hierarki dan lebih menguntungkan kalau
jumlah objek atau observasi besar sekali (sampel besar).
Telah disarankan bahwa metode hierarkis dan non-hierarkis
dipergunakan secara berdampingan (in tandem). Pertama, suatu pemecahan
pengklasteran awal, diperoleh dengan menggunakan prosedur hierarkis,
seperti, misalnya average linkage method atau Ward. Banyaknya klaster dan
centroid klaster yang diperoleh dipergunakan sebagai input untuk optimizing
partitioning method. Pilihan suatu metode pengklasteran dan pilihan suatu
ukuran jarak, berkaitan satu sama lain. Sebagai contoh, jarak eucledean yang
dikuadratkan (squared eucledean distance) harus dipergunakan dengan
metode Ward dan centroid. Beberapa prosedur non-hierarki juga
menggunakan jarak eucledean yang dikuadratkan.
44
2.4.5 K-Means Clustering
Menurut Everitt (2005, p122), K-means clustering adalah sebuah
teknik dalam mencari pembagian sekelompok data menjadi sejumlah
kelompok yang lebih spesifik, k, dengan meminimalisasikan beberapa
kriteria, nilai-nilai dasar yang dianggap dapat menunjukkan sebuah solusi
yang ”baik”. Pendekatan yang umumnya sering digunakan, misalnya,
mencoba untuk menemukan pembagian dari n individu ke dalam kelompok
k, yang dapat meminimalkan jumlah dalam kelompok-kelompok dari semua
variabel. Masalahnya yang muncul kemudian relatif sederhana, yaitu
mempertimbangkan semua kemungkinan partisi dari n individu ke dalam
kelompok k, dan memilih salah satu dengan jumlah nilai kelompok kuadrat
yang terendah.
J-S Chen et al (2004, pp977-978) dalam Journal of the Operational
Research Society Vol. 55, No. 9 menyatakan bahwa “To provide better
clustering results, we have developed a clustering algorithm to integrate the
K-means algorithm with the concepts of hierarchical approaches. This
proposed clustering algorithm consists of the following three steps: (1)
initialization, (2) iteration, and (3) merging.” Jadi, untuk menghasilkan
hasil klasterisasi yang baik, kita harus dapat mengembangkan algoritma
klasterisasi untuk mengintegrasi algoritma K-Means dengan pendekatan
hirearki. Ada 3 langkah, yaitu inisialisasi, yaitu untuk memilih beberapa
objek sebagai titik awal. Langkah kedua adalah iterasi, yaitu dengan
45
mengkaji ulang dan menugaskan kembali jika perlu , ke cluster terdekat
berdasarkan pusat kumpulan objek. Pusat kumpulan objek harus dihitung
ulang jika ada penugasan baru yang terjadi dan langkah ini diulang sampai
tidak ada tugas baru lebih lanjut. Langkah yang ketiga adalah penggabungan
dimana dalam langkah ini, suatu kelompok dipasangkan dengan kelompok
lain untuk membentuk suatu kelompok baru.
Menurut Everit (2005, pp 123) beberapa langkah penting dalam
algoritma K-means Clustering ini adalah :
1. Cari beberapa pembagian awal dari individu-individu menjadi beberapa
kelompok yang dibutuhkan.
2. Hitung perubahan dalam kriteria pengelompokan yang dihasilkan dari
pemindahan setiap individu sendiri ke klaster lainnya.
3. Membuat perubahan yang mengarah pada peningkatan yang paling besar
dalam nilai kriteria pengelompokan.
4. Ulangi langkah ke 2 dan 3 hingga tidak ada pemindahan individu yang
disebabkan kriteria pengelompokan untuk peningkatan.
2.4.6 Travelling Salesman Problem
Menurut Taha (2007, p381), Traveling Salesperson Problem (TSP)
sering digunakan untuk menemukan tur atau perjalanan terpendek atau
terdekat dalam situasi n-kota dimana setiap kota yang dikunjungi hanya 1
kali. Sedangkan menurut Gracia-Diaz (1981, p97), Travelling Salesman
46
Problem dapat dinyatakan sebagai berikut. Seorang sales, memulai dari
sebuah kota, bermaksud untuk mengunjungi setiap kota (n-1) 1 kali dan
hanya 1 kali dan kembali lagi ke kota asal. Permasalahannya adalah
bagaimana menetapkan susunan dalam dimana ia harus mengunjungi kota-
kota tersebut dengan total jarak yang dikunjungi itu minimal, dengan asumsi
bahwa jarak langsung antara semua kota yang berpasangan diketahui. Tidak
hanya jarak yang dapat dihitung, setiap pengukuran efektifitas dapat diganti,
seperti biaya, waktu, dan sebagainya.
Dasar dari permasalahan ini adalah ada berapa kunjungan yang
mungkin (n-1)! dari 1 kunjungan atau lebih yang harus optimal.
Bagaimanapun, bila beberapa kota tidak dapat dilalui, nilai optimal
(minimum) dapat tidak terbatas. Dalam beberapa kasus, dapat diasumsukan
bahwa jarak antara kota i dan kota lainnya j itu simetris. Oleh karena itu,
jarak antara kota i ke kota j adalah sama antara jarak kota j ke kota i.
Algortima ini disebut dengan algoritma branch and bound, dan pertama kali
dikembangkan oleh Little et al. [41]. Metode ini pertama kali
mengidentifikasi solusi yang layak dan kemudian untuk diuraikan sejumlah
kemungkinan tur yang ada menjadi jumlah yang lebih kecil dan kecil lagi.
(Gracia-Diaz, 1981, p97).
Menurut Taha (2007, p381), permasalahan, pada intinya adalah model
kerja yang mengecualikan subtour. Khususnya, dalam situasi n-kota,
didefinisikan :
47
= 1, jika kota j yang dituju dari kota i
0, sebaliknya
Anggap bahwa adalah jarak dari kota i ke kota j, model TSP nya
menjadi seperti :
Minimize z = = ∞ untuk semua i = j
berpokok pada
= 1, i = 1,2, . . . . , n (1)
= 1, j = 1,2, . . . . , n (2)
= ( 0, 1) (3)
Bentuk solusi dari perjalanan n-kota (4)
Batasan (1), (2), dan (3) didefenisikan sebagai model kerja umum. Gambar
2.xx mengambarkan permasalahan 5-kota. Tanda panah menggambarkan
rute 2 arah. Gambar tersebut juga memberikan gambaran solusi perjalanan
dan subtour dari model kerja yang berhubungan. Jika solusi optimium dari
model kerja (misalnya tidak memasukkan batasan 4) untuk menghasilkan
sebuah perjalanan, berarti menjadi hasil optimum untuk TSP. Sebailknya,
batasan (4) harus diperhitungankan untuk memastikan sebuah solusi
perjalanan.
Beberapa algoritma untuk menghasilkan solusi yang tepat untuk
menyelesaikan permasalahan TSP antara lain
48
1. Algoritma Heuristic
Algoritma terdiri dari 2 jenis yaitu algoritma the nearest-neighbour dan
algoritma the subtour-reversal. Algoritma the nearest-neighbour dapat
dengan mudah diimplementasikan dan algoritma the subtour-reversal
membutuhkan perhitungan komputer. Berdasarkan pengujian, algoritma
the subtour-reversal dapat memberikan hasil yang lebih baik daripada
algoritma the nearest-neighbour. Namun pada akhirnya, kedua algoritma
ini digabungkan menjadi satu algoritma heuristic, dimana hasil dari
algoritma the nearest-neighbour digunakan sebagai inputan untuk
algoritma subtour-reversal. ( Taha, 2007, p385). Pada situasi n-kota,
algoritma subtour-reversal heuristic dimawali dengan perjalanan yang
mungkin dan kemudian dicoba untuk diperbaiki dengan me-reverse 2-
kota subtour, kemudian 3-kota subtour dan berlanjut sampai mencapai n-
1 subtour. (Taha, 2007, p386)
2. Algoritma Branch-and-Bound
Ide dari algoritma B&B diawali dengan solusi optimum yang
berhubungan dengan permasalahan penugasan. Jika sebuah solusi adalah
sebuah perjalanan, proses berhenti. Namun sebaliknya, batasan digunakan
untuk menghilangkan subtour. Hasil optimum ini dapat dicapai dengan
membuat branch (cabang) sebanyak jumlah variabel yang
berhubungan dengan salah satu subtour. Setiap branch atau cabang akan
49
disesuaikan untuk mengatur satu variabel dari subtour sama dengan 0
(melihat bahwa semua variabel yang berhubungan dengan subtour sama
dengan 1). Solusi dari hasil assignment problem bisa saja dapat
menghasilkan tour atau perjalanan tetapi bisa juga tidak. Jika
menghasilkan tour, kita dapat menggunakannya sebagai nilai objektif
sebagai nilai batas atas (upper bound) pada minimum panjang perjalanan.
Jika tidak, selanjutnya pencabangan dibutuhkan, membuat cabang-cabang
sebanyak jumlah variabel pada setiap subtour. (Taha, 2007, p386)
3. Algoritma Cutting-Plane
Algoritma ini dicetuskan untuk menambah satu batasan pada assignment
problem untuk mencegah pembentukan subtour. Batasan yang
ditambahkan dapat didefenisikan sebagai berikut. Dalam situasi n-kota,
menghubungkan variabel yang kontinu (≥0) dengah kota-kota 2,3, . . .
, dan n. Selanjutnya, didefenisikan kebutuhan jumlah batasan tambahan
1, i = 2,3 . . . ,n; j = 2,3, . . ., n : i j
Batasan ini, ketika ditambahkan pada model assignment, secara otomatis
akan menghapus sema solusi subtour. (Taha, 2007, p386)
50
2.5 Sistem Informasi
2.5.1 Pengertian Data
Menurut Turban (2007, p5), data adalah suatu deskripsi dasar dari hal-
hal, kejadian-kejadian, kegiatan-kegiatan, dan transaksi yang dapat di tangkap,
di klasifikasikan, dan di simpan tetapi tidak terorganisir dalam suatu arti
tertentu. Suatu data dapat berupa angka, huruf, bilangan, suara, atau gambar.
Jadi data merupakan bentuk yang masih mentah sehingga belum memiliki
suatu arti, sehingga masih perlu diolah agar dapat menghasilkan suatu
informasi yang berguna bagi manusia.
2.5.2 Pengertian Sistem
Menurut Satzinger, Jackson, & Burd (2005, pp6-7), sistem adalah
sekumpulan komponen yang saling berhubungan yang bekerjasama untuk
mencapai beberapa hasil. Menurut O’Brien (2004, p8), sistem adalah
sekumpulan komponen yang saling berhubungan yang bekerja sama untuk
mencapai sebuah tujuan dengan menggunakan input dan menghasilkan output
dalam sebuah proses perubahan yang terorganisasi. Jadi, sistem merupakan
komponen-komponen yang saling terkait atau yang berhubungan yang
bekerjasama untuk mencapai sebuah tujuan yang sama dengan menggunakan
input atau sumber daya yang ada dan menghasilkan output.
Sebuah sistem mempunyai 3 komponen dasar yang saling
berhubungan, yaitu :
51
1. Input
Adalah elemen-elemen atau data baik yang berasal dari dalam maupun luar
organisasi yang masuk ke dalam sistem yang akan digunakan dalam
kegiatan proses sistem informasi.
2. Proses
Adalah kegiatan merubah input menjadi output sehingga dapat menjadi
sesuatu informasi yang lebih berguna bagi manusia
3. Output
Adalah kegiatan mengirimkan informasi yang telah dihasilkan melalui
proses perubahan kepada orang-orang yang membutuhkan.
Sebuah konsep sistem akan menjadi lebih berguna dengan
memasukkan 2 komponen tambahan yaitu feedback (umpan balik) dan control
(pengendalian). Sebuah sistem dengan umpan balik dan pengendalian
komponen kadangkala disebut dengan cybernetic system, yaitu suatu sistem
yang mampu memonitor dan meregulasi sistem itu sendiri.
• Feedback adalah data mengenai kinerja sebuah sistem. Contohnya seperti,
data mengenai kinerja penjualan adalah feedback atau umpan balik untuk
seorang manajer penjualan
• Control melibatkan pengawasan dan pengevaluasian umpan balik untuk
menetapkan bagaimana sebuah sistem itu bergerak untuk mencapai suatu
tujuan. Fungsi control akan membuat penyesuaian terhadap input dan
52
proses komponen sistem untuk memastikan sistem menghasilan output
yang diharapkan.
2.5.3 Pengertian Informasi
Menurut Turban (2007, p5), informasi merupakan data yang sudah di
organisir sedemikian rupa sehingga data tersebut menjadi sesuatu yang
mempunyai arti dan nilai bagi yang menggunakan.
2.5.4 Pengertian Sistem Informasi
Menurut Satzinger, Jackson, & Burd (2005, p7), sistem informasi
adalah sekumpulan komponen yang saling berhubungan yang mengumpulkan,
mengolah, menyimpan dan menyediakan sebagai hasil dari kebutuhan akan
informasi untuk menyelesaikan tugas-tugas bisnis.
Sedangkan menurut Turban (2007, p6), sistem informasi adalah sebuah
sistem yang mengumpulkan, mengolah, menyimpan, menganalisa, dan
menyebarkan informasi untuk tujuan tertentu. Sistem Informasi berbasis
komputer adalah suatu sistem informasi yang menggunakan teknologi
komputer untuk menampilkan beberapa atau keseluruhan dari tugas yang
dikerjakan.
Komponen dasar dar sebuah sistem Informasi adalah sebagai berikut :
• Hardware adalah suatu perangkat seperti prosessor, monitor,
keyboard, dan printer yang saling bekerja sama untuk menerima
53
data dan informasi, mengolahnya, dan menampilkan data dan
informasi tersebut.
• Software adalah suatu program atau kumpulan program yang
memungkinkan hardware untuk memprorses data.
• Database adalah suatu kumpulan file atau tabel berisi data yang
saling berhubungan.
• Network adalah suatu sistem yang terhubung (dengan kabel atau
nirkabel) yang mengizinkan komputer-komputer yang berbeda
untuk membagi sumber daya yang ada.
• Procedurs adalah sekumpulan instruksi atau perintah mengenai
bagaimana menggabungkan semua komponen dalam suatu susunan
untuk mengolah informasi dan membuat hasil atau output yang
diinginkan.
• People adalah individu-individu yang menggunakan hardware dan
software, berikut dengan tampilannya dan menggunakan output
nya.
Menurut Satzinger, Jackson & Burd (2005, p3-4), sistem informasi
merupakan faktor yang sangat penting untuk kesuksesan dari organisasi bisnis
modern. Sistem yang baru secara konstan dikembangkan untuk membuat
bisnis menjadi lebih kompetitif. Kunci untuk pengembangan sistem yang
sukses adalah melalui analisis dan desain sistem untuk dapat mengerti
54
kebutuhan bisnis dari sistem informasi. Analisis sistem berarti mengetahui dan
menspesifikasikan lebih detil dari apa yang sistem informasi harus lakukan.
Sedangkan sistem desain berarti menspesifikasikan ke dalam detil bagaimana
banyak komponen dari sistem informasi yang harus diterapkan secara fisik.
2.5.5 Unified Process (UP)
Menurut Satzinger, Jackson, & Burd (2005, p45), Unified Process
merupakan sebuah metodolgi pengembangan sebuah sistem object-oriented
yang sangat berpengaruh dan paling banyak digunakan. Siklus hidup Unified
Process termasuk didalamnya fase penyelesaian proyek dari waktu ke waktu,
tetapi setiap fase siklus hidup melalui satu atau lebih iterasi, yaitu tahap
analisis, desain, dan implementasi untuk setiap bagian dari sistem. Pada akhir
dari setiap iterasi, tim proyek menggunakan siklus hidup Unified Process
yang telah lengkap dan beberapa bagian software yang telah dievaluasi
dengan kegunaan dari sistem. Empat fase dari siklus hidup Unified Process
dinamakan inception, elaboration, construction, dan transition.
Sumber : Satzinger, Jackson, & Burd, 2005, p45
Gambar 2.5 Siklus Hidup Pengembangan Sistem Unified Process
55
Pada tahap inception, developer mengembangkan dan menentukan pandangan
dari sistem yang baru untuk menunjukkan bagaimana sistem tersebut akan
meningkatkan operasi dan menyelesaikan permasalahan yang ada pada saat
ini. Pada tahap elaboration, umumnya melibatkan beberapa iterasi dan pada
setiap iterasi dilengkapi identifikasi dan definisi untuk semua kebutuhan
sistem. Di tahap construction, desain sistem diteruskan dan sistem
diimplementasikan. Pada tahap ini, memungkinkan memasukkan detil dari
pengendalian sistem. Di tahap transistion, sistem yang dikembangkan telah
siap untuk dioperasikan.
Menurut Satzinger, Jackson, & Burd (2005, p550), terdapat enam
disiplin dari pengembangan Unified Process adalah business modelling,
requirements, design, implementation, testing, dan deployment. Garis besar
dari pengembangan disiplin Unified Process adalah sebagai berikut :
1. Business Modelling
Tujuan utama dari disiplin ini adalah untuk mengerti dan
mengkomunikasikan sifat alami dari lingkungan bisnis dimana sistem
akan dikembangkan. Analis harus mengerti permasalahan yang terjadi
pada saat ini dan peningkatan potensial yang dapat dilakukan oleh sistem
baru dan harus dapat dikomunikasikan untuk dapat dimengerti oleh
pemakai akhir, amnager dan pengembang sistem yang bekerja pada
proyek tersebut. UML diagram dapat digunakan untuk
mendokumentasikan aspek lingkungan bisnis dari sistem yang akan
dikembangkan dengan pemodelan aliran kerja, objek bisnis, dan fungsi
56
dasar yang harus didukung oleh sistem. Aktivitas utama dalam tahap ini
adalah :
- Memahami lingkungan bisnis
- Menciptakan pandangan sistem
- Menciptakan model bisnis
2. Requirements
Tujuan utama dari disiplin ini adalah untuk mengerti dan
mendokumentasikan kebutuhan bisnis dan proses bagi sistem yang akan
dikembangkan. Problem domain-daerah dimana user membutuhkan
penyelesaian sistem informasi didefenisikan. Kebutuhan fungsional
digambarkan dengan use case dan use case description, dan langkah
interaksi user dengan sistem yang digambarkan dengan UML diagram.
Aktivitas dalam tahap ini adalah :
- Mendapatkan informasi yang detil
- Mendefenisikan kebutuhan fungsional
- Mendefenisikan kebutuhan non-fungsional
- Memprioritaskan kebutuhan
- Mengembangkan dialog user interface
- Mengevaluasi kebutuhan dengan user
57
3. Design
Tujuan dari disiplin ini adalah untuk mendesain solusi sistem berdasarkan
kebutuhan yang telah ditentukan sebelumnya. Pada tahap ini, ditentukan
user interface, komponen software, database, dan lingkungan
operasional. Aktivitas dalam tahap ini adalah :
- Perancangan pelayanan arsitektur pendukung dan pengembangan
lingkungan bisnis
- Perancangan arsitektur software
- Perancangan realisasi use case
- Perancangan database
- Perancangan sistem dan user interface
- Perancangan keamanan dan pengendalian sistem
4. Implementation
Disiplin implementasi melibatkan pembangunan komponen sistem yang
diperlukan secara nyata. Aktivitas yang terdapat di dalam tahap ini
adalah:
- Membuat komponen-komponen software
- Menggabungkan komponen-komponen software
- Mengintegrasikan komponen-komponen software
58
5. Testing
Disiplin testing ditentukan dengan menjalankan tes dan menggunakan
sampel data untuk mengevaluasi sistem dalam berbagai kondisi tertentu.
Aktivitas yang termasuk dalam tahap testing adalah :
- Menetapkan dan melakukan pengujian unit
- Menetapkan dan melakukan pengujian integrasi
- Menetapkan dan melakukan pengujian kegunaan
- Menetapkan dan melaukan pengujian penerimaan user terhadap sistem
6. Deployment
Disiplin deployment mengacu kepada aktivitas untuk membuat sistem
diterapkan secara operasional, termasuk pemasangan hardware dan
software, instalisasi komponen, pelatihan karyawan, dan pengkonversian
data.
7. Project Management
Disiplin ini bertujuan untuk mendukung team pengembang, dalam hal
finalisasi sistem dan ruang lingkup proyek sampai kepada pengawasan
dan pengendalian penjadwalan, komunikasi internal dan eksternal, dan
penyelesaian isu resiko.
59
8. Configuration and change management
Disiplin ini termasuk pengembangan prosedur kontrol dan mengelola
model dan komponen software
9. Environment
Disiplin ini dijalankan dengan pengelolaan lingkungan sistem dan
fasilitas terkait yang dilakukan oleh tim proyek. Aktivitas yang dilakukan
dalam tahap ini adalah :
- Memilih dan mengkonfigurasikan alat bantu pengembangan
- Menyesuaikan proses pengembangan UP
- Menyediakan layanan pendukung teknis
2.5.6 Object Oriented
Menururt Mathiassen et al. (2000, p135), Object Oriented Analysis and
Design (OOAD) adalah suatu metode untuk menganalisa dan merancang
sistem dengan pendekatan berorientasi object.
Sedangkan menurut Satzinger, Jackson, & Burd (2005, p60),
pendekatan object-oriented terhadap pengembangan sistem adalah melihat
sebuah sistem informasi sebagai suatu serangkaian interaksi objek yang
bekerjasama untuk menyelesaikan suatu tugas tertentu. Secara konsep, tidak
ada proses atau program yang terpisah, tidak ada entitas data atau file yang
terpisah. Sebuah sistem dalam suatu operasi berisikan objek-objek. Sebuah
60
objek merupakan sesuatu dalam sistem komputer yang memiliki kemampuan
untuk merespon sebuah pesan.
Pendekatan object-oriented memandang sebuah sistem informasi
sebagai sekumpulan objek yang saling berinteraksi. Object-Orientd Analysis
(OOA) menentukan tipe-tipe objek yang diperlukan user untuk bekerja
dengan dan menunjukkan bagaimana objek saling berinteraksi dalam
menyelesaikan suatu pekerjaa. Object-Oriented Design (OOD) menentukan
tipe tambahan dari objek yang biasanya digunakan untuk berkomunikasi
dengan orang-orang dan perangkat dalam suatu sistem, yang menunjukkan
bagaimana objek dapat saling berinteraksi dalam menyelesaikan suatu
pekerjaan, dan memperjelas arti dari setiap tipe objek sehingga dapat
digunakan dengan bahasa atau lingkungan yang spesifik. Object-Oriented
Programming (OOP) berisikan bagaimana menuliskan suatu pernyataan
dalam bahasa pemograman untuk menentukan apa yang dilakukan oleh setiap
tipe objek.
Menurut Satzinger, Jackson, & Burd (2005, p61), terdapat dua alasan
utama mengapa object-oriented digunakan untuk pengembangan sistem, yaitu:
1. Objek bersifat lebih alami
Kealamian dari pendekatan object-oriented menunjuk ke arah fakta yang
biasanya dipikirkan oleh seseorang mengenai dunia mereka dengan sudut
pandang objek, jadi ketika orang-orang membicarakan mengenai
pekerjaan dan mendiskusikan kebutuhan sistem, seringkali mereka
cenderung menentukan class dari objek yang terkait. Jadi, pendekatan
61
object-oriented cocok dengan cara tipikal bagaimana manusia melihat
dunia mereka. Object Oriented Analysis (OOA), Object Oriented Design
(OOD), dan Object Oriented Programming (OOP) semuanya berkaitan
dengan memodelkan class dari objek, sehingga fokusnya tetap pada objek
sepanjang waktu proses pengembangannya.
2. Class dari objek dapat digunakan lagi
Selain itu, kemampuan untuk menggunakan lagi class dan objek
merupakan keuntungan dari pengembangan object-oriented. Reuse atau
penggunaan ulang berarti class dan objek dapat diciptakan sekali dan
dapat digunakan berulang kali. Ketika developer telah menentukan
sebuah class, misalnya class pelanggan, class tersebut dapat digunakan
lagi di banyak sistem lain yang juga menggunakan objek pelanggan. Jika
sistem baru memiliki jenis khusus dari pelanggan, class pelangan yang
sekarang juga dapat digunakan untuk class baru sebagai subclassnya
dengan mewarisi semua sifat pelanggan dan kemudian menambahkan
karakteristik-karakteristik yang baru. Class dapat dgunakan lagi pada
situasi ini pada saat di analisis, desain, atau saat pemograman. Saat
melakukan pemrograman, developer tidak perlu melihat sumber code dari
class yang digunakan lagi, karena sifat pewarisan yang ada.
2.5.7 Object dan Class
Menururt Mathiassen et al. (2000, p4), Object dapat diartikan sebagai
suatu entitas yang memiliki identitas, keadaan, dan perilaku. Contoh dari
62
object misalnya adalah outlet atau pelanggan yang merupakan entitas dengan
identitas yang spesifik, dan memiliki status dan perilaku tertentu yang berbeda
antara satu pelanggan dengan pelanggan yang lain. Sedangkan class
merupakan deskripsi dari kumpulan object yang memiliki struktur, pola
perilaku, dan atribut. Untuk dapat lebih memahami object, biasanya object-
object tersebut sering digambarkan dalam bentuk class.
Menurut Satzinger, Jackson, & Burd (2005, p63), class merupakan
sebuah pengelompokan dimana semua objek yang sama tergabung
didalamnya. Dalam pemograman komputer dan objek, objek dapat merupakan
instansi dari sebuah class. Ketika objek dibuat untuk class, dapat dikatakan
bahwa class terinisiasi. Objek-objek saling berinteraksi satu sama lain,
menanyakan objek lain untuk meminta atau mengeluarkan satu dari sekian
banyak method yang dimilikinya. Dengan kata lain, objek user interface
seperti form dengan tombol dan text box dapat mengirimkan pesan dengan
menanyakan class untuk membuat instansi baru dari dirinya sendiri. Instansi
baru dari pesanan dapat mengirim pesana kepada pelanggan, misalnya, Susan,
menginformasikan bahwa pelanggan tersebut membuat order baru.
Sedangkan menurut Whitten et al. (2004, 409) object adalah sesuatu
yang ada atau dapat dilihat, disentuh, atau dirasakan dan user menyimpan data
serta mencatat perilaku mengenai sesuatu. Class adalah satu set object yang
memiliki atribut dan behavior yang sama.
63
2.5.8 Konsep Object-Oriented
Terdapat tiga buah konsep atau teknik dasar dalam proses analisa dan
perancangan berorientasi objek, yaitu :
1. Encapsulation
Menurut Satzinger, Jackson, & Burd (2005, p66), Encapsulation adalah
penggabungan atribut dan metode kedalam satu bagian dan
menyembunuykan struktur internal objek. Jadi, penggabungan ini
bertujuan agar developer tidak perlu membuat coding untuk fungsi yang
sama, melainkan hanya perlu memanggil fungsi yang telah dibuat
sebelumnya.
2. Inheritance
Inheritance dalam bahasa pemograman berorientasi objek secara
sederhana berarti menciptakan sebuah class baru yang memiliki sifat-sifat
dan karakteristik-karaktersitik sama dengan yang dimiliki class induknya
disamping sifat-sifat dan karakteristik-karakterstik individualnya
3. Polymorphism
Polymorphism berarti kemampuan dari tipe objek yang berbeda untuk
menyediakan atribut dan operasi yang sama dalam hal yang berbeda.
Polymorphism adalah hasil natural dari fakta bahwa objek dari tipe yang
berbeda atau bahkan dari sub-tipe yang berbeda dapat menggunakan
atribut dan operasi yang sama.
64
Menurut Satzinger, Jackson, & Burd (2005, pp61-62), sebuah objek
dalam sistem komputer seperti objek pada dunia nyata, yaitu sesuatu yang
memiliki atribut dan behaviour. Sebuah sistem komputer dapat memiliki
beberapa jenis objek, seperti objek user interface yang membuat user interface
dan objek sistem yang fokus kepada tugas di lingkungannya. Atribut
merupakan karakteristik dari objek yang memiliki nilai tertentu. Sedangkan
method merupakan behavior atau operasi yang mendeskripsikan apa yang
dapat dikerjakan oleh suatu objek.
2.5.9 Keunggulan Object Oriented
Menurut McLeod (2001, p339), inti keunggulan Object Oriented
Analysis and Design adalah pada dua kemampuan sistem berorinentasi objek,
yaitu:
1. Reuseability
Kemampuan untuk menggunakan kembali pengetahuan dan kode
program yang ada, dapat menghasilkan keunggulan saat suatu sistem baru
dikembangkan atau sistem yang ada dipelihara atau direkayasa ulang.
Setelah suatu kelas objek diciptakan, ia dapat digunakan kembali,
mungkin hanya dengan modifikasi kecil, di sistem lain. Hal ini berarti
biaya pengembangan yang ditanam pada suatu proyek dapat memberikan
keuntungan bagi proyek-proyek lainnya.
65
2. Interoperability
Kemampuan untuk mengintegrasikan berbagai aplikasi dari beberapa
sumber seperti program yang dikembangkan sendiri dan piranti lunak
jadi, serta menjalankan aplikasi-aplikasi ini di berbagai platform
perangkat keras (hardware)
Reuseability dan Interoperability menghasilkan empat keunggulan
kuat (Mcleod, 2001, 340), yaitu:
- peningkatan kecepatan pengembangan sistem
- pengurangan biaya
- kode berkualitas tinggi
- pengurangan biaya pemeliharan dan rekayasa ulang sistem
Sedangkan menurut Mathiassen et al (2000, p5-6) menyebutkan bahwa
terdapat keuntungan menggunakan OOAD diantaranya adalah :
1. OOAD memberikan informasi yang jelas mengenai context sistem.
2. Dapat menangani data yang seragam dalam jumlah yang besar dan
mendistribusikannya ke seluruh bagian organisasi.
3. Berhubungan erat dengan analisa berorientasi objek, perancangan
berorientasi objek, user interface berorientasi objek, dan pemograman
berorientasi objek.
66
2.5.10 Unified Modelling Language (UML)
Sejarah terbentuknya standar pemodelan objek UML terjadi pada akhir
tahuan 80-an dan awal tahun 90-an, dimana sudah banyak terdapat metode
pemodelan berorientasi objek yang digunakan pada industri-industri,
diantaranya Booch Method yang diperkenalkan oleh Grady Booch, Object
Modeling Technique (OMT) yang diperkenalkan oleh James Rumbaugh, dan
Object-Oriented Software Engineering (OOSE) yang diperkenalkan oleh Ivar
Jacobson. Keberadaan berbagai metode tersebut justru menjadi masalah utama
dalam pengembangan sistem yang berorientasi objek, karena dengan
banyaknya metode pemodelan objek yang digunakan akan membatasi
kemampuan untuk berbagi model antar proyek dan antar tim pengembang.
Hal tersebut dikarenakan oleh berbedanya konsep masing-masing metode
pemodelan objek sehingga menghambat komunikasi antar anggota tim dengan
user yang berujung pada banyaknya kesalahan atau error pada proyek.
Dikarenakan masalah-masalah tersebut, maka diperlukanlah suatu standarisasi
penggunaan bahasa pemodelan.
Pada tahun 1994, Grady Booch dan James Rumbaugh bekerja sama
dan menyatukan metode pengembangan berorietnasi objek mereka dengan
tujuan untuk menciptakan sebuah standar sistem pengenbangan berorientasi
objek. Pada tahun 1995, Ivar Jacobsen juga ikut bergabung dengan mereka
dan ketiganya memusatkan perhatian untuk menciptakan sebuah standar
bahasa pemodelan objek, bukan lagi berkonsentrasi pada metode atau
pendekatan berorientasi objek. Berdasarkan pemikiran ketiga tokoh tersebut
67
dan hasil kerja mereka dan hasil kerja lainnya pada dunia industri, Unified
Modeling Language (UML) versi 1.0 dirilis pada tahun 1997.
UML bukanlah metode untuk mengembangkan sistem, melainkan
hanya berupa catatan yang kemudian pada saat ini diterima dengan luas
sebagai standar untuk pemodelan objek. Object Management Group (OMG)
mengadopsi UML pada bulan November 1997 dan sejak saat itu terus
mengembangkannya berdasarkan pada kebutuhan dunia industri. Pada tahun
2004, telah diluncurkan UML versi 1.4 dan pada saat itu juga OMG telah
mulai merencanakan pengembangan UML versi 2.0 (Whitten et al., 2004,
p408)
Sedangkan menurut Satzinger, Jackson, & Burd (2005, p47), setiap
kali seseorang perlu untuk menyimpan atau mengkomunikasikan informasi,
sangat diperlukan untuk membentuk sebuah model. Sebuah model merupakan
representasi dari aspek penting pada dunia nyata. Model digunakan untuk
pengembangan sistem termasuk representasi dari input, output, proses, data,
objek, interaksi antar objek, lokasi, jaringan, perangkat, dan lain-lain.
Sebagian besarnnya merupakan model grafis yang disebut diagram atau chart.
Diagram yang dibuat bertujuan untuk menunjukkan model sistem digambar
mengikuti notasi yang telah ditentukan melalui Unified Modelling Language
(UML). UML merupakan seperangkat standar dari model yang dibangun dan
dinotasikan secara khusus untuk pengembangan object-oriented. Dengan
menggunakan UML, analisis dan end user dapat mengerti variasi diagram
yang digunakan dalam proyek pengembangan sistem
68
2.6 Pendokumentasian UML
2.6.1 Activity Diagram
Menurut Satzinger, Jackson, & Burd (2005, p144-145), mengamati
cara berjalan proses bisnis akan membantu dalam pemahaman fungsi bisnis.
Ketika informasi proses bisnis telah dikumpulkan, misalnya dengan
mewawancarai user dan mengamati proses, hasilnya perlu didokumentasikan.
Salah satu cara yang efektif untuk menangkap informasi ini adalah dengan
menggunakan diagram. Diagram ini diperlukan untuk menggambarkan aliran
kerja yang berjalan pada saat ini. Sebuah workflow atau aliran kerja
merupakan langkah dari tahapan proses yang menangani suatu transaksi bisnis
atau permintaan pelanggan. Workflow dapat simpel atau kompleks. Tidak ada
metode tertentu yang harus standar digunakan untuk memodelkan workflow.
Metodologi tertentu yang umumnya digunakan termasuk flowchart dan
activity diagram. Banyak analis menggunakan jenis diagram workflow yang
disebut activity diagram. Activity diagram merupakan sebuah diagram yang
menggambarkan aktivitas dari beragam user atau sistem, siapa yang
melakukan aktivitas, dan aliran urutan dari aktivitas.
Activity diagram digunakan untuk menggambarkan uraian aliran
aktifitas secara kronologis, bagian dari proses bisnis atau tahapan dari use
case atau logic dari behavior suatu objek atau disebut sebagai method.
Diagram ini memodelkan langkah-langkah suatu proses atau kegiatan yang
ada dalam sistem. Diagram ini juga dapat untuk memodelkan aksi yang akan
dilakukan ketika suatu operasi dijalankan dan berikut hasil yang dikeluarkan
69
dari aksi tersebut. Activity diagram memiliki kemiripan dengan flowchart.
Perbedaannya adalah activity diagram menyediakan mekanisme untuk
menggambarkan aktifitas yang muncul secara paralel. Activity diagram dapat
dilakukan pada tahap analisis maupun pada perancangan (Whitten et al., 2004,
pp 450-454).
Sumber : Satzinger, Jackson, & Burd, 2005, p145
Gambar 2.6 Contoh Activity Diagram
Simbol oval menggambarkan aktivitas individu pada workflow. Panah
penghubung menunjukkan urutan dari aktivitas. Lingkaran hitam digunakan
untuk menandakan nilai dan berakhirnya workflow. Diamond merupakan titik
keputusan dimana aliran proses akan mengikuti satu atau langkah lain dari
pilihan yang ada. Garis tebal merupakan synchronization bar, yang bisa
memisahkan langkah keberapa langkah atau mengkombinasikan ulang
70
beberapa langkah yang ada. Swimlane mewakili agen yang menjalankan
aktivitas. Pada workflow, umumnya mewakili beberapa agen yang berbeda
(berupa orang tertentu) yang menjalankan langkah yang berbeda dari proses
workflow. Simbol swimlane memisahkan aktivitas workflow ke group,
menunjukkan agen mana yang menjalankan aktivitas tersebut.
2.6.2 Events
Menurut Satzinger, Jackson, & Burd (2005, p167), sebuah event
(kejadian) dapat terjadi pada satu waktu dan tempat yang spesifik, dapat
digambarkan, dan harus diingat oleh sistem. Event menggerakan atau memicu
semua proses yang dilakukan sistem, jadi mendaftar event dan menganalisa
event diperlukan ketika kebutuhan sistem harus ditentukan dengan
menentukan use case.
Satzinger, Jackson, & Burd (2005, p173) menambahkan bahwa salah
satu teknik yang digunakan untuk menentukan event mana yang diaplikasikan
untuk mengontrol sistem adalah asumsi bahwa teknologi sempurna. Perfect
technology assumption menyatakan bahwa event harus dimasukkan saat
pendefenisian kebutuhan hanya jika sistem dibutuhkan untuk merespon di
dalam kondisi yang sempurna, misalnya perlengkapan tidak pernah rusak,
kapasitas penyimpanan tidak terbatas, dan dengan orang yang
mengoperasikan sistem sangat jujur dan tidak pernah membuat kesalahan.
Dengan perfect technology assumption, analis dapat mengeliminasi event
misalnya seperti waktu back up database, dan sebagainya karena mereka
71
dapat mengasumsikan perangkat tersebut tidak akan pernah rusak. Saat
mengembangkan daftar event, analisis juga harus mencatat setiap informasi
tambahan tentang suatu event.
Menurut Satzinger, Jackson, & Burd (2005, p175), event menyebabkan
sistem harus melakukan sesuatu. Trigger merupakan signal yang memberitahu
sistem bahwa event tertentu telah terjadi. Untuk external event, trigger-nya
adalah kedatangan data yang harus diproses oleh sistem. Misalnya ketika
outlet melakukan pemesanan, detail pesanan baru disimpan sebagai input.
Source dari data juga penting untuk diketahui. Pada kasus pemesanan, source
dari pesanan baru adalah outlet – seorang external agent. Untuk temporal
event, trigger-nya adalah titik waktu tertentu. Misalnya, akhir dari setiap hari,
sistem mengetahui bahwa itu adalah waktu untuk memproduksi suatu laporan
ringkasan transaksi yang telah ditentukan. Use case merupakan apa yang
dilakukan sistem ketika suatu event terjadi (reaksi atau suatu event). Ketika
outlet melakukan pemesanan, sistem digunakan untuk mengeluarkan sebuah
use case misalnya, ”create a new order”. Ketika sudah waktunya
memproduksi laporan ringkasan transaksi, sistem digunakan untuk
mengeluarkan use case, yaitu ”produce transaction summary”. Response
merupakan output dari sistem. Saat sistem memproduksi laporan ringkasan
transaksi, laporan tersebut merupakan output-nya. Satu use case dapat
menghasilkan beberapa respon. Misalnya, ketika sistem membuat pesanan
baru, sebuah konfirmasi pesanan diberikan ke outlet, detil pesanan diberikan
ke pengiriman, dan transaksi tersebut diberikan ke bank. Destination
72
merupakan tempat dimana tanggapan atau respon tertentu (output) dikirim,
misalnya ke external agent. Kadang sebuah use case tidak meng-generate
response. Misalnya, outlet ingin meng-update informasi account, informasi
ini disimpan di database, tetapi tidak ada output yang diproduksi lagi.
Tabel 2.1 Contoh Event Table
Event Trigger Source Use Case Response Destination
Outlet ingin
mengecek
ketersediaan barang
Memeriksa
barang Outlet
Melihat
ketersediaan
barang
Detil
ketersediaan
barang
Outlet
Sumber : Satzinger, Jackson, & Burd, 2005, p175
2.6.3 Problem Domain Class
Menurut Satzinger, Jackson, & Burd (2005, p183-184), pada
pendekatan object-oriented, sesuatu yang perlu disimpan karena penting untuk
sistem disebut problem domain class. Class-class ini dimodelkan dengan
sebuah model class diagram. Domain model class diagram adalah sebuah
diagram UML yang menunjukkan hal-hal yang penting dalam pekerjaan user :
problem domain class, hubungan diantaranya dan atribut-atributnya.
Notasi UML class diagram digunakan untuk domain model class
diagram dan design class diagram. Sebuah kotak mewakili class, dan garis
yang menghubungkan antara kotak menunjukkan hubungan diantara class-
73
class. Simbol class adalah kotak dengan tiga bagian. Bagian teratas memuat
nama class, bagian tengah memuat daftar atribut dari class, dan bagian bawah
memuat daftar method yang penting untuk class tersebut. Method tidak
ditunjukkan pada domain model class diagram. Sesungguhnya, simbol class
sering ditunjukkan hanya dua bagian untuk mengindikasikan bahwa itu adalah
sebuah domain model. Sebagai contoh adalah class outlet dan order. Terlihat
bahwa setiap pelanggan dapat meletakkan banyak order, dan setiap order
diletakkan oleh satu outlet. Model dari contoh menunjukkan bahwa outlet
dapat meletakkan minimum nol dan maksimum banyak order. Dibaca dari
arah sebaliknya, dikatakan bahwa order diletakkan oleh sekurang-kurangnya
satu outlet dan hanya satu outlet. Batasan ini memperlihatkan aturan bisnis
yang telah ditentukan user atau manajemen. Analis tidak menentukan batasan
ini, tetapi user atau manajemenlah yang menentukannya.
Menurut Satzinger, Jackson, & Burd (2005, p186), ada beberapa jenis
multiplicity, yaitu :
Tabel 2.2 Jenis Multiplicity pada Problem Domain Class
Jenis Multiplicity Keterangan 0..1 zero or one 1 one and only one
1..1 one and only one alternate 0..* zero or nor * zero or more alternate
1..* one or more Sumber : Satzinger, Jackson, & Burd, 2005, p186
74
Menurut Satzinger, Jackson, & Burd (2005, p189-191), terdapat dua
cara tambahan yang distrukturisasi dari pemahaman terhadap domain class di
dunia nyata yaitu hirarki generalisasi atau spesialisasi dan hirarki whole-part :
1. Notasi generalisasi atau spesialisasi
Hirarki generalisasi atau spesialisasi didasarkan pada ide bahwa
seseorang mengklasifikasikan sesuatu dengan persamaan dan
perbedaanya. Generalisasi merupakan sebuah penilaian yang
menggelompokkan jenis yang sama dari suatu hal tersebut, misalnya
banyak jenis dari kendaraan bermotor – mobil, truk, traktor, dan
sebagainya. Semua kendaraan bermotor memiliki karakteritik umum, jadi
kendaraan bermotor merupakan class umum. Spesialisasi adalah penilaian
bahwa mengelompokkan berbagai jenis benda, misalnya, jenis spesial
dari mobil adalah sport car, sedan, dan sport utility vehicle. Tipe mobil
ini sama dalam beberapa hal, dan juga berbeda di lain hal. Jadi sport car
merupakan jenis spesial dari mobil.
Hirarki generalisasi atau spesialisasi digunakan untuk membuat
struktur atau memberikan benda-benda ini dari yang lebih umum ke yang
lebih spesial. Setiap class pada hirarki tersebut mungkin memiliki class
yang lebih umum diatasnya, yang disebut dengan superclass. Pada saat
yang sama, class mungkin memiliki class yang lebih spesial di bawahnya,
yang disebut subclass. Notasi UML class diagram menggambarkan
superclass dan subclass dengan segitiga kecil pada garis yang menunjuk
ke superclass.
75
Inheritance (pewarisan) memungkinkan subclass untuk berbagi
karakteristik dengan superclass-nya. Subclass mewarisi karakteristik-
karakteristik dari class induknya. Pada pendekatan object-oriented,
inheritance merupakan konsep kunci yang mungkin karena adanya hirarki
generalisasi atau spesialisasi ini. Seringkali hirarki ini menunjuk pada
hirarki inheritance.
2. Notasi hirarki whole-part
Cara lain seseorang untuk menstrukturisasi informasinya adalah
dengan menentukannya berdasarkan bagian-bagiannya. Misalnya,
mempelajari sistem komputer mungkin termasuk mengenali komputer
yang merupakan kumpulan part – processor (prosesor), main memory
(memori utama), keyboard, disk storage, dan monitor. Keyboard bukan
merupakan jenis khusus dari komputer, tetapi merupakan bagian dari
komputer. Hirarki whole-part menangkap hubungan bahwa orang-orang
mengidentifikasikan hubungan antara objek dengan komponennya.
Terdapat dua jenis dari hirarki whole-part. Agregasi digunakan untuk
menggambarkan hubungan whole-part antara aggregate (whole) dan
komponennya (part) dimana part dapat berdiri terpisah. Jenis kedua dari
hirarki whole-part adalah komposisi. Komposisi digunakan untuk
menggambarkan hubungan whole-part yang lebih kuat, dimana
komponennya (part), ketika dihubungkan, tidak lagi dapat berdiri
terpisah. Simbol diamond digunakan untuk menunjukkan komposisi.
76
Hirarki whole-part, baik agregasi dan komposisi memungkinkan analis
untuk mengekspresikan perbedaan yang lebih halus antara hubungan
antar class.
2.6.4 CRUD Matrix
Menurut Satzinger, Jackson, & Burd (2005, p199), terdapat sebuah
matriks yang dapat dibuat untuk menggambarkan kebutuhan akses. Salah satu
pendekatan adalah dengan mendata use case dan domain class pada sebuah
ide case domain class matrix. Matriks ini menunjukkn use case mana yang
dapat mengakses setiap domain class. Informasi ini diperlukan ketika
mendesain interaksi objek untuk setiap usecase. Membuat matriks untuk
merangkum informasi ini akan sangat berguna. Huruf C berarti use case
membuat data baru, R berarti use case membaca data, U berarti use case
meng-update data, dan D berarti use case dapat menghapus data. Akronim
CRUD (Create, Read, Update, Delete) sering digunakan untuk
menggambarkan jenis matriks ini.
Tabel 2.3 Contoh Tabel CRUD Matrix
Use Cases Domain Classes
Outlet Inventory Item Order Look up item availability R
Create New Order CRU RU C Update Order RU RU RUD
Sumber : Satzinger, Jackson, & Burd, 2005, p200
77
2.6.5 Defenisi Detail Kebutuhan Object-Oriented
Menurut Satzinger, Jackson, & Burd (2005, p212), untuk dapat
menangkap kebutuhan sistem, analis menggunakan sekumpulan model yang
didasarkan pada use case dengan pendekatan object-oriented. Empat model
use case diagram, use case description, activity diagram, dan system sequence
diagram digunakan untuk menentukan kebutuhan sistem dengan cara ini
disebut dengan ”use case driven”. Pendekatan pada dasarnya adalah untuk
membicarakan use case, satu demi satu, dan menjabarkan kebutuhan secara
lebih detail. Model lainnya adalah statechart diagram. Statechart diagram
bukan merupakan ”use case driven”, melainkan ”object driven”.
2.6.6 Statechart Diagram
Menurut Satzinger, Jackson, & Burd (2005, p237), statechart diagram
atau statechart, menggambarkan sekumpulan state dari setiap objek. Karena
objek nyata ditiru di dalam sistem komputer, dan seringkali kondisi status dari
objek nyata tersebut merupakan bagian yang penting dari informasi yang
dapat digunakan analis untuk membantu menentukan aturan bisnis yang harus
diterapkan di sistem komputer. Misalnya, pesanan outlet tidak akan komplit
sebelum ada shipping (pengiriman). Sebuah state pada statechart untuk objek
sama dengan kondisi status dari objek. Statechart dapat digunakan untuk class
yang memiliki behavior yang kompleks atau kondisi status yang perlu
dideteksi. Bagaimanapun juga, tidak semua class memerlukan statechart. Jika
suatu objek tidak memiliki proses status yang akan mengontrol proses, suatu
78
statechart mungkin tidak diperlukan. Misalnya class order mungkin
membutuhkan statechart, tetapi class order Transaction kemungkinan tidak
memerlukannya. Sebuah order Transcation dibuat ketika pembayaran telah
dilakukan dan hanya itu saja. Tidak ada kondisi yang perlu dideteksi lagi.
Statechart diagram dibentuk dari oval yang mewakili status dari objek dan
panah yang mewakili transisinya. Pada gambar ditunjukkan statechart simpel
untuk printer. Tanda mulainya statechart dilambangkan dengan titik hitam,
yang disebut dengan peseudodate. Oval pertamanya merupakan state (status)
dari printer. Dalam kasus ini, printer mulai pada state off. State digambarkan
dengan kotak dengan ujung siku dengan nama state didalamnya.
Menurut Satzinger, Jackson, & Burd (2005, p238), sebuah state dari
objek adalah kondisi yang terjadi pada saat hidupnya dan memenuhi kriteria
tertentu, melakukan aksi tertentu, atau menunggu event tertentu. Setiap state
memiliki nama yang unik. State merupakan kondisi semipermanen dari objek.
State dapat dideskripsikan sebagai kondisi semipermanen karena external
event dapat menginterupsinya. Sebuah objek tetap pada state sampai suatu
event menyebabkannya berpindah ke state lainnya. Penamaan kondisi status
membantu mengidentifkasi state yang valid. Untuk mengidentifikasi state,
dapat dipikirkan kondisi yang mungkin diperlukan untuk dilaporkan kepihak
manajemen atau outlet. Panah yang meninggalkan state disebut transition
(transisi). Transition merupakan sebuah perpindahan sebuah objek dari state
satu ke state lainnya. Transition jika diperhatikan memiliki durasi yang
pendek, dibandingkan dengan state dan tidak dapat diinterupsi. Guard-
79
condiition menunjukkan kondisi yang harus benar saat transisi berjalan.
Transition-name merupakan nama dari message event yang memicu transisi
dan mengakibatkan objek meninggalkan state sebelumnya. Action-expression
merupakan expression prosedural yang mengeksekusi saat transition berjalan.
Dengan kata lain, mendeskripsikan aksi yang dijalankan. Salah satu dari
ketiga komponen ini transition–name, guard-condition, atau action-
expression dapat saja kosong.
2.6.7 Use Case Diagram
Menurut Satzinger, Jackson, & Burd (2005, p213) use case diagram
membuat sebuah daftar isi dari aktivitas event bisnis yang harus didukung
oleh sistem. Use case diagram digunakan untuk mengidentifkasi kegunaan
(uses), atau menggunakan case dari sistem baru atau dengan kata lain, untuk
mengidentifikasikan bagaimana sistem akan digunakan dan actor mana yang
akan terkait dengan use case tertentu. Setiap use case harus memuat
penggambaran secara detail. Salah satu caranya adalah dengan menuliskan
deskripsi dari setiap langkah yang dilakukan bersama baik oleh user dan
sistem untuk menyelesaikan setiap use case. Use case diagram
menggambarkan interaksi antara sistem dan user (Whitten et al., 2004, p 441)
dan use case diagram mendeskripsikan secara grafis hubungan antara actors
dan use case (Mathiassen et al., 2000, p343).
Menurut Satzinger, Jackson, & Burd (2005, p214-215) use case
disimbolkan dengan sebuah oval atau lonjong dengan nama use case
80
didalamnya. Garis yang menghubungkan antara actor dan use case
menandakan bahwa actor mana yang akan menangani use case tertentu.
Walaupun ”tangan” ini bukan merupakan merupakan bagian dari standarisasi
notasi UML, actor pada diagram ini digambarkan dengan tangan untuk
mengingatkan bahwa actor ini harus memiliki akses ke dalam sistem.
Menurut Satzinger, Jackson, & Burd (2005, p220-225) pengembangan
sistem membutuhkan analis untuk lebih detail lagi dalam setiap tingkat
deskripsi diagram. Karena itu dibuat sebuah use case description. Use case
description ini terdapat tiga tingkat detil yaitu brief description, intermediate
description, dan fully developed description.
1. Brief Description
Sebuah brief description dapat digunakan untuk setiap use case secara
simpel, khusunya ketika sistem yang akan dihubungkan kecil. Dan
aplikasinya mudah dimengerti.
2. Intermediate Description
Intermediate-level use case description memperluas brief description
untuk memuat aliran internal aktivitas yang digambarkan untuk use case.
Jika ada beberapa skenario, masing-masing aliran aktivitas harus
digambarkan. Kondisi perkecualian dapat didokumentasikan jika
diperlukan. Setiap langkah diidentifikasikan dengan angka untuk
membuatnya lebih mudah untuk dibaca.
81
3. Fully Developed Description
Fully developed description merupakan metode yang paling resmi
untuk mendokumentasikan sebuah use case. Walaupun perlu lebih banyak
waktu untuk menentukan semua komponen pada tingkat ini, tetapi ini
merupakan metode yang lebih banyak digunakan untuk mendeskripsikan
setiap aktivitas dari use case. Kesulitan dari pengembang software adalah
memerlukan pemahaman yang dalam dari kebutuhan user. Tteapi jika
sebuah fully developed use case description dibuat, kemungkinan akan
meningkat bahwa analis telah mengerti proses bisnis dan bagaimana sistem
harus mendukung proses tersebut.
Ruang pertama dan kedua digunakan untuk mengidentifikasi use case
dan skenario yang terjadi dalam use case. Pada proyek yang lebih formal,
identifikator unik dapat ditambahkan, misalnya pengembang sistem. Ruang
ketiga mengidentifikasikan situasi yang memicu dimulainya use case, yang
disebut dengan trigger. Trigger ini sama dengan trigger yang telah
digambarkan pada event table. Ruang keempat adalah brief description dari
use case atau skenario. Ruang kelima mengidentifikasi actor. Ruang
keenam mengidentifikasi use case lain dan bagaimana use case tersebut
berkaitan dengan use case yang digambarkan. Ruang stakeholders
mengidentifkasi bagian yang bertanggung jawab, dan dapt juga yang akan
terpengaruh akan hasil dari use case ini.
Dan ruang selanjutnya memuat informasi kritis dari state sistem
sebelum dan sesudah use case dijalankan, disebut preconditions dan
82
postconditions. Preconditions menyatakan kondisi seperti apa yang harus
ditemui sebelum sebuah use case dapat dimulai, atau informasi apa yang
harus ada sebelum memulai use case. Preconditions biasanya memuat hal-
hal seperti objek apa yang harus ada didalam sistem atau database, relasi
khusus apa yang harus ada diantara objek, dan nilai spesifik apa yang harus
diidentifikasi terlebih dahulu. Postconditions mengidentifkasikan apa yang
harus selesai atau ada saat use case selesai dijalankan. Item yang digunakan
untuk mendeskripsikan precondition harus dimasukkan pada pernyataan di
postcondition. Dua ruang terakhir mendeskripsikan detail aliran aktivitas
dari use case. Ruang terakhir memuat aktivitas alternative dan
perkecualian.
2.6.8 System Sequence Diagram
Menurut Satzinger, Jackson, & Burd (2005, p226), System Sequence
Diagrams (SSDs) digunakan untuk menentukan input dan output dan urutan
perintah dari input dan output. Dalam sequence diagram, aliran informasi
yang masuk dan keluar disebut messages. Pada pendekatan object-oriented,
aliran informasi dijalankan dengan mengirimkan messages dari dan ke actors,
atau diantara external objects. Jadi, sebuah dokumen SSD digunakan untuk
mendeskripsikan aliran informasi ke dan dari sistem. SSD merupakan jenis
interaction diagram. Pada use case diagram, digambarkan apa yang harus
dilakukan actor yang berhubungan dengan sistem, tetapi dalam SDD
digambarkan bagaimana actor tersebut berinteraksi dengan sistem dengan
83
memasukkan input data dan menerima output data. Idenya adalah sama pada
kedua diagram ini, tapi memiliki tingkat detil yang berbeda. Kotak yang
bertuliskan :System merupakan sebuah objek yang mewakilkan seluruh sistem
yang terotomatisasi. SSD menggunakan notasi objek. Notasi objek
mengindikasikan bahwa bentuk kotak mengarah ke sebuah objek individu dan
bukan seluruh class dari objek yang sama tersebut. Notasinya adalah sebuah
kotak dengan nama objek yang digarisbawahi. Tanda titik dua sebelum nama
yang bergaris bawah seringkali digunakan tapi bisa juga tidak digunakan.
Pada SSD, objek yang terkait digambarkan untuk mewakili keseluruhan
sistem. Di bawah actor dan :System terdapat garis putus-putus vertikal yang
disebut lifeline. Sebuah lifeline, atau object lifeline, menunjukkan bahwa baik
objek maupun actor sepanjang rentang waktu SSD. Tanda panah diantara
lifeline menunjukkan messages yang dikirim atau diterima oleh actor atau
sistem. Setiap panah memiliki sumber dan sebuah tujuan. Sumber dari
message merupakan actor atau subject yang mengirim message tersebut.
Actor atau objek tujuan dari message diindikasikan dengan lifeline yang
disentuh oleh kepala panah. Kegunaan dari lifeline adalah untuk
mengindikasikan tahapan urutan messages yang dikirim dan diterima oleh
actor dan object. Urutan ini dibaca dari atas ke bawah.
Menurut Satzinger, Jackson, & Burd (2005, p229), sebuah message
dituliskan baik tujuan message maupun input data yang dimasukkan. Sintaks
dari message memiliki beberapa pilihan. Sebuah message dapat diartikan
sebagai sebuah aksi yang meminta ke objek yang dituju, seperti perintah.
84
Bentuk sintaks ini digambarkan dengna panah penuh. Balasan dari message
memiliki format dan arti yang sedikit berbeda. Panahnya merupakan panah
putus-putus digunakan untuk mengindikasikan sebuah respon atau jawaban,
dan secara segera message yang mendahuluinya. Format dari labelnya juga
berbeda. Karena merupakan sebuah respon, hanya dituliskan data yang
dikembalikan. Misalnya list dari informasi yang dikembalikan, seperti
deskripsi, harga, dan jumlah item. Pada kasus ini informasi yang dikembalikan
bernama item information. Dokumentasi tambahannya diperlukan untuk
menunjukkan detail informasi tersebut. Pada gambar, informasi tambahan ini
ditunjukkan dengan sebuah note. Note dapat ditambahkan ke berbagai UML
diagram untuk menambahkan penjelasan. Detail dari informasi juga dapat
didokumentasikan dengan narasi pendukung atau direferensikan dengan
atribut.
Seringkali message yang sama dapat dikirim beberapa kali. Misalnya,
ketika actor meng-entry item ke dalam order, message ”add item” ke order
dapat dilakukan berkali-kali. Pada gambar ditunjukkan notasi yang
menunjukkan operasi yang berulang ini. Dengan sebuah kotak yang lebih
kecil didalamnya dideskripsikan tulisan untuk mengontrol behavior dari
message. Kondiri :loop for all items” mengindikasikan bahwa message di
dalam kotak akan berulang berkali-kali atau berhubungan dengna banyaknya
item yang akan dipesan.
85
2.6.9 Detail System Sequence Diagram
Menurut Satzinger, Jackson, & Burd (2005, p314), sebuah System
Sequence Diagram–SSD, dikembangkan sebagai bagian pada saat tahap
requirement, tetapi hanya menunjukkan message yang ditujukan ke sistem.
Pada tahap desain, harus ditetapkan objek mana yang akan menerima message
ini. Untuk menyederhanakan proses ini, system desinger biasanya membuat
sebuah class baru yang akan melayani pengumpulan message yang dituju oleh
message yang masuk, disebut sebagai use case controlles. Misalnya, pada use
case-Look up item availability, mungkin dibuat sebuah class controller yang
dinamakan Availability Handeler. Sebuah use case controller sungguh
merupakan class tiruan yang dibuat oleh seseorang yang mendesain sistem.
Kadang class ini disebut artifacts, yang dibuat untuk tujuan tertentu ketika
hanya diperlukan. Terdapat beberapa cara untuk membuat use case controller.
Sebuah use case controller dapat ditentukan untuk semua use case.
Sekumpulan tanggung jawab diberikan untuk dapat dibawa oleh use case
tersebut. Desain yang lebih baik menggunakan beberapa use case controller,
masing-masing dengan beberapa tanggung jawabnya sendiri. Use case
controller dan problem domain class untuk use case termasuk dalam sebuah
design class diagram.
Menurut Satzinger, Jackson, & Burd (2005, p315-316), sebuah SSD
menangkap interaksi antara sistem dan dunia luar yang diwakilkan oleh actor.
Sistem itu sendiri akan diperlakukan sebagai sebuah objek tunggal yang
dinamakan :System. Sebuah detail SSD akan menggunakan semua elemen
86
yang sama dari SSD. Perbedaannya adalah objek :System akan digantikan oleh
semua objek internal dan message di dalam sistem. Dengan kata lain, pada
SSD, sistem diperlakukan sebagai suatu kotak tertutup, dan pemrosesan
internal tidak dapat dilihat. Tujuan dari desain ini adalah untuk membuka
kotak tertutup itu dan menentukan proses internal yang harus terjadi di antara
sistem yang terotomatisasi. Langkah pertama untuk mengembangkan SSD
adalah menentukan objek lain apa saja yang diperlukan untuk menyelesaikan
suatu use case tertentu. Berikutnya adalah menentukan use case controller,
kemudian menambahkan objek lain yang akan berkaitan dengan use case.
Langkah berikutnya adalah menentukan message apa yang harus dikirim,
termasuk objek mana yang menjadi sumber dan tujuan dari sebuah message.
Pada contoh yang ditampilkan, objek catolog merupakan hirarki paling
atas dari informasi yang diperlukan. Jadi, :ActivityHandler akan memberikan
message ke objek :Catalog. Objek :Catalog akan mengirimkan pesan ke
:ProductItem dan :CatalogProduct untuk memperoleh description dan price.
Bagaimananpun juga, :Catalog tidak memiliki navigation visibility yang
langsung ke :InventoryItem, jadi message lain akan dikirimkan ke
:ProductItem untuk meminta bantuan untuk memperoleh informasi quantity,
sehingga mengirimkan pesan tersebut dan mengumpulkan informasi quantity.
:Catalog mengumpulkan semua informasi dan mengembalikannya ke
:ActivityHandler, yang mengirimkannya kembali kepada Clerk.
Sebuah simbol baru disertakan pada diagram, yaitu sebuah kotak
vertikal panjang yang terlihat pada objek :ActivityHandler dan :Catalog, yang
87
disebut dengan activation lifeline. Sebelumnya lifeline ditunjukkan dengan
sebuah garis vertikal putus-putus. Sebuah objek dikatakan aktif apabila sedang
mengekseskusi sebuah method dan akan tidak aktif (inactive) apabila method
tersebut berhenti dilaksanakan.
Didalam sequence diagram, kotak ini menunjuk kepada objek dan
bukan class. Nama di dalam kota diberikan garis bawah mengindikasikan
objek. Kadang, penting untuk memperhatikan objek secara spesifik.
Identifikasi spesifik digunakan ketika sebuah referensi dari objek dibutuhkan
pada bagian lain dari diagram. Misalnya, C:Catolog, C merupakan identifikasi
dari sebuah objek catalog. Saat objek diintanisasi, dan dikenali, kemudian
objek tersebut berjalan ke database, untuk membaca dan mendapatkan
kembali data dari database, yaitu dengan mengirimkan message ke
:CatalogDA. Salah satu keuntungan mengembangkan sequence diagram
dengan dua langkah adalah first cut akan fokus hanya ke objek domain, tidak
ada masalah unutk perlu lebih meninjau kerumitan akses data. Communication
diagram dan sequence diagram sama-sama merupakan interaction diagram,
dan menangkap informasi yang sama. Model mana yang akan digunakan
tergantung dari preferensi desainer.
2.6.10 Design Class Diagram
Menurut Satzinger, Jackson, & Burd (2005, p303-304), tedapat empat
jenis standar class:
88
1. Entity class, yang datang dari sebuah domain model. Objek ini pasif,
menunggu sebuah event bisnis untuk terjadi sbelum objek tersebut
melakukan sesuatu.
2. Boundary class, class yang didesain untuk hidup pada boundary
otomatisasi sistem. Pada system desktop, class ini biasanya merupakan
window dan class lain yang terhubung dengan user interface.
3. Control class, yaitu class yang menjadi penghubung antara boundary class
dan entity class. Bertanggungjawab untuk menangkap pesan dari class
objek dan mengirimkannya ke class entity objek yang tepat. Berperan
sebagai controller antara view layer dan domain layer.
4. Data access class, digunakan untuk mendaptkan kembali data dari dan ke
database, termasuk SQL (Structured Query Language) statement ke
method entity class, sebuah layer pemisah antara class untuk mengakses
database yang digunakan pada desain sistem.
2.6.11 Package Diagram
Menurut Satzinger, Jackson, & Burd (2005, p339-342), design class
diagram dapat dikembangkan untuk setiap layer. Pada view layer dan data
access layer, beberapa class baru harus dispesifikasikan. Package diagram
pada UML merupakan diagram tingkat lanjut yang memungkinkan desainer
untuk menghubungkan setiap class ke kelompok tertentu. Pada contoh
digambarkan view layer, domain layer, dan data access layer. Pada saat
desainer perlu untuk mendokumentasikan perbedaan atau persamaan dari
89
relasi objek pada layer yang berbeda ini, misalnya mengelompokkan
berdasarkan distribusi proses data, informasi ini dapat ditampilkan dengan
menunjukkan setiap layer sebagai package yang terpisah. Notasi package
adalah kotak yang memiliki tab. Nama package biasanya dituliskan pada tab,
atau bila tidak ada detail dalam package, maka nama tab dapat dituliskan di
dalam tab. Untuk mengembangkan package diagram ini, biasanya informasi
diambil dari design class diagram dan interaction diagram untuk setiap use
case. Simbol lain yang digunakan adalah panah putus-putus yang mewakilkan
dependency relationship. Ekor panah dihubungkan ke package yang
dependent, dan kepala panah ke package yang independent. Sebuah cara pikir
mengenai dependency relationship ini adalah jika ada perubahan terhada
elemen tertentu (independent element), maka elemen lainnya (dependent
element) akan juga mengalami perubahan. Dependency relationship dapat
terjadi antar package atau antara class dalam satu package. Misalnya, jika
terjadi perubahan pada class Order, maka harus dievaluasi perubahan pada
class OrderWindow. Ini tidak berlaku pada kondisi kebalikannya. Perubahan
pada viewa layer biasanya tidak akan mempengaruhi domain layer.
Menurut Satzinger, Jackson, & Burd (2005, p342), secara singkat,
package diagram digunakan untuk menunjukkan relasi dan ketergantungan
(dependency) antar komponen. Secara umum, package diagram juga
digunakan untuk menghubungkan class atau komponen sistem lain seperti
network nodes, untuk memisahkan sistem ke dalam beberapa subsistem dan
untuk menunjukkan rangkaian di dalam package.
90
2.6.12 Deployment Diagram
Menurut Mathiassen, Munk-madse, Nielsen, & Stade (2000, p209-
210) , arsitektur proses mengarahkan lebih dekat ke tingkat fisik sistem.
Selain fokus terhadap distribusi dan ekseskusi proses dan objek, seorang
analis sistem juga menentukan mengenai perangkat fisik apa yang ada dalam
sistem yang akan dipertimbangkan. Perencanaan aktivitas proses ini
menghasilkan sebuah deployment diagram yang mendeskripsikan distribusi
dan kolaborasi komponen-komponen yang berjalan di dalam sebuah sistem.
Menurut Whitten et al. (2004, p442), deployment diagram, sama seperti
component diagram, yang juga merupakan diagram implementasi yang
menggambarkan arsitektur fisik sistem. Perbedaanya adalah deployment
diagram tidak hanya menggambarkan arsitektur untuk software saja,
melainkan untuk hardware juga. Diagram ini menggambarkan komponen
software, processor, dan peralatan lain yang melengkapi arsitektur sistem.
Sedangkan menurut Mathiassen et al. (2000, p340), deployment diagram
menunjukkan konfigurasi sistem dalam bentuk processor dan objek yang
terhubungan dengan processor tersebut. Setiap kotak dalam deployment
diagram menggambarkan sebuah node yang menunjukkan sebuah hardware.
Hardware dapat berupa PC, mainframe, printer, atau bahkan sensor. Software
yang terdapat di dalam node digambarkan dengan simbol komponen. Garis
yang menghubungkan node menunjukkan jalur komunikasi antar device.
91
2.6.13 Deployment Environment
Menurut Satzinger, Jackson, & Burd (2005, p264), sebagian besar
perusahaan telah memiliki sistem pendukung yang kompleks untuk beragam
sistem informasi. Analis harus bisa menentukan apakan arsitektur tersebut
dapat mendukung sistem baru dan perubahan yang diperlukan. Analis harus
dapat mengadaptasikan sistem dengan arsitektur yang ada pada saat ini,
kemudian melengkapinya dengan sistem yang ada saat ini, dan mengantisipasi
sistem di masa mendatang.
Menurut Satzinger, Jackson, & Burd (2005, p270-271), deployment
environment memuat mengenai hardware, software sistem, dan lingkungan
jaringan dimana sistem akan dioperasikan. Single-computer architecture
menggunakan sebuah sistem komputer tunggal dan berhubungan dengan
sebuah perangkat tertentu yang merupakan sebuah aplikasi yang berinteraksi
dengan user melalui perangkat yang memiliki fungsi terbatas yang langsung
berhubungan dengan komputer. Kapasitas komputer tunggal tidak dapat
diterapkan untuk sistem informasi yang besar.
2.6.14 Jaringan Komputer
Menurut Satzinger, Jackson, & Burd (2005, p272), sebuah jaringan
komputer merupakan seperangkat jalur transimisi, hardware yang
terspesialisasi, dan protokol komunikasi yang memungkinkan komunikasi di
antara berbagai user dan sistem komputer berbeda. Sebuah LAN (Local Area