Anda di halaman 1dari 69

PEMBUATAN SISTEM INVENTORY DENGAN

PENGATURAN PELETAKAN DAN VISUALISASI


POSISI BARANG PADA UD ANEKA MAINAN

Oleh:
Gregorius Satia Budhi
Liliana
Arief Abadi
Oviliani Yenty Yuliana

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI


UNIVERSITAS KRISTEN PETRA
SURABAYA
2004

LAPORAN PENELITIAN
NO: 04/Pen/Informatika/I/2004

PEMBUATAN SISTEM INVENTORY DENGAN


PENGATURAN PELETAKAN DAN VISUALISASI
POSISI BARANG PADA UD ANEKA MAINAN

Oleh:
Gregorius Satia Budhi
Liliana
Arief Abadi
Oviliani Yenty Yuliana

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI


UNIVERSITAS KRISTEN PETRA
SURABAYA
2004

LEMBAR IDENTITAS DAN PENGESAHAN


LAPORAN HASIL PENELITIAN

1. a. Judul Penelitian

b. Nomor Penelitian
c. Jalur Penelitian
2. Ketua Peneliti
a. Nama lengkap dan Gelar
b. Jenis Kelamin
c. Pangkat/Golongan/NIP
d. Bidang Ilmu yang diteliti
e. Jabatan Akademik
f. Fakultas/Jurusan
g. Universitas
3. Anggota Tim Peneliti (I)
a. Nama lengkap dan Gelar
b. Jenis Kelamin
c. Pangkat/Golongan/NIP
d. Bidang Ilmu yang diteliti
e. Jabatan Akademik
f. Fakultas/Jurusan
g. Universitas
Anggota Tim Peneliti (II)
a. Nama lengkap dan Gelar
b. Jenis Kelamin
c. Pangkat/Golongan/NIP
d. Bidang Ilmu yang diteliti
e. Jabatan Akademik
f. Fakultas/Jurusan
g. Universitas
Anggota Tim Peneliti (III)
a. Nama lengkap dan Gelar
b. Jenis Kelamin
c. Pangkat/Golongan/NIP
d. Bidang Ilmu yang diteliti
e. Jabatan Akademik
f. Fakultas/Jurusan
g. Universitas

: PEMBUATAN SISTEM INVENTORY


DENGAN
PENGATURAN
PELETAKAN DAN VISUALISASI
POSISI BARANG PADA UD ANEKA
MAINAN
: 04/Pen/Informatika/I/2004
: I/ II/ III/ IV
:
:
:
:
:
:

Gregorius Satia Budhi, ST.,MT.


Laki-laki
Asisten Ahli/ IIIB/ 02030
Sistem Informasi
Asisten Ahli
Fakultas Teknologi Industri/ Teknik
Informatika
: Universitas Kristen Petra
:
: Liliana, ST.
: Perempuan
: Asisten Ahli/ IIIA/ 03024
: Sistem Informasi
: : Fakultas Teknologi Industri/ Teknik
Informatika
: Universitas Kristen Petra
:
: Arief Abadi
: Laki-laki
: : Sistem Informasi
: : Fakultas Teknologi Industri/ Teknik
Informatika
: Universitas Kristen Petra
:
: Oviliani Yenty Yuliana, ST., MSCIS
: Perempuan
: Pembina/ IVA/ 94014
: Sistem Informasi
: Lektor
: Fakultas
Ekonomi/
Program
Studi
Akuntansi
: Universitas Kristen Petra

iii

4. Lokasi Penelitian
:
5. Kerjasama dengan Instansi lain
Nama Instansi
:
Alamat
:
6. Tanggal Penelitian
:
7. Biaya
:

Surabaya
Januari 2004 s/d Juli 2004
-

Surabaya, 31 Juli 2004

Mengetahui,
Ketua Jurusan/ Ka. Unit

Ketua Peneliti

Djoni Haryadi Setiabudi, M.Eng.


NIP. 85-009

Gregorius Satia Budhi, ST.,MT.


NIP. 02-030

Menyetujui,
Dekan Fakultas Teknologi Industri

Oegik Soegihardjo, M.Sc., MA


NIP. 97-007

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

ABSTRACT
At present, Inventory system UD Aneka Mainan still uses a manual
system. Type and amount of goods at UD Aneka Mainan are progressively
increasing. Moreover, flows of goods that enter and exit to and from warehouse
are also increasing. They cause the control of inventory become more difficult.
Besides, limitation of space and rules of placing goods needs efficiency in
determining goods location.
To increase the controlling ability of supply and increase efficiency of
space usage needed a new system development. New system developed using
Borland Delphi 6 and MySQL as a database system. Location arrangement of
goods uses backtracking methods. Visualization of goods location uses OpenGL
Research results are a program application able to conduct the control of
supplies and give the updated supply report. Program application also support the
location arrangement and visualize position of supplies in three dimensions.
Systems test was done by programmer and user. The result test from user
obtained value 4,61 for the benefit, 3,83 for the interface and 3,875 for
performance from maximum value of 5. As a whole system has the average value
equal to 3,95. It means that it is good enough. From the test result can be said that
system is comp0ntent to be utilized.
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

Surabaya, Juli 2004


Penyusun

vii

DAFTAR ISI
LEMBAR IDENTITAS DAN PENGESAHAN.................................................... iii
ABSTRAK .............................................................................................................. v
ABSTRACT........................................................................................................... vi
KATA PENGANTAR .......................................................................................... vii
DAFTAR ISI........................................................................................................ viii
DAFTAR GAMBAR .............................................................................................. x
DAFTAR TABEL................................................................................................. xii
BAB 1. PENDAHULUAN ..................................................................................... 1
1.1

Latar Belakang ........................................................................................ 1

1.2

Permasalahan .......................................................................................... 1

1.3

Tujuan dan Manfaat Penelitian ............................................................... 1

1.4

Ruang Lingkup Pembahasan................................................................... 2

1.5

Sistematika Penyusunan Laporan ........................................................... 2

BAB 2. TINJAUAN PUSTAKA ............................................................................ 4


2.1

Perancangan Sistem ................................................................................ 4

2.1.1

Data Flow Diagram (DFD) ............................................................ 4

2.1.2

Entity Relationship Diagram (ERD)............................................... 5

2.1.3

Flowchart ........................................................................................ 8

2.2

Pembuatan Sistem ................................................................................... 8

2.2.1

Database Management Systems (DBMS)....................................... 8

2.2.2

Structure Query Language (SQL)................................................. 10

2.2.3

MySQL .......................................................................................... 13

2.2.4

Borland Delphi .............................................................................. 13

2.2.5

ActiveX Data Object (ADO) ......................................................... 17

2.2.6

OpenGL ......................................................................................... 18

2.2.7

Backtracking ................................................................................. 22

BAB 3. METODE PENELITIAN ........................................................................ 24


3.1

Metodologi Penelitian ........................................................................... 24

3.2

Analisis Sistem Lama............................................................................ 25

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
Gambar 2.1 External entity ..................................................................................... 4
Gambar 2.2 Proses .................................................................................................. 4
Gambar 2.3 Data Store ........................................................................................... 4
Gambar 2.4 Data Flow............................................................................................ 5
Gambar 2.5 Entity ................................................................................................... 6
Gambar 2.6 Relationship......................................................................................... 6
Gambar 2.7 One to One Relationship ..................................................................... 6
Gambar 2.8 One to Many Relationship................................................................... 7
Gambar 2.9 Many to Many Relationship ................................................................ 7
Gambar 2.10 Mandatory ......................................................................................... 7
Gambar 2.11 Simbol Flowchart............................................................................ 10
Gambar 2.12 IDE Delphi ...................................................................................... 15
Gambar 2.13 Arsitektur MDAC............................................................................ 18
Gambar 2.14 Hasil Penggambaran Bidang Segitiga dan Segiempat .................... 21
Gambar 2.15 Gambar Contoh Pengunaan Perintah Glulookat ............................. 22
Gambar 2.16 Algoritma Backtracking .................................................................. 23
Gambar 3.1 Kondisi Penyusunan Barang dalam Gudang..................................... 28
Gambar 3.2 Context Diagram Sistem Inventory................................................... 31
Gambar 3.3 Data Flow Diagram Sistem Inventory Level 0 ................................. 33
Gambar 3.4 Data Flow Diagram level 1 Proses Pemasukan Barang .................... 34
Gambar 3.5 Data Flow Diagram Level 1 Proses Pengeluaran Barang................. 35
Gambar 3.6 Data Flow Diagram level 1 Proses Periksa Stok Fisik Barang ........ 35
Gambar 3.7 Data Flow Diagram level 1 Membuat Laporan dan Informasi......... 36
Gambar 3.8 Conceptual Entity relationship Diagram Sistem Inventory............... 37
Gambar 3.9 Physical Entity relationship Diagram Sistem Inventory ................... 38
Gambar 3.10 Flowchart Prosedur Pengaturan Peletakan ..................................... 39
Gambar 4.1 Pemasukan Data Pengujian I............................................................. 41
Gambar 4.2 Form Konfirmasi untuk Pengaturan Peletakan ................................. 42
Gambar 4.3 Form Visualisasi Hasil Pengaturan Peletakan .................................. 42
Gambar 4.4 Hasil Perbandingan dalam Pengujian I Pengaturan Peletakan.......... 43

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
Tabel 4.1. Daftar Subblok Pengujian I...................................................................40
Tabel 4.2. Daftar Barang Masukan Pengujian I.....................................................41
Tabel 4.3. Solusi Hasil Pengujian I........................................................................43
Tabel 4.4. Daftar Subblok Pengujian II .................................................................44
Tabel 4.5. Daftar Barang Masukan Pengujian II....................................................45
Tabel 4.6. Daftar Solusi Hasil Pengujian II ...........................................................46
Tabel 4.7. Daftar Subblok Pengujian II .................................................................47
Tabel 4.8. Daftar Barang Masukan Pengujian III ..................................................47
Tabel 4.9. Daftar Barang Pengeluaran Pengujian IV.............................................49
Tabel 4.10. Daftar Perubahan Subblok Pengujian IV ............................................51
Tabel 4.11. Daftar Barang Pengeluaran Pengujian V ............................................51
Tabel 4.12. Data Responden ..................................................................................53
Tabel 4.13. Penjelasan penilaian............................................................................53
Tabel 4.14. Hasil Akumulasi Angket.....................................................................54

xii

BAB 1. PENDAHULUAN

1.1 Latar Belakang


Dalam sistem inventory UD Aneka Mainan, proses pemasukan dan
pengeluaran barang merupakan hal yang umum terjadi. Dengan jenis barang
mencapai 100 dan stok barang yang mencapai ratusan dalam satuan kecil dan
besar, kedua proses bukan merupakan hal mudah untuk dilaksanakan. Hal ini
semakin sulit mengingat pencatatan gudang yang masih bersifat manual.
Untuk proses pemasukan barang, ruang gudang yang terbatas, adanya
aturan peletakan dan kurang mempertimbangkan efisiensi penggunaan ruang.
Akibatnya pengaturan peletakan barang akan menjadi lebih sulit. Selain itu, saat
terjadi penempatan ulang pada barang dalam gudang, belum tentu disertai dengan
dokumentasi yang baik akan tempat dan posisi peletakan yang baru. Akibatnya
dapat terjadi kehilangan barang baik karena tercecer dalam gudang atau karena
ulah pegawai yang tidak bertanggungjawab.
Pada proses pengeluaran barang, penempatan dan perubahan posisi
barang yang kurang terdokumentasi dan terkontrol dengan baik. Hal ini
menyebabkan barang harus dicari terlebih dahulu. Apabila pencarian dilakukan
oleh pegawai yang tidak terlibat dalam proses penempatan atau pemindahan
barang akan menyebabkan kegiatan pengeluaran barang menjadi tidak efisien.

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.3 Tujuan dan Manfaat Penelitian


