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
69
Embed
Pembuatan Sistem Inventory Dengan Pengaturan …fportfolio.petra.ac.id/user_files/94-014/Pembuatan Sistem Inventory... · d. Bidang Ilmu yang diteliti : Sistem Informasi e. ... Gambar
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
iii
LEMBAR IDENTITAS DAN PENGESAHAN
LAPORAN HASIL PENELITIAN
1. a. Judul Penelitian : PEMBUATAN SISTEM INVENTORY DENGAN PENGATURAN PELETAKAN DAN VISUALISASI POSISI BARANG PADA UD ANEKA MAINAN
b. Nomor Penelitian : 04/Pen/Informatika/I/2004 c. Jalur Penelitian : I/ II/ III/ IV 2. Ketua Peneliti a. Nama lengkap dan Gelar : Gregorius Satia Budhi, ST.,MT. b. Jenis Kelamin : Laki-laki c. Pangkat/Golongan/NIP : Asisten Ahli/ IIIB/ 02030 d. Bidang Ilmu yang diteliti : Sistem Informasi e. Jabatan Akademik : Asisten Ahli f. Fakultas/Jurusan : Fakultas Teknologi Industri/ Teknik
Informatika g. Universitas : Universitas Kristen Petra 3. Anggota Tim Peneliti (I) : a. Nama lengkap dan Gelar : Liliana, ST. b. Jenis Kelamin : Perempuan c. Pangkat/Golongan/NIP : Asisten Ahli/ IIIA/ 03024 d. Bidang Ilmu yang diteliti : Sistem Informasi e. Jabatan Akademik : - f. Fakultas/Jurusan : Fakultas Teknologi Industri/ Teknik
Informatika g. Universitas : Universitas Kristen Petra Anggota Tim Peneliti (II) : a. Nama lengkap dan Gelar : Arief Abadi b. Jenis Kelamin : Laki-laki c. Pangkat/Golongan/NIP : - d. Bidang Ilmu yang diteliti : Sistem Informasi e. Jabatan Akademik : - f. Fakultas/Jurusan : Fakultas Teknologi Industri/ Teknik
Informatika g. Universitas : Universitas Kristen Petra Anggota Tim Peneliti (III) : a. Nama lengkap dan Gelar : Oviliani Yenty Yuliana, ST., MSCIS b. Jenis Kelamin : Perempuan c. Pangkat/Golongan/NIP : Pembina/ IVA/ 94014 d. Bidang Ilmu yang diteliti : Sistem Informasi e. Jabatan Akademik : Lektor f. Fakultas/Jurusan : Fakultas Ekonomi/ Program Studi
Akuntansi g. Universitas : Universitas Kristen Petra
iv
4. Lokasi Penelitian : Surabaya 5. Kerjasama dengan Instansi lain Nama Instansi : - Alamat : - 6. Tanggal Penelitian : Januari 2004 s/d Juli 2004 7. Biaya : -
Surabaya, 31 Juli 2004
Mengetahui, Ketua Jurusan/ Ka. Unit Ketua Peneliti Djoni Haryadi Setiabudi, M.Eng. Gregorius Satia Budhi, ST.,MT. NIP. 85-009 NIP. 02-030 Menyetujui, Dekan Fakultas Teknologi Industri Oegik Soegihardjo, M.Sc., MA NIP. 97-007
v
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
vi
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. System’s 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
vii
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
viii
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
• 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.
3
BAB 2
BAB 3
BAB 4
BAB 5
Tinjauan Pustaka: membahas tentang teori-teori dasar yang
relevan yang digunakan untuk memecahkan persoalan yang dibahas
pada penelitian ini.
Metode Penelitian: membahas tentang metode penelitian yang
dilakukan dalam perancangan aplikasi.
Hasil Penelitian dan Pembahasan: berisi tentang hasil dari
penelitian, berupa aplikasi yang telah dikembangkan beserta dengan
pengujian aplikasi tersebut.
Kesimpulan dan Saran: berisi kesimpulan yang mencakup
beberapa hal penting pada hasil yang didapat dari penelitian dan
saran-saran yang diajukan bagi penyempurnaannya.
4
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:
Gambar 2.1 External entity
Gambar 2.2 Proses
Data store
Gambar 2.3 Data Store
External Entity External Entity, merupakan simbol yang mewakili
elemen yang berada di luar sistem, tetapi memiliki
hubungan interaksi dengan sistem.
Data Store, merupakan simbol yang mewakili
tempat penyimpanan dari data dan dapat
dipergunakan bila dibutuhkan.
Proses, merupakan simbol yang mewakili kegiatan
untuk mengubah data menjadi informasi atau
masukan untuk data lain.
1
Proses
5
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 data modeling yang dipergunakan untuk
mendokumentasikan data sistem. Dokumentasi dilakukan dengan 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:
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.
6
Relation
Entity1 Entity2
Gambar 2.5 Entity
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).
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
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.
Relationship, menandakan hubungan diantara entity,
simbol relationship kadang diwakili sebagai garis yang
menghubungkan entitiy.
7
Relation
Entity1 Entity2
Relation
Entity1 Entity2
Relation
Entity1 Entity2
salesman sementara salesman dapat terlibat pada beberapa penjualan
(Lihat Gambar 2.8).
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).
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).
Gambar 2.10 Mandatory
Dari gambar tersebut berarti semua anggota dari entity 1 harus berelasi
8
dengan anggota dari entitiy 2, dengan memberi simbol “|” di depan entity 2.
Sementara dari entity 2 terhadap entity 1 diberi simbol “o” di depan entity 1,
berarti anggota dari entitiy 2 tidak harus berelasi seluruhnya dengan anggota dari
entitiy 1.
2.1.3 Flowchart
Merupakan diagram yang menggambarkan langkah dari sebuah proses.
Dengan menggunakan flowchart maka kerja dari suatu proses dapat dipantau
untuk pengembangan atau perbaikan. Beberapa simbol yang umum dipergunakan
dapat dilihat pada Gambar 2.11.
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
9
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 file-
based 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.
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.
Terminator, menandai awal atau akhir dari suatu proses
Decision, untuk menandai percabangan dalam proses
Input/output, menggambarkan adanya input atau output dari sistem
Process, menggambarkan proses yang dilakukan
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
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 dengan“boneka”
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 fungsi-
fungsi 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 dalam bentuk tabular form
seperti pada spreadsheet.
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.
• 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
SUB_BLOKID_SUB_BLOKID_GUDANGID_BLOKX1_SUBBLOKY1_SUBBLOKX2_SUBBLOKY2_SUBBLOKPANJANG_SUBBLOKLEBAR_SUBBLOKTINGGI_SUBBLOKSISA_SPACE_SUBBLOKPRIORITAS LOKASI
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 002G00001 Gasing z-7 100 MC01 001B00001 Basketball Playset 300 MD05 004H00001 Handphone kitty 30 Solusi II MD03 002G00001 Gasing z-7 100 MC01 001B00001 Basketball Playset 300 MB05 004H00001 Handphone kitty 30 Solusi III MD03 002G00001 Gasing z-7 100 MD01 001B00001 Basketball Playset 300 MD05 004H00001 Handphone kitty 30 Solusi IV MB03 002G00001 Gasing z-7 100 MC01 001B00001 Basketball Playset 300 MD05 004H00001 Handphone kitty 30 Solusi V MD03 002G00001 Gasing z-7 100 MD01 001B00001 Basketball Playset 300 MB05 004H00001 Handphone kitty 30
Gambar 4.4 Hasil Perbandingan dalam Pengujian I Pengaturan Peletakan
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
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.
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 002G00001 Gasing z-7 10 MC01 001B00001 Basketball Playset 108 MB01 001B00001 Basketball Playset 12 Solusi II MD03 002G00001 Gasing z-7 10 MC01 001B00001 Basketball Playset 108 MD01 001B00001 Basketball Playset 12
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.
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