Upload
vukhanh
View
217
Download
0
Embed Size (px)
Citation preview
22
BAB 3
LANDASAN TEORI
3.1. Pengertian Pesediaan
Persediaan (inventory) dapat dikatakan sebagai persediaan dari suatu bahan atau
material yang telah memudahkan produksi atau memuaskan permintaan pelanggan.
(Schroeder, 1993, p580).
Persediaan mempunyai banyak pengertian terhadap beberapa hal yang berbeda,
diantaranya: (Tersine, 1994, p3)
1. Stock on Hand pada suatu waktu tertentu (material dapat dilihat, dihitung, dan
diukur).
2. Daftar per item dari semua aset fisik.
3. Untuk menentukan jumlah item yang harus ada di “tangan”.
4. (Dalam konteks dokumen bagian keuangan) nilai stok barang yang dimiliki
oleh perusahaan pada waktu tertentu.
3.2. Tujuan Persediaan
Persediaan memiliki beberapa tujuan, beberapa yang terpenting adalah:
(Stevenson, 1999, p560)
1. Untuk memenuhi permintaan pelanggan
Hal tersebut berkenaan dengan keinginan untuk memuaskan rata-rata
konsumen.
2. Untuk melancarkan permintaan produksi
23
3. Untuk menghindari terjadinya stockouts
Keterlambatan pengiriman dan peningkatan permintaan yang tidak diharapkan
akan meningkatkan resiko kekurangan. Keterlambatan dapat terjadi karena
kondisi cuaca, supplier stockouts, pengiriman material yang salah, masalah
kualitas, dan sebagainya. Resiko tersebut dapat dikurangi dengan memiliki
safety stock, yaitu stock yang lebih dari permintaan rata-rata untuk
mengimbangi variabilitas pada permintaan dan lead time.
4. Untuk menghasilkan keuntungan pada siklus permintaan
Untuk meminimasi biaya penjualan dan inventory, perusahaan sering membeli
dengan jumlah yang lebih dari permintaan dalam waktu dekat. Biasanya, lebih
ekonomis untuk memproduksi dalam jumlah banyak. Kelebihan output harus
disimpan untuk penggunaan yang akan datang. Dengan demikian, penyimpanan
inventory memungkinkan perusahaan untuk membeli dan berproduksi atau
produksi dengan permintaan. Hasil ini digunakan untuk periodik order atau
siklus order.
5. Untuk menghindari peningkatan harga
Biasanya perusahaan akan mengira bahwa besarnya kenaikan harga adalah
mengenai pemesanan dalam jumlah yang besar, melebihi normal. Kemampuan
untuk menyimpan barang-barang juga akan membuat perusahaan mendapat
keuntungan dari harga diskon untuk permintaan dalam jumlah besar.
3.3. Macam-macam Persediaan
Persediaan dapat digolongkan dalam dua bentuk, yaitu berdasarkan proses
produksinya dan berdasarkan fungsi.
24
3.3.1. Persediaan berdasarkan proses produksi
Persediaan berdasarkan proses produksinya dapat dibedakan menjadi: (Assauri,
1975, p234-235)
1. Persediaan bahan mentah (raw materials)
Merupakan persediaan barang-barang berwujud, seperti baja, kayu, dan
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.
2. Persediaan komponen-komponen rakitan (purchased parts / components)
Merupakan persediaan barang-barang yang terdiri dari komponen-
komponen yang diterima dari perusahaan lain, dimana secara langsung
dapat dirakit menjadi suatu produk.
3. Persediaan bahan pembantu atau penolong (supplies)
Adalah persedian barang yang diperlukan dalam proses produksi, tetapi
tidak merupakan bagian atau komponen barang jadi.
4. Persediaan barang dalam proses (work in process)
Adalah 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)
Adalah persediaan barang yang telah selesai diproses atau diolah dalam
pabrik dan siap untuk dijual atau dikirim kepada pelanggan.
25
3.3.2. Persediaan Berdasarkan Fungsi
Macam-macam persediaan yang umum dimiliki pada suatu perusahaan antara
lain: (Tersine, 1994, p7-8)
1. Working Stock (Cycle atau Size Stock)
Adalah persediaan yang diperlukan dan disimpan sebelum diperlukan agar
pemesanan dapat dilakukan dalam bentuk lot sejumlah yang diinginkan.
Ukuran lot ini bertujuan untuk meminimasi biaya pemesanan dan
penyimpanan, dan mendapatkan potongan harga secara umum, jumlah rata-
rata persediaan on hand yang dihasilkan dari ukuran lot membentuk stock
aktif suatu organisasi.
2. Safety Stock (Buffer atau Fluctuation Stock)
Adalah persediaan yang disimpan untuk mengantisipasi kemungkinan
supply dan demand yang tidak pasti. Dalam siklus pemenuhan kembali,
stock ini berfungsi sebagai tameng terhadap kekurangan stock.
3. Anticipation Stock (Seasonal atau Stabilization Stock)
Adalah persediaan yang digunakan untuk menghadapi permintaan musiman
yang memuncak, keperluan sampingan (promosi, pemogokan buruh,
penutupan karena libur). Stock ini disediakan atau diproduksi sebelum
diperlukan dan berkurang selama permintaan puncak, dengan harapan agar
tingkat produksi rata-rata tetap tercapai dan jumlah tenaga kerja tetap stabil.
4. Pipelaine Stock (Biasanya timbul sebagai stock transit dalam work-in-
process)
Adalah persediaan yang ada dalam transit untuk mengetahui waktu yang
dihabiskan untuk menerima material pada akhir input, mengirim material
26
melewati proses produksi, dan mengirim hasil akhir pada akhir output.
Secara eksternal, stok pipeline adalah persediaan pada truk, kapal, dll.
Secara internal, saat diproses, menunggu untuk diproses dan saat
dipindahkan.
5. Decoupling Stock
Adalah persediaan yang diakumulasikan antara aktivitas tidak bebas untuk
mengurangi permintaan untuk melengkapi operasi yang tersinkronisasi. Hal
ini mengisolasi satu part dari sistem agar setiap operasi dapat lebih
terbebaskan. Hal ini merupakan pemulusan untuk sistem suplai-produksi-
distribusi yang melindungi dari pergeseran yang berlebihan.
3.4. Motivasi Dalam Persediaan
Motivasi suatu perusahaan dalam menyimpan persediaan adalah: (Nahmias,
1997, p213-214)
1. Skala Ekonomis
Banyak perusahaan yang memproduksi barang yang sejenis dalam perusahaan
tersebut dengan menggunakan mesin yang sama. Mesin tersebut harus diatur,
maka suatu jenis barang yang sama diproduksi dalam jumlah yang banyak juga
untuk keperluan di masa yang akan datang untuk mengurangi biaya pengaturan
mesin tersebut.
2. Ketidakpastian
Ketidakpastian ini yang menjadi motif utama perusahaan untuk menyimpan
persediaan. Ketidakpastian terhadap permintaan dari luar sangat penting.
Karena seringkali terjadi permintaan dari konsumen, jika ternyata tidak dapat
27
dipenuhi, maka konsumen tersebut akan kecewa dan di masa mendatang tidak
akan membeli pada perusahaan lagi. Selain terhadap permintaan ketidakpastian
yang lain yaitu terhadap waktu tunggu (lead time). Lead time ini didefinisikan
sebagai sejumlah waktu yang diperlukan dari saat barang dipesan sampai
pesanan tersebut sampai.
3. Spekulasi
Jika nilai suatu barang diprediksikan akan meningkat, akan lebih ekonomis
untuk menyimpan persediaan dalam jumlah besar.
4. Transportasi
Jika transportasi lama, pesanan dalam jumlah cukup besar dapat menghemat
biaya dan waktu transportasi.
5. Pemulusan
Perubahan dalam pola permintaan dari suatu produk dapat bersifat
deterministrik maupun acak. Persediaan dapat mengantisipasi permintaan di
saat puncak.
6. Logistik
Beberapa pembatas dapat meningkatkan pembelian, produksi, atau distribusi
dari barang yang akan menekan sistem pada persediaan utama. Salah satu kasus
yaitu barang yang dibeli harus dalam jumlah yang minimum, dan yang lain
yaitu masalah logistik dimana dimungkinkan untuk mengurangi semua
persediaan sampai nol dan mengharapkan produksi secara terus-menerus.
28
7. Mengontrol biaya
Biaya untuk menyimpan persediaan tidaklah sama jika persediaan tersebut
disimpan dalam jumlah yang besar atau kecil. Akan lebih mudah jika
perusahaan menyimpan persediaan dalam jumlah besar.
3.5. Biaya-biaya Dalam Persediaan
Tujuan dari persediaan adalah untuk mendapatkan jumlah yang tepat untuk
barang pada tempat dan waktu yang tepat, serta mempunyai biaya yang rendah.
Ada beberapa parameter ekonomi dasar untuk model persediaan yang relevan untuk
sebagian besar sistem, yaitu: (Tersine, 1994, p13)
1. Purchase Cost (Biaya Pembelian)
Biaya pembelian dari suatu barang adalah biaya untuk membeli satu satuan
barang jika diperoleh dari sumber eksternal atau memproduksi satu satuan
barang jika barang tersebut diproduksi secara internal. Biaya per unit ini harus
selalu dibebankan ketika barang tersebut ditempatkan sebagai persediaan.
Untuk barang yang dibeli, pembelian ini termasuk biaya transportasi, sedangkan
untuk barang yang diproduksi, biaya pembelian ini termasuk upah karyawan,
biaya bahan baku dan overhead pabrik.
2. Order / Setup Cost (Biaya Pemesanan) (Tersine, 1994, p14)
Biaya pemesanan ini berasal dari biaya yang timbul setiap dilakukan
pemesanan untuk pemenuhan kembali persediaan yang dimiliki. Pada saat
pemesanan dilakukan, sejumlah biaya tertentu yang berkaitan yaitu pemrosesan,
penyiapan, pendistribusian, penanganan dan pembelian sejumlah barang yang
dipesan.
29
3. Holding Cost (Biaya Simpan) (Stephen Love, 1976, p6)
Biaya yang mempengaruhi inventori dimulai dengan investasi. Biaya yang
berhubungan dengan penambahan stock diambil dari pendapatan dari
pengembalian. Biaya ini merupakan biaya ‘opportunity’, yang biasanya
dinyatakan dalam bentuk persentase dari investasi. Kekurangan yang terdapat
dalam hal tersebut berkenaan dengan harga yang tepat dari persentase yang
disajikan, walau demikian ‘capital cost’ dapat menjadi satu-satunya biaya
simpan yang signifikan. Investasi persediaan harus terakomodasi secara fisik.
Besarnya biaya simpan tidak tergantung pada banyaknya abrang yang disimpan,
namun demikian beberapa biaya harus dinyatakan. Level inventori yang
semakin tinggi dapat membuat penambahan kepemilikan gudang atau biaya
sewa. Material handling akan meningkat penggunaannya, seiring dengan
bertambahnya jarak tempuh yang lebih jauh karena barang-barang harus
disimpan dengan jarak yang lebih tinggi biasanya juga meningkatkan resiko
busuk pada barang yang disimpan (kecuali yang disimpan adalah keju atau
anggur), usang, dan pencurian atau biaya-biaya yang ada dapat mengurangi
resiko-resiko tersebut. Pajak barang secara berkala akan dikenakan pada
inventory on hand pada waktu tertentu atau rata-rata akhir periode.
4. Stockout Cost (Biaya kekurangan persediaan) (Tersine, 1994, p14-15)
Biaya stockout ini terjadi ketika suatu pesanan tidak dapat dipenuhi dari
persediaan yang ada pada saat pesanan tersebut diterima. Ada dua jenis biaya
stockout ini, yaitu lost sales cost dan backorder cost. Biaya ini sulit diukur
secara akurat.
30
a. Lost Sales Cost terjadi bila konsumen dihadapkan pada suatu keadaan
dimana pesanan tidak dapat dipenuhi sehingga mereka membatalkan
pesanan tersebut. Biaya ini biasanya termasuk keuntungan yang akan
diterima dan kemungkinan negatif dalam hal penjualan di masa yang akan
datang.
b. Backorder Cost terjadi bila konsumen akan menunggu sampai pesanan
dapat dipenuhi, sehingga penjualan tetap terjadi, tetapi tertunda. Backorder
ini dapat menyebabkan tambahan biaya seperti dalam hal transportasi dan
pemesanan. Biaya backorder ini lebih mudah diprediksi.
3.6. Item Penting Persediaan
Terdapat beberapa item penting persediaan yang berkaitan dengan penentuan
jumlah persediaan yang optimal dan biaya total yang optimal, yaitu:
1. Permintaan (Demand) (Nahmias, 1997, p215)
Terdapat asumsi tentang pola dan karakteristik dari permintaan seringkali
menjadi hal yang paling signifikan dalam penentuan kekompleksan dari
pengendalian persediaan
a. Konstan dan variabel. Model persediaan yang sederhana mengasumsikan
bahwa tingkat permintaan adalah konstan. Model EOQ dan perluasan dari
model ini didasarkan pada asumsi ini. Selain itu juga terdapat permintaan
yang berubah-ubah pada konteks yang beragam.
b. Pasti dan acak. Sangat mungkin bahwa permintaan konstan tetapi dalam
keadaan acak. Persamaan dari acak ini yaitu tidak pasti atau stokastik.
Dalam permintaan stokastik, diasumsikan bahwa tingkat rata-rata
31
permintaan adalah konstan. Permintaan secara acak ini lebih realistik dan
kompleks dibandingkan dengan yang bersifat deterministik.
2. Lead Time dan Replinishment Rate
Adalah tenggang waktu yang diperlukan antara pemesanan bahan baku dan
datangnya bahan baku itu sendiri, waktu tunggu ini dapat konstan dan dapat
bersifat probabilistik. Replinishment Rate adalah sebagai dasar untuk
membentuk suatu sistem persediaan. (Elsayed, 1994, p65).
3. Persediaan Pengaman (Safety Stock)
Adalah persediaan yang diadakan untuk mencegah terjadinya kekurangan
persediaan ketika kondisi permintaan tidak pasti atau karena keterlambatan
penerimaan bahan baku yang telah dipesan. Faktor-faktor yang menentukan
besarnya persediaan ini adalah penggunaan bahan baku rata-rata selama periode
tertentu sebelum barang yang dipesan datang dan waktu tunggu yang bervariasi.
(Assauri, 1975, p258)
4. Reorder Level
Reorder level merupakan tingkat pemesanan kembali yang digunakan sebagai
acuan pemesanan dari suatu sistem persedissn. (Elsayed, 1994, p65)
3.7. Pengujian Distribusi Normal (Modul Statistik Industri)
Sebaran peluang kontinu yang paling penting dalam statistika adalah
sebaran/distribusi normal dengan kurvanya yang berbentuk genta. Untuk
mengetahui apakah suatu populasi mengikuti sebaran normal atau tidak dapat
digunakan uji Goodness of fit, yaitu uji yang digunakan untuk menentukan apakah
populasi memiliki suatu distribusi teoritik tertentu. Uji ini didasarkan pada seberapa
32
baik kesesuaian antara frekuensi yang teramati dalam data sampel dengan frekuensi
harapan pada distribusi yang dihipotesakan.
Langkah-langkah Uji Goodness of fit distribusi normal:
1. H0 : Populasi data mengikuti distribusi normal
2. H1 : Populasi data tidak mengikuti distribusi normal
3. Tentukan taraf nyata ( α )
4. Daerah kritis : tolak H0 jika χ2hitung > χ2
tabel dengan v = k-l-m
5. Perhitungan :
a) Buatlah selang kelas
b) Masukkan data-data yang ada ke dalam tabel:
Tabel 3.1. Tabel Perhitungan Uji Goodness of fit distribusi normal
Batas kelas oi(fi) xi fi*xi (xi-x)2fi Pi ei=Pi*n (oi-ei)2/ei
Keterangan :
n = jumlah sampel
fi = oi = frekuensi observasi
Pi = luas daerah di bawah kurva normal
xi = titik tengah kelas
x = rata-rata sampel
s = simpangan baku = ( )
1
2
−
−∑n
fixxi
33
c) Hitung total ( )∑ −=
eieioi 2
22 : χχ
Dimana: oi = frekuensi observasi (pengamatan)
ei = frekuensi harapan
6. Kesimpulan: terima/tolak H0 dan simpulkan bahwa populasi mengikuti atau
tidak mengikuti distribusi normal.
Sebuah alternatif penting untuk menguji kesesuaian distribusi adalah metode
yang ditemukan oleh dua matematikawan Rusia, yaitu: Kolmogorov dan Smirnov
pada akhir dekade 1930. Dengan menggunakan Uji Kolmogorov-Smirnov, dapat
diperiksa apakah distribusi nilai-nilai sampel yang diamati sesuai dengan distribusi
teoritis tertentu. Uji Kolmogorov-Smirnov beranggapan bahwa distribusi variabel
yang sedang diuji bersifat kontinu dan sampel diambil dari populasi secara acak
sederhana.
Uji Kesesuaian Kolmogorov-Smirnov ini dapat diterapkan pada dua keadaan
sebagai berikut:
• Menguji apakah suatu sampel mengikuti sebuah bentuk distribusi populasi
teoritis.
• Menguji apakah dua buah sampel berasal dari dua populasi identik
Prinsip dari uji Kolmogorov-Smirnov adalah menghitung selisih absolut antara
fungsi distribusi frekuensi komulatif sampel (disebut Fs(x)) dan fungsi distribusi
frekuensi teoritis (disebut Ft(x)) pada masing-masing interval kelas.
H0 : F(x) = F(x) untuk semua x dari -~ sampai +~
H1 : F(x) = F(x) untuk paling sedikit sebuah x
34
Dengan F(x) adalah fungsi distribusi frekuensi komulatif populasi pengamatan.
Statistik uji Kolmogorov-Smirnov merupakan selisih absolut terbesar antara
Fs(x) dan Ft(x), yang disebut deviasi maksimum D. Statistik D ditulis sebagai
berikut:
D = ( ) ( )xFxF ts + maks l = 1,2,3, ..., n
Nilai D kemudian dibandingkan dengan nilai kritis pada tabel distribusi yang
diambil, pada ukuran sampel n dan tingkat kemaknaan α. H0 ditolak bila nilai
teramati maksimum D lebih besar atau sama dengan nilai kritis D maksimum.
Dengan penolakan H0 berarti distribusi teramati dan distribusi teoritis berbeda
secara bermakna. Sebaliknya dengan tidak menolak H0 berarti tidak terdapat
perbedaan bermakna antara distribusi teramati dengan distribusi teoritis. Perbedaan-
perbedaan yang tampak hanya disebabkan variasi pengambilan sampel (sample
variation).
Dalam SPSS terdapat beberapa cara untuk menguji kenormalan suatu data,
antara lain adalah uji Kolmogorov-Smirnov. Uji ini digunakan pada data yang
bersifat kuantitatif dan data kualitatif yang berskala ordinal. Cara penggunaan
Software SPSS yaitu:
• Definisikan data pada kolom pertama
• Masukkan data ke dalam kolom pertama
• Pada menu utama, pilih: Analyze, Nonparametric Test, 1 sample KS.
Pada Test Variable List masukkan variable yang akan diuji
Pada Test Distribution pilihlah normal
• Klik OK
35
Gambar 3.1. Kotak Dialog One Sample Kolmogorov-Smirnov Test
Keterangan
1. H0 : Populasi data mengikuti distribusi normal
2. H1 : Populasi data tidak mengikuti distribusi normal
3. Tentukan taraf nyata ( α )
4. Daerah kritis : Pvalue ≤ α
5. Perhitungan : Bandingkan Pvalue dengan nilai α
6. Untuk Pvalue lebih besar atau sama dengan α maka terima H0 sedangkan untuk
Pvalue lebih kecil dari α maka tolak H0.
7. Kesimpulan terima / tolak H0 dan simpulkan bahwa populasi mengikuti / tidak
mengikuti distribusi normal.
3.8. Model-model Sistem Persediaan
Model sistem persediaan dapat digolongkan berdasarkan sifat permintaan serta
kebijakan yang ditetapkan pihak perusahaan.
36
3.8.1. Model Persediaan Berdasarkan Sifat Permintaan
Model persediaan ini mengacu pada pengetahuan tentang permintaan itu
sendiri dan laju permintaannya. Oleh karena itu, persediaan dapat dikelompokkan
ke dalam empat model sebagai berikut: (Elsayed, 1994, p69)
1. Static Deterministic Inventory Model (Model Persediaan Statis Deterministik)
Model ini mempunyai ukuran permintaan yang deterministik karena ukuran
permintaan dalam suatu periode diketahui dan konstan, dan laju
permintaannya sama untuk setiap periode.
2. Dynamic Deterministic Inventory Model (Model Persediaan Dinamis
Deterministik)
Model ini ukuran permintaannya untuk setiap periode diketahui dan konstan,
tetapi laju permintaannya bervariasi (dinamis).
3. Static Probabilistic Inventory Model (Model Persediaan Statis Probabilistik)
Pada model ini, ukuran permintaannya bersifat acak, namun berdistribusi
tertentu yang sama untuk setiap periodenya.
4. Dynamic Probabilistic Inventory Model (Model Persediaan Statis
Probabilistik)
Pada model ini ukuran permintaannya bersifat acak, namun berdistribusi
tertentu yang berbeda dan bervariasi untuk setiap periodenya.
3.8.2. Model Persediaan Berdasarkan Kebijakan Perusahaan
Model persediaan ini mengarah kepada cara melakukan pemeriksaan dan
pemesanan yang digunakan dalam pengendalian persediaan (kapan pemesanan
37
sebaiknya dilakukan dan berapa jumlah yang harus dipesan). Beberapa model
yang ada dan didasari oleh kebijakan persediaan yang telah disebutkan adalah:
1. Periodic-Review Policy (Elsayed, 1994, p67)
Tingkat persediaan pada model ini diperiksa dalam jangka waktu T. Jika pada
akhir periode T tingkat persediaan masih lebih besar dari pada tingkat
pemesanan kembali, maka tidak terjadi pemesanan. Namun jika persediaan
dari atau kurang sama dengan tingkat pemesanan kembali, maka pemesanan
dilakukan agar persediaan mencapai tingkat persediaan maksimum yang telah
ditentukan.
Qi = 0 if Ii > r
Qi = R - Ii if Ii ≤ r
Dimana : Ii = tingkat persediaan pada akhir periode I
R = tingkat pemesanan kembali
R = tingkat persediaan maksimum saat pemesanan
Qi = ukuran pemesanan pada periode I
Mode ini dikenal juga dengan sebutan kebijakan (s,S,R), yaitu pemeriksaan
dilakukan tiap R periode dengan s merupakan tingkat pemesanan kembali dan
S adalah tingkat persediaan maksimum.
2. Order Up to R Policy (R,T) (Elsayed, 1994, p67-68)
Model ini merupakan suatu kasus dari (R,r,T) kebijakan dari periodic-review.
Dalam kebijakan ini, tingkat pemesanan kembali r ditentukan sama dengan R.
Konsekuensinya ukuran pemesanan Qi = R – Ii selalu ditempatkan pada akhir
periode Ti. R dan T merupakan dua parameter yang dibutuhkan untuk
mendefinisikan kebijakan ini.
38
3. Continuous-Review Policy (Elsayed, 1994, p68)
Pada model ini, level persediaan akan dimonitor secara kontinu dan ukuran
permintaan Qi = R – Ii selalu ditempatkan pada level persediaan Ii sampai pada
level permintaan kembali r atau di bawahnya. Perbedaan antara periodic-
review policy dan continuous-review policy adalah bisa ditempatkan pada
akhir periode Ti, tergantung pada tingkat persediaan, dimana permintaan selalu
ditempatkan saat tingkat persediaan sama dengan atau di bawah r (lamanya
waktu periode yang bebas).
4. Fixed-Reorder Quantity Policy (Elsayed, 1994, p68)
Model ini hampir sama dengan continuous-review policy dengan perkecualian
unit-unit dikeluarkan dari persediaan sekali pada satu waktu. Karena itu,
tingkat persediaan dapat diobservasi saat turun pada titik r. Akibatnya, jumlah
order yang tetap dari ukuran Q selalu ditempatkan saat Ii = r. Q dan r adalah
paramater-parameter yang dibutuhkan untuk mendefinisikan model ini;
ditunjukkan oleh (Q,r).
5. Base Stock Policy (Elsayed, 1994, p68)
Model ini dikenal juga dengan kebijakan persediaan (s,S). Ketika persediaan
kurang atau sama dengan s, maka dilakukan pemesanan sehingga persediaan
mencapai tingkat S (order up to S). Variabel s dan S dapat ditentukan melalui
kebijakan (Q,ROP). Pada gambar terlihat bahwa S = s + Q, dimana Q adalah
jumlah pemesanan ekonomis (EOQ).
39
3.9. Model Persediaan Economic Order Quantity (EOQ) Sederhana
Metode ini pertama kali diperkenalkan oleh Ford Harris dari Westinghouse pada
tahun 1915. Metode ini merupakan inspirasi bagi para pakar persediaan untuk
mengembangkan metode-metode pengendalian persediaan lainnya. Metode ini
dikembangkan atas fakta adanya biaya variabel dan biaya tetap dari proses produksi
atau pemesanan barang.
Model EOQ akan bersifat stochastic (probabilistik) bila permintaannya bersifat
tidak pasti selama periode tertentu. Akibat dari permintaan yang tidak pasti
tersebut, lead time untuk setiap siklus tersebut tidak akan pasti pula lamanya. Ada
penyimpangan antara perhitungan EOQ dengan kenyataan sebenarnya. Adanya
penyimpangan ini mengakibatkan lead time pesanan tidak pasti. Jika tidak ada
safety stock, maka akan terjadi kekurangan persediaan. Hal ini tidak boleh terjadi,
tujuan dari bagian ini adalah menentukan besarnya safety stock optimal sehingga
dapat meminimasi nilai harapan biaya kekurangan persediaan dan biaya
penyimpanan tersebut.
Rumus-rumus yang digunakan adalah:
• Kuantitas pemesanan optimal kain denim adalah:
H
DAQ ∗∗=
2
• Jumlah pesanan per tahun = D / Q
• Permintaan rata-rata harian: d = D / jumlah hari kerja setahun
• Titik pemesanan kembali: ROP = d * L
• Peluang kumulatif safety stock: ( )DpQHRdLPr *
*1−=≤
40
• Total biaya persediaan:
( )⎭⎬⎫
⎩⎨⎧
=++⎟⎠⎞
⎜⎝⎛ += ∑
+
a
nii URdLPi
QDp
QDAnQHTC
1*
2*
Dimana Q = jumlah pemesanan optimal
A = biaya pemesanan untuk satu kali pemesanan
H = biaya penyimpanan per unit per bulan
p = biaya backorder
TC = total biaya persediaan
D = permintaan rata-rata per tahun
3.10. Model Persediaan Probabilistik
Pada model ini, diasumsikan bahwa tingkat permintaan rata-rata konstan
terhadap waktu dan dengan asumsi ini, maka dimungkinkan untuk menetapkan
distribusi probabilitas permintaan. Fokus perhatian tertuju pada distribusi
permintaan selama waktu tunggu. Permintaan selama waktu tunggu bernilai acak
jika salah satu di antara permintaan itu sendiri dan/atau waktu juga bernilai acak.
Ditinjau dari struktur biaya, perbedaan tampak jelas bahwa dalam kondisi
probabilistik perusahaan perlu memperhitungkan biaya tambahan untuk mengatasi
kekurangan stock yang terjadi selama produksi. Untuk mengatasinya, perusahaan
perlu melakukan pemesanan ulang atas produk-produk yang diperlukan untuk
menyelesaikan pesanan pelanggan, tanpa menyebabkan pelanggan membatalkan
pesanannya.
41
3.10.1. Model Persediaan Kontinu
Pada model ini, pemesanan sejumlah Q dilakukan ketika persediaan di dalam
gudang menurun jumlahnya pada tingkat yang kurang atau sama dengan suatu
jumlah tertentu yang disebut dengan reorder point (ROP), dimana mencakup
safety stock yang dibutuhkan untuk mengantisipasi permintaan selama lead time.
Rumus-rumus yang digunakan adalah: (Elsayed, 1994, p87-91)
Fungsi mutlak dari permintaan selama lead time adalah:
( ) ( ) ( )∫=x
dttltxgxf0
, .............................................................................. (1a)
Dimana: g(x,t) = kondisi probabilitas fungsi permintaan x selama lead time t,x>0
l(t) = fungsi lead time t, t>0
f(x) = fungsi permintaan x selama lead time
Level rata-rata inventory adalah:
{ } { } { }( )zEyEzEI −+=21
Jika suatu pesanan berada di reorder point dan permintaan berlebih selama lead
time (l), dari r ke Z.
{ } ( ) ( ) { }xErdxxfxrzE −=−= ∫
Jika permintaan datang, tingkat inventory meningkat dengan Q dimana:
{ } { } { } QxErQzEyE +−=+=
{ } { } { }( )
{ }xErQ
zEyEzEI
−+=
−+=
2
21
42
Bila { } ,DlxE = maka DlrQI −+=2
......................................................... (1b)
• Biaya pemesanan per tahun = Q
DA×
• Biaya penyimpanan per tahun = ⎟⎠⎞
⎜⎝⎛ −+ lxrQH
2
• Biaya kekurangan persediaan per tahun = ( )xSQ
D×π
Jika terjadi kekurangan persediaan, jumlah kekurangan persediaan adalah:
S(x) = 0 , x ≤ r
x – r , x > r
Stockout yang diharapkan per tahun = ( )( ) ( )Q
DxSNxS .= ............................ (2)
Total biaya persediaan per tahun didapat dari persamaan (1) dan (2)
( ) ( )xSQ
DxrQHQ
DArQTC l×
+⎟⎠⎞
⎜⎝⎛ −++
×=
π2
,
Nilai optimal untuk Q dan r didapat dari penyelesaian rumus di bawah ini:
( ) 02 22 =
×−+
×=
∂∂ xS
QDH
QDA
QTC π
( )∫ =×
−=∂∂ x
r
dxxfQ
Dhr
TC 0π
Diperoleh jumlah pemesanan ekonomis (Q):
( )( )H
xSADQ π+×=
2 .......................................................................... (3)
43
( )
0=+××
=∂∂ ∫
∞
HQ
dxxfD
rTC r
π
Diperoleh tingkat pemesanan kembali (r):
( )∫∞
∗∗
=r D
QHdxxfπ
.............................................................................. (4)
( ) ( )∫ ∫∞−
∞
−=r
r
dxxfdxxf 1
Jika diketahui data berdistribusi normal, maka:
( )∫∞− ∗
∗=
r
DQHdxxf
π ............................................................................. (5a)
⎟⎠⎞
⎜⎝⎛
∗∗
−+=DQHZsxr LLi π
1 ................................................................... (5b)
Diperoleh Safety Stock:
( ) ( )∫∞
−=0
dxxfxrSS
( ) ( )∫∫∞∞
−=00
dxxxfdxxfSS ................................................................ (6)
LxrSS −=
Jumlah kekurangan persediaan yang diperlukan akan terjadi per siklus
pemesanan:
( ) ( ) ( )∫∞
−=r
dxxfrxxS ........................................................................(7)
44
Jika diketahui bahwa data berdistribusi normal, maka:
( ) ( ) ( )∫∞
−=r
dxxfrxxS
( ) ( ) dxerxxSr
Sxr
L
L
∫∞ ⎥
⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟⎠
⎞⎜⎜⎝
⎛ −−
−=
2
21
21π
Misalkan L
L
SxrZ −
= , maka LL ZSxx += sehingga dx = Sdz
( )( ) ( ) ( )
∫ ∫∞
−
∞
−
⎥⎦⎤
⎢⎣⎡−⎥⎦
⎤⎢⎣⎡−
−+=
L
L
L
L
Sxr
Sxr
zl
z
L dzerxdzeZSxS22
21
21
21
21
ππ
___________________ ___________________
I II
Penyelesaian persamaan integral I:
Misalkan: u = Z2 / 2, sehingga du = Zdz, maka:
( )( ) ( ) ( ) [ ]∫∫ ∫
∞
−
−∞
−
∞
−
⎥⎦⎤
⎢⎣⎡−⎥⎦
⎤⎢⎣⎡−
=−+=
L
L
L
L
L
L
Sxr
uL
Sxr
Sxr
zl
z
L ZduZeSdzerxdzeZSxS
πππ 21
21
21 22
21
21
( )
L
LuL S
xreS −−= −
π21
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟⎠
⎞⎜⎜⎝
⎛ −−
=
2
21
21 L
L
Sxr
L eSπ
Penyelesaian persamaan integral II:
( ) ( ) ( )( )[ ]∫∞
−
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟⎠
⎞⎜⎜⎝
⎛ −−
−−−−
L
Ll
L
L
Sxr
LS
xr
L
L ZPxreS
rx 12
12
21
π
45
dimana P(Z) adalah luas daerah kumulatif di bawah kurva normal, sehingga:
( ) ( ) ( )( )[ ]ZPxreSxS LS
xr
LL
L
−−−=⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟⎠
⎞⎜⎜⎝
⎛ −−
121
2
21
π ................................ (8)
Tingkat pelayanan: ( )QxSk −= 1
keterangan: D = permintaan rata-rata (unit/tahun)
L = lead time (waktu tunggu)
x = permintaan rata-rata selama waktu tunggu
f(x) = probabilitas destiny function permintaan x selama waktu
tunggu
H = biaya simpan per unit/tahun
C = harga per unit
A = biaya per pemesanan yang dilakukan
π = biaya kkurangan persediaan
Q = jumlah pemesanan ekonomis per siklus
r = reorder point (titik pemesanan kembali)
S(x) = kuantitas kekurangan stok per siklus
TC = total biaya persediaan
Langkah-langkah perhitungan untuk memperoleh Q* dan r* adalah sebagai
berikut: (Don T. Philips, A. Ravindran, Dan James Solberg, 1976, p345-346)
1. Dengan S(x) = 0, hitung Q1 dengan menggunakan rumus (3)
2. Gunakan hasil Q1 untuk mendapatkan r1 dengan menggunakan rumus (5b)
dan SS1 dengan menggunakan rumus (6)
46
3. Gunakan r1 yang diperoleh pada langkah 2 untuk menentukan nilai S(x)1
4. Masukkan hasil S(x)1 pada rumus (3) sehingga diperoleh Q2
5. Gunakan hasil Q2 untuk mendapatkan r2 dengan menggunakan (5b) dan SS2
dengan menggunakan rumus (6)
6. Gunakan r2 yang diperoleh pada langkah 5 untuk mendapatkan nilai S(x)2
7. Ulangi langkah 4, 5, dan 6 sampai mendapatkan nilai Q dan r yang hampir
sama dimana kedua nilai sudah tidak mengalami perubahan nilai lagi
8. Nilai Q dan r yang telah stabil tersebut merupakan harga yang optimal (Q*
dan r*)
3.10.2. Model Persediaan Periodik
Pada model ini, tingkat persediaan barang dalam gudang sangat dipengaruhi
oleh interval pemesanan (T). Jumlah yang harus dipesan adalah selisih antara
tingkat persediaan maksimum (R) dengan jumlah unit yang berada di dalam
gudang pada saat dilakukannya pemeriksaan.
Rumus-rumus yang digunakan adalah:
Biaya pemesanan per tahun = TA
Biaya penyimpanan per tahun = ⎟⎠⎞
⎜⎝⎛ −− TL xxRH
21
Biaya kekurangan persediaan per tahun = ( )xSTπ
Total biaya persediaan per tahun:
( ) ( )xST
xxRHTATRTC TL
π+⎟
⎠⎞
⎜⎝⎛ −−+=
21, ..............................(1)
47
Periode pemesanan: DHAT
**2
= ...........................................................(2)
Tingkat persediaan maksimum (R):
( )∫∞
=R
THdxxfπ*
( ) ( )∫ ∫∞−
∞
−=R
R
dxxfdxxf 1 .............................................................(3)
Jika data berdistribusi normal, maka:
⎟⎠⎞
⎜⎝⎛ −+= ++
πTHZSxR TLTL
*1 ............................................................(3a)
Safety Stock (SS) = ( ) ( )∫∞
−0
dxxfxR
= ( ) ( )∫∫∞
+
∞
−=−00
TLxRdxxxfdxxfR ........................(4)
Jumlah kekurangan persediaan yang diperkirakan akan terjadi per siklus
pemesanan (S(x)):
( ) ( ) ( )∫∞
−=R
dxxfRxxS ............................................................(5)
Jika data berdistribusi normal, maka:
( ) ( )( )[ ]ZPxReSxS TLs
xR
TLTL
TL
−−−= +
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟⎠
⎞⎜⎜⎝
⎛ −−
++
+
121)(
2
21
π ...........(5a)
Tingkat pelayanan: ( )TD
xSK∗
−= 1
48
Dimana: D = permintaan rata-rata (unit.tahun)
L = lead time
T = periode pemesanan
x = permintaan rata-rata
f(x) = probability density function permintaan x selama L+T
H = biaya penyimpanan per unit/tahun
C = harga per unit
A = biaya per pemesanan
π = biaya kekurangan persediaan
R = tingkat persediaan maksimum
S(x) = kuantitas kekurangan stock per siklus
TC = total biaya persediaan
Langkah-langkah perhitungan untuk memperoleh R* dan T* adalah:
1. Tentukan harga T dengan menggunakan rumus (2)
2. Hitung R dan SS dengan menggunakan rumus (3a) dan (4)
3. Tentukan S(x) dengan menggunakan rumus persamaan (5a)
4. Hitung total biaya persediaan dengan menggunakan rumus (1)
5. Ulangi langkah 2 sampai 4 dengan mengubah T = T + ∆T, dimana ∆T = 1
hari, dengan persyaratan sebagai berikut:
Jika TC baru lebih besar dari pada TC sebelumnya, maka iterasi
penambahan T dihentikan dan dicoba dengan menggunakan iterasi
pengurangan T, yaitu dengan T = T - ∆T, sampai akhirnya diperoleh nilai
T* optimal yang memberikan total biaya terkecil.
49
Jika TC baru lebih kecil dari pada TC sebelumnya, maka iterasi
penambahan diteruskan dan proses dihentikan pada saat TC baru
memberikan nilai lebih besar dari pada TC sebelumnya. Harga T* dan R*
dengan TC yang terkecil itulah yang merupakan harga optimal.
3.11. Sistem Informasi
3.11.1 Definisi Sistem Informasi
Menurut Raymond McLeod, Jr., sistem dapat didefinisikan sebagai kumpulan
dari elemen-elemen yang terintegrasi dengan tujuan yang umum dalam mencapai
sebuah obyektivitas. Sedangkan informasi menurut Jogiyanto HM adalah data
yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang
menerimanya. Definisi informasi menurut Steven Alter adalah data yang
berguna, yang bentuknya dan isinya relevan dan sesuai untuk penggunaan
tertentu.
Sistem informasi merupakan suatu alat bantu yang dirancang untuk
membantu tingkat manajemen organisasi dengan menyediakan informasi yang
berguna di dalam pengambilan keputusan organisasi baik pada tingkat
perencanaan strategis, perencanaan manajemen maupun perencanaan operasi
untuk mencapai tujuan organisasi. Adapun komponen-komponen dari sistem
informasi adalah metode kerja (work practices), informasi (information),
manusia (people), teknologi informasi (information technologies).
50
3.11.2. Manfaat Sistem Informasi
Dalam suatu organisasi, sistem informasi memiliki beberapa peranan dasar,
antara lain berusaha memberikan informasi aktual tentang lingkungan dari
organisasi tersebut sehingga organisasi mendapat gambaran yang akurat tentang
lingkungannya. Selain itu dengan aliran informasinya, sistem informasi berusaha
agar elemen-elemen di dalam organisasi selalu kompak dan harmonis dimana
tidak terjadi duplikasi kerja dan lepas satu sama lain. Dengan demikian dapat
dilihat bahwa manfaat dari sistem informasi adalah:
a. Menjadikan organisasi lebih efisien dan lebih efektif
b. Lebih cepat tanggap dalam merespon perubahan
c. Mengelola kualitas output
d. Memudahkan melakukan fungsi kontrol
e. Memprediksi masa depan
f. Melancarkan operasi organisasi
g. Menstabilkan beroperasinya organisasi
h. Membantu pengambilan keputusan.
3.12. Konsep Analisa dan Perancangan Berorientasi Objek
3.12.1. Konsep Dasar Object Oriented
Dalam object oriented, sebuah sistem dimodelkan dengan objek-objek yang
ada didalam sistem, dimana objek-objek tersebut saling berinteraksi. Sehingga
sebuah model yang dirancang dengan menggunakan pendekatan berorientasi
objek umumnya memiliki karakteristik mudah dimengerti, dan dapat secara
langsung berhubungan dengan kenyataan. Karateristik lain yang ada dalam
51
pendekatan berorientasi objek yaitu pendekatan yang dilakukan lebih pada data,
bukan pada prosedur atau fungsi, program besar dibagi pada apa yang disebut
dengan objek, struktur data dirancang dan menjadi karakteristik dari objek-objek,
fungsi-fungsi yang mengoperasikan data tergabung dalam satu objek yang sama,
objek-objek dapat saling berkomunikasi dengan saling mengirim pesan satu sama
lain.
Object Oriented Programming merupakan cara berpikir dan berlogika dalam
menghadapi masalah-masalah yang akan diatasi dengan bantuan komputer. OOP
mencoba melihat permasalahan lewat pengamatan dunia nyata dimana setiap
objek adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi
tertentu (Adi Nugroho, 2002, p11).
Keuntungan umum dari perancangan sistem dengan berorientasi objek adalah:
• Penyederhanaan (abstraksi) pada tingkat tinggi. Pendekatan top-down
menunjang penyederhanaan pada level fungsi. Sedangkan pendekatan
Object-Oriented menunjang penyederhanaan pada level objek. Sejak objek
mengkapsulasi baik data (attributes) maupun fungsi (method), objek bekerja
pada penyederhanaan level tinggi. Pengembangan sistem dapat diproses pada
level objek dan mengindahkan sistem lainnya selama diperlukan. Ini
membuat desain, coding, pengujian (testing), dan pengembangan sistem
menjadi lebih mudah.
• Transisi yang sama antara fase yang berbeda pada pengembangan software.
Pada pendekatan tradisional yang digunakan untuk pengembangan software,
dibutuhkan gaya dan metode yang berbeda untuk setiap tahapan proses.
52
Perpindahan dari satu fase ke fase lain membutuhkan transaksi pandangan
(perpektif) yang rumit antara model yang sangat mungkin sangat berbeda
dengan dunia nyata. Transisi bukan hanya memperlambat pengembangan
proses tetapi juga meningkatkan ukuran (size) proyek dan kemungkinan
terjadinya error jika berpindah dari satu bahasa ke bahasa lain. Di lain pihak,
pendekatan berorientasi objek ini menggunakan bahasa yang sama dalam
analisa, desain, programming, dan desain database. Pendekatan yang sama
ini dapat meminimalkan tingkat kerumitan dan redudansi serta memberikan
pemahaman yang lebih jelas, juga lebih tahan terhada pengembangan sistem.
• Menghasilkan teknik pemrograman yang baik.
Class dalam pendekatan berorientasi objek menggambarkan secara jelas
antara interface (spesifikasi mengenai apa yang dapat dilakukan oleh class)
dan impelmentasi (bagimana class melakukan apa yang dilakukannya).
Dalam desain sistem yang sebagaimana mestinya class dikelompokkan
dalam sub sistem tetapi tetap berdiri sendiri, dimana jika suatu kelas diubah
tidak akan berdampak atau mempengaruhi kelas yang lain.
• Meningkatkn penggunaan kembali.
Objek dapat digunakan kembali karena objek dimodel secara langsung dari
problem domain pada dunia nyata. Lebih jauh lagi, pendekatan berorientasi
objek menambahkan inheritance, yang merupakan teknik yang
memungkinkan kelas dibangun sendiri berbeda dengan class yang lain. Dan
hanya class yang berbeda yang harus didesain dan di-coding
53
3.12.2. Pengetian Objek
Dalam OOA&D, yang menjadi dasar atau ‘the basic building block’ adalah
sebuah objek. Menurut Mathiassen (2000, p4) objek adalah sebuah entitas yang
memiliki identitas, informasi (state), dan operasi (behavior). Objek juga dapat
diartikan sebagai sebuah entitas yang dapat menyimpan informasi dan
menawarkan sejumlah operasi (behavior) untuk mengevaluasi maupun
mempengaruhi keadaan entitas tadi (Jacobson, 1996, p44). Sebuah objek ditandai
dengan sejumlah operasi dan sebuah state (informasi) yang mengingat
akibat/efek dari operasi tersebut.
Karakteristik yang dimiliki oleh suatu objek adalah:
1. Setiap objek memiliki suatu identitas, atau informasi individual yang unik,
yang disebut dengan atribut.
2. Objek dapat melakukan suatu operasi (behavior).
3. Objek dapat dikomposisikan menjadi bagian–bagian yang terpartisi yang
dinyatakan dalam hubungan agregat.
3.12.3. Class dan Instance
Penggolongan objek-objek yang memiliki karakteristik yang sama ke dalam
satu kelompok data dinyatakan dengan class. Definisi class sendiri menurut
Mathiassen (2000, p4) adalah deskripsi dari kumpulan objek-objek yang
mempunyai kesamaan struktur, pola operasi, dan atribut. Sedangkan menurut
Jacobson (1996, p46), class dapat merupakan sebuah definisi, atau cetakan
(template), yang memungkinkan penciptaan objek baru, dan merupakan deskripsi
dari sejumlah karakteristik umum yang sama-sama dimiliki oleh sejumlah objek.
54
Objek dalam class yang sama memiliki definisi yang sama pula baik untuk
operasi maupun struktur informasinya Sebuah instance merupakan objek yang
diciptakan dari class dengan struktur yang didefinisikan dari class. Sebagai
contoh, class kendaraan merupakan sebuah model dengan karakteristik
dijalankan oleh mesin dan digunakan untuk transportasi. Dari class ini dapat
diturunkan objek-objek seperti mobil, motor, pesawat, dan sebagainya karena
semua itu memiliki karakteristik yang sama dalam class kendaraan, yakni
semuanya dijalankan oleh mesin dan untuk tujuan transportasi. Objek mobil,
motor dan pesawat tersebut yang disebut sebagai instance.
3.12.4. Konsep Encapsulation, Inheritance, Polymorphism
3.12.4.1. Konsep Encapsulation
Encapsulation adalah suatu prinsip penyembunyian data internal dan
prosedur (method) dari objek dan menyediakan sebuah interface pada setiap
objek dengan cara tertentu untuk menyatakan sebisa mungkin tentang apa
yang dilakukan objek. Oleh karena itu, encapsulation juga dikenal dengan
penyembunyian informasi (information hiding). Secara tradisional, data dan
fungsi dalam sebuah program adalah independen. Seperti dalam pemrograman
modular dan abstraksi data, pemrograman berorientasi objek
mengelompokkan data dengan fungsi yang beroperasi pada data tersebut.
Setiap objek kemudian mempunyai sebuah set data dan sebuah set method
secara logik.
Sebagai contoh, ketika kita menggunakan handphone, kita hanya menekan
tombol sesuai dengan aktivitas yang kita inginkan tanpa mengetahui proses
55
detil yang terjadi dalam aktivitas tersebut. Di sinilah terdapat penyembunyian
informasi, dan kita sebagai pengguna hanya berinteraksi dengan tombol-
tombol antar muka.
3.12.4.2. Konsep Inheritance
Inheritance dapat diartikan sebagai penurunan class baru yang memiliki
class parent (induk), ditambah dengan karakteristik khas individu class yang
baru. Suatu class baru yang diturunkan dari induknya akan memiliki struktur
informasi dan operasi yang sama. Keuntungan menggunakan teknik ini adalah
kita dapat membangun dari objek yang sudah kita miliki sebelumnya atau
penggunaan kembali dari apa yang kita miliki.
3.12.4.3. Konsep Polymorphism
‘Poly’ berarti banyak dan ‘morph’ berarti bentuk. Sehingga polymorphism
dapat diartikan sebagai kemampuan dari tipe objek yang berbeda untuk
menyadari property dan operasi yang sama dalam hal yang berbeda. Menurut
Aitken (1999, p7), polymorphism adalah hasil natural dari fakta bahwa objek
dari tipe yang berbeda (bahkan dari subtipe yang berbeda) dapat menggunakan
property dan operasi yang sama dalam hal yang berbeda.
3.13. Unified Modelling Language (UML)
3.13.1. Sejarah UML
Tahun 1990 terkenal dengan masa perang metodologi (Method War) dalam
pendesainan berorientasi objek. Pada saat itu banyak pengguna metode OOA/D
56
menghadapi masalah karena belum adanya suatu modelling language yang dapat
memenuhi kebutuhan mereka. Masing-masing metodologi membawa notasi-
notasi sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerja
sama dengan perusahaan lain yang menggunakan metodologi yang berlainan.
Solusi untuk mengatasi permasalahan tersebut dimulai pada bulan Oktober
1994. Booch (yang mempunyai metode yang baik dalam fase perancangan dan
konstruksi dari pembuatan proyek), Rumbaugh (Object Modelling
Technique/OMT, yang sangat berguna dalam analisis dan sistem informasi
dengan data intensif), dan Jacobson (Object-Oriented Software
Engineering/OOSE, yang menyediakan dukungan use case untuk mengetahui
kebutuhan requirement, analisis, dan perancangan high-level), yang merupakan
tiga tokoh yang metodologinya paling banyak digunakan, mempelopori usaha
untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995
dirilis draft pertama dari UML, dan sejak tahun 1996 pengembangan tersebut
dikoordinasikan oleh Object Management Group (OMG).
3.13.2. Konsep Bahasa UML
UML adalah sebuah modelling language, dan bukan sebuah method. Sebagian
besar method, paling tidak dalam prinsipnya, terdiri dari sebuah modelling
language dan sebuah proses. Modelling language adalah notasi (terutama
grafikal) yang digunakan method untuk mengekspresikan rancangan. Proses
adalah nasihat atas langkah-langkah apa yang perlu diambil dalam menjalankan
sebuah rancangan. Pada saat ini, UML telah menjadi standar dalam industri
untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak.
57
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.
3.13.3. Diagram UML
Secara keseluruhan, UML memiliki delapan buah diagram, yang dapat
dijelaskan sebagai berikut :
3.13.3.1. Class Diagram
Class diagram menggambarkan sekumpulan class, interface, dan
collaboration, dan relasi-relasinya. Class diagram juga menunjukkan atribut
(attribute) dan operasi (operation) dari sebuah objek class.
Atribut adalah nama-nama properti dari sebuah kelas yang menjelaskan
batasan nilainya dari properti yang dimiliki oleh sebuah kelas tersebut.
Sedangkan operasi adalah implementasi dari layanan yang dapat diminta dari
sebuah objek dari sebuah kelas yang menentukan tingkah lakunya. Suatu
operasi dapat berupa perintah maupun permintaan (Mathiassen, 2000, p69).
Hubungan antar class dapat digambarkan dengan notasi-notasi sebagai
berikut:
• Association
Association dapat diartikan sebagai hubungan antar benda struktural yang
terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan
hubungan khusus, yang menggambarkan sebuah hubungan struktural
58
diantara seluruh atau sebagian. Pada umumnya association digambarkan
dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan status
hubungannya.
Com pany Person-Employer
1
-Employee
*
Gambar 3.2. Association
• Navigability
Navigability merupakan sebuah properti dari role, yang menandakan
bahwa ada kemungkinan untuk melakukan navigasi uni-directional pada
association dari objek sumber ke objek tujuan. Pada gambar berikut, panah
navigability menandakan bahwa class Person terhubung secara uni-
directionally ke class Company. Class Person kemungkinan memiliki
sebuah attribute yang menunjuk kepada sebuah objek Company.
Person CompanyWorks for
Gambar 3.3. Navigability
• Aggregation
Aggregation merupakan hubungan “bagian dari” atau “bagian
keseluruhan”. Suatu class atau objek mungkin dapat dibagi menjadi class
59
atau objek tertentu, dimana class atau objek tersebut merupakan bagian dari
class atau objek yang terdahulu. Agregasi adalah bentuk khusus dari
asosiasi.
Company Departmen
1 *
Gambar 3.4. Aggregation
• Composition
Composition adalah strong aggregation. Pada composition, objek “bagian”
tidak dapat berdiri sendiri tanpa objek “keseluruhan”. Jadi mereka terkait
dengan kuat satu dengan yang lainnya.
Com pany Departm en
1 *
Gambar 3.5. Composition
• Generalization
Generalization adalah sebuah hubungan spesialisasi/generalisasi dalam
model-model UML, dimana objek-objek dari elemen yang dispesialisasi-
kan (child) dapat digantikan dengan objek dari elemen yang di-
generalisasi-kan (parent). Dengan demikian, child berbagi struktur dan
behavior dari parent. Dalam penerapannya, generalization merupakan
60
konsep inheritance dan dapat dikembangkan menjadi konsep
polymorphysm.
Kendaraan
BusMobil Truk
Gambar 3.6. Generalization
3.13.3.2. Use Case Diagram
Use case merupakan pola interaksi antara sistem dengan aktor dalam
application domain (Mathiassen, 2000, p126). Use Case diagram
menggambarkan fungsionalitas yang diharapkan dari sebuah sistem dan
digunakan untuk menyusun requirement dari sebuah sistem,
mengkomunikasikan rancangan dengan klien, dan merancang test case untuk
semua feature yang ada pada sistem. Yang ditekankan pada use case adalah
‘apa’ yang diperbuat sistem, dan bukan ‘bagaimana’.
Gambar 3.7. Use Case Diagram
61
3.13.3.3. Interaction Diagram
Interaction diagram menggambarkan interaksi yang terdiri dari
sekumpulan objek-objek dan hubungannya termasuk pesan-pesan yang dikirim
antara kedua objek tersebut. Interaction diagram dapat dibedakan menjadi
sequence diagram dan collaboration diagram. Sequence diagram adalah
sebuah interaction diagram yang menekankan pada urutan waktu
penyampaian dari suatu pesan. Sedangkan Collaboration diagram lebih
menenkankan pada struktur organisasi dari objek-objek yang mengirim dan
menerima pesan.
3.13.3.3.1. Sequence Diagram
Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi
horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan
untuk menggambarkan skenario atau rangkaian langkah-langkah yang
dilakukan sebagai respons dari sebuah event untuk menghasilkan output
tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses, dan
perubahan yang terjadi secara internal dan output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message
digambarkan sebagai garis berpanah dari satu objek ke objek lainnya, dimana
beberapa message tersebut dapat dipetakan menjadi metode dari class.
Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya
diawali dengan diterimanya sebuah message.
62
Object1 Object2
Message1
Gambar 3.8. Sequence Diagram
3.13.3.3.2. Collaboration Diagram
Collaboration diagram menggambarkan interaksi antar objek seperti
sequence diagram, tetapi lebih menekankan pada peran masing-masing objek
dan bukan pada waktu penyampaian pesan.
Gambar 3.9. Collboration Diagram
3.13.3.4. Statechart Diagram
Statechart menggambarkan behaviour dari sebuah sistem serta perubahan
keadaan dari satu state ke state lainnya yang mungkin dilakukan oleh sebuah
objek. Pada umumnya statechart diagram menggambarkan behavior dari suatu
class.
63
Gambar 3.10. Statechart Diagram
3.13.3.5. Component Diagram
Component diagram menggambarkan struktur dan hubungan antar
komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.
Komponen piranti lunak adalah modul berisi code, baik berisi source code
maupun binary code, baik library maupun executable, baik yang muncul pada
compile time, link time, maupun run time. Umumnya komponen terbentuk dari
beberapa class dan atau package, tetapi dapat juga dari komponen-komponen
yang lebih kecil. Komponen juga dapat berupa interface, yaitu kumpulan
layanan yang disediakan sebuah komponen untuk komponen lain.
Transaction
«table»Account
ATM-GUI
Interface
Gambar 3.11. Component Diagram
64
3.13.3.6. Deployment Diagram
Deployment diagram menggambarkan secara jelas bagaimana komponen
di-deploy dalam infrastruktur sistem, di mana komponen akan diletakkan
(pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan
pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal.
Sebuah node adalah server, workstation, atau piranti keras lain yang
digunakan untuk men-deploy komponen dalam lingkungan sebenarnya.
Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga
didefinisikan dalam diagram ini.
Server:BankServer
:Transactions
«table»AccountDB : Account
Interface1
client:ATMKiosk
:ATM-GUI
Gambar 3.12. Deployment Diagram
3.14. Tahapan Pengembangan Software Berorientasi Objek
Ada beberapa tahapan dalam perancangan software berorientasi objek yang
dilakukan dengan menggunakan metode Unified Software Deployment.
65
Metode ini digunakan untuk melakukan analisa dan desain software
berorientasi objek secara cepat dan sederhana. Sedangkan untuk programming
tidak termasuk dalam desain ini. Tahapan-tahapan tersebut adalah
(Mathiassen, 2000, p14):
Gambar 3.13. Tahap Unified Software Development
Dari gambar di atas, dapat dilihat bahwa terdapat 4 kegiatan utama yang
digunakan dalam metode Unified Software Deployment untuk OOA&D, yaitu:
1. Problem Domain Analysis
Pada tahap ini sistem akan dirancang sesuai dengan kebutuhan informasi
dari pengguna. Tahapan ini menentukan hasil dari keseluruhan akivitas
analisis dan perancangan. Tahap Problem Domain Analysis ini masih
dibagi menjadi beberapa aktivitas, yaitu:
a) Menentukan class yang ada dalam sistem dengan melakukan proses
identifikasi dari definisi sistem yang telah dikembangkan
66
b) Menganalisa dan mengembangkan struktur hubungan dari class-class
yang ada
c) Menganalisa behaviour dari class-class tersebut untuk menentukan
state daris setiap class yang termasuk dalam sistem ini.
Hasil laporan perancangan yang dihasilkan dari tahapan ini adalah:
a) System Definition: mendefinisikan seluruh sistem sebagai sebuah
model yang akan dilihat user saat sistem jadi
b) Class Diagram: menggambarkan hubungan antara class-class dalam
sebuah sistem
c) Statechart Diagram: menggambarkan bagaimana state dari daur hidup
kelas yang ada di dalam sistem ini.
2. Application Domain Analysis
Tahapan ini berfokus pada bagaimana sistem akan digunakan oleh
pengguna. Tahap ini dan tahap sebelumnya dapat dimulai secara
bergantian, tergantung pada kondisi pengguna. Terdapat 3 tahapan yang
dilakukan dalam Aplication Domain Analysis (Mathiassen, 2000, p116),
yaitu:
a) Menentukan penggunaan (usage), yaitu menentukan actor dan use case
yang terlibat besrta interaksinya.
b) Menenetukan fungi sistem untuk memproses informasi dan membuat
daftar fungsi.
c) Menentukan antarmuka pengguna dan sistem, untuk interaksi
sesungguhnya dari pengguna dan sistem informasi yang dirancang.
67
Laporan yang akan dihasilkan dari tahapan ini adalah :
a) Use Case Diagram: menggambarkan interaksi pengguna sebagai aktor
dengan sistem informasi.
b) Function List: yaitu kemampuan yang harus dimiliki sistem sebagai
kebutuhan dasar dari user.
c) User Interface Navigation Diagram: diagram untuk menggambarkan
tampilan layar yang akan dirancang untuk memenuhi kebutuhan user.
3. Architectural Design
Dalam tahap ini, akan dirancang arsitektur hubungan antara client dan
server yang memadai untuk sistem dapat berjalan dengan baik.
Perancangan di sini akan menentukan bagaimana struktur sistem fisik akan
dibuat dan bagaimana distribusi sistem informasi pada rancangan fisik
tersebut. Architecture Design terdiri dari tiga aktivitas, yaitu component
architecture, process architecture, dan standars.
4. Component Design
Pembuatan Component Design bertujuan untuk menentukan sebuah
implementasi dalam sebuah architectural framework. Pada tahap ini
terdapat tiga aktivitas, yaitu membuat model component, function
component, dan connecting components.