Hasil penelitian ini diharapkan dapat menghasilkan sistem inventory

yang dapat mempermudah pencatatan pemasukan, pengeluaran, pencarian, dan


penyediaan laporan inventory. Sistem dibuat juga diharapkan mampu memberi
solusi untuk pengaturan peletakan barang dalam ruang dan visualisasi posisi
barang.

1.4 Ruang Lingkup Pembahasan


Dalam penelitian ini terdapat batasan, yaitu:

Pencatatan barang keluar dan pembuatan surat jalan.

Pencatatan barang masuk.

Pencatatan barang hilang dari hasil perbandingan stock opname dengan data
pada sistem dan adjusment dari barang hilang.

Laporan-laporan, seperti: stock global, laporan pengeluaran, pemasukan


barang, dan laporan history barang.

Pemberian solusi pengaturan peletakan, Sistem dapat memberikan solusi


kepada pemakai tempat barang yang baru masuk dalam gudang dengan
mempertimbangkan ukuran, aturan peletakan gudang dan maksimum
tumpukan.

Dokumentasi perubahan lokasi dan posisi dari barang.

Menyediakan informasi lokasi dan jumlah barang dalam gudang.

Visualisasi posisi barang dalam gudang.

Database yang dipergunakan adalah Mysql 4.0.14-nt.

Perangkat lunak untuk pengembangan adalah Borland Delphi 6.

Visualisasi menggunakan OpenGL.

Sistem operasi menggunakan Microsoft Windows Xp.

1.5 Sistematika Penyusunan Laporan


Laporan penelitian ini secara keseluruhan terdiri dari lima bab, dimana
secara garis besar masing-masing bab membahas hal-hal sebagai berikut:
BAB 1

Pendahuluan:

berisi

latar

belakang,

permasalahan,

tujuan

penelitian, manfaat penelitian, ruang lingkup permasalahan, dan


sistematika penyusunan laporan.

BAB 2

Tinjauan Pustaka: membahas tentang teori-teori dasar yang


relevan yang digunakan untuk memecahkan persoalan yang dibahas
pada penelitian ini.

BAB 3

Metode Penelitian: membahas tentang metode penelitian yang


dilakukan dalam perancangan aplikasi.

BAB 4

Hasil Penelitian dan Pembahasan: berisi tentang hasil dari


penelitian, berupa aplikasi yang telah dikembangkan beserta dengan
pengujian aplikasi tersebut.

BAB 5

Kesimpulan dan Saran: berisi kesimpulan yang mencakup


beberapa hal penting pada hasil yang didapat dari penelitian dan
saran-saran yang diajukan bagi penyempurnaannya.

BAB 2. TINJAUAN PUSTAKA

2.1 Perancangan Sistem


Dalam

melakukan

perancangan

sistem,

ada

dua

model

yang

dipergunakan yaitu process modeling dengan menggunakan Data Flow Diagram


(DFD) dan data modeling dengan menggunakan Entity Relationship Diagram
(ERD). Untuk memperjelas detail dari proses dipergunakan Flowchart.

2.1.1

Data Flow Diagram (DFD)


DFD merupakan penggambaran sistem yang menggunakan bentuk simbol

untuk menggambarkan aliran data dalam suatu proses yang saling berhubungan
(McLeod, Jr., Schell, 1979). Beberapa simbol yang dipergunakan untuk
menggambarkan sistem antara lain:

External Entity, merupakan simbol yang mewakili


External Entity

elemen yang berada di luar sistem, tetapi memiliki


hubungan interaksi dengan sistem.
Gambar 2.1 External entity

Proses, merupakan simbol yang mewakili kegiatan


untuk mengubah data menjadi informasi atau

Proses

masukan untuk data lain.


Gambar 2.2 Proses

Data Store, merupakan simbol yang mewakili


Data store

tempat

penyimpanan

dari

dipergunakan bila dibutuhkan.


Gambar 2.3 Data Store

data

dan

dapat

Data flow, merupakan simbol yang mewakili arah


aliran data yang berasal dari satu proses, data store
atau elemen lingkungan menuju ke satu proses, data
store atau enviromental element lainnya.
Gambar 2.4 Data Flow

Permodelan sistem dengan menggunakan DFD memiliki level yang


menandai penggambaran sistem mulai dari umum hingga detail. Level yang
menandai hubungan yang paling umum dan menggambarkan sistem secara
keseluruhan disebut context diagram. Dari context diagram selanjutnya dapat
diuraikan ke dalam DFD level 0, 1, hingga level dimana proses dianggap cukup
detail dan jelas serta tidak bisa diuraikan lebih detail.
Dalam penggambaran proses, perlu diberikan penomoran, demikian juga
dengan level uraian dari proses tersebut. Contohnya proses dengan nomor 1
pada DFD level 0 bila diuraikan pada DFD level 1, maka penomoran proses
perlu didahului dengan nomor proses yang diuraikan, yaitu 1.1, 1.2, 1.3 dan
seterusnya. Hal yang sama juga akan berlaku pada penomoran DFD level
selanjutnya.

2.1.2

Entity Relationship Diagram (ERD)


ERD

merupakan

mendokumentasikan

data

data
sistem.

modeling

yang

Dokumentasi

dipergunakan

dilakukan

dengan

untuk
cara

menentukan kelompok data apa saja yang terdapat dalam tiap entity dan
bagaimana hubungan antara entity satu dengan lainnya. Entity dapat berupa
environmental element, resource dan transaksi yang sangat diperlukan dan
didokumentasikan dalam bentuk data.
Simbol-simbol yang dipergunakan dalam ERD antara lain:

Entity, yang termasuk ke dalam entity antara lain


environmental element, resource, dan transaksi yang
sangat penting bagi sistem. Setiap entity memiliki
attribute merupakan karakteristik yang menandai atau
dimiliki oleh entity.
Gambar 2.5 Entity
Relationship, menandakan hubungan diantara entity,
simbol relationship kadang diwakili sebagai garis yang
menghubungkan entitiy.
Gambar 2.6 Relationship

Selain istilah dan simbol di atas, terdapat juga istilah yang


menggolongkan jenis relasi yang dilakukan antar entity, yaitu:
a. Cardinality, menandai jumlah entity yang muncul dalam relasi dengan entity
lainnya. Nilai cardinality ada dua yaitu 1 atau many. Bentuk relasi yang
dapat dihasilkan ada tiga yaitu :

One to one relationship, merupakan relasi antara entity dimana tiap satu
entity hanya dapat berpasangan dengan satu entity pasangannya.
Contohnya adalah relasi antara departemen (entity1) dan kepala
departemen (entity2), dimana satu departemen hanya memiliki satu kepala
departemen, demikian sebaliknya (Lihat Gambar 2.7).
Entity2

Entity1
Relation

Gambar 2.7 One to One Relationship

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

salesman sementara salesman dapat terlibat pada beberapa penjualan


(Lihat Gambar 2.8).
Entity2

Entity1
Relation

Gambar 2.8 One to Many Relationship

Many to many relationship, merupakan relasi antar entity dimana beberapa


entity dapat berpasangan dengan lebih dari satu pasangan pada entity lain.
Contohnya pada relasi antara barang (entity 1) dengan penjualan (entity 2),
satu barang dapat terlibat dalam beberapa penjualan sementara penjualan
dapat melibatkan beberapa barang pada transaksi yang berbeda (Lihat
Gambar 2.9).
Entity2

Entity1
Relation

Gambar 2.9 Many to Many Relationship


b. Mandatory, menandai apakah semua anggota entity harus berelasi dengan
anggota entity lain atau tidak. Bila semua anggota harus berelasi maka diberi
simbol | atau disebut juga mandatory/obligatory dan bila semua anggota
tidak harus berelasi maka diberi simbol o atau disebut non mandatory/non
obligatory. Contoh: mandatory entity 1 to entity 2 dengan one to one
relationship (Lihat Gambar 2.10).
Entity2

Entity1
Relation

Gambar 2.10 Mandatory

Dari gambar tersebut berarti semua anggota dari entity 1 harus berelasi

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.

2.2 Pembuatan Sistem


2.2.1

Database Management Systems (DBMS)


Database

ditujukan

pada

semua

data yang

tersimpan

dengan

menggunakan sumberdaya komputer di dalam organisasi, sementara DBMS


merupakan perangkat lunak aplikasi yang menyimpan struktur dari database, data,
dan relasi data dalam database termasuk form dan laporan yang berhubungan
dengan database (McLeod, Jr., Schell, 1979).
Dalam mendesain database, perlu ditentukan jenis server database untuk
mekanisme kerja yang baik. Oleh karena itu diperlukan pertimbangan akan
kelemahan dan keunggulan dari masing-masing jenis. Secara umum, ada dua tipe
relational database berdasarkan server yang sering dipakai yaitu:
a. Remote Database Servers, berada pada mesin yang terpisah dengan client
bahkan data juga dapat terpisah pada beberapa server lain yang berbeda
jenisnya. Walaupun database server memiliki perbedaan cara dalam peletakan
data, mereka memiliki logical interface yang umum pada client yaitu
Structure Query Language (SQL). Karena akses dilakukan dengan SQL, maka
kadang juga disebut dengan SQL server atau Remote Database Management
System (RDBMS). Setiap SQL server memiliki sintaks tersendiri untuk SQL.
Contoh dari SQL server antara lain: Interbase, Oracle, Sysbase, Infomix,
Microsoft SQLserver, dan MySQL.
b. Local databases, berada pada satu mesin atau Local Area Network (LAN) yang

sama. Umumnya memiliki API (Application Programming Interface) yang


sama. Bila memiliki beberapa user maka local database sering menggunakan
mekanisme file-based locking (mengunci tabel yang sedang digunakan dari
akses user lain), oleh karena itu sering disebut juga sebagai file-based
database. Contoh dari local database adalah Paradox, dBASE, Foxpro dan
Access.
Aplikasi yang menggunakan local database, sering juga disebut sebagai
single-tiered application karena aplikasi dari database membagi sistem file yang
sama. Sementara aplikasi yang menggunakan remote database server disebut
sebagai two-tiered applications atau multi-tiered applications karena aplikasi dan
database beroperasi pada sistem yang berbeda.
Beberapa pertimbangan dalam menentukan jenis database adalah sebagai
berikut:
a. Jumlah user pengguna database, dengan menggunakan remote database,
dapat dilakukan akses oleh beberapa user sekaligus melalui mekanisme
yang disebut transaction. Sementara local database ada juga yang
menyediakan transaction, tetapi lebih banyak yang menggunakan filebased locking mechanism. Dan beberapa tidak mendukung multi-user
sama sekali.
b. Jumlah data yang akan disimpan oleh database. Remote database dapat
menyimpan lebih banyak data daripada local database. Beberapa remote
database didesain untuk warehousing dari data dalam jumlah besar
sementara yang lainnya dioptimasikan untuk hal lain seperti kecepatan
update.
c. Perfoma dari database, local database umumnya lebih cepat dari remote
database server, karena server berada dalam sistem yang sama dengan
aplikasi database.
d. Biaya dari penggunaan database, local database memiliki biaya yang jauh
lebih rendah dari remote database yang perlu menyediakan server yang
terpisah atau biaya untuk operasional server seperti penggunaan jaringan
internet atau satelit.
e. Pengembangan database, seiring dengan kebutuhan yang terus berubah,

