Professional Documents
Culture Documents
Oleh:
Gregorius Satia Budhi
Liliana
Arief Abadi
Oviliani Yenty Yuliana
Oleh:
Gregorius Satia Budhi
Liliana
Arief Abadi
Oviliani Yenty Yuliana
iii
4. Lokasi Penelitian : Surabaya
5. Kerjasama dengan Instansi lain
Nama Instansi : -
Alamat : -
6. Tanggal Penelitian : Januari 2004 s/d Juli 2004
7. Biaya : -
Mengetahui,
Ketua Jurusan/ Ka. Unit Ketua Peneliti
Menyetujui,
Dekan Fakultas Teknologi Industri
iv
ABSTRAK
Sistem inventory pada UD Aneka Mainan saat ini masih bersifat manual.
Jenis dan jumlah barang yang terus bertambah dengan arus keluar dan masuk
barang yang semakin meningkat. Hal tersebut menyebabkan kontrol terhadap
inventory semakin sulit dilakukan. Selain itu keterbatasan ruang dan adanya
aturan peletakan juga membutuhkan efisiensi dalam penentuan lokasi barang.
Untuk meningkatkan kemampuan dalam melakukan kontrol terhadap
persediaan dan untuk meningkatkan efisiensi penggunaan lokasi diperlukan
pengembangan sistem baru. Sistem yang baru dikembangkan dengan
menggunakan Borland Delphi 6 dan MySQL sebagai database sistem. Untuk
pengaturan peletakan barang dipergunakan backtracking. Untuk melengkapi
sistem, diberikan visualisasi posisi barang dengan menggunakan OpenGL.
Penelitian ini menghasilkan suatu aplikasi program yang dapat
melakukan kontrol terhadap persediaan dan memberikan laporan persediaan
terbaru. Aplikasi program juga mendukung pengaturan peletakan dan mampu
memvisualisasikan lokasi persediaan dalam bentuk tiga dimensi. Pengujian sistem
dilakukan oleh programmer dan user. Dari hasil pengujian oleh user diperoleh
nilai 4,61 untuk manfaat, 3,83 untuk interface dan kinerja sebesar 3,88 dari nilai
maksimum sebesar 5. Secara keseluruhan sistem memiliki nilai rata-rata sebesar
3,95 yang berarti cukup baik. Dari hasil pengujian tersebut dapat dikatakan bahwa
sistem layak untuk dipergunakan.
Kata kunci:
Sistem inventory
v
ABSTRACT
Keyword:
Inventory system
vi
KATA PENGANTAR
Penulis mengucapkan syukur kepada Tuhan Yang Maha Esa atas terselesaikannya
penelitian ini. Penulis sadar bahwa hasil penelitian ini masih jauh dari sempurna,
karena itu penulis mengharapkan saran dan kritik yang membangun dari berbagai
pihak demi perbaikan dari penelitian ini.
Penulis berharap semoga penelitian ini dapat memberikan kontribusi bagi
perkembangan bidang ilmu pengolahan citra digital dan teknologi perangkat lunak
pada umumnya.
Akhir kata, penulis mengucapkan terima kasih kepada semua pihak yang tidak
dapat disebutkan satu persatu yang telah membantu terselesaikannya penelitian ini
vii
DAFTAR ISI
viii
3.2.2 Analisis Permasalahan .................................................................. 28
3.2.3 Analisis Kebutuhan ....................................................................... 29
3.3 Desain Sistem........................................................................................ 29
3.3.1 Desain Data Flow Diagram (DFD) .............................................. 29
3.3.2 Desain Entity relationship Diagram .............................................. 32
3.3.3 Desain Pengaturan Peletakan ........................................................ 32
BAB 4. HASIL PENELITIAN DAN PEMBAHASAN ....................................... 40
4.1 Implementasi Aplikasi .......................................................................... 40
4.2 Pengujian Aplikasi ................................................................................ 40
4.2.1 Pemasukan Barang Pada Subblok Kosong ................................... 40
4.2.2 Pemasukan Dengan Adanya Barang Sejenis................................. 44
4.2.3 Pemasukan Barang Secara Langsung............................................ 47
4.2.4 Pengeluaran Barang Dengan Metode FIFO.................................. 49
4.2.5 Pengeluaran Barang Tanpa Metode FIFO .................................... 51
4.3 Pengujian oleh User .............................................................................. 53
BAB 5. KESIMPULAN DAN SARAN ............................................................... 55
5.1 Kesimpulan ........................................................................................... 55
5.2 Saran...................................................................................................... 55
DAFTAR PUSTAKA ........................................................................................... 57
ix
DAFTAR GAMBAR
x
Gambar 4.5 Pemasukan Data Pengujian II ........................................................... 45
Gambar 4.6 Hasil Perbandingan dalam Pengujian II Pengaturan Peletakan ........ 46
Gambar 4.7 Solusi Hasil Pengujian III ................................................................. 48
Gambar 4.8 Solusi Hasil Pencarian Barang 001B00001 ...................................... 49
Gambar 4.9 Pengeluaran Barang Pengujian IV .................................................... 50
Gambar 4.10 Konfirmasi Pengeluaran Secara FIFO ............................................ 50
Gambar 4.11 Daftar Pengeluaran Barang Secara FIFO........................................ 51
Gambar 4.12 Pengisian Pengeluaran Barang Pengujian V ................................... 52
Gambar 4.13 Daftar Pengeluaran Barang Pengujian V ........................................ 52
xi
DAFTAR TABEL
xii
BAB 1. PENDAHULUAN
1.2 Permasalahan
Permasalahan yang dihadapi dan diharapkan dapat diselesaikan melalui
penelitian ini adalah sistem yang mampu memberikan saran untuk pengaturan
peletakan barang yang jenisnya sangat banyak dalam ruang dengan memetakan
posisi/lokasi dari barang tersebut. Untuk lebih memudahkan pemakai dalam
menggunakan sistem dan agar pemakai dapat mengerti solusi yang diberikan,
maka sistem perlu dilengkapi visualisasi yang mendekati keadaan gudang
sebenarnya berupa tampilan tiga dimensi.
1
2
4
5
menghubungkan entitiy.
Relation
• One to many relationship, merupakan relasi antar entity dimana tiap satu
entity dapat berpasangan dengan lebih dari satu pasangan pada entity lain.
Contohnya pada relasi antara entity salesman (entity 1) dan entity
penjualan (entity 2). Satu penjualan hanya dapat dilakukan oleh satu
7
Entity1 Entity2
Relation
Entity1 Entity2
Relation
Entity1 Entity2
Relation
Dari gambar tersebut berarti semua anggota dari entity 1 harus berelasi
8
dengan anggota dari entitiy 2, dengan memberi simbol “|” di depan entity 2.
Sementara dari entity 2 terhadap entity 1 diberi simbol “o” di depan entity 1,
berarti anggota dari entitiy 2 tidak harus berelasi seluruhnya dengan anggota dari
entitiy 1.
2.1.3 Flowchart
Merupakan diagram yang menggambarkan langkah dari sebuah proses.
Dengan menggunakan flowchart maka kerja dari suatu proses dapat dipantau
untuk pengembangan atau perbaikan. Beberapa simbol yang umum dipergunakan
dapat dilihat pada Gambar 2.11.
Pada subbab ini akan diberikan penjelasan tentang dasar penggunaan dari
perintah SQL. Tabel dan data yang akan dipergunakan sebagai contoh dapat
dilihat pada Tabel 2.1 untuk Tabel barang dan Tabel 2.2 untuk tabel kelompok.
• Tabel barang untuk field ‘ID Barang’ dan ‘Kode Umum’ saja
SELECT id_barang,kode_umum FROM barang
b. Conditional, merupakan perintah untuk mengambil data dengan kondisi
tertentu, menggunakan “WHERE” dan relational operator seperti “<”, “> “,
”=”, ”<>”. Berikut pengambilan data barang dengan “ID_barang” 1000000012.
SELECT * from barang WHERE id_barang=’1000000012’.
c. Joins, merupakan bentuk perintah untuk melakukan pengambilan data dari dua
atau lebih tabel sekaligus. Berikut adalah cara pangambilan untuk field
id_barang, nama_barang yang berasal dari tabel barang dan nama
kelompoknya yang berasal dari tabel kelompok.
12
i. DELETE, merupakan perintah untuk menghapus data pada tabel baik satu
atau seluruhnya. Untuk menghapus data tertentu maka dapat dipergunakan
WHERE sedangkan untuk menghapus seluruh isi tabel maka WHERE tidak
dipergunakan lagi. Contoh menghapus seluruh isi tabel barang:
13
2.2.3 MySQL
MySQL merupakan produk dari MySQL AB yang merupakan database
server yang cepat, multi-theraded, multi user dan robust. Software MySQL
memiliki dual licensed dimana user dapat memilih untuk menggunakan MySQL
sebagai open source berdasarkan persyaratan dari GNU(General Public Licence)
atau membeli standar comercial licence dari MySQL.
Beberapa karakteristik dari MySQL adalah sebagai berikut:
a. Kode pemrograman ditulis dalam bahasa C dan C++
b. Fully multi-theraded, dapat menggunakan Multiple CPU juka tersedia
c. MySQL mendukung multi-platform hingga cross-platform. Beberapa
operating system dimana MySQL dapat berjalan dengan baik antara lain:
Linux, Mac OS X, NetBSD, Solaris 2.5, Windows 9.x, Me, NT, XP.
d. Previlege dan security yang terjamin karena pengiriman data antara client dan
server harus melalui enkripsi terlebih dahulu.
e. Mendukung database terdistribusi dengan kemampuan replikasi. Suatu
kemampuan dimana master server dapat menyimpan semua perubahan dari
database yang terjadi ke dalam binary log dan mengirimkannya ke slave
server untuk melakukan perubahan yang sama pada master server.
f. Memiliki banyak tipe kolom seperti float, double, char, varchar, text, BLOB,
date, time, datetime, timestamp, year, set, dan enum.
g. Mampu menangani database dalam jumlah besar hingga 60.000 tabel dan
5.000.000.000 baris record.
disebut sebagai Data Control. Data Control menyediakan set data-aware control
yang berguna untuk menampilkan data dari user sekaligus untuk melakukan edit
dan menyimpan data pada database. Secara umum, hal yang dapat dilakukan oleh
data control adalah:
• Mengasosiasikan data contol dengan data set
• Melakukan edit dan update pada data
• Menampilkan atau menyembunyikan data
• Me-refresh data display
• Memungkinkan even untuk mouse, keyboard dan timer.
Beberapa faktor yang diperlukan dalam menggunakan data control pada
user interface adalah:
• Tipe dari data yang akan ditampilkan. Terdapat bermacam-macam jenis
data yang yang dapat ditampilkan oleh data contol milik Delphi seperti
text, grafik, elemen multimedia dan masih banyak lagi.
• Bagaimana informasi dapat disampaikan, yang ditampilkan dapat berupa
satu data dari sebuah record saja atau beberapa data sekaligus dengan
menggunakan grid.
• Kebutuhan navigasi pada data, bila pada user interface dibutuhkan
navigasi data sekaligus perubahan pada data maka data control pada
Delphi dapat mendukung hal tersebut.
Beberapa komponen Data Control yang sering dipergunakan dalam
pemrograman database pada Delphi adalah sebagai berikut:
• TDBNavigator, merupakan data-aware yang memiliki kemampuan untuk
merubah pointer record untk maju atau mundur, melakukan edit, insert,
delete dan refresh pada data.
• TDBText, merupakan data-aware yang dapat menampilkan isi field
record yang aktif.
• TDB EditBox, merupakan data-aware yang dapat menampilkan isi field
record yang aktif.
• TDBGrid, Data-aware yang berupa grid, yang memungkinkan untuk
memperlihatkan dan melakukan edit data dalam bentuk tabular form
seperti pada spreadsheet.
17
2.2.6 OpenGL
OpenGL adalah software interface pada graphic hardware. OpenGL
merupakan standar grafik yang paling luas dipergunakan dalam pengembangan
aplikasi grafik 2D dan 3D. Setelah diperkenalkan pada tahun 1992, OpenGL
sangat luas dipergunakan dan mendukung Application Programming Interface
(API) dari 2D dan 3D dan dapat dipergunakan pada berbagai platform (windows,
machintos, UNIX) komputer di seluruh dunia. Keunggulan dari OpenGL
dibanding software interface lain adalah pada:
a. Portability, disebabkan oleh karena Open Standar yang dimiliki, sehingga
perusahaan yang berminat untuk mendukung OpenGL harus membeli lisensi
dari SGI dan dapat mengimplementasikan seluruh fitur dari OpenGL untuk
platform tersebut.
b. Hingga saat ini OpenGL telah dipergunakan diberbagai bidang dengan
berbagai tujuan, mulai dari CAD Engineering and Architectural sampai pada
pembutan teknologi grafik komputer pada film. OpenGL merupakan standar
dari industri grafik kecuali untuk industri game dimana directX menjadi
saingan.
OpenGL bekerja secara prosedural dimana programmer harus dapat
19
• Melakukan set terhadap depth buffer, depth buffer merupakan bagian penting
dari OpenGL yang berfungsi untuk menjaga kedalaman objek dalam pada
layar. Penggambaran umum depth buffer menyerupai layer pada layar.
glClearDepth(1.0f); //Setup Depth Buffer
glEnable(GL_DEPTH_TEST);//Uji Kedalaman
glDepthFunc(GL_LEQUAL);//Tipe Depth Test
• Membersihkan layar dan depth buffer, perintah ini umumnya dipergunakan
saat akan melakukan penggambaran ulang terhadap layar tampilan.
20
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
• Melakukan set ulang posisi cursor, perintah ini berfungsi untuk meletakkan
cursor kembali ke posisi awal dari sumbu x, y, dan z.
glLoadIdentity()
Dari hasil menggambar bidang tersebut (lihat Gambar 2.14) dapat dibentuk
bangunan tiga dimensi dengan menggambarkan beberapa bidang. Dengan
berbekal pengetahuan menggambar bidang maka dapat dikembangkan hingga
penggambaran tiga dimensi yang kompleks.
• Melakukan rotasi matrix, untuk melakukan rotasi pada objek dapat dilakukan
dengan melakukan perkalian matrix, maka dilakukan perkalian dengan
menggunakan perintah:
glRotatef(jumlah_Rotasi,0.0f, 1.0f, 0.0f);
Pada contoh perintah dia atas, “jumlah_rotasi” menunjukkan besar sudut
berlawanan arah jarum jam, sementara tiga parameter selanjutnya
menunjukkan pada sumbu tempat perputaran.
• Meletakkan kamera, untuk melihat transformasi objek tiga dimensi dapat
dilakukan selain dengan melakukan rotasi pada objek dapat juga dengan
melakukan set pada sudut pandang penglihatan sebagaimana layaknya mata
melihat, yaitu melalui posisi, target yang dilihat dan arah saat melihat.
Perintah yang telah disediakan oleh library GLU ini melakukan pekalian
secara otomatis dengan matrix yang ada untuk menghasilkan perubahan sudut
pandang.
gluLookAt(locX, locY, locZ, dirX, dirY, dirZ, 0.0f, 1.0f, 0.0f)
Parameter “locX”, “locY”, “locZ” merupakan koordinat posisi tempat
“melihat” objek, “dirX”, “dirY” dan “dirZ” adalah arah melihat sedangkan
tiga parameter terakhir berfungsi untuk mengatur arah kemiringan
penglihatan. Sebagai contoh, bila kita ingin melihat ke sebuah pot pada
koordinat (2.0, 4.0,-3.0), dengan posisi dari kamera (4.0, 2.0, 1.0) dengan
kemiringan vektor ( 2.0, 2.0, -1.0). Keadaan tersebut dapat dilihat pada
22
Gambar 2.15.
2.2.7 Backtracking
Backtracking merupakan bentuk algoritma yang banyak dan luas
dipergunakan dalam memecahkan permasalahan yang bersifat kombinasi. Cara
kerja dari backtarcking adalah dengan melakukan simulasi atau mencoba satu
demi satu kemungkinan untuk memperoleh hasil yang terbaik. Secara umum
algoritma backtracking dapat dilihat pada Gambar 2.16.
Backtracking memiliki keunggulan dalam kemampuannya untuk
memperoleh hasil kombinasi yang terbaik karena mencoba semua kemungkinan
dan mudah dalam melakukan pemrograman. Di sisi lain juga tidak efisien sebab
proses pencarian yang lama karena pengujian dilakukan satu demi satu.
23
24
25
Dalam proses pengujian, perangkat lunak dipastikan bebas error dan mulai
diuji pada gudang tempat sistem akan diterapkan. Bila ternyata program masih
belum sesuai dengan kebutuhan, maka akan dilakukan perbaikan pada desain
sistem atau perubahan pada pemrograman dan pada akhirnya mengalami
pengujian sekali lagi, hingga program dianggap layak untuk dipergunakan.
g. Kesimpulan
Dari hasil pengujian dilakukan pengambilan kesimpulan terhadap hasil
pembuatan tugas akhir.
secara tumpuk dapat menyebabkan barang tertutup oleh barang lain yang
dapat mempersulit pengambilan barang di gudang.
Selain aturan penempatan secara berkelompok, barang dengan
frekuensi keluar dan masuk yang tinggi diletakkan pada lokasi dekat pintu
keluar gudang. Tujuannya agar mempermudah proses pengeluaran barang.
Untuk itu ditetapkan prioritas terhadap lokasi dan barang dengan nilai 1
sampai 3. Nilai 1 menunjukkan prioritas terutama, dimana barang akan
didahulukan pada setiap peletakan dan juga diusahakan untuk diletakkan pada
lokasi dengan prioritas 1 (lebih dekat ke pintu gudang). Prioritas 2 untuk
barang yang frekuensi keluar masuknya tidak terlalu tinggi dan tidak terlalu
rendah. Terakhir adalah barang dengan prioritas 3, merupakan barang yang
dianggap sulit dijual, dengan kata lain frekuensi keluar dan masuk yang paling
rendah. Peletakan dengan prioritas subblok dan barang tidak mengikat,
dimana saat subblok dengan nomor prioritas yang diinginkan tidak mencukupi
maka barang dapat diletakkan pada subblok dengan prioritas yang lebih
rendah.
Untuk sistem pengeluaran barang dipergunakan metode FIFO (First
In First Out) atau barang yang datang pertama akan dikeluarkan paling awal.
Hal ini ditujukan untuk mencegah agar tidak terjadi perbedaan kualitas antara
produk yang sama atau tampilan kemasan produk yang berbeda untuk barang
yang sama. Bila terdapat tampilan kemasan berbeda dari waktu produksi yang
berbeda, maka customer cenderung memesan yang terbaru. Penyebab lain
adalah memperkecil resiko rusaknya kemasan barang, karena semakin lama
berada dalam gudang, kemungkinan rusaknya kemasan semakin besar.
Sebuah blok memiliki panjang yang beragam yang mengikuti tata
letak dan denah gudang. Mengingat sulitnya untuk menentukan lokasi
peletakan barang pada blok yang luas, maka blok selanjutnya dipecah menjadi
beberapa subblok yang lebih kecil untuk mempermudah dalam proses
pengaturan peletakan barang sekaligus untuk memperjelas penentuan lokasi
peletakan dari gudang dan penomoran prioritasnya. Bentuk dari subblok tidak
berupa sekat fisik yang memisahkan blok melainkan penanda jarak lengkap
dengan label pada gudang. Subblok akan mempermudah penentuan lokasi
28
PERMINTAAN LAPORAN
MANAJER
UD
UD Aneka
Aneka PERMINTAAN RETUR BELI
Mainan
Mainan INFORMASI PENGIRIMAN
DATA STOK
SUPPLIER
SURAT JALAN KELUAR RETUR EKSPEDISI
1
DATA PEMESANAN BARANG
MEMASUKKA DATA UPDATE TAMBAH MUTASI BARANG
SURAT JALAN PEMINDAHAN BARANG N BARANG
+ 3 LAPORAN STOK
PERMINTAAN DATA STOK MEMBUAT
QUERY MASUK BARANG LAPORAN LAPORAN PENERIMAAN BARANG
INFORMASI PENGELUARAN BARANG
DAN KARTU STOK PERBARANG
DATA STOK INFORMASI QUERY DATA OPNAME
+
MUTASI BARANG DATA OPNAME BARANG
QUERY MUTASI BARANG
PERMINTAAN BARANG
HASIL OPNAME STOK
MEMO PENGELUARAN BARANG
UD
UD
UD
UD
UDAneka
UD
UD Aneka
Aneka
Aneka
Aneka
Aneka
Aneka
SURAT JALAN KELUAR ANTAR LOKASI UPDATE DATA STOK 4
Mainan
Mainan
Mainan
Mainan
Mainan
Mainan
KELUAR BARANG PERIKSA
QUERY KELUAR BARANG
STOK FISIK
BARANG
+
2
DATA UPDATE KURANG MUTASI BARANG
PERMINTAAN RETUR BELI MENGELUAR
KAN BARANG INPUTAN BARANG KELUAR
1.1
TERIMA DATA PENERIMAAN BARANG
[SURAT JALAN PEMINDAHAN BARANG] STOK BARANG : 2
BARANG
MASUK
1.2
CEK
PENERIMAAN
DATA BARANG YANG DITERIMA
1.3
SIMPAN
BARANG
MASUK [DATA UPDATE TAMBAH MUTASI BARANG] DATA BARANG HILANG
1.4
[INPUTAN BARANG MASUK] MASUK BARANG MUTASI BARANG
SIMPAN DATA
BARANG [UPDATE STOK BARANG HILANG]
HILANG
1.5
DATA BARANG RUSAK PEMINDAHAN
KE SUBBLOK
BARANG
RUSAK
PERMINTAAN BARANG
3
2
BUAT SURAT DATA PENGELUARAN YANG TELAH DICATAT
JALAN CATAT
PENGELUARAN DATA UPDATE KURANG MUTASI BARANG
MUTASI BARANG
STOK BARANG
SUPPLIER
STOK BARANG : 2
3
STOK BARANG AKTUAL
MEMBANDINGKAN
HASIL
PEMERIKSAAN
DAN STOK AKTUAL
CATAT HASIL
STOK FISIK
PERMINTAAN OPNAME
Gambar 3.6 Data Flow Diagram level 1 Proses Periksa Stok Fisik Barang
36
2
PERMINTAAN DATA STOK
PENERIMAAN
PERMINTAAN
INFORMASI PENGELUARAN BARANG
INFORMASI
SEDERHANA
UD Aneka
Mainan PERMINTAAN INFORMASI SEDERHANA
LAPORAN STOK
1
MANAJER
MANAJER
LAPORAN PERBANDINGAN OPNAME
PENERIMAAN
PERMINTAAN LAPORAN BARANG YANG HARUS DIPESAN
LAPORAN
PERMINTAAN LAPORAN
Gambar 3.7 Data Flow Diagram level 1 Membuat Laporan dan Informasi
• Bila backtracking selesai maka akan dihasilkan solusi untuk dipilih oleh user
untuk peletakan barang.
Mengingat proses backtracking yang akan menghasilkan kemungkinan
cukup besar dengan kebutuhan penggunaan memory yang besar, maka akan
dipergunakan struktur data linked list. Linked list merupakan suatu bentuk struktur
data yang bersifat dinamis, terutama dalam efisiensi penggunaan memory. Selain
itu jumlah kemungkinan yang besar dari backtracking juga akan dibatasi untuk
menjaga kecepatan penggunaan sistem. Untuk lebih memperjelas tahapan dari
proses pengaturan peletakan, maka tahapan desain akan digambarkan dalam
bentuk flowchart pada Gambar 3.10.
37
PERPINDAHAN_INTERNAL
ID_PINDAH
TANGGAL_PINDAH
KETERANGAN_PINDAH
INPUT_BARANG_HILANG BARANG_HILANG
KELOMPOK KELUAR_BARANG ID_HILANG Diantar Oleh Pengantar DIKIRIM
STOK_AKHIR_PERIODE ID_KELOMPOK ID_KELUAR TANGGAL_HILANG
ID_STOK_AKHIR NAMA_KELOMPOK TANGGAL_KELUAR KETERANGAN_HILANG
TGL_PROSES_AKHIR_PERIODE KETERANGAN_KELUAR
JUMLAH_AKHIR_PERIODE
BARANG HILANG
BARANG HILANG
DIKELUARKAN DARI GUDANG
OPNAME_BARANG
INPUT OPNAME BARANG
ID_OPNAME
BARANG
TANGGAL_OPNAME
Ref_2919 ID_BARANG Ref_2915 PENYESUAIAN
Ref_2911
KODE_UMUM
NAMA_BARANG
SATUAN INPUT MASUK BARANG
PROSS AKHIR ISI_BARANG BARANG YANG MASUK2
PANJANG WILAYAH
LEBAR ID_WILAYAH
TINGGI NAMA_WILAYAH EKSPEDISI
MAKSIMUM_TUMPUKAN SUPPLIER
ID_EKSPEDISI
KONVERSI_BARANG ROQ ID_SUPPLIER
BARANG YANG MASUK
NAMA_EKSPEDISI
ID_KONVERSI HARGA_MODAL NAMA_SUPPLIER TELEPON_EKS
Ref_3296
TANGGAL_KONVERSI PRIORITAS ALAMAT_SUPPLIER ALAMAT_EKSPEDISI
Ref_3309 Dibawa oleh ekspedisi
KETERANGAN_KONVERSI TELEPON_SUPPLIER1 AREA_PENGANTARAN
TELEPON_SUPPLIER2 MASUK_BARANG
SUB_BLOK ID_MASUK
DETAIL INFORMASI KEDATANGAN STOK BARANG KEMASAN DARI STOK BERSANGKUTAN BARANG YANG MASUK TANGGAL_PENGIRIMAN
ID_SUB_BLOK
ID_GUDANG TANGGAL_MASUK
Ref_3288
ID_BLOK Ref_1349 KETERANGAN_MASUK
X1_SUBBLOK Ref_1741 ID_SURAT_JALAN
Y1_SUBBLOK
X2_SUBBLOK MUTASI MASUK TERJADI PADA SUBBLOK
Y2_SUBBLOK ID_SUB_BLOK_ASAL
PANJANG_SUBBLOK
BARANG KEMASAN DARI STOK BERSANGKUTAN LEBAR_SUBBLOK
BARANG KEMASAN DARI MUTASI
TINGGI_SUBBLOK
SISA_SPACE_SUBBLOK
PRIORITAS LOKASI
DETAIL_MUTASI_KELUAR_INTERNAL
MENYIMPAN BARANG
JUMLAH_BARANG
BARANG KEMASAN DARI STOK BERSANGKUTAN2
DETAIL MUTASI KELUAR PADA SUBBLOK MUTASI_BARANG
ID_MUTASI
BARANG YANG BERPINDAH SUBBLOK MUTASI KEMASAN MUTASI KELUAR DAN INTERNAL
STOK_BARANG STATUS
ID_STOK JUMLAH_MUTASI
JUMLAH_BARANG_SUBBLOK TANGGAL_MUTASI
Ref_1725 ID_TRANSAKSI
DETAIL_HILANG
ID_BARANG = ID_BARANG
ID_BARANG char(10)
ID_HILANG char(9)
KELUAR_BARANG JUMLAH_HILANG integer
ID_KELUAR char(9) ID_PENGANTAR = ID_PENGANTAR
ID_EKSPEDISI = ID_EKSPEDISI
ID_PENGANTAR char(5)
DETAIL_KELUAR USER_ID varchar(20) ID_HILANG = ID_HILANG
ID_BARANG char(10) ID_EKSPEDISI
ID_KELUAR = ID_KELUAR char(5)
ID_KELUAR char(9) ID_CUSTOMER char(5)
JUMLAH_KELUAR integer TANGGAL_KELUAR date
KETERANGAN_KELUAR varchar(30) USER_ID = USER_ID BARANG_HILANG
PERPINDAHAN_INTERNAL ID_HILANG char(9)
DETAIL_PINDAH USER_ID varchar(20)
ID_PINDAH char(9)
KELOMPOK ID_BARANG char(10) TANGGAL_HILANG date
STOK_AKHIR_PERIODE USER_ID varchar(20)
ID_KELOMPOK char(5) ID_PINDAH char(9) ID_PINDAH = ID_PINDAH KETERANGAN_HILANG varchar(30)
ID_STOK_AKHIR char(10) TANGGAL_PINDAH date
NAMA_KELOMPOK varchar(35) ID_SUB_BLOK_ASAL char(4)
ID_BARANG char(10) KETERANGAN_PINDAH varchar(30)
ID_SUB_BLOK_TUJUAN char(4)
TGL_PROSES_AKHIR_PERIODE date JUMLAH_PINDAH smallint ID_CUSTOMER = ID_CUSTOMER
JUMLAH_AKHIR_PERIODE integer ID_BARANG = ID_BARANG PENGANTAR
ID_PENGANTAR char(5)
NAMA_PENGANTAR varchar(35)
DETAIL_OPNAME
DETAIL_KONVERSI ID_BARANG = ID_BARANG
ID_OPNAME char(9)
ID_BARANG_AWAL char(10) ID_KELOMPOK = ID_KELOMPOK ID_BARANG char(10)
ID_BARANG_AKHIR char(10) CUSTOMER
ID_SUB_BLOK char(4) USER
ID_KONVERSI char(9) USER_ID = USER_ID ID_CUSTOMER char(5)
JUMLAH_AKTUAL smallint USER_ID varchar(20)
ID_KEMASAN_AWAL char(10) ID_BARANG = ID_BARANG_AWAL ID_WILAYAH char(5)
ID_BARANG = ID_BARANG JUMLAH_OPNAME smallint ID_WILAYAH PASSWORD
= ID_WILAYAH
USER_ID = USER_ID varchar(10) NAMA_CUSTOMER char(35)
ID_KEMASAN_AKHIR char(10)
HAK_AKSES integer ALAMAT_CUSTOMER char(35)
JUMLAH_BARANG_AWAL smallint
JUMLAH_BARANG_AKHIR smallint TELEPON_CUST char(20)
ID_OPNAME = ID_OPNAME
OPNAME_BARANG
USER_ID = USER_ID
BARANG ID_OPNAME char(9)
ID_BARANG USER_ID = USER_ID
char(10) USER_ID varchar(20)
ID_KONVERSI = ID_KONVERSI
ID_BARANG = ID_BARANG_AKHIR ID_SUB_BLOK = ID_SUB_BLOK_ASAL
ID_KELOMPOK char(5) TANGGAL_OPNAME_ date DETAIL_MASUK
KODE_UMUM varchar(20) PENYESUAIAN_OPNAME smallint
ID_BARANG char(10)
NAMA_BARANG varchar(35)
ID_MASUK char(9)
ID_BARANG = ID_BARANG SATUAN varchar(5)
ID_BARANG = ID_BARANG
JUMLAH_MASUK smallint
ISI_BARANG smallint
USER_ID = USER_ID
PANJANG float WILAYAH
KONVERSI_BARANG
LEBAR float ID_WILAYAH char(5)
ID_KONVERSI char(9) TINGGI float
USER_ID varchar(20) SUPPLIER NAMA_WILAYAH varchar(25)
MAKSIMUM_TUMPUKAN smallint
TANGGAL_KONVERSI date ROQ smallint ID_SUPPLIER char(5)
KETERANGAN_KONVERSI varchar(20) HARGA_MODAL float ID_WILAYAH char(5)
ID_BARANG = ID_BARANG
NAMA_SUPPLIER varchar(35) ID_MASUK = ID_MASUK EKSPEDISI
PRIORITAS smallint
ALAMAT_SUPPLIER varchar(35) ID_WILAYAH = ID_WILAYAH ID_EKSPEDISI char(5)
TELEPON_SUPPLIER1 varchar(20) NAMA_EKSPEDISI varchar(35)
TELEPON_SUPPLIER2 varchar(20) TELEPON_EKS varchar(20)
ID_EKSPEDISI = ID_EKSPEDISI
ALAMAT_EKSPEDISI_ varchar(35)
AREA_PENGANTARAN varchar(35)
SUB_STOK
SUB_BLOK MASUK_BARANG
ID_STOK char(4)
ID_BARANG_PARENT char(10) ID_SUB_BLOK char(4) ID_MASUK char(9)
ID_BARANG = ID_BARANG_PARENT
JUMLAH_ISI integer ID_GUDANG char(2) ID_EKSPEDISI char(4)
ID_BLOK char(2) ID_SUB_BLOK = ID_SUB_BLOK USER_ID varchar(20)
X1_SUBBLOK float TANGGAL_PENGIRIMAN date
Y1_SUBBLOK float TANGGAL_MASUK date
ID_MASUK = ID_MASUK
X2_SUBBLOK
ID_BARANG = ID_BARANG_KEMASAN float KETERANGAN_MASUK varchar(20)
Y2_SUBBLOK float
ID_SUB_BLOK = ID_SUB_BLOK_TUJUAN ID_SUPPLIER char(5)
ID_SUPPLIER = ID_SUPPLIER
ID_SUB_BLOK = ID_EKSPEDISI PANJANG_SUBBLOK float ID_SURAT_JALAN_MSK varchar(10)
LEBAR_SUBBLOK float
TINGGI_SUBBLOK float
ID_SUB_BLOK = ID_STOK SISA_SPACE_SUBBLOK float
STOK_BARANG PRIORITAS_LOKASI smallint ID_SUB_BLOK = ID_SUB_BLOK MUTASI_BARANG
ID_SUB_BLOK char(4) ID_MUTASI char(9)
ID_BARANG = ID_BARANG ID_SUB_BLOK = ID_SUB_BLOK
ID_STOK char(8) ID_BARANG char(10)
ID_BARANG char(10) STATUS smallint
JUMLAH_BARANG_SUBBLOK smallint JUMLAH_MUTASI smallint
ID_SUB_BLOK = ID_SUB_BLOK
DETAIL_MUTASI_KEMASAN TANGGAL_MUTASI date
ID_TRANSAKSI varchar(9)
ID_MUTASI char(9)
DETAIL_STOK ID_BARANG_KEMASAN char(10)
ID_MUTASI = ID_MUTASI ID_SUB_BLOK = ID_SUB_BLOK
ID_SUB_BLOK = ID_SUB_BLOK
ID_SUB_BLOK char(4) ID_SUB_BLOK char(4) ID_MUTASI = ID_MUTASI
ID_MASUK char(9) JUMLAH_BARANG smallint
JUMLAH_BARANG integer
ID_MASUK = ID_MASUK DETAIL_MUTASI_KELUAR_INTERNAL
ID_MUTASI char(9)
DETAIL_MUTASI_MASUK
ID_SUB_BLOK char(4)
ID_MUTASI char(9) ID_MASUK char(9)
ID_SUB_BLOK char(4) ID_MUTASI = ID_MUTASI
JUMLAH_BARANG smallint
JUMLAH_BARANG smallint
Salin data
Ambil daftar barang yang
sub_blok memiliki
Function yang ukuran
Pengaturan memungkinka (barang
peletakan n untuk bukan dalam
barang() dipakai, taruh satuan kecil)
dalam tabel yang akan
intf_subblok dioptimasi
untuk ke Ambil daftar
simulasi intf_barang_o barang yang
ptimasi akan
dioptimasi
dari
intf_barang_o
Y ptimasi
pindahkan ke
dalam linked
list untuk
mempercepat
proses
Optimasi
dipakai ?
ENDWHILE
While not
intf_optimasi_barang.eof
Lanjutkan ke data
barang selanjutya
Call Cari
lokasi barang
sejenis()
Return
Simpan data pada
intf_solusi_protoype
40
41
yang ingin diperlihatkan, maka pada field subblok dari form akan dikosongkan
(lihat Gambar 4.1). Sementara untuk field barang kemasan dikosongkan karena
barang yang dimasukkan adalah barang standar. Bila user mencoba mengisi field
barang kemasan maka akan muncul pesan error.
Solusi 1:
Jumlah subblok hasil pengaturan:3
Rata-rata sisa space tak terpakai :42168,9999999995
Solusi 2:
Jumlah subblok hasil pengaturan:3
Rata-rata sisa space tak terpakai :49741,0000000005
Solusi 3:
Jumlah subblok hasil pengaturan:3
Rata-rata sisa space tak terpakai :61938,9999999999
Solusi 4:
Jumlah subblok hasil pengaturan:3
Rata-rata sisa space tak terpakai :62426,4999999989
Solusi 5:
Jumlah subblok hasil pengaturan:3
Rata-rata sisa space tak terpakai :69511,0000000009
Dari Gambar 4.4. dapat dilihat bahwa dikarenakan jumlah subblok yang
dipergunakan berjumlah 3 untuk tiap solusi, maka perbandingan juga
menggunakan nilai rata-rata sisa space tak terpakai. Nilai yang semakin kecil
menunjukkan subblok yang mampu menampung barang dalam jumlah maksimum
dengan sisa space tak terpakai yang lebih kecil.
Barang selanjutnya disimpan dengan menekan tombol simpan pada form
visualisasi dengan pilihan solusi terbaik, yaitu solusi I. Hasil penyimpanan akan
dipergunakan pada pengujian tahap selanjutnya.
Pada pengujian II, barang yang telah masuk pada pengujian I akan masuk
kembali ke pengujian II. Dari sini sistem akan melakukan proses pengaturan
peletakan tetapi dengan terlebih dahulu meletakkan barang sesuai dengan
kelompoknya. Bila subblok tidak mencukupi, baru dilakukan perbandingan
peletakan pada subblok lain. Hasil pengaturan peletakan dapat dilihat pada Tabel
4.6.
Dari hasil pengujian dapat dilihat bahwa sistem mengusulkan peletakan
pada lokasi barang yang pernah sudah diisi oleh pengujian I. Untuk barang dengan
Id 002G00001 peletakan dapat dilakukan secara keseluruhan karena space yang
memadai. Tetapi untuk barang dengan id 001B00001 subblok yang ditempati
46
sudah tidak memadai oleh karena itu, dilakukan perbandingan dengan dua subblok
lain (dengan nomor prioritas yang sama) untuk pengisian barang yang tersisa yaitu
sebanyak 12 buah. Hasil perbandingan pengaturan peletakan yang dilakukan
sistem untuk mencari subblok terbaik bagi barang 001B00001 dapat dilihat pada
Gambar 4.6.
Solusi 1:
Jumlah subblok hasil pengaturan i:1
Rata-rata sisa space tak terpakai :41539,9999999959
Solusi 2:
Jumlah subblok hasil pengaturan:1
Rata-rata sisa space tak terpakai :141404
Pada daftar barang yang dimasukkan dalam pengujian III adalah barang
001B00001 (prioritas 1) yang telah dimasukkan dua kali dalam gudang melalui
barang baru. Pada pengujian ini diperlihatkan bagaimana barang dengan prioritas
terpengaruh oleh proses pengaturan peletakan (lihat Gambar 4.7). Barang akan
48
Pada gambar visualisasi dapat dilihat bahwa hasil masukan data langsung
diarahkan ke MB03, sementara memo yang pada dua pengujian sebelumnya berisi
data perbandingan pengaturan peletakan juga kosong. Namun pada volume sisa
space milik subblok MB03 telah berubah menjadi 36.339.900. Untuk melihat
keberadaan barang 001B00001 dapat juga melalui menu pencarian /pencarian dan
visualisasi. Pada tab Barang dapat dilihat lokasi dari barang 001B00001 sebanyak
Dari form daftar pengeluaran barang (lihat Gambar 4.10) dapat dilihat
bahwa untuk pengeluaran barang 001B00001 dilakukan pada dua kali pemasukan
dan dua buah subblok untuk pengeluarannya. Sementara untuk barang 002G00002
hanya dikeluarkan dari tanggal masuk pertama. Untuk subblok sendiri akan terjadi
update penambahan sisa space subblok yang disebabkan oleh pengeluaran barang.
Hasil dapat dilihat pada Tabel 4.10.
51
Hasil akumulasi dari angket hasil pengujian adalah dapat dilihat pada
Tabel 4.14. Nilai rata-rata keseluruhan aplikasi program yaitu 3.95 dari nilai
maksimum (terbaik) yaitu 5. Dengan demikian aplikasi program dapat dikatakan
54
cukup baik dan layak untuk mulai digunakan. Namun untuk penggunaan akan
terlebih dahulu melalui ujicoba lapangan penuh (beta test). Sistem akan
dipergunakan pada semua transaksi selama 1 bulan bersamaan dengan pencatatan
transaksi manual untuk menjaga kemungkinan error atau bug yang tidak diketahui
selama pembuatan dan pengujian sistem pada penelitian
Responden
Kriteria
I II III IV Rata-rata
Manfaat
Efisiensi waktu yang diperoleh 5 5 4 5 4.75
Efisiensi penggunaan tenaga kerja 3 4 4 5 4
Dukungan terhadap kerja pergudangan 4 4 3 4 3.75
Rata-rata nilai manfaat 4.167
Interface
Kemudahan mempelajari penggunaan 5 4 3 4 4
Kenyamanan penggunaan 5 4 3 5 4.25
Tampilan fisik dari sistem 3 4 3 3 3.25
Rata-rata nilai interface 3.833
Kinerja Sistem
Kecepatan kerja sistem 3 4 4 3 3.5
Kemampuan menangani kasus dalam
4 3 5 4 4
pergudangan
Kemampuan memperoleh solusi lokasi
dengan mengikuti aturan penempatan 4 3 4 3 3.5
gudang
Visulisasi gudang dalam mendukung
5 4 4 5 4.5
sistem inventory
Rata-rata nilai kinerja 3.875
Total rata-rata nilai keseluruhan 3.958
BAB 5. KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil pengujian dapat disimpulkan beberapa hal sebagai
berikut:
• Manfaat yang diperoleh dari penerapan aplikasi program secara keseluruhan
adalah baik. Hal itu dapat dilihat dari rata-rata penilaian sebesar 4,167 dengan
nilai tertinggi sebesar 5. Dimana sistem dianggap dapat memberikan bantuan
dalam hal efisiensi waktu kegiatan pencatatan dan pelaporan (4,75) serta
efisiensi penggunaan tenaga kerja (4). Untuk dukungan terhadap kegiatan
pergudangan responden merasakan cukup baik (3,75).
• Dari segi interface sistem dinyatakan paling baik dalam kenyamanan
penggunaan (4,25) dan kemudahan pembelajaran (4). Yang paling rendah dari
keseluruhan adalah tampilan fisik (3,25). Secara keseluruhan sistem dianggap
cukup baik (3,833).
• Dari segi kinerja, sistem dianggap cukup baik (3,875) terutama dalam hal
dukungan visualisasi (4,5) dan kemampuan menangani kasus yang terjadi
dalam pergudangan (4). Untuk kecepatan dan kemampuan memberikan solusi
responden menyatakan cukup baik (3,5).
• Secara keseluruhan sistem dianggap cukup baik dan layak untuk dipergunakan
pada pergudangan UD Aneka Mainan (3.958).
5.2 Saran
Setelah melakukan evaluasi terhadap sistem secara keseluruhan,
diharapkan penelitian ini dapat dikembangkan lebih lanjut dengan saran-saran
pengembangan sebagai berikut:
• Sistem pengaturan peletakan perlu dipertimbangkan untuk dikembangkan
menjadi optimasi dalam penggunaan ruang. Untuk optimasi perlu
dipertimbangakan dengan menggabungkan metode kombinasi bactracking
yang telah dipergunakan atau dengan metode lain, tetapi perlu diperhatikan
penggunaan waktu selama proses optimasi dan kehandalannya dalam
penerapan di lapangan.
55
56
DAFTAR PUSTAKA
[1] Axmark, David. MySQL Manual version 4.0.5. MySQL AB, 2002.
www.mysql.com
[2] Laxxuss. Delphi 7 Developer’s Guide. Borland Software Corporation. 2002
[3] Byelkin, Oleksandr. Subqueries in MySQL. MySQL AB, 2003.
<www.mysql.com>
[4] Hoffman, James. Introduction to Structure Query language version 4.66 . 4
July 2001. < http://www.highcroft.com/highcroft/hc_links.html >
[5] Kadir Abdul. Dasar pemrograman Delphi 5.0 jilid I. Andi Yogyakarta.
Yogyakarta, 2001
[6] Kadir Abdul. Dasar pemrograman Delphi 5.0 jilid II. Andi Yogyakarta.
Yogyakarta, 2001
[7] Cantu, Marco. Mastering Delphi 7. Sybex, 2003
[8] McLeod, Jr., Raymond and Schell, George. International Edition
Management Information Systems (eight edition). Prenhall, 1979.
[9] Molofee, Jeff. OpenGL Tutorial. Neon Helium Productions, 2000. <www.
NeHe.com>
[10] Oursland, Allan. Using OpenGL in Visual C++. Interface Technologies, 2000
[11] SiliconGraphics Computer Systems. OpenGL the industry’s foundation for
high performance graphic. California: SiliconGraphics, 1998.
www.opengl.org
[12] Supardi, Yuniar, Ir. C & Flowchart Lewat Praktek. Dinastindo. Jakarta, 2001