15 bab ii landasan teori - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2011-2-00005-tisi...

78
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.

Upload: vuquynh

Post on 12-Mar-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

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

92

Network) biasanya berjarak sekitar satu kilometer, bahkan yang lebih luas,

seperti antar kota, negara, benua, dan seluruh dunia.