BAB 2 LANDASAN TEORI
2.1 Teknik Industri 2.1.1 Peramalan 2.1.1.1 Definisi Peramalan Peramalan atau forecasting adalah suatu kegiatan untuk memperkirakan apa yang terjadi pada masa yang akan datang. Peramalan merupakan suatu kegiatan untuk meramalkan apa yang akan terjadi di masa yang akan datang dengan menggunakan dan mempertimbangkan data dari masa lampau. Ketepatan secara mutlak dalam memprediksi peristiwa dan tingkat kegiatan yang akan datang adalah tidak mungkin dicapai, oleh karena itu ketika perusahaan tidak dapat melihat kejadian yang akan datang secara pasti, diperlukan waktu dan tenaga yang besar agar mereka dapat memiliki kekuatan terhadap kejadian yang akan datang. Peramalan pada umumnya digunakan untuk memprediksi pendapatan, biaya, keuntungan, harga dan perubahan teknologi. Dalam lingkungan perusahaan, peramalan kebanyakan digunakan untuk mengestimasi atau memprediksi permintaan yang akan datang guna memperkirakan jumlah dan jenis apa saja yang diproduksi oleh perusahaan. Pada dasarnya ada beberapa langkah peramalan yang penting yaitu: 1. Menganalisis data yang lalu Tahap ini berguna untuk pola yang terjadi pada masa lalu. Analisis ini dilakukan dengan cara membuat tabulasi dari data yang lalu.
19
2. Menentukan metode yang digunakan Masing-masing metode akan memberikan hasil peramalan yang berbeda. Dengan kata lain, metode peramalan yang baik adalah metode yang menghasilkan penyimpangan antara hasil peramalan dengan nilai kenyataan yang sekecil mungkin. 3. Memproyeksikan data yang lalu dengan menggunakan metode yang dipergunakan dan mempertimbangkan adanya beberapa faktor perubahan. 4. Penentuan tujuan, yaitu menentukan kebutuhan informasi-informasi bagi para pembuat keputusan seperti : •
Variabel-variabel yang akan diestimasi.
•
Siapa yang akan menggunakan hasil peramalan.
•
Untuk tujuan apa hasil peramalan akan digunakan.
•
Estimasi jangka panjang atau jangka pendek yang diinginkan.
•
Derajat ketepatan estimasi yang diinginkan.
•
Kapan estimasi dibutuhkan.
•
Bagian-bagian peramalan yang diinginkan, seperti peramalan untuk kelompok pembeli, kelompok produk, atau daerah geografis.
5. Pengembangan model Menentukan model yang merupakan penyederhanaan dari sistem dan merupakan kerangka analitik bagi masukan yang akan memperoleh pengeluaran. Model ditentukan berdasarkan sifat-sifat dan perilaku variabel. 6. Pengujian model Dilakukan untuk menentukan tingkat akurasi, validitas dan reliabilitas, yang ditentukan dengan membandingkan hasil peramalan dengan kenyataan / aktual.
20
7. Penerapan model Setelah lulus dalam pengujian, data historik akan dimasukkan ke dalam model untuk menghasilkan ramalan. 8. Revisi dan evaluasi Ramalan yang telah dibuat harus senantiasa diperbaiki dan ditinjau kembali. Hal ini perlu dilakukan bila terdapat perubahan dalam perusahaan dan lingkungannya (harga produk,
karakteristik
produk,
periklanan,
tingkat
pengeluaran
pemerintah,
kebijaksanaan moneter, atau kemajuan teknologi); dan hasil perbandingan antara ramalan dengan data aktual.
2.1.1.2 Tujuan Peramalan Tujuan dari peramalan sendiri adalah untuk melihat atau memperkirakan prospek ekonomi atau kegiatan usaha serta pengaruh lingkungan terhadap prospek tersebut, sehingga dapat diperoleh informasi mengenai : 1.
Kebutuhan suatu kegiatan usaha di masa yang akan datang.
2.
Waktu untuk mengambil keputusan yang berkaitan dengan skala produksi, pemasaran, serta target usaha.
3.
Perencanaan skala produksi, pemasaran, anggaran, biaya produksi dan arus kas (cash flow).
21
2.1.1.3 Jenis-jenis Pola Data Data yang diplot adalah data masa lalu yang dipergunakan untuk meramalkan data di masa yang akan datang. Dari data yang telah diplot akan terlihat pola data untuk menentukan metode ramalan yang akan digunakan. Menurut Makridakis (1999, p21), pola–pola data deret waktu yang umum terjadi yaitu : 1. Pola Horisontal ( H ) Terjadi bila nilai data berfluktuasi di sekitar nilai rata–rata yang konstan. (Deret seperti itu “ stasioner “ terhadap nilai rata–ratanya). Suatu produk yang penjualannya tidak meningkat atau menurun selama waktu tertentu termasuk jenis ini. Demikian pula, suatu keadaan pengendalian mutu yang menyangkut pengambilan contoh dari suatu proses produksi berkelanjutan yang secara teoritis tidak mengalami perubahan juga termasuk jenis ini.
Gambar 2.1 Pola Data Stasioner / Horisontal (H) 2. Pola Musiman / Seasonal (S) Terjadi bila suatu deret dipengaruhi oleh faktor musiman (misalnya kuartal tahun tertentu, bulanan, atau hari–hari pada minggu tertentu). Penjualan dari produk seperti
22
minuman ringan, es krim, dan bahan bakar pemanas ruang, semuanya menunjukkan jenis pola ini.
Gambar 2.2 Pola Data Musiman / Seasonal (S)
3. Pola Siklis / Cyclical (C) Terjadi bila data dipengaruhi oleh fluktuasi ekonomi jangka panjang seperti yang berhubungan dengan siklus bisnis. Penjualan produk seperti mobil, baja, dan peralatan utama lainnya menunjukkan jenis pola ini.
Gambar 2.3 Pola Data Siklis / Cyclical (C)
23
4. Pola Trend (T) Terjadi bila terdapat kenaikan atau penurunan sekuler jangka panjang dalam data. Penjualan banyak perusahaan, produk bruto nasional (GNP) dan berbagai indikator bisnis atau ekonomi lainnya mengikuti suatu pola trend selama perubahannya sepanjang waktu.
Gambar 2.4 Pola Data Trend (T)
2.1.1.4 Metode-metode Peramalan Menurut Render dan Heizer (2001, p48), terdapat dua pendekatan umum yang digunakan dalam peramalan yaitu : peramalan kualitatif dan peramalan kuantitatif. 1. Metode Kualitatif Metode ini biasanya digunakan untuk meramalkan lingkungan dan teknologi, karena kondisi tersebut berbeda dengan kondisi perekonomian dan pemasaran. Oleh karena itu metode kualitatif disebut dengan technological forecasting. Teknik-teknik kualitatif adalah subjektif atau “ judgmental ” atau berdasarkan pada estimasiestimasi dan pendapat-pendapat.
24
Berbagai sumber pendapat bagi peramalan kondisi bisnis adalah :
Para eksekutif
Orang-orang penjualan
Para langganan
Sedangkan berbagai teknik peramalan kualitatif yang dapat digunakan, secara ringkas dapat diuraikan sebagai berikut : a. Metode Delphi Metode ini merupakan teknik yang mempergunakan suatu prosedur yang sistematik untuk mendapatkan suatu konsensus pendapat-pendapat dari suatu kelompok ahli. Proses Delphi ini dilakukan dengan meminta kepada para anggota kelompok untuk memberikan serangkaian ramalan-ramalan melalui tanggapan mereka terhadap daftar pertanyaan. Kemudian, seorang moderator mengumpulkan dan memformulasikan daftar pertanyaan baru dan dibagikan lagi kepada kelompok. Jadi ada suatu proses pembelajaran bagi kelompok karena mereka menerima informasi baru dan tidak ada pengaruh pada tekanan kelompok atau dominasi individual. b. Riset pasar Adalah peralatan peramalan yang berguna, terutama bila ada kekurangan data historik atau data tidak reliable. Teknik ini secara khusus digunakan untuk meramal permintaan jangka panjang dan penjualan produk baru. Kelemahan riset pasar mencakup kurangnya kekuatan prediktif, serta memakan waktu dan biaya.
25
c. Analogi historik Peramalan dilakukan dengan menggunakan pengalaman-pengalaman historik dari suatu produk yang sejenis. Peramalan produk baru dapat dikaitkan dengan tahaptahap dalam siklus kehidupan produk yang sejenis. d. Konsensus panel Gagasan yang didiskusikan oleh kelompok akan menghasilkan ramalan-ramalan yang lebih baik daripada dilakukan oleh seseorang. Diskusi dilakukan dalam pertemuan pertukaran gagasan secara terbuka. 2. Metode Kuantitatif Metode kuantitatif hanya dapat diterapkan jika tersedia informasi mengenai data masa lalu, informasi dapat dikuantifisir (diwujudkan dalam bentuk angka), dan asumsi beberapa aspek pola masa lalu akan berlanjut. Jenis peramalan kuantitatif dibagi dua, yaitu: a. Time Series Jenis peramalan ini merupakan estimasi masa depan yang dilakukan berdasarkan nilai masa lalu dari suatu variabel dan / atau kesalahan masa lalu. b. Metode Causal Peramalan ini memberikan suatu asumsi bahwa faktor yang diramalkan mewujudkan suatu hubungan sebab akibat dengan satu atau lebih independent variabel. Tujuannya adalah untuk menemukan bentuk hubungan tersebut dan menggunakannya untuk meramalkan nilai mendatang dari dependent variable.
26
2.1.1.5 Peramalan Metode Dekomposisi Menurut Makridakis (1999, p150), metode dekomposisi biasanya mencoba memisahkan tiga komponen terpisah dari pola dasar yang cenderung mencirikan deret data ekonomi dan bisnis. Komponen tersebut adalah faktor trend, siklus dan musiman. Faktor trend menggambarkan perilaku data dalam jangka waktu panjang, dan dapat meningkat, menurun atau tidak berubah. Faktor siklus menggambarkan baik turunnya ekonomi atau industri tertentu dan sering terdapat pada deret data seperti Produk Bruto Nasional (GNP), indeks produksi industri, permintaan untuk perumahan, penjualan barang industri seperti mobil, harga saham, tingkat obligasi, penawaran uang dan tingkat bunga. Faktor musiman berkaitan dengan fluktuasi periodik dengan panjang konstan yang disebabkan oleh hal–hal seperti temperatur, curah hujan, bulan pada suatu tahun, saat liburan, dan kebijaksanaan dari perusahaan. perbedaan antara musiman dan siklus adalah bahwa musiman itu berulang dengan sendirinya pada interval yang tetap seperti tahun, bulan dan minggu, sedangkan faktor siklus mempunyai jangka waktu yang lebih lama dan lamanya berbeda dari siklus yang satu ke siklus yang lain.Dekomposisi mempunyai asumsi bahwa data itu tersusun sebagai berikut: Data
= pola + galat = f (trend, siklus, musiman) + galat Menurut Makridakis (2000, pp185–186), langkah–langkah dalam menghitung
peramalan dengan metode dekomposisi adalah sebagai berikut: 1. Kalikan data tiap bulan dengan koefisien, penyesuaian dari perdagangan (T – D) Yaitu
Di , dimana Di adalah T – D untuk tiap bulan, dan Dj adalah nilai rata – Dj
rata selama seluruh tahun untuk bulan tertentu ini.
27
2. Hitung rata–rata bergerak 12 bulan (MA 12 bulan) untuk menghilangkan unsur musiman dan sedikit unsur random. Untuk trend–siklus akan tetap tinggal. 3. Bagi data asli dengan MA. Nilai yang dihasilkan adalah rasio komponen musiman acak. 4. a) Hitung MA 3 x 3 (MA 3–suku dari rata–rata bergerak 3–suku) untuk tiap bulan secara terpisah. Langkah ini mengeliminasi unsur acak dalam langkah 3. b) Hitung deviasi standar (SD) untuk tiap bulan secara terpisah (semuanya 12 bulan) dengan menjumlahkan selisih kuadrat antara Rt [MA dengan unsur acak pada langkah 3] dan Rt1 [MA tanpa unsur acak pada langkah 4a]. 5. Ganti nilai ekstrim dari Rt( dari langkah 3). Bandingkan Rt1 plus atau minus dua deviasi standar dengan Rt. Jika Rt lebih besar dari Rt1 +2SD atau lebih kecil dari Rt1 –2SD, nilai tersebut diganti dengan nilai rata–rata dari nilai yang sebelum dan sesudahnya. Jadi pengaruh dari peristiwa luar biasa (pemogokan, banjir, perang, dan lain–lain) dihilangkan. 6. Hitung MA 3 x 3 atau 5 x 5 untuk tiap bulan pada langkah 5; hasilnya merupakan eliminasi untuk unsur acak. 7. Bagi data asli dengan faktor musiman dari langkah 6. Hasilnya merupakan deret data awal yang telah disesuaikan menurut musiman. 8. Penggunaan MA berbobot 15 bulanan dan spencer terhadap langkah 7. Hasilnya merupakan deret data yang halus (dengan hampir semua unsur acak dihilangkan yang menunjukkan komponen trend siklus). 9. Bagi data asli dengan Mt1 (langkah 8). Pengaruh ini sama dengan pengaruh dalam langkah 3, namun langkah 8 tidak dimulai dengan data yang mencakup musim.
28
10. Sama dengan langkah 4a dan 4b 11. Sama dengan langkah 5 12. Sama dengan langkah 6 13. Deret data yang disesuaikan dengan musim (hasil akhir). 14. Gunakan spencer berbobot 15 dari data MA terhadap langkah 13. Hal ini untuk menghilangkan unsur acak, sehingga diperoleh taksiran trend–siklus yang halus (hasil akhir). 15. RCt1 merupakan taksiran komponen acak. Hal ini diperoleh dengan membagi langkah 13 dengan langkah 14. 16. Gunakan data asli dan data dari langkah 13, 14 dan 15 untuk memperoleh hasilnya. 17. Gunakan data yang disesuaikan menurut musim dari langkah 13. Perbaharui rata– rata bergerak ini untuk memperoleh taksiran saat ini dari unsur trend siklus secara mudah [ialah yang dipakai sebagai ganti dari FAt1 dalam langkah 14].
29
Tabel 2.1 Langkah–langkah dalam peramalan dekomposisi
30
Tabel 2.1 Langkah–langkah dalam peramalan dekomposisi (lanjutan) Langkah
FˆS t = I t × E t
Bandingkan FSt1±2SD dengan FSt
11
Faktor musiman akhir 12
13
14
Isi nilai yang hilang pada tiap akhir deret data
3 x 3 MA 5 x 5 MA FˆS1t = I t
Deret data akhir yang telah disesuaikan menurut musim FA = X t = I t ×Tt × C t × E t t It FˆS1t Isi nilai yang hilang pada tiap akhir deret data
FA1t = I t × E t
RC t =
15
FA t Tt × C t × E t = Tt × C t FˆA1t
Lakukan berbagai uji untuk membuktikan bahwa taksiran komponen musiman, trend-siklus dan acak adalah benar. 16 Hitung bulan untuk dominansi siklus (MCD) Hitung statistik ringkasan 17
Hitung suatu rata – rata bergerak yang panjangnya sama dengan bulan untuk dominansi siklus. Perbaharui nilai rata – rata ini untuk memperoleh taksiran siklus trend-siklus. Gunakan faktor musiman yang diproyeksikan pada langkah 12 sebagai indeks musiman.
31
2.1.1.6 Statistik Ketepatan Peramalan
Menurut Makridakis (1999, pp61-62) tiga ukuran yang sering digunakan adalah sebagai berikut: •
Galat Persentase (Percentage Error) ⎛ X − Ft PE = ⎜⎜ t ⎝ Xt
•
Nilai Tengah Galat Persentase (Mean Percentage Error) MPE =
•
⎞ ⎟⎟ × 100 ⎠
1 n ∑ PEt n t =1
Nilai Tengah Galat Persentase Absolut (Mean Absolute Percentage Error) MAPE =
1 n ∑ PEt n t =1
PE dapat digunakan untuk menghitung kesalahan persentase setiap periode waktu. Nilai-nilai ini kemudian dapat dirata-ratakan untuk memberikan nilai tengah kesalahan persentase (MPE). Namun MPE mungkin mengecil karena PE positif dan negatif cenderung saling meniadakan. Sehingga MPE didefinisikan dengan menggunakan nilai absolut dari PE dalam mencari nilai MAPE.
32
2.1.2 Linear Programming 2.1.2.1 Definisi Linear Programming Linear Programming adalah suatu cara untuk menyelesaikan persoalan
pengalokasian sumber-sumber yang terbatas diantara beberapa aktivitas yang bersaing, dengan cara yang terbaik yang mungkin dilakukan. Persoalan pengalokasian ini akan muncul manakala seseorang harus memilih tingkat aktivitas-aktivitas tertentu yang bersaing dalam hal penggunaan sumber daya langka yang dibutuhkan untuk melaksanakan aktivitas-aktivitas tersebut. Teknik ini digunakan secara luas pada berbagai aplikasi, seperti pertanian, industri, transportasi, ekonomi, dan militer. Contoh sederhana dari uraian diatas, antara lain keadaan bagian produksi suatu perusahaan yang dihadapkan pada masalah penentuan tingkat produksi berbagai jenis produk dengan memperhatikan batasan-batasan faktor produksi: mesin, tenaga kerja, bahan mentah, modal dan sebagainya untuk memperoleh tingkat keuntungan maksimal atau biaya minimal. Linear Programming ini menggunakan model matematis untuk menjelaskan
persoalan yang dihadapinya. Sifat “linier” disini memberi arti bahwa seluruh fungsi matematis dalam model ini merupakan fungsi yang linier, sedangkan kata “programa” merupakan sinonim untuk perencanaan. Dengan demikian programa linier adalah perencanaan aktivitas-aktivitas untuk memperoleh suatu hasil yang optimum, yaitu suatu hasil yang mencapai tujuan terbaik diantara seluruh alternatif yang fisibel.
33
Dalam membangun model dari formulasi persoalan diatas akan digunakan karakteristik-karakteristik yang biasa digunakan dalam persoalan programa linier, yaitu : a. Variabel keputusan Variabel keputusan adalah variabel yang menguraikan secara lengkap keputusan-keputusan yang akan dibuat. b. Fungsi tujuan Fungsi tujuan merupakan fungsi dari variabel keputusan yang akan dimaksimumkan (untuk pendapatan atau keuntungan) atau diminimumkan (pendapatan/minggu) – (ongkos material/minggu) – (ongkos tenaga kerja/minggu). c. Pembatas Pembatas merupakan kendala yang dihadapi sehingga kita tidak bisa menentukan harga-harga variabel keputusan secara sembarang. Koefisien dari variabel keputusan pada pembatas disebut koefisien teknologis, sedangkan bilangan yang ada di sisi kanan setiap pembatas disebut ruas kanan pembatas. d. Pembatas tanda Pembatas tanda adalah pembatas yang menjelaskan apakah variabel keputusannya diasumsikan hanya berharga nonnegatif atau variabel keputusan tersebut boleh berharga positif, boleh juga negatif (tidak terbatas dalam tanda). Dapat ditarik kesimpulan mengenai pengertian programa linier. Programa linier adalah suatu persoalan optimasi dimana kita melakukan hal-hal berikut :
34
¾ Kita berusaha memaksimalkan atau meminimumkan suatu fungsi linier
dari variabel-variabel keputusan yang disebut fungsi tujuan. ¾ Harga / besaran dari variabel-variabel keputusan itu harus memenuhi suatu
set pembatas. Setiap pembatas harus merupakan persamaan linier atau ketidaksamaan linier. ¾ Suatu pembatas tanda dikaitkan dengan setiap variabel.
2.1.2.2 Aplikasi dan Interpretasi Linear Programming
Dalam memecahkan suatu masalah, Linear Programming menggunakan matematis. Linear berarti bahwa semua fungsi matematis yang disajikan dalam model ini haruslah fungsi linear, atau secara praktis dapat dikatakan bahwa persamaan tersebut bila digambarkan pada grafik akan berbentuk garis lurus. Sedangkan programming merupakan sinonim dari perencanaan. Jadi Linear Programming (LP) mencakup perencanaan aktivitas-aktivitas untuk memperoleh suatu hasil yang optimum, yaitu suatu hasil yang mencerminkan tercapainya sasaran tertentu yang paling baik berdasarkan model matematis diantara alternative yang mungkin dengan menggunakan fungsi linear.
35
2.1.2.3 Formulasi Linear Programming
Dalam model Linear Programming dikenal dua macam fungsi, yaitu : fungsi tujuan (objective function) dan fungsi-fungsi batasan (constraint functions). Fungsi tujuan adalah fungsi yang menggambarkan tujuan/sasaran yang berkaitan dengan pengaturan secara optimal sumber daya-sumber daya, untuk memperoleh keuntungan maksimal atau biaya minimal. Sedangkan fungsi batasan merupakan bentuk penyajian secara matematis batasan-batasan kapasitas yang tersedia yang akan dialokasikan secara optmal ke berbagai kegiatan. Masalah keputusan yang sering dihadapi adalah alokasi optimum sumber daya yang langka. Sumber daya dapat berupa uang, tenaga kerja, bahan mentah, kapasitas mesin, waktu, ruangan atau teknologi. Tugas analisis adalah mencapai hasil terbaik yang mungkin dengan keterbatasan sumber daya ini. Hasil yang diinginkan mungkin ditunjukkan sebagai maksimasi dari beberapa ukuran, seperti profit, penjualan dan kesejahteraan, atau minimasi seperti biaya, waktu, dan jarak. Setelah masalah diidentifikasikan, tujuan ditetapkan, langkah selanjutnya adalah formulasi model matematik yang meliputi tiga tahap, sebagai berikut : ¾ Tentukan variabel yang tak diketahui (variabel keputusan) dan nyatakan dalam
simbol matematik. ¾ Membentuk fungsi tujuan yang ditunjukkan sebagai suatu hubungan linier(bukan
perkalian) dari variabel keputusan. ¾ Menentukan semua kendala masalah tersebut dan mengekspresikan dalam persamaan
atau pertidaksamaan yang juga merupakan hubungan linier dari variabel keputusan yang mencerminkan keterbatasan sumber daya masalah itu.
36
Agar dapat memudahkan pembahasan model LP ini, digunakan simbol-simbol sebagai berikut : m
= macam batasan-batasan sumber atau fasilitas yang tersedia.
n
= macam kegiatan-kegiatan yang menggunakan sumber atau fasilitas tersebut.
i
= nomor untuk sumber atau fasilitas yang tersedia (i = 1, 2, …, m)
j
= nomor untuk aktivitas (sebuah variabel keputusan) (j = 1, 2, …, m)
cij
= koefisien keuntungan per unit
xj
= tingkat aktivitas j (sebuah variabel keputusan ) untuk j = 1,2,...,n
aij
= banyaknya sumber i yang digunakan/dikonsumsi oleh masing-masing unit aktivitas j ( untuk i = 1,2,...,m dan j = 1,2,...,n ).
bi
= banyaknya sumber i yang tersedia untuk pengalokasian ( i= 1,2,...,m ).
Z
= ukuran keefektifan yang terpilih
Bentuk baku model Linear Programming : Fungsi tujuan
:
Maksimumkan atau minimumkan Z = C1X1 +C2X2 + C3X3 + … + CnXn
Fungsi Pembatas
:
a11X1 + a12X2 +a13X3 + … + a1nXn ≤ b1 a21X1 + a22X2 +a23X3 + … + a2nXn ≤ b2 . . .
am1X1 + am2X2 +am3X3 + … + amnXn ≤ bm dan X1 ≥ 0, X2 ≥ 0, …, Xn ≥ 0
37
2.1.2.4 Asumsi Linear Programming
Asumsi–asumsi model Linear Programming adalah sebagai berikut : 1) Linierity dan Additivity Syarat utama dari Linear Programming adalah bahwa fungsi tujuan dan semua kendala harus linier. Kata linier secara tidak langsung mengatakan bahwa hubungannya proporsional, yang berarti bahwa tingkat perubahan atau kemiringan fungsional itu adalah konstan dan karena itu perubahan nilai variabel akan mengakibatkan perubahan relatif nilai fungsi dalam jumlah yang sama. Linear Programming juga mensyaratkan bahwa jumlah variabel kriteria dan
jumlah penggunaan sumber daya harus bersifat aditif. Aditif dapat diartikan tidak adanya penyesuaian pada perhitungan variabel kriteria karena terjadinya interaksi. 2) Divisibility
Asumsi ini berarti bahwa nilai solusi yang diperoleh Xj, tidak harus berupa bilangan bulat. Akibatnya jika nilai–nilai bulat diperlukan, suatu nilai Linear Programming alternatif, yaitu Integer Programming harus digunakan. 3) Deterministic
Dalam Linear Programming, semua parameter model (Cj, aij, dan bi) diasumsikan diketahui konstan. Linear Programming secara tidak langsung mengasumsikan suatu masalah keputusan dalam suatu kerangka statis dimana semua parameter diketahui dengan kepastian. Dalam kenyataannya, parameter model jarang bersifat deterministic, karena mereka mencerminkan kondisi masa depan dan masa sekarang, dan keadaan masa depan jarang diketahui secara pasti. Ada beberapa cara untuk mengatasi ketidakpastian beberapa parameter dalam model
38
Linear
Programming.
Analisis
sensitivitas
adalah
suatu
teknik
yang
dikembangkan untuk menguji nilai solusi, bagaimana kepekaannya terhadap perubahan–perubahan parameter (Mulyono, 1999 , pp22-23 ).
2.1.2.5 Metode Simpleks
Karena kesulitan menggambarkan grafik berdimensi banyak, maka penyelesaian masalah LP yang melibatkan lebih dari dua variabel menjadi tak praktis atau tidak mungkin. Dalam keadaan ini kebutuhan metode solusi yang lebih umum menjadi nyata. Metode umum itu dikenal dengan nama algoritma Simpleks yang dirancang untuk menyelesaikan seluruh masalah, baik yang melibatkan dua variabel atau lebih. Metode Simpleks merupakan prosedur aljabar yang bersifat iteratif, yang bergerak selangkah demi selangkah, dimulai dari suatu titik ekstrim pada daerah fisibel (ruang solusi) menuju ke titik ekstrim yang optimum. Perhatikan model linier berikut : Fungsi tujuan
:
Maksimumkan atau minimumkan Z = C1X1 +C2X2 + C3X3 + … + CnXn
Fungsi Pembatas
:
a11X1 + a12X2 +a13X3 + … + a1nXn ≤ b1 a21X1 + a22X2 +a23X3 + … + a2nXn ≤ b2 . . .
am1X1 + am2X2 +am3X3 + … + amnXn ≤ bm dan X1 ≥ 0, X2 ≥ 0, …, Xn ≥ 0
39
Maka pembatas dari model tersebut dapat dituliskan ke dalam bentuk persamaan AX = b. Perhatikan suatu sistem AX = b dari m persamaan linier dalam n variabel (n > m). Definisi : 1. Solusi basis Solusi basis untuk AX = b adalah solusi dimana terdapat sebanyak-banyaknya m variabel berharga bukan nol. Untuk mendapatkan solusi basis dari AX = b maka sebanyak (n-m) variabel harus dinolkan. Variabel-variabel yang dinolkan ini disebut variabel non-basis (NBV). Selanjutnya, dapatkan harga dari n – (n-m) = m variabel lainnya yang memenuhi AX = b, yang disebut variabel basis (BV). 2. Solusi basis fisibel Jika seluruh variabel pada suatu solusi basis berharga non-negatif, maka solusi itu disebut solusi basis fisibel (BFS). 3. Solusi fisibel titik ekstrim Yang dimaksud dengan solusi fisibel titik ekstrim atau titik sudut ialah solusi fisibel yang tidak terletak pada suatu segmen garis yang menghubungkan dua solusi fisibel lainnya. Ada tiga sifat pokok titik ekstrim ini, yaitu : Sifat 1.a : Jika hanya ada satu solusi optimum, maka pasti ada satu titik ekstrim. Sifat 1.b : Jika solusi optimumnya banyak, maka paling sedikit ada dua titik ekstrim yang berdekatan. (Dua buah titik ekstrim dikatakan berdekatan jika segmen garis yang menghubungkan keduanya itu terletak pada sudut dari batas daerah fisibel). Sifat 2
: Hanya ada sejumlah terbatas titik ekstrim pada setiap persoalan.
40
Sifat 3
: Jika suatu titik ekstrim memberikan harga Z yang lebih baik dari yang lainnya, maka pasti solusi itu merupakan solusi optimum.
Sifat 3 ini menjadi dasar dari metode simpleks yang prosedurnya meliputi 3 langkah berikut : 1. Langkah inisialisasi
: mulai dari suatu titik ekstrim.
2. Langkah iteratif
: bergerak menuju titik ekstrem berdekatan yang lebih baik. Langkah ini diulangi sebanyak diperlukan.
3. Aturan penghentian
: memberhentikan langkah ke-2 apabila telah sampai pada titik ektrim yang terbaik (titik optimum).
2.1.2.6 Algoritma Simpleks Untuk Persoalan Maksimasi
Untuk menyelesaikan persoalan programa linier dengan menggunakan metode simpleks, lakukan langkah-langkah berikut : 1. Konversikan formulasi persoalan ke dalam bentuk standar 2. Cari solusi basis fisibel (BFS) 3. Jika seluruh NBV mempunyai koefisien non-negatif (artinya berharga positif atau nol) pada basis fungsi tujuan (basis persamaan z yang biasa juga disebut baris 0), maka BFS sudah optimal. Jika pada baris 0 masih ada variabel dengan koefisien negatif, pilihlah salah satu variabel yang mempunyai koefisien paling negatif pada baris 0 itu. Variabel ini akan memasuki status variabel basis, karena itu variabel ini disebut sebagai variabel yang masuk basis (entering variabel, disingkat EV).
41
4. Hitung rasio dari ruas kanan (koefisien EV) pada setiap baris pembatas dimana EVnya mempunyai koefisien positif. Variabel basis pada baris pembatas dengan rasio positif terkecil akan berubah status menjadi variabel non-basis. Variabel ini kemudian disebut sebagai variabel yang meninggalkan basis atau leaving variabel, disingkat LV. Lakukan operasi baris elementer (ERO) untuk membuat keofisien EV pada baris dengan rasio positif terkecil akan berubah status menjadi berharga 1 dan berharga 0 untuk baris-baris lainnya.
2.1.2.7 Analisa Sensitivitas
Analisis perubahan parameter dan pengaruhnya terhadap solusi Linear Programming dinamakan post optimality analysis. Istilah post optimality menunjukkan
bahwa analisis ini terjadi setelah diperoleh solusi optimum, dengan mengasumsikan seperangkat nilai parameter yang digunakan dalam model. Perubahan atau variasi dalam suatu masalah LP yang biasanya dipelajari melalui post optimality analysis dapat dipisahkan kedalam tiga kelompok umum : •
Analisa yang berkaitan dengan perubahan diskrit parameter untuk melihat berapa besar perubahan dapat ditolerir sebelum solusi optimum mulai kehilangan optimalitasnya, ini dinamakan analisa sensitivitas. Jika suatu perubahan kecil dalam parameter menyebabkan perubahan drastis dalam solusi, dikatakan bahwa solusi adalah sangat sensitif terhadap nilai parameter itu. Sebaliknya, jika perubahan parameter tidak mempunyai pengaruh besar terhadap solusi dikatakan solusi relatif insensitif terhadap nilai parameter itu.
42
•
Analisa yang berkaitan dengan perubahan struktural. Masalah ini muncul bila masalah LP dirumuskan kembali dengan menambahkan atau menghilangkan kendala dan atau variabel untuk menunjukkan operasi model alternatif.
•
Analisa yang berkaitan dengan perubahan kontinu parameter untuk menentukan urutan solusi dasar yang menjadi optimum jika perubahan ditambah lebih jauh, ini dinamakan parametric-programming. Melalui analisa sensitivitas dapat dievaluasi pengaruh perubahan–perubahan
parameter dengan sedikit tambahan perhitungan berdasarkan tabel simpleks optimum. Dalam
membicarakan
analisa
sensitivitas,
perubahan–perubahan
dikelompokkan menjadi : 1. Perubahan koefisien fungsi tujuan ( Cj ) 2. Perubahan konstan sisi kanan ( bi ) 3. Perubahan kendala atau koefisien matriks A 4. Penambahan variabel baru 5. Penambahan kendala baru (Mulyono, 1999 , pp76-77 )
parameter
43
2.1.3 Persediaan 2.1.3.1 Pengertian Persediaan
Menurut Baroto (2002, p52), persediaan adalah bahan mentah, barang dalam proses (work in process), barang jadi, bahan pembantu, bahan pelengkap, komponen yang disimpan dalam antisipasinya terhadap pemenuhan permintaan. Pengendalian persediaan merupakan fungsi manajerial yang sangat penting, karena mayoritas perusahaan melibatkan investasi besar pada aspek ini (20% sampai 60%). Hal tersebut merupakan dilema bagi perusahaan. Bila persediaan dilebihkan, biaya penyimpanan dan modal yang diperlukan bertambah. Kelebihan persediaan juga membuat modal menjadi mandek, semestinya modal tersebut dapat diinvestasikan pada sektor lain yang lebih menguntungkan (opportunity cost). Sebaliknya bila persediaan dikurangi, maka dapat terjadi kehabisan bahan baku (stock out). Bila perusahaan tidak memiliki persediaan yang mencukupi, biaya pengadaan darurat akan lebih mahal, dampak lainnya adalah kekecewaan konsumen terhadap perusahaan tersebut.
2.1.3.2 Penyebab dan Fungsi Persediaan
Persediaan merupakan suatu hal yang tidak terhindarkan (Baroto, 2002, p53). Penyebab timbulnya persediaan adalah sebagai berikut :
Mekanisme pemenuhan atas permintaan. Permintaan terhadap suatu barang tidak dapat dipenuhi seketika bila barang tersebut tidak tersedia sebelumnya. Untuk menyiapkan barang ini diperlukan waktu untuk pembuatan dan pengiriman, maka adanya persediaan merupakan hal yang sulit dihindarkan.
44
Keinginan untuk meredam ketidakpastian. Ketidakpastian terjadi akibat: permintaan yang bervariasi dan tidak pasti dalam jumlah maupun kedatangan, waktu pembuatan yang cenderung tidak konstan antara satu produk dengan produk berikutnya, waktu tenggang (lead time) yang cenderung tidak pasti karena banyak faktor yang tidak dapat dikendalikan. Ketidakpastian ini dapat diredam dengan mengadakan persediaan.
Keinginan melakukan spekulasi yang bertujuan mendapatkan keuntungan besar dari kenaikan harga di masa mendatang.
Efisiensi produksi (salah satu muaranya adalah penurunan biaya produksi) dapat ditingkatkan melalui pengendalian sistem persediaan. Efisiensi ini dapat dicapai bila fungsi persediaan dapat dioptimalkan. Beberapa fungsi persediaan adalah sebagai berikut:
Fungsi independensi. Persediaan bahan diadakan agar departemen-departemen dan proses individual terjaga kebebasannya. Permintaan pasar tidak dapat diduga dengan tepat, demikian pula dengan pasokan dari pemasok. Agar proses produksi dapat berjalan tanpa tergantung dari pemasok dan permintaan, maka persediaan harus mencukupi.
Fungsi ekonomis. Membeli dalam jumlah tertentu akan lebih ekonomis dibanding membeli sesuai dengan kebutuhan, sehingga memiliki persediaan dapat dikatakan tindakan yang ekonomis.
Fungsi antisipasi. Fungsi ini diperlukan untuk mengantisipasi perubahan permintaan atau pasokan. Seringkali perusahaan mengalami kenaikan permintaan
45
pada saat tertentu yang tidak terduga, sehingga diperlukan persediaan untuk mengantisipasinya.
Fungsi fleksibilitas. Bila dalam proses produksi terdiri dari beberapa tahapan proses operasi dan kemudian terjadi kerusakan pada satu tahapan proses operasi, sehingga produk tidak dapat diproduksi lagi, maka akan diperlukan bahan baku tambahan untuk melanjutkan proses produksi yang terhambat tersebut.
2.1.3.3 Sistem Persediaan
Menurut Baroto (2002, p54), sistem persediaan adalah suatu mekanisme mengenai bagaimana mengelola masukan-masukan yang sehubungan dengan persediaan menjadi output, dimana untuk itu diperlukan umpan balik agar output memenuhi standar tertentu. Mekanisme sistem ini adalah pembuatan serangkaian kebijakan yang memonitor tingkat persediaan, menentukan persediaan yang harus dijaga, kapan persediaan harus diisi, dan berapa besar pesanan harus dilakukan. Sistem ini bertujuan menetapkan dan menjamin tersedianya produk jadi, barang dalam proses, komponen, dan bahan baku secara optimal, dalam kuantitas yang optimal, dan pada waktu yang optimal. Kriteria optimal adalah minimasi biaya total yang terkait dengan persediaan, yaitu biaya penyimpanan, biaya pemesanan, dan biaya kekurangan persediaan. Variabel
keputusan
dalam
pengendalian
persediaan
tradisional
dapat
diklasifikasikan ke dalam variabel kuantitatif dan variabel kualitatif. Secara kuantitatif, variabel keputusan pada pengendalian sistem persediaan adalah sebagai berikut: 1)
Berapa banyak jumlah barang yang akan dipesan.
2)
Kapan pemesanan harus dilakukan.
46
3)
Berapa jumlah persediaan pengaman.
4)
Bagaimana mengendalikan persediaan.
Secara kualitatif, masalah persediaan berkaitan dengan sistem pengoperasian persediaan yang akan menjamin kelancaran pengelolaan persediaan adalah sebagai berikut : 1)
Jenis barang apa yang dimiliki.
2)
Dimana barang tersebut berada.
3)
Berapa jumlah barang yang sedang dipesan.
4)
Siapa saja yang menjadi pemasok masing – masing item.
Secara luas, tujuan dari sistem persediaan adalah menemukan solusi optimal terhadap seluruh masalah yang terkait dengan persediaan. Optimalisasi pengendalian persediaan biasanya diukur dengan total biaya minimal pada suatu periode tertentu.
2.1.3.4 Biaya Persediaan
Menurut Baroto (2002, p55), biaya persediaan adalah semua pengeluaran dan kerugian yang timbul sebagai akibat persediaan. Biaya tersebut adalah harga pembelian, biaya pemesanan, biaya penyiapan, biaya penyimpanan, biaya kekurangan persediaan. Parameter biaya dibagi menjadi : 1)
Biaya Pesan (Ordering Cost) Biaya pesan timbul pada saat terjadi proses pemesanan suatu barang. Biayabiaya pembuatan surat, telepon, fax, biaya permintaan, pemesanan pembelian, transportasi, pengiriman, penerimaan, pemeriksaan, pemindahan
47
barang di gudang, akuntansi, audit, dan biaya-biaya overhead lain yang secara proporsional timbul karena proses pembuatan sebuah pesanan barang. 2)
Biaya Simpan (Carrying Cost) Biaya simpan timbul pada saat terjadi proses penyimpanan suatu barang. Sewa gudang, premi asuransi, biaya keamanan, biaya pemanasan, biaya pendinginan, pencatatan, logistik, depresiasi, bunga atas utang yang digunakan untuk membeli persediaan, dan biaya overhead lain yang relevan atau timbul karena proses penyimpanan suatu barang.
3)
Biaya Kehabisan Persediaan (Stockout Cost) Biaya kehabisan persediaan timbul pada saat persediaan habis atau tidak tersedia. Termasuk dalam kategori biaya ini adalah kerugian karena mesin terhenti, atau karyawan tidak bekerja, peluang yang hilang untuk memperoleh keuntungan.
4)
Biaya Pembelian (Purchase Cost) Biaya pembelian timbul pada saat pembelian suatu barang. Secara sederhana, biaya-biaya yang termasuk dalam kategori ini adalah biaya-biaya yang harus dikeluarkan untuk membayar pembelian persediaan. Secara keseluruhan, tujuan dari manajemen persediaan adalah untuk
memiliki sistem pengendalian persediaan yang akan memberikan indikasi berapa banyak persediaan yang harus dipesan dan kapan pemesanan dilakukan untuk meminimumkan biaya – biaya yang telah disebutkan sebelumnya (Taylor, 2005, p367).
48
Gambar 2.5 Masalah Persediaan
2.1.3.5 Metode Pemesanan Bahan Baku
Metode pemesanan bahan baku dapat digambarkan seperti di bawah ini :
Gambar 2.6 Metode pemesanan bahan baku
49
Penentuan penggunaan metode pemesanan bahan baku disesuaikan dengan pola data demand. Pola data demand dibagi menjadi dua, yaitu : o Data statik, yaitu demand dengan pola data stasioner, atau cenderung konstan
atau stabil. o Data dinamis, yaitu demand dengan pola data yang naik turun, atau cenderung
bergerak, disebut juga dengan “lumpy demand”.
2.1.3.6 Model Deterministik
Siswanto (2007, p124) menyatakan bahwa model persediaan deterministik ditandai oleh asumsi dasar dimana karakteristik permintaan dan waktu kedatangan pesanan dapat diketahui sebelumnya secara pasti. Menurut Siswanto (2007, p181), model EOQ menjadi tidak valid karena permintaan (D) yang bervariasi sehingga asumsi dasar yang digunakan untuk menurunkan model, yaitu permintaan konstan atau ajeg, terlanggar. Sampai batas dimana EOQ masih valid digunakan tentunya sangat tergantung kepada variabilitas permintaan (D). Jadi dengan kata lain, untuk menentukan pola data statis atau dinamis, harus diuji dengan model rumus sebagai berikut : Secara matematik, Variance Permintaan (D) per periode adalah : Var (D) =
1 N
N
∑ [D( j )] − [E ( D)] 2
2
j =1
Dan Permintaan E (D) per periode adalah : E (D) =
1 N
N
∑ [D( j )] j =1
2
50
VC =
Sehingga
VC =
VC =
VC =
1 N
1 N
N
N
∑ [D( j )] − [E ( D)] j =1
2
j =1
⎤ 1 ⎡N D( j )⎥ 2 ⎢∑ N ⎣ j =1 ⎦ N
2
[E ( D)]2
⎤ 1 ⎡N − 2 ⎢∑ D ( j ) ⎥ N ⎣ j =1 ⎦
∑ [D( j )]
1 N
2
∑ [D( j )]
2
j =1
2
⎤ 1 ⎡N D( j )⎥ 2 ⎢∑ N ⎣ j =1 ⎦ 2
2
2
⎤ 1 ⎡N ⎤ 1 ⎡N D ( j ) D ( j ) ⎢ ⎥ ⎢ ⎥ ∑ ∑ 2 N 2 ⎣ j =1 ⎦ N ⎣ j =1 ⎦
1 N
N
∑ [D( j )]
2
2
j =1
⎤ 1 ⎡N ( ) D j ⎢ ⎥ ∑ N 2 ⎣ j =1 ⎦
2
−1
Atau N
VC =
N ∑ [D( j )]
2
j =1
⎡N ⎤ ⎢∑ D( j ) ⎥ ⎣ j =1 ⎦
2
−1
Dimana VC = Variability Coefficient, yaitu perbandingan antara Variance Permintaan (D) per periode dengan kuadrat permintaan per periode. Semakin besar nilai Variability Coefficient maka semakin besar variasi permintaan, sebaliknya semakin kecil nilai Variability Coefficient maka variasi permintaan semakin kecil.
51
Pada dasarnya, VC menjadi tolak ukur seberapa besar variasi permintaan (D). Dan juga menjadi tolak ukur seberapa valid metode EOQ untuk digunakan. Dasar analisa VC adalah sebagai berikut : Jika VC < 0.25 maka EOQ dapat digunakan Jika VC ≥ 0.25 maka EOQ tidak lagi valid karena asumsi permintaan ajeg telah terlanggar sehingga model dinamis harus digunakan. Metode perhitungan VC sama dengan metode Peterson – Silver Rule, baik dari sisi rumus maupun dasar analisanya.
2.1.3.7 Model Probabilistik
Model-model persediaan pobabilistik ditandai oleh perilaku permintaan (D) dan lead time (L) yang tidak dapat diketahui sebelumnya secara pasti sehingga perlu didekati dengan distribusi probabilitas. Jika salah satu bersifat probabilistik, maka asumsi pesanan datang ada saat persediaan habis mungkin tidak terpenuhi. Oleh karena itu, sebuah model harus diturunkan.
2.1.3.7.1
Metode EOQ Probabilistik
Berbeda
dengan
model
EOQ
deterministik,
model
EOQ
probabilistik
memperhitungkan perilaku permintaan dan tenggang waktu pesanan datang (lead time) yang tidak pasti atau tidak bisa ditentukan sebelumnya secara pasti. Model EOQ deterministik dapat dirumuskan sebagai berikut : Q=
2AD h
Dimana : Q = Kuantitas pemesanan
52
D = Demand / permintaan selama satu tahun A = Biaya Pemesanan h = Biaya Simpan
2.1.3.8 Persediaan Cadangan (Safety Stock)
Menurut Taylor (2005, p364), persediaan cadangan adalah persediaan yang disimpan untuk mengantisipasi permintaan pelanggan yang sulit diketahui dengan pasti. Stok cadangan ini disimpan untuk memenuhi permintaan musiman atau siklus. Ketika salah satu Demand (permintaan) atau Lead time (saat tenggang pesan) tidak bisa diketahui secara pasti sebelumnya, ada tiga kemungkinan yang akan terjadi : 8 Persediaan habis ketika pesanan belum tiba. 8 Persediaan habis tepat pada saat pesanan tiba. 8 Persediaan habis saat pesanan belum tiba.
Gambar 2.7 Masalah kehabisan persediaan. Tiga kemungkinan itu dapat dilihat pada gambar di atas. Pada Y1, persediaan sebesar Q diperkirakan akan habis pada t2 sehingga pesanan datang tepat pada saat itu. Kondisi ini hanya bisa terjadi jika permintaan dan saat pesanan tiba tidak berdeviasi, artinya secara pasti bisa ditentukan sebelumnya (predetermined).
53
Namun karena tingkat pemakaian yang lebih besar dari yang diperkirakan sebelumnya, maka pada Y2 persediaan Q sudah habis pada t3 padahal persediaan baru tiba pada t4 sehingga terjadi kehabisan persediaan selama t3 – t4. Pada Y3 pemakaian persdiaan sesuai dengan yang direncanakan yaitu habis di t5, namun karena pesanan tiba pada t6 maka terjadi kehabisan persediaan selama t5 –t6. Berbeda dengan kondisi Y4, meskipun tidak terjadi kelebihan persediaan namun karena kedatangan pesanan di t7 yang lebih cepat dari yang direncanakan, yaitu t8, maka terjadi kelebihan persediaan. Bukan merupakan kondisi kehabisan persediaan, pada Y4 meskipun pemakaian persediaan akan tepat seperti yang direncanakan, terjadi penumpukan persediaan yang tidak diperlukan karena pesanan tiba lebih cepat dari yang direncanakan. Keempat kasus di atas telah memberi gambaran bagaimana perilaku permintaan (demand) dan saat pesanan datang (lead time), yang menyimpang dari perkiraan semula, bisa membawa akibat yang merugikan. Ini dapat berupa kehabisan atau kelebihan persediaan. Oleh kerena itu, jalan keluar untuk mengantisipasi penyimpangan itu, perlu dibentuk cadangan keras (iron stock) atau safety stock melalui pendekatan distribusi probabilitas. Ketika permintaan selama periode kedatangan pesanan tidak bisa diketahui sebelumnya secara pasti, maka deviasi kapan persediaan dibutuhkan dan kapan persediaan datang harus diketahui. Distribusi normal akan digunakan untuk menggambarkan penyimpangan tersebut.
54
Gambar 2.8 Transformasi penyimpangan dengan kurva normal Jika rata-rata permintaan selama periode kedatangan pesanan ditransformasikan ke mean atau m Kurva Normal, maka perilaku penyimpangan tingkat permintaan itu akan menyebar di sekitar m sehingga deviasi penyebaran itu akan dapat digunakan untuk memperkirakan persediaan cadangan (safety stock) yang berdasar pada perilaku penyimpangan variabel-variabel yang mempengaruhinya dan dinyatakan dalam σ .
σ =
Σxi − x 2 dimana σ = standar deviasi n
Selanjutnya σ digunakan untuk menemukan luas area dalam kurva normal melalui
z=
x−μ
σ
. Untuk memudahkan pemahaman mengenai penggunaan kurva normal pada
kasus penentuan persediaan cadangan, maka rumus di atas diubah menjadi zσ = x − μ . Nilai z menandai luas area kurva normal, dan nilai z dapat ditetapkan dalam presentase kemungkinan kehabisan persediaan sebagai faktor keamanan untuk menentukan persediaan cadangan. Jadi, persediaan cadangan = faktor keamanan (z) x σ
55
2.1.4 Penjadwalan 2.1.4.1 Definisi Penjadwalan
Penjadwalan (scheduling) merupakan salah satu kegiatan penting dalam perusahaan. Dalam suatu perusahaan industri, penjadwalan diperlukan dalam mengalokasikan tenaga operator, mesin, dan peralatan produksi, urutan proses, jenis produk, pembelian material dan sebagainya. Terlepas dari jenis perusahaannya, setiap perusahaan perlu untuk melakukan penjadwalan sebaik mungkin agar memperoleh utilisasi maksimum dari sumber daya produksi dan aset lain yang dimiliki. Penjadwalan adalah pengaturan waktu dari suatu kegiatan operasi. Penjadwalan mencakup kegiatan mengalokasikan fasilitas, peralatan ataupun tenaga kerja bagi suatu kegiatan operasi. Dalam hierarki pengambilan keputusan, penjadwalan merupakan langkah terakhir sebelum dimulainya operasi.
2.1.4.2 Tujuan Penjadwalan
Tujuan penjadwalan adalah untuk meminimalkan waktu proses, waktu tunggu langganan, dan tingkat persediaan, serta penggunaan yang efisien dari fasilitas, tenaga kerja, dan peralatan. Penjadwalan disusun dengan mempertimbangkan berbagai keterbatasan yang ada. Penjadwalan yang baik akan memberikan dampak positif, yaitu rendahnya biaya operasi dan waktu pengiriman, yang akhirnya dapat meningkatkan kepuasan pelanggan (Herjanto, 1999, p287).
56
Beberapa tujuan penjadwalan (Bedworth, 1987, p247) : •
Meningkatkan utilitas/penggunaan sumber daya yaitu dengan mengurangi waktu menganggur (idle time) sumber daya tersebut.
•
Mengurangi persediaan barang dalam proses (in-process inventory) yaitu dengan mengurangi jumlah rata-rata pekerjaan yang menunggu dalam antrian (queue) ketika sumber daya sedang mengerjakan pekerjaan lainnya.
•
Mengurangi keterlambatan penyelesaian pekerjaan. Dalam banyak situasi, beberapa atau semua pekerjaan mempunyai tanggal jatuh tempo (due dates) dan sebuah penalti akan dikenakan jika sebuah pekerjaan diselesaikan setelah tanggal jatuh temponya. Pentingnya penjadwalan (Render dan Heizer, 2001, p467) :
1. Dengan penjadwalan secara efektif, perusahaan menggunakan asetnya dengan efektif dan menghasilkan kapasitas keuntungan yang dihasilkan menjadi lebih besar, yang sebaliknya akan mengurangi biaya. 2. Penjadwalan menambah kapasitas dan fleksibilitas yang terkait memberikan waktu pengiriman yang lebih cepat dan dengan demikian pelayanan kepada pelanggan menjadi lebih baik. 3. Keuntungan yang ketiga dari penjadwalan yang baik adalah keunggulan kompetitif dengan pengiriman yang bisa diandalkan.
57
2.1.4.3 Isu-Isu Penjadwalan
Penjadwalan melibatkan pembebanan tanggal jatuh tempo atas pekerjaanpekerjaan khusus, tapi banyak pekerjaan yang bersaing secara simultan untuk sumber daya yang sama. Untuk membantu mengatasi kesulitan yang melekat pada penjadwalan, teknik penjadwalan dapat dikelompokkan sebagai (1) penjadwalan ke depan dan (2) penjadwalan ke belakang (Render dan Heizer, 2001, p467). (1)
Penjadwalan ke depan (forward scheduling) Memulai skedul/jadwal segera setelah persyaratan-persyaratan diketahui, penjadwalan ke depan digunakan di beragam organisasi seperti rumah sakit, klinik, restoran, dan perusahaan alat-alat permesinan. Dalam fasilitas ini, pekerjaan dilaksanakan atas pesanan pelanggan dan sesegera mungkin dilakukan pengiriman. Penjadwalan ke depan biasanya dirancang untuk menghasilkan jadwal yang bisa diselesaikan meskipun tidak berarti memenuhi tanggal jatuh temponya. Didalam beberapa keadaan, penjadwalan ke depan menyebabkan menumpuknya barang dalam proses.
(2)
Penjadwalan ke belakang (backward scheduling) Dimulai dengan tanggal jatuh tempo, menjadwal operasi final dahulu. Tahap-tahap dalam pekerjaan kemudian dijadwal, pada suatu waktu, dibalik. Dengan mengurangi lead time untuk masing-masing item, akan didapatkan waktu awal. Namun demikian, sumber daya yang perlu untuk menyelesaikan jadwal bisa jadi tidak ada. Penjadwal ke belakang digunakan di lingkungan perusahaan manufaktur, sekaligus lingkungan perusahaan jasa. Dalam praktik, seringkali digunakan penjadwalan ke depan dan ke belakang untuk mengetahui titik temu
58
yang beralasan antara apa yang bisa dicapai dengan tanggal jatuh tempo pelanggan. Kerusakan mesin, ketidakhadiran, problem mutu, kekurangan dan faktorfaktor lain membuat penjadwalan semakin kompleks. Konsekuensinya, tanggal penugasan tidak meyakinkan bahwa pekerjaan akan dilakukan sesuai dengan jadwal. Banyak teknik khusus yang telah dibuat untuk membantu kita dalam mempersiapkan jadwal yang bisa diandalkan.
2.1.4.4 Penjadwalan Kriteria Proses
Teknik penjadwalan yang benar tergantung pada volume pesanan, ciri operasi, dan keseluruhan kompleksitas pekerjaan, sekaligus pentingnya tempat pada masingmasing dari empat kriteria (Render dan Heizer, 2001, p467). Empat kriteria itu adalah : 1. Meminimalkan waktu penyelesaian. Ini dinilai dengan menentukan rata-rata waktu penyelesaian. 2. Memaksimalkan utilitas. Ini dinilai dengan menentukan persentase waktu fasilitas itu digunakan. 3. Meminimalkan persediaan barang dalam proses. Ini dinilai dengan menentukan rata-rata jumlah pekerjaan dalam sistem. Hubungan antara jumlah pekerjaan dalam sistem dan persediaan barang dalam proses adalah tinggi. Dengan demikian semakin kecil jumlah pekerjaan yang ada dalam sistem, maka akan semakin kecil persediaannya. 4. Meminimalkan waktu tunggu pelanggan. Ini dinilai dengan menentukan rata-rata jumlah keterlambatan.
59
Empat kriteria ini digunakan dalam industri untuk mengevaluasi kinerja penjadwalan. Sebagai tambahan, pendekatan penjadwalan yang baik haruslah sederhana, jelas, mudah dimengerti, mudah dilaksanakan, fleksibel, dan realistik. Diberikan pertimbangan ini, sasaran dari penjadwalan adalah untuk mengoptimalkan penggunaan sumber daya sehingga tujuan produksi bisa tercapai.
2.1.4.5 Penjadwalan Produksi
Penjadwalan produksi memiliki beberapa fungsi dalam sistem produksi, aktivitasaktivitas fungsi tersebut adalah sebagai berikut (Baroto, 2002, p167) : 1. Loading (pembebanan). Bertujuan mengkompromikan antara kebutuhan yang diminta dengan kapasitas yang ada. Loading ini untuk menentukan fasilitas, operator, dan peralatan. 2. Sequencing (penentuan urutan). Bertujuan membuat prioritas pengerjaan dalam pemrosesan order-order yang masuk. 3. Dispatching. Pemberian perintah-perintah kerja ke tiap mesin atau fasilitas lainnya. 4. Pengendalian kinerja penjadwalan, dengan cara: a. monitor perkembangan pencapaian pemenuhan order dalam semua sektor b. merancang ulang sequencing, bila ada kesalahan atau prioritas utama baru 5. Updating schedules. Pelaksanaan jadwal biasanya selalu ada masalah baru yang berbeda dari saat pembuatan jadwal, maka jadwal harus segera di-update bila ada permasalahan baru yang memang perlu diakomodasi.
60
Kompleksitas aktivitas penjadwalan produksi tersebut dapat ditangani secara sistematik dengan berbagai macam metode-metode khusus untuk penjadwalan produksi. Pembebanan (Loading)
Pembebanan berarti penugasan pekerjaan untuk dilaksanakan atau pusat pengolahan/pusat
pemrosesan.
Manajer
operasi
menugaskan
pekerjaan
untuk
dilaksanakan sehingga biaya, waktu menganggur atau waktu penyelesaian harus dijaga agar tetap minimum. Pusat pembebanan pekerjaan terbagi menjadi dua bentuk. Satu diorientasikan terhadap kapasitas, yang kedua dikaitkan ke penugasan tugas tertentu ke pusat pekerjaan. Kita menyajikan dua pendekatan yang digunakan untuk membebankan yaitu : diagram Gantt dan metode penugasan linear (Render dan Heizer, 1001, p469). (1)
Diagram Gantt Diagram Gantt merupakan alat bantu visual yang sangat berguna dalam pembebanan dan penjadwalan. Diagram ini membantu melukiskan penggunaan sumber daya, seperti pusat pekerjaan dan lembur. Pada saat digunakan dalam pembebanan, diagram Gantt menunjukkan waktu
pembebanan dan waktu menganggur dari beberapa departemen seperti mesin-mesin atau fasilitas. Diagram ini menampilkan beban kerja relatif di dalam sistem sehingga para manajer bisa tahu penyesuaian seperti apa yang tepat. Sebagai contoh, pada saat satu pusat pekerjaan kelebihan pusat kerja, karyawan dari pusat beban yang rendah bisa dipindahkan secara temporer untuk menambah jumlah karyawan. Atau jika pekerjaan yang sedang menunggu bisa diproses pada pusat pekerjaan yang berbeda, beberapa pekerjaan pada pusat beban tinggi bisa dipindahkan ke yang rendah. Peralatan serba guna bisa juga dipindahkan di antara pusat-pusat itu.
61
Diagram beban Gantt memiliki batasan-batasan utama. Salah satunya, diagram ini tidak bisa diandalkan untuk variabilitas produksi seperti kerusakan yang tidak diharapkan atau kesalahan manusia yang mensyaratkan pekerjaan itu dilakukan lagi. Diagram itu harus diperbaharui secara teratur untuk melakukan pekerjaan baru dan merevisi perkiraan waktu. Diagram jadwal Gantt digunakan untuk memonitor kemajuan pekerjaan. Ini menunjukkan pekerjaan mana yang berada pada jadwal dan yang mana yang berada didepan atau dibelakang skedul/jadwal. (2)
Metode Penugasan Metode penugasan melibatkan penugasan suatu pekerjaan atau sumber daya. Sebagai contoh adalah penugasan pekerjaan ke mesin, kontrak kerja pada penawar, dan sebagainya. Tujuannya adalah untuk meminimalisasi total biaya atau waktu yang diminta untuk melakukan tugas yang sedang dijalankannya.
Pengurutan (Sequencing)
Pengurutan pengerjaan merupakan problem yang cukup penting dalam analisis produksi. Problem yang dihadapi karena adanya banyaknya job dan ketersediaan mesin yang terbatas. Job sequencing bertujuan untuk mencapai kriteria performance tertentu yang optimal. Beberapa kriteria yang sering dipakai dalam pengurutan job antara lain sebagai berikut (Baroto, 2002, p170) : 1. Mean flow time (MFT) atau rata-rata waktu job berada dalam mesin 2. Idle time atau waktu menganggur dari mesin 3. Mean lateness atau rata-rata keterlambatan 4. Mean number job in the system (WIP) atau rata-rata jumlah job dalam mesin
62
5. Make-span atau total waktu penyelesaian seluruh job Sedangkan faktor-faktor yang mempengaruhi pelayanan (pengerjaan) suatu job diantaranya (Baroto, 2002, p170) : 1. jumlah job yang harus dijadwalkan. 2. jumlah mesin yang tersedia. 3. tipe manufaktur (flow shop atau job shop). 4. pola kedatangan job (statik atau dinamis).
2.1.4.6 Aturan Prioritas
Aturan Prioritas memberikan panduan untuk urut-urutan pekerjaan yang harus dilaksanakan. Aturannya secara khusus bisa diterapkan untuk fasilitas yang berfokus pada proses seperti klinik, percetakan, dan perusahaan manufaktur. Aturan prioritas mencoba untuk mengurangi waktu penyelesaian, jumlah pekerjaan dalam sistem, dan keterlambatan kerja sementara penggunaan fasilitas bisa maksimum (Render dan Heizer, 2001, p473). •
Pertama datang, pertama kali dilayani (First Come First Serve/FCFS) :
Pekerjaan yang datang terlebih dahulu di pusat kerja, maka akan diproses lebih dulu. •
Waktu pemrosesan paling cepat (Shortest Processing Time/SPT) : Pekerjaan
yang membutuhan waktu paling singkat dilaksanakan dulu, selanjutnya diselesaikan. •
Pekerjaan yang jatuh temponya paling pendek (Earliest Due Date/EDD) :
Pekerjaan yang jatuh temponya paling pendek akan dipilih lebih dulu.
63
•
Waktu pemrosesan paling panjang (Long Processing Time/LPT) : Semakin
panjang, semakin besar pekerjaan sering kali sangat penting dan kemudian dipilih lebih dahulu.
2.1.4.7 Penjadwalan M Prosesor Paralel
Pada penjadwalan prosesor jamak paralel, setiap pekerjaan hanya perlu memasuki salah satu prosesor. Situasi ini dapat digambarkan seperti Gambar 2.9 Dengan adanya prosesor jamak, pekerjaan penjadwalan menjadi agak sukar bila dibandingkan dengan pejadwalan pada prosesor tunggal. Jika penjadwalan satu prosesor memiliki masalah pada bagaimana urutan pekerjaan yang akan memberikan hasil optimal, maka pada prosesor paralel masalah yang terjadi ialah urutan pekerjaan yang paling optimal dan prosesor manakah yang akan mengerjakan pekerjaan tersebut (Kusuma,2001,p201).
Prosesor 1
n pekerjaan Prosesor 2
Prosesor m
m paralel prosesor
Gambar 2.9 Penjadwalan pada M Prosesor Paralel Menurut Sipper dan Bulfin, Jr (1998, p422) tujuan dari penjadwalan pada mesin paralel adalah mesin mana yang akan digunakan untuk mengerjakan pekerjaan dan bagaimana urutan pekerjaan. Meskipun masalah mesin paralel yang identik sulit untuk dipecahkan dengan optimal, untuk setiap ukuran biasa solusi optimal dapat dilihat
64
sebagai sebuah list schedule (daftar jadwal). Sebuah list (daftar) adalah urutan dari semua pekerjaan. Untuk membuat sebuah jadwal, tugaskan pekerjaan selanjutnya ke mesin yang memiliki beban kerja terkecil; lanjutkan sampai semua pekerjaan pada daftar telah dijadwalkan.
2.2
Sistem Informasi
2.2.1 Pengertian Sistem
Menurut McLeod (2001, p11) sistem merupakan sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Contoh suatu organisasi atau bidang fungsional cocok untuk menggambarkan ini, dimana organisasi terdiri dari bidang-bidang fungsional yang semuanya mengacu pada tercapainya tujuan organisasi yang telah ditetapkan. Sistem ini sendiri terdiri dari dua jenis, yaitu sistem terbuka dan sistem tertutup. Suatu sistem yang dihubungkan dengan lingkungannya melalui arus sumber daya disebut sistem terbuka, sedangkan jika sistem tidak lagi dihubungkan dengan lingkungannya maka ini disebut sistem tertutup. Menurut O’Brien (2003, p8) sistem adalah sebuah kelompok yang terintegrasi dan bekerja sama untuk mencapai tujuan yang sama dengan menerima masukan (inputs) dan menghasilkan keluaran (outputs) dalam sebuah proses transformasi yang terorganisir dengan baik. Sistem adalah suatu jaringan prosedur yang dibuat menurut pola yang terpadu untuk melaksanakan kegiatan pokok perusahaan atau mencapai tujuan tertentu dari perusahaan.
65
Pada sistem, dari elemen-elemen tersebut ada tiga komponen dasar yang saling berinteraksi yaitu : 1. Input : mencakup komponen atau elemen yang akan masuk ke sistem untuk diproses. Contohnya mencakup bahan mentah, data, usaha manusia. 2. Proses : mencakup proses transformasi yang mengubah input menjadi output. Contohnya mencakup proses manufaktur, perhitungan matematis, dan lain sebagainya. 3. Output : mencakup elemen yang telah melalui proses transformasi. Contoh mencakup jasa, produk, dan informasi. Selain dari ketiga komponen dasar tersebut, terdapat dua lagi komponen tambahan yaitu : 1. Feedback : data mengenai performa sistem. 2. Control : mecakup pengawasan dan evaluasi dari feedback untuk mengetahui bila sistem bergerak menuju tujuan yang telah ditetapkan. Sistem yang memiliki tiga elemen – control, feedback loop dan tujuan (objective
element) adalah sistem yang dapat melakukan kontrol terhadap kegiatannya sendiri dan disebut sebagai closed-loop system. Model dari sistem ini dideskripsikan pada Gambar 2.10 berikut.
66
Objectives
Control Mechanism
Input
Transformation
Output
Gambar 2.10 Model Closed-Loop System Sumber : McLeod, 2001, p12
Di samping itu, sistem tanpa ketiga elemen tersebut disebut sebagai open-loop
system. Elemen-elemen dalam sistem tersebut dapat dilihat pada Gambar 2.11 berikut.
Input
Transformation
Output
Gambar 2.11 Model Open-Loop System Sumber : McLeod, 2001, p12
Berdasarkan pada hubungan sistem dengan lingkungannya, terdapat 2 jenis sistem. Sistem terbuka atau open system adalah sistem yang terhubung dengan lingkungannya oleh karena aliran sumber daya antara sistem dan lingkungannya. Sedangkan sistem yang tidak terhubung dengan lingkungannya disebut dengan sistem tertutup atau closed system.
67
Berdasarkan bentuk sumber daya yang membentuk sistem, sistem terbagi menjadi 2 jenis, yaitu : a. Sistem fisik (conceptual system), yaitu sistem yang terbentuk dari sumber daya fisik. Perusahaan adalah salah satu contoh sistem fisik. b. Sistem konsep (conceptual system), yaitu sistem yang menggunakan sumber daya konsep untuk menggambarkan sistem fisik. Sumber daya konsep terdiri dari informasi dan data.
Pengertian Informasi
McLeod (2001, p12) berpendapat informasi adalah data yang telah diproses atau data yang memiliki arti. Sedangkan menurut O’Brien (2004, p13) informasi adalah data yang telah dikonversikan menjadi konteks yang berarti dan berguna bagi pemakai tertentu. Terdapat empat dimensi informasi menurut McLeod (2001, p145), yaitu :
•
Ketepatan waktu Informasi harus dapat tersedia untuk memecahkan masalah pada waktu yang tepat sebelum situasi menjadi tidak terkendali atau kesempatan yang ada menghilang.
•
Kelengkapan Perusahaan khususnya manajer harus dapat memperoleh informasi yang memberi gambaran lengkap dari suatu permasalahan atau penyelesaian. Namun pemberian informasi yang tidak berguna secara berlebihan harus dihindari.
68
•
Akurasi Secara ideal, semua informasi harus akurat untuk menunjang terbentuknya system yang akurat pula. Akurasi ini terutama diperlukan dalam aplikasiaplikasi tertentu seperti aplikasi yang melibatkan keuangan, semakin teliti informasi yang diinginkan maka biaya pun semakin bertambah.
•
Relevansi Informasi disebut relevan jika informasi tersebut berkaitan langsung dengan masalah yang sedang dihadapi. Manajer harus mampu memilih informasi yang diperlukan.
Pengertian Sistem Informasi
Menurut O’Brien (2002, p7) Sistem Informasi adalah kombinasi dari sumber daya manusia, perangkat keras, perangkat lunak, jaringan komunikasi, dan sumber data yang mengumpulkan, merubah, dan menyebarkan informasi dalam sebuah organisasi. Pengertian lainnya dari sistem informasi adalah sebagai suatu sistem yang menerima data sebagai input dan kemudian mengolahnya menjadi informasi sebagai outputnya.
Computer Based Information System (CBIS) adalah sistem informasi berbasis komputer dimana sistem disini menyangkut kombinasi dari perangkat keras, perangkat lunak, sumber daya manusia, jaringan dan data yang berfungsi untuk melakukan kegiatan
input, proses, output, penyimpanan dan kontrol yang mengubah sumber daya data menjadi produk berupa informasi.
69
CBIS mempunyai lima sistem atau aplikasi yang menggunakan komputer dalam
information processes, yaitu antara lain : •
AIS (Accounting Information System), yaitu sistem yang melakukan pemrosesan terhadap data-data perusahaan.
•
MIS
(Management
Information
System),
yaitu
sistem
computer
yang
diimplementasikan bagi tujuan utama untuk menghasilkan informasi manajemen.
•
DSS (Decision Support System), yaitu sistem penghasil informasi yang bertujuan memberikan dukungan bagi pemecahan masalah, serta bagi pengambilan keputusan oleh manajer.
•
Virtual Office, yaitu sistem pengaturan modern bagi pekerjaan di perusahaan yang dapat dilakukan dengan muda menggunakan otomatisasi kantor (office
automation) dan aplikasi elektronik lainnya. •
Knowledge-based system, yaitu sistem yang mencakup ragam system dengan tujuan mengaplikasikan intelejensi buatan (Artificial Intelegence) untuk kepentingan dalam pengambilan keputusan.
Output yang dihasilkan oleh CBIS akan menjadi informasi bagi pengambilan keputusan. Model CBIS ini dapat dilihat pada Gambar 2.12 berikut ini.
70
Gambar 2.12 Model Computer Based Information System (CBIS) Sumber : McLeod, 2001, p18
Jenis-jenis CBIS dapat dikategorikan berdasarkan level organisasi yang menggunakannya seperti Transaction Processing Systems (TPS) untuk level yang paling bawah yaitu menangani transaksi perusahaan, Management Information Systems (MIS) untuk level menengah yaitu digunakan para manajer untuk menganalisa data TPS dan lain-lain, dan Executive Information Systems (EIS) untuk level atas yaitu untuk membantu membuat keputusan manajer level atas (Turban et al., 2001, p17).
71
Sumber daya sistem informasi menurut O’Brien (2003, p11-14) mencakup : 1. Sumber Daya Manusia (SDM) Sumber daya manusia mencakup pengguna akhir dan spesialis IS. Pengguna akhir adalah semua orang yang menggunakan sistem informasi dalam melaksanakan kegiatan dan tugas mereka. Spesialis IS mencakup system
analyst, pengembang software dan orang yang mengoperasikan sistem tersebut. 2. Sumber Daya Perangkat Keras (hardware)
Hardware mencakup semua peralatan fisik dan material yang digunakan dalam mengolah informasi termasuk di dalamnya mesin seperti komputer (baik itu merupakan komputer desktop, laptop, mainframe, dan lain sebagainya) serta semua perlengkapan lainnya seperti media penyimpanan, media untuk input dan output. 3. Sumber Daya Perangkat Lunak (software)
Software mencakup program dan prosedur. Program adalah serangkaian perintah yang mengontrol jalannya hardware. Prosedur adalah serangkaian instruksi untuk mengolah informasi seperti prosedur input data, prosedur untuk mengoreksi kesalahan. 4. Sumber Daya Data Data disini mencakup semua bentuk data termasuk data berupa angka, alfabet maupun karakter lain yang mendeskripsikan transaksi bisnis dan kejadian lainnya. Termasuk juga di dalamnya adalah konsep penyimpanan data seperti
database.
72
5. Sumber Daya Jaringan Sumber daya jaringan mencakup media komunikasi seperti teknologi komunikasi wireless, microwave kabel serat optik dan lain sebagainya serta dukungan untuk jaringan seperti modem
Gambar 3.13 Komponen Sistem Informasi Sumber : O’Brien (2003, p11)
Daur Hidup Sistem (System Life Cycle)
Daur hidup sistem adalah pengaplikasian pendekatan sistem untuk pengembangan sistem informasi dan subsistem berbasis komputer. Daur hidup sistem terdiri dari rangkaian tugas yang mengikuti pola tertentu dan dilakukan secara top-down sehingga dikenal dengan pendekatan air terjun (waterfall approach). Daur hidup sistem menurut McLeod (2001, p123) terdiri dari lima fase dimana empat fase pertama berkaitan dengan upaya pengembangan sistem sehingga dikenal dengan sebutan System Design Life Cycle (SDLC). Keempat fase tersebut adalah
73
planning (perencanaan), analysis (analisa), design (perancangan) dan implementation (implementasi). Fase yang kelima adalah use (pemakaian) yang mana akan berlangsung hingga sistem perlu untuk dirancang ulang atau dihentikan. Fase SDLC dengan metode pendekatan daur hidup waterfall yang biasa digunakan adalah sebagai berikut: 1. Analisa awal (preliminary analysis) 2. Analisa (analyze) 3. Perancangan (design) 4. Pemrograman (programming) 5. Pengujian (testing) 6. Konversi sistem (conversion) Gambar 2.14 berikut menampilkan daur hidup waterfall (waterfall life cycle) yang biasa digunakan.
Gambar 2.14 Daur Hidup dengan Pendekatan Waterfall (Waterfall Life Cycle) Sumber: McLeod (2001, p123)
74
Dengan penambahan fase penggunaan (use), maka tahapan-tahapan dalam daur hidup sistem telah lengkap. Tahapan ini akan terus berlanjut sampai saatnya untuk membuang atau merancang ulang sistem dengan melakukan kembali lingkaran daur hidup sistem dari awal.
Analisa dan Perancangan Berorientasi Objek (Object Oriented Analysis and Design)
Object-Oriented Analysis and Design (OOAD) adalah metode untuk menganalisa dan merancang sistem dengan pendekatan berorientasi object (Mathiassen et al, 2000, p135). Object diartikan sebagai suatu entitas yang memiliki identitas, state dan behavior (mathiassen et al, 2000, p4). Pada analisa, identitas sebuah object menjelaskan bagaimana seorang user membedakannya dari object lain, dan behavior object digambarkan melalui event yang dilakukannya. Sedangkan pada perancangan, identitas sebuah object digambarkan dengan cara bagaimana object lain mengenalinya sehingga dapat diakses, dan behavior object digambarkan dengan operation yang dapat dilakukan object tersebut yang dapat mempengaruhi object lain dalam sistem. Objek dan Class
Objek merupakan sebuah entitas yang memiliki identitas, status, dan perilaku (Mathiassen et al., 2000,p4). Contoh dari objek misalnya 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 objek yang memiliki struktur, pola perilaku, dan atribut yang
75
sama (Mathiassen et al., 2000,p4). Untuk dapat lebih memahami objek, biasanya objekobjek tersebut sering digambarkan dalam bentuk class.
Konsep Object Oriented Analysis and Design (OOAD)
Terdapat tiga buah konsep atau teknik dasar dalam proses analisa dan perancangan berorientasi objek, yaitu: 1. Encapsulation
Encapsulation dalam bahasa pemrograman berorientasi objek secara sederhana berarti pengelompokkan fungsi. Pengelompokkan ini bertujuan agar developer tidak perlu membuat coding untuk fungsi yang sama, melainkan hanya perlu memanggil fungsi yang telah dibuat sebelumnya. 2. Inheritance
Inheritance dalam bahasa pemrograman berorientasi objek secara sederhana berarti menciptakan sebuah class baru yang memiliki sifat-sifat dan karakteristik-karakteristik sama dengan yang dimiliki class induknya disamping sifat-sifat dan karakteristik-karakteristk 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.
76
Keuntungan dan Kelemahan Object Oriented Analysis and Design (OOAD) ¾ Keunggulan Analisis dan Desain Berorientasi Objek
Terdapat dua kemampuan sistem berorientasi objek (McLeod, 2001, pp613-614) yaitu: 1. Reusability 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 objek diciptakan, ia dapat digunakan kembali, mungkin hanya dengan modifikasi kecil di sistem lain. Ini berarti biaya pengembangan yang ditanamkan di satu proyek dapat memberikan keuntungan bagi proyek-proyek lain. 2. Interoperability Kemampuan untuk mengintegrasikan berbagai aplikasi dari beberapa sumber, seperti program yang dikembangkan sendiri dan perangkat lunak jadi, serta menjalankan aplikasi-aplikasi ini di berbagai platform perangkat keras.
Reusability dan interoperability menghasilkan empat keunggulan kuat (McLeod, 2001, pp614-615) yaitu: -
Peningkatan kecepatan pembangunan, karena sistem dirancang seperti dunia nyata melihatnya.
-
Pengurangan biaya pengembangan, karena pengembangan lebih cepat.
-
Kode berkualitas tinggi memberikan keandalan lebih besar dan ketangguhan yang lebih dibandingkan yang biasa ditemukan dalam sistem berorientasi proses.
77
-
Pengurangan biaya pemeliharaan dan rekayasa ulang sistem, karena kode yang berkualitas tinggi dan kemampuan pemakaian kembali. 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 pemrograman berorientasi objek. Selain keuntungan yang diperoleh dalam menggunakan OOAD seperti yang telah disebutkan di atas, ternyata juga terdapat beberapa kelemahan yang berhasil diidentifikasi oleh McLeod (2001, p615) yaitu: 1. Diperlukan waktu lama untuk memperoleh pengalaman pengembangan. 2. Kesulitan metodologi untuk menjelaskan sistem bisnis yang rumit. 3. Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan untuk sistem bisnis.
¾ Kelemahan Analisis dan Desain Berorientasi Objek
Beberapa kelemahan dari sistem berorientasi objek (McLeod, 2001, p615) adalah: -
Diperlukan waktu lama untuk memperoleh pengalaman pengembangan.
-
Kesulitan metodologi untuk menjelaskan sistem bisnis yang rumit.
-
Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan untuk sistem bisnis.
78
Aktivitas Utama Object Oriented Analysis and Design (OOAD)
Mathiassen et al. (2000, pp14-15) menjelaskan empat buah aktivitas utama dalam analisa dan perancangan berorientasi objek yang digambarkan dalam Gambar 2.5 berikut ini.
Gambar 2.15 Aktivitas Utama dalam OOAD Sumber: Mathiassen et al (2000, p15)
Berikut ini merupakan penjelasan lebih rinci mengenai keempat aktivitas utama dalam melakukan analisa dan perancangan berorintasi objek menurut Mathiassen et al. (2000, pp14-15):
79
1.Analisis Problem Domain
Problem domain merupakan bagian dari situasi yang diatur, diawasi, dan dikendalikan oleh sistem. Tujuan melakukan analisis problem domain adalah mengidentifikasi dan memodelkan problem domain. Analisis problem domain terbagi menjadi tiga aktivitas yang digambarkan dalam Gambar 2.8, yaitu: a) Memilih objek, class, dan event yang akan menjadi elemen model problem
domain. b) Membangun model dengan memusatkan perhatian pada relasi struktural antara class dan objek. c) Mendeskripsikan properti dinamis dan atribut untuk setiap class.
Gambar 2.16 Aktivitas Analisis Problem Domain Sumber : Mathiassen et al (2000, p46)
Pada aktivitas classes, langkah awal yang perlu dilakukan adalah menentukan
class. Langkah berikutnya adalah membuat sebuah event table yang dapat membantu menentukan event-event yang dimiliki oleh setiap. Pada aktivitas structure, class-class yang telah ditentukan sebelumnya akan dihubungkan berdasarkan tiga jenis hubungan yaitu generalisasi, agregasi, atau asosiasi sehingga menjadi sebuah skema yang disebut class diagram.
80
Dalam aktivitas behavior, definisi class dalam class diagram akan diperluas dengan menambahkan deskripsi pola perilaku dan atribut dari masing-masing
class. Pola perilaku dari class terdiri dari tiga jenis, yaitu: •
Sequence Merupakan event yang terjadi secara berurutan satu per satu.
•
Selection Merupakan pemilihan salah satu dari beberapa event yang terjadi.
•
Iteration Merupakan event yang terjadi berulang kali.
Hasil dari aktivitas ini adalah sebuah statechart diagram yang menunjukkan perubahan status dari masing-masing class yang dikarenakan oleh event tertentu mulai dari initial state sampai dengan final state.
2.Analisis Application Domain Menurut Mathiassen, et al (2000, p115) application-domain adalah organisasi yang mengatur, mengawasi atau mengendalikan problem-domain. Analisis
application-domain memfokuskan bagaimana target dalam sistem akan digunakan dengan menentukan function dan interface sistem. Sama seperti analisis problem
domain, analisis application domain juga terdiri dari beberapa aktivitas antara lain: a) Menentukan penggunaan sistem dan bagaimana sistem berinteraksi dengan
user. b) Menentukan fungsi dan kemampuan sistem dalam mengolah informasi.
81
c) Menentukan kebutuhan interface sistem dan merancang interface. Berikut ini merupakan gambaran aktivitas-aktivitas yang dilakukan pada saat melakukan analisis application domain.
Gambar 2.17 Aktivitas Analisis Application Domain Sumber: Mathiassen et al (2000, p117)
•
Usage Menurut Mathiassen, et al (2000, p119-120) kegiatan usage adalah kegiatan pertama dalam analisis application-domain yang bertujuan untuk menentukan bagaimana aktor-aktor yang merupakan pengguna atau sistem yang berinteraksi dengan sistem yang dituju. Interaksi antara aktor dengan sistem tersebut dinyatakan dalam use case diagram.
Use case dapat dimulai oleh aktor atau oleh sistem target. Hasil dari analisis kegiatan usage ini adalah deskripsi lengkap dari semua use case dan aktor yang ada yang digambarkan dalam tabel aktor atau use case diagram. Cara untuk mengidentifikasi aktor adalah mengetahui alasan aktor menggunakan sistem. Masing-masing aktor memiliki alasan yang berbeda untuk menggunakan sistem. Cara lainnya yaitu dengan melihat peran dari aktor
82
seperti yang dinyatakan oleh use case dimana aktor tersebut terlibat. Masingmasing aktor memiliki peran yang berbeda-beda.
Use case dapat digambarkan dengan menggunakan spesifikasi use case, dimana use case dijelaskan secara singkat namun jelas dan dapat disertai dengan keterangan objek sistem yang terlibat dan function dari use case tersebut atau dengan diagram statechart karena use case adalah sebuah fenomena yang dinamik
•
Function Menurut Mahiassen, et al (2000, p137-138). Function memfokuskan pada bagaimana cara sebuah sistem dapat membantu aktor dalam melaksanakan pekerjaan mereka. Function memiliki empat tipe yang berbeda, yaitu:
•
Update Fungsi update diaktifkan oleh event problem domain dan menghasilkan perubahan status model.
•
Signal Fungsi signal diaktifkan oleh perubahan status model dan menghasilkan reaksi di dalam context.
•
Read Fungsi read diaktifkan oleh kebutuhan actor akan informasi dan menghasilkan tampilan model sistem yang relevan.
•
Compute Fungsi compute diaktifkan oleh kebutuhan actor akan informasi dan berisi perhitungan yang dilakukan baik oleh actor maupun
83
oleh model. Hasilnya adalah tampilan dari hasil perhitungan yang dilakukan. Tujuan dari kegiatan function adalah untuk menentukan kemampuan sistem memproses informasi. Hasil dari kegiatan ini adalah sebuah daftar function-
function yang merinci function-function yang kompleks. Daftar function harus lengkap menyatakan secara keseluruhan kebutuhan kolektif dari pelanggan dan aktor sehingga harus konsisten dengan use case. Cara untuk mengidentifikasi function adalah dengan melihat deskripsi
problem domain yang dinyatakan dalam kelas dan event, dan melihat deskripsi application domain yang dinyatakan dalam use case. Kelas dapat menyebabkan munculnya kebutuhan terhadap function update, sementara
usecase dapat menyebabkan munculnya segala macam tipe function. •
User Interface Menurut Mahiassen, et al (2000, p151-152). Interface menghubungkan sistem dengan semua aktor yang berhubungan dalam konteks. Ada dua jenis
interface, yaitu: interface pengguna yang menghubungkan pengguna dengan sistem dan interface sistem yang menghubungkan sistem dengan sistem lainya. Sebuah user interface yang baik harus dapat beradaptasi dengan pekerjaan dan pemahaman user terhadap sistem. Kualitas interface pengguna ditentukan oleh kegunaan atau usability interface tersebut bagi pengguna.Usability bergantung pada siapa yang menggunakan dan situasi pada saat sistem
84
tersebut digunakan. Oleh sebab itu, usability bukan sebuah ukuran yang pasti dan objektif. Kegiatan analisis user interface ini berdasarkan pada hasil dari kegiatan analisis lainnya, seperti model problem domain, kebutuhan functional dan use
case. Hasil dari kegiatan ini adalah sebuah deskripsi elemen-elemen interface pengguna dan interface sistem yang lengkap, dimana kelengkapan menunjukan pemenuhan kebutuhan pengguna. Hasil ini harus dilengkapi dengan sebuah diagram navigasi yang menyediakan sebuah ringkasan dari elemen-elemen user interface dan perubahan antara elemen-elemen tersebut (p159). 3.Architectural Design
Architectural design berfungsi sebagai kerangka kerja dalam aktivitas pengembangan sistem dan menghasilkan struktur komponen dan proses sistem. Tujuannya adalah untuk menstrukturisasi sebuah sistem yang terkomputerisasi. Tahap architectural design terdiri dari tiga aktivitas yaitu criteria, component
architecture, dan process architecture seperti yang digambarkan pada Gambar 2.18
Gambar 2.18 Aktivitas Architectural Design Sumber: Mathiassen et al (2000, p176)
85
Criterion merupakan properti yang diinginkan dari sebuah arsitektur. Tabel 2.3 menunjukkan criterion yang telah ditentukan oleh para peneliti untuk menentukan kualitas dari sebuah software. Tabel 2.2 Criteria untuk Menentukan Kualitas Software Sumber: Mathiassen (2000, p178)
Ukuran
Criterion Kemampuan
sistem
beradaptasi
dengan
context
Usable organisasional dan teknikal
Secure
Pencegahan akses ilegal terhadap data dan fasilitas
Efficient
Eksploitasi ekonomis dari fasilitas technical platform
Correct
Kesesuaian dengan kebutuhan
Reliable
Fungsi yang dijalankan secara tepat Biaya untuk mencari dan memperbaiki kerusakan
Maintainable sistem Biaya untuk menjamin bahwa sistem melakukan
Testable fungsinya
Flexible
Biaya memodifikasi sistem
Comprehensible Usaha yang diperlukan untuk memahami sistem Penggunaan bagian dari sistem ke dalam sistem lain
Reusable yang berkaitan
Portable
Biaya memindahkan sistem ke technical platform lain
Interoperable
Biaya pemasangan sistem dengan sistem lain
86
Mathiassen et al. (2000, pp179-182) menyebutkan bahwa kriteria usable, flexible, dan comprehensible tergolong sebagai kriteria umum yang harus dimiliki oleh sebuah sistem dan menentukan baik tidaknya suatu rancangan sistem.
Component architecture adalah struktur sistem dari komponen-komponen yang berkaitan. Dalam aktivitas ini, perlu ditentukan pola arsitektural yang paling sesuai dengan model sistem. Pola-pola arsitektural tersebut antara lain:
•
Layered Architecture Pattern
•
Generic Architecture Pattern
•
Client-Server Architecture Pattern
Hasil dari aktivitas ini adalah sebuah component diagram yang merupakan class
diagram yang dilengkapi dengan spesifikasi komponen yang kompleks. Process architecture adalah sebuah struktur eksekusi sistem yang terdiri dari proses-proses yang saling tergantung satu sama lain. Dalam aktivitas ini juga perlu menentukan pola distribusi yang sesuai dengan model sistem. Pola-pola distribusi yang ada antara lain:
•
Centralized Pattern
•
Distributed Pattern
•
Decentralized Pattern
Hasil dari aktivitas ini adalah sebuah deployment diagram yang menunjukkan
processor dengan komponen program dan active objects. 4.Component Design Menurut Mathiassen, et al. (2000, p231) Component design bertujuan untuk menentukan implementasi kebutuhan di dalam kerangka kerja arsitektural.
87
Kegiatan component design bermula dari spesifikasi arsitektural dan kebutuhan sistem. Hasilnya adalah deskripsi mengenai komponen-komponen yang saling berhubungan dengan sistem. Component design terdiri dari tiga aktivitas, yaitu: a. Model component Menurut Mathiassen, et al (2000, p235) Model component adalah bagian dari sistem yang mengimplementasikan model problem
domain. Konsep utama dalam desain komponen model adalah struktur. Dalam aktivitas ini dihasilkan sebuah class diagram yang telah direvisi. b. Function component Menurut Mathiassen, et al (2000, p251) komponen function adalah bagian dari sistem yang mengimplementasikan kebutuhan fungsional. Tujuan dari function komponen adalah memberikan akses bagi usr
interface dan komponen sistem lainnya ke model. c. Connecting component Merupakan desain hubungan antar komponen untuk memperoleh rancangan yang fleksibel dan mudah dimengerti. Hasilnya adalah class
diagram yang berhubungan dengan komponen-komponen sistem. Gambar 2.19 berikut ini menggambarkan aktivitas-aktivitas yang terdapat dalam component design.
88
Gambar 2.19 Aktivitas Component Design Sumber: Mathiassen (2000, p232)
Unified Modeling Language (UML) Sejarah UML
Pada akhir tahun 80-an dan awal tahun 90-an, sudah banyak terdapat metode pemodelan berorientasi objek yang digunakan pada industri-industri, diantaranya Booch
Method, 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 berorientasi objek, karena dengan banyaknya metode pemodelan objek yang digunakan akan membatasi kemampuan untuk berbagi model antar proyek dan antar tim pengembang. Hal tersebut disebabkan oleh berbedanya konsep masingmasing metode pemodelan objek sehingga menghambat komunikasi antara anggota tim dengan user yang berujung pada banyaknya kesalahan atau error pada proyek. Dikarenakan
masalah-masalah
penggunaan bahasa pemodelan.
tersebut,
maka
diperlukanlah
suatu
standarisasi
89
Pada tahun 1994, Grady Booch dan James Rumbaugh bekerja sama dan menyatukan metode pengembangan berorientasi objek mereka dengan tujuan untuk menciptakan sebuah sistem pengembangan berorientasi objek yang standar. Pada tahun 1995 Ivar Jacobson ikut bergabung dengan mereka dan ketiganya memusatkan perhatian untuk menciptakan sebuah bahasa pemodelan objek yang standar, bukan lagi berkonsentrasi pada metode atau pendekatan berorientasi objek. Berdasarkan pemikiran ketiga tokoh tersebut, maka akhirnya pada tahun 1997 bahasa pemodelan objek standar
Unified Modeling Language (UML) versi 1.0 mulai diperkenalkan kepada masyarakat luas. UML bukan merupakan metode untuk mengembangkan sistem, melainkan hanya berupa notasi yang kemudian pada saat ini diterima dengan luas sebagai bahasa pemodelan objek yang standar. 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. Notasi UML
Notasi (Mathiassen et al, 2000, p237) adalah bahasa textual dan graphical untuk menggambarkan sebuah sistem dan konteksnya yang diformalisasikan secara terpisah. Tujuannya adalah untuk menyederhanakan komunikasi dan dokumentasi. Class Diagram
Class Diagram menggambarkan struktur objek dari sistem. Class diagram menunjukkan class objek yang membentuk sistem dan hubungan struktural diantara class objek tersebut (Mathiassen et al., 2000, p336). Terdapat tiga jenis hubungan antar class
90
yang biasa digunakan dalam class diagram (Whitten et al., 2004, p455-459). Ketiga jenis hubungan tersebut antara lain: 1. Asosiasi Asosiasi merupakan hubungan statis antar dua objek atau class. Hubungan ini menggambarkan apa yang perlu diketahui oleh sebuah class mengenai class lainnya. Hubungan ini memungkinkan sebuah objek atau class mereferensikan objek atau class lain dan saling mengirimkan pesan.
Gambar 2.20 Contoh Hubungan Asosiasi 2. Generalisasi (atau Spesialisasi) Dalam hubungan generalisasi, terdapat dua jenis class, yaitu class supertype dan
class subtype. Class supertype atau class induk memiliki atribut dan behavior yang umum dari hirarki tersebut. Class subtype atau class anak memiliki atribut dan behavior yang unik dan juga memiliki atribut dan behavior milik class induknya. Class induk merupakan generalisasi dari class anaknya, sedangkan
class anak merupakan spesialisai dari class induknya.
Gambar 2.21 Contoh Hubungan Generalisasi
91
3. Agregasi Agregasi merupakan hubungan yang unik dimana sebuah objek merupakan bagian dari objek lain. Hubungan agregasi tidak simetris dimana jika objek B merupakan bagian dari objek A, namun objek A bukan merupakan bagian dari objek B. Pada hubungan ini, objek yang menjadi bagian dari objek tertentu tidak akan memiliki atribut atau behavior dari objek tersebut.
Gambar 2.22 Contoh Hubungan Agregasi Statechart Diagram
Statechart Diagram digunakan untuk memodelkan perilaku dinamis dari sebuah objek dalam sebuah class yang spesifik dan berisi state dan transition (Mathiassen et al., 2000, p341). Statechart diagram mengilustrasikan siklus objek hidup yaitu berbagai status yang dapat dimiliki objek dan event yang menyebabkan status objek berubah menjadi status lain (Whitten et al., 2004, p700).
Statechart diagram dibuat dengan langkah-langkah sebagai berikut (Whitten et al., 2004, p700): 1. Mengidentifikasi initial dan final state. 2. Mengidentifikasi status objek selama masa hidup objek tersebut. 3. Mengidentifikasi event pemicu perubahan status objek. 4. Mengidentifikasi jalur perubahan status.
92
Gambar 2.23 Contoh Statechart Diagram Sumber: Mathiassen et al. (2000, p425)
Use Case Diagram
Use case diagram mendeskripsikan secara grafis hubungan antara actors dan use case (Mathiassen et al., 2000, p343). Penjelasan use case biasa ditambahkan untuk menjelaskan langkah-langkah interaksi.
93
Gambar 2.24 Contoh Use Case Diagram Sequence Diagram
Bennet et al. (2006, p253) mengemukakan bahwa sequence diagram menunjukkan interaksi antar objek yang diatur berdasarkan urutan waktu. Sequence
diagram dapat digambarkan dalam berbagai level of detail yang berbeda untuk memenuhi tujuan yang berbeda-beda pula dalam daur hidup pengembangan sistem. Aplikasi
sequence diagram yang paling umum adalah untuk menggambarkan interaksi antar objek yang terjadi pada sebuah use case atau sebuah operation. Bennet et al. (2006, pp253-254) menyatakan bahwa setiap sequence diagram harus diberikan frame yang memiliki heading dengan menggunakan notasi sd yang merupakan kependekan dari sequence diagram.
94
Gambar 2.25 Contoh Sequence Diagram Navigation Diagram
Navigation Diagram merupakan statechart diagram khusus yang berfokus pada user interface (Mathiassen et al., 2000, p344). Diagram ini menunjukkan window-window dan transisi diantara window-window tersebut. Sebuah window dapat digambarkan sebagai sebuah state. State ini memiliki nama dan berisi gambar miniatur window. Transisi antar state dipicu oleh ditekannya sebuah tombol yang menghubungkan dua window.
95
Component Diagram
Component Diagram merupakan diagram implementasi yang digunakan untuk menggambarkan arsitektur fisik dari software sistem. Diagram ini dapat menunjukkan bagaimana coding pemrograman terbagi menjadi komponen-komponen dan juga menunjukkan ketergantungan antar komponen tersebut (Whitten et al., 2004, p442). Sebuah komponen digambarkan dalam UML sebagai sebuah kotak dengan dua kotak kecil di sebelah kirinya. Ketergantungan antar dua komponen menunjukkan bagaimana kedua komponen tersebut saling berkomunikasi.
Gambar 2.26 Contoh Component Diagram Sumber: Mathiassen et al. (2000, p201)
Deployment Diagram
Deployment Diagram, sama seperti component diagram, juga merupakan diagram implementasi yang menggambarkan arsitektur fisik sistem. Perbedaannya, deployment
diagram tidak hanya menggambarkan arsitektur fisik software saja, melainkan software
96
dan hardware. Diagram ini menggambarkan komponen software, processor, dan peralatan lain yang melengkapi arsitektur sistem (Whitten et al., 2004, p442). Menurut Mathiassen et al. (2000, p340), deployment diagram menunjukkan konfigurasi sistem dalam bentuk processor dan objek yang terhubung 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. Gambar 2.18 berikut ini menunjukkan sebuah contoh deployment diagram. :Client
User Interface
System Interface
more clients
Function
Model
:Server
System Interface
Gambar 2.27 Contoh Deployment Diagram Sumber: Mathiassen et al. (2000, p217)