BAB 3 LANDASAN TEORI
3.1
Peramalan
3.1.1
Pengertian Peramalan Peramalan (forecasting) merupakan kemampuan dan keterampilan untuk memperkirakan kejadian-kejadian di masa akan datang (Heizer, 1991, p138). Menurut pengertiannya itu, peramalan menjadi suatu alat penting dalam membuat estimasi berapa besarnya permintaan (demand) di masa akan datang. Secara lebih rinci Spyros Makridakis mendefinisikan peramalan (forecasting) sebagai suatu kemampuan untuk memperkirakan atau menduga keadaan permintaan produk di masa depan yang tidak pasti. Sehingga peramalan menjadi dasar bagi perencanaan produksi yang meliputi beberapa pertimbangan seperti sumber daya dan kapasistas persediaan (Makridakis, 1999,p14). Pentingnya peramalan adalah untuk menetapkan kapan suatu perisitiwa akan terjadi, sehingga tindakan yang tepat dapat dilakukan. Namun perlu diingat bahwa peramalan tidak mungkin benar terjadi 100%. Tidak satu metodepun dapat meramalkan secara persis apa yang akan terjadi di masa mendatang. Dengan demikian dalam konteks tugas akhir ini peramalan dapat dikatakan sebagai suatu dugaan terhadap permintaan yang tidak pasti di masa yang akan datang sehingga perusahaan dapat mengantisipasi permintaan itu dengan membuat suatu perencanaan operasi sampai melakukan perencanaan dan pengendalian persediaan.
17
Berdasarkan sifat penyusunannya, maka peramalan dapat dibedakan menjadi: 1. Peramalan yang subjektif, yaitu peramalan yang didasarkan atas perasaan atau intuisi dari orang yang menyusunnya. 2. Peramalan yang objektif, adalah peramalan yang didasarkan atas data yang relevan pada masa lalu, dengan menggunakan metode-metode dalam penganalisaan data itu. Pada dasarnya ada beberapa langkah peramalan yang penting yaitu: 1. Menganalisa data yang lalu, tahap ini berguna untuk pola yang terjadi pada masa lalu. Analisa ini dilakukan dengan cara membuat tabulasi dari data yang lalu. 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.
18
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. 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.
19
3.1.2
Tujuan Peramalan Tujuan dari peramalan 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 produk pemasaran serta, serta target usaha.
3.
perencanaan skala produksi, pemasaran, anggaran, biaya produksi dan arus kas ( cash flow )
3.1.3
Rentang Waktu Peramalan / Time Horizon Peramalan
dapat
dibagi
menurut
rentangnya
menjadi
tiga
jenis
(Heizer,1991,p138-139), yaitu: 1. Rentang waktu peramalan pendek / short-range forecast Peramalan dengan rentang waktu peramalan yang pendek dapat digunakan untuk meramalkan keadaan sampai 1 tahun, namun biasanya digunakan untuk meramalkan masa depan sampai waktu kurang dari 3 bulan. Peramalan
dengan
rentang
waktu
ini
cocok
digunakan
untuk
merencanakan pembelian (purchase planning), merencanakan pekerjaan (job scheduling), merencanakan tingkat tenaga kerja (workforce level), dan merencanakan tingkat produksi (production levels). 2. Rentang waktu peramalan medium / medium-range forecast / intermediate range-forecast Peramalan dengan rentang waktu peramalan yang medium dapat digunakan untuk meramalkan keadaan dari 3 bulan sampai 3 tahun sehingga cocok untuk digunakan untuk merencanakan penjualan (sales planning), merencanakan produksi beserta anggarannya (production planning and budgeting), merencanakan anggaran tunai (cash budgeting),
20
dan menganalisis rencana-rencana operasi (analyzing various operating plans). 3. Rentang waktu peramalan panjang / long-range forecast Peramalan dengan rentang waktu panjang dapat digunakan untuk meramalkan keadaan waktu dari 3 tahun ke atas dan digunakan dalam merencanakan peluncuran produk baru, penggunaan investasi, pembukaan cabang perusahaan dan research and development. Ada tiga perbedaan mendasar antara peramalan rentang waktu pendek dengan peramalan rentang waktu medium atau panjang, yaitu: a. Peramalan
rentang
waktu
medium
dan
panjang
lebih
banyak
menggunakan informasi comprehensive dan membantu manejemen untuk menentukan kebijakan yang memerlukan penimbangan bertahun-tahun. b. Peramalan rentang waktu pendek memiliki lebih banyak metode penggunaan daripada peramalan rentang panjang. c. Peramalan rentang waktu pendek seringkali lebih akurat daripada peramalan rentang waktu medium atau panjang. 3.1.4
Jenis – jenis pola data Pemilihan model peramalan yang akan digunakan akan tergantung pada pola data dan horison waktu dari peramalan. 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 tingkat 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
21
berkelanjutan yang secara teoritis tidak mengalami perubahan juga termasuk jenis ini.
Waktu
Gambar 3.1 Gambar Pola Data Horisontal 2. Pola Musiman ( S ) Terjadi bila suatu deret dipengaruhi oleh faktor musiman ( misalnya kuartal tahun tertentu, bulanan, atau hari – hari pada minggu tertentu ). Penjualan dari produk seperti minuman ringan, es krim, dan bahan bakar pemanas ruangan, semuanya menunjukkan jenis pola data ini.
Waktu
Gambar 3.2 Gambar Pola Data Musiman 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.
22
Waktu
Gambar 3.3 Gambar Pola Data Siklis 4. Pola Trend ( T ) Terjadi bila terdapat kenaikan atau penurunan sekuler jangka panjang dalam data. Penjualan banyak perusahaan, produk bruto nasional ( GNP ) dan berbagai indikaor bisnis atau ekonomi lainnya mengikuti suatu pola trend selama perubahannya sepanjang waktu.
Waktu
Gambar 3.4 Gambar Pola Data Trend 3.1.5
Tipe-tipe Peramalan Terdapat 3 tipe peramalan (Heizer,1991,p140), yaitu: 1. Tipe Peramalan Ekonomis Peramalan ekonomis meramalkan keadaan masa depan dari sebuah bisnis atau keadaan politik sehingga sering digunakan oleh pemerintah dan
23
membantu perusahaan untuk mempersiapkan peramalan dengan rentang waktu medium dan panjang. 2. Tipe Peramalan Teknologis Peramalan teknologis berhubungan dengan tingkat kemajuan teknologi sehingga penting bagi industri-industri teknologi seperti badan tenaga nuklir, badan antariksa, atau perusahaan minyak. 3. Tipe Peramalan Permintaan Peramalan permintaan merupakan proyeksi data penjualan suatu perusahaan sehingga mempengaruhi perencanaan, antara lain perencanaan tenaga kerja, penjualan, atau keuangan perusahaan tersebut. 3.1.6
Metode-Metode Peramalan Metode peramalan secara umum dibagi dua, yaitu metode kualitatif dan metode kuantitatif.
3.1.6.1 Metode Kualitatif Metode ini biasanya digunakan untuk meramalkan lingkungan dan teknologi, karena kondisi tersebut berbeda dengan kondisi perekonomian dan pemasaran. Teknik-teknik kualitatif adalah subjektif atau “judgmental” atau berdasarkan pada estimasi-estimasi dan pendapat-pendapat. Berbagai sumber pendapat bagi peramalan kondisi bisnis adalah : •
Para eksekutif
•
Orang-orang penjualan
•
Para pelanggan Sedangkan berbagai teknik peramalan kualitatif yang dapat digunakan,
secara ringkas diuraikan sebagai berikut: 1. Metode Delphi
24
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. 2. Riset pasar Adalah alat 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. 3. Analogi historik Peramalan dilakukan dengan menggunakan pengalaman-pengalaman historik dari suatu produk yang sejenis. Peramalan produk baru dapat dikaitkan dengan tahap-tahap dalam siklus kehidupan produk yang sejenis. 4. Konsensus panel Gagasan yang didiskusikan oleh kelompok akan menghasilkan ramalanramalan yang lebih baik daripada dilakukan oleh seseorang. Diskusi dilakukan dalam pertemuan pertukaran gagasan secara terbuka. 5. Grass Roots Peramalan ini dimulai dari bagian bawah organisasi dengan menyusun masukan – masukan dari tingkatan paling bawah berlanjut terus sampai ke tingkatan atas. Contohnya, Untuk meramalkan penjualan dapat dilakukan pengumpulan data dengan mengkombinasikan setiap input atau masukan
25
dari setiap bagian penjualan dari setiap area, lalu berlanjut terus sampai ke tingkat atas. 3.1.6.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 metode time series dan metode kausal. 3.1.6.2.1
Metode Time Series Jenis peramalan ini merupakan estimasi masa depan yang dilakukan
berdasarkan nilai masa lalu dari suatu variabel dan atau kesalahan masa lalu. Menurut Richard B Chase ( 2004, p468 ), model peramalan yang masuk kedalam metode peramalan time series antara lainnya adalah metode simple moving average, weighted moving average, exponential smoothing, metode regression analysis, Box-Jenkins techniques, metode Shiskin time series, dan metode trend projection. 3.1.6.2.1.1 Simple Moving Average Salah satu cara untuk mengubah pengaruh data masa lalu terhadap nilai tengah sebagai ramalan adalah dengan menentukan sejak awal berapa jumlah nilai observasi masa lalu yang akan dimasukkan untuk menghitung nilai tengah. Untuk menggambarkan prosedur ini digunakan salah satu istilah rata-rata bergerak (moving average) karena setiap muncul nilai observasi baru, nilai rata-rata dapat dihitung dengan membuang nilai observasi yang paling tua dan memasukkan nilai observasi yang baru karena setiap muncul nilai observasi yang paling tua dan memasukkan nilai observasi terbaru. Ratarata bergerak ini kemudian akan menjadi ramalan untuk periode mendatang.
26
Perhatikan bahwa jumlah titik data dalam setiap rata-rata tetap konstan dan observasi yang dimasukkan adalah yang paling akhir (Makridakis, 1999, p67). Diberikan N titik data dan diputuskan untuk menggunakan T observasi pada setiap rata-rata ( yang disebut rata-rata bergerak berorde T atau MA(T) bila disingkat MAT sehingga keadaannya adalah sebagai berikut : Waktu
Rata-rata bergerak
T
X + X 2 + ...... + X T X = 1 T
FT +1 = X = ∑ X i / T
X =
X 2 + ...... + X T +1 T
FT + 2 = X = ∑ X i / T
X =
X 2 + ...... + X T + 2 T
FT +1 = X = ∑ X i / T
T+1
T+3
Ramalan T
i =1
T +1 i=2
T +2 i=2
Dibandingkan dengan nilai tengah sederhana (dari semua masa lalu) rata-rata bergerak (single moving average) berorde T mempunyai karakteristik sebagai berikut : •
Hanya mengangkut T periode terakhir dari data yang diketahui
•
Jumlah data dalam setiap rata-rata tidak berubah dengan bejalannya waktu.
Tetapi metode ini juga mempunyai kelemahan sebagai berikut : •
Metode ini memerlukan penyimpanan yang lebih banyak karena semua T observasi harus disimpan, tidak hanya nilai tengahnya.
Metode ini tidak dapat menanggulangi dengan baik adanya trend atau musiman, walaupun metode ini lebih baik dibanding rata-rata total.
27
3.1.6.2.1.2 Weighted Moving Average
Metode ini mirip dengan model Simple Moving Average. Hanya saja pada model ini memperbolehkan menggunakan bobot untuk data historis yang ada. Bobot tersebut dapat ditentukan oleh pengguna tetapi dengan batas antara 0 sampai 1, dan semua bobot itu jika ditambahkan harus sama dengan 1. Rumus : Ft = w1.At-1 + w2 At-2 +…+ wn At-n Dimana : W1 = bobot untuk periode t-1 W2 = bobot untuk periode t-2 n
A = Data Aktual = Total periode peramalan
Wn = bobot untuk periode t-n Dengan syarat n
∑w i =1
i
=1
Untuk menentukan bobot, cara yang paling mudah adalah dengan menggunakan trial and error. Sebagai aturan dasar, data historis yang terbaru (terakhir) merupakan indikator yang paling penting untuk melakukan permalan. Karena itu data historis yang terakhir diberikan bobot yang lebih besar dari data historis yang sebelumnya.Jika data historis yang ada bersifat musiman maka bobot harus diberikan lebih besar kepada data yang mengalami musiman. 3.1.6.2.1.3 Exponential Smoothing
Menurut Makridakis (1999,p101), Metode Exponential smoothing terdiri dari: a. Simple exponential smoothing Metode pemulusan eksponensial tunggal (single exponential smoothing) menambahkan parameter α dalam modelnya untuk mengurangi faktor
28
kerandoman (Herjanto, 1999, p122). Sehingga pada simple exponential smoothing hanya memerlukan 3 buah data untuk melakukan peramalan. Data aktual, data peramalan, dan smoothing constant alpha ( α ). Konstanta pemulusan ini untuk menentukan tingkat pemulusan dan kecepatan reaksi terhadap perbedaan antara data peramalan dengan data aktual. Nilai perkiraan dapat dicari dengan: Ft = Ft-1 +α(At-1 – Ft-1) dimana : Ft = nilai ramalan untuk periode waktu ke-t Ft-1 = nilai ramalan untuk satu periode waktu yang lalu, t-1 At-1 = nilai aktual untuk satu periode waktu yang lalu, t-1 a = konstanta pemulusan (smoothing constant) b. Double Exponential Smoothing satu parameter dari Brown Dasar pemikiran dari pemulusan eksponensial dari Brown adalah serupa dengan rata – rata bergerak (moving average), karena kedua nilai pemulusan tunggal dan ganda ketinggalan dari data yang sebenarnya bilamana terdapat unsur trend, perbedaan antara nilai pemulusan tunggal dan ganda dapat ditambahkan kepada nilai pemulusan tunggal dan disesuaikan untuk trend. Rumus :
S 't = α * X t + (1 − α ) * S ' t −1 S "t = α * S t + (1 − α ) * S " t −1 a t = 2 * S ' t − S "t bt =
α * ( S ' t − S "t ) 1− α
Ft + m = at + bt * m
29
Inisialisasi : X1 = S '1 = S "1 Dimana : S't = data pemulusan pertama dari data permintaan t S"t = data pemulusan kedua dari data permintaan periode t α = konstanta pemulusan yang bernilai antara 0 sampai 1 Xt = data aktual permintaan pada periode t m = periode peramalan yang diinginkan Ft = data peramalan pada periode t Konstanta pemulusan (α) merupakan nilai desimal antara 0 sampai 1. Konstanta ini mempengaruhi stabilitas dan pengaruh dari peramalan. Pengujian akan menunjukkan bahwa jka α sama dengan 0 maka peramalan lama tidak akan disesuaikan dengan berbagai cara tanpa memperhatikan permintaan aktual yang terjadi. Ini akan menghasilkan permintaan yang stabil tetapi tidak akan tanggap terhadap perubahan. Jika α sama dengan 1 maka peramalan terakhir akan sama dengan nilai permintaan aktual terakhir, sangat tanggap tetapi tidak stabil bila terjadi fluktuasi acak. c. Double Exponential Smoothing dua parameter dari Holt Menurut Makridakis (1999,p115), metode pemulusan dari Holt dalam prinsipnya serupa dengan metode pemulusan Brown, kecuali bahwa Holt tidak menggunakan rumus pemulusan berganda secara langsung. Sebagai gantinya, Holt memuluskan nilai trend dengan parameter yang berbeda dari parameter yang digunakan pada deret asli. Ramalan dari pemulusan eksponensial linear Holt didapat dengan menggunakan dua konstanta pemulusan ( dengan nilai antara 0 dan 1 ) dan tiga persamaan : S t = α * X t + (1 − α ) * ( S t −1 + bt −1 )
30
bt = γ * ( S t − S t −1 ) + (1 − γ )bt −1 Ft + m = S t + bt * m Inisialisasi :
X1 = S1 b1 = X2 - X1
dimana: St = data pemulusan pada periode t bt = data pemulusan trend pada periode t α = konstanta pemulusan yang bernilai antara 0 sampai 1 β = konstanta pemulusan trend yang bernilai antara 0 sampai 1 Xt = data aktual permintaan pada periode t m = periode peramalan yang diinginkan Ft + m = peramalan pada periode t + m b1 = taksiran kemiringan “bola-mata” (eyeball) setelah data tersebut diplot d. Triple Exponential Smoothing : Metode Kuadratik dari Brown Sebagaimana halnya dengan pemulusan eksponensial linear yang dapat digunakan untuk meramalkan data dengan suatu pola trend dasar, bentuk pemulusan yang lebih tinggi dapat digunakan bila dasar pola datanya adalah kuadratik, kubik, atau orde yang lebih tinggi. Untuk mendapatkan pemulusan kuadratik yang lebih akurat maka dilakukan cara memasukkan tingkat pemulusan tambahan berupa pemulusan triple atau pemulusan dilakukan tiga kali dan memberlakukan persamaan peramalan kuadratik. Persamaan untuk pemulusan triple atau tiga kali ini adalah :
31
S t' = αX t + (1 − α ) S t −1 S t'' = αS t' + (1 − α ) S t''−1 S t''' = αS t''' + (1 − α ) S t''−' 1 at = 3S t' − 3S t'' + S t''' bt =
α [(6 − 5α ) S t' − (10 − 8α ) S t'' + (4 − 3α ) S t''' ] 2 2(1 − α )
ct =
α2 ( S t' − 2 S t'' + S t''' ) 2 (1 − α )
1 Ft + m = at + bt m + ct m 2 2 ' Dimana : S t
= Pemulusan pertama ke-t
S t''
= Pemulusan kedua ke-t
S t'''
= Pemulusan ketiga ke-t
bt
= Nilai trend ke-t
α
= Faktor pemulusan
Ft + m
= Nilai peramalan ke-t
Proses inisialisasi untuk proses pemulusan eksponensial kuadratik dari Brown yaitu : S1' = S1'' = S1''' = X 1 e. Triple Exponential Smoothing : Metode Kecenderungan dan Musiman Tiga Parameter dari Winter Jika data stasioner, maka periode rata-rata bergerak atau pemulusan eksponensial tunggal adalah tepat. Jika datanya menunjukkan suatu trend linear, maka baik model linear dari Brown atau Holt adalah tepat. Tetapi jika datanya musiman, metode ini sendiri tidak dapat mengatasi masalah tersebut dengan baik. Walaupun demikian metode Winter dapat
32
mengangani faktor musiman secara langsung (Makridakis,1999,p96). Metode Winter didasarkan atas tiga persamaan pemulusan, yaitu satu untuk unsur stasioner, satu untuk trend, dan satu untuk musiman. Adapun persamaan Winter adalah sebagai berikut : •
Inisialisasi awal : X L +1 = S L +1 L
It =
XL
∑X
1
,X = L X ( X − X L ) 1 ( X − X 1 ) ( X L+2 − X 2 ) b = L +1 + + .... + L + L L L L L
•
Pemulusan keseluruhan : St = α
•
t =1
Xt + (1 − α )(S t −1 + bt −1 ) I t−L
Pemulusan trend : bt = γ (S t − S t −1 ) + (1 − γ )bt −1
•
Pemulusan musiman : It = β
•
Xt + (1 − β )I t − L St
Peramalan : Ft + m = (S t + bt m )I t − L + m Keterangan : L
=
panjang musiman
B
=
komponen trend
I
=
faktor penyesuaian musiman
Ft + m
=
peramalan untuk m periode kedepan
33
3.1.6.2.1.4 Regression Analysis
Menurut Richard B Chase ( 2004, p 482 ), Regresi dapat diartikan sebagai hubungan fungsional antara 2 atau lebih variabel yang berkorelasi. Digunakan untuk memprediksi suatu variabel terhadap variabel lainnya. Hubungan yang terjadi biasanya berdasarkan data observasi. Rumus : Y = a + bX Dimana : Y = Variabel Dependen a = intersep B = slope X = variabel independen 3.1.6.2.1.5 Box-Jenkins Techniques
Merupakan
bentuk
peramalan
yang
sangat
kompleks,
tetapi
memberikan hasil peramalan yang paling akurat. Data yang digunakan untuk peramalan ini sebanyak 50 data atau lebih, pola datanya harus bersifat seimbang, atau ditransformasi menjadi seimbang. 3.1.6.2.1.6 Shiskin Time Series
Shiskin time series atau X-11, dikembangkan oleh Julius Shiskin dari biro sensus. Merupakan suatu metode yang efektif untuk mendekomposisi deret waktu ke dalam musiman, trend, dan irregular. Peramalan ini memerlukan data lampau selama 3 tahun. Penggunaan peramalan ini sangat baik untuk mengetahui titik balik, misalnya dalam penjualan.
34
3.1.6.2.2
Metode Kausal
Peramalan ini memberikan suatu sumsi 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 variabel. Menurut Richard B Chase ( 2004, p468 ), metode peramalan kausal dibagi menjadi : 1. Regression Analysis 2. Econometric Models 3. Input / Output Model 4. Leading Indicator 3.1.7
Statistik Ketepatan Peramalan
Karena permintaan dipengaruhi oleh banyak faktor dimana nilai di masa mendatang tidak dapat diketahui secara pasti sehingga tidak masuk akal jika ingin mendapatkan peramalan yang tepat setiap waktu. Perhitungan ratarata kesalahan yang dibuat oleh model peramalan setiap waktu menyediakan ukuran seberapa tepat peramalan. Menurut Richard B Chase (2004, p479), kesalahan dapat diklasifikasikan sebagai bias atau acak. Kesalahan acak terjadi karena kesalahan konsisten dilakukan oleh peramal. Sumber kesalahan acak berasal dari banyak hal, termasuk diantaranya: menggunakan hubungan yang salah antar variabel, gagal menyertakan variabel yang diperlukan, menggunakan kurva kecenderungan yang salah dan sebagainya. Beberapa pengukuran kesalahan yang sering dipakai adalah MAD, MSE, dan MAPE. Mean Absolute Deviation (MAD) digunakan karena sangat berguna untuk menentukan tracking signal , MAD merupakan nilai rata-rata error didalam peramalan, dengan menggunakan nilai absolut. MAD sangat berguna karena
35
MAD seperti standar deviasi, pengukuran penyimpangan nilai hasil dari nilai yang diharapkan. Menurut Chase (2004, p479), MAD dapat dihitung dengan menggunakan rumus : n
∑ A −F t
t =1
MAD =
n
Dimana
t
= periode peramalan
A
= permintaan aktual pada periode tertentu
F
= permintaan hasil peramalan untuk periode tertentu
N
= jumlah periode
||
= Simbol untuk nilai absolute
Mean Squared Error ( MSE ) merupakan salah satu pengukuran kesalahan yang dihitung dengan menjumlahkan kesalahan kuadrat dan membaginya dengan jumlah observasi. Menurut Makridakis (1999, p59) dirumuskan sebagai berikut : n
MSE =
∑(X t =1
Dimana
t
− Ft ) 2
n Xt
= data aktual pada periode t
Ft
= data peramalan pada periode t
n
= jumlah data
Mean Absolute Percentage Error ( MAPE ) adalah ukuran kesalahan yang menghitung ukuran persentase penyimpangan antara data aktual dengan data peramalan. Menurut Makridakis (1999, p61) dirumuskan sebagai berikut :
36
100 n X t − Ft MAPE = *∑ n t =1 X t Dimana
3.1.8
Xt
= data aktual pada periode t
Ft
= data peramalan pada periode t
n
= jumlah data
Pengontrolan Peramalan
Bentuk yang paling sederhana untuk mengontrol peramalan adalah statistical control chart. Bagan yang dapat digunakan untuk jumlah data yang tidak terlalu banyak adalah moving range chart (Kusuma,2001,p43). Moving range chart didisain untuk membandingkan nilai sebenarnya dengan nilai yang diramalkan untuk permintaan yang sama. Sekali kita membuat peramlan dan moving range chart, kita gunakan mereka sebagai pemeriksaan kontinu untuk melihat apakah sistem stabil dan apakah data-data peramalan berbeda dalam batas-batas kontrol. Untuk itu pertama-tama dicari nilai MR, yang dinyatakan sebagai berikut : MR
= | (Xt’ – Xt) – ( Xt-1’ – Xt-1) |
Dimana : Xt’
= data peramalan
Xt
= data aktual
Xt-1’
= data peramalan periode yang lalu
Xt-1
= data aktual periode yang lalu
Batas-batas Kontrol dalam Moving Range Chart adalah: Batas Kontrol Atas / UCL
= +2,66 MRaverage
Batas Kontrol Bawah / LCL = - 2,66 MRaverage MRaverage adalah rata-rata dari MR, dimana
MRaverage = ∑
MR N −1
37
Variabel yang harus diplotkan pada moving range chart adalah: X
= Xt’ – Xt
Harus ada paling sedikit 10 nilai MR dalam membuat batas kontrol. Jika semua da di dalam kontrol, dapatlah dikatakan kita mempunyai peramalan yang aman untuk diterapkan. Jika ada yang di luar kontrol, kita harus menyelidiki sebabnya dan mereka harus diuji. Kita dapat menggunakan control chart untuk mengetahui dimana perubahan terjadi dan dapat membuat persamaan peramalan data dari sistem. Kriteria di luar kontrol untuk data-data yang diramalkan adalah: 1. Bila ada tiga data berturut-turut, dua atau lebih berada di daerah A. 2. Bila ada lima data berturut-turut, empat atau lebih berada di daerah B. 3. Bila ada delapan data berturut-turut berada pada salah satu sisi garis tengah. Daerah A
= ±1,77 MRaverage
Daerah B
= ±0,89 MRaverage
Bila ditemukan kondisi di luar kontrol, maka tindakan yang berhubungan dengan peramalan harus diambil, sebab berarti peramalan kita kurang tepat. Hal ini mengidikasikan bahwa diperlukan peramalan yang baru. Tindakan yang harus diambil adalah dengan mengeluarkan data yang berada di luar kontrol (berarti data tersebut tidak berasal dari kelompok data dalam situasi yang berjalan normal, untuk itu dicari sebab-sebabnya mengapa data tersebut bisa berada di luar kontrol) dan menambah data baru yang ada untuk membuat kelompok data yang baru, setelah itu dibuat peramalan dengan kelompok data yang baru. Bila data-data telah berada di dalam kontrol, maka
38
dapat dihasilkan suatu peramalan yang baik dan dapat dipercaya untuk memberikan data di periode mendatang. 3.2
Persediaan
Menurut Herjanto (1999,p219) persediaan adalah bahan atau barang yang disimpan yang akan digunakan untuk memenuhi tujuan tertentu, misalnya untuk proses produksi perakitan, untuk dijual kembali, untuk suku cadang dari suatu peralatan atau mesin. Menurut Handoko (2000,p333) persediaan adalah suatu istilah umum yang menunjukkan segala sesuatu atau sumber daya-sumber daya organisasi yang disimpan dalam antisipasinya terhadap pemenuhan permintaaan. Pengedalian persediaan merupakan fungsi manajerial yang sangat penting karena banyak perusahaan melibatkan investasi terbesar pada persediaan. Sistem persediaan adalah serangkaian kebijaksanaan dan pengendalian yang memonitor tingkat persediaan dan menentukan tingkat persediaan yang harus dijaga, kapan persediaan harus diisi, dan berapa besar pesanaan yang harus dilakukan. Sistem ini bertujuan menetapkan dan menjamin tersediaannya sumber daya yang tepat, dalam kuantitas yang tepat pada waktu yang tepat. Jenis persediaan menurut Handoko (2000,p334) berdasarkan jenisnya persediaan dapat dibedakan atas : 1)
Persediaan bahan mentah (raw materials) yaitu persediaan barangbarang berwujud seperti baja, kayu, dan komponen-komponen lainnya yang digunakan dalam proses produksi. Bahan mentah diperoleh dari sumber-sumber alam atau dibeli dari para supplier dan atau dibuat sendiri oleh perusahaan untuk digunakan dalam proses produksi selanjutnya.
2)
Persediaan
komponen-komponen
rakitan
(purchased
parts/components) yaitu persediaan barang-barang yang terdiri dari
39
komponen-komponen yang diperoleh dari perusahaan lain, dimana secara langsung dapat dirakit menjadi suatu produk. 3)
Persediaan bahan pembantu atau penolong (supplies) yaitu persedian barang yang diperlukan dalam proses produksi, tetapi tidak merupakan bagian atau komponen barang jadi.
4)
Persediaan barang dalam proses (work in process) yaitu persediaan barang-barang yang memerlukan keluaran dari tiap-tiap bagian dalam proses produksi atau yang telah diolah menjadi suatu bentuk, tetapi masih diproses lebih lanjut menjadi barang jadi.
5)
Persediaan barang jadi (finished goods) yaitu persediaan barang yang telah selesai diproses atau diolah dalam pabrik dan siap untuk dijual atau dikirim kepada langgan.
3.2.1
Fungsi Persediaan
Persediaan merupakan hal yang sangat penting dalam menunjang pelaksanaan operasi maupun pemasaran karena fungsi – fungsi dari persediaan antara lain adalah: 1. Working stock (Lot Size Stock) merupakan persediaan yang dibutuhkan dan diadakan dalam mendukung kebutuhan terhadap barang sehingga pemesana dapat dilakukan dalam bentuk lot size dibandingkan dengan ukuran dasar yang dibutuhkan. Lot Size mempunyai manfaat untuk mengurangi atau meminimaliasikan biaya pemesanan dan simpan, mendapatkan diskon pemesanan kuantitas, dan biaya pengiriman. 2. Stok pengaman (Fluctuation Stock) merupakan persediaan yang diadakan
dalam
mengantisipasi
ketidakpastian
penyediaan
dan
permintaan. Stok pengaman pada umumnya dipakai selama waktu kedatangan barang yang telah dipesan sehingga tidak terjadi kekurangan atau kekurangan barang.
40
3. Anticipation stock (Stabilization stock) merupakan persediaan yang diadakan sehubungan dengan permintaan yang bersifat musiman, tidak menentu (program promosi, musim liburan) atau kurangnya kapasitas produksi. 4. Pipeline stock (work in proses) merupakan persediaan yang ada dalam perjalanan yang membutuhkan waktu dari penerimaan barang pada saat masuk, pengiriman bahan dalam proses produksi, pengiriman barang sampai ke outputnya. Secara ekternal, pipeline stock dapat digambarkan persediaan dalam perjalanan di truk, kapal. Sedangkan secara internal, merupakan proses, menunggu diproses dan dipindahkan. 5. Decoupling
stock,
merupakan
persediaan
yang
memungkinkan
perusahaan dapat memenuhi permintaan pelanggan tanpa tergantung pada supplier. Physic stock, merupakan persediaan barang yang diadakan dalam bentuk pajangan untuk mendorong pembelian dan stock ini bersifat sebagai seorang sales yang berdiam diri. Merurut Bowersox (1996,p247), persediaan memiliki fungsi, yaitu : 1.
untuk menunjang pemenuhan permintaan yang direncanakan atau yang diharapkan.
2.
untuk menunjang kelancaran proses produksi dan pemasaran.
3.
untuk mengurangi resiko kekurangan bahan atau barang bila pesanan terlambat datang atau permintaan meningkat.
4. 3.2.2
untuk mengurangi jumlah permintaan atau biaya pemesanan.
Biaya-Biaya Persediaan
Unsur-unsur biaya yang terdapat dalam persediaan dapat digolongkan menjadi empat golongan, yaitu: a.
Biaya pemesanan (ordering cost)
41
Biaya pemesanan adalah biaya-biaya yang dikeluarkan berkenaan dengan pemesanan barang-barang atau bahan-bahan dari pemasok, sejak pemesanan sampai barang / bahan tersebut dikirimkan dan diserahkan serta diperiksa di gudang atau di daerah pengolahan. b.
Biaya yang terjadi dari adanya persediaan (inventory carrying cost) Biaya yang terjadi dari adanya persediaan merupakan biaya-biaya yang diperlukan berkenaan dengan pengadaan persediaan, yang meliputi seluruh pengeluaran sebagai akibat adanya sejumlah persediaan.
c.
Biaya kekurangan persediaan (out of stock cost) Biaya kekurangan persediaan adalah biaya-biaya yang timbul sebagai akibat terjadinya persediaan yang tidak mencukupi kebutuhan produksi, misalnya biaya-biaya tambahan yang diperlukan karena konsumen memesan barang, sedangkan barang atau bahan yang dibutuhkan tidak tersedia.
d.
Biaya-biaya yang berhubungan dengan kapasitas (capacity associated costs) Biaya-biaya ini meliputi biaya kerja lembur, biaya pelatihan, biaya pemberhentian kerja dan biaya pengangguran (idle time).
3.2.3
Permintaan Independent dan Permintaan Dependent
Menurut Richard B Chase, (2004, p546), Dalam persediaan manajemen sangat penting untuk memahami perbedaan antara permintaan dependen dan permintaan independen. Alasannya adalah keseluruhan sistem persediaan berdasarkan pada permintaan yang terdiri dari item akhir atau berhubungan dengan item tersebut. Secara singkat perbedaan antara permintaan dependen dan independen adalah permintaan independen merupakan permintaan bermacam-macam item yang tidak saling berkaitan dengan lainnya, contoh : sebuah workstation
42
mampu memproduksi berbagai part yang tidak berhubungan tetapi berhubungan dengan permintaan eksternal. Pada permintaan dependen, kebutuhan atas sebuah part secara langsung merupakan kebutuhan bagi item atau part lainnya. Secara konsep permintaan dependen berhubungan langsung dengan yang sifatnya perhitungan. Kebutuhan kuantitas item permintaan dependen dapat dihitung dengan mudah, berdasarkan jumlah yang diperlukan tiap item yang mempunyai level yang lebih tinggi dalam penggunaannya. 3.2.4
Faktor-faktor yang Mempengaruhi Persediaan
Persediaan terjadi karena penyediaan dan permintaan sulit diselaraskan dengan tepat dan diperlukan waktu untuk melakukan kegiatan tersebut. Halhal berikut ini merupakan faktor-faktor yang mendukung fungsi persediaan (Tersine Richard J, 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, maksudnya untuk menjaga barang tersedia terus menerus sehingga diperlukan penyediaan sehingga tidak terjadi diskontinuitas. 3. Faktor ketidakpastian, maksudnya hal-hal yang tidak diduga yang terjadi di dalam saat mesin breakdown, bencana, dan sebagainya, sehingga dibutuhkan persediaan guna mengantisipasi kemungkinan kejadian tersebut. 4. Faktor ekonomi, yang memberikan keuntungan perusahaan dalam mengurangi biaya yang terdiri dari pemesanan barang, pembelian dengan discount, pengiriman, man power, dan sebagainya.
43
3.2.5
Kebijakan persediaan
Menurut Daniel Sipper (1997, p210), Persediaan terjadi karena adanya permintaan yang merupakan variabel yang tidak dapat dikendalikan. Ada 3 (dua) Keputusan persediaan yang harus dilakukan dalam fungsi persediaan yakni : 1. Berapa banyak bahan yang dipesan ketika waktunya bahan dibutuhkan pemesanan (Quantity decision). 2. Kapan pemesanan bahan tersebut dilakukan ? ( Timing decision ) 3. Bahan apa yang akan dipesan. 3.2.6
Aturan Peterson-Silver
Metode ukuran pemesanan dinamis digunakan untuk permintaan yang berubah-ubah. Peterson dan Silver (1979) mengemukakan sebuah alat ukur yang berguna untuk mengukur perubahan permintaan yang disebut koefisien perubahan (V). V =
VariansDariDemandTiapPeriode KuadratDariRata − RataPer min taanTiapPeriode
Peterson dan Silver menunjukkan bahwa V dapat dievaluasi dengan: n
V =
n∑ Dt
2
t =1
∑ Dt t =1 n
2
−1
….. (Sipper dan Bulfin, 1998,p256)
Dimana Dt adalah perbedaan peramalan permintaan tiap periode dan n adalah panjang horizontal. Peterson dan Silver menyarankan “lumpiness test” (uji perubahan) sebagai berikut:
44
Jika V<0,25 maka gunakan model EOQ dengan Daverage sebagai perkiraan permintaan Jika V>0,25 maka gunakan metode ukuran pemesanan dinamis 3.2.7
Penyelenggaraan Sistem Persediaan
Hasil dari peramalan dipakai sebagai dasar untuk menentukan jumlah atau kuantitas pesanan barang dagang atau bahan baku. Langkah ini merupakan bagian yang penting dan beresiko, untuk itu kebijakan yang diambil harus benar-benar mempunyai dasar yang kuat. 3.2.7.1 Menentukan Kuantitas Pesanan
Hasil dari pengujian perubahan (lumpiness test) ialah parameter yang dapat dipakai dalam penentuan ukuran besar pemesanan yakni statis atau dinamis. 3.2.7.1.1
Model Persediaan Statis / Model Jumlah Pemesanan Ekkonomis (EOQ)
Ukuran pemesanan dihitung dengan suatu rumus dimana biaya yang minimal dapat dicapai apabila kebutuhan dalam bentuk yang sama untuk setiap periode. Rumus teknik untuk teknik EOQ adalah sebagai berikut : EOQ =
2 PO H
dimana : EOQ = jumlah pemesanan yang ekonomis P = kebutuhan bahan baku dalam suatu periode O = biaya pesan bahan baku H = biaya simpan bahan baku dalam suatu periode
45
3.2.7.1.2
Model Persediaan Dinamis (Dinamic Lot Sizing)
Model Persediaan Dinamis terdiri dari berbagai metode, antara lain: -
Metode Lot For Lot
-
Metode Silver Meal
-
Metode Biaya Unit Terkecil
-
Metode Part Period Balancing
-
Algoritma Wagner-Within
3.2.7.1.2.1 Metode Lot For Lot
Menurut Sipper (1997,p249) metode ini merupakan kasus khusus pada aturan interval tetap. Aturan ini mengurangi persediaan yang berdampak pada biaya simpan, dan lebih banyak pemesanan dan tambahan biaya pesan. Aturan ini biasa digunakan untuk pembelian produk yang mahal. 3.2.7.1.2.2 Metode Silver Meal
Inti dari metode ini adalah pemesanan untuk periode yang akan datang (m) (Sipper,1997,p249). Metode ini bertujuan untuk mencapai biaya rata-rata tiap periode yang minimum untuk jangka waktu m. Biaya yang dianjurkan adalah biaya variabel seperti biaya pemesanan ditambah biaya penyimpanan. Permintaan yang akan datang untuk n periode berikutnya adalah: (D1 + D2 + D3 + … + Dn) Dimana K(m) adalah biaya variabel rata-rata tiap periode jika pemesanan mencakup m periode. Biaya penyimpanan diasumsikan terjadi pada akhir periode dan jumlah yang dibutuhkan untuk periode tersebut digunakan pada awal periode. Jika dilakukan pemesanan D1 untuk memenuhi permintaan pada periode I, didapatkan :
46
K(1)
=A
Jika dilakukan pemesanan D1 + D2 dalam periode 1 dan 2, didapatkan : K(2)
= ½ ( A + h.D2 )
Secara umum,
K(m) =
1
m (A + h.D2 + 2.h.D3 + (m-1).h.Dm)
Dimana, A
= biaya pemesanan
h
= biaya penyimpanan
Lakukan perhitungan K(m), m = 1,2, … , m dan berhenti pada K(m+1) > K(m) Pemesanan pada periode I sebesar permintaan untuk m periode berikut Qi
= D1 + D2 + D3 + … + Dm
Proses diulang pada periode (m+1) dan dilanjutkan melalui perencanaan mendatang.
47
3.2.7.1.2.3 Metode Least Unit Cost
Prosedur ini mirip dengan heuristic Silver-Meal. Perbedaannya adalah keputusan
didasarkan
pada
biaya
variabel
rata-rata
tiap
unit
(Sipper,1997,p251). K’(m) =
biaya variabel rata-rata tiap unit jika permintaan mencakup m periode
Secara umum, K ' ( m) =
( A + hD2 + 2hD3 + ... + (m − 1)hDm ) D1 + D2 + D3 + ... + Dm
Seperti Silver-Meal, aturan perhentian adalah K’(m+1) > K(m) dan
Qi
= D1 + D2 + D3 + … + Dm
Proses diulang dari periode m+1 dan seterusnya. 3.2.7.1.2.4 Metode Part Period Balancing
Metode ini mencoba untuk meminimasi jumlah biaya variabel untuk semua jumlah pesan. Biaya simpan didapatkan dari periode bagian (part period), yaitu satu unit produk untuk satu periode (Sipper,1997,p252). PPm
= periode bagian untuk m periode
PP1
=0
PP2
= D2
PP3
= D2 + 2.D3
48
= D2 + 2.D3 + … + (m-1).Dm
PPm
Untuk mencari m periode yang mencakup biaya pesan A, dicari
≅
PPm
A h
A h adalah faktor ekonomis periode bagian. Jumlah pemesanan adalah Qi = D1 + D2 + D3 + … + Dm Proses diulang mulai dari periode m+1. 3.2.7.1.2.5 Algoritma Wagner-Within
Algoritma ini mempunyai tujuan yang sama dengan beberapa pendekatan heuristik. Yaitu untuk meminimumkan biaya variabel, pemesanan dan penyimpanan sepanjang perencanaan yang akan datang. Perbedaannya adalah algoritma Wagner-Within menghasilkan solusi biaya minimym yang optimal. Prosedur optimasi tersebut didasarkan pada pemrograman dinamis. Algoritma ini mengevaluasi setiap kemungkinan pemesanan untuk menangani permintaan tiap periode (Sipper,1997,p254). Kuantitas pemesanan optimal itu adalah j
Qi = ∑ Dk k =i
dan
li Qi +1 = 0
dimana j ≥ i untuk semua i = 0,1,2,…,n-1
Qi adalah banyak unit yang dipesan dalam periode I untuk menangani permintaan dalam periode j, dengan pemesanan berikut pada periode j+1.
49
Wagner-Within menggantikan EOQ untuk kasus permintaan yang berubahubah. Namun algoritma ini tidak praktis dan sulit untuk dimengerti sehingga tidak banyak diterapkan. Kt,1 adalah biaya yang dipakai untuk menangani permintaan dalam periode t, t+1, … l. l K t ,1 = A + h ∑ ( j − t ) D j j =t +1
t = 1,2,…,n l = t+1,t+2,…,n
Kemudian hitung biaya minimum dari periode pertama sampai periode l dengan asumsi tidak ada persediaan di akhir periode l. Persamaan untuk minimasi ini dapat dicari secara rekursif. Dimana K*l = mint = 1,2,…,l {K*t-l+Kt,l},l = 1,2,…,N K*0 didefinisikan sebagai nol, dan solusi biaya terkecil diberikan oleh K*N. 3.2.7.2 Menentukan Waktu Pemesanan Kembali – Model Titik Pemesanan Kembali (Reorder Point)
Titik pemesanan kembali dalam hubungannya dengan jumlah, merupakan titik yang memberikan indikasi untuk melakukan pemesanan kembali pada waktu jumlah persediaan yang ada menurun sampai jumlah titik tertentu. Ada empat hal yang harus diperhatikan dalam menentukan jumlah pemesanan kembali ini: 1. Tingkat permintaan 2. Panjang lead time 3. Batas-batas variasi permintaan dan lead time 4. Derajat resiko kekurangan bahan yang dapat diterima oleh manajemen
50
3.2.7.2.1
Model ROP – Tingkat Permintaan dan Waktu Tenggang Konstan
Bila tingkat permintaan dan waktu tenggang konstan, tidak ada resiko kehabisan bahan baku yang disebabkan oleh tingkat permintaan yang tinggi atau waktu tenggang terlalu lama. ROP dengan kondisi seperti ini dapat dituliskan sebagai berikut: ROP 3.2.7.2.2
= Permintaan * Waktu Tenggang
Model ROP – Tingkat Permintaan Bervariasi dan Waktu Tenggang Konstan
Model ROP ini mengasumsikan bahwa variasi tingkat permintaan selama lead time berdistribusi normal. Untuk menggunakan model ini diperlukan
rata-rata
tingkat
permintaan
dan
standar
deviasinya
(Robert,1989,p86). Informasi tersebut digunakan untuk memperkirakan permintaan dan standar deviasi permintaan selama waktu tenggang. ROP dengan kondisi seperti ini dapat dituliskan sebagai berikut: ROP
= Permintaan selama waktu tenggang + persediaan pengaman
ROP
= D . LT + z
LT.Sd
Dimana : D
= permintaan
LT
= waktu tenggang
z
= konversi distribusi normal tingkat kepercayaan
Sd
= standar deviasi permintaan
51
Namun bila kenormalan data permintaan tidak terpenuhi, model tersebut tetap dapat
memberikan
perkiraan
waktu
pemesanan
kembali
meskipun
distribusinya menyimpang dari normal. 3.2.7.2.3
Model ROP – Tingkat Permintaan Konstan dan Waktu Tenggang Bervariasi
Bila waktu tenggang berdistribusi normal, maka permintaan selama waktu tenggang juga akan terdistribusi normal. Secara umum, model ROP ini dapat dituliskan sebagai berikut:
ROP
= D ⋅ LT + z ⋅ D ⋅ Slt
Dimana: D
= permintaan
LT
= waktu tenggang
Slt
= standar deviasi waktu tenggang
3.2.7.2.4
Model ROP – Tingkat Permintaan dan Waktu Tenggang Bervariasi
Bila tingkat permintaan dan waktu tenggang bervariasi, maka diperlukan persediaan pengaman yang lebih besar untuk menghindari terjadinya kehabisan bahan baku. Permintaan selama waktu tenggang merupakan hasil perkalian rata-rata permintaan dengan rata-rata waktu tenggang. Bila permintaan dan waktu tenggang berdistribusi normal, maka permintaan selama waktu tenggang akan terdistribusi normal juga. Variansinya merupakan jumlah variansi permintaan dan waktu tenggang, standar deviasinya merupakan akar dari jumlah tersebut. Secara umum ROP dengan kondisi tersebut dapat dituliskan sebagai berikut:
ROP
=
D ⋅ LT + z LT ⋅ S d2 + D 2 ⋅ S lt2
52
3.2.7.3 Menentukan Tingkat Persediaan Pengaman
Untuk menjamin kelancaran kegiatan penjualan maupun untuk tidak banyak mengecewakan pelanggan dalam memenuhi permintaannya, maka resko kehabisan persediaan harus dihindari sampai batas-batas yang tidak merugikan perusahaan itu sendiri. Oleh sebab itu perlu disediakan sejumlah barang yang jumlahnya tetap setiap waktu, sebagai penjagaan untuk menghindari resiko kehabisan persediaan. Sejumlah barang tersebut disebut persediaan pengaman atau safety stock atau buffer stock. Namun barang yang telah disediakan sebagai persediaan pengaman tidak dapat terlalu banyak, sebab bila hal tersebut terjadi, akan merugikan perusahaan. Tetapi persediaan pengaman tersebut juga tidak boleh terlalu sedikit, sebab dengan demikian resiko untuk kehabisan persediaan menjadi semakin besar. Jadi pihak manajemen perusahaan harus mempertimbangkan sampai sejauh mana resiko kehabisan persediaan akan dapat dihindari dengan mengingat biaya yang terkandung di dalamnya. Terjadinya resiko kehabisan persediaan dapat terjadi yang disebabkan oleh (Kusuma,2001,p156) : a. Peningkatan laju pemakaian barang b. Waktu tenggang mundur karena sesuatu hal c. Peningkatan laju pemakaian dan mundurnya waktu tenggang. Untuk menghindari hal-hal tersebut, maka diperlukan persediaan pengaman yang jumlahnya tertentu. Penggambaran bagaimana persediaan pengaman dapat mengurangi resiko kehabisan dagang selama waktu tenggang. Secara teoritis, jumlah barang yang disediakan untuk keperluan persediaan pengaman ini haruslah ditentukan berdasarkan pertimbangan-pertimbangan bahwa biaya atau kerugian yang ditimbulkan akibat kehabisan persediaan.
53
Namun dalam kenyataannya, kriteria di atas sukar dilakukan karena sulitnya menentukan berapa biaya atau kerugian kehabisan persediaan tersebut. Cara paling umum dalam menentukan besarnya persediaan pengaman adalah dengan menentukan sejumlah persentase yang menggambarkan berapa resiko yang dapat dialami oleh perusahaan atau yang dapat dipertanggungjawabkan karena akan adanya kemungkinan kehabisan persediaan tersebut. Salah satu cara untuk menghitung persediaan pengaman yaitu dengan metode persentase pengaman. Metode ini menggunakan dasar perkalian ratarata laju pemakaian dan rata-rata waktu tenggang dan sesudah itu diambil suatu faktor pengaman yang besarnya biasanya diambil suatu persentase antara 25% sampai 40%. Misalnya:
Rata-rata pemakaian
= 10 unit per hari
Rata-rata tenggang waktu
= 9 hari
Faktor pengaman
= 30%
Maka besar persediaan pengaman
= 30% * (10 * 9) unit = 27 unit
Dan besar titik pemesanan kembali
= 10 * 9 + 30% * (10 * 9) = 117 unit
54
3.3
Sistem Informasi
3.3.1
Pengertian Sistem
Menurut McLeod yang diterjemahkan oleh Hendra Teguh (2001, p.11), pengertian sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Menurut O’Brien (2003), suatu sistem dapat didefinisikan paling sederhana sebagai sekelompok elemen - elemen yang saling berinteraksi atau saling berhubungan membentuk kesatuan yang utuh. Banyak contoh sistem dapat ditemukan dalam ilmu pengetahuan fisika dan biologi, dalam teknologi modern, dan dalam perkumpulan masyarakat. Bagaimanapun, konsep sistem umum berikut menyediakan suatu dasar konsep yang lebih sesuai untuk bidang sistim informasi: suatu sistem adalah suatu kelompok komponen komponen yang saling berhubungan yang bekerja sama ke arah tujuan umum dengan menerima input (masukan) dan memproduksi output (keluaran) dalam suatu proses perubahan bentuk yang terorganisir. Sistim yang demikian mempunyai tiga komponen atau fungsi dasar yang saling berinteraksi :
•
Input (masukan) melibatkan menangkap dan mengumpulkan unsurunsur yang masuk sistem itu untuk diproses. Sebagai contoh, bahan baku, energi, data, dan usaha manusia harus dijamin aman dan terorganisir untuk pemrosesan.
•
Proses pengolahan melibatkan proses perubahan bentuk yang merubah input (masukan) menjadi output (keluaran). Contohnya
55
proses manufaktur, proses pernafasan manusia, atau perhitungan matematika.
•
Output (keluaran) melibatkan pemindahan unsur-unsur yang telah diproduksi oleh suatu proses perubahan bentuk kepada hasil akhirnya. Sebagai contoh, produk yang telah selesai, pelayanan manusia, pengelolaan informasi harus diserahkan pada pengguna manusianya. Konsep sistem menjadi lebih berguna dengan melibatkan dua
tambahan komponen: feedback (umpan balik) dan kontrol. Suatu sistem dengan komponen feedback (umpan balik) dan kontrol sering disebut sistem
cybernetic, itu adalah, sistem yang memonitor diri sendiri, mengatur diri sendiri.
•
feedback (umpan balik) adalah data mengenai tampilan suatu sistem. Sebagai contoh, data mengenai tampilan penjualan adalah feedback (umpan balik) terhadap manajer penjualan.
•
Kontrol melibatkan memonitor dan evaluasi feedback (umpan balik) untuk menentukan apakah sistemnya bergerak ke arah pencapaian dari tujuannya. Fungsi dari kontrol kemudian membuat penyesuaian yang
diperlukan
terhadap
masukan
sistem
dan
komponen
pemrosesan untuk memastikan memproduksi keluaran yang sesuai / tepat. Sebagai contoh, manajer penjualan melatih kontrol ketika
56
penugasan kembali penjual pada area penjualan baru setelah evaluasi umpan balik terhadap kinerja penjualan mereka.
3.3.2
Pengertian Informasi
Menurut McLeod ( 2001 , p. 4 ), informasi adalah salah satu jenis utama sumber daya yang tersedia bagi manajer. Karakteristik informasi yang baik dan diperlukan manajemen menurut Jogiyanto ( 2003, p.71), harus berdasarkan
kepadatan
informasinya,
luas
informasinya,
frekuensi
informasinya, skedul informasinya, waktu informasinya, akses informasinya dan sumber informasinya. Kualitas informasi harus diperhatikan supaya informasi dapat lebih berarti dan bermanfaat bagi penerimanya antara lain sebagai berikut : o Akurat
Tidak ada kesalahan pada informasi tersebut, tidak menyesatkan, menerangkan tujuan dan maksud yang diinginkan secara jelas. o Tepat waktu
Informasi yang telah usang tidak berarti lagi, karena itu tidak boleh terlambat diterima oleh penerima. Dasar atau landasan dalam pengambilan keputusan adalah informasi, sehingga jika informasi itu terlambat berarti akan menghambat pengambilan keputusan. o Relevan
Memiliki manfaat bagi penggunanya, relevansi bagi setiap individu akan berbeda, hal ini bergantung pada bidang dan kepentingannya masing-masing. Menurut O’Brien (2003), orang – orang sering tertukar dalam menggunakan istilah data dan informasi. Bagaimanapun, lebih baik untuk melihat data sebagai sumber daya bahan mentah yang diproses menjadi
57
produk informasi yang selesai. Kemudian dapat didefinisikan informasi sebagai data yang telah diubah menjadi konteks yang lebih berarti dan berguna terhadap end user tertentu. Demikianlah, data pada umumnya diperlakukan untuk suatu proses nilai tambah dimana (1) bentuknya dikumpulkan, dimanipulasi, dan diorganisir; (2) isi nya dianalisa dan dievaluasi; dan (3) ditempatkan dalam suatu konteks yang sesuai untuk seorang pemakai manusia. Jadi harus melihat informasi sebagai data terproses yang ditempatkan dalam konteks yang memberikannya nilai untuk end user tertentu. 3.3.3
Pengertian Sistem Informasi
Menurut O’Brien (2003), sistem informasi dapat diorganisir kombinasi manapun dari orang-orang, perangkat keras, perangkat lunak, jaringan komunikasi, dan sumber daya data yang mengumpulkan, mengubah bentuk, dan menghamburkan informasi dalam suatu organisasi.
3.4
Analisa dan Perancangan Sistem Informasi
3.4.1
Metodologi Analisa dan Perancangan Sistem Informasi
Pada bagian ini akan diuraikan tentang metodologi analisa dan perancangan sistem informasi yang digunakan yaitu metodologi yang berbasiskan objek dengan menggunakan notasi UML. Dalam website www.ilmukomputer.com (2003) dijelaskan bahwa Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak.
58
UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan
operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch [1], metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaermellor [5], metodologi wirfs-brock [6], dsb. Masa itu terkenal dengan masa
59
perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing
metodologi
membawa
notasi
sendiri-sendiri,
yang
mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan. Menurut Mathiassen et al (2000, p.13), metode object oriented dimulai dari OOP (Object Oriented Programming) yang berkembang menjadi OOD (Object Oriented Design) dan akhirnya menjadi OOA (Object Oriented Analysis). Dan dijelaskan juga dalam Mathiassen et al (2000, p.4) bahwa metode Object Oriented Analysis & Design menggunakan objek – objek dan
class – class sebagai konsep kuncinya dan terdiri atas empat prinsip umum untuk analisa dan desain: memodelkan system’s context, menekankan pertimbangan
aristektur,
penggunaan
kembali
pola
–
pola
yang
menggambarkan gagasan desain yang tersusun dengan baik, dan menyatukan metode dari tiap perkembangan situasi. Pada Mathiassen et al (2000, p.5), keuntungan dari object-orientation adalah Merupakan konsep umum yang dapat digunakan untuk memodel hampir semua fenomena dan dapat dinyatakan dalam bahasa umum -
Noun menjadi object atau class
-
Verb menjadi behaviour
-
Adjective menjadi attributes
60
Memberikan informasi yang jelas tentang context dari sistem. Mengurangi biaya maintenance -
Memudahkan untuk mencari hal yang akan dirubah
-
Membuat perubahan menjadi lokal, tidak berpengaruh pada modul yang lainnya. Hermawan (2004, p.3-p.5) dalam bukunya menjelaskan bahwa
teknologi obyek ini menganalogikan sistem aplikasi seperti kehidupan nyata yang didominasi oleh obyek. Orang adalah obyek, mobil adalah obyek, komputer adalah obyek. Obyek memilki atribut: orang memiliki nama, memiliki pekerjaan, memiliki rumah; mobil memiliki warna, memilki merek, memiliki sejumlah roda; komputer memiliki kecepatan, memiliki sistem operasi. Obyek dapat beraksi dan bereaksi: orang dapat berjalan, dapat berbicara, dapat berteman; mobil dapat berjalan, dapat mengerem; komputer dapat mengolah data, dapat menampilkan gambar. Keunggulan teknologi obyek dengan demikian adalah bahwa model yang akan dibuat akan sangat mendekati dunia nyata yang masalahnya akan dipecahkan oleh sistem yang dibangun. Ada 4 prinsip dasar dari pemrograman berorientasi obyek, yaitu abstraksi, enkapsulasi, modularitas, dan hirarki. Abstraksi memfokuskan perhatian pada karakteristik obyek yang paling penting dan paling dominan yang bisa digunakan untuk membedakan obyek tersebut dari obyek lainnya. Dengan abstraksi ini developer bisa menerapkan konsep KIS (Keep It Simple) pada obyek yang di dunia nyata memiliki kerumitan yang tinggi. Contoh
61
abstraksi adalah obyek Dosen yang diabstraksikan sebagai orang yang mengajar di perguruan tinggi, sementara Mahasiswa adalah orang yang terdaftar belajar di perguruan tinggi. Enkapsulasi menyembunyikan banyak hal yang terdapat dalam obyek yang tidak perlu diketahui oleh obyek lain. Dalam praktek pemrograman enkapsulasi diwujudkan dengan membuat suatu kelas interface yang akan dipanggil oleh obyek lain, sementara di dalam obyek yang dipanggil terdapat kelas lain yang mengimplementasikan apa yang terdapat dalam kelas interface. Obyek lain hanya tahu dia perlu memanggil kelas interface tanpa perlu tahu proses apa saja yang dilakukan di dalam kelas implementasinya dan untuk menuntaskan proses tersebut perlu berhubungan dengan obyek mana saja. Dengan demikian bila terjadi perubahan pada proses implementasi maka obyek pemanggil tidak akan terpengaruhi secara langsung. Modularitas membagi sistem yang rumit menjadi bagian – bagian yang lebih kecil yang bisa mempermudah developer memahami dan mengelola obyek tersebut. Contohnya dalah sistem akademis yang bisa dibagi menjadi kemahasiswaan, katalog mata kuliah, dan pembayaran kuliah. Hirarki berhubungan dengan abstraksi dan modularitas, yaitu pembagian berdasarkan urutan dan pengelompokan tertentu. Misalnya untuk menentukan obyek mana yang berada pada kelompok yang sama, obyek mana yang merupakan komponen dari obyek yang memiliki hirarki lebih tinggi. Semakin rendah hirarki obyek berarti semakin jauh abstraksi dilakukan terhadap suatu obyek. Prinsip hirarki ini terjabar kemudian dalam konsep
62
inheritance dan polymorphism. Ke 4 prinsip dasar ini merupakan hal yang mendasari teknologi obyek dan perlu ditanamkan dalam cara berpikir
developer berorientasi obyek. Lebih jauh lagi dijelaskan Hermawan (2004, p.5-p.7) bahwa analisis dan desain yang berorientasi obyek amat sangat perlu dilakukan dalam pengembangan sistem berorientasi obyek. Hanya dengan kemampuan menggunakan bahasa pemrograman berorientasi obyek yang andal anda akan dapat membangun suatu sistem berorientasi obyek, namun sistem aplikasi yang dibangun akan menjadi lebih baik lagi bila langkah awalnya didahului dengan proses analisis dan desain yang berorientasi obyek, terutama untuk membangun sistem yang robust dan mudah dipelihara. Proses analisis bertujuan memahami masalah, yaitu dengan memahami apa yang sebenarnya ada di dalam dunia nyata . Sementara proses desain bertujuan memahami pemecahan masalah yang didapatkan dari proses analisis, yaitu dengan mengusulkan secara detail sistem komputer seperti apa yang perlu dibangun untuk mengatasi masalah. Proses analisis dan desain ini memang merupakan suatu proses yang saling berkelanjutan: proses analisis dulu dan kemudian baru proses desain. Tujuan keduanya adalah jelas untuk mendapatkan domain masalah dan pemecahan logis atas masalah dari kacamata teknologi obyek. Dalam analisis berorientasi obyek diidentifikasikan dan dijelaskan obyek – obyek yang terlibat dalam domain masalah dan bagaimana interaksi terjadi antara obyek tersebut. Obyek dalam analisis adalah obyek dari perspektif
63
dunia nyata. Dalam desain berorientasi obyek didefinisikan obyek – obyek yang bakal diimplementasikan oleh bahasa pemrograman berorientasi obyek. Obyek dalam desain adalah obyek yang sudah dilihat dari perspektif perangkat lunak komputer. Pemrograman berorientasi obyek merupakan kelanjutan dari proses analisis dan desain berorientasi obyek. Dalam pemrograman berorientasi obyek ini komponen yang didesain dalam proses desain
kemudian
diimplementasikan
dengan
menggunakan
bahasa
pemrograman berorientasi obyek. Syarat sebuah bahasa pemrograman bisa digolongkan sebagai berorientasi obyek adalah bila bahasa pemrograman tersebut memiliki fitur untuk mengimplementasikan ke 4 konsep berorientasi obyek, yaitu abstraksi,
encapsulation, polymorphism, dan inheritance
3.4.2
Aktivitas Dalam Object Oriented Analysis and Design
1.
System Definition Menurut Mathiassen et al (2000, p.24), system definition adalah suatu uraian ringkas suatu sistem yang terkomputerisasi yang dinyatakan dalam bahasa alami / bahasa umum. Dapat dinyatakan dalam bentuk text atau rich picture.
64
Gambar 3.5 Aktivitas dalam OOAD
Gambar 3.6 System Context 2.
Problem Domain Analysis Dalam Mathiassen et al (2000, p.49) diuraikan bahwa untuk memilih elemen – elemen dalam model problem domain analysis, prinsip dan konsep yang harus diterapkan adalah: Prinsip: Klasifikasikan object didalam problem domain
Object: suatu entitas yang mempunyai indentitas, state dan behaviour Class: adalah deskripsi dari kumpulan object yang mempunyai struktur, behaviour pattern dan attribute yang sama. Prinsip : Object diberi karakter sesuai dengan eventnya
Event: Kejadian yang terjadi seketika yang melibatkan satu atau lebih object
65
Pada Mathiassen et al (2000, p.56-59), kandidat untuk class adalah: Kata Benda dalam deskripsi atau percakapan Daftar dari general / typical object dan cara memberi nama pada class: simple, mudah dibaca, mulai dari
problem domain, dan mengindikasikan single instance / singular. Mathiassen et al juga menjelaskan kandidat untuk event adalah: Kata kerja dalam deskripsi atau percakapan Daftar event yang umum atau tipikal type dari event. Cara memilih nama event yang: simple dan mudah dibaca, mulai dari
problem domain, dan mengindikasikan single event Kemudian Mathiassen et al (2000, p.61) menjelaskan kriteria evaluasi untuk class adalah: Dapatkah mengidentifikasikan object dari class ? Apakah class mempunyai informasi yang unik? Apakah class dapat menurunkan banyak object ? Apakah class mempunyai jumlah event yang cocok dapat di manage ? Sedangkan dalam Mathiassen et al (2000, p.63) menjelaskan kriteria evaluasi untuk event adalah: Apakah event itu instant ? Apakah event atomic? Apakah event dapat diidentifikasi pada saat terjadi ?
66
Gambar 3.7 Problem Domain Analysis
Dalam Mathiassen et al (2000, p.69) diuraikan konsep, prinsip, dan hasil dari structure adalah: Konsep:
Class structure: -
Generalization: Sebuah ‘Super-Class’ (general class) yang mendeskripsikan properties umum dari subclass-subclass
(specialized classes). -
Cluster : Sebuah kumpulan dari class - class yang saling berhubungan.
Object stucture: -
Aggregation : Sebuah object-superior (the whole) yang terdiri dari beberapa inferior-object (the parts).
-
Association : hubungan yang memiliki arti antara beberapa object.
Prinsip:
−
Study-Abstract, hubungan yang static between classes
−
Study-Concrete, hubungan yang dynamic between objects
−
Memodelkan hanya hubungan struktural yang penting
67
Hasil : Class diagram dengan class – class dan structure Kemudian akan dibahas mengenai aktivitas behaviour dalam problem
domain analysis, dalam Mathiassen et al (2000, p.89-p.111) menjelaskan bahwa: Tujuan dari behaviour activity adalah: memodelkan keadaan problem domain yang dinamis dengan memperluas class definitions yang ada di dalam class diagram dengan menambahkan behavioral patterns dan attribut untuk setiap class. Konsepnya : -
Event trace : rangkaian atau urut – urutan event yang meliputi suatu objek tertentu
-
Behavioral Pattern : deskripsi dari event trace yang mungkin untuk seluruh objek dalam sebuah class.
-
Attribute : suatu deskripsi property dari suatu class atau event.
Prinsip : -
Ciptakan behavioral patterns dari event traces
-
Pelajari common events
-
Tentukan class attributes dari behavioral patterns.
Notasi untuk behavioral patterns : -
Sequence : events in a set muncul satu persatu (+)
-
Selection : tepat satu keluar dari sekumpulan event muncul (|)
-
Iteration : event yang muncul nol atau banyak kali ( * )
68
Hasilnya adalah : membuat behavioral patterns dengan attributnya untuk setiap class yang ada di dalam class diagram. 3.
Application Domain Analysis
Gambar 3.8 Application Domain Analysis
Gambar 3.9 Application Domain Activity Berdasar Mathiassen et al (2000, p.115-p.118), application
domain analysis berfokus kepada pertanyaan : “Bagaimana suatu sistem akan digunakan?”. Tujuan dari pertanyaan tersebut adalah untuk mendefinisikan fungsi dan interface dari sistem. Tujuan : untuk menentukan kebutuhan kegunaan dari sistem.
69
Konsep : -
Application domain : kumpulan yang mengadministrasikan, memonitor, atau mengontrol problem domain
-
Kebutuhan : suatu behaviour sistem secara eksternal tampak
Prinsip : -
menentukan application domain dengan usecase
-
berkolaborasi dengan users
Hasil : Sebuah daftar lengkap dari kebutuhan kegunaan sistem secara keseluruhan. Tabel 3.1 Aktivitas dalam application domain analysis Aktivitas
Isi
Konsep
Bagaimana sistem
Usage
berinteraksi dengan manusia dan sistem
Use case dan aktor
dalam konteks
Functions
Interfaces
Apa kemampuan sistem memproses informasi Apakah target kebutuhan sistem interface
Function Interface, user interface, dan system interface
70
Dalam Mathiassen et al (2000, p.119-p.134), yang pertama – tama akan dibahas adalah usage : Tujuan : untuk menentukan bagaimana aktor berinteraksi dengan sistem Konsep : -
Actor : abstraksi dari user atau sistem lain yang berinteraksi dengan target sistem.
Actor adalah orang / sistem yang mengerjakan pekerjaan. -
Usecase : pola interaksi antara sistem dan aktor di dalam application domain.
Prinsip : -
Tentukan application domain dengan use cases
-
Evaluasi use case bekerja sama dengan users
-
Perhatikan perubahan organisasi yang dapat mengubah
application domain. Hasil : deskripsi dari keseluruhan use cases dan actors. Menentukan actor dan use cases : -
Berdasarkan pembagian pekerjaan dan pembagian pekerja
-
Identifikasikan actors Perhatikan seseorang yang berperan dengan peran yang sama. Terapkan pada sistem seperti pada orang atau user
-
Menerangkan actor
-
Jelaskan use cases Gunakan statecharts dan atau dengan kalimat Buatlah sederhana dan tanpa detil yang tidak diperlukan.
71
Hal kedua yang akan dibahas dalam application domain berdasar Mathiassen et al (2000, p.137-p.146) adalah function. Tujuan : menentukan kemampuan sistem dalam memproses informasi Konsep : -
Function : sebuah fasilitas untuk membuat model berguna bagi actors.
Prinsip : -
Identifikasi semua functions
-
Spesifikasikan hanya functions kompleks
-
Cek konsistensi dengan use cases dan model
Hasil : Sebuah daftar lengkap dari functions dengan spesifikasi dari
functions kompleks. Jenis – jenis function : -
Update function Diaktifkan oleh problem domain event dan menyebabkan perubahan pada state model
-
Signal function Diaktifkan oleh perubahan di state model dan menghasilkan sebuah reaksi dalam konteks; reaksi ini dapat berupa sebuah
display yang ditujukan ke actor di dalam application domain atau sebuah intervensi langsung dalam problem domain. -
Read function Diaktifkan oleh kebutuhan actor akan informasi dalam melaksanakan tugasnya dan sistem akan memberikan display bagian – bagian model yang relevan.
72
Compute function
-
Diaktifkan oleh kebutuhan actor akan informasi dalam melaksanakan tugasnya dan meliputi perhitungan yang melibatkan informasi yang disediakan oleh actor ataupun model;
hasilnya
berupa
sebuah
display
dari
hasil
perhitungan. Hal ketiga yang dibahas dalam application domain pada Mathiassen et al (2000, p.151-p.170) adalah interface, dijelaskan bahwa :
Interface :
fasilitas yang membuat model dan function dapat
berinteraksi dengan actor.
User interface : interface yang digunakan untuk berhubungan dengan actor / user.
System interface : interface yang digunakan untuk berhubungan dengan sistem lain.
Gambar 3.10 System Architecture
User interface patterns : Sebuah user interface biasanya terdiri dari campuran dari berbagai
pattern atau style. Menentukan user interface element
73
-
representasi dari object dalam model, beberapa kemungkinan : icons, fields, tables, diagrams, windows.
-
activation dari function : buttons , menu screens, pull-down / pop-up menus. Harus konsisten dan cocok dengan dialog pattern.
-
Hasilnya adalah daftar dari elemen – elemen user- interface
System interface patterns: -
Read external device
-
Interaction protocol : sebuah protokol mendefinisikan command facilities yang mendukung usecase yang akan mendukung sistem lain.
Prinsip interface analysis -
Sesuaikan usability dengan application domain, perlu diketahui siapa usernya dan dalam situasi apa sistem akan digunakan
-
Experiment and iterate Interfaces adalah hal yang kompleks dan interaksi dengan users merupakan kegiatan yang tidak dapat diantisipasi. Experiments perlu direncanakan, efisien, dan realistis dan juga perlu dilakukan berulang kali.
-
Identifikasi semua interface element
4. Architectural design Dalam Mathiassen et al (2000, p.173-p.176), aktivitas berikutnya adalah desain arsitektur, dimana : Tujuan : untuk menstrukturkan sistem yang terkomputerisasi Konsep : -
Criterion (kriteria) : sifat atau ciri yang diperlukan dari sebuah arsitektur.
74
-
Component architecture : struktur sistem terdiri atas komponen yang saling berhubungan.
-
Process architecture : struktur sistem eksekusi yang terdiri atas proses yang saling tergantung.
Prinsip : -
Definisikan dan urutkan prioritas dari kriteria Berbagai kriteria di samping functional requirements.
-
Hubungkan kriteria dan technical platform Sesuaikan kriteria dengan menggunakan berbagai fasilitas teknis.
-
Evaluasi desain sejak awal Eliminasi
ambigu
sejak
awal
untuk
meningkatkan
produktivitas. Hasil : struktur untuk komponen – komponen dan proses – proses sistem. Tabel 3.2 Aktivitas dalam architectural design Aktivitas
Kriteria
Isi Bagaimana kondisi dan kriteria untuk desain Bagaimana sistem
Components
tersusun dalam komponen Bagaimana proses
Processes
sistem terdistribusi dan terkoordinasi?
Konsep
Criterion Component architecture Component Process architecture Process
75
Yang pertama akan dibahas dalam aktivitas desain arsitektur adalah criteria, pada Mathiassen et al (2000, p.177-p.186) diuraikan bahwa : Tujuan : untuk menetapkan prioritas desain. Konsep : -
Criterion : sifat atau ciri yang diperlukan dari sebuah arsitektur.
-
Conditions : peluang teknis, organisasi, dan manusia dan batas – batas yang terlibat dalam melakukan suatu tugas.
Prinsip : -
Suatu desain yang baik tidak memiliki kelemahan utama
-
Suatu desain yang baik menyeimbangkan beberapa kriteria
-
Suatu desain yang baik adalah usable (dapat digunakan), fleksibel, dan comprehensible (dapat dimengerti).
Hasil : suatu kumpulan kriteria yang diprioritaskan. Aktivitas kedua desain arsitektur yang dibahas dalam Mathiassen et al (2000, p.189-p.206) adalah components : Tujuan : untuk menciptakan suatu struktur sistem yang fleksibel dan dapat dimengerti. Konsep : -
Component architecture : suatu struktur sistem yang komponennya saling berhubungan
-
Component : Sekumpulan bagian-bagian sebuah program yang
mempunyai
ditentukan.
tugas
(responsibility)
yang
telah
76
Prinsip : -
Mengurangi kompleksitas dengan pemisahan concerns (kepentingan / perhatian)
-
Mencerminkan struktur konteks yang stabil
-
Menggunakan kembali komponen yang ada.
Hasil : suatu class diagram dengan spesifikasi komonen yang kompleks. 3 jenis architecture pattern: -
Layered architecture ( lapisan )
-
Generic architecture pattern
-
Client-server architecture
Tabel 3.3 Lima bentuk distribusi dari Arsitektur Client-Server
Client
Server
Architecture
U
U+F+M
Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M
M
Distributed data
Model (M) Component : Komponen model mempunyai tugas untuk menampung objects yang merupakan bentuk dari problem domain.
Function (F) Component : Komponen function menyediakan functionality dari model.
User Interface (U) Component :
77
Komponen User Interface bertanggung jawab atas interaksi di antara actor – actor dan functionality. Aktivitas ketiga desain arsitektur yang dibahas dalam Mathiassen et al (2000, p.209-p.227) adalah processes, dimana dijelaskan bahwa : Tujuan : untuk menggambarkan struktur fisik dari suatu sistem. Konsep : -
Process architecture : struktur sistem eksekusi yang terdiri atas proses yang saling tergantung.
-
Processor : bagian dari peralatan yang dapat mengeksekusi program.
-
Program component : modul fisik dari kode program.
-
Active object : suatu objek yang telah ditugaskan oleh sebuah proses.
Prinsip : -
Mengarahkan ke suatu arsitektur tanpa bottlenecks.
-
Mendistribusikan komponen – komponen pada processors.
-
Mengkoordinasikan pembagian sumber daya dengan active
objects. Hasil : sebuah deployment diagram yang menunjukkan processors dengan komponen program yang ditugaskan dan active objects. 5. Component Design Setelah architecture design aktivitas selanjutnya yang dibahas dalam Mathiassen et al (2000, p.231-p.233), adalah desain komponen, dimana dijelaskan bahwa: Tujuan : untuk menentukan suatu implementasi dari kebutuhan dalam suatu architectural framework.
78
Konsep : -
Component : Sekumpulan bagian-bagian sebuah program yang mempunyai tugas (responsibility) yang telah ditentukan.
-
Connection
:
implementasi
dari
suatu
hubungan
ketergantungan. Prinsip : -
Memperhatikan component architecture
-
Menyesuaikan desain komponen pada kemungkinan teknis.
Hasil : suatu uraian komponen sistem. Tabel 3.4 Aktivitas dalam component design Aktivitas
Isi
Konsep
Bagaimana model
Model Component
digambarkan sebagai
Model component
classes dalam
and attribute
sistem?
Function Component
Bagaimana functions
Function component
diimplementasikan?
and operation
Bagaimana
Connecting Component
Component and
components
connection
dihubungkan?
Dalam component design, aktivitas pertama yang akan dibahas pada Mathiassen et al (2000, p.235-p.248) adalah model component. Pada aktivitas ini diuraikan beberapa hal yaitu : Tujuan : untuk menggambarkan suatu model dari problem domain. Konsep : -
Model
component
:
bagian
dari
sistem
mengimplementasikan model dari problem domain
yang
79
-
Attribute : suatu ciri atau sifat yang deskriptif dari suatu class atau event.
Prinsip : -
Menggambarkan events sebagai classes, structures, dan
attributes -
Pilih gambaran events yang paling sederhana.
Private event : event-event yang hanya melibatkan satu object. Cara merepresentasikan Private Events dalam sebuah revised
class-diagram : -
Event yang muncul sekali dinyatakan sebagai class attribute
-
Event yang muncul beberapa kali dinyatakan sebagai class baru
Common event : event-event yang melibatkan lebih dari satu jenis object. Cara merepresentasikan Common Events dalam sebuah revised
class-diagram: -
Event yang muncul dgn cara berbeda (different ways) dinyatakan dengan hubungan class untuk event yg paling sederhana yaitu menambah attribut.
-
Event yang muncul dg cara yg sama, dibuat class baru tetapi dipilih struktur yang paling sederhana.
Hasil : suatu class diagram dari model component. Tugas utama dari model component : mengirimkan data saat ini atau historical ke function, interface, dan ke user atau sistem lain. Aktivitas kedua dalam component design yang akan dibahas dalam Mathiassen et al (2000, p.251-p.269) yaitu function component, dimana diuraikan bahwa : Tujuan : untuk menentukan implementasi dari function.
80
Konsep : -
Function
component
:
bagian
dari
sistem
yang
mengimplementasikan kebutuhan functional. -
Operation : sebuah process property di dalam sebuah class dan diaktifkan melalui object.
Tugas utama dari function component : memberikan kemampuan akses ke model bagi user interface dan sistem komponen yang lain. Prinsip : -
Mendasarkan desain pada tipe function.
-
Menetapkan operations yang kompleks.
Hasil : suatu class diagram dengan operations dan spesifikasi dari
operations yang kompleks.