Anda di halaman 1dari 79

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 produkproduk 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 distributordistributor 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 mendefiniskan

merumuskan masalah pengklasteran yang dipergunakan untuk

dengan dasar

variabel-variabel

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

36

Kemudian klaster 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 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 x N

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 :

39

d( U V ) W = min { d U W , d V W } dimana nilai d


UW

,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 masingmasing 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

40

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 } disini nilai d
U W

, d

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

41

d( U V ) W = max { d U W , d V W } disini nilai d


U W

, d

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

42

kuadrat ke rata-rata klaster dihitung (Gambar 2.4). Jarak ini 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

43

objek selanjutnya di reassigned ke klaster untuk mengoptimalkan 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

44

metode Ward dan centroid. Beberapa prosedur non-hierarki juga menggunakan jarak eucledean yang dikuadratkan. 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

45

hirearki. Ada 3 langkah, yaitu inisialisasi, yaitu untuk memilih beberapa objek sebagai titik awal. Langkah kedua adalah iterasi, yaitu dengan 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

46

terdekat dalam situasi n-kota dimana setiap kota yang dikunjungi hanya 1 kali. Sedangkan menurut Gracia-Diaz (1981, p97), Travelling Salesman 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 kotakota 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).

47

Menurut Taha (2007, p381), permasalahan, pada intinya adalah model kerja yang mengecualikan subtour. Khususnya, dalam situasi n-kota, didefinisikan : = 1, jika kota j yang dituju dari kota i

0, sebaliknya Anggap bahwa menjadi seperti : Minimize z = = untuk semua i = j adalah jarak dari kota i ke kota j, model TSP nya

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

48

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

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 2kota subtour, kemudian 3-kota subtour dan berlanjut sampai mencapai n1 subtour. (Taha, 2007, p386)

2. Algoritma Branch-and-Bound

49

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 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,

50

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)

2.5

Sistem Informasi

2.5.1 Pengertian Data Menurut Turban (2007, p5), data adalah suatu deskripsi dasar dari halhal, 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

51

Menurut Satzinger, Jackson, & Burd (2005, pp6-7), sistem adalah sekumpulan komponen yang saling berhubungan yang bekerjasama untuk mencapai beberapa hasil. Menurut OBrien (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 :

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.

52

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 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,

53

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

54

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

55

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 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,

56

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

57

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

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

58

- 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

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

59

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.

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

60

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

61

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

62

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 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 objectobject 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,

63

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.

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

64

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.

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

65

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.

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

66

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

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

67

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 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)

68

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

69

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

70

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

71

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

72

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

73

Tabel 2.1 Contoh Event Table


Sourc Event Outlet ingin Memeriksa mengecek barang ketersediaan barang barang barang Outlet ketersediaan ketersediaan Outlet Trigger e Melihat Detil Use Case Response n Destinatio

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

74

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 0..1 1 Keterangan

zero or one one and only one one and only one 1..1 alternate 0..* zero or nor * zero or more alternate 1..* one or more Sumber : Satzinger, Jackson, & Burd, 2005, p186

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

75

Hirarki generalisasi atau spesialisasi didasarkan pada ide bahwa seseorang mengklasifikasikan Generalisasi sesuatu dengan sebuah persamaan penilaian dan yang

perbedaanya.

merupakan

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. Inheritance (pewarisan) memungkinkan subclass untuk berbagi karakteristik dengan superclass-nya. Subclass mewarisi karakteristikkarakteristik dari class induknya. Pada pendekatan object-oriented, inheritance merupakan konsep kunci yang mungkin karena adanya hirarki

76

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. Hirarki whole-part, baik agregasi dan komposisi memungkinkan analis untuk mengekspresikan perbedaan yang lebih halus antara hubungan antar class.

77

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 Look up item availability Create New Order Update Order Domain Classes Outle Inventory Orde t Item r R CRU RU RU RU C RUD

Sumber : Satzinger, Jackson, & Burd, 2005, p200 2.6.5 Defenisi Detail Kebutuhan Object-Oriented Menurut Satzinger, Jackson, & Burd (2005, p212), untuk dapat menangkap kebutuhan sistem, analis menggunakan sekumpulan model yang

78

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 statechart mungkin tidak diperlukan. Misalnya class order mungkin membutuhkan statechart, tetapi class order Transaction kemungkinan tidak memerlukannya. Sebuah order Transcation dibuat ketika pembayaran telah

79

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

80

merupakan expression prosedural yang mengeksekusi saat transition berjalan. Dengan kata lain, mendeskripsikan aksi yang dijalankan. Salah satu dari ketiga komponen ini transitionname, guard-condition, atau actionexpression 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 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

81

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.

3. Fully Developed Description Fully developed description merupakan metode yang paling resmi untuk mendokumentasikan sebuah use case. Walaupun perlu lebih banyak

82

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

83

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

84

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

85

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.

2.6.9 Detail System Sequence Diagram Menurut Satzinger, Jackson, & Burd (2005, p314), sebuah System Sequence DiagramSSD, dikembangkan sebagai bagian pada saat tahap

86

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

87

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 disebut dengan activation lifeline. Sebelumnya lifeline ditunjukkan dengan sebuah garis vertikal putus-putus. Sebuah objek dikatakan aktif apabila sedang

88

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: 1. Entity class, yang datang dari sebuah domain model. Objek ini pasif, menunggu sebuah event bisnis untuk terjadi sbelum objek tersebut melakukan sesuatu.

89

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

90

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.

2.6.12 Deployment Diagram

91

Menurut Mathiassen, Munk-madse, Nielsen, & Stade (2000, p209210) , 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.

2.6.13 Deployment Environment

92

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 Network) biasanya berjarak sekitar satu kilometer, bahkan yang lebih luas, seperti antar kota, negara, benua, dan seluruh dunia.

93

Anda mungkin juga menyukai