1. RANCANGAN AWAL DATABASE
Suatu rancangan awal database terdiri dari beberapa tahap yaitu penentuan entity, penentuan atribut-atribut entity dan penentuan hubungan antar entity-entity yang ada.
1.1. Penentuan Entity database
Penentuan entity database didasarkan pada kebutuhan akan fungsi database tersebut. Entity-entity yang digunakan pada laporan tugas akhir ditunjukkan oleh tabel 5.1
Tabel 5.1
Entity lltama yang Digunakan Pada Database
No 1 2 3 4 5 6 7
Entity lltama Pegawai
Level jabatan Kota
Absen Customer Supplier
Faktur penjualan
No 8 9 10 11 12 13
Entity Utama Pembayaran customer Faktur pembelian Pembayaran supplier Barang
Produksi barang jadi Pengambilan bahan baku
Setiap entity-entity utama pada tabel 5.1 mewakili penyimpanan data sesuai dengan nama entity masing-masing. Gabungan antara beberapa
entity utama mempunyai suatu fungsi database yang lebih komplek (lihattabel5.2).
Tabel 5.2
Fungsi Gabungan Beberapa Entity Utama
No 1
2
3
4
5
6
7
8
Entity Utama Pegawai
Level jabatan Kota
Customer Kota Pegawai Supplier Kota Pegawai Absen Pegawai
Faktur penjualan Barang
Customer
Pembayaran Customer Supplier
Faktur pembelian Barang
Pembayaran supplier Barang
Produksi barang jadi Pegawai
Barang
Pengambilan bahan baku Pegawai •
Fungsi Gabungan Entity Membentuk database pegawai
Membentuk database customer
Membentuk database supplier
Membentuk database absen pegawai
Membentuk database penjualan barang jadi pada customer dengan cara pembayarannya dan sales commission yang diterima tiap-tiap sales representative
Membentuk database pembelian bahan baku pada supplier dengan cara pembayarannya
Membentuk database produksi barang jadi
Membentuk database pengambilan bahan baku
1.2. Penentuan Atribut Entity
Atibut entity adalah field-field yang akan digunakan dalam membuat tabel database. Atribut-atribut ini berguna untuk membentuk suatu entity utama, tiap-tiap entity harus mempunyai paling sedikit sebuah primary key (atribut/field yang unik yang membedakan antara record yang satu dengan yang lain). Atribut-atribut yang digunakan untuk suatu entity harus dapat mencerminkan isi dari entity tersebut dan setiapprimary key pada suatu entity diberi tanda tertentu (lihat tabel 5.3).
Tabel 5.3
Atribut-atribut Entity Utama
No 1
2
Entity Utama Pegawai
Level Jabatan
Atribut Entity Utama
• Nomer induk neeawai
• Nama pegawai
• Tempat lahir
• Tanggal lahir
• Alamat pegawai
• Kota tempat tinggal
• Nomer telepon
• Jenis kelamin
• Bekerja ejak
• Kodejabatan
• Bidang
• Tingkat pendidikan
• Status kerja
• Pengalaman kerja
• Foto pegawai
• Kode jabatan
• Level jabatan
Type data
• Text (25)
• Text (50)
• Text(25)
• Date/Time
• Text(50)
• Text(25)
• Number (long int)
• Text(I)
• Date/Time
• Text (3)
• Text (25)
• Memo
• Text (I)
• Memo
• OLE Object
• Text (3)
• Text (25)
3
4
5
6
Kota
Absen
Customer
Supplier
• Gaji
• Hitungan gaji
• Bonus (%)
• Kota
• Kode telepon wilayah
• NIP
• Tanggal hadir
• Jam hadir
• Kode customer
• Nama customer
• Alamat customer
• Kota customer
• Nomer telepon 1 customer
• Nomer telepon 2 customer
• Nomer telepon 3 customer
• Nomer fax customer
• E-mail customer
• Klien dari (NIP)
• Kode supplier
• Nama supplier
• Alamat supplier
• Kota supplier
• Nomer telepon 1 supplier
• Nomer telepon 2 supplier
• Nomer telepon 3 supplier
• Currency
• Text(25)
• Number (single)
• Text (25)
• Text (4)
• Text(25)
• Date/Time
• Date/Time
• Number (Long Int)
• Text (50)
• Text (50)
• 7ex/(25)
• Number (Long Int)
• Number (Long Int)
• Number (Long Int)
• Number (Long Int)
• Text (75)
• Text(25)
• Number (Long Int)
• Text(50)
• Text(50)
• Text (25)
• Number (Long Int)
• Number (Long Int)
• Number (Long Int)
7
8
9
Faktur Penjualan
Pembayaran Customer
Faktur Pembelian
• Nomer fax supplier
• E-mail supplier
• Nomer faktur penjualan
• Kode customer 2
• Tanggal order
• Tanggal pengiriman
• Tanggal penagihan
• Tanggal pembayaran
• Cara pembayaran
• Status gudang
• Status barang
• Status pembayaran
• Status pembatalan
• Kode pembayaran
• Cara pembayaran
• Lama pembayaran (hari)
• Diskon(%)
• Nomer faktur penjualan
• Kode supplier
• Tanggal order sup
• Tanggal pengiriman sup
• Tanggal penagihan sup
• Tanggal pembayaran sup
• Kode pembayaran sup
• Status gudang sup
• Status barang sup
• Status pembayaran sup
• Status pembatalan sup
• Number (Long Int)
• Text (75)
• Number (Long Int)
• Number (Long Int)
• Date/Time
• Date/Time
• Date/Time
• Date/Time
• Text (25)
• Text(\)
• Text{\)
• Text{\)
• Text(\)
• Text (25)
• Text (50)
• Number (Long Int)
• Number (Single)
• Number (Long Int)
• Number (Long Int)
• Date/Time
• Date/Time
• Date/Time
• Date/Time
• Text(25)
• Text(I)
• Text{\)
• Text{\)
• Text{\)
10
11
12
13
Pembayaran Supplier Barang
Produksi Barang Jadi
Pengambilan Bahan Baku
• Kode pembayaran sup
• Cara pembayaran
• Kode Barang
• Nama barang
• Harga barang jadi (per . unit)
• Jumlah unit BJ yang ada
• Jumlah unit BJ yang dipesan
• Foto produk
• Jumlah zak BB yang ada
• Jumlah zak BB yang dipesan
• Kode produksi
• Tanggal laporan produksi
• Waktu laporan produksi
• NIP penyerah BJ
• Tanggal penerimaan BJ
• Waktu penerimaan BJ
• Status penyimpanan
• Kode pengambilan BB
• Tanggal pengambilan BB
• Waktu pengambilan BB
• NIP pengambil BJ
• Status Barang
• Status penginputan
• Text (25)
• Text (50)
• Text{5Q)
• Text (50)
• Currency
• Number (Long Int)
• Number (Long Int)
• OLE Object
• Number (Long Int)
• Number (Long Int)
• Number (Long Int)
• Date/Time
• Date/Time
• Text(25)
• Date/Time
• Date/Time
• Text (I)
• Number (Long Int)
• Date/Time
• Date/Time
• Text (25)
• Text (I)
• Memo
1.3. Penentuan Hubungan Antar Entity
Penentuan hubungan antar entity termasuk didalamnya penentuan cardinality yaitu suatu kumpulan relasi yang berisi semua informasi yang disimpan dalam database dan pembentukan junction entity untuk semua entity yang mempunyai relasi many to many. Tabel 5.4 menunjukkan relasi antar entity dan cardinality -nya.
Tabel 5.4
Relasi dan Cardinality Tiap-tiap Entity
No
1
2
•^ j
4
5
6
7
8
9
Entity Utama
Pegawai Level Jabatan Pegawai Kota Pegawai
Sales Commission Pegawai
Absen Pegawai Customer Customer Kota Customer
Faktur Penjualan Faktur Penjualan Pembayaran Customer Faktur Penjualan Barang
Rela si N 1 N 1 1 N 1 N 1 N N 1 1 N N 1 M N
Cardinality
Obligatory Obligatory Obligatory Non Obligatory Non Obligatory Obligatory Obligatory Obligatory Non Obligatory Obligatory Obligatory Non Obligatory Obligatory Obligatory Obligatory Obligatory Obligatory Non Obligatory
10
11
12
13
14
15
16
Barang
Produksi Barang Jadi Barang
Pengambilan Barang Jadi Supplier
Kota Supplier Barang Supplier
Faktur Pembelian Faktur Pembelian Pembayaran Supplier Faktur Pembelian Barang
M N M N N 1 M N
1 N N 1 M N
Non Obligatory Obligatory Non Obligatory Obligatory Obligatory Non Obligatory Obligatory Non Obligatory Obligatory Obligatory Obligatory Obligatory Obligatory Non Obligatory
Diagram lengkap mengenai relasi seluruh entity dapat dilihat pada lampiran 32 hal 90. Cardinality dilambangkan dengan sebuah lingkaran hitam (Obligatory) dan untuk cardinality yang non Obligatory tidak menggunakan lambang.
Tabel 5.4 mempunyai 6 relasi entity yang bersifat many to many, oleh karena itu diperlukan suatu entity penghubung (junction entity). Tiap-tiap junction entity berfungsi untuk menghubungkan kedua entity yang mempunyai relasi many to many (lihat tabel 5.5).
Tabel 5.5
Pembentukan Junction Entity
No 1
Entity Utama Faktur Penjualan Barang
Relasi M N
Junction Entity Faktur Penjualan Detail
2
3
4
5
6
Barang
Produksi Barang Jadi Barang
Pengambilan Bahan Baku Supplier
Barang Supplier
Pembayaran Supplier Faktur Pembelian Barang
M N M N M N M N M N
Produksi Barang Jadi Detail
Pengambilan Bahan Baku Detail
Junction Bahan Baku Supplier
Junction Pembayaran Supplier
Faktur Pembelian Detail
Setiap junction entity mempunyai atribut dan primary key masing- masing. Primary key junction entity merupakan gabungan dari primary key entity utama yang membentuk relasi tersebut (lihat tabel 5.6)
Tabel 5.6
Atribut-atribut Junction Entity
No 1
2
3
Juntion Entity Faktur
Penjualan Detail
Produksi Barang Jadi Detail Pengambilan Bahan Baku Detail
Atribut Junction Entity
• Nomer faktur penjualan
• Kode barang
• Jumlah unit
• Kode Produksi
• Kode barang
• Jumlah unit
• Kode pengambilan BB
• Kode barang
• Jumlah zak
• Status barang D
Type Data
• Number (Long Int)
• Text (50)
• Number (Long Int)
• Number (Long Int)
• Text(50)
• Number (Long Int)
• Number (Long Int)
• Text (50)
• Number (Long Int)
• Text (I)
4
5
6
Junction Bahan Baku Supplier
Junction Pembayaran Supplier
Faktur Pembelian Detail
• Kode supplier
• Kode bahan baku
• Hargaperzak
• Kode Supplier
• Kode nembavaran supplier
• Lama pembayaran (hari)
• Diskon(%)
• Nomer faktur pembelian
• Kode supplier
• Kode barane
• Jumlahzak
• Number (Long Int)
• Text (50)
• Currency
• Number (Long Int)
• Text (25)
• Number (Long Int)
• Number (Single)
• Number (Long Int)
• Number (Long Int)
• Text(50)
• Number (Long Int)
2. RANCANGAN PROGRAM DATABASE
Suatu rancangan program database dengan menggunakan software microsoft access terdiri dari beberapa bagian yaitu tabel, queries, form, macro, switchboard.
2.1. Pembuatan Tabel Database
Langkah awal untuk membangun program database dengan menggunakan software microsoft access adalah membuat tabel-tabel yang akan digunakan untuk menyimpan data-data yang diperlukan.
Tabel yang akan dibuat ditentukan berdasarkan entity-entity (entity utama dan junction entity) yang telah ditetapkan pada rancangan awal
database. Atribut-atribut dan primary key entity-entity {entity utama dan junction entity) akan dijadikan patokan untuk membuat field-field dan
primary key pada tabel database (lihat tabel 5.7).
Tabel 5.7
Penentuan Tabel Database Berdasarkan Entity-entity Utama
No 1 2 3 4 5 6 7 8 9
10 11 12 13
14 15 16
17 18
19
Entity Pegawai
Level Jabatan Kota
Absen Customer Supplier
Faktur Penjualan Pembayaran Customer Faktur Pembelian
Pembayaran Supplier Barang
Produksi Barang Jadi Pengambilan Bahan Baku
Faktur Penjualan Detail Produksi Barang Jadi Detail Pengambilan Bahan Baku Detail
Junction Bahan Baku Supplier Junction Pembayaran Supplier
Faktur Pembelian Detail
Tabel database Tbl Pegawai
Tbl Level Jabatan Tbl Kota
Tbl Absen Tbl Customer Tbl Supplier
Tbl Faktur Penjualan Tbl Pembayaran Customer
Tbl Faktur Pembelian Bahan Baku
Tbl Pembayaran Supplier Tbl Barang
Tbl Produksi Barang Jadi
Tbl Pengambilan Bahan Baku Di Gudang
Tbl Faktur Penjualan Detail Tbl Produksi Barang Jadi Detail Tbl Pengambilan Bahan Baku Di Gudang Detail
Tbl Junction BB Dan Supplier Tbl Junction Pembayaran Supplier
Tbl Faktur Pembelian Bahan Baku Detail
Field-field yang digunakan pada tabel 5.7 sama dengan atribut- atribut entity pada tabel 5.3 dan 5.6. Langkah selanjutnya adalah mengolah tabel-tabel dm field-field dengan menggunakan queries.
2.2. Pembuatan Query
Query yang akan dibuat dengan menggunakan software microsoft access dibagi menjadi dua bagian besar yaitu :
a. Query yang digunakan untuk mengolah tabel-tabel database {select query) yaitu penggabungan beberapa tabel untuk memperoleh data yang kita kehendaki, perhitungan field-field seperti total penjualan, total pembelian, sales commission, pengabsenan pegawai dan Iain- lain.
b. Action query yaitu query yang digunakan untuk mengupdate record {update query), menghapus record {delete query), membuat tabel baru {make table query), menambahkan data pada field tertentu pada setiap record pada tabel tertentu {append query) dan query yang berisi ringkasan data dari beberapa tabel {crosstab query).
Data yang digunakan pada query {select query dan action query) berasal dari data yang ada pada tabel-tabel yang digunakan baik sebagian maupun keseluruhan data yang ada pada masing-masing tabel yang digabungkan.
Query dibuat sesuai kebutuhan, tidak ada ketentuan mengenai jumlah query yang dibutuhkan untuk masing-masing tabel.
Masing-masing tipe query mempunyai icon yang unik yang
berfungsi untuk membedakan kegunaan masing-masing query (lihat tabel 5.8).
Tabel 5.8
Gambar Icon Masing-masing Tipe Query
No 1
2
3
4
5
6
Gambar Icon Query
J7\
1
•
A l
O!
Tipe Query Select query
Update query
Make table query
Delete query
Append query
Crosstab query
Laporan tugas akhir ini hanya menggunakan lima tipe query yaitu select query, update query, make table query, delete query dan crosstab query. Query yang digunakan pada laporan ini dapat dilihat langsung pada program database.
2.3. Pembuatan Form
Setelah pembuatan query, langkah selanjutnya adalah pembuatan form. Form adalah salah satu cara yang paling mudah dimengerti dalam pengisian data jika dibandingkan dengan pengisian data secara langsung melalui tabel maupun query. Data-data yang dimasukkan melalui form akan disimpan ke dalam tabel maupun query yang dijadikan sumber data (control source). Form dibagi menjadi dua macam yaitu:
a. Form tanpa subform
Form tanpa subform adalah suatu bentuk form yang sederhana karena form hanya berfungsi untuk memasukkan dan menyimpan data pada satu tabel saja.
b. Form dengan subform
Form dengan subform pada dasarnya adalah dua buah atau lebih form yang digabung dan salah satunya berfungsi sebagai form utama dan lainnya berfungsi sebagai subform. Form dengan subform digunakan untuk memasukkan dan menyimpan data pada beberapa tabel (tergantung jumlah subform -nya). Tabel 5.9 menunjukkan form beserta subform -nya yang digunakan untuk membangun
program database pada laporan ini.
Tabel 5.9 Form dan Subform
No 1 2
Form Frm Qry Absen Frm Qry Pegawai
Subform 1 Subform 2
3 4 5 6 7
8
9
10
11
12
Frm Qry Customer Frm Qry Barang jadi Frm Qry Bahan Baku Frm Tbl Kota
Frm Tbl Level Jabatan
FClFrm Qry Faktur Penjualan
SI Frm Qry Supplier
FSlFrm Qry Faktur Pembelian Bahan Baku
BJIFrm Qry Produksi Barang Jadi
FGlFrmQry
Pengambilan Bahan Baku Di Gudang
FC2Frm Qry Faktur Penjualan Detail Subform
S2Frm Qry Junction BB dan Supplier Subform
FS2Frm Qry Faktur Pembelian Bahan Baku Detail Subform BJ2Frm Qry Produksi Barang Jadi Detail Subform FG2Frm Qry
Pengambilan Bahan Baku Di Gudang Detail Subform
S3Frm Qry Pembayaran Supplier Subform FS3Frm Qry Junction Tbl Pembayaran Supplier Subform
FG3Frm Qry Bahan Baku
2.4. Pembuatan Report
Report diperlukan untuk mencetak hasil laporan baik berupa surat jalan, faktur, laporan produksi, slip gaji dan lain-lain. Sumber data report berasal dari tabel maupun query.
Report dibagi menjadi dua macam yaitu : a. Report tanpa subreport
Report tanpa subreport adalah suatu bentuk report yang sederhana karena report ini hanya mempunyai satu control source dan tidak ada penggabungan dengan report lain.
b. Report dengan subreport
Report dengan subreport pada dasarnya adalah dua buah atau lebih report yang digabung dan salah satu report berfungsi sebagai report utama dan lainnya berfungsi sebagai subreport. Tiap-tiap report mempunyai control source masing-masing. Suatu report dengan subreport mampu menghasilkan suatu laporan yang lebih komplek.
Tabel 5.10 menunjukkan report beserta subreport -nya yang digunakan untuk membangun program database pada laporan ini.
Tabel 5.10 Report dan Subreport
No 1 2 3
4
5
6
Report
Rpt Qry gaji + Bonus Operator Rpt Qry Gaji Non Operator Rpt Qry Sales Commission
SJIRpt Qry Faktur Penjualan (Surat Jalan)
FPlRpt Qry faktur Penjualan
DPB lRpt Qry F P J (Daftar Pengambilan Barang)
Subreport
SJIRpt Qry Faktur Penjualan Detail Subreport (Surat Jalan) FPlRpt Qry faktur Penjualan Detail Subreport
DPB 1 Rpt Qry F P J (Daftar Pengambilan Barang) Subreport
7
8
BJIRpt Qry Produksi Barang Jadi
BBlRpt Qry Pengambilan Bahan baku Di Gudang
BJIRpt Qry Produksi Barang Jadi detail Subreport
BBlRpt Qry Pengambilan Bahan baku Di Gudang Detail Subreport
Pembuatan Macro
Macro diperlukan untuk mengotomasi suatu perintah seperti membuka tabel, membuka query, membuka form, membuka report, menjalankan macro dan Iain-lain. Macro dapat disisipkan pada beberapa event dari suatu form, report dan command button sehingga pada saat kita melakukan kegiatan yang sesuai dengan event yang telah disisipi macro maka dengan sendirinya macro akan menjalankan perintah yang telah diprogramkan.
Pembuatan Switchboard
Langkah terakhir pembuatan program database adalah pembuatan switchboard. Switchboard membuat pengguna lebih mudah mengenali menu apa saja yang dapat dijalankan oleh suatu database dibandingkan dengan melihat langsung pada obyek-obyek yang terdapat dalam suatu database.
Switchboard pada dasamya adalah gabungan dari beberapa form yang tidak mempunyai control source dan masing-masing form
tersebut terdiri dari beberapa command button yang telah disisipi dengan macro. Switchboard yang digunakan pada laporan ini mempunyai beberapa level (lihat tabel 5.11).
Level 1
ZSwFrm Switchboard utama
Level 2
ZSwFrm Direktur Utama
ZSwFrm Keuangan
ZSwFrm Marketing
Level 3
ZSwFrm Direktur Utama Keuangan
ZSwFrm Direktur Utama Marketing
ZSwFrm Direktur Utama Personalia
ZSwFrm Direktur Utama Produksi ZSwFrm Keuangan Manajer ZSwFrm Keuangan Kasir ZSwFrm Marketing Manajer
Level 4
• ZSwFrm Direktur Utama Keuangan Sales/buy Analysis
• ZSwFrm Direktur Utama Marketing Tabel
• ZSwFrm Direktur Utama Marketing Report
• ZSwFrm Direktur Utama Marketing Sales/buy analysis
• ZSwFrm Direktur Utama Personalia Tabel
• ZSwFrm Direktur Utama Personalia Report
• ZSwFrm Keuangan Sales Analysis
• ZSwFrm Marketing Tabel
• ZSwFrm Marketing Report
• ZSwFrm Marketing Sales Analysis
c
ZSwFrm Personalia
ZSwFrm Produksi
ZSwFrm Sales repr/
Operator
ZSwFrm Personalia Manajer
ZSwFrm Personalia KB Umum ZSwFrm Produksi Manajer ZSwFrm Produksi KB Produksi ZSwFrm Produksi KB Maintenance ZSwFrm Produksi KB Gudang
• ZSwFrm Personalia Tabel
• ZSwFrm Personalia Report