10

tidak menutup kemungkinan bahwa suatu saat perlu dilakukan perubahan


atau pengembangan dari database yang telah ada.

Terminator, menandai awal atau akhir dari


suatu proses
Decision, untuk
dalam proses

menandai

percabangan

Input/output, menggambarkan adanya input


atau output dari sistem
Process, menggambarkan
dilakukan

proses

yang

Flow, menggambarkan arah urutan proses


yang dilakukan
Preparation, simbol untuk dimulainya proses
looping
Predefined process, untuk menggambarkan
proses yang telah dimasukkan sebelumnya
Stored procedure, simbol untuk mewakili
proses yang dilakukan pada data yang
tersimpan, seperti insert, delete dan update
Gambar 2.11 Simbol Flowchart

2.2.2

Structure Query Language (SQL)


SQL merupakan bahasa yang memungkinkan pemakai untuk melakukan

akses data ke DBMS dan pemakai dapat menggambarkan data yang ingin
diperoleh (Hoffman, 2001). SQL juga memungkinkan pemakai untuk melakukan
manipulasi data (input, edit, dan delete). Dalam perkembangannya, SQL telah
menjadi bahasa standar dalam kegiatan manipulasi data pada database dari
berbagai vendor yang ada di dunia.

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 2.1. Contoh Tabel Barang


ID_Barang

Kode_Umum

Nama_Barang

ID_Kelompok

1000000012

KT278-220

Arbalest

K0001

2003002001

JTC9-84788

Rancing Car

K0003

4421222236

YUBERUA

Toy Gun

K0002

2131244532

82-CTCH

Buldozer

K0003

Tabel 2.2. Contoh Tabel Kelompok


ID_Kelompok Nama_Kelompok
K0001

Robot

K0002

Pistol

K0003

Mobil

Beberapa Perintah yang umum dipergunakan dalam SQL adalah sebagai


berikut:
a. SELECT, merupakan perintah untuk melakukan pengambilan data yang berada
dalam tabel. Bila ingin melakukan pengambilan terhadap data yang berada
dalam:

Tabel barang secara keseluruhan


SELECT * from barang

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

SELECT barang.id_barang, barang.nama_barang,


kelompok.Nama_kelompok FROM barang, kelompok
WHERE barang.id_kelompok=kelompok.id_kelompok

d. Aggregate Function seperti Sum(), Count(), Avg(), Max(), Min(). Bila ingin
mengetahui berapa jumlah id_barang dengan id_kelompok tertentu pada
tabel barang maka perintah yang diberikan :
SELECT COUNT(id_kelompok) FROM barang WHERE
id_kelompok=K0002

Hasil dari perintah ini adalah 2 yang berarti terdapat 2 barang dengan
id_kelompok K0002.
e. CREATE TABLE, perintah ini dipergunakan untuk membuat sebuah tabel baru
dengan field-nya. Contoh: untuk membuat sebuah tabel supplier dengan field
Id_supplier dan nama_supplier diberikan perintah sebagai berikut:
CREATE TABLE supplier (id_supplier char(5), nama_supplier
varchar(30))

f.

ALTER TABLE, perintah ini berfungsi melakukan perubahan pada struktur


tabel (bukan isi tabel). Bila kita ingin menambahkan field telepon pada tabel
supplier, maka perintah yang diberikan sebagai berikut:
ALTER TABLE supplier ADD (telepon varchar(25))

g. INSERT, merupakan perintah yang dipergunakan untuk menambahkan data


pada tabel. Untuk menambahkan data supplier dengan nama Sinar Terang,
maka perintah yang dipergunakan :
INSERT INTO supplier VALUES (S00001,Sinar Terang
,03120030020)

h. UPDATE, berfungsi untuk mengubah data pada tabel. Bila nama kelompok
pada tabel kelompok dengan kode K0001 ingin diganti denganboneka
maka perintah yang diberikan :
UPDATE kelompok SET nama_kelompok =boneka WHERE
id_kelompok=K0001

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

DELETE FROM barang;

Secara keseluruhan perintah SQL sangatlah beragam dan dapat


dipergunakan sesuai dengan kebutuhan manipulasi data pada aplikasi database.
Untuk setiap database server akan terdapat beberapa perintah SQL dengan sintaks
tersendiri.

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.

2.2.4

Borland Delphi
Merupakan perangkat pengembangan aplikasi yang sangat terkenal di

14

lingkungan windows. Dengan perangkat ini dapat dibuat berbagai aplikasi


windows mulai seperti permainan, database, multimedia dan masih banyak lagi.
Dengan Delphi dapat dibuat aplikasi yang rumit dengan tidak terlalu banyak
menuliskan kode karena sifatnya yang visual. Delphi menggunakan objek pascal
sebagai dasar bahasa pemerograman.
Beberapa istilah yang umum dipergunakan dalam pemrograman Delphi
adalah:

Aplikasi atau program, adalah sederetan kode yang digunakan untuk mengatur
komputer agar dapat berjalan sesuai dengan keinginan pembuat program.
Aplikasi dibedakan menjadi aplikasi windows dan aplikasi konsol. Aplikasi
windows adalah aplikasi yang berjalan pada windows sedangkan aplikasi yang
tidak berjalan pada windows contohnya DOS.

Form, merupakan tampilan berbentuk jendela pada windows dengan


menggunakan form, pemakai dapat melakukan interaksi dengan komputer.

Project, merupakan tempat peletakan dari Delphi dalam aplikasi. Sebuah


proyek membawahi sejumlah form.

Komponen,

merupakan

alat

yang

telah

disediakan

Delphi

untuk

mempermudah pemrograman. Form juga merupakan salah satu komponen


Delphi. Selain form, terdapat komponen lain seperti edit text, button, ttime,
memo dan puluhan komponen lainnya. Komponen ada yang tampak dan ada
yang tidak tampak dalam program. Komponen yang tampak disebut juga
control.

Windows API (Application programming Interface), Windows API adalah


sebuah library yang sangat besar dan berisi ribuan fungsi. Sebagian besar
fungsi-fungsi API dibuat dengan menggunakan bahasa C.

VCL (Visual Component Library), VCL merupakan pembungkus dari fungsifungsi Windows API untuk mempermudah pemrograman.

IDE (Integrated Development Environment), merupakan bagian dari Delphi


yang memfasilitasi rancangan tampilan visual untuk pemakai dan menuliskan
kode (lihat Gambar 2.12). Bagian-bagian dari IDE antara lain: Menu utama,
speed bar, jendela Form, Object inspector, dan Componen Pallete

15

Gambar 2.12 IDE Delphi

Delphi menyediakan banyak komponen untuk melakukan akses pada


database yang dikelompokkan berdasarkan mekanisme akses:

Komponen BDE (Borland Delphi Engine), BDE mendukung API (Application


Programming Interface) yang luas untuk berinteraksi dengan database. BDE
merupakan solusi terbaik untuk bekerja dengan data pada tabel Paradox atau
dBASE. Oleh Borland sendiri, pengembangan dari BDE sudah mulai
digantikan oleh dbExpress.

Komponen ADO (ActiveX Data Object), merupakan komponen yang


menggunakan ADO untuk melakukan akses terhadap database melalui OLE
DB.

Komponen dbExpress, merupakan komponen yang menggunakan dbExpress


untuk melakukan akses cepat ke informasi database. DbExpress juga
mendukung pengembangan cross-platform karena juga tersedia di sistem
operasi LINUX.

Komponen InterBase, merupakan komponen yang melakukan akses pada


Interbase secara langsung, tanpa melalui layer engine yang terpisah.
Selain untuk melakukan akses terhadap data, terdapat juga komponen

yang menjadi sarana penghubung antara user dan database (User Interface) yang

16

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
seperti pada spreadsheet.

dalam bentuk tabular form

17

TDBimage, Data-aware dalam bentuk image yang berguna unutk


menampilkan, melakukan edit, copy dan paste pada record yang sedang
aktif.

TDBLookupCombo, merupakan Data-aware dalam bentuk list yang


mengacu pada tabel saat run time.

2.2.5

ActiveX Data Object (ADO)


ADO diawali dengan ide dimana sebuah Application Programming

Interface (API) dapat berinteraksi dengan berbagai sumber data. Dengan demikian
developer dapat bebas menentukan tidak tergantung lagi pada satu jenis database
dan dapat mengikuti perubahan kebutuhan dunia. Dua solusi awal yang cukup
terkenal adalah Microsoft Open Database Conectivity (ODBC) dan Borland
Integrated Database Programming (IDAPI) yang lebih dikenal sebagai Borland
Database Engine (BDE).
Microsoft selanjutnya mulai untuk menggantikan ODBC dengan OLEDB
yang termasuk system-level-interface dan hanya diperuntukkan bagi system level
programmer. System level programming sangat luas, rumit dan membutuhkan
pengetahuan yang luas untuk melakukan pemrograman untuk produktivitas yang
rendah. ADO merupakan layer di atas OLEDB dan merupakan application-level
interface. ADO jauh lebih sederhana dari OLEDB dan didesain untuk application
programmer. Baik ADO, OLEDB, dan ODBD tergabung bersama beberapa
sarana akses data yang lain didalam Microsoft Data Access Component (MDAC).
Arsitektur MDAC dapat dilihat pada Gambar 2.13.
Pada komponen Delphi terdapat set komponen untuk melakukan akses ke
database dengan menggunakan ADO yang disebut ADOExpress yang selanjutnya
disebut sebagai dbGo. Akses kepada ADO dapat dilakukan secara langsung tanpa
dbGo, tetapi hal ini melangkahi infrastruktur database dari Delphi sehingga tidak
dapat menggunakan teknologi data-aware (contoh: Grids, dbNavigator,
Graphical, ListBase dan Lookup) dan DataSnap (arsitektur database yang
mengembangkan aplikasi client dan server pada lingkungan Three Tier) milik
Delphi.

18

Gambar 2.13 Arsitektur MDAC

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

mengambarkan langkah untuk memperoleh tampilan efek yang diinginkan.


Langkah yang dipergunakan berhubungan dengan API dengan lebih dari 200
perintah dan fungsi untuk menggambarkan grafik primitif seperti titik, garis dan
polygon pada dimensi tiga. OpenGL tidak melibatkan fungsi apapun yang
berhubungan dengan window management, user interaction atau file I/O karena
setiap platform seperti windows umumnya telah menyediakan fungsi tersendiri.
Sebagai API, OpenGL terdiri dari tiga library yang terpisah, yaitu:

GL, merupakan library yang dispesifikasikan oleh OpenGL berdasarkan


Architecture Review Board.

GLU, merupakan library utility dari OpenGL, library ini memiliki fungsi yang
mempermudah penggambaran yang umum seperti menggambar sphere, disk,
silinder. GLU ditulis dengan menggunakan perintah OpenGL dan akan ada
dalam semua platform yang menggunakan spesifikasi OpenGL.

