bab 2 landasan teori 2.1 pengendalian persediaan...
TRANSCRIPT
BAB 2
LANDASAN TEORI
2.1 Pengendalian Persediaan (Inventory Control)
2.1.1 Pengertian Pengendalian (Control)
Dalam sistem pengendalian persediaan pada perusahaan retail di Indonesia,
istilah Inventory Control sering diartikan sebagai Manajemen Persediaan. Oleh karena
itu pengendalian persediaan dapat diartikan juga sebagai manajemen persediaan.
Menurut Lewis et al (2004, p5), manajemen dirumuskan sebagai berikut.
”Management is defined as the process of administering and coordinating
resources effectively, efficiently, and in an effort to achieve the goals of the
organitations.”
“Manajemen didefenisikan sebagai proses administrasi dan mengkoordinasi
sumber daya-sumber daya secara efektif, efisien untuk mencapai tujuan organisasi.”
Sedangkan pengertian manajemen menurut James AF Stoner, yang dialih
bahasakan oleh Handoko (2003, p8) adalah sebagai berikut.
”Manajemen adalah proses perencanaan, pengorganisasian, pengarahan, dan
pengawasan usaha-usaha para anggota organisasi dan penggunaan sumber daya-sumber
daya organisasi lainnya agar mencapai tujuan oraganisasi yang telah ditetapkan.”
Jadi dapat disimpulkan bahwa manajemen adalah proses perencanaan,
pengorganisasian, pengarahan, dan pengawasan usaha-usaha aktivitas para anggota
organisasi dan koordinasi sumber daya-sumber daya secara efektif dan efisien secara
bersama ataupun melalui organisasi lainnya untuk mencapai tujuan yang telah
ditetapkan.
7 2.1.2 Pengertian Persediaan (Inventory)
Menurut Freddy Rangkuti (2004, p1), persediaan adalah sebagai berikut.
”Persediaan merupakan bahan-bahan, bagian yang disediakan, dan bahan-bahan
dalam proses yang terdapat dalam perusahaan untuk proses produksi, serta barang-
barang jadi atau produk yang disediakan untuk memenuhi permintaan dari konsumen
atau pelanggan setiap waktu.”
Jadi dapat disimpulkan bahwa persediaan adalah bahan-bahan, bagian yang
disediakan, dan bahan-bahan dalam proses yang terdapat dalam perusahaan untuk proses
produksi, serta barang-barang jadi atau produk yang disediakan untuk memenuhi
permintaan dari konsumen atau pelanggan setiap waktu yang disimpan dan dirawat
menurut aturan tertentu dalam tempat persediaan agar selalu dalam keadaan siap pakai
dan dicatat dalam bentuk buku perusahaan.
2.1.3 Fungsi dan Tujuan Persediaan
Inventory pada hakikatnya bertujuan untuk mempertahankan kontinuitas
eksistensi suatu perusahaan dengan mencari keuntungan atau laba perusahaan itu.
Caranya adalah dengan memberikan pelayanan yang memuaskan pelanggan dengan
menyediakan barang yang diminta.
Fungsi persediaan menurut Freddy Rangkuti (2004, p15) adalah sebagai berikut.
1. Fungsi Batch Stock atau Lot Size Inventory
Penyimpanan persediaan dalam jumlah besar dengan pertimbangan adanya
potongan harga pada harga pembelian, efisiensi produksi karena psoses produksi
yang lama, dan adanya penghematan di biaya angkutan.
8
2. Fungsi Decoupling
Merupakan fungsi perusahaan untuk mengadakan persediaan decouple, dengan
mengadakan pengelompokan operasional secara terpisah-pisah.
3. Fungsi Antisipasi
Merupakan penyimpanan persediaan bahan yang fungsinya untuk penyelamatan
jika sampai terjadi keterlambatan datangnya pesanan bahan dari pemasok atau
leveransir. Tujuan utama adalah untuk menjaga proses konversi agar tetap
berjalan dengan lancar.
Alasan yang kuat untuk menyediakan inventory adalah untuk hal-hal yang
berhubungan dengan skala ekonomi dalam pengadaan dan produksi barang, untuk
kebutuhan yang berubah-ubah dari waktu ke waktu, untuk fleksibilitas di dalam fasilitas
penjadwalan distribusi barang, untuk spekulasi di dalam harga atau biaya, dan untuk
ketidakpastian tentang waktu pesanan perlengkapan dan kebutuhan.
Ketika menghadapi permintaan yang berubah-ubah dari waktu ke waktu, pihak
manajemen dapat melakukan pemesanan barang (inventory) selama periode permintaan
yang sedikit untuk mengantisipasi periode permintaan yang tinggi. Inventory ini
membuat manajemen dapat beroperasi secara tetap sepanjang musim, dan dapat
menghindari biaya produksi yang berubah-ubah.
Penyediaan inventory bertujuan untuk menghadapi kondisi ketidakpastian.
Permintaan barang tidak bisa diketahui secara pasti, oleh karena itu perlu diramalkan
untuk meminimalisir kerugian akibat over stock atau permintaan yang melampaui
ramalan, perhitungan persediaan barang harus dilakukan dengan hati-hati dan teliti.
9 2.1.4 Tujuan Pengendalian Persediaan
Suatu pengendalian persediaan yang dijalankan oleh suatu perusahaan suatu
tentu mempunyai tujuan-tujuan tertentu. Tujuan pengendalian persediaan menurut
Assauri (2004, p177) secara terinci dapat dinyatakan sebagai berikut.
a. Menjaga jangan sampai perusahaan kehabisan persediaan sehingga
mengakibatkan terhentinya kegiatan produksi.
b. Menjaga agar pembentukan persediaan oleh perusahaan tidak terlalu besar atau
berlebihan, sehingga biaya-biaya yang timbul dari persediaan tidak terlalu besar.
c. Menjaga agar pembelian kecil-kecilan dapat dihindari karena ini akan
memperbesar biaya pemesanan.
Dari keterangan di atas dapat dikatakan bahwa tujuan dari pengendalian
persediaan adalah untuk memperoleh kualitas dan jumlah yang tepat dari bahan-bahan
barang yang tersedia pada waktu yang dibutuhkan dengan biaya-biaya yang minimum
untuk keuntungan atau kepentingan perusahaan. Dengan kata lain pengendalian
persediaan menjamin terdapatnya persediaan pada tingkat yang optimal agar produksi
dapat berjalan dengan lancar dan biaya persediaan adalah minimal.
Perencanaan inventory berhubungan dengan penentuan komposisi inventory,
penentuan waktu atau penjadwalan, serta lokasi untuk memenuhi kebutuhan perusahaan.
Pengendalian inventory meliputi pengendalian kuantitas dalam batas-batas yang telah
direncanakan dan perlindungan fisik inventory.
Untuk itu perlu dilakukan evaluasi apakah sistem inventory perusahaan itu sudah
sesuai dengan yang diharapkan. Pengelolahan inventory yang baik diperlukan kemahiran
dan pengalaman dalam membuat sistem inventory.
10 2.1.5 Penggolongan Persediaan
Menurut Assauri (2004, p171), persediaan pada umumnya dapat dibedakan
menjadi 5 golongan yang meliputi.
1. Persediaan Bahan Baku (Raw Material Inventory).
Persediaan bahan baku yaitu persediaan barang-barang berwujud yang digunakan
dalam proses produksi, yang diperoleh dari sumber-sumber alam ataupun dibeli
dari pemasok atau perusahaan yang menghasilkan bahan baku bagi perusahaan
yang menggunakannya.
2. Persediaan Bagian Produk atau Parts yang dibeli (Purchased).
Persediaan bagian produk atau parts yaitu persediaan yang dibeli dari perusahaan
lain, yang dapat secara langsung dirakit dengan parts lain, tanpa melalui proses
produksi sebelumnya.
3. Persediaan Bahan-Bahan Pembantu (Supplies Stock)
Persediaan bahan-bahan pembantu yaitu persediaan bahan-bahan yang
diperlukan dalam proses produksi untuk membantu berhasilnya produksi atau
yang dipergunakan dalam bekerjanya suatu perusahaan, tetapi tidak merupakan
bagian atau komponen barang jadi.
4. Persediaan Bahan Setengah Jadi (Work In Process Inventory).
Persediaan barang setengah jadi yaitu persediaan barang-barang yang keluar dari
tiap-tiap bagian dalam satu pabrik atau bahan-bahan yang telah diolah menjadi
suatu bentuk, tetapi diproses kembali untuk kemudian menjadi barang jadi.
5. Persediaan Barang Jadi (Finished Goods Inventory).
Persediaan barang jadi yaitu persediaan barang-barang yang telah selesai
diproses atau diolah dalam pabrik dan siap untuk dijual pada pelanggan atau
11
perusahaan lain.
Dari uraian di atas dapat dikatakan bahwa persediaan perusahaan adalah suatu
barang tersimpan yang akan dilakukan suatu tindakan lebih lanjut ataupun barang yang
tersimpan dan siap untuk digunakan tetapi belum sampai pada pemegang akhir
(customer).
2.2 Model Sistem Inventory Retail
2.2.1 Proses Sistem Inventory Control
Model proses sistem inventory retail meliputi kegiatan-kegiatan yang dijelaskan
dalam urutan berikut ini (Roy et al.,1997).
1. Pengiriman barang dari pabrik.
2. Pengepakan dan penyimpanan produk pada gudang pusat.
3. Pengiriman barang dari gudang pusat ke toko-toko retail.
4. Pemenuhan kebutuhan pelanggan dengan mengunakan barang-barang yang ada
dalam toko.
Model proses sistem inventory retail ini dapat dilihat dalam Gambar 2.1
Gambar 2.1 Diagram skematik dari sistem inventory control Sumber: Benjamin Van Roy et al, Inventory Management
12
Permintaan bisa terjadi setiap saat pada periode tertentu dan dapat dinilai sebagai
unit permintaan pelanggan terhadap suatu produk. Apabila barang tersedia di toko maka
barang tersebut akan langsung digunakan untuk memenuhi permintaan pelanggan.
Namun apabila kehabisan barang dalam toko habis, maka pelanggan harus menunggu
pengiriman dari gudang (jika barang tersebut tersedia di gudang).
Bagian pergudangan akan memesan unit persediaan tambahan dari pabrik dan
toko akan memesan barang dari gudang. Manajer bagian pegudangan berusaha
semaksimal mungkin untuk memenuhi pesanan toko.
Proses pemesanan dari pabrik ke gudang dan dari gudang ke toko, memerlukan
waktu dan biaya transportasi. Dengan ketidakpastian permintaan, maka dimungkinkan
terjadi keterlambatan pemesanaan barang yang mengakibatkan kekosongan barang.
Aliran barang disajikan pada Gambar 2.2
Gambar 2.2 Ilustrasi Buffer pada sistem inventory control Sumber: Benjamin Van Roy et al,. Inventory Management, p8
Penyimpanan barang di gudang memberikan pengaruh yang cukup besar
terhadap biaya dan servis kepada pelanggan. Sebagai contoh, barang yang disimpan di
dalam gudang mempunyai tingkat fleksibilitas yang tinggi dibandingkan dengan
menyimpan pada satu toko.
Terlihat bahwa barang yang terdapat di gudang dapat digunakan untuk
13 memenuhi pemesanan dari toko. Tetapi, kelebihan stok pada suatu toko tidak dapat
digunakan untuk memenuhi kebutuhan toko lain.
2.2.2 Arus Inventory Yang Dinamis
Seperti yang ditunjukan oleh Gambar 2.1, inventory disimpan di gudang dan di
toko-toko. Gudang juga menyimpan barang untuk mengantisipasi pemesanan khusus
dari toko. Dengan demikian terdapat waktu penundaan selama proses transportasi, oleh
karena itu akan melibatkan sistem dynamic dengan menggunakan discrete time.
Setiap penundaan di dalam sistem inventory ditunjukkan oleh Gambar 2.2. Setiap
kotak melambangkan buffer dialokasikan pada waktu titik tertentu. Pergerakan dari
barang-barang antar buffer disinkronkan oleh waktu per hari. Barang masuk dan keluar
dari buffer dalam hitungan hari. Barisan buffer di sebelah kiri buffer gudang
melambangkan penundaan transportasi barang dari pabrik ke gudang. Begitu juga buffer
di samping setiap toko melambangkan penundaan pengiriman barang dari gudang
menuju toko. Proses transportasi membuat barang yang terletak di dalam suatu buffer
bergerak ke buffer yang di sebelah kanan dalam hitungan hari.
Barang yang dimasukan ke dalam sistem tersebut dan pergerakan barang dari
suatu buffer ke buffer yang lain dikendalikan oleh keputusan dari manajer inventory.
Jumlah barang yang dipesan dibatasi oleh kapasitas produksi dan kapasitas
penyimpanan di dalam gudang. Jumlah barang yang dipesan dalam suatu waktu tidak
dapat melebihi batas produksi, dan total barang di gudang dan barang yang sedang
dipesan tidak boleh melebihi daya tampung gudang.
Dalam jangka waktu tertentu sejumlah barang dikirim dari gudang menuju toko.
Total barang di dalam toko dan barang yang sedang dipesan oleh toko tidak boleh
14 melebihi kapasitas penyimpanan toko.
Barang keluar dari toko berdasarkan permintaan pelanggan yang muncul di
setiap toko. Dengan demikian jumlah barang yang tersedia di dalam toko itu adalah
jumlah inventory di dalam toko dikurangi dengan jumlah permintaan tersebut. Apabila
inventory di dalam toko habis, maka pelanggan diminta menunggu pemesanan khusus
dari gudang. Dalam skripsi ini, untuk pelanggan yang meminta pemesanan khusus dari
gudang akan diberi nilai kemungkinan (probabilitas) dan berakibat inventory di gudang
akan berkurang (Roy et al., 1997).
2.2.3 Proses Permintaan
Pemodelan sistem inventory dalam skripsi ini didasarkan pada ketidakpastian
permintaan pelanggan dan ketidakpastian persediaan barang. Oleh karena itu besarnya
permintaan merupakan variabel bebas yang random.
2.2.4 Struktur Biaya
Semakin lama suatu barang berada di dalam sistem inventory retail, maka
semakin besar biaya yang dikeluarkan. Biaya penyimpanan terjadi ketika berada dalam
gudang maupun dalam toko. Dalam suatu kurun waktu, banyaknya barang di dalam
suatu gudang dikalikan dengan biaya penyimpanan barang di gudang, dan banyaknya
barang di dalam suatu toko dikalikan dengan biaya penyimpanan barang di toko. Hasil
kali kedua variabel ini akan dijumlahkan untuk mendapatkan biaya penyimpanan.
Biaya kekurangan stok barang terjadi ketika ada permintaan dari pembeli yang
tidak terpenuhi. Permintaan pembeli dapat dipenuhi oleh barang-barang yang tersedia di
toko maupun di gudang (bila pembeli memilih untuk menunggu pengiriman khusus).
15 Setiap permintaan pembeli yang tidak dapat dipenuhi oleh barang di dalam akan
menghasilkan biaya kekurangan stok barang di dalam sistem.
Biaya transportasi pada model ini adalah biaya transportasi yang terjadi karena
adanya pengiriman khusus. Oleh karena itu biaya yang terjadi karena kekurangan barang
lebih besar daripada biaya transportasi yang terjadi karena adanya pengiriman khusus.
2.2.5 Parameter Yang Digunakan
Parameter-parameter dalam perhitungan pengendalian barang harus diisi dengan
data yang sebenarnya untuk memastikan bahwa karakteristik model tidak menyimpang
jauh dengan sistem inventory retailer yang berlaku.
Parameter–parameter yang digunakan dalam sistem inventory retailer meliputi
(Roy et al, 1997).
1. Jumlah toko.
2. Waktu yang digunakan untuk mengirim barang ke toko.
3. Waktu yang digunakan untuk mengirim barang ke gudang.
4. Kapasitas produksi.
5. Kapasitas gudang.
6. Kapasitas toko.
7. Kemungkinan pelanggan menunggu.
8. Biaya untuk pengiriman spesial.
9. Biaya penyimpanan gudang.
10. Biaya penyimpanan toko.
11. Permintaan rata–rata.
12. Biaya kekurangan barang (shortage).
16
Parameter-parameter tersebut harus diisi dengan data yang benar agar diperoleh
solusi yang tepat dan dapat mengatasi masalah. Dengan demikian perusahaan dapat
memberikan pelayanan ke konsumen yang lebih baik, meyediakan barang yang diminta
pelanggan, dan tidak menumpuk barang terlalu banyak di gudang.
2.3 Pengertian Jaringan
2.3.1 Latar Belakang Jaringan Syaraf Tiruan (Artificial Neural Network)
Manusia selalu berusaha mengembangan sesuatu ilmu pengetahuan yang
berguna untuk kemajuan hidupnya. Salah satunya adalah mengembangkan mesin cerdas
dengan menggunakan jaringan syaraf tiruan (Artificial Neural Network). Artificial
Neural Network yang berdasarkan operasi merupakan generasi baru dalam informasi
proses networking.
Dengan menggunakan Artificial Neural Network, diharapkan Neural Network
dapat menerapkan fleksibilitas dan kekuatan otak manusia ke dalam komputer.
Computation Network dihasilkan dengan perhitungan simpul-simpul dan koneksinya.
Operasi dasar dalam neural network disebut artificial neurons, atau simple neurons
(node). Neuron biasanya dioperasikan secara pararel atau dikonfigurasikan pada
arsitektur yang regular. Neuron juga sering dihubungkan dengan layer. Setiap koneksi
diekspresikan dengan angka atau bilangan yang disebut sebagai bobot yang dapat
diubah-ubah.
Fungsi artificial neural system didistribusikan dalam computing networks. Hanya
beberapa networks yang menyediakan respons secara langsung. Sedangkan yang lainnya
merespons secara berkala sesuai dengan time-domain behavior, yang sering disebut
17 sebagai dynamics. Pada akhirnya network memiliki kecepatan yang berbeda, sehingga
respons terhadap input juga berbeda.
Secara umum, kebanyakan neural system memerlukan proses pembelajaran
(training). Pembelajaran meliputi asosiasi, patterns, dan fungsi yang baru. Neural
network tidak memberi spesifikasi sebuah algoritma untuk dieksekusi dalam setiap
perhitungan. Neural network memilih arsitektur tertentu dengan karakteristik neuron,
weight, dan model training sendiri. Artificial neural network juga dapat melakukan
perhitungan teknik matematika, seperti minimalisasi kesalahan perhitungan.
2.3.2 Pengertian Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (Artificial Neural Network) adalah sistem pemrosesan
informasi yang mempunyai karakteristik kinerja tertentu seperti jaringan neural biologis.
Artificial neural network (dalam pembahasan selanjutnya disebut sebagai jaringan
neural saja) telah dikembangkan sebagai generalisasi model matematika dari
pengetahuan manusia atau biologi neural, yang berbasis pada beberapa asumsi.
Asumsi yang diambil dalam jaringan syaraf tiruan adalah sebagai berikut.
1. Pemrosesan informasi terjadi pada sejumlah elemen sederhana yang disebut
neuron.
2. Sinyal diberikan antar neuron lewat jalinan koneksi.
3. Setiap jalinan koneksi mempunyai bobot yang menggandakan sinyal yang
ditransmisikan.
4. Setiap neuron menerapkan fungsi aktivasi (yang biasanya non-linear) terhadap
jumlah sinyal masukan terbobot untuk menentukan sinyal keluarannya.
18
Jaringan neural terdiri atas sejumlah besar elemen pemrosesan yang disebut
neuron, unit, dan simpul. Setiap neuron terhubung dengan neuron lain dengan jalinan
koneksi langsung yang terkait dengan bobot. Bobot mewakili informasi tertentu yang
berguna untuk menyelesaikan masalah. Jaringan neuron dapat diterapkan untuk berbagai
masalah yang luas, di antaranya:
1. Penyimpanan dan pemulihan data atau pola
2. Klasifikasi pola
3. Pemetaan dari pola-pola masukkan yang serupa
4. Pencarian solusi masalah optimasi terkendali
Setiap neuron mempunyai keadaan internal yang disebut level aktivasi atau level
aktivitas yang merupakan fungsi masukan yang diterima. Secara khusus, suatu neuron
mengirimkan aktivasinya ke beberapa neuron lain sebagai sinyal. Perlu diperhatikan
bahwa neuron hanya dapat mengirimkan satu sinyal sesaat, meskipun sinyal tersebut
dipancarluaskan ke beberapa neuron lain.
Sebagai contoh dapat dilihat neuron Y yang menerima masukan dari neuron X1,
X2, dan X3 (Gambar 2.3).
Gambar 2.3 Neuron Y menerima masukkan terbobot dari neuron X1, X2, dan X3 Sumber : Widodo, Sistem Neuro Fuzzy untuk Pengolahan Informasi
Pemodelan, dan Kendali, p2.
19
Aktivasi (sinyal keluaran) dari neuro-neuron ini adalah X1, X2, dan X3. Bobot
koneksi dari neuro X1, X2, dan X3 ke neuron Y adalah W1, W2, dan W3. Masukan neto -
yin ke neuron Y adalah jumlah sinyal terbobot dari neuron X1, X2, dan X3 yaitu:
yin = W1 X1 + W2 X2 + W3 X3 ………………. (2.1)
Aktivasi y dari neuron y diberikan oleh fungsi masukan netonya: Y = f(yin )
2.4 Dynamic Programming
Dynamic Programming dapat menyelesaikan masalah inventory control dengan
pendekatan neuro-dynamic programming yang bisa melakukan perhitungan lebih
efisien.
Beberapa karakteristik Dynamic Programming adalah sebagai berikut
(Bersetkas, 2004).
1. Terdiri dari sederetan tahapan keputusan. Pada setiap tahapan keputusan
diberlakukan principle of optimality, prinsip yang menyatakan bahwa apa pun
keadaan awal dan keputusan yang dibuat, keputusan berikutnya harus
memberikan hasil yang optimal dengan melihat pada hasil sebelumnya.
2. Algoritma Dynamic Programming, memang ”exhaustive”, yaitu mencoba
seluruh kemungkinan, akan tetapi setiap hasil perhitungan pada setiap tahap akan
ditabelkan. Perhitungan pada tahap berikutnya selalu mengacu pada tabel (look-
up table) sebelumnya. Apabila sudah dihitung maka tahap tersebut tinggal
menggunakan hasil perhitungan yang sudah ada di dalam tabel. Dengan
demikian algoritma ini menjadi lebih efisien.
20
Dua keadaan inventory variabel xt, yt untuk semua ukuran waktu integer yang
tidak negative t. Keputusan ut mempengaruhi sistem yang diambil dari himpunan
berhingga u pada setiap tahap. Kedua variabel itu ditingkatkan dengan dua persamaan,
yaitu sebagai berikut (Roy et al., 1997).
xt+1 = f1(yt,wt) ……………… (2.2)
yt+1 = f2(xt,ut) ……………… (2.3)
dimana:
xt = variabel keadaan inventory sebelum keputusan
yt = variabel keadaan inventory setelah keputusan
f1, f2 = fungsi-fungsi aktifasi sistem dynamic
wt = variabel acak gangguan yang didapat dari distribusi
ut = variabel keputusan.
Dalam inventory retailer menggunakan dynamic programming terdapat biaya
persediaan barang yang dinotasikan dalam fungsi g(yt,wt), nilai fungsi biaya g(yt,wt)
didapatkan dengan cara menghitung biaya-biaya yang terjadi pada variabel keadaan yt
yang dipengaruhi oleh variabel gangguan wt.
Keadaan inventory sebelum keputusan dan keadaan inventory sesudah keputusan
memperlihatkan banyaknya barang yang tersedia. Banyaknya inventory yang sedang
dikirim ke gudang, dan yang akan tiba di gudang dinotasikan dengan q0,t pada ukuran
waktu t hari. Sama seperti q0,t, banyaknya inventory yang sedang dikirim ke toko i, dan
yang akan tiba di toko i dinotasikan dengan qi,t pada ukuran waktu t hari.
Maka vector x dipresentasikan dalam bentuk.
x = (q0,0;q0,DW; q1,0;q1,DS;….;qK,0;qK,DS) …………. (2.4)
21 dimana:
x = variabel keadaan inventory sebelum keputusan
q0,0 = banyaknya barang di gudang
qK,0 = banyaknya barang di toko ke-K
K = banyaknya toko, diberi indeks i=1,..,K
Dw = penundaan barang menuju ke gudang
DS = penundaan barang menuju ke toko
Vektor untuk keputusan direpresentasikan dalam bentuk.
ut = (a0,a1,…,aK) ………… (2.5)
dimana:
ut = variabel keputusan
a0 = banyaknya pemesanan gudang
a1,..,aK = banyaknya pemesanan dari toko
Untuk membuat banyaknya pemesanan dan persediaan barang tetap postitif, dan
kapasitas di dalam gudang dan toko tidak overloaded maka dibuat beberapa kendala.
Kendalanya antara lain.
a0 ≤ Cp ................ (2.6)
∑=
K
iia
1
< q0,0 ................ (2.7)
∑ ∑= =
+−≤Dw
T
K
iiTw aqCa
0 1,00
................ (2.8)
∑=
∀+−≤Ds
TTs KiqCa
0,11 },...,1{ε .................(2.9)
dimana:
Cp = kapasitas pemasok
CW = kapasitas gudang
22
CS = kapasitas toko.
wt = faktor acak yang memperngaruhi sistem selama waktu t.
Faktor acak wt didapat dari permintaan pelanggan yang ada di setiap toko dan
kemungkinan pelanggan untuk menunggu pengiriman khusus bila terjadi kekurangan
barang. Vektor untuk faktor acak wt direpresentasikan dalam bentuk vektor w=
(d1,…,dK), di mana setiap di adalah banyaknya permintaan yang timbul pada toko ke-i
pada suatu hari. Setiap permintaan di dihasilkan dari hasil peramalan data permintaan
pelanggan masing-masing toko dengan menggunakan metode Brown’s Double
Exponential Smoothing.
Definisikan fungsi dari yt+1 = f2 (xt,ut) dengan vektor xt dan vektor ut. Maka nilai
fungsi yang baru sama dengan.
Dwq ,0 = q0,DW + a0, .............. (2.10)
0,0q = q0,0−∑ ai + a0, .............. (2.11)
},...,1{,,, Kiaqq iDsiDsi ε∀+= .............. (2.12)
},...,1{,,0, Kiqq Dsii ε∀= .............. (2.13)
berdasarkan fungsi yt+1 = f2 (xt,ut) maka didapat nilai vektor
);;..;;;;( ,0,,10,1,00,0 DsKKDsDw qqqqqqy = .............. (2.14)
Untuk menentukan fungsi xt+1 = f1(yt,wt) maka dipakai vektor
);;..;;;;( ,0,,10,1,00,0 DsKKDsDwt qqqqqqy = .............. (2.15)
),...,( 1 kddw = .............. (2.16)
);;..;;;;( ,0,,10,1,00,01 DsKKDsDwt qqqqqqy =+ .............. (2.17)
23 Untuk menyederhanakan persamaan yang terlibat, maka transformasi xt+1 = f1(yt,wt)
dibagi menjadi tiap tahap, menggunakan },...0{,ˆ 0,1 Kiq ε , sebagai variabel perantara.
Pertama-tama, permintaan dipenuhi oleh toko menurut rumus
[ ] },...0{,ˆ 0,10,1 Kidqq i ε∀−= .............. (2.18)
Kedua, premintaan khusus dipenuhi oleh gudang bila pelanggan bersedia
menunggu ketika barang tidak tersedia di toko i menurut rumus
[ ])(ˆ 0,00,0 ii Cdqq =−= .............. (2.19)
Terakhir, banyaknya transportasi barang tergantung dari
Dwqqq ,00,00,0 ˆ += ............. (2.20)
0,0 =Dwq .............. (2.21)
},....,1{ˆ ,0,0, Kiqqq Dsiii ε∀+= .............. (2.22)
0, =Dsiq .............. (2.23)
Satu rumus untuk menghitung biaya penyimpanan di dalam dynamic
programming adalah fungsi persamaan Bellman. Di dalam skripsi ini, formula Bellman
yang dipakai adalah (Roy et al., 1997).
J*(y) = [g(y,w)] .............. (2.24)
Dalam hal ini, J*(y) adalah ongkos jangka panjang yang diharapkan terjadi pada
keadaan sesudah keputusan y. Dengan persamaan di atas, kebijakan optimal dapat
dihasilkan berdasarkan suatu fungsi nilai J* hanya dapat didefinisikan setelah keputusan.
Manajemen inventory diformulasikan dalam kerangka kerja dynamic
progamming, adapun langkah-langkah yang dilakukan sebagai berikut.
24
1. Keadaan system retailer dideskripsikan oleh vektor xt di mana masing-masing
komponen sesuai dengan buffer (Gambar 2.2).
2. Setiap keputusan ut bersesuaian dengan vektor pemesanan toko dan gudang
selama tahap waktu ke-t. Keputusan ut harus dicari sebagai dasar dari keadaan
sebelum keputusan xt.
3. Dari keadaan sebelum keputusan xt dan keputusan ut telah diberikan, maka
keadaan setelah keputusan yt dapat ditentukan hasilnya. Keadaan setelah
keputusan yt berubah karena permintaan pelanggan telah terpenuhi selama proses
transportasi.
4. Nilai dari keadaan setelah keputusan yt adalah nilai dari keadaan sebelum
keputusan selanjutnya xt+1. Transisi dari yt menuju xt+1 disebabkan karena
permintaan barang. Pada formulasi dynamic programming yang dipakai, nilai
permintaan ditentukan oleh nilai gangguan acak wt.
5. Biaya g(yt,wt) dihitung secara langsung dari biaya-biaya yang ada di dalam
sistem inventory.
Variabel yang dibutuhkan dynamic programming untuk menghitung optimasi
inventory control tidak sesuai untuk masalah kontrol persediaan barang yang kompleks,
maka digunakan Neuro-Dynamic Programming.
2.5 Neuro-Dynamic Programming
2.5.1 Pengertian Neuro-Dynamic Programming
Neuro-dynamic programming merupakan pengembangan dari dynamic
programming. Metode ini mengunakan dasar-dasar intelegensi semu (Artificial
Intelligence) yang mencakup simulasi, dan berbasis algoritma serta fungsi teknik
25 pendekatan seperti neural networks (Roy et al., 1997).
Dalam skripsi ini, dipakai pendekatan neuro-dynamic programming untuk
mengoptimalkan sistem inventory retail (Nahmias dan Smith, 1993). Optimasi sistem
inventory retail membahas permasalahan pada pemesanan dan penempatan persediaan
barang di dalam gudang dan toko untuk memenuhi permintaan pelanggan. Optimasi
sistem inventory retail secara serempak akan meminimumkan biaya pergudangan dan
transportasi.
Dalam memilih algoritma neuro-dynamic untuk tujuan manajemen inventory
retail, dipilih dua macam algoritma neuro-dynamic yaitu approximate policy iteration
dan online temporal difference method.
2.5.2 Pengertian Approximate Policy Iteration
Approximate policy iteration (kebijakan pendekatan iterasi) adalah generalisasi
kebijakan iterasi, sebuah algoritma klasik di dalam dynamic programming. Algoritma
kebijakan iterasi menghasilkan sederetan ui. Awalan kebijakan u0 pada umumnya dipilih
dari heuristik yang layak, dan fungsi biaya Ju0 di dalam kebijakan tersebut dihitung
(setiap tahap mempunyai satu nilai yang berbeda dengan tahap yang lain). Lalu, nilai u1
dihasilkan berdasarkan persamaan (Roy et al., 1997):
u1(x) = min Ju0(f 2(x, u)) .............. (2.25)
Persamaan di atas diulang untuk menghasilkan nilai kebijakan selanjutnya.
Untuk masalah dengan jumlah kebijakan yang terbatas, nilai ui sama dengan nilai u* dan
nilai Jui sama dengan nilai J* untuk suatu nilai i. Di dalam kebijakan pendekatan iterasi,
sebagai ganti dihitungnya fungsi biaya Jui pada setiap iterasi, fungsi ini dihampiri oleh
26 sejumlah arsitektur )(., irJ , di mana ri adalah parameter vektor yang terpilih untuk
membuat )(., irJ mendekati Jµi. Nilai kebijakan yang berikutnya dihasilkan oleh
Persamaan:
u i+1(x) = min )),,(( 2 iruxfJ .............. (2.26)
Ada banyak metode yang dipakai untuk pendekatan Jµi pada kebijakan iterasi ke-
i. Metode yang dipakai di dalam skripsi ini adalah on-line temporal difference method
(metode perbedaan sementara secara on-line), di mana pada setiap iterasi, metode ini
secara efektif menghitung parameter vektor.
2.5.3 Pengertian Online Temporal Difference Method
Algoritma perbedaan sementara (temporal-difference) sudah diaplikasikan
dengan sukses untuk beberapa aplikasi skala besar di dalam neuro-dynamic
programming.
Vektor r0 bernilai sama dengan vektor x0, begitu pula vektor rt bernilai sama
dengan vektor xt. Proses neuro-dynamic programming yang mengunakan online
temporal difference method adalah sebagai berikut (Roy et al., 1997).
1. Keadaan sebelum keputusan xo adalah sebagai simulator, dan kontrol u0 dihitung
dari
u0 = min )),,(( 002 ruxfJ .............. (2.27)
2. Jalankan simulator menggunakan kontrol u0 untuk mendapatkan keadaan setelah
keputusan yang pertama
),( 020 uxfy = .............. (2.28)
27
3. Pada waktu t, jalankan simulator menggunakan kontrol ut untuk mendapatkan
keadaan sebelum keputusan selanjutnya
xt+ 1 = f 1 ( yt,wt) .............. (2.29)
4. Dapatkan kontrol ut+1dengan cara
u t + 1 = min J ( f 2( xt + 1, u),rt ) .............. (2.30)
5. Jalankan simulator menggunakan kontrol ut+1 untuk mendapatkan keadaan
setelah keputusan.
yt+1 = f 2( x t + 1, u t+1) .............. (2.31) 6. Ulangi ke langkah 3 selama waktu transportasi yang dibutuhkan.
2.5.4 Algoritma Neuro-Dynamic Programming
Algoritma Neuro-Dynamic Programming dapat ditulis sebagai berikut (Roy et
al., 1997).
1. Mulai dengan t = 0.
2. Tentukan vektor wt = (d1,d2,d3). Besaran di merupakan permintaan yang terjadi di
Toko i. Vektor wt = (d1,d2,d3) ditentukan dari hasil peramalan data permintaan
pelanggan masing-masing toko dengan menggunakan metode Brown’s Double
Exponential Smoothing
3. Tentukan vektor xt = (q0,0;q0,DW; q1,0;q1,DS;….;qK,0;qK,DS). Besaran DW adalah waktu
transportasi dari pemasok ke gudang, DS adalah waktu transportasi dari gudang
ke toko, q0,0 adalah banyak stok barang awal di dalam gudang, q0,DW adalah
banyak stok barang pada waktu transportasi di dalam gudang, qK,0 adalah banyak
stok barang awal di dalam toko K, qK,DW adalah banyak stok barang dikurangi
dengan permintaan di toko K.
28
4. Tentukan vektor rt = vektor xt = (q0,0;q0,DW; q1,0;q1,DS;….;qK,0;qK,DS).
5. Tentukan vektor u = (a0,a1,…,aK) berdasarkan banyak pemesanan yang dilakukan
oleh bagian pembelian. Besaran a0 adalah pemesanan untuk gudang dan aK
adalah pemesanan untuk toko K.
6. Tentukan vektor );;..;;;;(),( ,0,,10,1,00,02 DskKDsDwt qqqqqquxf = ,
Dengan 0,, aqq DwoDwo += ; ∑ +−= 00,0, aaqq ioo ; iissiDsi aqq += ,, ,
},...,1{ Kiε∀ , },...,1{,,0,1 Kiqq Dsi ε∀= ,
7. Tentukan vektor biaya g(f2(xt,u)).
8. Tentukan vektor biaya g(rt)
9. Hitung fungsi )),,(( 2 tt ruxfJu = . Dengan menentukan minimum dari fungsi
biaya J*(y) = g(f2(x0,u)) dan fungsi biaya J*(y) = g(rt).
10. Tentukan vektor );;..;;;;(),( ,0,,10,1,00,02 DskKDsDwttt qqqqqquxfy == dengan
cara yang sama dengan langkah 6.
11. Tentukan vektor );;..;;;;(),( ,0,,10,1,00,011 DskKDsDwtttt qqqqqqwyfx == ++ ,dengan
[ ] },...0{,ˆˆ 0,10,1 Kidqq i ε∀−= , 0ˆ 0,0 =q , bila perminataan pelanggan dapat dipenuhi
oleh persediaan di dalam toko. Bila permintaan pelanggan tidak dapat dipenuhi
oleh persediaan di dalam toko maka 0ˆ 0, =iq dan [ ]ii Cdqq −+= (ˆˆ 0,00,0 . Lalu
Dwooo qqq ,0,0, ˆ += , 0, =Dwoq , },...0{),(ˆˆ ,0,10,1 KiCdqqq iiDsi ε∀−+−= , 0, =Dsiq .
12. Kemudian dihitung biaya g(yt,wt).
13. Update t = t + 1, setelah itu update vektor rt, f2(xt,u), ut = min J f2(xt,u), rt) ,
yt=f2(xt,ut), wt, x1= ft+1(yt,wt) dengan cara diiterasi ketahap 2 sebanyak waktu
29
transportasi yang dibutuhkan untuk mengirim barang dari gudang ke toko atau
bila stok barang masih lebih kecil daripada selisih permintaan rata-rata.
2.6 Proses Pengumpulan Data
Dalam menghitung optimasi persediaan barang (inventory) dengan metode
neuro-dynamic programming, diperlukan parameter-parameter yang mempengaruhi
persediaan barang tersebut di dalam gudang dengan cara pengamatan dan pengambilan
data dari database perusahaan.
Parameter-parameter tersebut antara lain:
a. Kapasitas gudang
b. Kapasitas pemasok
c. Jumlah stok barang yang tersedia di dalam gudang
d. Biaya penyimpanan per unit
e. Biaya kekurangan barang
f. Biaya pengiriman khusus
g. Permintaan rata-rata.
Untuk mendapatkan biaya kekurangan barang (shortage), besarnya adalah
keuntungan yang didapat dari penjualan barang tersebut. Permintaan rata-rata
didapatkan dengan cara merata-ratakan permintaan dari pelanggan selama jangka waktu
transportasi barang dari gudang ke toko.
Setelah mendapatkan semua parameter tersebut, maka harus didapatkan pula
banyaknya pemesanan gudang dan pemesanan setiap toko yang biasa dilakukan oleh
bagian pembelian. Dalam melakukan pemesanan ada batasan-batasan yang tidak boleh
dilampaui.
30 Batasan-batasan itu antara lain adalah sebagai berikut.
a. Jumlah pemesanan setiap toko tidak dapat melebihi kapasitas toko dikurangi
dengan stok barang yang tersedia di dalam toko.
b. Total pemesanan yang dilakukan oleh toko-toko tidak boleh melebihi jumlah
stok barang yang tersedia di dalam gudang.
c. Pemesanan gudang tidak dapat melebihi kapasitas pemasok untuk mengirimkan
barang ke gudang.
d. Pemesanan gudang tidak dapat melebihi kapasitas gudang ditambah dengan total
pemesanan yang dilakukan oleh toko dikurangi dengan stok barang yang ada di
dalam gudang.
2.7 Peramalan dan Deret Waktu (Forecasting and Times Series)
2.7.1 Peramalan (Forecasting)
Peramalan merupakan prediksi nilai-nilai sebuah peubah berdasarkan kepada
nilai yang diketahui dari variabel tersebut atau variabel yang berhubungan (Makridakis
et al., 1999, p24).
Peramalan adalah alat vital dalam persediaan barang. Dengan peramalan,
diperkirakan bagaimana urutan permintaan pelanggan terhadap barang yang terus
berlanjut pada masa mendatang.
Terdapat banyak metode dalam peramalan yang dibagi dalam 4 kategori sebagai
berikut.
1. Metode Penghakiman (Judgement Methods)
Metode ini mencoba untuk mengumpulkan data dan menganalisis pendapat ahli
secara sistematis untuk mencapai sebuah konsensus.
31
2. Metode Penelitian Pasar (Market Research Methods)
Penelitian pasar adalah alat yang berguna untuk mengembangkan perkiraan,
terutama untuk produksi baru. Saran atau masukan dari pelanggan melalui
telepon, wawancara, dan survei tertulis adalah sumber utama untuk
memperkirakan permintaan produk.
3. Metode Akibat (Causal Methods)
Dengan metode ini diasumsikan variabel yang diinginkan untuk meramalkan
berkorelasi tinggi dengan beberapa bagian data yang lain. Sebagai contoh,
perkiraan penjualan untuk satu bulan berikutnya adalah fungsi dari pendapatan
kotor, cuaca, atau laju import.
4. Metode Deret Waktu (Times Series Methods)
Dalam metode deret waktu, digunakan data masa lalu untuk memperkirakan data
masa depan. Ada beberapa teknik dalam metode deret waktu untuk peramalan,
yaitu rata-rata bergerak (moving average), pemulusan eksponensial (exponential
smoothing), dan sebagainya.
2.7.2 Brown’s Double Exponential Smoothing
Metode Brown’s Double Exponential Smoothing menggunakan koefisien α
(alpha) yang bernilai antara 0 dan 1 untuk operasi pemulusannya. Metode ini melakukan
pengukuran trend dengan cara menghitung perbedaan antara pemulusan tunggal dan
ganda. Lalu menambahkan nilai tersebut dengan nilai pemulusan tunggal dengan
penyesuaian untuk mendapatkan nilai trend yang sesuai.
32
Model Brown’s Double Exponential Smoothing diimplementasikan dengan
menggunakan beberapa persamaan berikut (Makridakis et al., 1999, p111).
1')1(' −−+= ttt SXS αα .............. (2.32)
1")1('" −−+= ttt SSS αα .............. (2.33)
tttttt SSSSSa "'2)"'(' −=−+= .............. (2.34)
)"'(
1 ttt SSb −−
=α
α
............. (2.35)
mbF ttmt +=+ α ............. (2.36)
dimana :
S’t = single exponential smoothing
S”t = double exponential smoothing
tα = nilai pemulusan diakhir periode t
bt = penduga trend di akhir periode t
m = rentang waktu peramalan
Persamaan berikut menunjukkan metode umum untuk menghitung nilai awal
atau inisialisasi nilai variabel dari metode ini.
S’1 = S”1= X1 ............. (2.37)
a1 = X1 ............. (2.38)
2
)()( 34121
XXXXb −+−= ............. (2.39)
Kelebihan metode Brown’s Double Exponential Smoothing adalah dapat
memodelkan trend dan tingkat dari suatu deret waktu, secara perhitungan lebih efisien
dibandingkan dengan double moving averages (rata-rata bergerak ganda), memerlukan
33 data yang lebih sedikit, karena hanya satu parameter yang digunakan sehingga optimasi
parameter menjadi sederhana.
Kekurangan metode Brown’s Double Exponential Smoothing adalah metode ini
memerlukan optimasi parameter, sehingga diperlukan waktu untuk mencari α yang
paling optimal.
2.7.3 Ketepatan Metode Peramalan
Makridakis et al. (1999, p57) mengatakan bahwa dalam banyak hal, kata
“ketepatan (accuracy)”, menunjuk ke “kebaikan sesuai”, yang pada akhirnya
penunjukan seberapa jauh model peramalan tersebut mampu mereproduksi data yang
telah diketahui. Dalam permodelan deret berkala, sebagian data yang diketahui dapat
digunakan untuk meramalkan sisa data berikutnya, sehingga memungkinkan orang
untuk mempelajari ketepatan ramalan secara lebih langsung. Bagi pembuat model,
kebaikan sesuai model untuk fakta yang diketahui harus diperhatikan.
Jika Xt merupakan data aktual untuk periode t dan Ft merupakan ramalan (fitted
value) untuk periode yang sama, maka kesalahan didefinisikan sebagai berikut.
Et = Xt - Ft ............. (2.40)
Jika terdapat nilai pengamatan dan ramalan untuk n periode waktu, maka akan
terdapat n buah galat dan ukuran statistik yang dapat didefinisikan sebagai berikut
(Makridakis, 1999, p61).
• Nilai Tengah Galat (Mean Error)
∑=
=n
iie
nME
1
1 ............. (2.41)
34
• Nilai Tengah Galat Absolut (Mean Absolute Error)
∑=
=n
iie
nMAE
1
1 ............. (2.42)
• Jumlah Kuadrat Galat (Sum of Squared Error)
2
1∑=
=n
iieSSE ............. (2.43)
• Nilai Tengah Galat Kuadrat (Mean Squared Error)
neMSEn
ii /
1
2∑=
= ............. (2.44)
• Deviasi Standart Galat (Standart Deviation of Error)
)1/(1
2 −= ∑=
neSDEn
ii
............. (2.45)
Selain kelima ukuran standar di atas, ada juga beberapa ukuran relatif yang dapat
digunakan sebagai berikut (Makridakis, 1999, p62).
• Galat Persentase (Percentage Error)
%100xX
FXPEt
ttt
−= ............. (2.46)
• Nilai Tengah Galat Persentase (Mean Percentage Error)
∑=
=n
iiPE
nMPE
1
1 ............. (2.47)
• Nilai Tengah Galat Persentase Absolut (Mean Absolute Percentage Error)
∑=
=n
iiPE
nMAPE
1
1 ............ (2.48)
• Statistika Durbin-Watson
∑
∑=
−−=− 2
1
21 )(
t
n
ttt
e
eeWD ............ (2.49)
35 2.8 Rekayasa Perangkat Lunak (RPL)
2.8.1 Pengertian Rekayasa Perangkat Lunak (RPL)
Menurut Pressman (2002, p28), rekayasa perangkat lunak adalah pengembangan
dan pengunaan prinsip pengembangan suara untuk memperoleh perangkat lunak secara
ekonomis yang reliabel dan bekerja secara efisien pada mesin nyata.
2.8.2 Tujuan Rekayasa Perangkat Lunak (RPL)
Tujuan rekayasa perangkat lunak adalah sebagai berikut (Mulyanto, 2008, p3).
a. Memperoleh biaya produksi perangkat lunak yang rendah.
b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu.
c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.
d. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
2.8.3 Model Proses Rekayasa Perangkat Lunak (RPL)
System Development Life Cycle (SDLC) adalah kerangka kerja yang terstruktur
yang terdiri dari urutan proses oleh sistem informasi yang dikembangkan. Dalam skripsi
ini digunakan pendekatan waterfall ke SDLC, di mana tugas-tugas dalam satu tahap
telah selesai sebelum melanjutkan pekerjaan ke tahap berikutnya (Potter, 2003).
36
Gambar 2.4 Model waterfall
Sumber: Turban Rainer Potter et al, Introduction to Information Technology, p45
Adapun penjelasan setiap tahap adalah sebagai berikut.
1. Systems Investigation
Semakin banyak waktu yang diinvestasikan dalam usaha memahami program
yang harus dipecahkan, dalam memahami pilihan teknis untuk sistem dan
pemahaman masalah yang mungkin terjadi selama perkembangan, semakin besar
kesempatan untuk benar-benar berhasil memecahkan (benar) masalah. Untuk
alasan ini, system investigation dimulai dengan masalah bisnis.
2. Systems Analysis
Systems analysis adalah pemeriksaan bisnis organisasi terencana untuk
memecahkan masalah dengan sistem informasi. Tahap ini mendefinisikan
masalah bisnis,mengidentifikasi penyebabnya, menentukan solusi dan
mengidentifikasi persyaratan informasi bahwa solusi harus terpenuhi.
37
3. Systems Design
Systems analysis menggambarkan apa yang harus dilakukan untuk memecahkan
masalah bisnis, dan systems design yang menggambarkan bagaimana sistem akan
menyelesaikan tugas ini.
4. Programming
Programming melibatkan terjemahan spesifikasi desain ke dalam kode
komputer. Proses ini dapat menjadi panjang dan memakan waktu.
5. Testing
Testing akan memeriksa untuk melihat apakah kode komputer akan
menghasilkan hasil yang diharapkan dan mengalami kondisi tertentu. Testing
membutuhkan sejumlah besar waktu, tenaga dan biaya untuk melakukan dengan
benar.
6. Implementation
Implementation adalah proses konversi dari sistem lama ke sistem baru.
7. Operation and Maintenance
Setelah konversi, sistem baru akan beroperasi selama jangka waktu tertentu,
sampai (seperti yang lama digantikan oleh sistem baru) itu tidak lagi memenuhi
tujuannya. Sistem memerlukan beberapa jenis maintenance. Tipe pertama adalah
debugging, sebuah proses yang berlanjut sepanjang hidup dari sistem. Tipe
kedua adalah memperbarui sistem untuk mengakomodasi perubahan dalam
kondisi bisnis.
38 2.8.4 Interaksi Manusia dan Komputer
Menurut Shneiderman (1998, p74-75) dalam perancangan sebuah interface
terdapat aturan-aturan yang telah dikenal dengan Eight Golden Rules of Interface
Design (delapan aturan emas).
1. Berusaha keras untuk konsisten (strive for consistency).
Konsisten ini adalah konsisten dalam penggunaan bentuk dan ukuran font,
pemberian warna pada latar belakang dan tulisan, pembuatan layout.
2. Memungkinkan pengguna menggunakan shortcut sesering mungkin (enable
frequent users to use shortcuts).
Pengurangan jumlah interaksi melalui fasilitas shortcuts memberikan manfaat
bagi pengguna dalam memberikan waktu respon dan waktu tampilan yang cepat.
3. Memberikan umpan balik yang informatif (offer informative feedback).
Untuk setiap tindakan yang dilakukan oleh user, harus diberikan umpan balik
(feed back). Umpan balik dapat berupa tampilan ataupun suara sehingga
pengguna mengetahui bahwa pernagkat lunak tersebut memberikan respon.
4. Merancang dialog untuk menghasilkan keadaan akhir (design dialogs to yield
closure).
Urutan dari tindakan harus diatur ke dalam suatu kelompok yang memiliki
bagian awal, bagian tengah, dan bagian akhir. Umpan balik yang informatif
dalam penyelesaian tindakan-tindakan akan memberikan kepuasan bagi pemakai.
5. Memberikan penanganan kesalahan yang sederhana (offer error prevention and
simple error handling).
39
Dalam mendesain, sedapat mungkin diberikan error prevention, contohnya, pada
menu untuk memasukkan nama, user tidak diperbolehkan untuk memasukkan
angka. Jika user melakukan kesalahan, sistem harus dapat mendeteksi kesalahan
tersebut dan menampilkan kesalahan si pengguna dan memberikan contoh
penggunaan yang benar secara sederhana.
6. Mengizinkan pembalikan aksi dengan mudah (permit easy reversal of actions).
Dalam melakukan desain, sebisa mungkin diberikan undo. Hal ini akan
memudahkan user jika melakukan kesalahan yang tidak disengaja ketika sedang
mengerjakan sesuatu.
7. Menyediakan kendali internal bagi user (support internal locus of control).
Sistem harus dirancang supaya user merasa menguasai sistem dan sistem akan
memberi respon atas tindakan yang diberikan.
8. Mengurangi muatan memory jangka pendek (reduce short-term memory load).
Manusia mempunyai keterbatasan dalam mengingat sehingga memerlukan
tampilan sederhana, tampilan halaman-halaman dapat digabungkan, dan
pergerakan Windows dapat dikurangi.
2.8.5 Unified Modeling Language (UML)
UML (Unified Modeling Language) adalah penyulingan dari tiga notasi utama
dan sejumlah teknik pemodelan yang diambil dari beragam luas metodologi yang telah
dalam praktek selama dua dekade sebelumnya. Selama kali ini memiliki dampak tak
terbantahkan tentang cara kita memandang pengembangan sistem (Tom Pender, 2003).
UML memiliki beberapa diagram yang digunakan dalam menggambarkan suatu
sistem.
40
Dalam skripsi ini, digunakan diagram sebagai berikut.
1. Use case diagram
Menggambarkan sekumpulan use case dan actor dan hubungan antara mereka.
Gambar 2.5 Contoh Use Case Diagram
Sumber: Tom Pender, UML Bible, chapter 12
Adapun komponen-komponen di dalam use case diagram adalah sebagai
berikut.
a. Actor: sebuah peran yang dimainkan oleh orang, sistem, perangkat, atau
bahkan sebuah perusahaan, yang memiliki saham dalam keberhasilan sistem
operasi.
b. Use Case: mengidentifikasi perilaku kunci dari sistem. Tanpa perilaku ini,
sistem tidak akan memenuhi persyaratan aktor.
c. Association: mengidentifikasi interaksi antara aktor dan use case. Setiap
asosiasi menjadi sebuah dialog yang harus dijelaskan dalam kasus
menggunakan narasi.
41
d. Include relationship: mengidentifikasi penggunaan yang dapat digunakan
kembali kasus yang tanpa syarat dimasukkan ke dalam pelaksanaan
penggunaan lain kasus. Tanggung jawab untuk keputusan tentang kapan dan
mengapa menggunakan use case yang disertakan terletak dengan
menggunakan pemanggilan kasus.
e. Extend relationship: mengidentifikasi suatu kasus yang dapat digunakan
kembali menggunakan kondisional mengganggu pelaksanaan kasus
penggunaan lain untuk meningkatkan fungsinya. Tanggung jawab untuk
memutuskan saat memperpanjang kasus penggunaan harus digunakan
terletak pada penggunaan memperpanjang kasus ini.
2. Sequence diagram
Merupakan diagram interaksi yang menekankan pada urutan waktu dari
pertukaran message.
Gambar 2.6 Contoh Sequence Diagram Sumber: Tom Pender, UML Bible, chapter 9
42 2.8.6 Diagram Alir (Flow Chart)
Diagram alir adalah sebuah skema yang mempresentasikan sebuah algoritma
atau sebuah proses. Adapun simbol-simbol dari diagram alir yang digunakan dalam ilmu
komputer seperti pada Tabel 2.1
Tabel 2.1 Simbol-simbol dalam diagram alir Sumber: Tom Pender, UML Bible, chapter 7
Notasi Arti Notasi
Proses
Predefined Proses
Operasi input / output
Decision, berupa pertanyaan atau penentuan suatu keputusan
Terminal, untuk menandai awal dan akhir program
Panah, sebagai penghubung antar komponen dan penunjuk arah
Manual input, input dari pengguna
On-page connector, sebagai penghubung dalam satu halaman
Off-page connector, sebagai penghubung antar halaman yang bersedia