TUGAS AKHIR
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Oleh :
Wiwik Santoso Kwong NIM : 005314063
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
Inventory Application Program Using EOQ (Economic
Order Quantity) and RoP (Reorder Point) Method’s
( Case Study : Insight Production Vidyasena )
Final Project
Presented as Partial Fullfilment of the Requirements To Obtain the Sarjana Teknik Degree
In Informatics Engineering
By :
Wiwik Santoso Kwong NIM : 005314063
INFORMATIC ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATIC ENGINEERING
FACULTY OF SAINS AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
Dengan ini saya menyatakan bahwa dalam tugas akhir ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Yogyakarta, ...
Penulis,
Wiwik Santoso Kwong
Abstraksi
Untuk dapat memenuhi permintaan konsumen yang selalu berfluktuatif maka diperlukan adanya persediaan yang cukup banyak. Tetapi apabila terjadi kelebihan persediaan maka akan terjadi penumpukan produk yang mengakibatkan semakin tingginya biaya simpan serta hilangnya peluang investasi karena karena terjadi penumpukan modal. Selain itu apabila terjadi kekurangan pemenuhan kebutuhan produk makan akan mengakibatkan hilangnya kepercayaan dari konsumen.
Maka permasalahan pokok yang akan dikaji adalah menentukan jumlah pemesanan yang optimal yang menghasilkan biaya persediaan yang paling minimum dan menentukan reorder point. Dikarenakan jumlah permintaan yang tidak tetap (Probabilistik), maka akan digunakan metode EOQ probabilistik dan service level untuk membantu menyelesaikan permasalahan tersebut diatas. Untuk memudahkan perusahaan dalam hal pencatatan data produk dan mempercepat perhitungan dalam pemesanan yang optimal dan reorder point maka dirancanglah sebuah program bantu sistem kontrol persediaan.
Dengan adanya program bantu ini, maka dapat disimpulkan bahwa sistem kontrol perusahaan menjadi lebih sederhana, lebih mudah dan lebih cepat digunakan dalam hal penginputan data pada bagian pemesanan, penerimaan, pengeluaran, pembuatan laporan dan perhitungan yang berguna untuk mendapatkan jumlah pemesanan yang optimum, kapan dilakukan pemesanan agar menghasilkan biaya persediaan yang paling minimum. Sehingga tujuan dari penelitian ini sesuai dengan yang diharapkan.
To meet fluctuate customers’ demands; a big amount of supply is needed. But if there is an excess of supply, accumulation of products will raise storage cost and loss of infestation opportunity because of accumulation of capital. In addition, if there is lack of product fulfillment, trusts from customers will be lacked.
So the main problem which will be discussed is to determine an optimum order amount which results minimum supply cost and determine reorder point. Because of the fluctuate amount of orders (probabilistic), EOQ probabilistic and service level methods will be used to help solving the problem above. To ease firms in product data registry and to accelerate calculation in optimum order and reorder point, an auxiliary program for supply control system is designed.
With this auxiliary program, it can be concluded that firms’ control system is simpler, easier and faster to be used in data registry on order, delivery, output, report-making and calculation which are useful to reach optimum amount of order, and when to order to result minimum supply costs so the objectives of the research is appropriate with the hope before.
HALAMAN PERSEMBAHAN
”Tugas Akhir ini kupersembahkan kepada :
Kedua Orang Tuaku dan Adik-adikku,
Cintaku yang setia
Semua Saudaraku, Teman dan Sahabat”
“ Sesungguhnya kenikmatan kesuksesan
justru berada pada nilai proses perjuangan yang kita lakukan
dan kemampuan kita mengatasi setiap halangan yang menghadang”
“In fact, the joy of success
lies on the struggling process we are experiencing
and on our ability to overcome every obstacle we face” .
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa, atas karunia dan rahmat-Nya, sehingga penulis dapat menyelesaikan Tugas Akhir dengan judul “Program Aplikasi Inventory dengan Metode EOQ dan RoP (Studi Kasus : Insight
Production Vidyasena )”.
Penyusunan Tugas Akhir ini dimaksudkan guna memenuhi salah satu persyaratan mencapai derajat S-1. Gelar kesarjanaan dalam Jurusan Teknik Informatika pada Fakultas Teknik Universitas Sanata Dharma Yogyakarta.
Tugas Akhir ini dapat tersusun berkat adanya bimbingan, petunjuk, bantuan maupun saran – saran dari berbagai pihak. Oleh karena itu penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Bapak Albertus Agung Hadhiatma. S.T., M..T., selaku Dosen pembimbing I yang telah dengan penuh kesabaran membimbing dan memberikan dorongan kepada penulis. Thank You Sir.
2. Romo Ir. Gregorius Heliarko S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan Teknik Universitas Sanata Dharma.
3. Ibu Agnes Maria Polina, S.Kom, M.Sc, selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma.
4. Bpk. J.B Budi Darmawan, S.T., M.Sc Selaku Ketua Dosen Penguji. 5. Bpk. H. Agung Hernawan, S.T Selaku Dosen Penguji.
6. Staf Dosen Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta.
7. Seluruh Staff Unit Teknik Informatika yang telah membantu saya.
10.Adik-adikku tersayang Yessy Purnama Ayu, Lindawati, Yuliana, yang selalu mengingatkanku untuk menyelesaikan studiku.
11.Yenni Christina, cintaku yang selalu menemaniku dalam susah atau senang. 12.Teman-teman seperjuangan yang membantu dalam penyelesaian tugas akhir,
Danang, Candra (Shincan), Dewa, Erwin, Gina, Pande, Yuli, Yudi, Yanuar, Bowo, Desi, Wiwin.
13.Jenti, Ko Ggn, Ko Yanto, Marlin, Helen, Ninie, ling2, Toni, Suryadi, Amelia yang selalu menanyakan kapan saya lulusnya.
14.Teman-teman Vidyasena yang selalu memberikan perhatian dan keramahannya.
15.Teman kontrakanku, Wen2 dan sigit yang selalu kompak.
Penulis sangat menyadari bahwa penyusunan dari Tugas Akhir ini masih jauh dari sempurna, adanya kritik saran maupun petunjuk sangat membantu demi perbaikan dan penyempurnaan Tugas Akhir ini. Namun besar harapan penulis kiranya dapat bermanfaat bagi kita semua.
Yogyakarta,...
Penulis
DAFTAR ISI
Halaman Judul ……… i
Halaman Judul dalam Bahasa Inggris………. ii
Halaman Persetujuan.………... iii
Halaman Pengesahan………... iv
Halaman Pernyataan Keaslian Karya……….. v
Halaman Abstraksi……….. vi
Halaman Abstract……… vii
Halaman Persembahan ... viii
Halaman Motto ... ix
Kata Pengantar………... x
Daftar Isi………... xii
Daftar gambar………... xvi
BAB I. PENDAHULUAN 1.1 Latar Belakang Masalah ……….………….. 1
1.2Perumusan Masalah………..…. ... 3
1.3 Tujuan Penelitian ……….. 4
1.4. Batasan Masalah ………..…… 4
1.5. Metodologi Penelitian ………..……... 4
1.6. Sistematika Penulisan……….………... 7
2.2. Persediaan ……….….. 9
2.21. Klasifikasi Model Persediaan ....……….… 11
2.2.2. Model Probabilistik ...……..…. 12
2.2.3. Tingkat permintaan berubah-ubah, lead time berubah-ubah... 16
2.3. Economic Order Quantity ...……….. 17
BAB III. ANALISA DAN PERANCANGAN SISTEM 3.1. Gambaran Umum Sistem ...……….. 22
3.2. Analisis Kebutuhan Sistem ...……… 22
3.2.1. Context Diagram………..………... 27
3.2.2 Diagram Berjenjang...……… 27
3.2 3. Overview Diagram ...………... 28
3.2.3.1 DFD Level 1 Proses 2...…….. 30
3.2.3.2 DFD Level 1 proses 3………... 30
3.2.3.3 DFD level 1 proses 4....……….……… 31
3.2.3.4 DFD level 1 proses 5....……….……… 32
3.2.3.5 DFD level 1 proses 6....……….……… 33
3.2.3.6 DFD level 1 proses 7....………..…….. 34
3.2.3.7 DFD level 1 proses 8....………. 35
3.3 Perancangan Sistem... 35
3.3.1 Perancangan Database... 36
3.3.1.1 Entity Relationship Diagram (Conceptual Design)... 37
3.3.1.2 Relasi Antar Tabel Pada Database/Desain Logika... 38
3.3.1.3 Perancangan Tabel(Physical Design)... 38
3.3.1.4 Perancangan Antar Muka (Interface Design)... 43
BAB IV. IMPLEMENTASI SISTEM 4.1 Tampilan Program Dan Penjelasan... 54
4.1.1 Form Login……… 54
4.1.2 Menu Setup dan Transaksi... 56
4.1.2.1 Submenu Barang... 56
4.1.2.2 Submenu Supplier... 57
4.1.2.3 Submenu Pemesanan... 58
4.1.2.4 Submenu Penerimaan... 59
4.1.2.5 Submenu Pengeluaran... 60
4.1.3 Menu Admin... 61
4.1.4 Menu Perhitungan dan Report... 62
4.1.4.1 Form Submenu Pemesanan... 62
4.1.4.2 Form Submenu Penerimaan... 63
4.1.4.3 Form Submenu Pengeluaran... 63
4.1.4.4 Form Submenu Barang... 64
4.1.4.5 Form perhitungan... 65
4.2. Verifikasi..………... 69
BAB V. PENUTUP
5.1. Kesimpulan ... 75 5.2. Saran... 76
DAFTAR PUSTAKA... 77
Data Gambar
1. Gambar 1.1.Flowchart Penelitian ... 8
2. Gambar 2.1.Safety Stock Mengurangi Risiko Kehabisan Persediaan selama Lead Time ... 14
3. Gambar 3.1.Diagram Alir Program... 23
4. Gambar 3.2.Diagram Alir Staff Penanganan Stok ... 24
5. Gambar 3.3.Diagram Alir Manager Pemasaran... 25
6. Gambar 3.4.Diagram Alir Administrasi... 37
7. Gambar A.Form Login... 44
8. Gambar B.Form Barang ... 45
9. Gambar C.Form Supplier ... 45
10.Gambar D.Form Edituser ... 46
11.Gambar E.Form Pemesanan ... 48
12.Gambar F.Form Penerimaan ... 49
13.Gambar G. Form Pengeluaran ... 50
14.Gambar H.Form Perhitungan ... 51
15.Gambar I.Form Laporan Pemesanan Barang ... 51
16.Gambar J.Form Laporan Penerimaan Barang ... 52
19.Gambar M.Form Purchase Order... 53
20.Gambar 4.1.Form Login User ... 54
21.Gambar 4.2. From Input Barang ... 56
22.Gambar 4.3. From Input Supplier ... 57
23.Gambar 4.4. Form Pemesanan ... 58
24.Gambar 4.5.Form Penerimaan ... 59
25.Gambar 4.6.Form Pengeluaran ... 60
26.Gambar 4.7.Form Edit User ... 61
27.Gambar 4.8.Form Laporan Pemesanan... 62
28.Gambar 4.9.Form Laporan Penerimaan ... 63
29.Gambar 4.10.Form Laporan Pengeluaran ... 63
30.Gambar 4.11. Form Laporan barang ... 64
31.Gambar 4.12. Form Perhitungan... 65
BAB I
PENDAHULUAN
1.1. Latar Belakang
Pada masa sekarang, dunia informasi berkembang begitu pesat sehingga menuntut sumber daya manusia lebih terampil dan berkompeten. informasi menjadi salah satu sumber daya yang dianggap paling berharga, karena tidak saja ikut mengatur sebuah organisasi atau perusahaan tetapi lebih dari itu juga berfungsi sebagai ‘bahan bakar’ yang menentukan sukses atau gagalnya suatu organisasi. Sistem Informasi merupakan sistem yang mengolah data untuk menghasilkan segala informasi kepada semua pihak pemakai yang membutuhkan. Menurut Jogiyanto, untuk membangun suatu sistem informasi diperlukan elemen-elemen sebagai berikut : Input, Model, Output, Database, Teknologi, dan Kendali. Keenam elemen ini sangat berperan dalam terciptanya Sistem Informasi yang baik.
Seiring dengan berkembangnya ilmu pengetahuan dan dunia informasi, kebutuhan hidup manusiapun semakin bertambah. Perkembangan itu membawa kemajuan dalam segala aspek, terutama sekali perkembangan dalam dunia industri. Dalam dunia industri banyak sekali ditemukan terobosan-terobosan baru agar mampu bersaing untuk memenuhi kebutuhan hidup tersebut. Tidak terkecuali perusahaan yang bergerak di bidang distribusi, bersaing untuk mememenuhi permintaan dan memperoleh kepercayaan dari konsumen. Untuk itu diperlukan
adanya persediaan yang cukup banyak untuk memenuhi permintaan konsumen. Tetapi apabila terjadi kelebihan persediaan maka akan terjadi penumpukan produk yang mengakibatkan semakin tingginya biaya simpan serta hilangnya peluang investasi karena terjadi penumpukan modal. Selain itu apabila terjadi kekurangan pemenuhan kebutuhan produk maka akan mengakibatkan hilangnya kepercayaan dari konsumen.
3
1.2. Perumusan Masalah
Permasalahan yang ada di Insight production berkaitan dengan masalah persediaan adalah sering terjadi penumpukan produk. Maka permasalahan pokok yang akan dikaji dalam penelitian ini adalah menentukan jumlah pemesanan yang optimal yang menghasilkan biaya persediaan yang paling minimum dan menentukan reorder point. Dikarenakan jumlah permintaan yang tidak tetap (probabilistik), maka akan digunakan metode EOQ Probabilistik dan service level untuk membantu menyelesaikan permasalahan tersebut di atas.
1.3. Tujuan Penelitian
Tujuan dari penulisan Tugas Akhir ini adalah menentukan besarnya jumlah pemesanan yang optimal yang menghasilkan biaya persediaan yang paling minimum dan menentukan reorder point.
Merancang sebuah sistem informasi kontrol persediaan yang bertujuan untuk memudahkan perusahaan dalam melakukan pencatatan barang masuk, barang diterima dan barang keluar.
1.4. Batasan Masalah
Untuk menganalisis permasalahan yang ada di Insight production, maka perlu dibuat suatu batasan masalah agar permasalahan yang dihadapi tidak terlalu luas. Adapun batasan masalahnya adalah sebagai berikut:
a. Penelitian dilakukan di Insight production khususnya pada bagian gudang. b. Biaya pesan dan biaya simpan bersifat tetap. Tidak mempertimbangkan
adanya diskon.
1.5. Metodologi Penelitian
1.5.1.Tahap Persiapan
5
1.5.2.Tahap Pengumpulan Data
Metode yang digunakan untuk memperoleh data dan informasi yang dibutuhkan dalam penyusunan Tugas Akhir ini, antara lain adalah : a. Metode Pengumpulan data secara langsung
Metode ini dapat dilakukan dengan cara : 1. Metode interview
Mengumpulkan data dengan cara wawancara langsung kepada pihak yang berkaitan dengan objek penelitian.
2. Metode observasi
Melakukan pengamatan langsung berbagai macam kegiatan yang berkaitan dengan objek penelitian.
b. Metode pengumpulan data secara tidak langsung (studi pustaka)
Mendapatkan nilai faktor keamanan (Z) yang diperoleh dari tabel kurva normal.
c. Metode Pengembangan sistem
Sistem ini dikembangkan dengan menggunakan metodologi pengembangan sistem SDLC (System Development Life Cycle). Metodologi ini terbagi menjadi beberapa fase yaitu :
1. Fase Analisis Sistem (Analysis Phase)
menyelesaikan hambatan – hambatan yang terjadi kearah perbaikan system.
2. Fase Rancangan (Design Phase)
Merupakan langkah multiproses yang memusatkan kerja pada perancangan system secara umum misalnya perancangan menu, perancangan tampilan dan user interface.
3. Fase Implementasi (Implementation Phase)
Setelah melakukan rancangan system yang diinginkan maka hasil rancangan tersebut diimplementasikan, yang mana rancangan tersebut diterjemahkan kedalam bahasa yang dapat dimengerti mesin.
4. Fase Pengujian (Testing Phase)
Pengujian ini dimaksudkan untuk menguji apakah hasil sudah sesuai dengan rancangan yang diinginkan dan mencari segala kesalahan yang mungkin terjadi.
5. Fase Pemeliharaan ( Maintenance Phase)
Melakukan pemeliharaan terhadap system berupa perawatan terhadap perangkat lunak. Perawatan ini meliputi perubahan, penambahan fungsi atau peningkatan informasi.
1.5.3. Tahap Analisis Data
7
a. Dari data permintaan yang diperoleh, maka bentuk distribusi dari masing-masing jenis permen ditentukan dengan bantuan software Arena 7.0.
b. Fungsi yang diperoleh dari masing-masing distribusi yang terbentuk akan dimasukkan dalam model persediaan untuk menentukan jumlah pemesanan yang optimal, reorder point, serta biaya total persediaan yang paling minimum.
Adapun tahap-tahap penelitian selengkapnya dapat dilihat pada gambar 1.1.
1.6. Sistematika Penulisan
Sistematika yang digunakan dalam penulisan Tugas Akhir ini adalah sebagai berikut :
BAB 1 : Pendahuluan, berisi tentang latar belakang masalah, perumusan masalah, tujuan penelitian, batasan masalah, metodologi penelitian dan sistematika penulisan.
BAB 2 : Landasan Teori, berisi tentang uraian sistematis dari teori yang berhubungan dengan permasalahan yang telah dikemukakan serta uraian singkat mengenai penelitian - penelitian terdahulu yang berhubungan dengan permasalahan pengendalian persediaan. BAB 3 : Analisis dan perancangan Sistem, Bab ini berisi analisis sistem
BAB 4 : Implementasi Sistem, Bab ini beriisikan tentang pembuatan interface, prototype program dan logika program
BAB 5 : Kesimpulan dan Saran, berisi ringkasan hasil penelitian serta saran-saran yang dibutuhkan untuk penelitian selanjutnya untuk mendapatkan kemungkinan hasil yang lebih baik.
Mulai
Mempelajari dan Memahami Permasalahan
Menentukan Tujuan
Studi Literatur Perumusan Masalah
Pemilihan Metode
Perancangan Program Bantu Persediaan
Pembahasan
Kesimpulan dan Saran
Selesai Pengambilan Data
BAB 2
LANDASAN TEORI
2.1. Analisis Sistem
Kata sistem sebenarnya berasal dari bahasa Yunani “Systema” yang artinya kesatuan, yaitu kesatuan dari bagian-bagian yang mempunyai hubungan satu dengan yang lainnya.
Davis (1985) menyatakan bahwa: “Sistem dapat berwujud fisik atau abstrak. Sistem dikatakan abstrak jika mempunyai susunan yang teratur dan serangkaian konsep dan saling tergantung satu sama lain. Sedangkan sistem fisik adalah kumpulan elemen-elemen yang beroperasi secara bersama-sama untuk mencapai tujuan.”
Murdick (1978) menyatakan suatu sistem dapat dijelaskan dengan sederhana sebagai seperangkat elemen yang digabungkan satu dengan lainnya untuk suatu tujuan bersama.
Dari definisi-definisi di atas, maka pada dasarnya sistem dapat dinyatakan sebagai kumpulan dari elemen-elemen, subsistem-subsistem yang saling berinteraksi membentuk suatu kesatuan untuk mencapai suatu tujuan akhir.
2.2. Persediaan
Persediaan berarti perbekalan. Sistem perbekalan adalah serangkaian kebijaksanaan dan pengendalian yang memonitor tingkat persediaan sumber daya.
Sistem ini bertujuan menetapkan dan menjamin tersedianya sumber daya dalam kuantitas dan waktu yang tepat.
Salah satu faktor penting dalam merumuskan dan memecahkan permasalahan dari model persediaan adalah harus ditentukan apakah permintaan (per unit waktu) suatu item bersifat deterministik (jumlahnya diketahui secara pasti) atau probabilistik (digambarkan dengan distribusi probabilitas).
Permasalahan dalam model persediaan berkaitan dengan pemesanan dan penerimaan yang dilakukan berulang kali dengan jumlah tertentu pada jangka waktu tertentu pula. Dari pengertian awal ini, kebijakan yang dibuat harus dapat menjawab dua pertanyaan ini:
1. Berapa banyak yang harus dipesan?
2. Bilamana atau kapan pemesanan dari suatu item harus dilakukan?
Jawaban dari pertanyaan pertama menentukan jumlah pesan ekonomis/economic order quantity (EOQ) dengan minimasi model biaya seperti pada persamaan (3.1). Total annual cost = Purchase cost + Ordering cost
+ Holding cost ... (3.1)
1. Purchase cost adalah biaya berdasarkan harga per unit item. Harganya bisa tetap, atau ada juga penawaran diskon tergantung dari banyaknya jumlah item yang dipesan.
2. Ordering cost mewakili biaya tetap yang muncul pada saat suatu pemesanan dilakukan. Biaya ini terlepas dari banyaknya jumlah item yang dipesan. 3. Holding cost merupakan biaya yang muncul saat suatu item disimpan. Terdiri
11
Jawaban dari pertanyaan kedua (kapan harus dipesan) tergantung dari jenis sistem persediaan yang digunakan. Jika menggunakan pendekatan periodik, misal setiap minggu atau bulan harus dipesan, maka pemesanan dilakukan diawal setiap periodenya. Jika berdasarkan pendekatan kontinue, maka pemesanan dilakukan pada saat tingkat persediaan berada pada level tertentu, yang disebut titik pemesanan kembali (Taha, 2002).
2.2.1 Klasifikasi Model Persediaan
Terdapat 3 unsur penting yang menjadi dasar bagi pembahasan persediaan dimana ketiga macam unsur tersebut masing-masing memiliki sifat tertentu. Sifat-sifat tersebut akan menentukan karakteristik dari model persediaan (Siswanto, 1985). Ketiga unsur tersebut adalah:
a. Unsur permintaan.
Apabila permintaan yang akan datang diketahui secara pasti atau tertentu, maka permintaan tersebut bersifat deterministik. Sebaliknya apabila permintaan yang akan datang tidak tentu atau tidak diketahui secara pasti maka sifat permintaan adalah probabilistik.
b. Unsur periode datangnya pesanan (lead time).
Apabila baik permintaan maupun lead time dapat diketahui secara pasti maka dikatakan bersifat deterministik. Akan tetapi bila salah satu yaitu permintaan maupun lead time atau keduanya barsifat tidak tentu, maka dikatakan bahwa sifatnya berada dalam jangkauan model probabilistik.
Apabila karakteristik dari permintaan dan lead time telah dapat ditunjukkan, maka sifat dari permintaan selama periode datangnya pesanan dapat segera diperkirakan. Bila salah satu yaitu permintaan atau lead time bersifat probabilistik, maka permintaan selama periode datangnya pesanan juga akan mengikuti distribusi probabilitas.
2.2.2. Model Probabilistik
Di dalam kebanyakan situasi-situasi nyata, lingkungan tidak dapat dianggap deterministik sepenuhnya. Biaya simpan atau biaya pesan mungkin tidak secara mudah dapat dinyatakan. Lead time mungkin tidak dengan mudah dipastikan. Permintaan terhadap produk mungkin tidak mudah diperkirakan. Oleh karena hal-hal tersebut maka faktor-faktor lingkungan yang membentuk parameter-parameter dari model tidak akan dapat ditentukan secara pasti melainkan lebih bersifat probabilistik.
Model dikatakan probabilistik bila salah satu dari permintaan atau lead time atau bahkan keduanya tidak diketahui secara pasti, dimana perilakunya harus diuraikan dengan distribusi probabilitas.
13
Di dalam model probabilistik yang menjadi pokok perhatian adalah analisis terhadap perilaku permintaan selama lead time. Reorder point adalah saat dimana pesanan harus dibuat, yang mana diharapkan pesanan pada saat tersebut barang akan datang tepat waktu sesuai dengan lamanya periode lead time. Namun karena baik permintaan maupun lead time mengikuti distribusi probabilitas, maka periode waktu setelah pesanan dibuat atau selama lead time akan terdapat kemungkinan-kemungkinan sebagai berikut:
a. Tingkat permintaan berubah-ubah, lead time konstan. b. Tingkat permintaan konstan, lead time berubah-ubah. c. Tingkat permintaan berubah-ubah, lead time berubah-ubah.
Sebelum membahas lebih lanjut mengenai kemungkinan-kemungkinan tersebut di atas, perlu dipahami terlebih dahulu mengenai konsep safety stock, service level dan distribusi normal (Siswanto, 1985).
a. Safety stock
Time LT
ROP
Q
Safety stock Expected demand during lead time Maximum probable demand
during lead time
Gambar 2.1. Safety stock mengurangi resiko kehabisan
persediaan selama lead time
Sumber: Jerry Seinfeld
b. Service Level
15
95% berarti 95% kemungkinan permintaan akan terpenuhi oleh persediaan yang ada. Dan kemungkinan stock out adalah sebesar 5%.
Jumlah safety stock berbeda pada setiap situasi, tergantung pada faktor-faktor sebagai berikut:
a. Rata-rata permintaan dan rata-rata lead time. b. Perubahan permintaan dan lead time.
c. Tingkat service level yang diinginkan.
Dengan adanya service level, semakin besar perubahan tingkat permintaan dan lead time yang terjadi, semakin besar pula jumlah safety stock yang diperlukan untuk mencapai service level tersebut. Hal ini sejalan dengan adanya variasi permintaan dan lead time, penambahan service level akan menghendaki penambahan jumlah safety stock.
c. Distribusi Normal
Normal, poisson dan negatif eksponensial dipergunakan untuk mengambarkan fungsi permintaan. Distribusi normal sering dipergunakan untuk menggambarkan fungsi permintaan pada level pabrik; distribusi poisson pada level retail dan negatif eksponensial pada level retail dan pergudangan. Ketiga distribusi ini tidak otomatis dipergunakan untuk tiap situasi permintaan. Tetapi terlebih dahulu perlu dilakukan test statistik yang akan ditetapkan sebagai dasar standar distribusi.
didukung oleh dua hal, penyimpangan rata-rata dan standar deviasi. Distribusi normal mempunyai suatu jumlah bentuk simetrikal yang pasti pada angka rata-ratanya, namun dalam permintaannya cenderung untuk berada di atas atau di bawah nilai rata-rata (mean). Bentuk dalam setiap kasus ditentukan oleh standar deviasi. Untuk permintaan rata-rata yang rendah, distribusi normal tidak cukup karena dasar simetrikal akan membawa kemungkinan akan permintaan negatif. Karena permintaan negatif tidak mungkin, distribusi lain seperti Poisson digunakan untuk permintaan tingkat rendah (Tersine, 1994).
2.2.3. Tingkat permintaan berubah-ubah, lead time berubah-ubah.
Pada tingkat permintaan dan lead time berubah-ubah, tingkat safety stock yang disediakan harus lebih besar lagi dibandingkan jika salah satu dari keduanya bernilai konstan.
Jika permintaan dan lead time terdistribusi normal, maka total permintaan selama lead time juga akan mengikuti distribusi normal.
Untuk menghitung reorder point dengan safety stock menurut metode service level dapat diasumsikan bahwa jumlah tiap permintaan per hari selama waktu lead time adalah tidak pasti. Permintaan rata-rata dalam periode lead time adalah jumlah dari rata-rata permintaan harian dengan jumlah hari dalam lead time. Perhitungannya dapat dirumuskan sebagai berikut dengan asumsi menggunakan pola distribusi normal:
17
Dimana:
d = rata-rata permintaan
LT = rata-rata lead time Z = nilai service level
Z σd2LT+σ2LTd2 = safety stock
d LT 2 2
LT 2
d +σ
σ = standar deviasi permintaan selama lead time
σd = standar deviasi permintaan
σLT = standar deviasi lead time
σ = standar deviasi
2.3. Economic Order Quantity
Jumlah pemesanan yang dapat meminimumkan total biaya persediaan disebut Ecomonic Order Quantity (EOQ). Konsep dasar EOQ sebenarnya digunakan untuk mencari berapa jumlah barang yang harus dipesan, berapa biaya yang dikeluarkan untuk melakukan pemesanan dan kapan waktu untuk melakukan pemesanan agar total biaya persediaan menjadi minimum. Tujuannya adalah agar:
a. Tidak terjadi investasi berlebihan yang ditanamkan dalam persediaan. b. Tidak mengalami kehabisan persediaan yang akan mengakibatkan
penjualan terhenti, kehilangan pelanggan, kerugian dan lain-lain.
Total annual cost = Purchasing cost + Ordering cost + Holding cost Dimana:
- Purchasing cost: PR (3.3)
- Ordering cost: Q
D = Jumlah permintaan barang selama satu periode P = purchasing cost
S = Biaya setiap kali pesan
h = Biaya penyimpanan per unit per satuan waktu Q = Jumlah pemesanan per unit
Tujuan dari model ini adalah untuk memilih nilai Q yang mengandung semua biaya diatas serendah-rendahnya. Tetapi yang perlu diperhatikan hanyalah biaya-biaya yang relevan saja. Biaya yang pertama dapat diabaikan karena biaya tersebut akan timbul tanpa tergantung pada frekuensi pemesanan. Sehingga tujuan dari model persediaan menjadi:
Meminimumkan TC = Q
19
penyimpanan. Untuk mengoptimalkan total biaya persediaan (TC) didapat dengan menurunkan TC terhadap Q. persamaan TC diturunkan kemudian disamakan dengan nol.
dQ
Sehingga akan diperoleh jumlah pemesanan optimum (EOQ) sebagai berikut:
EOQ = Q* = h DS 2
... (3.11)
(Sumber : Siswanto, 1985, Persediaan, Model dan analisis)
Model economic order quantity tersebut diatas dapat dipergunakan dengan menggunakan asumsi:
a. Kebutuhan akan barang dapat ditentukan, relatif tetap dan terus menerus. b. Tenggang waktu pemesanan relatif tetap.
c. Tidak diperkenankan adanya kekurangan persediaan. Artinya setelah kebutuhan dan tenggang waktu dapat ditentukan secara pasti berarti kekurangan persediaan dapat dihindari.
e. Kapasitas gudang dan modal cukup untuk menampung dan melakukan pemesanan barang.
21
Penelitian mengenai sistem persediaan juga diteliti oleh Setiawan (2005) dalam penelitiannya yang berjudul “Perencanaan Persediaan Bahan Baku Ikan Tuna Di PT. Jui Fa International Foods”. Penelitian ini bertujuan untuk menganalisis persediaan ikan tuna dengan pendekatan sistem dinamis dengan bantuan software Powersim (Power Simulation) tujuannya adalah untuk menentukan kapan periode pemasukan ikan dan berapa jumlah pemasukan ikan yang optimal agar didapatkan total biaya yang minimum.
3.1. Gambaran Umum Sistem
Sistem Inventory Limit Controlling ini bertujuan untuk memudahkan
Insight Production dalam melakukan pencatatan barang masuk, barang diterima
dan barang keluar serta untuk membantu dalam menentukan besarnya jumlah
pemesanan yang optimal yang menghasilkan biaya persediaan yang paling
minimum dan menentukan Reorder point (menentukan kapan saat yang paling
tepat untuk melakukan pemesanan suatu barang). Sistem ini menggunakan metode
EOQ probabilistik serta service level karena jemlah permintaan dan lead time yan
tidak tetap.
3.2. Analisis Kebutuhan Sistem
Dari sisi kebutuhan dari Sistem Inventory Limit Controlling, terbagi atas 3
user yaitu :
• Staff Penanganan stok
Fasilitas yang dimiliki oleh user Staff Penanganan stok:
- Dapat memasukan, update dan hapus data transaksi yang terdiri dari
pemesanan, penerimaan, dan pengeluaran.
- Dapat menambah dan mengupdate data barang dan supplier.
• Manager Pemasaran
Fasilitas yang dimiliki oleh user Manager Pemasaran:
Dapat memasukan data untuk diolah yang nantinya dapat sebagai bahan
pertimbangan dalam pengambilan keputusan.
- Dapat melihat dan mencetak laporan pemesanan barang, penerimaan
barang, pengeluaran barang, dan laporan mengenai barang.
• Administrasi
- Dapat melakukan mengupdate dan menghapus account user yang dapat
menggunakan program ini.
Berikut adalah gambaran umum alur data pada sistem inventory ini :
Cek Batasan Module
Ya
Manager pemasaran
sesuai?
Cek Batasan Module
Ya
Admin
sesuai?
Cek Batasan Module
Log Out Log Out
Gambar 3.1. Diagram Alir Program
Setup Kode Supplier
Hapus?
Tidak Tidak Tidak Tidak
Tidak
Simpan Hapus Simpan Hapus
Tambah?
Gambar 3.2. Diagram Alir Staff penanganan stok
Perhitungan Laporan
Gambar 3.3. Diagram Alir Manager Pemasaran
Mulai
Hapus Tambah?
Masukan
User
Selesai Tidak
Ya
Simpan Ubah?
Masukan
User
Tidak
Ya
Hapus?
Ya
Tidak
Gambar 3.4. Diagram Alir Administrasi
3.2.1. Context Diagram
3.2.2. Diagram Berjenjang
Pemasaran
D3 data perhitungan
validasi validasi
data perhitungan baru
validasi validasi
Data perhitungan
Data perhitungan
Tanggal Pemesanan
Data pemesanan
Nama barang
Data barang
Tanggal pengeluaran
Data Pengeluaran
data user
data perhitungan
data Supplier
D4 data supplier
data Supplier baru
data Supplier
data Supplier
Data barang Data barang
D5 data barang
Data barang baru
Data barang
5 Pengolahan Data barang
D6 data pemesanan
Data pemesanan Data pemesanan
baru
D5 data barang
Data Pengeluaran baru
Data Pengeluaran Data pemesanan
Data pemesanan, Rop, PO
Data Pengeluaran
Data Pengeluaran, stok brng, Rop, safety stok data user
data user
Manager pemasaran
Staff penangan
stok
validasi
1p
8
Pengolahan data penerimaan
Laporan penerimaan
Data penerimaan
D8 data user
data Penerimaan
Data penerimaan baru
No faktur, kode barang, jmlh datang
Tanggal penerimaan
D2 Data user
2.2.p
Edit data useri
2.3.p
Lihat data pegawai
Administrasi
Data user
data user baru
Nama user, kode jabatan, password
Nama user
Data user
2.4.p
Hapus data user user
user
3.2.3.2 DFD Level 1 proses 3
3.2.3.3 DFD level 1 proses 4
4.1.p
Input data supplier
Staf penangan
stok
D4 Data supplier
4.2.p
Edit data supplier
4.4.p
Lihat data supplier
data supplier
data supplier baru
data supplier data supplier baru
data supplier
4.3.p
Hapus data supplier
Kode supplier
Kode supplier
Staf penangan
stok data supplier
kode_supplier
5.1.p
Input data barang
D5 Data barang
5.2.p
Edit data barang
5.4.p
Lihat data barang data barang baru
Manager pemasaran
data barang data barang baru
Data barang, safety stok, Rop data barang
5.3.p
Hapus data barang
kode_barang kode_barang
Staf penangan
stok data barang
Nama barang
Nama barang
3.2.3.5 DFD Level 1 proses 6
7.1.p Input data pengeluaran
D7 Data
pengeluaran 7.2.p Edit data pengeluaran
7.3.p Hapus data pengeluaran Data pengeluaran
baru
Manager pemasaran
Data pengeluaran
No faktur keluar Data pengeluaran
baru
No faktur keluar
7.4.p Lihat data pengeluaran data pengeluaran
Staff penangan
stok No faktur keluar
data pengeluaran Data pengeluaran
Tanggal pengeluaran
3.2.3.7 DFD Level 1 proses 8
8.1.p Input data penerimaan Lihat data penerimaan
No faktur, kode barang, jumlah datang
data penerimaan
3.3 Perancangan Sistem
Perancangan sistem dapat didefinisikan sebagai pembuatan sketsa /
kerangka dalam membentuk kesatuan sistem yang berfungsi atau dengan kata lain
penggabungan dari elemen-elemen yang terpisah ke dalam satu kesatuan yang
utuh dan berguna.
Adapun tujuan dari perancangan sistem ini adalah :
1. Memberikan gambaran mengenai sistem yang akan dibuat.
2. Mempermudah pemakai dalam mendapatkan informasi secara cepat
tepat dan dimana saja.
3. Untuk memenuhi kebutuhan pemakai sistem ini.
3.3.1 Perancangan Database
Basis data adalah suatu wadah/tempat untuk menyimpan dan menyediakan
data-data / informasi yang akan dipakai oleh sistem informasi. Basis data
merupakan komponen yang penting dalam pembuatan sistem. Desain basisdata
bertujuan agar penyimpanan serta akses data-data dapat dilakukan dengan mudah,
cepat dan efisien.
Suatu basis data yang baik harus memiliki unsur – unsur yang diperlukan
untuk menampung masukan ataupun keluaran. Beberapa kriteria basis data yang
baik adalah :
1. Lebih mudah diorganisasikan, apabila terjadi pengembangan sistem lama
yang menyebabkan dibuatnya sistem yang baru, maka basis data tidak
perlu diubah.
2. Integritas data, data – data harus saling terpadu dan terkait, sehingga basis
data dapat dipakai oleh berbagai proses aplikasi yang dibutuhkan oleh
masing-masing pemakai.
3. Minimum redudansi artinya meminimumkan data yang sama disimpan
berulang – ulang.
4. Memiliki kemampuan dalam menyajikan informasi dengan cepat dan
tepat.
5. Terjamin keamanan dan privasinya.
6. Mudah digunakan , dioperasikan dan dipelihara.
Dalam merancang struktur basis data sistem ini, hal pertama yang dilakukan
adalah membuat E-R Diagram (Entity Relational Diagram) yang mana diagram
tersebut didasarkan atas persepsi obyek tersebut benar-benar ada (entities) dan
terdapat hubungan antar obyek (relationship). Kemudian dari E-RDiagram
tersebut kita dapat membuat relasi antar tabel. Pada relasi antara tabel many to
many dapat membentuk tabel baru pada Logical Design, sehingga langkah berikutnya kita dapat merancang tabel-tabel pada basis data tersebut. Penjelasan
tersebut agar lebih jelas dapat kita lihat sebagai berikut:
3.3.1.1 Entity Relationship Diagram (Conceptual Design)
Kode_Brg*
3.3.1.4 Perancangan Tabel(Physical Design)
Database yang telah dirancang beserta entitas-entitas dan atribut-atributnya
adalah sebagai berikut:
Tabel barang
Tabel barang merupakan tabel yang berisi data mengenai barang yan dijual.
Staff penangan yang bertugas dalam pengelolaan tabel barang, tetapi manager
pemasaran juga dapat melihat data barang yang ada.
Primary key : Kode_Brng
Field Tipe Data Lebar Keterangan
Kode_Brg Text 10 Primary Key, Not Null
Nama_Brg text 50 Nama barang
Jenis_Brg text 50 Jenis barang
Satuan text 10 Satuan barang
B_Simpan integer 10 Biaya simpan per unit barang
B_Pesan Integer 10 Biaya pesan per unit barang
Jumlah interger Jumlah stock barang
merek text 50 Merek barang
Tabel login
Tabel login merupakan tabel yang berisi data user yang dapat menggunakan
sistem inventory ini.
Admin merupakan bagian yang berfungsi untuk mengatur data pengolahan data
user.
Primary key : user
Field Tipe Data Lebar Keterangan
User Text 20 Primary Key, Not Null
Kode_jabatan integer 1 Tipe kode, 1 = manager, 2 = staff
penangan stok, 3 = admin
Password text 20 Password untuk login
Tabel Pemesanan
Tabel pemesanan merupakan tabel yang berisi mengenai data-data transaksi
pemesanan barang.
Foreign key : Kode_Spp, Kode_Brng
Field Tipe Data Lebar Keterangan
No_Faktur Integer 10 Primary Key, Not Null
Kode_Spp Integer 20 Kode supplier
Kode_Brng Integer 20 Kode barang
Jumlah pesan Integer Jumlah pemesanan barang
Tgl_Pesan date
Tabel Penerimaan
Tabel penerimaan adalah tabel yang berisi mengenai data transaksi penerimaan
barang yang yang telah diterima/telah sampai pada tujuan.
Primary key : No_Faktur.
Foreign key : kode_spp, kode_brng.
Field Tipe Data Lebar Keterangan
No_Faktur Integer 10 Primary Key, Not Null
Kode_Spp Integer 20 Kode supplier
Kode_Brng Integer 20 Kode barang
Jumlah datang Integer Jumlah pemesanan barang
Belum terkirim integer Jumlah kekurangan barang yang
belum dipenuhi / belum terkirim
Tgl_datang Date Tanggal barang datang
Tabel pengeluaran
Tabel ini berisi kumpulan data mengenai barang yang telah dikeluarkan dari
gudang.
Staff penangan stok yang bertugas dalam mencatat dan memasukan data
mengenai barng yang telah dikeluarkan.
Primary key : No_fakturkeluar
Foreign key : kode_brng
Field Tipe Data Lebar Keterangan
No_Fakturkeluar Integer 10 Primary Key, Not Null
Kode_Brng Integer 20 Kode barang
Jumlah_keluar Integer Jumlah barang keluar
Tgl_keluar date Tanggal barang dikeluarkan dari
gudang.
Tabel perhitungan
Tabel ini berisi hasil perhitungan dari seluruh stok persediaan yang ada digudang.
Hasil dari perhitungan yang menggunakan metode EOQ(Economic Order
Quantity)dan Service Level akan dihasilkan titik pemesanan kembali (Rop), jumlah safety sock dan jumlah pemesanan yang optimum.
Field Tipe Data Lebar Keterangan
Kode_Brng Integer 10 Primary Key, Not Null
Tgl_hitung date Tanggal perhitungan
Safety_stock Integer Persediaan pengaman
Rop Integer Titik pemesanan kembali
EOQ Integer Jumlah unit pemesanan optimum
Table supplier
Tabel ini berisikan data-data mengenai supplier
Yang bertugas dalam memasukan data ini adalah staff penangan stok.
Primary key : kode_spp
Field Tipe Data Lebar Keterangan
Kode_Spp Integer 10 Primary Key, Not Null
Nama_Spp Text 25 Nama supplier
Alamat_Spp Text 50 Alamat supplier
Kota Text 30 Kota tempat supplier berada
Telp Integer 20 No telpon supplier
Faks Integer 20 No faks supplier
3.3.1.4 Perancangan Antar Muka (Interface Design)
Desain AntarMuka merupakan form atau halaman yang digunakan untuk
memasukkan dan mengeluarkan data-data ke dan dari sistem. Pada system
informasi Inventory ini, rancangan sistem AntarMuka yang akan dibuat dari awal
sampai akhir sebagai berikut :
HEADER
FOOTER
Login User
User
Password
Login Exit
Selamat Datang di Sistem Informasi Inventory Insight Production Vidyasena, silahkan login terlebeih dahulu untuk dapat masuk ke sistem
gambar 3.4.1.4.A. Form login
Gambar di atas adalah gambar yang pertama kali muncul saat user akan
masuk ke system. User diharuskan untuk login terlebih dahulu agar dapat masuk
ke sistem.
a. Form Login
Untuk keperluan keamanan sistem maka dibuat form login sehingga tidak
semua orang bisa mengakses sistem ini. Bila user dan password yang diberikan
terjadi kesalahan dalam pengisian password maka akan muncul message box
dengan informasi password yang dimasukkan salah. Rancangan Tampilan dari
form login dapat dilihat pada gambar A.
Gambar A. Form Login
b. Form Barang
Form barang ini berfungsi untuk melihat data barang yang ada,
memasukkan data barang yang baru, mengganti data barang yang ada dan
menghapus data barang yang sudah ada. Apabila dilakukan penghapusan data
maka pertama-tama akan muncul message box yang menanyakan apakah data
tersebut benar-benar akan dihapus, hal ini merupakan pengamanan terhadap data
yang ada sehingga apabila terjadi kesalahan pengklikkan, pengguna dapat segera
memperbaikinya. Sedangkan untuk penambahan data barang tidak dapat diisi
dengan barang yang sama sehingga akan muncul message box yang menyatakan
data barang tersebut sudah ada. Rancangan Tampilan dari form barang dapat
dilihat pada gambar B.
Gambar B. Form Barang
c. Form Supplier
Form supplier ini berfungsi untuk melihat data supplier yang ada,
memasukkan data supplier yang baru, mengganti data supplier yang ada dan
menghapus data Supplier yang sudah ada. Apabila dilakukan penghapusan data
maka pertama-tama akan muncul message box yang menanyakan apakah data
tersebut benar-benar akan dihapus, hal ini merupakan pengamanan terhadap data
yang ada sehingga apabila terjadi kesalahan pengklikkan, pengguna dapat segera
memperbaikinya. Sedangkan untuk penambahan data supplier tidak dapat diisi
dengan data supplier yang sama sehingga akan muncul message box yang
menyatakan data supplier tersebut sudah ada. Rancangan Tampilan dari form
supplier dapat dilihat pada gambar C.
Gambar C. Form Supplier
sudah ada. Apabila dilakukan penghapusan data maka pertama-tama akan muncul
message box yang menanyakan apakah data tersebut benar-benar akan dihapus, hal ini merupakan pengamanan terhadap data yang ada sehingga apabila terjadi
kesalahan pengklikkan, pengguna dapat segera memperbaikinya. Sedangkan
untuk penambahan data user tidak dapat diisi dengan data user yang sama
sehingga akan muncul message box yang menyatakan data user tersebut sudah
ada. Rancangan Tampilan dari form edituser dapat dilihat pada gambar D.
Gambar D. Form Edituser
e. Form Pemesanan
Form pemesanan ini berfungsi untuk melihat semua data transaksi
pemesanan barang yang ada, memasukkan data transaksi pemesanan barang yang
dilakukan, mengganti data transaksi pemesanan barang yang sudah ada dan
menghapus data transaksi pemesanan barang yang pernah dilakukan. Tanggal
dilakukan pemesanan telah diatur sesuai dengan tanggal saat dilakukannya
pemesanan barang tersebut, dengan kata lain telah ter-set secara otomatis.
Demikian juga dengan nomor faktur akan secara otomatis ter-set, dimana setiap
kali pemesanan dilakukan maka no faktur akan terus bertambah 1. Untuk kode
supplier diisi dengan memilih combo box, secara otomatis nama supplier akan tampil. Kode barang diisi dengan memilih combo box juga dan nama barang akan
secara otomatis tampil. Apabila telah dilakukan perhitungan terhadap titik
pemesanan kembali (Rop) maka secara otomatis Rop tersebut akan tampil,
selanjutnya pengguna hanya tinggal mengisikan jumlah pemesanan barang.
Apabila dilakukan penghapusan data maka pertama-tama akan muncul message
box yang menanyakan apakah data tersebut benar-benar akan dihapus, hal ini merupakan pengamanan terhadap data yang ada sehingga apabila terjadi
kesalahan pengklikkan, pengguna dapat segera memperbaikinya, sedangkan jika
data yang akan dihapus telah diterima (barang telah datang) maka tidak dapat
dilakukan perintah delete, sehingga akan muncul message box yang menyatakan
barang sudah diterima jadi jangan dihapus. Sedangkan untuk penambahan data
transaksi pemesanan, nomor faktur, kode barang, kode supplier tidak dapat diisi
dengan data yang sama sehingga akan muncul message box yang menyatakan data
transaksi pemesanan tersebut sudah ada. Rancangan Tampilan dari form
pemesanan barang dapat dilihat pada gambar E.
f. Form Penerimaan
Form penerimaan berfungsi untuk melihat semua data transaksi
penerimaan barang yang ada, memasukkan data transaksi penerimaan barang yang
dilakukan dan mengganti data transaksi penerimaan barang yang sudah ada.
Tanggal penerimaan barang telah diatur sesuai dengan tanggal saat barang
tersebut diterima, dengan kata lain telah ter-set secara otomatis. Untuk nomor
faktur diisi dengan memilih combo box, secara otomatis kode supplier, dan
tanggal pemesanan akan tampil. Kode barang diisi dengan memilih combo box
juga dan nama barang, jumlah pemesanan dan stock barang akan tampil secara
otomatis. Pengguna hanya tinggal mengisikan jumlah barang datang dan secara
otomatis juga barang yang belum terkirim akan terisi dan stock barang akan
bertambah. Apabila jumlah barang datang melebihi jumlah pemesanan, maka akan
muncul message box yang menyatakan barang melebihi pemesanan, hal ini
bertujuan untuk mengamanan data yang ada. Pada menu ini tidak dapat dilakukan
penghapusan data, karena barang yang telah diterima, tidak boleh dihapus dari
data. Sedangkan untuk penambahan data transaksi penerimaan, nomor faktur,
kode barang tidak dapat diisi dengan data yang sama sehingga akan muncul
message box yang menyatakan data transaksi penerimaan tersebut sudah ada. Rancangan Tampilan dari form penerimaan barang dapat dilihat pada gambar F.
Gambar F. Form Penerimaan
g. Form Pengeluaran
Form pengeluaran berfungsi untuk melihat semua data transaksi
pengeluaran barang yang ada, memasukkan data transaksi pengeluaran barang
yang dilakukan, mengganti data transaksi pengeluaran barang yang sudah ada dan
menghapus data transaksi pengeluaran barang yang pernah dilakukan. Tanggal
pengeluaran barang telah diatur sesuai dengan tanggal saat barang tersebut keluar,
dengan kata lain telah ter-set secara otomatis. Kode barang diisi dengan memilih
combo box maka nama barang dan stock barang akan tampil secara otomatis.
Pengguna hanya tinggal mengisikan jumlah barang keluar dan secara otomatis
juga stock barang akan berkurang. Sedangkan apabila jumlah barang keluar
melebihi safety stock dan stock barang yang ada, maka transaksi tidak dapat
pemesanan barang. Apabila dilakukan penghapusan data maka pertama-tama akan
muncul message box yang menanyakan apakah data tersebut benar-benar akan
dihapus, hal ini merupakan pengamanan terhadap data yang ada sehingga apabila
terjadi kesalahan pengklikkan, pengguna dapat segera memperbaikinya.
Sedangkan untuk penambahan data transaksi penerimaan, nomor faktur keluar,
kode barang tidak dapat diisi dengan data yang sama sehingga akan muncul
message box yang menyatakan data transaksi pengeluaran tersebut sudah ada. Rancangan Tampilan dari form pengeluaran barang dapat dilihat pada gambar G.
Gambar G. Form Pengeluaran
h. Form Perhitungan
Form perhitungan berfungsi untuk menghitung seluruh stock persediaan
yang ada di gudang. Data-data yang dipakai berasal dari data barang, pemesanan,
penerimaan dan pengeluaran. Kemudian dari data-data tersebut dilakukan
perhitungan sehingga hasil yang didapatkan dapat membantu pihak manajemen
untuk membantu mengorganisir persediaannya. Persediaan tersebut dihitung
dengan menggunakan metode Economic Order Quantity dan service Level. Hasil
perhitungan yang dilakukan yaitu dapat diketahui titik pemesanan kembali (Rop),
jumlah safety stock dan jumlah pemesanan yang optimum. Rancangan Tampilan
form perhitungan dapat dilihat pada gambar H.
Gambar H. Form Perhitungan
i. Form Laporan Pemesanan Barang
Semua hasil proses pemesanan barang kepada pihak supplier dapat dilihat
dalam laporan pemesanan ini. Rancangan Tampilan form laporan pemesanan
barang dapat dilihat pada gambar I.
Gambar I. Form Laporan Pemesanan Barang
barang dapat dilihat pada gambar J.
Gambar J. Form Laporan Penerimaan Barang
k. Form Laporan Pengeluaran Barang
Semua hasil proses pengeluaran barang dapat dilihat dalam laporan
pengeluaran ini. Rancangan Tampilan form laporan pengeluaran barang dapat
dilihat pada gambar K.
Gambar K. Form Laporan Pengeluaran Barang
l. Form Laporan Barang
Semua proses pengolahan barang yang dilakukan oleh pihak gudang dapat
dilihat dalam laporan barang ini. Rancangan Tampilan form laporan barang dapat
dilihat pada gambar L.
Gambar L. Form Laporan Barang
m. Form Purchase Order
Form purchase order ini berfungsi untuk melakukan pencetakan
pemesanan barang yang telah dilakukan. Pertama kali dilakukan penginputan
nama supplier dan tanggal pemesanan barang tersebut, kemudian dilakukan
pengklikan print dan akan tampil purchase order berdasarkan nama supplier dan
tanggal barang tersebut dipesan. Rancangan Tampilan form purchase order dapat
dilihat pada gambar M.
Gambar M. Form Purchase Order
4.1 Tampilan Program Dan Penjelasan
Bagian ini akan menjelaskan jalannya program disertai potongan-potongan yang dibutuhkan
4.1.1 Form Login
gambar 4.1 Form login user
Untuk dapat masuk ke dalam sistem maka user perlu melakukan login yang ada pada menu login. Setelah itu user memasukan username dan password. Setelah username dan password dimasukkan, maka halaman ini akan melakukan pengecekan data yang dimasukkan. Jika data benar maka sistem akan mengecek hak akses dari username dan password tersebut sehingga user akan dapat masuk ke halaman sistem sesuai dengan hak aksesnya masing-masing. Ada tiga macam hak akses yaitu admin,
55
manager dan staff penanganan stok. Perintah yang digunakan untuk cek data login adalah sebagai berikut :
Private Sub CmdLogin_Click() Dim a As String
'MDIForm1.mnuSetup.Enabled = True
a = "Select * from Table_Login where Table_Login.User = '" & TxtUser.Text & "'" Adodc1.RecordSource = a
Adodc1.Refresh
If Adodc1.Recordset.EOF Then
MsgBox "User Tidak Terdaftar", , "Peringatan" TxtUser.SetFocus
Else
If Adodc1.Recordset!Password = TxtPassword.Text Then MsgBox "Anda Berhasil", , "Sukses"
Hide
MDIForm1.Show
MDIForm1.mnulogin.Enabled = False Select Case Adodc1.Recordset!Kode_jabatan Case 1
Jika user memasukan login dan password, maka sistem akan menampilkan tampilan sesuai dengan hak akses user. Jika user menggunakan hak akses Manager maka menu yang akan aktif adalah menu perhitungan dan laporan.jika user menggunakan hak akses staff penanganan stok maka menu yang aktif adalah menu setup dan transaksi.
4.1.2 Menu Setup dan Transaksi
Dalam hak akses staff penanganan produk terdapat menu setup dan transaksi. Didalam menu setup apabila diklik maka terdapat dua submenu yaitu : barang dan supplier.
4.1.2.1 Submenu Barang
Gambar 4.2 From input barang
Perintah untuk menambahkan data barang diatas adalah : Private Sub CmdAdd_Click()
On Error Resume Next kosong
57
4.1.2.2 Submenu Supplier
Gambar 4.3 From input supplier
Perintah untuk menambahkan data supplier diatas adalah : Private Sub CmdAdd_Click()
On Error Resume Next kosong
Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False TxtKodespp.Enabled = True TxtNamaspp.Enabled = True TxtAlamat.Enabled = True TxtKota.Enabled = True TxtTelp.Enabled = True TxtFaks.Enabled = True CmdSave.Visible = True cmdCancel.Visible = True CmdAdd.Visible = False cmdEdit.Visible = False CmdDelete.Visible = False Cmdexit.Visible = False CmdSaveedit.Visible = False TxtKodespp.SetFocus End Sub
4.1.2.3 Submenu Pemesanan
Gambar 4.4 Form pemesanan
Perintah untuk menambahkan data pemesanan diatas adalah : Private Sub CmdAdd_Click()
On Error Resume Next kosong
Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False TxtNofaktur.Enabled = True DataCombo2.Enabled = True DataCombo1.Enabled = True TxtJumlahpesan.Enabled = True TxtTglpesan.Enabled = True TxtTglpesan.Text = Date CmdSave.Visible = True cmdCancel.Visible = True CmdAdd.Visible = False cmdEdit.Visible = False CmdDelete.Visible = False Cmdexit.Visible = False CmdSearch.Visible = False CmdSaveedit.Visible = False CmdPo.Visible = False TxtNofaktur.SetFocus Adodc8.Recordset.MoveLast
59
4.1.2.4 Submenu Penerimaan
Gambar 4.5 Form penerimaan
Perintah untuk menambahkan data penerimaan diatas adalah : Private Sub CmdAdd_Click()
On Error Resume Next kosong
4.1.2.5 Submenu Pengeluaran
Gambar 4.6 Form Pengeluaran
Perintah untuk menambahkan data supplier diatas adalah : Private Sub CmdAdd_Click()
On Error Resume Next kosong
Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False TxtNofakturkeluar.Enabled = True DataCombo1.Enabled = True TxtJumlahkeluar.Enabled = True TxtTglkeluar.Enabled = True TxtTglkeluar.Text = Date CmdSave.Visible = True cmdCancel.Visible = True CmdAdd.Visible = False cmdEdit.Visible = False CmdSaveedit.Visible = False CmdDelete.Visible = False CmdSearch.Visible = False Cmdexit.Visible = False TxtNofakturkeluar.SetFocus Adodc4.Recordset.MoveLast Dim a As String
a = "select * from table_pengeluaran order by no_fakturkeluar" Adodc4.RecordSource = a
Adodc4.Refresh
Adodc4.Recordset.MoveLast
61
4.1.3 Menu Admin
Form ini digunakan untuk administrator dalam menentukan hak akses dalam sistem informasi ini. Dalam form ini hanya ada satu menu yaitu edit user.
Adapun tampilan menu edit user adalah sebagai berikut :
Gambar 4.7 Form Edit User
berikut adalah listing program untuk menambah data user adalah sebagai berikut :
Private Sub CmdAdd_Click() On Error Resume Next TxtUser.Enabled = True TxtKodejabatan.Enabled = True TxtPassword.Enabled = True CmdSave.Visible = True cmdCancel.Visible = True CmdAdd.Visible = False cmdEdit.Visible = False CmdSaveedit.Visible = False CmdDelete.Visible = False Cmdexit.Visible = False TxtUser.SetFocus End Sub
Sedangkan untuk mengedit data user yang sudah ada yaitu : Private Sub cmdEdit_Click()
On Error Resume Next
TxtUser.Text = Adodc1.Recordset!User
TxtKodejabatan.Text = Adodc1.Recordset!Kode_jabatan TxtPassword.Text = Adodc1.Recordset!Password TxtUser.Enabled = True
CmdSave.Visible = False End Sub
Dan untuk menghapus data user yang telah ada adalah : Private Sub CmdDelete_Click()
On Error Resume Next BUKA_KONEKSI
sqlquery = "Delete From Table_Login Where Table_Login.User = '" & TxtUser.Text & "'" EKSEKUSI
If MsgBox("Benar-benar mau di DELETE?", vbYesNo + vbQuestion, "Confirm") = vbYes Then TUTUP
Adodc1.Refresh kosong
CmdAdd.Visible = True cmdEdit.Visible = True CmdDelete.Visible = False Cmdexit.Visible = True CmdSaveedit.Visible = False cmdCancel.Visible = False CmdSave.Visible = False mati
End If End Sub
4.1.4 Menu Perhitungan dan Report
Dalam hak akses untuk manager, terdapat menu perhitungan dan report yang mana dalam menu report terdapat tiga submenu yaitu : pemesanan, penerimaan, dan barang. Sedangkan dalam menu perhitungan yaitu perhitungan yang akan mencari biaya persediaan yang minimum dan reorder point. Berikut adalah gambar tampilan submenu dari dua menu tersebut.
4.1.4.1 Form Submenu Pemesanan
63
Listing untuk menampilkan laporan pemesanan adalah sebagai berikut:
Private Sub Cmdprint_Click()
Crppesan.SelectionFormula = "{Table_Pemesanan.Tgl_Pesan}>=cdate('" & DTPicker1.Value & "') and {Table_Pemesanan.Tgl_Pesan}<=cdate('" & DTPicker2.Value & "')"
Crppesan.WindowState = crptMaximized Crppesan.RetrieveDataFiles
Crppesan.Action = 1 End Sub
4.1.4.2 Form Submenu Penerimaan
Gambar 4.9 Form Laporan Penerimaan
Listing untuk menampilkan laporan Penerimaan adalah sebagai berikut:
Private Sub Cmdprint_Click() On Error Resume Next
CrpTerima.SelectionFormula = "{Table_Penerimaan.Tgl_Datang}>=cdate('" & DTPicker1.Value & "') and {Table_Penerimaan.Tgl_Datang}<=cdate('" & DTPicker2.Value & "')"
CrpTerima.WindowState = crptMaximized CrpTerima.RetrieveDataFiles
CrpTerima.Action = 1 End Sub
4.1.4.3 Form Submenu Pengeluaran
Listing untuk menampilkan laporan pengeluaran adalah sebagai berikut: Private Sub Cmdprint_Click()
On Error Resume Next
Crpkeluar.SelectionFormula = "{Table_Pengeluaran.Tgl_Keluar} >= cdate('" & DTPicker1.Value & "') and {Table_Pengeluaran.Tgl_Keluar} <= cdate('" & DTPicker2.Value & "')"
Crpkeluar.WindowState = crptMaximized Crpkeluar.RetrieveDataFiles
Crpkeluar.Action = 1 End Sub
4.1.4.4 Form Submenu Barang
Gambar 4.11 Form Laporan barang
Listing untuk menampilkan laporan pengeluaran adalah sebagai berikut: Private Sub Command1_Click()
On Error Resume Next
Crpbarang.SelectionFormula = "{Table_Barang.Nama_Brg}='" & DataCombo1.Text & "'" Crpbarang.WindowState = crptMaximized
65
4.1.4.5 Form perhitungan
Gambar 4.12 Form Perhitungan
Dalam form ini dilakukan perhitungan yang akan menemukan biaya simpan minimum dan reorder point.
Listing program perhitungan untuk EOQ total adalah sebagai berikut: Private Sub cmdEoq_Click()
On Error Resume Next Dim b As String f = 0
b = "Select * from Table_Barang where Merk = '" & Txtmerk & "'" Adodc9.RecordSource = b
Adodc9.Refresh
k = Adodc9.Recordset.RecordCount Adodc9.Recordset.MoveFirst For l = 1 To k
Dim a As String d = 0
a = "select * from Table_Pengeluaran where Tgl_keluar >= cdate('" & Combo2.Text & "/" & Combo1.Text & "/" & Text3.Text & "') and Tgl_keluar <= cdate('" & Combo4.Text & "/" & Combo3.Text & "/" & Text4.Text & "') and Kode_Brg = '" & Adodc9.Recordset!Kode_Brg & "'"
Adodc4.RecordSource = a Adodc4.Refresh
j = Adodc4.Recordset.RecordCount For i = 1 To j
c = Adodc4.Recordset!Jumlah_Keluar Adodc4.Recordset.MoveNext d = d + c
f = d + f
Adodc9.Recordset.MoveNext Next l
txtTotalbrg.Text = f
e = Sqr((2 * f * TxtBpesan.Text) / TxtBsimpan.Text) TxtEOQ.Text = Round(e, 0)
CmdHit.Enabled = False End Sub
Listing program untuk menghitung EOQ barang : Private Sub CmdHit_Click()
On Error Resume Next If Txtpersen.Text = "" Then
MsgBox "Data persen masih kosong", , "Peringatan!!!" Else
a = (Txtpersen.Text / 100) * TxtEOQ.Text b = Round(a, 0)
c = b Mod 5 d = 5 - c + b TxtEoqbrg.Text = b End If
End Sub
Listing program untuk menghitung standar lead time : Private Sub CmdLeadtime_Click()
On Error Resume Next Dim a2 As String d2 = 0
a2 = "SELECT Table_Pemesanan.No_Faktur, Table_Pemesanan.Kode_Spp, Table_Pemesanan.Kode_Brg, Table_Pemesanan.Jumlah_Pesan, Table_Pemesanan.Tgl_Pesan, Table_Penerimaan.Jumlah_Datang, Table_Penerimaan.Tgl_Datang From Table_Pemesanan, Table_Penerimaan Where Table_Pemesanan.No_Faktur = Table_Penerimaan.No_Faktur AND Table_Pemesanan.Kode_Spp = Table_Penerimaan.Kode_Spp AND Table_Pemesanan.Kode_Brg = Table_Penerimaan.Kode_Brg AND Table_Pemesanan.Kode_Brg = '" & DataCombo1.Text & "' AND Table_Pemesanan.Tgl_Pesan >= cdate('" & Combo6.Text & "/" & Combo5.Text & "/" & Text5.Text & "') AND Table_Penerimaan.Tgl_Datang <= cdate('" & Combo8.Text & "/" & Combo7.Text & "/" & Text6.Text & "')"
Adodc6.RecordSource = a2 Adodc6.Refresh
If Adodc6.Recordset.EOF Then
MsgBox "Data Tidak Ada", , "Peringatan" Else
j2 = Adodc6.Recordset.RecordCount For i2 = 1 To j2
c2 = CDate(Adodc6.Recordset!Tgl_Datang) - CDate(Adodc6.Recordset!Tgl_Pesan) Adodc6.Recordset.MoveNext
a3 = "SELECT Table_Pemesanan.No_Faktur, Table_Pemesanan.Kode_Spp, Table_Pemesanan.Kode_Brg, Table_Pemesanan.Jumlah_Pesan, Table_Pemesanan.Tgl_Pesan, Table_Penerimaan.Jumlah_Datang, Table_Penerimaan.Tgl_Datang From Table_Pemesanan, Table_Penerimaan Where Table_Pemesanan.No_Faktur = Table_Penerimaan.No_Faktur AND Table_Pemesanan.Kode_Spp = Table_Penerimaan.Kode_Spp AND Table_Pemesanan.Kode_Brg = Table_Penerimaan.Kode_Brg AND Table_Pemesanan.Kode_Brg = '" & DataCombo1.Text & "' AND Table_Pemesanan.Tgl_Pesan >= cdate('" & Combo6.Text & "/" & Combo5.Text & "/" & Text5.Text & "') AND Table_Penerimaan.Tgl_Datang <= cdate('" & Combo8.Text & "/" & Combo7.Text & "/" & Text6.Text & "')"
Adodc6.RecordSource = a3 Adodc6.Refresh
j3 = Adodc6.Recordset.RecordCount For i3 = 1 To j3
c3 = CDate(Adodc6.Recordset!Tgl_Datang) - CDate(Adodc6.Recordset!Tgl_Pesan) f3 = (c3 - r2) * (c3 - r2)
g3 = f3 + g3
67
d3 = d3 + c3 Next i3 s3 = Sqr(g3 / j3) 'Text2.Text = s3 TxtLeadtime.Text = s3 CmdSafetystock.Visible = True End If
End Sub
Listing program untuk menghitung RoP : Private Sub CmdSafetystock_Click()
On Error Resume Next
If Opt95 = True Or Opt96 = True Or Opt97 = True Or Opt98 = True Or Opt99 = True Then Dim z As String
z1 = 0 d = 0
For e = Combo10.Text To Combo12.Text
z = "select * from Table_Barang where Merk = '" & Txtmerk.Text & "'" Adodc9.RecordSource = z
Adodc9.Refresh
Adodc9.Recordset.MoveFirst
For l = 1 To Adodc9.Recordset.RecordCount Dim a As String
a = "select * from Table_Pengeluaran where Tgl_keluar = cdate('" & Combo9.Text & "/" & e & "/" & Text7.Text & "') and Kode_Brg = '" & Adodc9.Recordset!Kode_Brg & "'"
Adodc5.RecordSource = a Adodc5.Refresh
If Not Adodc5.Recordset.EOF Then c = Adodc5.Recordset!Jumlah_Keluar d = d + c
a = "select * from Table_Pengeluaran where Tgl_keluar >= cdate('" & Combo10.Text & "/" & Combo9.Text & "/" & Text7.Text & "') and Tgl_keluar <= cdate('" & Combo12.Text & "/" & Combo11.Text & "/" & Text8.Text & "') and Kode_Brg = '" & DataCombo1.Text & "'"
Adodc5.RecordSource = a Adodc5.Refresh
j = Adodc5.Recordset.RecordCount d = z1
r = d / j g = 0 d1 = 0 z1 = 0
For e1 = Combo10.Text To Combo12.Text
o = "select * from Table_Barang where Merk = '" & Txtmerk.Text & "'" Adodc9.RecordSource = o
Adodc9.Refresh
Adodc9.Recordset.MoveFirst
For l = 1 To Adodc9.Recordset.RecordCount Dim p As String
p = "select * from Table_Pengeluaran where Tgl_keluar = cdate('" & Combo9.Text & "/" & e1 & "/" & Text7.Text & "') and Kode_Brg = '" & Adodc9.Recordset!Kode_Brg & "'"
Adodc5.RecordSource = p Adodc5.Refresh