GLUT, menyediakan cross platform API untuk melakukan operasi pada


lingkungan yang menggunakan operasi window seperti display, redraw, dan
event handling.
Dengan menggunakan unit GL dan GLU pada Delphi dapat dilakukan

pemrograman OpenGL. Beberapa perintah yang umum dipergunakan pada


pemrograman OpenGL yaitu:

Membuat warna background, perintah OpenGL ini memiliki tiga paramater


heksa yang menunjukkan warna merah, hijau, biru dan nilai alpha. Nilai
terendah adalah 0,0f yang menunjukkan warna hitam dan tertinggi adalah 1,0f
yang menunjukkan warna putih. Berikut adalah contoh perintah untuk
menghasilkan background berwarna hitam.
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);

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()

Melakukan perpindahan posisi dari matrix saat penggambaran, pada saat


melakukan penggambaran, untuk melakukan perpindahan dari satu koordinat
ke koordinat lain dalam penggambaran diperlukan operasi translasi matrix.
glTranslatef(105.0f,0.0f,0.0f);

Menggambar titik, sebagai bentuk dasar dari grafik penggambaran titik sangat
sederhana. Dengan menggunakan tiga parameter yang meliputi kooodinat
sumbu x, y, dan z. Bila ingin melakukan peletakan pada titik (0,1,0) maka
dipakai perintah sebagai berikut:
glVertex3f( 0.0f, 1.0f, 0.0f);

Menggambar bidang, untuk menggambar bidang OpenGL telah memberikan


kemudahan hanya dengan menentukan jenis dari bidang yang akan digambar
yaitu triangle (segitiga), quads (segi empat) dan polygon (segi banyak).
Setelah penentuan dilakukan maka ditentukan titik-titik yang kemudian
membentuk bidang yang diinginkan.
glBegin(GL_TRIANGLES); // Gambar segitiga
glVertex3f( 0.0f, 1.0f, 0.0f); // Atas
glVertex3f(-1.0f,-1.0f, 0.0f); // Bawah Kiri
glVertex3f( 1.0f,-1.0f, 0.0f); // Bawah Kanan
glEnd(); // Akhir penggambaran segitiga
glTranslatef(3.0f,0.0f,0.0f);//pindah kursor kiri
glBegin(GL_QUADS); // Gambar Segiempat
glVertex3f(-1.0f, 1.0f, 0.0f); // Atas Kiri
glVertex3f( 1.0f, 1.0f, 0.0f); // Atas Kanan
glVertex3f( 1.0f,-1.0f, 0.0f); // Bawah Kanan
glVertex3f(-1.0f,-1.0f, 0.0f); // Bawah Kiri
glEnd(); // Akhir Penggambaran Segiempat

21

Gambar 2.14 Hasil Penggambaran Bidang Segitiga dan Segiempat

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.

Gambar 2.15 Gambar Contoh Pengunaan Perintah Glulookat

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

1. Inisialisasi prioritas pemanfaatan solusi


2. Sukses <- false
3. Ulangi sampai step 11 atau solusi habis
4. Ambil solusi berikut sesuai dengan prioritas
5. If solusi dapat dipakai
6. Then jalankan solusi tersebut
7. If solusi belum lengkap
8.

Then Sukses<-coba(level(n+1))

9.

If tidak sukses

10.

Then batalkan tindakan solusi tersebut

11. Return sukses


Gambar 2.16 Algoritma Backtracking

BAB 3. METODE PENELITIAN


3.1 Metodologi Penelitian
Penelitian ini dilaksanakan berdasarkan metodologi penelitian sebagai
berikut:
a. Studi Literatur
Mempelajari berbagai teknologi yang akan dipergunakan dalam penelitian,
seperti: database, algoritma genetika, dan penggunaan OpenGL dalam aplikasi.
b. Pengumpulan data
Cara pengumpulan data yang dilakukan sebagai berikut:

Wawancara, dilakukan untuk mengumpulkan data mengenai kebutuhan


dari perusahaan terhadap sistem, mempelajari sistem inventory yang
dipergunakan perusahaan, memperoleh data jumlah dan jenis barang.

Pengukuran lapangan, melakukan pengukuran langsung terhadap luas


gudang, block tempat penyimpanan barang serta barang yang ukurannya
tidak dicantumkan pada kemasan.

Pengamatan, dilakukan dengan melihat kondisi gudang yang akan


menggunakan sistem dan cara kerja yang berlangsung dalam gudang.

c. Analisa kebutuhan
Melakukan analisa terhadap hasil wawancara dan pengamatan. Menentukan
teknologi yang akan dipergunakan.
d. Desain perangkat lunak
Pada tahap ini dilakukan desain terhadap sistem inventory yang akan
diterapkan dalam perangkat lunak dengan menggunakan Data Flow Diagram
dan Entity Relationship Diagram. Selain itu juga dibuat perencanaan dan
desain terhadap cara optimasi, visualisasi dan interface dari perangkat lunak.
e. Pembuatan perangkat lunak
Pada pembuatan perangkat lunak, dilakukan pemrograman terhadap hasil
perencanaan dan desain. Selain itu juga dilakukan dokumentasi selama tahap
pembuatan.
f. Pengujian perangkat lunak

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.

3.2 Analisis Sistem Lama


Hal-hal yang perlu diperhatikan dalam sistem inventory perusahaan
adalah sistem pemasukan, sistem pengeluaran, sistem pemeriksaan stok,
pembuatan laporan, dan fisik gudang.

Pemasukan barang
Pemasukan barang pada perusahaan tersebut berasal dari pembelian dan
perpindahan dari UD Aneka Mainan yang terletak jalan Dupak Megah Ruko
Dupak Blok B/8 Surabaya. Proses pemasukan barang selalu disertai dengan
surat jalan, baik dari supplier maupun dari UD Aneka Mainan sendiri. Retur
penjualan ditangani oleh UD Aneka Mainan secara langsung, khususnya
dalam pencatatan transaksi. Mengingat retur penjualan hampir tidak mungkin
mencapai satuan besar (pack/dos). Penyebab lain adalah perjanjian barang
yang telah dibeli tidak dapat dikembalikan.

Pengeluaran barang
Pengeluaran barang terjadi akibat pengiriman pesanan customer dan
pengiriman permintaan dari UD Aneka Mainan. Pesan untuk mengeluarkan
barang biasanya diberikan secara lisan kepada petugas gudang melalui telepon
oleh bagian penjualan atau dengan menggunakan memo yang dibawa oleh
pengantar dengan tanda tangan dan stempel dari bagian penjualan UD Aneka
Mainan. Selain itu barang dikeluarkan untuk dikembalikan kepada supplier
akibat salah pengiriman atau harga tidak sesuai dengan kesepakatan. Selain itu
jika supplier mengirim barang melebihi yang dipesan, pihak UD Aneka
Mainan berhak untuk menginstruksikan gudang untuk meretur barang. Retur

26

pembelian ditangani oleh UD aneka Mainan sendiri. Gudang hanya berperan


untuk mencatat dan mengawasi pengeluaran barang. Semua pengeluaran
barang akan disertai dengan surat jalan sebagai pengantar.

Pemeriksaan stok
Untuk mengawasi persediaan barang dalam gudang, maka sewaktu-waktu
dilakukan pemeriksaan stok dengan melakukan stock opname. Pemeriksaan
dilakukan secara periodik per bulan. Namun kadang dilakukan secara
mendadak sesuai dengan keinginan pimpinan (manajer) perusahaan.
Pemeriksaan stok tidak dilakukan secara keseluruhan, tetapi beberapa barang
yang dianggap memiliki penjualan yang baik atau dilakukan secara acak.

Pembuatan laporan
Laporan dibuat dengan mengakumulasi perubahan jumlah barang, baik
bertambah atau berkurang lalu dibuat perhitungan akumulasi untuk pembuatan
laporan barang. Laporan dibuat dengan menggunakan pencatatan manual,
yaitu:
Laporan stok berupa: laporan stok menyeluruh, laporan barang yang harus
dipesan, dan laporan barang rusak
Kartu stok per barang/ mutasi barang
Laporan barang yang harus dipesan
Laporan perbandingan hasil pemeriksaan stok dengan jumlah stok tertulis
Laporan kehilangan barang

Fisik Gudang
Gudang UD aneka Mainan berlokasi di daerah pergudangan
Margomulyo Blok M No 21. Ukuran gudang adalah 14 meter X 38,25 meter.
Barang secara umum terdiri dari tiga jenis, yaitu barang kemasan standar,
barang satuan kecil, dan barang dengan kemasan tidak standar. Mayoritas
barang kemasan tidak standar berada pada subblok barang rusak. Sementara
untuk barang satuan kecil akan dikelompokkan sejumlah kemasan standar.
Peletakan barang dalam gudang menggunakan sistem tumpuk,
dimana barang yang sama akan diletakkan pada tempat (blok) yang sama. Bila
blok tidak mencukupi, maka barang diletakkan pada tempat terpisah
seminimum mungkin. Hal ini disebabkan oleh luasnya gudang. Peletakan

27

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

tempat barang akan diletakkan dan diambil.


Setelah melakukan pengamatan lebih lanjut pada cara penyusunan
dalam gudang, maka pengaturan peletakan dengan memperhitungkan
maksimum tumpukan tidak dapat diterapkan pada kasus ini. Hal tersebut
disebabkan oleh faktor sebagai berikut:
a. Pengaturan

peletakan

dengan

perhitungan

maksimum

tumpukan

memerlukan data koordinat dari barang yang diletakkan untuk melakukan


perhitungan pengaturan peletakan. Hal ini berarti diperlukan penyimpanan
yang besar untuk koordinat barang dalam gudang untuk setiap satu
kemasan dari barang.
b. Barang yang terletak pada blok tidak mungkin terus diawasi satu demi satu
posisi peletakannya. Penyimpanan barang di UD Aneka Mainan bersifat
tumpuk, dapat menyebabkan pencatatan dengan cara menyusun barang
pada blok akan semakin memperumit proses sistem inventory. Terlebih
lagi beberapa barang hanya berada dalam waktu singkat dalam gudang,
mengakibatkan proses pengawasan akan menjadi lebih sulit. Kondisi
penyusunan gudang pada perusahaan dapat dilihat pada Gambar 3.1.

Gambar 3.1 Kondisi Penyusunan Barang dalam Gudang

3.2.2

Analisis Permasalahan
Beberapa permasalahan yang sering muncul pada sistem manual UD

Aneka Mainan adalah:

29

Jumlah dan jenis barang yang semakin banyak menyebabkan sulitnya


pencatatan transaksi secara manual dan pemborosan waktu dalam kegiatan
administrasi pergudangan seperti dalam pembuatan laporan.

Ukuran gudang terbatas sementara jumlah dan jenis barang semakin


bertambah memerlukan penghematan ruang dalam peletakan barang.

Perubahan lokasi barang dalam gudang tanpa dokumentasi membuat


pencarian sulit untuk pengeluaran barang bahkan dapat dinyatakan hilang atau
habis meskipun barang sebenarnya tersembunyi diantara barang lain.

Pekerja dalam gudang dapat melakukan kecurangan dengan mengambil


