BAB 2 LANDASAN TEORI
2.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. Menurut Kusuma (2001, p131), persediaan didefinisikan sebagai barang yang disimpan untuk digunakan atau dijual pada periode mendatang. Persediaan dapat berbentuk bahan baku yang disimpan untuk diproses, komponen yang diproses, barang dalam proses manufaktur, dan barang jadi yang disimpan untuk dijual. Menurut Elsayed (1994, p63), persediaan didefinisikan sebagai bahan baku, barang setengah jadi dan barang perakitan, dan finished goods atau barang jadi yang berada di dalam sistem produksi pada titik waktu yang tepat. Persediaan menjadi buffer antara tahapan-tahapan dalam sistem produksi, dan diantara sistem produksi dan pelanggan. Menurut Sipper et al (1997, p206), persediaan adalah suatu kuantitas dari komoditas yang dikontrol oleh perusahaan dan disimpan agar sewaktu-waktu dapat digunakan untuk dapat memenuhi permintaan di masa mendatang. Jadi persediaan adalah kuantitas dari barang (raw material, work in process, dan finished goods) yang memiliki nilai ekonomi dan dimiliki oleh perusahaan untuk dapat memenuhi permintaan di masa mendatang.
18 2.2
Tujuan Persediaan Menurut Frazelle (2002, p91), goal dari manajemen persediaan adalah
meningkatkan financial return pada persediaan, sementara customer service level juga ditingkatkan. Untuk dapat meningkatkan kedua hal tersebut, terdapat lima langkah untuk mengawalinya : 1.
Meningkatkan ketepatan dari peramalan.
2.
Mengurangi cycle times (waktu siklus).
3.
Menurunkan biaya pemesanan/setup.
4.
Meningkatkan inventory visibility.
5.
Menurunkan biaya penyimpanan persediaan.
Persediaan terjadi karena penyediaan dan permintaan sulit diselaraskan dengan tepat dan diperlukan waktu untuk melakukan kegiatan tersebut. Hal-hal berikut ini merupakan faktor-faktor yang mendukung fungsi persediaan (Tersine, 1994, p6), antara lain : 1.
Faktor waktu, yang berhubungan dengan lamanya proses produksi dan distribusi yang terjadi sebelum barang sampai ke konsumen.
2.
Faktor diskontinuitas, yang dimaksudkan agar menjaga barang tersedia terus menerus.
3.
Faktor ketidakpastian, yang merupakan hal-hal yang tidak diduga yang dapat terjadi seperti saat mesin mengalami breakdown, bencana, dan sebagaianya. Karena itu, persediaan dibutuhkan sebagai antisipasi kemungkinan terjadinya kejadian tersebut.
19 4.
Faktor ekonomi, yang memberikan keuntungan bagi perusahaan dalam mengurangi biaya yang terdiri dari pemesanan barang, pembelian dengan discount, pengiriman, man power, dan sebagainya.
2.3
Klasifikasi Persediaan Secara fisik, item persediaan dapat dikelompokkan dalam enam kategori, yaitu
sebagai berikut : (Djokopranoto, 2003, p8) 1.
Bahan baku (raw materials) Bahan mentah yang belum diolah, yang akan diolah menjadi barang jadi, sebagai hasil utama dari perusahaan yang bersangkutan.
2.
Barang setengah jadi (semi finished products) Hasil olahan bahan mentah sebelum menjadi barang jadi, yang sebagian akan diolah lebih lanjut menjadi barang jadi, dan sebagian kadangkadang dijual seperti apa adanya untuk menjadi bahan baku perusahaan lain.
3.
Barang jadi (finished products) Barang yang sudah selesai diproduksi atau diolah, yang merupakan hasil utama perusahaan yang bersangkutan dan siap untuk dipasarkan/dijual.
4.
Barang umum dan suku cadang (general materials and spare parts) Segala jenis barang atau suku cadang yang digunakan untuk operasi menjalankan perusahaan atau pabrik dan untuk memelihara peralatan yang digunakan. Sering kali barang persediaan jenis ini disebut juga barang pemeliharaan, perbaikan, dan operasi atau MRO materials (maintenance, repair, and operation)
20 5.
Barang untuk proyek (work in progress) Barang-barang yang ditumpuk menunggu pemasangan dalam suatu proyek baru.
6.
Barang dagangan (commodities) Barang yang dibeli, sudah merupakan barang jadi dan disimpan digudang menunggu penjualan kembali dengan keuntungan tertentu.
2.4
Biaya Persediaan Tujuan dari persediaan adalah untuk mendapatkan jumlah yang tepat untuk
barang pada tempat dan waktu yang tepat, serta mempunyai biaya yang rendah. Ada beberapa parameter ekonomi dasar untuk model persediaan yang relevan untuk sebagian besar sistem, yaitu : (Tersine, 1994, p13) 1.
Purchase Cost (Biaya Pembelian) Biaya pembelian dari suatu barang adalah biaya untuk membeli satu satuan barang jika diperoleh dari sumber eksternal atau memproduksi satu satuan barang jika barang tersebut diproduksi secara internal. Biaya per unit ini harus selalu dibebankan ketika barang tersebut ditempatkan sebagai persediaan. Untuk barang yang dibeli, pembelian ini termasuk biaya transportasi, sedangkan untuk barang yang diproduksi, biaya pembelian ini upah karyawan, biaya bahan baku dan overhead pabrik.
2.
Order / Setup Cost (Biaya Pemesanan) Biaya pemesanan ini berasal dari biaya yang timbul pada saat dilakukan pemesanan untuk pemenuhan kembali persediaan yang dimiliki. Pada saat pemesanan yang dilakukan, sejumlah biaya tertentu yang berkaitan
21 yaitu pemrosesan, persiapan, pendistribusian, penanganan, dan pembelian sejumlah barang yang dipesan. 3.
Holding Cost (Biaya Penyimpanan) Biaya penyimpanan adalah biaya yang diasosiasikan dengan investasi dalam persediaan dan untuk mempertahankan investasi fisik dalam gudang. Menurut Elsayed (1994, p64), komponen-komponen pembentuk biaya simpan adalah : a. Opportunity cost atau biaya kesempatan atas modal yang diinvestasikan dalam persediaan, storage and space costs atau biaya pergudangan yang meliputi biaya penyewaan gudang, biaya penanganan (biaya penyimpanan) dan biaya maintenance atau biaya pemeliharaan bahan baku di gudang, dan biaya administrasi gudang. b. Storage and space costs atau biaya pergudangan yang meliputi biaya penyewaan gudang, biaya penanganan (biaya penyimpanan) dan biaya maintenance atau biaya pemeliharaan bahan baku di gudang, dan biaya administrasi gudang. c. Taxes and insurances atau pajak dan asuransi, dan biaya penyusutan, serta pencegahannya, seperti contoh penyimpanan sayuran, produk-produk yang terbuat dari susu, dan beberapa produk keramik dan produk elektronika. d. Cost of obsolescene atau biaya keusangan yang termasuk didalamnya biaya yang harus dikeluarkan perusahaan bila ada pergantian
teknologi
komunikasi, dan lainnya.
seperti
penggantian
komputer,
alat
22 4.
Stockout Cost (Biaya kekurangan persediaan) Biaya ini juga dikenal sebagai shortage cost. Merupakan biaya yang dikenakan jika tidak terdapat persediaan yang cukup untuk memenuhi permintaan berlebih yang datang pada suatu saat tertentu. Ada dua jenis yakni backorder cost dan lost sales cost. Keduanya sulit diukur secara akurat. a. Backorder cost merupakan biaya yang dikenakan ketika terjadi pemesanan yang baru dapat dipenuhi pada saat mendatang. Biaya ini dapat menyebabkan tambahan biaya seperti dalam hal transportasi dan pemesanan. Biaya backorder lebih mudah diprediksi dibandingkan dengan lost sales cost atau biaya karena kehilangan penjualan. b. Lost sales cost atau biaya yang terjadi ketika kita tidak dapat memenuhi pesanan konsumen, sehingga mereka membatalkan pesanan tersebut. Biaya ini biasanya termasuk keuntungan yang akan diterima dan kemungkinan negatif dalam hal penjualan di masa yang akan datang.
2.5
Klasifikasi ABC Analisa ABC yang dikenal sebagai “Always Better Control” ini merupakan
pendekatan yang sangat berguna dalam manajemen material yang berbasiskan hukum Pareto, “Vital few and trivial many”, yang digunakan pada investasi terhadap suatu barang. (Gupta et al, 2007, p325). Jika mengikuti hukum Pareto, maka secara ideal klasifikasi ABC adalah sebagai berikut (Frazelle, 2002, p74) :
23
2.6
1.
Produk kelas A berjumlah 5 % dan menghasilkan 80% penjualan.
2.
Produk kelas B berjumlah 15% dan menghasilkan 15% penjualan.
3.
Produk kelas C berjumlah 80% dan menghasilkan 5% penjualan.
Pengujian Distribusi Normal Sebaran peluang kontinu yang paling penting dalam statistika adalah
sebaran/distribusi normal dengan kurvanya yang berbentuk genta. Untuk mengetahui apakah suatu populasi mengikuti sebaran normal atau tidak, dapat digunakan goodness of fit (uji kebaikan suai). Uji kebaikan suai merupakan uji yang digunakan untuk menentukan apakah populasi memiliki suatu distribusi teoritik tertentu. Uji ini didasarkan pada seberapa baik kesesuaian antara frekuensi yang teramati dalam data sampel dengan frekuensi harapan pada distribusi yang dihipotesakan. Langkah-langkah uji kebaikan suai distribusi normal 1.
Tentukan H0 dan H1 H0: populasi data mengikuti distribusi normal H1: populasi data tidak mengikuti distribusi normal
2.
Tentukan taraf nyata (α)
3.
Menentukan daerah kritis Tolak H0 jika χ 2 hitung > χ 2 tabel
4.
Perhitungan: a. Membuat selang kelas b. Masukkan data-data yang ada pada tabel perhitungan
24 5.
Kemudian hitung jumlah χ 2 Rumus:
χ =∑ 2
(oi − ei )2 ei
dimana: oi: Frekuensi observasi (pengamatan) ei: frekuensi harapan 6.
Membuat kesimpulan Terima atau tolak H0 dan simpulkan bahwa populasi mengikuti atau tidak mengikuti distribusi normal.
Catatan: a.
Nilai ei pada setiap kelas harus>=5, jika ada kelas yang memiliki ei<5 , maka kelas tersebut harus digabung dengan kelas lainnya sedemikian rupa sehingga ei μ 5.
χ 2 tabel dicari dengan menggunakan tabel distribusi Khi-kuadrat dengan v
b.
(derajat kebebasan) v=k-1-m dimana : k = jumlah kelas terakhir setelah tidak ada lagi sel yang berjumlah kurang dari 5. m = jumlah parameter yang digunakan (untuk binomial = 1 , untuk poisson = 1 , untuk normal = 2).
Goodness of Fit (Uji Kebaikan Suai) terdiri dari banyak metode, misalnya chisquare test, Kolgomorov-Smirnov Test dan Anderson-Darling Test . Namun White et al (1975, p338) mengutarakan bahwa uji yang disarankan untuk digunakan adalah
25
Kolmogorov-Smirnov Test karena secara statistik terbukti lebih baik dibandingkan dengan Chi-Square Test. Uji 1 sampel Kolmogorov-Smirnov digunakan untuk menentukan seberapa baik sebuah sampel random data menjajagi distribusi teoritis tertentu (normal, uniform, poisson, eksponensial). Uji ini didasarkan pada perbandingan fungsi distribusi kumulatif sampel dengan fungsi distribusi kumulatif hipotesis. 1
Hipotesis: H0: Sampel ditarik dari populasi dengan distribusi tertentu H1: Sampel ditarik bukan dari populasi dengan distribusi tertentu
2
Kaidah pengambilan keputusan:
Asymp. Sig < taraf signifikansi atau taraf nyata Æ Tolak H0 Asymp. Sig > taraf signifikansi atau taraf nyata Æ Terima H0 Pengujian Uji 1 sampel Kolmogorov-Smirnov dilakukan dengan menggunakan aplikasi SPSS dengan langkah-langkah berikut ini. 1. Mendefinisikan data pada kolom pertama. 2. Memasukkan data pada kolom pertama. 3. Pada menu utama, pilih : Analyze Æ Nonparametric Test Æ 1 Sample KS a. Pada Test Variable List masukkan variabel yang akan diuji b. Pada Test Distribution pilihlah normal. 4. Klik OK.
26
Gambar 2.1 Kotak Dialog One Sample Kolmogorov-Smirnov
Sumber: http://www.mathnstuff.com/math/spoken/here/2class/90/normal.htm
Gambar 2.2 Distribusi Normal 2.7
Peramalan Peramalan menurut Makridakis (1999,p14) adalah suatu kemampuan untuk
memperkirakan / menduga keadaan permintaan produk di masa datang yang tidak pasti. Dengan memperkirakan hal yang akan terjadi, tindakan yang tepat dapat diambil untuk dapat menanganinya.
27 Berdasarkan horizon waktu, peramalan dapat dikelompokkan menjadi 3 kategori, yaitu : 1. Peramalan Jangka Pendek Peramalan jangka pendek adalah peramalan yang jangka waktunya mencapai satu tahun tetapi umumnya antara 3 bulan sampai 6 bulan. Peramalan ini digunakan untuk merencanakan pembelian, penjadwalan kerja, jumlah tenaga kerja, penugasan dan tingkat produksi serta distribusi. 2. Peramalan Jangka Menengah Peramalan jangka menengah adalah peramalan yang jangka waktunya diantara enam bulan sampai dua tahun. Peramalan ini digunakan untuk merencanakan penjualan, perencanaan dan penganggaran produksi, penganggaran kas dan menganalisis berbagai rencana operasi. 3. Peramalan Jangka Panjang Peramalan jangka penjang adalah peramalan yang jangka waktunya lebih dari dua tahun atau lebih. Peramalan ini digunakan untuk merencanakan produk baru, pengeluaran modal, pemilihan lokasi fasilitas-fasilitas atau ekspansi dan penelitian serta pengembangan. 2.8
Pendekatan Peramalan Ada dua pendekatan umum dalam peramalan, yaitu (Baroto, 2002, p27): 1. Peramalan kualitatif (subjektif) Metode kualitatif biasanya digunakan bila tidak ada atau sedikit data masa lalu tersedia. Dalam metode ini, pendapat pakar dan prediksi mereka dijadikan dasar untuk menetapkan permintaan yang akan datang. Metode
28 kualitatif yang banyak dikenal adalah metode Delphi dan metode kelompok nominal (nominal group technique). 2. Peramalan kuantitatif Pada metode ini, suatu set data historis (masa lalu) digunakan untuk mengekstrapolasi (meramalkan) permintaan masa depan. Ada dua kelompok besar metode kuantitatif, yaitu metode time series yang menggunakan waktu sebagai dasar peramalan, dan metode nontime series (structural models). Metode kuantitatif nontime series adalah metodemetode ekonometrik, metode analisis input-output, metode regresi dengan variabel bebas bukan waktu. Beberapa metode time series diantaranya adalah sebagai berikut : 1.
Double Exponential Smoothing Metode peramalan ini mudah digunakan dan efisien. Metode ini menggunakan Faktor penghalusan yakni nilai alpha. Nilai alpha ini bersifat bebas atau subjektif dengan rentang dari 0 sampai 1. Dibawah ini adalah rumus – rumus yang digunakan dalam Metode
Double Exponential Smoothing: S’ T = α . X T + (1 − α )S (t −1) S” T = α .S 'T +(1 − α )S "(t −1)
a t = 2S 't − S "t bt =
α (S 'T − S "T ) 1−α
Ft
= at −1 + bt −1
29
Inisialisasi : X1 = S’1 = S”1 2.
Double Moving Average Metode ini termasuk dalam moving averages atau rata-rata bergerak. Metodi ini digunakan bila kita mengasumsikan bahwa permintaan pasar tetap stabil sepanjang waktu. Rumus yang dipakai yaitu : S’ T=
X t + X t −1 + X t − 2 + ... + X t − N +1 N
S” T =
S 't + S ' t −1 + S 't − 2 +... + S ' t − N +1 N
a t = S 't + (S 't − S "t ) = 2 S ' t − S "t bt =
2 (S 'T − S "T ) N −1
Ft + m = at + bt m 3.
Regresi Linier Pada metode ini, penjualan akan disebut variabel tidak bebas (dependent variable) dan variabel-variabel lain disebut variabel bebas (independent variable). Model peramalan kausal kuantitatif yang paling umum adalah analisis regresi linear. Rumus regresi linear sederhana, yaitu : y t = a + bt b=
n ∑ ty − ∑ t ∑ y n ∑ t 2 − (∑ t )2
30 −
−
a = y− b t dimana
y = nilai peramalan a = konstanta y b = nilai kemiringan n = jumlah data t =indeks penunjuk Pada metode time series, salah satu langkah dalam memilih metodenya adalah dengan mempertimbangkan jenis pola data yang terbagi menjadi : 1. Pola Stasioner atau Horizontal (H) Terjadi jika nilai data berfluktuasi di sekitar nilai mean atau 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.
Waktu
Sumber: Yamit (1999, p20)
Gambar 2.3 Pola Data Horisontal 2. Pola Musiman (S) Terjadi bilamana suatu deret dipengaruhi oleh faktor musiman (misalnya kuartal tahun tertentu, bulanan, atau hari-hari pada minggu tertentu).
31 Penjualan dari produk minuman ringan, es krim, dan bahan bakar pemanas ruangan, menunjukkan jenis pola ini.
Waktu Sumber: Yamit (1999, p20)
Gambar 2.4 Pola Data Musiman 3. Pola Siklis (C) Terjadi bilamana datanya dipengaruhi oleh fluktuasi ekonomi jangka panjang seperti yang berhubungan dengan siklus bisnis. Penjualan produk seperti mobil, baja dan peralatan utama lainnya menunjukkan jenis pola data ini.
Waktu Sumber: Yamit (1999, p21)
Gambar 2.5 Pola Data Siklis 4. Pola Trend (T) Terjadi bilamana terdapat kenaikan atau penurunan sekuler jangka panjang dalam data. Penjualan banyak perusahaan, produk bruto nasional
32 (GNP) dan berbagai indikator bisnis atau ekonomi lainnya mengikuti pola trend selama perubahannya sepanjang waktu.
Waktu Sumber: Yamit (1999, p21)
Gambar 2.6 Pola Data Trend
2.9
Pemilihan Metode Peramalan
Jika Xt merupakan data aktual untuk periode t dan Ft merupakan ramalan (atau nilai kecocokan / fitted value) untuk periode yang sama, maka kesalahan didefinisikan sebagai :
et = X t − Ft Pertimbangan diterimanya sebuah metode peramalan adalah melalui kriteriakriteria berikut ini : 1. Mean Absolute Error (MAE)
MAE =
1 n ∑ et n t =1
2. Mean Square of Error (MSE)
MSE =
1 n 2 ∑ et n t=1
33
3. Mean Absolute Procentage of Error (MAPE) MAPE =
1 n ∑ PEt n t =1
Dimana :
⎛ X −F ⎞ PE = ⎜⎜ t t ⎟⎟ *100% ⎝ Xt ⎠ 4. Isyarat Tracking Signal Isyarat arah merupakan pengukuran tentang sejauh mana ramalan memprediksi nilai aktual dengan baik. Jika ramalan diperbaharui setiap minggu, bulan, atau kuartal, maka data permintaan yang baru tersedia akan dibandingkan dengan nilai ramalannya. Isyarat arah ini dihitung sebagai jumlah kesalahan ramalan yang berjanalan (running sum of the forecast error atau RSFE) dibagi dengan Mean Absolute Deviation (MAD). Rumus: Isyarat tanda (tracking signal) =
=
RSFE MAD
∑ (Per min taan Aktual dalam Periode − Per min taan Ramalan Periode i ) MAD
dimana, MAD =
∑ (Kesalahan Peramalan) n
34 Jika hasil perhitungan menunjukkan isyarat arah positif maka berarti bahwa permintaan lebih besar dari ramalan. Jika isyarat arah negatif menunjukan bahwa permintaan lebih kecil dari ramalan. Isyarat arah yang baik, yaitu yang memiliki RSFE rendah dan memiliki bias positif sebanyak bias negatifnya. Dengan kata lain, bias yang kecil tidak masalah, tetapi bias positif dan negatif seharusnya saling menyeimbangkan sehingga tanda penelurusan berada disekeliling bias nol. 2.10
Persediaan Independen
Untuk persediaan independen terdapat tiga model persediaan, yaitu : 1. Fixed Order Quantity Model 2. Model Probabilitas dengan Leadtime yang konstan 3. Fixed Period (P) System 2.10.1
Fixed Order Quantity Model
Pada bagian ini terbagi menjadi tiga metode yang mengacu pada kapan pemesanan dilakukan dan berapa banyak yang akan dipesan. 1. Model Economic Order Quantity (EOQ) 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=
2 D( S + BK ∑( K i − SP) P( K i )) h
35 Dimana : Q = Kuantitas pemesanan D = Demand / permintaan selama satu tahun S = Biaya pemesanan setiap kali pesanan dibuat h = Biaya simpan per unit per tahun BKP = Biaya Kehabisan Persediaan = BK ∑(K i − SP )P(K i ) K = kebutuhan dalam masa tenggang SP = Saat Pesan Ulang K – SP = kehabisan persediaan selama masa tenggang pesan BK = Biaya kehabisan persediaan per unit ∑(K i − SP )P(K i ) = beberapa kemungkinan Ki dengan peluang P(Ki) Karena peluang kehabisan persediaan selama masa tenggang tidak dapat didefinisikan
sebelumnya,
maka
di
dalam
perhitungan
nilai
∑(K i − SP )P(K i ) dianggap nol. Hal tersebut didasarkan pada asumsi bahwa selama masa tenggang pesan tidak akan terjadi kehabisan persediaan, karena waktu pemesanan selalu memperhitungkan lead time, dan apabila terjadi kekurangan maka hal tersebut masih dapat diatasi dengan penggunaan safety stock atau persediaan cadangan. Jika model EOQ diterapkan, maka faktor penting adalah lead time. Setelah kuantitas pesanan diketahui, hal selanjutnya adalah menentukan ‘reorder point’. Reorder point (ROP) atau r menunjukkan suatu tingkat persediaan dimana pada saat itu harus dilakukan pesanan. Rumus reorder point adalah :
36 ROP = r = l × D
dimana : ROP = reorder point l = lead time (satuannya sama dengan penyebut satuan D) Jarak waktu antarpesanan dihitung dengan persamaan : T = W×
Q* D
dimana W = jumlah hari kerja dalam setahun 2. Model Production Order Quantity (POQ) Pada model EOQ kita mengasumsikan bahwa seluruh pemesanan persediaan diterima pada satu waktu. Meski demikian ada saat-saat tertentu dimana sebuah perusahaan dapat menerima persediaanya sepanjang periode. Keadaan seperti ini mengharuskan model lain yang disebut POQ (Production Order Quantity), yang mana dalam model ini produk diproduksi dan dijual pada saat yang bersamaan. Notasi yang digunakan sama dengan yang digunakan pada model EOQ tetapi ditambah dengan : p = Tingkat produksi tahunan t = Lama jalannya produksi, dalam satuan hari Perumusan dari model ini adalah : Q* =
2 xDxS d HQ(1 − ) p
dimana : D = Permintaan per periode S = Biaya pemesanan
37 H = Biaya penyimpanan d = Total pemakaian selama operasi p = Total produksi selama operasi 3. Quantity Discount Model Untuk meningkatkan penjualan, banyak perusahaan menawarkan potongan harga kepada para pelanggannya, semakin banyak jumlah yang dibeli akan mendapatkan potongan harga semakin besar. Dengan demikian perusahaan yang membutuhkan bahan baku akan mendapat penawaran dari banyak pemasok yang biasanya dalam paket paket tertentu dimana harga per unit produk yang ditawarkan bervariasi sesuai potongan harga yang diberikan. Dalam model ini dilakukan perhitungan secara keseluruhan dan kemudian dipilih biaya yang paling murah. Perumusan dari model ini adalah : Biaya Persediaan Total = Biaya Pemesanan + Biaya Penyimpanan + Biaya Produk Dimana : D Biaya pemesanan : ( ) xS Q Biaya penyimpanan :
QH 2
Biaya produk : P x D Dimana : Q = Jumlah unit yang dipesan D = Permintaan tahunan dalam satuan S = Biaya Pemesanan per pesanan
38 P = Harga per unit H = Biaya Penyimpanan per unit per tahun 2.10.2
Model Probabilitas dengan Leadtime yang konstan
Pada asumsi permintaan tidak konstan tetapi dapat dispesifikasi melaui distribusi probabilitas maka dapat digunakan model probabilitas. Permintaan yang tidak pasti memperbesar kemungkinan terjadinya kehabisan stok. Salah satu metode untuk mengurangi kemungkinan terjadinya kehabisan stok adalah dengan menahan unit tambahan di persediaan, hal ini meliputi penambahan jumlah unit stok pengaman sebagai penyangga titik pemesanan ulang. Penghitungan reorder point menurut Waters (1992, p156) adalah sebagai berikut : Reorder Point = ROP = lead time demand + Safety Stock = ( D * LT ) + (Z * σ *
LT )
Dimana : D = Permintaan per periode Z = Nilai yang didapatkan berdasarkan service level yang ditetapkan
σ = Standar Deviasi LT = lead time = waktu pengiriman 2.10.3
Fixed Period (P) System
Pada sistem periode tetap, persediaan dipesan di akhir periode tertentu. Setelah itu baru persediaan di tangan di hitung, yang dipesan hanya sebesar jumlah yang diperlukan untuk menaikkan persediaan sampai ke tingkat target tertentu.
39 Keuntungan sistem ini adalah tidak ada penghitungan fisik atas unit yang dimasukkan ke persediaan setelah ada unit yang diambil. Penghitungan hanya terjadi bila waktunya tiba. Prosedur ini secara administratif lebih memudahkan, terutama apabila pengendalian persediaan hanya salah satu tugas saja. Perumusan model ini adalah : Q = Target Stok – On hand inventory – Order awal tidak diterima + Back order 2.10.4
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.
40 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). 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.
41 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.
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
42 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 σ Nilai konversi faktor keamanan dapat dilihat pada tabel di bawah ini : Tabel 2.1 Konversi Faktor Keamanan Kemungkinan Persediaan Tersedia (%) 50 60 70 80 90 95 99 100
2.11
Kemungkinan Persediaan Habis (%) 50 40 30 20 10 5 1 0
Faktor Keamanan 0 0.25 0.52 0.84 1.28 1.65 2.33 3.61
Persediaan Dependen
Permintaan dependen berarti permintaan suatu produk berkaitan dengan permintaan untuk produk lainnya. Permintaan untuk produk bersifat dependen terjadi bila hubungan antarproduk dapat ditentukan. Misalnya, bagi produsen mobil permintaan ban mobil dan radiator tergantung produksi mobil itu sendiri. Oleh karenanya bila manajemen telah membuat peramalan tentang permintaan barang jad, maka jumlah yang diperlukan akan setiap komponen dapat dihitung, karena komponen semuanya bersifat dependen. Terdapat dua model persediaan untuk permintaan dependen yaitu :
43 1. Materials Requirement Planning (MRP) Model ini digunakan sebagai teknik perencanaan dan penjadwalan didalam perusahaan manufaktur 2. Distribution Requirement Planning (DRP) Model ini digunakan untuk perencanaan kebutuhan distribusi pada perusahaan distribusi. 2.12
Distribution Requirement Planning (DRP)
Pengendalian
persediaan
tradisional
umumnya
hanya
mengatur
dan
mengendalikan persediaan barang dalam satu gudang atau satu tempat penyimpanan saja, atau dalam satu entitas independed atau disebut juga titik pemesanan tunggal (single stocking point). Sistem pengendalian persediaan seperti ini kurang atau tidak memadai untuk sistem pergudangan ganda atau jaringan pergudangan (multiechelon distribution networks), sebab sistem tersebut tidak mengindahkan kemungkinan saling
mengisi antara gudang atau keperluan gudang lain dan seterusnya. Untuk itu diperlukan suatu sistem lain, yaitu Perencanaan Kebutuhan Distribusi atau Distribution Requirement Planning (DRP).
DRP adalah salah satu bentuk aplikasi lebih lanjut dari Materials Requirement Planning (MRP), yang dikembangkan oleh Martin (1980,1983). Alan J.Stenger
menggunakan istilah yang hampir sama yaitu, Distribution Requirement Planning (DRP) yang meskipun artinya tidak persis sama, namun membicarakan hal yang hampir sama. Multi level atau multiechelon distribution network dapat digambarkan sebagai berikut :
44
Gambar 2.9 Jaringan Pergudangan Ganda PDU atau pusat distribusi utama adalah tingkat atau level tertinggi dari ssitem distribusi yang langsung berhubungan dengan pemasok atau pabrik produk, sedangkan PDL adalah tingkat atau level terendah dari sistem distribusi yang langsung berhubngan dengan pelanggan atau pemakai barang. Contoh bagan pada gambar 2.1 adalah sistem distribusi dengan tiga tingkat. Apabila terdapat sistem distribusi dengan empat tingkat atau lima tingkat atau lebih, maka tentunya akan ada PDL3, PDL4, dan seterusnya. Kalau pabrik suatu prdouk memberikan nilai tambah bentuk (form value utility/form added value), maka sistem distribusi memberikan nilai tambah waktu (time value dan place value utility) atau time and place added value.
Kebanyakan produk yang dimaksud disini adalah produk jadi atau barang jadi yang disalurkan dari pabrik atau pemasok ke para pelanggan. Namun, dalam prakteknya
45 cukup banyak juga di mana pusat distribusi juga melakukan pekerjaan penyelesaiaan seperti pembetulan, perakitan, pembungkusan, dan pekerjaan sejenis itu. Dalam sistem distribusi bertingkat ganda, kebutuhan nyata pelanggan tidak langsung diketahui oleh pabrik atau pusat distribusi, tetapi disalurkan melalui berbagai tingkat sistem distribusi tersebut. Ini mencakup waktu dan pengolahan data sekunder. Kalau ini menyangkut waktu yang pendek, maka perencanaan dan perhitungan kebutuhan, pemesanan kembali, dan sebagainya menjadi sangat krusial. Oleh karena itu, diperlukan metode perhitungan yang memadai untuk pengendalian distribusi bertingkat ganda ini. Tujuan dari pengaturan sistem distribusi bertingkat ganda adalah untuk mengurangi biaya angkutan dan memenuhi kebutuhan pelanggan yang banyak dan berada di berbagai tempat. Tidak mungkin misalnya satu pusat distribusi saja melayani jutaan pelanggan yang berada diseluruh dunia. Biasanya dalam sistem distribusi semacam ini biaya angkutan merupakan biaya yang cukup besar. 2.12.1 Perbandingan Model MRP dengan DRP
Pada hakikatnya, DRP adalah salah satu contoh aplikasi pendekatan atau metode MRP dalam pengaturan distribusi, dalam hal ini adalah distribusi dengan sistem bertingkat seperti telah dijelaskan diatas. Pengaturan distribusi di sini meliputi pemesanan, pengiriman, pengisian kembali produk di masing-masing pusat distribusi, khususnya di pusat distribusi paling bawah, yaitu pusat distribusi lokal, yang langsung berhubngan dan melayani pelanggan. Untuk sistem distribusi tunggal, artinya tidak bertingkat, metode DRP bukanlah metode yang tepat. Untuk menjelaskan lebih lanjut dapat kita lihat persamaan-persamaan maupun perbedaan-perbedaan antara aplikasi MRP dan aplikasi DRP pada tabel dibawah ini :
46 Tabel 2.2 Persamaan MRP dan DRP MRP maupun DRP Persamaan : 1. Menggunakan cara perhitungan matematis yang sama 2. Mempunyai matriks komponen perhitungan yang sama 3. Membedakan independent demand dan dependent demand 4. Metode berlaku untuk dependent demand 5. Keduanya menggunakan cara pemesanan berdasarkan rentang waktu
Tabel 2.3 Perbedaan MRP dan DRP MRP Perbedaan
DRP
1. Untuk kegiatan manufakturing
1. Untuk kegiatan distribusi
2. Menghitung kebutuhan tiap
2. Menghitung kebutuhan barang
komponen barang 3. Cocok untuk pabrik jenis rakitan 4. Biasanya untuk bahan baku / penolong 5. MRP adalah proses dari atas,
untuk tiap pusat distribusi 3. Cocok untuk sistem distribusi bertingkat 4. Biasanya untuk barang jadi / Komoditas 5. DRP adalah proses dari
yaitu dari master production
bawah, yaitu kebutuhan PDL
schedule ke kebutuhan tiap
ke PDR dan PDU
komponen. 6. Semua kebutuhan komponen bersifat dependen
6. Kebutuhan PDL bersifat independen, sedangkan kebutuhan PDR dan PDU bersifat dependen
47 2.12.2 Input sistem DRP
Menurut Tersine (1994), masukan untuk kebutuhan distribusi antara lain: a. Catatan Persediaan Catatan persediaan merupakan catatan mengenai informasi tentang persediaan yang dimiliki, lead time, rencana kedatangan barang, ukuran pemesanan dan sebagainya. Catatan persediaan harus selalu diperbaharui sesuai dengan kondisi persediaan, seluruh transaksi yang terjadi harus dicatat karena dapat menyebabkan perubahan status persediaan. b. Struktur Jaringan Pemasaran Struktur jaringan pemasaran merupakan gambaran tentang kondisi jaringan usaha eceran. Dari struktur jaringan pemasaran ini dapat diketahui berapa banyak pengecer dan sub distributor yang dimiliki, tingkatan dan hubungan keterkaitan antara pengecer, sub distributor dan distributor. c. Rencana Induk Penjualan Rencana induk penjualan merupakan pernyataan tentang berapa banyak barang yang akan dijual dalam satu periode. Penentuan penjualan didasarkan pada hasil peramalan yang telah dilakukan. 2.12.3 Mekanisme Dasar dari Proses DRP
Tabel 2.4 Contoh Tabel DRP Center A Safety stock : Lot size : Lead time :
Gross requirements Scheduled receipts Projected on hand Net requirements Planned order receipts Planned order releases
Periode PD
1
2
3
4
5
6
7
8
48 Penjelasan mengenai tabel diatas adalah sebagai berikut : 1. Safety stock menyatakan cadangan persediaan yang harus ada sebagai antisipasi kebutuhan dimasa yang akan datang. 2. Lot size menyatakan penentuan ukuran lot saat memesan barang. 3. Lead time menyatakan waktu yang dibutuhkan untuk mengirim barang 4. Gross requirements menyatakan jumlah kebutuhan barang untuk dijual setiap periode. 5. Scheduled receipts menyatakan barang yang telah dipesan dan akan diterima pada periode tertentu. 6. Projected on hand
menyatakan jumlah barang yang ada dalam
persediaan sekarang. 7. Net requirements menyatakan jumlah bersih (netto) dari barang yang dibutuhkan untuk memenuhi kekurangan pada permintaan yang ada. 8. Planned
order
receipts
menyatakan
kuantitas
pemesanan
yang
dibutuhkan pada suatu periode.Planned order receipts muncul pada saat yang bersamaan dengan Net requirements, akan tetapi ukuran pemesanannya (lot sizing) bergantung kepada order policy dan mempertimbangkan safety stock. 9. Planned order release menyatakan kapan suatu pesanan harus dilakukan sehingga barang tersedia ketika terjadi permintaan. Waktu pemesanan bergantung pada lead time yang ada.
49 2.12.4 Prosedur sistem DRP
Secara garis besar proses perhitungan DRP menurut Vollman, 1988, adalah sebagai berikut: 1. Perhitungan Kebutuhan Bersih (Netting) Merupakan proses perhitungan kebutuhan bersih (net requirements) yang besarnya merupakan selisih antara kebutuhan kotor (gross requirements) dengan jadwal penerimaan barang (planned receipts) dan persediaan awal yang tersedia (beginning inventory). Data yang dibutuhkan dalam perhitungan kebutuhan bersih adalah:
Kebutuhan kotor untuk setiap periode
Persediaan yang dimiliki pada awal perencanaan
Rencana penerimaan untuk setiap periode perencanaan
Rumus yang berhubungan dengan proses netting ini dijelaskan sebagai berikut : POHT = (On-Hand)T-1 – (GRT-1) + (SR)T-1 (NR)T = (GR)T – (SR)T - POHT
Keterangan: POHT = Planned on-hand (persediaan ditangan) pada periode T GRT
= Gross requirement (kebutuhan kotor) pada periode T
SRT
= Schedule receipt (jadwal kedatangan) pada periode T
NRT
= Net requirement (kebutuhan bersih) pada periode T
Kebutuhan bersih (net requirements) akan ditujukan sebagai nilai positif yang sesuai dengan pertambahan negatif dari persediaan di tangan dalam periode yang sama. Apabila lot sizing dipakai, kebutuhan bersih adalah
50 prediksi kekurangan material, sehingga perlu dimasukkan dalam perhitungan rencana penerimaan pesanan (planned order receipts), dan tidak hanya menghitung kenaikan dalam nilai negatif yang ditunjukkan dalam baris persediaan di tangan. 2. Lotting Untuk menjamin bahwa semua kebutuhan-kebutuhan akan dipenuhi, pesanan akan dijadwalkan untuk penyelesaian pada awal periode dimana ada kebutuhan bersih yang positif. Ukuran dari pesanan dapat mungkin sama dengan kebutuhan bersih di periode bersangkutan, atau mungkin saja lebih besar yang meliputi kebutuhan bersih di periode mendatang untuk memanfaatkan skala ekonominya. Lotting adalah suatu proses untuk menetukan besarnya jumlah pesanan
optimal untuk setiap barang secara individual didasarkan pada hasil perhitungan kebutuhan bersih yang telah dilakukan. Ukuran lot menentukan besarnya jumlah barang yang diterima dalam tiap pemesanan. Penentuan ukuran lot sangat bergantung pada biaya-biaya persediaan, seperti biaya pesan, biaya simpan, biaya modal, dan harga barang itu sendiri. 3. Offseting Merupakan proses yang bertujuan untuk menentukan saat yang tepat untuk merencanakan pemesanan dalam rangka memenuhi kebutuhan bersih. Rencana pemesanan diperoleh dengan cara mengurangkan saat awal tersedianya kebutuhan bersih yang diinginkan dengan lead time yang dibutuhkan.
51 4. Explosion Proses explosion merupakan proses perhitungan kebutuhan kotor untuk tingkat mata rantai di bawahnya (sub distributor, distributor) yang didasarkan atas rencana pemesanan. Dalam proses ini struktur jaringan inilah proses Explosion akan berjalan dan dapat menentukan ke arah mata rantai mana
harus dilakukan explosion.
2.13 2.13.1
Sistem Informasi Pengertian Sistem
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. Menurut McLeod yang diterjemahkan oleh Teguh (2004, p9), sistem adalah sekelompok elemen – elemen yang terintegrasi dengan maksud yang sama untuk mencapai tujuan yang sama. 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. Sistem adalah suatu jaringan prosedur yang dibuat menurut pola yang terpadu untuk melaksanakan kegiatan utama perusahaan atau mencapai tujuan tertentu dari perusahaan.
52 Model dasar dari sistem ialah sebagai berikut: a. Input
Merupakan sekumpulan data yang akan digunakan dalam proses sistem informasi. b. Process
Merupakan kegiatan konversi, manipulasi, dan analisis dari data input menjadi sesuatu yang dapat bermanfaat bagi manusia. c. Output
Merupakan proses mendistribusikan informasi kepada orang atau kegiatan yang memerlukannya. d. Feedback
Merupakan output yang dikembalikan kepada orang-orang dalam organisasi untuk membantu mengevaluasi input. e. Subsistem Merupakan sebagian dari sistem yang mempunyai fungsi khusus. Masingmasing subsistem itu sendiri mempunyai komponen input, process, output, dan feedback.
Sistem terdiri dari elemen-elemen yang menunjang terbentuknya sistem itu sendiri yaitu input, proses transformasi, output. Dimana elemen umpan balik (feedback) terkadang digunakan untuk menampung informasi dari output system dan memberikan kepada sistem sebagai input baru.
53 2.13.2
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 (Timeliness) Informasi harus dapat tersedia untuk memcahkan masalah pada waktu yang tepat.
•
Kelengkapan (Currency) Perusahaan khususnya manajer harus dapat memperoleh informasi yang memberi gambaran lengkap dari suatu permasalahan atau penyelesaian.
•
Akurasi (Accuracy) Semua informasi harus akurat untuk menunjang terbentuknya sistem yang akurat pula. Akurasi diperlukan dalam aplikasi-aplikasi tertentu seperti aplikasi yang melibatkan keuangan, dan aplikasi lainnya yg memerlukan tingkat ketelitian yang tinggi.
•
Relevansi (Relevancy) Informasi disebut relevan jika informasi tersebut berkaitan langsung dengan masalah yang sedang dihadapi.
54 2.13.3
Pengertian Sistem Informasi
Menurut Turban et al. (2003, p15), sistem informasi adalah pengumpulan, pengolahan, analisa, dan penyebaran informasi untuk tujuan yang spesifik. Sistem informasi terdiri dari input (data dan instruksi) dan output (laporan dan kalkulasi). Menurut O’Brien (2003, p7), sebuah sistem informasi dapat berupa kombinasi teratur dari orang, hardware, software, jaringan komunikasi dan sumber data yang mengumpulkan, mengubah dan menyebarkan informasi di dalam suatu organisasi. Menurut Laudon (2003, p7), sistem informasi adalah sebuah kumpulan dari komponen-komponen yang saling berhubungan yang mengumpulkan (atau mengambil kembali), mengolah, menyimpan dan mendistribusikan informasi untuk mendukung pengambilan keputusan, koordinasi dan pengendalian di dalam sebuah organisasi. 2.14
Object Oriented Analysis and Design (OOAD)
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.
55 2.14.1
Objek dan Class
Menurut Mathiassen et al (2000,p4), objek merupakan sebuah entitas yang memiliki identitas, status, dan perilaku. 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 sama (Mathiassen et al., 2000,p4). 2.14.2
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 OOAD 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 OOAD 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.
56 2.14.3
Keuntungan dan Kelemahan Object Oriented Analysis and Design (OOAD)
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. 2.14.4
Aktivitas Utama Object Oriented Analysis and Design (OOAD)
Mathiassen et al. (2000, p14-15) menjelaskan empat buah aktivitas utama dalam analisa dan perancangan berorientasi objek yang digambarkan dalam Gambar 2.10 berikut ini.
57
Sumber: Mathiassen et al (2000, p15)
Gambar 2.10 Aktivitas Utama dalam OOAD Berikut ini merupakan penjelasan lebih rinci mengenai keempat aktivitas utama dalam melakukan analisa dan perancangan berorintasi objek menurut Mathiassen et al. (2000, pp14-15): 1.
Analisis Problem Domain Problem domain adalah 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.11,
yaitu: a. Memilih objek, class, dan event yang akan menjadi elemen model problem domain.
58 b. Membangun model dengan memusatkan perhatian pada relasi struktural antara class dan objek. c. Mendeskripsikan properti dinamis dan atribut untuk setiap class.
System Definition
Classes
Behaviour
Structure Model Sumber : Mathiassen et al (2000, p46)
Gambar 2.11 Aktivitas Analisis Problem Domain 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. 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. 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.
59 •
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, memonitor 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. c. Menentukan kebutuhan interface sistem dan merancang interface. Berikut ini merupakan gambaran aktivitas-aktivitas yang dilakukan pada saat melakukan analisis application domain.
60
Sumber: Mathiassen et al (2000, p117)
Gambar 2.12 Aktivitas Analisis Application Domain •
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 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
Gambar 2.13 Sub Aktivitas Usage
61 •
Function
Menurut Mathiassen, et al (2000, p137-138). Function memfokuskan pada bagaimana cara sebuah sistem dapat membantu aktor dalam melaksanakan pekerjaan mereka.
Gambar 2.14 Sub Aktivitas Function Function memiliki empat tipe yang berbeda, yaitu:
1. Update Æ fungsi update diaktifkan oleh event problem domain dan menghasilkan perubahan status model. 2. Signal Æ fungsi signal diaktifkan oleh perubahan status model dan menghasilkan reaksi di dalam context. 3. Read Æ fungsi read diaktifkan oleh kebutuhan actor akan informasi dan menghasilkan tampilan model sistem yang relevan. 4. Compute Æf ungsi compute diaktifkan oleh kebutuhan actor akan informasi dan berisi perhitungan yang dilakukan baik oleh actor maupun oleh model. Hasilnya adalah tampilan dari hasil perhitungan yang dilakukan. Tujuan dari kegiatan function adalah untuk menentukan kemampuan sistem memproses informasi.
62 •
User Interface
Menurut
Mathiassen,
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 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 elemenelemen user interface dan perubahan antara elemen-elemen tersebut (p159).
63 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.15
Sumber: Mathiassen et al (2000, p176)
Gambar 2.15 Aktivitas Architectural Design Criterion merupakan properti yang diinginkan dari sebuah arsitektur. Tabel
2.5 menunjukkan criterion yang telah ditentukan oleh para peneliti untuk menentukan kualitas dari sebuah software.
64 Tabel 2.5 Criteria untuk Menentukan Kualitas Software Sumber: Mathiassen (2000, p178)
Secure
Ukuran Kemampuan sistem beradaptasi dengan context organisasional dan teknikal 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 sistem Biaya untuk menjamin bahwa sistem melakukan fungsinya Biaya memodifikasi sistem
Criterion Usable
Maintainable Testable Flexible
Comprehensible Usaha yang diperlukan untuk memahami sistem Penggunaan bagian dari sistem ke dalam sistem lain Reusable yang berkaitan Biaya memindahkan sistem ke technical platform lain Portable Interoperable
Biaya pemasangan sistem dengan sistem lain
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.
65 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. 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.
66 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.16 berikut ini menggambarkan aktivitas-aktivitas yang terdapat dalam component design.
Sumber: Mathiassen (2000, p232)
Gambar 2.16 Aktivitas Component Design
67 2.15
Unified Modeling Language (UML)
2.15.1
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 tersebut, maka diperlukanlah suatu standarisasi penggunaan bahasa pemodelan. 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.
68 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. 2.15.2
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. 2.15.2.1 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 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.17 Contoh Hubungan Asosiasi
69 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.18 Contoh Hubungan Generalisasi 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.
70
Gambar 2.19 Contoh Hubungan Agregasi
2.15.2.2 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.
71 Participant registered (registration date)
Active
Participant cancelled (cancellation date)
Participant registered (registration date) Cancelled
Sumber: Mathiassen et al. (2000, p358)
Gambar 2.20 Contoh Statechart Diagram 2.15.2.3 Use Case Diagram
Use Case Diagram menggambarkan interaksi antara sistem dan user (Whitten
et al., 2004, p441). 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.
Library System
Apply for membership Visitor
Search library inventory
Check out books Patron
Sumber: Whitten et al. (2004, p282)
Gambar 2.21 Contoh Use Case Diagram
72 2.15.2.4 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. Bennet et al. (2006, p270) juga menyatakan bahwa terdapat beberapa notasi penulisan heading pada setiap frame yang terdapat dalam sequence diagram, antara lain: a. alt
Notasi alt merupakan kependekan dari alternatives yang menyatakan bahwa terdapat beberapa buah alternatif jalur eksekusi untuk dijalankan. b. opt
Notasi opt merupakan kependekan dari optional dimana frame yang memiliki heading ini memiliki status pilihan yang akan dijalankan jika syarat tertentu dipenuhi. c. loop
Notasi loop menyatakan bahwa operation yang terdapat dalam frame tersebut dijalankan secara berulang selama kondisi tertentu.
73 d. break
Notasi break mengindikasikan bahwa semua operation yang berada setelah frame tersebut tidak dijalankan. e. par
Merupakan kependekan dari parallel yang mengindikasikan bahwa operation dalam frame tersebut dijalankan secara bersamaan. f. seq
Notasi seq merupakan kependekan dari weak sequencing yang berarti operation yang berasal dari lifeline yang berbeda dapat terjadi pada urutan
manapun. g. strict
Notasi strict merupakan kependekan dari strict sequencing yang menyatakan bahwa operation harus dilakukan secara berurutan. h. neg
Notasi neg merupakan kependekan dari negative yang mendeskripsikan operasi yang tidak valid. i. critical Frame yang memiliki heading critical menyatakan bahwa operasi-operasi
yang terdapat di dalamnya tidak memiliki sela yang kosong. j. ignore
Notasi ini mengindikasikan bahwa tipe pesan atau parameter yang dikirimkan dapat diabaikan dalam interaksi.
74 k. consider Consider menyatakan pesan mana yang harus dipertimbangkan dalam
interaksi. l. assert
Merupakan kependekan dari assertion yang menyatakan urutan pesan yang valid. m. ref
Notasi ref merupakan kependekan dari refer yang menyatakan bahwa frame mereferensikan operation yang terdapat di dalamnya pada sebuah sequence diagram tertentu.
Sumber: Bennet et al. (2006, p254)
Gambar 2.22 Contoh Sequence Diagram
75 2.15.2.5 Navigation Diagram
Navigation Diagram merupakan statechart diagram khusus yang berfokus
pada user interface (Mathiassen et al., 2000, p344). Diagram ini menunjukkan windowwindow 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. 2.15.2.6 Component Diagram
Component Diagram merupakan yang 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.
Sumber: Mathiassen et al. (2000, p201)
Gambar 2.23 Contoh Component Diagram
76 2.15.2.7 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 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.24 berikut ini menunjukkan sebuah contoh deployment diagram.
Sumber: Mathiassen et al. (2000, p217)
Gambar 2.24 Contoh Deployment Diagram