BAB III ANALISIS DATA DAN DESAIN SISTEM BERBASIS WEB
3.1 Analisis Data
Sebenarnya coding dan tabulating merupakan titik awal pekerjaan analisis data. Tujuan analisa adalah menyempitkan dan membatas penemuan-penemuan hingga menjadi suatu data yang teratur serta tersusun dan lebih berarti. Proses analisis merupakan usaha untuk menemukan jawaban atas pertanyaan mengenai bagaimana cara mendesain sistem berbasis web, yang kita peroleh datanya dari proyek penelitian. Pelaksanaan analisis data merupakan tahapan dalam membuat suatu sistem, dimana tahapan ini dilakukan sebelum desain sistem. Dalam tahapan ini, pembuatan aplikasi mini market berbasis web dianalisis untuk mengetahui kelemahan-kelemahan dan mencari solusi agar menjadi lebih baik. Setelah mendapatkan solusinya, maka hasil analisis digunakan sebagai dasar desain sistem berbasis web dan perancangan sistem.
3.2 Spesifikasi Aplikasi yang Akan Dibangun Agar lebih mudah dalam merancang sebuah aplikasi, maka perlu dirumuskan sepesifikasi yang akan dibangun. Berikut ini adalah spesifikasi atu kemampuan dari program aplikasi
yang akan dibangun. Aplikasi mini market ini terdiri dari dua aplikasi utama, yaitu aplikasi kasir dan admin. 1. Aplikasi kasir dapat digunakan untuk melakukan transaksi penjualan, cetak struk, dan rekap transaksi. Proses transaksi dilakukan dengan memanfaatkan tombol keyboard. Aplikasi ini hanya dapat diakses oleh user yang login sebagai kasir. 2. Aplikasi admin dapat digunakan untuk manipulasi seluruh data yang ada dan membuat laporan, termasuk mencetak kode barang. 3. Terdapat fitur backup dan restore database dalam aplikasi mini market sehingga mempermudah dalam penggunaannya.
3.3 Perancangan Sistem
Dalam pembuatan sistem ini digunakan beberapa perangkat lunak. Perangkat Lunak adalah PHP 5.2.2, Apache sebagai web server, MySQL 5 sebagai database server, Macromedia Dreamweaver CS 5.0 sebagai desain halaman web.
3.3.1 Alur Kerja Aplikasi Mini Market
Sebagaimana yang telah dijelaskan sebelumnya, aplikasi yang dibangun terdiri dua bagian, yaitu aplikasi admin dan aplikasi kasir. Masing-masing aplikasi ini memiliki direktori kerja yang berbeda, sehingga pengaksesan dengan browser menggunakan URL yang berbeda pula. Dalam implementasinya, aplikasi admin digunakan oleh bagian administrasi, bagian gudang
atau bagian-bagian sejenis lainnya, tergantung struktur kepegawaian yang ada. Aplikasi admin dapat digunakan untuk melakukan berbagai proses transaksi, seperti pembelian, manajemen stok, termasuk pengolahan master data. Hal ini sangat berbeda dengan aplikasi kasir. Aplikasi kasir hanya digunkan untuk melakukan transaksi penjualan saja. Berikut ini adalah alur kerja dan penjelasan dari masing-masing aplikasi admin dan kasir. 3.3.1.1 Alur Kerja Aplikasi Admin Beberapa hal yang dapat dijelaskan mengenai alur kerja aplikasi admin adalah sebagai berikut: 1. Pertama kali user mengakses halaman aplikasi admin, maka akan dihadapkan dengan form login yang terdiri dari 2 (dua) kolom, yaitu username dan password. 2. Data login ini selanjutnya dicocokan dengan data pengguna yang ada di dalam database. Jika sesuai, akan dicek hak aksesnya sebagai siapakah user login. 3. Setelah proses login sukses, user dapat mengoprasikan aplikasi admin. Operasi yang dimaskud meliputi menampilkan data (view), menambah data (insert), memperbaharui data (update), menghapus data (delete), membuat laporan (report), dan mencetak laporan (print) sesuai kebutuhan. 4. Demi keamanan data, apabila user ingin keluar dari aplikasi user harus logout.
APLIKASI MINI MARKET
FILE
KONFIGURASI
Data Umum Data Pengguna Data Pegawai Data Supplier
EDIT TRANSAKSI
TRANSAKSI
LAPORAN
TOOLS
INFO PROGRAM
PEMBELIAN
EDIT MODAL AWAL
LAPORAN HARIAN KASIR
BACK UP DATABASE
INPUT BARANG RUSAK
EDIT STOK BARANG RUSAK
LAPORAN PEMBELIAN
RESTORE DATABASE
LAPORAN LABA PENJUALAN
PENGOSONGAN DATABASE
LAPORAN 100 BARANG TERLARIS
CETAK KODE BARANG
STOCK BARANG
Gambar 3.1 Rancangan Hak User Admin
3.3.1.2 Alur Kerja Aplikasi Kasir Beberapa hal yang dapat dijelaskan mengenai alur kerja aplikasi kasir adalah sebagai berikut. 1. Pertama kali user akan megakses halaman aplikasi kasir, maka akan di hadapkan dengan form login yang terdiri dari 4 (empat) kolom yang harus diisi. Empat kolom yang dimaksud adalah username, password, modal awal, dan nomor kasaa. Khusus untuk nomor kassa diset read only. 2. Data login akan dicocokan dengan data pengguna yang ada dalam database (tabel tuser dan tkasaa). Tabel user menyimpan data pengguna (username dan password), sedangkan tabel tkasaa menyimpan data nomor kassa dan IP address komputer kasaa. 3. Ketika from login muncul, saat itu pula IP address komputer yang digunakan dideteksi.
Jika aplikasi kasir diakses melalui komputer yang IP address belum
didaftarkan, maka kolom kasaa tidak akan muncul nilainya. Sehingga meyebabkan proses login gagal, meskipun data yang lain valid.
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 username
Type varchar(20)
Null No
Key Pri
Default
Extra Auto
Increment password
varchar(20)
level
enum('admin','guru','walikelas','siswa') No
nip
char(18)
No
nis
char(5)
No
Mul
status
char(1)
No
Mul
No
Uni
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
id
int(10)
No
id_barang
int(10)
No
tgl
date
No
harga_beli
double
No
harga_jual
double
No
qty
double
No
ket
text
No
Key pri
Default NULL
Extra Auto increment
mull
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
id_jabatan
int(10)
No
jabatan
varchar(200)
No
Key
Default
Pri
Extra Auto increment
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
id_kassa
smallint(5)
No
Pri
no_kassa
smallint(5)
No
ip_address
varchar(20)
No
folder_sharing
varchar(50)
No
Null
folder_datapenjualan
varchar(50)
No
Null
Default
Extra Auto increment
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
id_kategori
int(10)
No
nama_kategori
varchar(30)
No
Keterangan :
Key Pri
Default
Extra Auto increment
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
id_merk
int(10)
No
nama_merk
varchar(20)
No
Key Pri
Default
Extra Auto increment
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
id_modal
char(10)
No
tanggal
date
No
modalawal
double
No
id_user
int(10)
No
Mull
no_kassa
int(10)
No
Mull
Default
Extra
Pri
0000-00-00
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
id_pegawai
int(13)
No
nomor_pegawai
varchar(5)
No
nama_pegawai
varchar(50)
No
tempat_lahir
varchar(30)
No
tanggal_lahir
varchar(10)
No
alamat_ktp
varchar(100) No
alamat_pegawai
varchar(100) No
jabatan_pegawai
varchar(200) No
gaji_pokok
int(20)
No
Key
Default
Pri
Extra Auto increment
00/00/0000
Mull
KASIR 0
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
id_pembelian
int(10)
No
no_bukti
varchar(10)
No
no_nota
varchar(11)
No
tanggal
date
No
id_supplier
int(10)
No
diskon
int(250)
No
Key
Default
Pri
Auto increment
00-00-0000 Mull
Extra
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
id_pembelianitem
int(10)
No
id_pembelian
int(10)
No
id_item
int(10)
No
id_barang
int(10)
No
harga_beli
double
No
diskon
double
No
qty
double
Key Pri
Mull
Default Null
Extra Auto increment
00-00-0000
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
id_penjualan
char(12)
No
no_nota
char(12)
No
Null
tanggal
date
No
00-00-0000
id_user
int(10)
No
diskon
double
No
no_kassa
Int(3)
No
jumlah_bayar
double
Pri
Extra Auto increment
Mull
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
id_penjualanitem
char(15)
No
id_penjualan
char(12)
No
id_barang
int(10)
No
tanggal_beli
date
No
harga_beli
double
No
harga_jual
double
No
diskon
double
No
qty
double
No
Key
Default
Extra
Pri
Mull 00-00-0000
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
id_satuan
int(10)
No
nama_satuan
varchar(20)
No
Key Pri
Default
Extra Auto increment
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
id_barang
int(10)
No
harga_beli
double
No
stock
double
No
Key
Default
Pri
Extra Auto increment
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
id_supplier
int(10)
No
kode_supplier
varcahar(7)
No
nama_ supplier
varcahar(20)
No
alamat_ supplier
varcahar(225)
No
telp_ supplier
varcahar(30)
No
fax
varcahar(15)
Yes
Key
Default
Pri
Extra Auto increment
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
id_tipe
int(10)
No
tipe
varcahar(30)
No
Key
Default
Pri
Extra Auto increment
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
nama_toko
varcahar(30)
No
alamat_toko
varcahar(75)
No
keterangan
varcahar(100)
Yes
Key
Default
Pri
Extra Auto increment
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
id_user
int(10)
No
user_name
varcahar(30)
No
password
varcahar(250)
No
hak
enum(‘KASIR’,’ADMIN’)
No
Keterangan :
Key Pri
Default
Extra Auto increment
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
id_temp
int(15)
No
id_barang
int(100)
No
Key Pri
Default
Extra Auto increment
qty
int(10)
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)
Tabel relasi adalah hubungan suatu entitas dengan dirinya sendiri atau hubungan dengan entitas lainnya. Relasi antar tabel merupakan suatu proses mengorganisasikan file untuk menghilangkan grup elemen yang berulang-ulang. Proses relasi antar tabel adalah mengelompokkan data menjadi tabel-tabel yang menunjukan entity dan relasinya yang berfungsi untuk mengakses data item tabel relasi adalah hubungan suatu entitas dengan dirinya sendiri atau hubungan dengan entitas lainnya. Relasi antar tabel merupakan suatu proses mengorganisasikan file untuk menghilangkan grup elemen yang berulang-ulang. Proses relasi antar tabel adalah mengelompokkan data menjadi tabel-tabel yang menunjukan entity dan relasinya yang berfungsi untuk mengakses data item sedemikian rupa sehingga database tersebut mudah di modifikasi.
tmerk id_merk * nama_merk
Mempunyai
kode_barang nama_barang singkatan id_merk ** id_kategori ** id_satuan ** harga_jual barcode type **
tkategori id_kategori * nama_kategori
tstock
tbarang
id_barang *
Memiliki
Memiliki
tbarangrusak Mempunyai
tsatuan id_satuan * nama_satuan
Memiliki Memiliki
id_penjualanitem* id_barang ** id_penjualan ** tanggal_beli harga_beli harga_jual diskon qty
Memiliki
Memerlukan
Memiliki
tpembelianitem id_pembelianitem* id_item id_barang * id_pembelian ** harga_beli diskon qty
ttemcetakkode id_temp * id_barang ** qty
tpenjualan
tpembelian
Memproses
id_pembelian * no_bukti no_nota tanggal id_supplier ** diskon
tpegawai id_pegawai ** nomor_pegawai nama_pegawai tempat_lahir tanggal_lahir alamat_ktp alamat_pegawai jabatan_pegawai ** gaji_pokok
Memiliki
Memiliki
tuser
Memproses
tsupplier id_supplier * kode_supplier nama_supplier alamat_supplier telp_ supplier fax
Id * id_barang ** Tgl harga_beli harga_jual Qty ket
tpenjualanitem
ttipe id_tipe * tipe
id_barang ** harga_beli stock
id_user * user_name Password hak
Melakukan
id_penjualan * no_nota Tanggal id_user ** diskon no_kassa ** jumlah_bayar
Memproses
tmodalawal id_modal * tanggal modalawal id_user ** no_kassa **
tkassa Membutuhkan
id_kassa * no_kassa ip_address folder_sharing folder_datapenjualan
tjabatan Memiliki
id_jabatan * jabatan
ttoko nama_toko alamat_toko keterangan
Gambar 3.2 ERD (Entity Relationship Diagram)
3.6 Kebutuhan Fungsional
Merupakan kebutuhan secara fungsional yang harus dipenuhi oleh perangkat lunak yang akan dibangun. Kebutuhan fungsional tersebut akan dideskripsikan dalam bentuk tabel, sebagai berikut :
Tabel 3.20 Deskripsi Kebutuhan Fungsional Nama Kebutuhan
Deskripsi
Login
Untuk mengakses terhadap sistem
Input Data
Memasukkan Database
Update Data
Memperbaharui data dalam database
Delete Data
Menghapus data dari database sistem
Pembelian Barang
Fungsi untuk melakukan Barang Masuk
Penjualan Barang
Fungsi untuk transaksi Keluar
Laporan
Membuat dan menerima laporan
Cetak Kode Barang
Membuat kode barang
Backup Database
Membackup database
data-data
ke
dalam
3.7 Kebutuhan Non-Fungsional
Kebutuhan non-fungsional mencakup fungsi-fungsi yang membantu sistem untuk berjalan dengan baik serta dapat digunakan dengan mudah.
Tabel 3.21 Deskripsi Kebutuhan Non-Fungsional
Nama Kebutuhan
Deskripsi
User Friendly
Sistem mudah digunakan
Confirm Alert
Peringatan sebagai konfirmasi User
Data Validation
Mengecek data yang di input, sesuai atau tidak dengan ketentuan
Menggunakan bahasa Indonesia dan Penggunaan bahasa Indonesia dan Inggris Inggris dalam penulisan menu maupun lainnya.
3.8 Analisis Actor dan Use Case Diagram Actor dan use case ditentukan atas dasar fungsi-fungsi dalam sistem. Selanjutnya use case menyediakan nilai hasil kepada actor. Atas dasar analisis prosedur setidaknya ada dua actor yaitu admin dan kasir. 3.9 Use Case Diagram
Use Case Diagram menggambarkan fungsionalitas dari sebuah sistem (apa fungsinya), yang merepresentasikan sebuah interaksi antara actor dengan sistem (sebuah pekerjaan), misalnya menambah data atau membuat laporan. Elemen-elemennya adalah: actor, use case, dan hubungan antar objek. 1. Actor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. 2. Use case adalah sebuah tidakan atau unit fungsional dari sebuah sistem. Sebuah use case dapat meng-include fungsionalitas use case lain. Sebuah use case dapat diinclude oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum. Sebuah use case juga dapat mengextend use case lain dengan behavior-nya sendiri. Tabel 3.22 Definisi Aktor No
Aktor
Deskripsi
1.
Admin
2.
Kasir
Merupakan Admin yang memiliki kewenangan penuh atas seluruh akses terhadap sistem Aktor Melakukan Transaksi Penjualan
Berikut ini adalah gambar dari model Use Case Diagram Aplikasi Mini Market, yang digambarkan secara umum sebagai berikut: Use Case Diagram Aplikasi Mini Market Data Umum Data pengguna «extends» «extends» Keluar
«extends» Data Supplier
«extends»
«extends»
Konfigurasi «extends» «extends»
File
Data Pegawai Pembelian Input Barang Rusak'
«extends»
Data Kassa «extends»
«extends» Transaksi «extends»
Login
«extends»
«extends»
Stok Barang
Edit Transaksi «extends» «extends» «extends» ADMIN
Edit Modal Awal
«extends» «extends»
«extends» Laporan Barang Rusak
Cetak Kode Barang «extends»
Pengosongan Database
Laporan
«extends»
Edit Stock «extends» «extends»
«extends» Tools «extends»
Laporan 100 Barang Terlaris
Laporan Pembelian
Laporan Tiap Hari Kassa
Laporan Laba penjualan
«extends»
Rekap Transaksi Restore Database
Backup Database
Cetak Struk Penjualan «extends»
«extends»
«extends» Transaksi Pemjualan
Login
Kasir
Gambar 3.3 Use Case Diagram Aplikasi Mini Market
3.10 Dokumentasi Skenario Use Case Setiap use case di atas harus dideskripsikan dalam dokumen yang disebut dengan dokumen flow of event. Dokumen ini merupakan definisi apa yang harus dilakukan oleh sistem ketika actor mengaktifkan use case. Berikut ini adalah dokumentasi use case untuk Use Case Diagram Aplikasi Mini Market.
Tabel 3.23 Skenario Use Case Login Use Case
Login
Brief Description
Use Case ini memungkinkan Admin terdaftar melakukan akses terhadap sistem
Actor Precondition
Admin dan Kasir Admin / Kasir membuka aplikasi Login
Main Flow
Actor 1.
System
Admin menginputkan Username dan Password 2. Verifikasi username dan password di dalam database 3. Memberikan informasi login valid atau tidak, jika ya maka otomatis mengakses halaman yang diminta, jika tidak akan keluar pesan gagal login.
Postcondition
Admin mengakses aplikasi yang dibutuhkan
Tabel 3.24 Skenario Use Case Input Data
Use Case
Input Data
Brief Description
Actor Precondition Main Flow
Use Case ini memungkinkan semua proses penginputan data ke dalam database. Admin Menu Login Actor
System
1. Admin login 2. Cek Login Valid atau Tidak 3. Menampilkan Menu Utama
4. Input Data 5. Verifikasi data input sukses Postcondition
Database terupdate dengan penambahan data baru
Tabel 3.25 Skenario Use Case Update Data Use Case
Update Data
Brief Description
Use Case ini memungkinkan user melakukan pengubahan data yang telah tersimpan sebelumnya Admin
Actor Precondition Main Flow
Menu Login Actor
System
1. Admin login 2. Cek Login Valid atau Tidak 3. Menampilkan Menu Utama 4. Cari data untuk edit
5. Update Data
Postcondition
6. Komparasi dan Cek kesesuaian data Data dalam database berubah atau terupdate dengan yang baru Tabel 3.26 Skenario Use Case Delete Data
Use Case
Delete Data
Brief Description
Use Case ini memungkinkan user melakukan penghapusan data
Actor Precondition Main Flow
Admin Menu Login Actor
System
1. Admin login 2. 3. 4. 5.
Cek Login Valid atau Tidak Menampilkan Menu Utama Cari data untuk dihapus Komparasi dan Cek kesesuaian data 6. Verifikasi Penghapusan
Postcondition
Data terhapus dari database
Tabel 3.27 Skenario Use Case Pembelian Barang Use Case
Pembelian Barang
Brief Description
Use Case ini memungkinkan untuk melakukan transaksi pembelian barang Admin Menu Login
Actor Precondition Main Flow
Actor
System
1. login 2. Cek Login 3. Menampilkan Menu Utama
4. Pilih Menu Transaksi 5. 6. 7.
Input Barang yang Dibeli Klik insert Klik Simpan
8. Keluar Postcondition
Transaksi pembeelian barang tersimpan di dalam database dan dipakai untuk proses perhitungan di kasir
Tabel 3.28 Skenario Use Case Penjualan Barang Use Case
Penjualan Barang
Brief Description
Use Case ini memungkinkan untuk melakukan transaksi
Actor Precondition Main Flow
penjualan barang Kasir Menu Login Actor
System
1. login 2. Cek Login 3. Menampilkan Menu Transaksi
4. Pilih Barang 5. 6. 7. Postcondition
Input Barang Klik Tambah Klik Simpan
8. Keluar Transaksi penjualan barang tersimpan di dalam database dan dipakai untuk proses perhitungan di kasir
Tabel 3.29 Skenario Use Case Laporan Use Case
Laporan
Brief Description
Use Case ini memungkinkan untuk melakukan transaksi pembelian barang Admin dan Kasir Menu Login
Actor Precondition
Main Flow
Actor
System
1. login 2. Cek Login 3. Menampilkan Menu Utama
4. Pilih Menu Laporan 5.
Pilih Aksi Untuk Laporan
7. . Keluar Postcondition
Menampilkan Laporan
Tabel 3.30 Skenario Use Case Cetak Kode Barang Use Case
Cetak Kode Barang
Brief Description
Use Case ini memungkinkan untuk melakukan cetak kode barang Admin Menu Login
Actor Precondition Main Flow
Actor
System
1. login 2. Cek Login 3. Menampilkan Menu Tools
4. Pilih Barang 5. 6.
Postcondition
Input Barang Klik Cetak
7. Keluar cetak kode barang tersimpan di dalam database.
Tabel 3.31 Skenario Use Case Backup,Restore dan Pengosongan Database Use Case
Tools
Brief Description
Use Case ini memungkinkan untuk backup, restore, dan pengosongan database Admin Menu Login
Actor Precondition
Main Flow
Actor
System
1. Login 2. Cek Login 3. Menampilkan Menu Tools
4. Pilih Menu Tools 5.
Postcondition
Proses Masukan
7. Keluar proses telah dilakukan.
3.11 Sequence Diagram
Sequence diagram adalah interaction diagram yang memperlihatkan event-event yang berurutan
sepanjang
berjalannya
waktu.
Masing-masing
sequence
diagram
akan
menggambarkan aliran-aliran pada suatu use case. Berikut ini adalah penggambaran diagram sequence untuk proses login terhadap sistem
Sequence Diagram Login Admin
Form Login
UserControlRemote
User Table
1. Login 2.SetUsername 3.Show
4.Setpassword 5.Show
6.Invalid
7.Failed message
8.Succes massage
9.User validation
10.Menu Utama 11.Page accesing
12.Show
Gambar 3.4 Sequence Diagram Login
Diagram di bawah ini merupakan diagram sequence untuk proses peng-inputan data kedalam sistem. Sequence Diagram Input Data Admin
BtnAdd
Kategori Remote
Kategori Table
1.Clik Add 2. Insert Data 3.Show 4. Validasi Data
5. Add Kategori
6.Show 7.Get Kategori 8.Show
9.Show
Gambar 3.5 Sequence Diagram Input Data Diagram untuk proses update data, dapat dilihat seperti pada gambar dibawah ini. Sequence Diagram Update Data Admin
BtnEdit
Kategori Table
Kategori Remote
1.Clik Edit 2. Set Data 3.Show
5. Edit Kategori
6.Show 7.Get Kategori 8.Show
9.Show
Gambar 3.6 Sequence Diagram Update Data
Untuk proses penghapusan data dari database, maka berikut ini merupakan langkahlangkahnya yang digambarkan dalam sequence diagram.
Sequence Diagram Delete Data Admin
BtnHapus
Kategori Remote
1.Clik Hapus Data 2. Delete Kategori 3.Show
4.Get Kategori 5.Show
6.Show
Gambar 3.7 Sequence Diagram Delete Data Gambar diagram ini merupakan penggambaran diagram sequence untuk melakukan proses transaksi pembelian barang. Sequence Diagram Pembelian Barang Admin
Form Pembelian Barang
Table Pembelian Barang
Pembelian Barang Remote
1.doClik 2. Set Pembelian Barang 3.Show
4. Add Pembelian Barang 5.Show
6.Get Pembelian Barang 7.Show
8.Show 9.Page Accesing 10.Cetak Laporan
Gambar 3.8 Sequence Diagram Pembelian Barang
Gambar diagram ini merupakan penggambaran diagram sequence untuk aplikasi kasir yang melakukan proses penjualan barang
Sequence Diagram Aplikasi Kasir Transaksi Penjualan
Kasir
User Interface
Spesifikasi item
Transaksi Penjualan
Item
Receipt
Pembayaran
1. Input kode dan jumlah item
2. Ambil Informasi item 3. Transfer detail item 4.Create Item 5.Tambah transaksi 6. Akhir pemasukan item
7.Transaksi akhir pemasukan
9. Tampilkan harga total
8.Hitung harga total
10.Masukan jumlah uang 11.Transfer jumlah uang
12.Buat pembayaran 13.Buat receipt
Diterima oleh pembeli
Gambar 3.9 Sequence Diagram Aplikasi Kasir Penjualan Barang
Gambar dibawah ini adalah sequence diagram untuk menampilkan dan mencetak laporan.
Sequence Diagram Laporan Admin
Menu Utama
Data Base
Laporan
1.Pilih Menu 2. Get Laporan 3.Laporan 4.Laporan 5.Show
6.Pilih Menu 7.Print
Gambar 3.10 Sequence Diagram Cetak Laporan Gambar dibawah ini adalah sequence diagram untuk menampilkan dan mencetak kode barang. Sequence Diagram Cetak Kode Barang Admin
Menu Utama
Data Base
Tools
1.Pilih Menu 2. Pilih Tools 3.Input Jumlah qty 4.cetak 5.Show
6.Pilih Menu 7.Print
Gambar 3.11 Sequence Diagram Cetak Kode Barang Gambar dibawah ini adalah sequence diagram backup, restore, dan pengosongan database.
Sequence Diagram Backup,Restore,Pengosongan Database Admin
Menu Utama
Data Base
Tools
1.Pilih Menu 2. Pilih Tools 3.Pilih Masukan 4.cetak
Gambar 3.12 Sequence Diagram Backup,Restore,Pengosongan Database
3.12 Desain Interface Halaman Admin
Halaman index adalah halaman utama yang akan tampil bila diinputkan alamat url dari sistem informasi data kepegawaian pada browser. Contoh url pada sistem yang masih diletakkan di
server local : http://localhost/kasirserver. Pada halaman admin ini untuk menu navigasi dibuat drop down menu.
Gambar 3.13 Halaman Utama Admin
3.13 Desain Interface Halaman Kasir
Halaman index adalah halaman utama yang akan tampil bila diinputkan alamat url dari sistem informasi data kepegawaian pada browser. Contoh url pada sistem yang masih diletakkan di server local : http://localhost/kasirclient.
RIKI ZUBRI MINI MARKET Perumnas Way Halim,Kedaton, Bandar Lampung 55284, Telp.0271-703269
Total
Rp.
0
Nonota: No.
Kode Barang
Jam Nama Barang
Harga @
Qty
Jumlah
Isi Input
[ENTER]=input barang || [...+]=input QTY [...F10]=PEMBAYARAN ||[0+]=HAPUS Item terakhir F2=Reset/Ulangi || F3=Look Up Item || F5=Rekap || F6=Keluar
No. Kassa
Kasir
Status
Hari, Tgl
Gambar 3.14 Halaman Utama Kasir