barang tanpa sepengetahuan pemilik memerlukan pengawasan yang baik.

3.2.3

Analisis Kebutuhan
Dari permasalahan yang muncul, maka perusahaan membutuhkan sistem

inventory baru yang:

terkomputerisasi untuk proses pemasukan dan pengeluaran barang, dimana


sistem tersebut dapat mencatat semua kegiatan pengeluaran dan pemasukan
barang dalam gudang. Serta dapat menghasilkan laporan yang dibutuhkan
secara cepat dan akurat.

dapat mempermudah dan dapat memberi solusi pengaturan peletakan barang


dalam gudang.

dapat mempermudah pengenalan fisik gudang, termasuk analisis penggunaan


lokasi dengan visualisasi gudang dan persentase penggunaan ruang.

3.3 Desain Sistem


Desain sistem dimulai dengan penggambaran Data Flow Diagram dan
Entity Relationship Diagram kemudian dilanjutkan dengan pembuatan program
aplikasi.

3.3.1

Desain Data Flow Diagram (DFD)


Penggambaran sistem kerja diawali dengan Context diagram sistem

pemasukan barang dan pengeluaran barang yang akan dilanjutkan dengan diagram

30

level 0 dan level 1 untuk masing-masing sistem. Context Diagram Sistem


Inventory dapat dilihat pada Gambar 3.2. Terdapat lima external entity yang
terlibat, yaitu: UD Aneka Mainan, Manajer, Customer, dan Supplier.
DFD Sistem Inventory level 0 dapat dilihat pada Gambar 3.3. Terdapat
empat proses utama dalam sistem inventory, yaitu pemasukan barang, pengeluaran
barang, pembuatan laporan dan informasi, serta pemeriksaan (opname) stok
barang fisik.
Proses pemasukkan barang (lihat Gambar 3.4) merupakan proses yang
menyebabkan bertambahnya barang di gudang. Melibatkan UD Aneka Mainan
selaku bagian pembelian dan penjualan. Informasi tentang pembelian barang
secara lisan atau tulisan (memo) diberikan kepada gudang untuk persiapan
penerimaan barang. Selain itu dapat pula terjadi pemindahan barang dari UD
Aneka Mainan ke Gudang. Dari ekspedisi selaku pihak yang mengantarkan
barang akan disertakan surat jalan supplier yang berisi informasi jumlah barang
yang dikirimkan.
Pengeluaran barang, (lihat Gambar 3.5) merupakan peroses yang
menyebabkan berkurangnya barang dari dalam gudang. Melibatkan customer
selaku penerima barang yang dikeluarkan. Dalam kasus khusus dapat terjadi retur,
yang disebabkan oleh ketidaksesuaian barang yang dikirimkan oleh supplier
dengan kesepakatan transaksi namun hal ini merupakan hal yang jarang terjadi.
Selain itu juga dapat terjadi pengeluaran barang untuk persediaan bagian
penjualan UD Aneka Mainan.
Pemeriksaan barang fisik (lihat Gambar 3.6) merupakan proses yang
menjadi bentuk control dari UD Aneka Mainan terhadap inventory. Pemeriksaan
barang fisik sering disebut dengan stock opname pada perusahaan ini dan
dilakukan secara periodik untuk barang yang dianggap memiliki frekuensi jual
yang tinggi sedangkan untuk barang lainnya dapat dilakukan pemeriksaan secara
acak pada waktu tertentu sesuai dengan keputusan dari manajer.

31

KARTU STOK PERBARANG


PERMINTAAN LAPORAN
MANAJER

DATA PEMESANAN BARANG


INFORMASI PENGELUARAN BARANG
PERMINTAAN RETUR BELI
INFORMASI PENGIRIMAN

UD
UD Aneka
Aneka
Mainan
Mainan

DATA STOK

SURAT JALAN PEMASUKAN BARANG


PERMINTAAN BARANG
PERMINTAAN DATA STOK
SURAT JALAN PEMINDAHAN BARANG

0
LAPORAN STOK
LAPORAN PENGELUARAN BARANG

SISTEM
INVENTORY

LAPORAN PERBANDINGAN OPNAME

MEMO PENGELUARAN BARANG

PERMINTAAN OPNAME
LAPORAN PENERIMAAN BARANG

SURAT JALAN KELUAR RETUR

CUSTOMER

SURAT JALAN KELUAR CUSTOMER

Gambar 3.2 Context Diagram Sistem Inventory

SUPPLIER
EKSPEDISI

32

Proses terakhir adalah membuat laporan dan informasi (lihat Gambar


3.7). Laporan berisi akumulasi dari transaksi yang umumnya diberikan secara
periodik (mingguan). Namun ada juga yang dapat sewaktu-waktu perlu dihasilkan
seperti laporan stok menyeluruh. Informasi sendiri dalam hal ini berupa informasi
yang tidak periodik yang diperlukan oleh UD Aneka Mainan (pembelian dan
penjualan) atau manajer dan sifatnya lisan dan umumnya dalam jumlah kecil,
Contoh: jumlah stok untuk barang tertentu, Jadwal permintaan pesanan apakah
telah dipenuhi dan masih banyak lagi informasi singkat lainnya yang sering
dibutuhkan sewaktu-waktu.

3.3.2

Desain Entity relationship Diagram


Desain ERD untuk UD Aneka Mainan secara konseptual dapat dilihat

pada Gambar 3.8. Sedangkan ERD secara fisik dapat dilihat pada Gambar 3.9.
Proses desain dengan mempertimbangkan berbagai segi dan aspek untuk
memudahkan pemakai.

3.3.3

Desain Pengaturan Peletakan


Desain pengaturan peletakan dibuat dengan mempertimbangkan aturan

pemasukan barang dalam perusahaan. Pada proses pengaturan peletakan barang


yang masuk terjadi beberapa tahap yaitu sebagai berikut:

Pencarian lokasi barang sejenis, pada tahap ini, barang masuk akan diperiksa
apakah gudang masih memiliki barang dengan identitas (Id_barang) yang
sama. Bila ada, dilakukan pengisian pada subblok tempat lokasi barang sejenis
berada terlebih dahulu.

Bila ternyata subblok tidak mencukupi atau gudang tidak mempunyai barang
yang

sejenis,

maka

dilakukan

pengujian

terhadap

subblok

dengan

backtracking. Selama backtracking berlangsung, dilakukan pengujian


terhadap lokasi barang yang ditempati dengan membandingkan jumlah
subblok yang terpakai secara keseluruhan hasil backtracking dan berapa sisa
space yang tidak dapat dipergunakan bila barang yang sama memenuhi
subblok tersebut.

33

SURAT JALAN PEMASUKAN BARANG


EKSPEDIS
I

INPUTAN BARANG MASUK

MASUK BARANG

PERMINTAAN OPNAME

PERMINTAAN LAPORAN
LAPORAN PERBANDINGAN OPNAME
LAPORAN PENGELUARAN BARANG
MANAJER
MANAJER
MANAJER

1
DATA PEMESANAN BARANG

MEMASUKKA DATA UPDATE TAMBAH MUTASI BARANG


N BARANG

SURAT JALAN PEMINDAHAN BARANG

3
MEMBUAT
LAPORAN
DAN
INFORMASI

PERMINTAAN DATA STOK

QUERY MASUK BARANG

INFORMASI PENGELUARAN BARANG


DATA STOK

MUTASI BARANG

LAPORAN STOK
LAPORAN PENERIMAAN BARANG
KARTU STOK PERBARANG
QUERY DATA OPNAME

DATA OPNAME BARANG


QUERY MUTASI BARANG

PERMINTAAN BARANG
HASIL OPNAME STOK

MEMO PENGELUARAN BARANG


UD
UD
UD
UD
Aneka
Aneka
Aneka
UD
UDAneka
Aneka
Aneka
UD
Aneka
Mainan
Mainan
Mainan
Mainan
Mainan
Mainan

SURAT JALAN KELUAR ANTAR LOKASI

UPDATE DATA STOK


KELUAR BARANG

4
PERIKSA
STOK FISIK
BARANG

QUERY KELUAR BARANG

+
2

DATA UPDATE KURANG MUTASI BARANG

MENGELUAR
KAN BARANG

PERMINTAAN RETUR BELI

SURAT JALAN KELUAR CUSTOMER

+UPDATE STOK MASUK BARANG

INPUTAN BARANG KELUAR


QUERY STOK BARANG

DATA PENGURANGAN STOK


CUSTOMER

UPDATE STOK BARANG HILANG

SUPPLIER

SURAT JALAN KELUAR RETUR

Gambar 3.3 Data Flow Diagram Sistem Inventory Level 0

STOK BARANG

STOK BARANG AKTUAL

34

UD Aneka
Aneka
UD
Mainan
Mainan

[SURAT JALAN PEMASUKAN BARANG]

[SURAT JALAN PEMINDAHAN BARANG]

1.1
TERIMA
BARANG
MASUK

EKSPEDISI

DATA PENERIMAAN BARANG


STOK BARANG : 2
1.2

DATA BARANG YANG DITERIMA

1.3
SIMPAN
BARANG
MASUK

CEK
PENERIMAAN

[DATA UPDATE TAMBAH MUTASI BARANG] DATA BARANG HILANG

1.4
[INPUTAN BARANG MASUK] MASUK BARANG

[UPDATE STOK MASUK BARANG]

DATA BARANG RUSAK

MUTASI BARANG

STOK BARANG : 1

SIMPAN DATA
BARANG
HILANG

[UPDATE STOK BARANG HILANG]

UPDATE PERUBAHAN JUMLAH STOK SUBBLOK


1.5
PEMINDAHAN
KE SUBBLOK
BARANG
RUSAK

Gambar 3.4 Data Flow Diagram level 1 Proses Pemasukan Barang

35

SURAT JALAN KELUAR ANTAR LOKASI


1
PERMINTAAN RETUR BELI

UD Aneka
Aneka
UD
Mainan

CEK
PERSEDIAAN
BARANG

MEMO PENGELUARAN BARANG


PERMINTAAN BARANG

PENGELUARAN YANG DAPAT DIPENUHI


3

BUAT SURAT
JALAN

DATA PENGELUARAN YANG TELAH DICATAT

CATAT
PENGELUARAN DATA UPDATE KURANG MUTASI BARANG

SURAT JALAN KELUAR CUSTOMER

KELUAR BARANG
CUSTOMER

INPUTAN BARANG KELUAR

SURAT JALAN KELUAR RETUR

DATA PENGURANGAN STOK

MUTASI BARANG
STOK BARANG
SUPPLIER

Gambar 3.5 Data Flow Diagram Level 1 Proses Pengeluaran Barang

STOK BARANG : 2
3
STOK BARANG AKTUAL
MEMBANDINGKAN
HASIL
PEMERIKSAAN
DAN STOK AKTUAL
DATA STOK OPNAME
1
PERIKSA STOK
FISIK

DATA OPNAME BARANG


DATA HASIL PERBANDINGAN
HASIL OPNAME STOK

2
CATAT HASIL
STOK FISIK
PERMINTAAN OPNAME
DATA JUMLAH YANG BERBEDA DENGAN STOK AKTUAL
STOK BARANG : 1
UPDATE DATA STOK

4
MANAJER

PENYESUAIAN
(ADJUSTMENT)
SELISIH
PERBANDINGAN

DATA BARANG KURANG


