4. Jika proses login berhasil, maka aplikasi kasir siap digunakan, dan program akan mengarah ke halaman utama transaksi. Kasir dapat mengoprasikan aplikasi ini
menggunkan tombol keyboard tertentu yang telah ditetapkan untuk halaman transaksi. 5. Jika jam kerja shift kasir berakhir, dengan menekan tombol keyboard tertentu maka
akan dicetak rejap transaksi yang dilakukan kasir selama jam kerjanya tadi. 6. Jika mini market sudah tutup, kasir yang mendapat shift terakhir mencetak rekap
transaksi yang dilakukan. 7. Demi keamanan data, ketika ingin keluar dari aplikasi kasir, user harus logout.
3.4 Rancangan Database
Sebelum membat rancangan database, perlu diketahui pengertian database dan kenapa
diperlukan. Database dapat didefinisakan sebagai kumpulan dari item data file atau tabel yang salaing berhubungan satu dengan yang lain yang diorganisasi berdasarkan sebuah
skema atau struktur tertentu, tersimpan dalam perangkat keras komputer, dan digunakan perangkat lunak untuk memanipulasi. Sedangkan, kenapa database diperlukan berikut ini
adalah jawabannya. 1. Database merupakan salah satu komponen penting dalam sistem informasi, karena
merupakan dasar dalam menyediakan informasi. 2. Mampu menentukan kualitas informasi, meliputi akurasi, tepat pada waktunya, dan
relevan. Karena informasi dapat dikatakan bernilai apabila manfaatnya lebih besar dengan biaya yang dipelukan.
3. Dapat mereduksi duplikasi data data redudancy dan mengurangi pemborosan tempat simpanan luar.
3.4.1 Mendefinisikan Objek Data
Sebelum merancang sebuah database dan memprogram aplikasi, perlu ditetapkan data apa
saja yang dibutuhkan dan apa saja yang akan dihasilkan oleh sistem yang dibangun. Secara umum, berikut ini adalah data minimal yang dibutuhkan dalam aplikasi mini market
1. Data Mini Market Dalam rangka membangun program aplikasi yang dinamis, tentunya data ini perlu
dikelola tersendiri, meskipun hanya terdiri dari nama, alamat, dan nomor telpon. Dengan demikian jika nantinya aplikasi yang dibangun digunakan untuk cabang
yang lain, dengan prosedur dan sistem yang sama, tidak perlu dilakukan perubahan total, tetapi cukup dengan mengganti data ini.
2. Data Kategori Data ini nantinya digunakan untuk mengelompokkan komoditas usaha barang
berdasarkan kategori atau jenis tertentu. 3. Data Barang
Data barang merupakan data pokok. Data ini merupakan objek data utama, karena hampir seluruh objek data dan alur sistem aplikasi berhubungan dengan data ini.
Lingkup data ini meliputi barang, stok barang, dan barang rusak atau hilang.
4. Data Subjek
Data subjek terdiri dari subjek yang terlibat langsung dengan aplikasi seperti pegawai, pengguna aplikasi, penyedia barang supplier.
5. Data Pembayaran Data pembayaran terdiri dari jenis pembayaran, baik pada transaksi pembelian dan
penjualan.
3.4.2 Merancang Database
MySQL merupakan sistem basis data relasional dimana data diorganisasikan dalam bentuk
tabel. Untuk dapat menciptakan sebuah tabel, sebuah database harus dibuat terlebih dahulu. Untuk lebih mudahnya database yang akan dibuat diberi nama datatokocs. Dalam database
ini nantinya akan dibuat beberapa tabel yang dibutuhkan oleh aplikasi yang akan dibangun, baik aplikasi admin maupun kasir.
3.4.2.1 Tabel Utama
Tabel utama merupakan tabel yang secara fisik harus dibuat untuk meyimpan data secara
permanen. Berikut ini adalah daftar tabel utama lengkap dengan keterangan dan deskripsinya. Daftar tebel disini tidak diurutkan berdasarkan tingkat kepentingan atau kompleksitas, tetapi
diurutkan berdasarkan abjad A-Z. 1. Tabel Barang
Barang yang dimaksud adalah komoditas usaha sebuah mini market. Data barang terdiri dari kode, nama, dan atribut barang lainya. Data barang akan disimpan dalam
tabel yang bernama tbarang dengan struktur sebagai berikut.
Tabel 3.1 Struktur Tabel tbarang
Field Type
Null Key
Default Extra
username varchar20
No Pri
Auto
Increment password
varchar20 No
Uni level
enumadmin,guru,walikelas,siswa No nip
char18 No
nis char5
No Mul
status char1
No Mul
Keterangan :
id_barang merupakan primary key pada tabel tbarang yang digunakan untuk
menyimpan data id barang.
kode_barang digunakan untuk menyimpan data kode barang. nama_barang digunakan untuk menyimpan data nama barang.
singkatan digunakan untuk menyimpan data kependekan nama barang. id_merk digunakan untuk menyimpan data merk barang. Field ini merupakan foreign
key dari field id_merk pada tabel tmerk. id_kategori digunakan untuk menyimpan data kategori barang. Field ini merupakan
foreign key dari field id_kategori pada tabel tkategori. id_satuan digunakan untuk menyimpan data satuan barang. Field ini merupakan
foreign key dari field id_satuan pada tabel tsatuan. harga_jual digunakan untuk menyimpan data harga jual barang.
barcode digunakan untuk menyimpan data barcode barang.
2. Tabel Barang Rusak Dalam usaha retail, resiko kerusakan atau kehilanagn suatau barang sangat besar.
Oleh karenanya perlu dibuat tabel tersendiri untuk pengolahan data ini. Barang yang
termasuk hilang atau rusak akan disimpan dalam tabel yang bernama tbarangrusak
dengan stuktur sebagai berikut. Tabel 3.2 Struktur Tabel tbarangrusak
Field Type
Null Key
Default Extra
id int10
No pri
NULL Auto
increment id_barang
int10 No
mull tgl
date No
harga_beli double
No harga_jual
double No
qty double
No ket
text No
Keterangan :
id merupakan primary key pada tabel tbarangrusak yang digunakan untuk menyimpan id data
sebuah tabel.
id_barang
digunakan untuk menyimpan data id barang barang. Field ini merupakan
foreign key dari field id_barang pada tabel tbarang.
tgl
digunakan untuk menyimpan data tanggal pencatatan barang sebagai barang rusak atau hilang.
harga_beli
digunakan untuk menyimpan data harga beli barang rusak.
harga_jual
digunakan untuk menyimpan data harga jual barang rusak.
qty
digunakan untuk menyimpan data kuantitas barang rusak.
Ket
digunakan untuk menyimpan data keteranagan tentang kerusakan barang yang dianggap perlu.
3.
Tabel Jabatan Pegawai
Data jabatan pegawai akan disimpan dalam tabel yang bernama tjabatan dengan struktur
sebagai berikut.
Tabel 3.3 Struktur Tabel tjabatan
Field Type
Null Key
Default Extra
id_jabatan
int10 No
Pri Auto
increment jabatan
varchar200 No
Keterangan :
id_jabatan merupakan primary key pada tabel tjabatan yang digunakan untuk menyimpan id
jabatan pegawai.
jabatan
digunakan untuk menyimpan data nama jabatan.
4. Tabel Kassa
Data kassa akan disimpan dalam tabel yang bernama tkasaa dengan struktur sebagai
berikut.
Tabel 3.4 Struktur Tabel tkassa
Field Type
Null Key
Default Extra
id_kassa smallint5
No Pri
Auto increment
no_kassa smallint5
No ip_address
varchar20 No
folder_sharing varchar50
No
Null
folder_datapenjualan varchar50
No
Null
Keterangan :
id_kassa merupakan primary key pada tabel tkassa yang digunakan untuk menyimpan id
kassa.
no_kasaa
digunakan untuk menyimpan data nomor kasa.
ip_address
digunakan untuk menyimpan data alamat path folder sharing. Dalam implementasinya folder ini digunakan untuk menyimpan file bacup database atau
keperluan lainnya.
folder_datapenjualan
digunakan untuk menyimpan data alamat path folder penjualan. Dalam implementasinya folder ini digunakan untuk menyipan file backup
data transaksi penjualan masing-masing kassa.
5. Tabel Kategori Barang Kategori ini digunakan untuk mengelompokan data barang berdasarkan jenis
kebutuhan, misalnya peralatan dapur, kosmetik, peralatan belajar. Data kategori
barang akan disimpan dalam tabel yang bernama tkategori dengan struktur sebagai
berikut.
Tabel 3.5 Struktur Tabel tkategori
Field Type
Null Key
Default Extra
id_kategori int10
No Pri
Auto increment
nama_kategori varchar30
No
Keterangan :
id_kategori merupakan primary key pada tabel tkategori yang digunakan untuk menyimpan
id kategori.
nama_ketegori
digunakan untuk menyimpan data nama kategori
6. Tabel Merk Barang. Data merk digunakan untuk mengelompokan barang berdasarkan merknya. Data merk
barang akan disimpan dalam tabel yang bernama tmerk dengan struktur sebagai
berikut.
Tabel 3.6 Struktur Tabel tmerk
Field Type
Null Key
Default Extra
id_merk int10
No Pri
Auto increment
nama_merk varchar20
No
Keterangan :
id_merk merupakan primary key pada tabel tmerk yang digunakan untuk menyimpan id
merk.
nama_ketegori
digunakan untuk menyimpan data nama merk barang. 7.
Tabel Modal Awal Kasir Modal awal kasir adalah modal yang pertaman kali dimasukan ke dalam mesin kasir. Dengan
data ini maka akan dapat dihitung total omset dan keuntungan harian setelah jam kerja selesai.
Data modal awal kasir disimpan dalam tabel yang bernama tmodalawal dengan struktur
sebagai berikut.
Tabel 3.7 Struktur Tabel tmodalawal
Field Type
Null Key
Default Extra
id_modal char10
No Pri
tanggal date
No
0000-00-00
modalawal double
No id_user
int10 No
Mull
no_kassa int10
No
Mull
Keterangan :
id_modal merupakan primary key pada tabel tmodalawal yang digunakan untuk menyimpan
id modal.
tanggal
digunakan untuk menyimpan data tanggal saat modal awal dimasukkan.
modalawal
digunakan untuk menyimpan data modal awal.
id_user digunakan untuk menyimpan data id pengguna. Field ini merupakan foreign key dari field id_user pada tabel tuser.
no_kassa digunakan untuk menyimpan data nomor kassa. Field ini merupakan foreign key dari field no_kassa pada tabel tkassa.
8. Tabel Pegawai Tabel pegawai nantinya digunakan untuk merekam data pegawai termasuk jabatan
dan gajinya. Data pegawai akan disimpan dalam tabel yang bernama tpegawai
dengan struktur sebagai berikut.
Tabel 3.8 Struktur Tabel tpegawai
Field Type
Null Key
Default Extra
id_pegawai int13
No Pri
Auto increment
nomor_pegawai varchar5
No nama_pegawai
varchar50 No
tempat_lahir varchar30
No tanggal_lahir
varchar10 No
00000000 alamat_ktp
varchar100 No alamat_pegawai
varchar100 No jabatan_pegawai
varchar200 No Mull
KASIR gaji_pokok
int20 No
Keterangan :
id_pegawai merupakan primary key pada tabel tpegawai yang digunakan untuk menyimpan
id pegawai.
nomor_pegawai
digunakan untuk menyimpan data tanggal nomor pegawai.
nama_pegawai
digunakan untuk menyimpan data nama pegawai.
tempat_lahir digunakan untuk menyimpan data tempat lahir pegawai. tanggal_lahir digunakan untuk menyimpan data tanggal lahir pegawai.
alamat_ktp digunakan untuk menyimpan data alamat pegawai sesuai SIM atau KTP. alamat_pegawai digunakan untuk menyimpan data alamat rumah yang ditempati
pegawai saat kerja. Hal ini berlaku bagi pegawai yang bersal dari luar daerah. jabatan_pegawai digunakan untuk menyimpan data jabatan pegawai.
gaji_pokok digunakan untuk menyimpan data gaji pokok pegawai.
9. Tabel Pembelian Pembelian yang dimaksud adalah proses pembelian barang. Proses ini dilakukan
perusahaan kepada supplier. Data pembelian digunakan untuk merekam data kunci pembelian, seperti nomor nota, nomor bukti, tanggal pembelian, supplier, dan diskon
pembelian. Data pembelian disimpan dalam tabel tpembelian dengan struktur sebagai
berikut.
Tabel 3.9 Struktur Tabel tpembelian
Field Type
Null Key
Default Extra
id_pembelian int10
No Pri
Auto increment
no_bukti varchar10
No no_nota
varchar11 No
tanggal date
No 00-00-0000
id_supplier int10
No Mull
diskon int250
No
Keterangan :
id_pembelian merupakan primary key pada tabel tpembelian yang digunakan untuk
menyimpan id pembelian.
no_bukti
digunakan untuk menyimpan data tanggal nomor bukti pembelian.
no_nota
digunakan untuk menyimpan data nomor nota pembelian.
tanggal
digunakan untuk menyimpan data tanggal pembelian barang.
id_supplier
digunakan untuk menyimpan data id supplier. Field ini merupakan foreign
key dari field id_supplier pada tabel tsupplier.
diskon
digunakan untuk menyimpan data diskon pembelian.
10. Tabel Detail Pembelian Jika tabel pembelian digunakan untuk merekam data kunci pembelian, tabel ini
digunakan untuk merekam detail pembelian, yaitu berupa item barang apa saja yang dibeli berdasarkan nomor nota dan bukti pembelian. Data detail pembelian disimpan
dalam tabel yang bernama tpembelianitem dengan struktur sebagai berikut.
Tabel 3.10 Struktur Tabel tpembelianitem
Field Type
Null Key
Default Extra
id_pembelianitem int10
No Pri
Null Auto
increment id_pembelian
int10 No
id_item int10
No id_barang
int10 No
Mull 00-00-0000
harga_beli double
No diskon
double No
qty double
Keterangan :
id_pembelianitem merupakan primary key pada tabel tpembelian yang digunakan untuk
menyimpan id pembelianitem.
id_pembelian
digunakan untuk menyimpan id pembelian.
id_item
digunakan untuk menyimpan data item barang.
id_barang
digunakan untuk menyimpan data id barang. Field ini merupakan foreign
key dari field id_barang pada tabel tbarang.
harga_beli
digunakan untuk menyimpan data harga pembelian barang.
diskon
digunakan untuk menyimpan data diskon pembelian item barang.
qty
digunakan untuk menyimpan data kuantitas pembelian item barang.
11. Tabel Penjualan Tabel penjualan yang dimaksud adalah penjualan barang kepada pelanggan melalui
kasir. Tabel ini digunakan untuk merekam data kunci penjualan, seperti data nomor nota, tanggal, kasir, diskon, nomor kassa, pelanggan, dan total bayar. Data penjualan
disimpan dalam tabel yang bernama tpenjualan dengan struktur sebagai berikut.
Tabel 3.11 Struktur Tabel tpenjualan
Field Type
Null Key
Default Extra
id_penjualan char12
No Pri
Auto increment
no_nota char12
No Null
tanggal date
No 00-00-0000
id_user int10
No Mull
diskon double
No no_kassa
Int3 No
jumlah_bayar double
Keterangan :
id_pembelianitem merupakan primary key pada tabel tpenjualan yang digunakan untuk
menyimpan id penjualan.
no_nota
digunakan untuk menyimpan nomor nota penjualan yang di-generate melalui program aplikasi.
tanggal
digunakan untuk menyimpan data tanggal penjualan barang.
id_user
digunakan untuk menyimpan data id barang. Field ini merupakan foreign key dari field
id_user
pada tabel tuser.
diskon
digunakan untuk menyimpan data diskon penjualan barang.
no_kassa
digunakan untuk menyimpan data id barang. Field ini merupakan foreign key dari field
no_kassa
pada tabel tkassa
jumlah_bayar
digunakan untuk menyimpan data nilai pembayaran atas barang yang
dijual.
12.
Tabel Detail Penjualan Jika tabel penjualan digunakan untuk merekam data kunci penjualan, tabel ini digunakan
untuk merekam detail dari data penjualan, yaitu berupa item barang apa saja yang dijual berdasarkan nomor nota penjualan. Data detail penjualan akan disimpan dalam tabel yang
bernama tpenjualanitem dengan stuktur sebagai berikut.
Tabel 3.12 Struktur Tabel tpenjualanitem
Field Type
Null Key
Default Extra
id_penjualanitem
char15 No
Pri id_penjualan
char12 No
id_barang int10
No Mull
tanggal_beli date
No 00-00-0000
harga_beli double
No harga_jual
double No
diskon double
No qty
double No
Keterangan :
id_penjualanitem merupakan primary key pada tabel tpenjualanitem yang digunakan untuk
menyimpan id penjualan item.
id_penjualan
digunakan untuk menyimpan id penjualan.
id_barang
digunakan untuk menyimpan data id barang. Field ini merupakan foreign
key dari field id_barang pada tabel tbarang.
tanggal
_beli digunakan untuk menyimpan data tanggal penjualan item barang.
harga_beli
digunakan untuk menyimpan data harga beli barang.
harga_jual
digunakan untuk menyimpan data harga jual barang.
diskon
digunakan untuk menyimpan data diskon penjualan barang.
13. Tabel Satuan Barang. Satuan barang yang dimaksud adalah sebutan untuk satuan sebuah barang, contohnya
adalam rim untuk kertas, eksemplar untuk buku. Data satuan barang akan
disimpan dalam tabel yang bernama tsatuan dengan struktur sebagai berikut.
Tabel 3.13 Struktur Tabel tsatuan
Field Type
Null Key
Default Extra
id_satuan int10
No Pri
Auto increment
nama_satuan varchar20
No
Keterangan :
id_satuan merupakan primary key pada tabel tsatuan yang digunakan untuk
menyimpan id satuan.
nama_satuan digunakan untuk menyimpan data nama satuan barang.
14. Tabel Stok Barang
Data stok sangat penting peranannya dalam mengambil keputusan, karena data inilah yang akan dijadikan sebagai parameter sirkulasi suatu barang. Dengan data ini dapat
diketahui laris atau tidaknya suatu barang, dan manajemen dapat memutuskan apakah suatu barang layak dipertahankan sebagai komoditas usaha atau tidak. Data stok
barang akan disimpan dalam tabel yang bernama tstock dengan struktur sebagai
berikut.
Tabel 3.14 Struktur Tabel tstock
Field Type
Null Key
Default Extra
id_barang
int10 No
Pri Auto
increment harga_beli
double No
stock double
No
Keterangan :
id_barang merupakan primary key pada tabel tstock yang digunakan untuk
menyimpan id barang. Field ini juga merupakan foreign key dari field id_barang pada
tabel tbarang. Karena field ini menjadi primary key pada masing masing tabel tbarang
dan tstock, maka hubungan relasionalnya antara field ini one to one. harga_beli digunakan untuk menyimpan data harga beli barang.
stock digunakan untuk menyimpan data stok barang.
15. Tabel Penyedia Barang Penyedia barang atau supplier terdiri dari penyedia barang biasa maupun konsinyasi.
Data penyedia barang akan disimpan dalam tabel yang bernama tsupplier dengan
struktur sebagai berikut.
Tabel 3.15 Struktur Tabel tsupplier
Field Type
Null Key
Default Extra
id_supplier int10
No Pri
Auto increment
kode_supplier varcahar7
No nama_ supplier
varcahar20 No
alamat_ supplier varcahar225
No telp_ supplier
varcahar30 No
fax varcahar15
Yes Null
Keterangan :
id_supplier merupakan primary key pada tabel tsupplier yang digunakan untuk
menyimpan id supplier.
kode_supplier digunakan untuk menyimpan data kode supplier.
nama_ supplier digunakan untuk menyimpan data nama supplier. alamat_ supplier digunakan untuk menyimpan data alamat supplier.
telp_ supplier digunakan untuk menyimpan data telpon supplier. fax digunakan untuk menyimpan data fax supplier.
16. Tabel Tipe Barang Tipe yang dimaksud adalah tipe barang dilihat dari status pembeliannya, dalam hal ini
berupa tipe biasa atau konsinyasi. Hal ini dikarenakan tidak semua barang berasal dari pembelian, tetapi juga ada yang berasal dari titpan per-orangan atau kelompok dagang
lain. Data tipe barang akan disimpan dalam tabel yang bernama ttipe dengan struktur
sebagai berikut.
Tabel 3.16 Struktur Tabel ttipe
Field Type
Null Key
Default Extra
id_tipe int10
No Pri
Auto increment
tipe varcahar30
No
Keterangan :
id_tipe merupakan primary key pada tabel ttipe yang digunakan untuk menyimpan id
tipe.
tipe digunakan untuk menyimpan data tipe penjualan.
17. Tabel Perusahaan Tabel ini digunakan untuk merekam data identitas mini market seperti nama, alamat,
dan keterangan lain yang dianggap perlu.Data ini nantinya akan dimunculkan pada bagian header aplikasi kasir, dan beberapa halaman lainnya. Data mini market akan
disimpan dalam tabel yang bernama ttoko dengan struktur sebagai berikut.
Tabel 3.17 Struktur Tabel ttoko
Field Type
Null Key
Default Extra
nama_toko varcahar30
No Pri
Auto increment
alamat_toko varcahar75
No keterangan
varcahar100 Yes
Null
Keterangan :
nama_toko digunakan untuk menyampaikan data nama toko atau mini market
dimana aplikasi dijalankan.
alamat_toko digunakan untuk menyimpan data alamat toko atau mini market. keterangan digunakan untuk menyimpan data keterangan toko atau mini market
apbila diperlukan.
18. Tabel Pengguna Aplikasi Sebagaimana yang telah dijelaskan sebelumnya, pengguna aplikasi dibagi menjadi 2
dua tingkat, yaitu admin dan kasir. Tabel inilah yang akan digunakan untuk mengelola data pengguna tersebut. Data pengguna akan disimpan dalam tabel yang
bernama tuser dengan struktur sebagai berikut.
Tabel 3.18 Struktur Tabel tuser
Field Type
Null Key
Default Extra
id_user int10
No Pri
Auto increment
user_name varcahar30
No password
varcahar250 No
hak enum‘KASIR’,’ADMIN’
No
Keterangan :
id_user merupakan primary key pada tabel tuser yang digunakan untuk menyimpan id
user.
user_name digunakan untuk menyimpan data nama pengguna aplikasi. password digunakan untuk menyimpan password pengguna aplikasi.
hak digunakan untuk menyimpan data hak akses pengguna aplikasi.
3.4.2.2 Tabel Tambahan
Tabel tambahan digunakan untuk meyimpan data sementara, untuk selanjutnya dimanfaatkan
lagi untuk proses lain. Proses lain yang dimaksud dapat berupa pemasukan ke tabel utama atau pembuatan laporan, seperti mencetak barcode dan lain-lain. Berikut ini beberapa tabel
tambahan.
1. Tabel Cetak Kode Barang Tabel ini digunakan untuk menecetak kode barang. Data kode barang akan disimpan
dalam tabel yang bernama ttemcetakkode dengan struktur sebagai berikut. Tabel 3.19 Struktur Tabel ttemcetakkode
Field Type
Null Key
Default Extra
id_temp int15
No Pri
Auto increment
id_barang int100
No
qty int10
No
Keterangan :
id_temp merupakan primary key pada tabel ttemcetakkode yang digunakan untuk
menyimpan id temporari data barang.
id_barang
digunakan untuk menyimpan data id barang. Field ini merupakan foreign
key dari field id_barang pada tabel tbarang. qty digunakan untuk menyimpan data kuantitas barang yang akan dicetak.
3.5 Relasi Antar Tabel Entity Relationship Diagram ERD