BARANG HILANG

DATA BARANG LEBIH

DATA BARANG MASUK

Gambar 3.6 Data Flow Diagram level 1 Proses Periksa Stok Fisik Barang

36

2
PERMINTAAN DATA STOK

PENERIMAAN
PERMINTAAN
INFORMASI
SEDERHANA

INFORMASI PENGELUARAN BARANG


UD Aneka
Mainan

PERMINTAAN INFORMASI SEDERHANA


JENIS KEBUTUHAN INFORMASI

LAPORAN STOK

MANAJER
MANAJER

LAPORAN PERBANDINGAN OPNAME


PENERIMAAN
PERMINTAAN
LAPORAN

LAPORAN BARANG YANG HARUS DIPESAN

PERMINTAAN LAPORAN

JENIS KEBUTUHAN LAPORAN


3
QUERY DATA YANG
PEMBENTUK
INFORMASI DAN
LAPORAN

DATA STOK
INFORMASI PENGIRIMAN

LAPORAN PENERIMAAN BARANG


KARTU STOK PERBARANG
LAPORAN PENGELUARAN BARANG
QUERY DATA OPNAME

QUERY MASUK BARANG


QUERY MUTASI BARANG
QUERY STOK BARANG
QUERY KELUAR BARANG
MASUK BARANG

STOK BARANG

KELUAR BARANG

DATA OPNAME BARANG

MUTASI BARANG

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
STOK_AKHIR_PERIODE
ID_STOK_AKHIR
TGL_PROSES_AKHIR_PERIODE
JUMLAH_AKHIR_PERIODE

INPUT_BARANG_HILANG

KELUAR_BARANG
ID_KELUAR
TANGGAL_KELUAR
KETERANGAN_KELUAR

KELOMPOK
ID_KELOMPOK
NAMA_KELOMPOK

BARANG_HILANG
ID_HILANG Diantar Oleh Pengantar
TANGGAL_HILANG
KETERANGAN_HILANG

DIKIRIM

BARANG HILANG
BARANG HILANG

DIKELUARKAN DARI GUDANG


DIKELUARKAN DARI GUDANG

PENGANTAR
ID_PENGANTAR
NAMA_PENGANTAR

Dibawa pada customer

KELOMPOK DARI BARANG

DETAIL_KONVERSI
ID_KEMASAN_AWAL
ID_KEMASAN_AKHIR
JUMLAH_BARANG_AWAL
JUMLAH_BARANG_AKHIR

Input perpindahan

OPNAME_BARANG
ID_OPNAME
TANGGAL_OPNAME
PENYESUAIAN

BARANG
Ref_2911

PROSS AKHIR

KONVERSI_BARANG
ID_KONVERSI
TANGGAL_KONVERSI
KETERANGAN_KONVERSI

Ref_3296

ID_BARANG
Ref_2915
KODE_UMUM
NAMA_BARANG
SATUAN
ISI_BARANG
PANJANG
LEBAR
TINGGI
MAKSIMUM_TUMPUKAN
ROQ
HARGA_MODAL
PRIORITAS

BARANG KEMASAN DARI STOK BERSANGKUTAN

ID_CUSTOMER
NAMA_CUSTOMER
ALAMAT_CUSTOMER
TELEPON_CUST

INPUT OPNAME BARANG

INPUT MASUK BARANG


BARANG YANG MASUK2

WILAYAH
ID_WILAYAH
NAMA_WILAYAH

SUPPLIER
ID_SUPPLIER
BARANG YANG MASUK
NAMA_SUPPLIER
ALAMAT_SUPPLIER
TELEPON_SUPPLIER1
TELEPON_SUPPLIER2

BARANG KEMASAN DARI STOK BERSANGKUTAN

ID_SUB_BLOK
ID_GUDANG
ID_BLOK
X1_SUBBLOK
Y1_SUBBLOK
X2_SUBBLOK
Y2_SUBBLOK
PANJANG_SUBBLOK
LEBAR_SUBBLOK
BARANG KEMASAN DARI MUTASI
TINGGI_SUBBLOK
SISA_SPACE_SUBBLOK
PRIORITAS LOKASI

EKSPEDISI
ID_EKSPEDISI
NAMA_EKSPEDISI
TELEPON_EKS
ALAMAT_EKSPEDISI
Dibawa oleh ekspedisi
AREA_PENGANTARAN

Ref_3309

SUB_BLOK
DETAIL INFORMASI KEDATANGAN STOK

Ref_3305

BARANG BARANG
YANG DIOPNAME
YANG DIOPNAME2

MENGALAMI PERPINDAHAN2

Ref_2919

CUSTOMER

USER
USER_ID
PASSWORD
HAK_AKSES

Input data keluar


MENGALAMI PERPINDAHAN
REF_2907 BARANG HILANG2
DIKELUARKAN DARI GUDANG2

BARANG YANG MASUK


Ref_1349
Ref_1741

MASUK_BARANG
ID_MASUK
TANGGAL_PENGIRIMAN
TANGGAL_MASUK
KETERANGAN_MASUK
ID_SURAT_JALAN

Ref_3288

MUTASI MASUK TERJADI PADA SUBBLOK


ID_SUB_BLOK_ASAL

DETAIL_MUTASI_KELUAR_INTERNAL
JUMLAH_BARANG

MENYIMPAN BARANG
BARANG KEMASAN DARI STOK BERSANGKUTAN2

STOK_BARANG
ID_STOK
JUMLAH_BARANG_SUBBLOK

MUTASI_BARANG
ID_MUTASI
STATUS
JUMLAH_MUTASI
TANGGAL_MUTASI
ID_TRANSAKSI

DETAIL MUTASI KELUAR PADA SUBBLOK


BARANG YANG BERPINDAH

SUBBLOK MUTASI KEMASAN

Ref_1725

DETAIL_STOK
JUMLAH_BARANG

DETAIL_MUTASI_KEMASAN
JUMLAH_BARANG

MUTASI KELUAR DAN INTERNAL

MUTASI MASUK TERJADI PADA SUBBLOK2


MUTASI MASUK TERJADI PADA SUBBLOK
MEMILIKI KEMASAN
Ref_1745

Gambar 3.8 Conceptual Entity relationship Diagram Sistem Inventory

38

DETAIL_HILANG
ID_BARANG = ID_BARANG

DETAIL_KELUAR
ID_BARANG
char(10)
ID_KELUAR
char(9)
JUMLAH_KELUAR
integer

STOK_AKHIR_PERIODE
ID_STOK_AKHIR
ID_BARANG
TGL_PROSES_AKHIR_PERIODE
JUMLAH_AKHIR_PERIODE

DETAIL_KONVERSI
ID_BARANG_AWAL
ID_BARANG_AKHIR
ID_KONVERSI
ID_KEMASAN_AWAL
ID_KEMASAN_AKHIR
JUMLAH_BARANG_AWAL
JUMLAH_BARANG_AKHIR

ID_BARANG
ID_HILANG
JUMLAH_HILANG

KELUAR_BARANG
ID_KELUAR
char(9)
ID_PENGANTAR
char(5)
USER_ID
varchar(20)
ID_EKSPEDISI
char(5)
ID_KELUAR = ID_KELUAR
ID_CUSTOMER
char(5)
TANGGAL_KELUAR
date
KETERANGAN_KELUAR
varchar(30)

ID_PENGANTAR = ID_PENGANTAR
ID_EKSPEDISI = ID_EKSPEDISI
ID_HILANG = ID_HILANG

char(10)
char(10)
date
integer ID_BARANG = ID_BARANG

ID_KELOMPOK = ID_KELOMPOK
USER_ID = USER_ID
ID_BARANG = ID_BARANG_AWAL

char(10)
char(9)
char(4)
char(4)
smallint

ID_BARANG = ID_BARANG

ID_CUSTOMER = ID_CUSTOMER

PENGANTAR
ID_PENGANTAR
char(5)
NAMA_PENGANTAR
varchar(35)

CUSTOMER
ID_CUSTOMER
ID_WILAYAH
NAMA_CUSTOMER
ALAMAT_CUSTOMER
TELEPON_CUST

USER
varchar(20)
varchar(10)
HAK_AKSES
integer
USER_ID

ID_WILAYAH
= ID_WILAYAH
PASSWORD
USER_ID = USER_ID

ID_OPNAME = ID_OPNAME

OPNAME_BARANG
ID_OPNAME
char(9)
USER_ID
varchar(20)
TANGGAL_OPNAME_
date
PENYESUAIAN_OPNAME
smallint

BARANG
USER_ID
= USER_ID
ID_BARANG
char(10)
ID_SUB_BLOK = ID_SUB_BLOK_ASAL
ID_KELOMPOK
char(5)
KODE_UMUM
varchar(20)
NAMA_BARANG
varchar(35)
SATUAN
varchar(5)
ISI_BARANG
smallint
PANJANG
float
LEBAR
float
TINGGI
float
MAKSIMUM_TUMPUKAN
smallint
ROQ
smallint
HARGA_MODAL
float
PRIORITAS
smallint

ID_KONVERSI = ID_KONVERSI
ID_BARANG = ID_BARANG_AKHIR

ID_BARANG = ID_BARANG

KONVERSI_BARANG
ID_KONVERSI
char(9)
USER_ID
varchar(20)
TANGGAL_KONVERSI
date
KETERANGAN_KONVERSI
varchar(20)
ID_BARANG = ID_BARANG

SUB_STOK
ID_STOK
ID_BARANG_PARENT
JUMLAH_ISI

char(4)
char(10)
integer

ID_SUB_BLOK = ID_EKSPEDISI

ID_SUB_BLOK = ID_STOK

STOK_BARANG
ID_SUB_BLOK
ID_STOK
ID_BARANG
JUMLAH_BARANG_SUBBLOK

ID_PINDAH = ID_PINDAH

PERPINDAHAN_INTERNAL
ID_PINDAH
char(9)
USER_ID
varchar(20)
TANGGAL_PINDAH
date
KETERANGAN_PINDAH
varchar(30)

DETAIL_OPNAME
ID_OPNAME
char(9)
ID_BARANG
char(10)
ID_SUB_BLOK
char(4)
JUMLAH_AKTUAL
smallint
JUMLAH_OPNAME
smallint

ID_BARANG = ID_BARANG

char(10)
char(10)
char(9)
char(10)
char(10)
smallint
smallint

BARANG_HILANG
ID_HILANG
char(9)
USER_ID
varchar(20)
TANGGAL_HILANG
date
KETERANGAN_HILANG
varchar(30)

USER_ID = USER_ID

DETAIL_PINDAH
ID_BARANG
ID_PINDAH
ID_SUB_BLOK_ASAL
ID_SUB_BLOK_TUJUAN
JUMLAH_PINDAH

KELOMPOK
ID_KELOMPOK
char(5)
NAMA_KELOMPOK
varchar(35)

char(10)
char(9)
integer

char(4)
char(8)
char(10)
smallint

ID_SUB_BLOK = ID_SUB_BLOK

SUB_BLOK
ID_SUB_BLOK
ID_GUDANG
ID_BLOK
X1_SUBBLOK
Y1_SUBBLOK
X2_SUBBLOK
ID_BARANG = ID_BARANG_KEMASAN
Y2_SUBBLOK
PANJANG_SUBBLOK
LEBAR_SUBBLOK
TINGGI_SUBBLOK
SISA_SPACE_SUBBLOK
PRIORITAS_LOKASI

ID_BARANG = ID_BARANG_PARENT

ID_BARANG = ID_BARANG

DETAIL_STOK
ID_SUB_BLOK
char(4)
ID_MASUK
char(9)
JUMLAH_BARANG
integer

char(5)
char(5)
char(35)
char(35)
char(20)

USER_ID = USER_ID

DETAIL_MASUK
ID_BARANG
char(10)
ID_MASUK
char(9)
JUMLAH_MASUK
smallint

ID_BARANG = ID_BARANG

USER_ID = USER_ID

WILAYAH
ID_WILAYAH
char(5)
NAMA_WILAYAH
varchar(25)

SUPPLIER
ID_SUPPLIER
ID_WILAYAH
NAMA_SUPPLIER
ALAMAT_SUPPLIER
TELEPON_SUPPLIER1
TELEPON_SUPPLIER2

char(5)
char(5)
varchar(35)
varchar(35)
varchar(20)
varchar(20)

EKSPEDISI
ID_EKSPEDISI
NAMA_EKSPEDISI
TELEPON_EKS
ID_EKSPEDISI = ID_EKSPEDISI
ALAMAT_EKSPEDISI_
AREA_PENGANTARAN

ID_MASUK = ID_MASUK
ID_WILAYAH = ID_WILAYAH

char(5)
varchar(35)
varchar(20)
varchar(35)
varchar(35)

MASUK_BARANG
char(4)
char(2)
char(2)
ID_SUB_BLOK = ID_SUB_BLOK
float
float
float
float
ID_SUB_BLOK
= ID_SUB_BLOK_TUJUAN
ID_SUPPLIER = ID_SUPPLIER
float
float
float
float
smallint
ID_SUB_BLOK = ID_SUB_BLOK

ID_MUTASI = ID_MUTASI

char(9)
char(4)
varchar(20)
date
date
varchar(20)
char(5)
varchar(10)

char(9)
char(10)
smallint
smallint
ID_SUB_BLOK = ID_SUB_BLOK
date
varchar(9)

ID_SUB_BLOK = ID_SUB_BLOK
ID_MUTASI = ID_MUTASI

ID_MASUK = ID_MASUK

DETAIL_MUTASI_MASUK
ID_MUTASI
char(9)
ID_SUB_BLOK
char(4)
JUMLAH_BARANG
smallint

ID_MASUK = ID_MASUK

MUTASI_BARANG
ID_MUTASI
ID_BARANG
STATUS
JUMLAH_MUTASI
TANGGAL_MUTASI
ID_TRANSAKSI

ID_SUB_BLOK = ID_SUB_BLOK

DETAIL_MUTASI_KEMASAN
ID_MUTASI
char(9)
ID_BARANG_KEMASAN
char(10)
ID_SUB_BLOK
char(4)
JUMLAH_BARANG
smallint

ID_MASUK
ID_EKSPEDISI
USER_ID
TANGGAL_PENGIRIMAN
TANGGAL_MASUK
KETERANGAN_MASUK
ID_SUPPLIER
ID_SURAT_JALAN_MSK

ID_MUTASI = ID_MUTASI

Gambar 3.9 Physical Entity relationship Diagram Sistem Inventory

DETAIL_MUTASI_KELUAR_INTERNAL
ID_MUTASI
ID_SUB_BLOK
ID_MASUK
JUMLAH_BARANG

char(9)
char(4)
char(9)
smallint

39

Salin data
barang yang
memiliki
ukuran
(barang
bukan dalam
satuan kecil)
yang akan
dioptimasi
ke
intf_barang_o
ptimasi

Ambil daftar
sub_blok
yang
memungkinka
n untuk
dipakai, taruh
dalam tabel
intf_subblok
untuk
simulasi

Function
Pengaturan
peletakan
barang()

Ambil daftar
barang yang
akan
dioptimasi
dari
intf_barang_o
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()

Adakah barang yang


belum menemukan lokasi
peletakan untuk jenis
yang sama ?

Salin hasil ke
dalam linked list

Call Cari
lokasi barang
keseluruhan()

Query data
subblok yang
mungkin untuk
setiap barang

Isi daftar subblok


ke dalam array
daftar subblok
untuk
mempercepat
proses

Simpan beberapa solusi


yang dihasilkan pada
intf_solusi_prototype

Return
Simpan data pada
intf_solusi_protoype

Gambar 3.10 Flowchart Prosedur Pengaturan Peletakan

BAB 4. HASIL PENELITIAN DAN PEMBAHASAN


4.1 Implementasi Aplikasi
Aplikasi ini dikembangkan dengan Borland Delphi 6 sebagai bahasa
pemrograman dan MySQL sebagai basis data, serta OpenGL untuk visualisasi.

4.2 Pengujian Aplikasi


Pengujian aplikasi dilakukan terhadap 9 subblok dengan volume yang
berbeda dan nomor prioritas yang beragam dapat dilihat pada Tabel 4.1. Subblok
yang tidak disertakan dalam pengaturan peletakan, prioritasnya diberi nilai 2.

Tabel 4.1. Daftar Subblok Pengujian I


Subblok
MB01
MC01
MD01
MB03
MC03
MD03
MB05
MC05
MD05
4.2.1

Volume kosong (Cm 3) Prioritas


39.660.000
1
59.490.000
1
51.558.000
1
39.660.000
2
59.490.000
2
51.558.000
2
39.660.000
3
59.490.000
3
51.558.000
3

Pemasukan Barang Pada Subblok Kosong


Pengujian pertama diawali dengan memasukkan 3 barang dengan jumlah,

volume dan prioritas yang berbeda ke dalam subblok. Tujuan dari pengujian ini
adalah untuk memperlihatkan bagaimana proses pengaturan peletakan yang
berlangsung dengan mempergunakan jumlah subblok, sisa space tak terpakai dan
prioritas lokasi pada pemasukan barang. Daftar barang yang dimasukkan akan
diperlihatkan pada Tabel 4.2.
Data barang yang diberikan tersebut akan menjalani proses pemasukan
data sebagai pada transaksi masuk dengan jenis transaksi antar lokasi (pindahan
dari UD Aneka Mainan). Pada tahap awal dilakukan pemasukan data pada form
transaksi masuk. Untuk melibatkan barang dalam proses pengaturan peletakan

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.

Tabel 4.2. Daftar Barang Masukan Pengujian I


Volume
Volume
Prioritas Jumlah
Satuan (Cm3)
total(Cm3)
001B00001 Basketball Playset
145.656
1
300 43.696.800
002G00001 Gasing z-7
175.122
2
100 17.512.200
004H00001 Handphone kitty
66.248
3
30 1.987.440
Id Barang

Nama Barang

Gambar 4.1 Pemasukan Data Pengujian I

Setelah pengisian dilakukan, maka user akan diberikan konfirmasi untuk


melibatkan seluruh barang ke dalam proses pengaturan peletakan (lihat Gambar
4.2). Untuk melanjutkan maka user dapat menekan tombol lanjutkan. Setelah
tombol lanjutkan ditekan, maka proses akan dilanjutkan dengan proses pengaturan
peletakan. Hasil proses akan ditampikan pada form visualisasi hasil bersama
dengan solusi yang diberikan (lihat Gambar 4.3). Solusi yang dihasilkan diambil
sebanyak 5 terbaik untuk dipilih oleh user. Berdasarkan hasil pengaturan
peletakan, solusi yang dihasilkan menurut urutannya dapat dilihat pada Tabel 4.3.

42

Gambar 4.2 Form Konfirmasi untuk Pengaturan Peletakan

Gambar 4.3 Form Visualisasi Hasil Pengaturan Peletakan

Dari solusi yang diberikan, dapat dilihat bahwa aplikasi akan


menempatkan barang sesuai dengan prioritas lokasinya. Sementara untuk jumlah
subblok dan rata-rata sisa space tidak bisa dipakai juga dilibatkan sebagai
pertimbangan dalam perhitungan hasil pengaturan peletakan. Nilai dari jumlah
subblok dan rata-rata sisa space tidak bisa dipakai dapat dilihat pada memo yang
terletak di sebelah kanan bawah dari form. Catatan yang pada memo dari hasil
pengujian ini dapat dilihat pada Gambar 4.4.

43

Tabel 4.3. Solusi Hasil Pengujian I


Subblok

Id Barang

Nama Barang

Jumlah

Solusi I
MD03
MC01
MD05

002G00001
001B00001
004H00001

Gasing z-7
Basketball Playset
Handphone kitty

100
300
30

MD03
MC01
MB05

002G00001
001B00001
004H00001

Gasing z-7
Basketball Playset
Handphone kitty

100
300
30

MD03
MD01
MD05

002G00001
001B00001
004H00001

Gasing z-7
Basketball Playset
Handphone kitty

100
300
30

MB03
MC01
MD05

002G00001
001B00001
004H00001

Gasing z-7
Basketball Playset
Handphone kitty

100
300
30

MD03
MD01
MB05

002G00001
001B00001
004H00001

Gasing z-7
Basketball Playset
Handphone kitty

100
300
30

Solusi II

Solusi III

Solusi IV

Solusi V

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

Gambar 4.4 Hasil Perbandingan dalam Pengujian I Pengaturan Peletakan

44

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.

4.2.2

Pemasukan Dengan Adanya Barang Sejenis


Setelah penyimpanan hasil pengujian pertama, sisa space dari tiap

subblok akan diupdate sesuai dengan volume total barang yang masuk ke dalam
subblok. Perubahan yang telah disimpan pada pengujian I akan dipergunakan pada
pengujian II. Volume setelah penyimpanan pengujian I dapat dilihat pada Tabel
4.4 yang ditandai dengan cetak miring dan ditebalkan.

Tabel 4.4. Daftar Subblok Pengujian II


Subblok
MB01
MC01
MD01
MB03
MC03
MD03
MB05
MC05
MD05

Volume sisa (Cm 3)


39.660.000
15.793.200
51.558.000
39.660.000
59.490.000
34.045.800
39.660.000
59.490.000
49.570.600

Prioritas
1
1
1
2
2
2
3
3
3

Pada pengujian II, dilakukan pemasukan barang yang telah dimasukkan


sebelumnya. Dari pengujian ini dapat diperlihatkan bagaimana sistem mengikuti
pola penyusunan dalam gudang yang akan mengelompokkan barang sejenis (Id
sama). Selain itu dapat dilihat reaksi dari sistem bila terjadi kelebihan barang saat
pengisian subblok yang sejenis. Daftar barang yang dimasukkan dapat dilihat pada
Tabel 4.5.

45

Tabel 4.5. Daftar Barang Masukan Pengujian II


Volume
Volume
3 Prioritas Jumlah
Satuan (Cm )
total (Cm3)
001B00001 Basketball Playset
145.656
1
120 17.478.720
002G00001 Gasing z-7
175.122
2
10 1.751.220
Id Barang

Nama Barang

Pada pengujian II, pemasukan barang diperlakukan sebagai transaksi


pemasukan barang hasil pembelian (lihat Gambar 4.5). Proses yang berlangsung
sama seperti pada pengujian I hingga munculnya form visualisasi.

Gambar 4.5 Pemasukan Data Pengujian II

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.

Tabel 4.6. Daftar Solusi Hasil Pengujian II


Subblok

Id Barang

Nama Barang

Jumlah

Solusi I
MD03
MC01
MB01

002G00001
001B00001
001B00001

Gasing z-7
Basketball Playset
Basketball Playset

10
108
12

MD03
MC01
MD01

002G00001
001B00001
001B00001

Gasing z-7
Basketball Playset
Basketball Playset

10
108
12

Solusi II

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

Gambar 4.6 Hasil Perbandingan dalam Pengujian II Pengaturan Peletakan

Dari hasil pengujian II dapat dilihat bahwa perbandingan tidak lagi


dilakukan untuk barang 002G00001 atau keseluruhan dari barang 001B00001
melainkan 12 barang 001B00001 yang sudah tidak dapat ditampung oleh subblok
MC01. Hasil solusi I disimpan dan selanjutnya akan mengupdate semua Tabel
yang berhubungan dengan transaksi pemasukan barang. Pada Tabel 4.7. berikut
diperlihatkan perubahan pada sisa space oleh pengujian II.

47

Tabel 4.7. Daftar Subblok Pengujian II


Subblok
MB01
MC01
MD01
MB03
MC03
MD03
MB05
MC05
MD05
4.2.3

Volume sisa (Cm 3)


37.912.100
15.793.200
51.558.000
39.660.000
62.352
32.294.600
39.660.000
59.490.000
49.570.600

Prioritas
1
1
1
2
2
2
3
3
3

Pemasukan Barang Secara Langsung


Dari dua pengujian yang dilakukan, terlihat bahwa barang yang

dimasukkan pada form akan melalui proses pengaturan peletakan. User dapat pula
melakukan penentuan langsung lokasi dari barang yang dimasukkan tanpa
pengaturan peletakan. Pada pengujian III ini akan diperlihatkan bagaimana
pemasukan barang dengan cara penentuan subblok langsung.
Ciri dari pengisian secara langsung adalah dengan mengisikan field
subblok pada form masuk barang. Setelah itu user tinggal melakukan penekanan
tombol selesai. Data barang yang dimasukkan dapat dilihat pada Tabel 4.8.

Tabel 4.8. Daftar Barang Masukan Pengujian III


Volume
Volume
3 Prioritas Jumlah
Satuan (Cm )
total (Cm3)
001B00001 Basketball Playset
145.656
1
10 1.456.560
003K00001 Kerincing baby
186.354
3
10 1.863.540
Id Barang

Nama Barang

Pada daftar barang yang dimasukkan dalam pengujian III adalah barang
001B00001 (prioritas 1) yang telah dimasukkan dua kali dalam gudang melalui
proses pengaturan peletakan sementara barang 003K00001 (prioritas 3) adalah
barang baru. Pada pengujian ini diperlihatkan bagaimana barang dengan prioritas
1 dan 3 saat dimasukkan secara langsung ke dalam subblok tidak akan
terpengaruh oleh proses pengaturan peletakan (lihat Gambar 4.7). Barang akan

48

dimasukkan pada subblok MB03 yang memiliki prioritas 2. saat barang


dimasukkan, akan dilakukan pemeriksaan terhadap kecukupan lokasi, bila tidak
cukup maka proses penyimpanan tidak dapat dilakukan.

Gambar 4.7 Solusi Hasil Pengujian III

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
3 subblok dari hasil 3 pengujian (lihat Gambar 4.8).

49

Gambar 4.8 Solusi Hasil Pencarian Barang 001B00001

4.2.4

Pengeluaran Barang Dengan Metode FIFO


Untuk pengeluaran barang dengan metode First In First Out (FIFO)

dapat diperlihatkan pada pengujian ke-IV (lihat Gambar 4.9). Pada pengujian ini
akan diperlihatkan bagaimana pengeluaran terhadap barang yang telah
dimasukkan pada pengujian sebelumnya. Daftar barang yang dikeluarkan akan
diperlihatkan pada Tabel 4.9.

Tabel 4.9. Daftar Barang Pengeluaran Pengujian IV


Volume
Volume
Prioritas Jumlah
Satuan (Cm3)
total (Cm3)
001B00001 Basketball Playset
145.656
1
410 59.718.960
002G00001 Gasing z-7
175.122
2
10 1.751.220
Id Barang

Nama Barang

Pada daftar barang yang akan dikeluarkan, terlihat bahwa barang


001B00001 yang pada pengujian I dimasukkan 300 akan dikeluarkan sebanyak
410. Sudah tentu pemasukan pada pengujian I tidak akan mencukupi sehingga
akan ditambah dengan barang yang dimasukkan dari pengujian II. Bila jumlah
barang yang dimasukkan tidak mencukupi dengan keseluruhan barang yang ada
dalam gudang maka akan muncul pesan error.
Setelah tombol selesai ditekan akan muncul form konfirmasi. Form
konfirmasi akan memperlihatkan data barang yang akan dilibatkan dalam proses
FIFO. Untuk melanjutkan, user dapat memilih tombol lanjutkan (lihat Gambar
4.10). Setelah tombol lanjutkan ditekan maka akan diperlihakan daftar
pengeluaran dari barang yang dimasukkan. Dari daftar ini dapat terlihat
pengeluaran barang yang dilakukan berdasarkan tanggal pemasukan barang dan

50

subblok tempat pengambilannya (lihat Gambar 4.10).

Gambar 4.9 Pengeluaran Barang Pengujian IV

Gambar 4.10 Konfirmasi Pengeluaran Secara FIFO

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

Gambar 4.11 Daftar Pengeluaran Barang Secara FIFO

Tabel 4.10. Daftar Perubahan Subblok Pengujian IV


Subblok
MB01
MC01
MD03
4.2.5

Volume sisa (Cm 3)


38203400
59490000
34045800

Prioritas
1
1
2

Pengeluaran Barang Tanpa Metode FIFO


Pada pengujian V, dilakukan pengeluaran barang tanpa menggunakan

metode FIFO (lihat Gambar 4.12). Untuk mengeluarkan barang tanpa metode
FIFO, diperlukan pengisian data tanggal masuk dan subblok dari barang. Untuk
melakukan pengisian, user cukup menekan tombol pada grid atau dengan
menekan Ctrl+A saat cursor berada pada kolom yang ingin diisikan. Daftar
barang yang akan dikeluarkan diperlihatkan pada Tabel 4.11.

Tabel 4.11. Daftar Barang Pengeluaran Pengujian V


Id Barang

Nama Barang

004H00001 Handphone kitty


002G00001 Gasing z-7

Volume
Volume
Prioritas Jumlah
Satuan (Cm3)
total (Cm3)
66.248
3
10
662.480
175.122
2
10 1.751.220

52

Gambar 4.12 Pengisian Pengeluaran Barang Pengujian V

Setelah tombol selesai ditekan, maka akan dilakukan pengurangan update


dari berbagai tabel dalam sistem. Pengeluaran yang dilakukan pada barang
002G00002 merupakan barang yang masuk pada pengujian II. Bila dipakai
metode FIFO, tanggal masuk dari barang adalah 04/04/2004. Daftar pengeluaran
tanpa metode FIFO dapat dilihat pada Gambar 4.13.

Gambar 4.13 Daftar Pengeluaran Barang Pengujian V

53

4.3 Pengujian oleh User


Pengujian terhadap kelayakan aplikasi program untuk dipergunakan pada
sistem

inventory

UD

Aneka

Mainan.

Pengujian

dilakukan

dengan

mengujicobakan program pada user (responden). Data transaksi yang diuji adalah
data suatu hari yang dianggap bisa mewakili seluruh transaksi yang dapat dukung
oleh aplikasi program (sebanyak 20 transaksi) dan sisa stok seminggu
sebelumnya. Barang yang diujikan adalah barang yang dianggap memiliki
frekuensi keluar masuk yang tinggi terlebih dahulu. Selain menggunakan data
transaksi sebenaranya, juga dilakukan pengujian dengan menggunakan kasuskasus khusus yang jarang atau tidak pernah terjadi (bukan transaksi sebenarnya).
User terlebih dahulu diperlihatkan cara penggunaan dari aplikasi
program secara bergantian. Setelah user dianggap mulai mengerti penggunaan
dari sistem maka selanjutnya user diberikan angket untuk memberikan penilaian.
Responden dalam penelitian ini dapat dilihat pada Tabel 4.12. Nilai interval untuk
penilaian kuisioner berada dalam kisaran interval 1-5. Penjelasan tentang
penilaian dapat dilihat pada Tabel 4.13.

Tabel 4.12. Data Responden


Nama
Ahwani
Acay
Nadia
Ilham Budi Karunia

Jabatan
Manejer
Kepala Gudang
Staf administrasi gudang
Staf administrasi gudang

Tabel 4.13. Penjelasan penilaian


Nilai
1
2
3
4
5

Keterangan
Sangat Buruk
Buruk
Cukup Baik
Baik
Sangat baik

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

Tabel 4.14. Hasil Akumulasi Angket


Responden

Kriteria

II

III

IV

Rata-rata

Manfaat
Efisiensi waktu yang diperoleh

4.75

Efisiensi penggunaan tenaga kerja

Dukungan terhadap kerja pergudangan

3.75

Rata-rata nilai manfaat

4.167

Interface
Kemudahan mempelajari penggunaan

Kenyamanan penggunaan

4.25

Tampilan fisik dari sistem

3.25

Rata-rata nilai interface

3.833

Kinerja Sistem
Kecepatan kerja sistem

3.5

Kemampuan menangani kasus dalam


pergudangan

Kemampuan memperoleh solusi lokasi


dengan mengikuti aturan penempatan
gudang

3.5

Visulisasi gudang dalam mendukung


sistem inventory

4.5

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

Untuk pengaturan pengeluaran khususnya dengan metode First In First Out,


perlu diperhatikan dalam teknis pelaksanaannya di lapangan mengingat tidak
semua barang yang telah datang lebih awal dapat dikeluarkan lebih dahulu
terutama bila tertumpuk oleh barang dengan identitas sama yang tiba
belakangan.

Untuk mempermudah perolehan laporan kepada UD Aneka Mainan, sistem


dapat dikembangkan lebih lanjut dengan menggunakan distributed database
melalui jaringan internet khususnya replikasi yang didukung oleh MySQL
sehingga informasi seperti laporan stok tidak perlu menunggu laporan tertulis
yang diantarkan dari gudang melainkan dapat diakses dari jarak jauh. Selain
itu, dengan cara demikian sistem inventory dapat dipadukan dengan sistem
pembelian dan penjualan yang ada pada UD Aneka Mainan.

Untuk sistem inventory perlu dipikirkan pengembangan fitur untuk


penjadwalan pengiriman barang sesuai dengan pemesanan.

Program perlu untuk terus dipantau kinerjanya pada saat pengujian lapangan
secara penuh, hingga dapat diyakini bahwa tidak terdapat masalah dalam
penerapan sistem.

57

DAFTAR PUSTAKA
[1] Axmark, David. MySQL Manual version 4.0.5. MySQL AB, 2002.
www.mysql.com
[2] Laxxuss. Delphi 7 Developers 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 industrys foundation for
high

performance

graphic.

California:

SiliconGraphics,

1998.

www.opengl.org
[12] Supardi, Yuniar, Ir. C & Flowchart Lewat Praktek. Dinastindo. Jakarta, 2001

Anda mungkin juga menyukai