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 Data Kasaa Keluar TRANSAKSI PEMBELIAN INPUT BARANG RUSAK STOCK BARANG EDIT TRANSAKSI EDIT MODAL AWAL EDIT STOK BARANG RUSAK LAPORAN LAPORAN HARIAN KASIR LAPORAN PEMBELIAN LAPORAN LABA PENJUALAN LAPORAN 100 BARANG TERLARIS LAPORAN STOK BARANG HILANG TOOLS BACK UP DATABASE RESTORE DATABASE PENGOSONGAN DATABASE CETAK KODE BARANG BUAT BAECODE INFO PROGRAM
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.
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
Increment
password varchar(20) No Uni
level enum('admin','guru','walikelas','siswa') No
nip char(18) No
nis char(5) No Mul
status char(1) 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 int(10) No pri NULL Auto
increment
id_barang int(10) 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 int(10) No Pri Auto
increment
jabatan varchar(200) 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 smallint(5) No Pri Auto
increment
no_kassa smallint(5) No
ip_address varchar(20) No
folder_sharing varchar(50) 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 int(10) No Pri Auto
increment
nama_kategori varchar(30) No
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 int(10) No Pri Auto
increment
nama_merk varchar(20) No
Keterangan :
id_merk merupakan primary key pada tabel tmerk yang digunakan untuk menyimpan id
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 char(10) No Pri
tanggal date No 0000-00-00
modalawal double No
id_user int(10) No Mull
no_kassa int(10) 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 int(13) No Pri Auto
increment nomor_pegawai varchar(5) No nama_pegawai varchar(50) No tempat_lahir varchar(30) No tanggal_lahir varchar(10) No 00/00/0000 alamat_ktp varchar(100) No alamat_pegawai varchar(100) No
jabatan_pegawai varchar(200) No Mull KASIR
gaji_pokok int(20) No 0
Keterangan :
id_pegawai merupakan primary key pada tabel tpegawai yang digunakan untuk menyimpan
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 int(10) No Pri Auto
increment
no_bukti varchar(10) No
no_nota varchar(11) No
tanggal date No 00-00-0000
id_supplier int(10) No Mull
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 int(10) No Pri Null Auto increment
id_pembelian int(10) No
id_item int(10) No
id_barang int(10) 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 char(12) No Pri Auto
increment
no_nota char(12) No Null
tanggal date No 00-00-0000
id_user int(10) No Mull
diskon double No
no_kassa Int(3) 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.
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 char(15) No Pri
id_penjualan char(12) No
id_barang int(10) 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_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 int(10) No Pri Auto
increment
nama_satuan varchar(20) 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.
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 int(10) 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 int(10) No Pri Auto
increment
kode_supplier varcahar(7) No
nama_ supplier varcahar(20) No
alamat_ supplier varcahar(225) No
telp_ supplier varcahar(30) No
fax varcahar(15) Yes Null
Keterangan :
id_supplier merupakan primary key pada tabel tsupplier yang digunakan untuk menyimpan id supplier.
kode_supplierdigunakan 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 int(10) No Pri Auto
increment
tipe varcahar(30) No
Keterangan :
id_tipe merupakan primary key pada tabel ttipe yang digunakan untuk menyimpan id tipe.
tipedigunakan 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 varcahar(30) No Pri Auto
increment
alamat_toko varcahar(75) No
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 int(10) No Pri Auto
increment
user_name varcahar(30) No
password varcahar(250) No
hak enum(‘KASIR’,’ADMIN’) No
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 int(15) No Pri 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.
id_barang * kode_barang nama_barang singkatan id_merk ** id_kategori ** id_satuan ** harga_jual barcode type ** id_merk * nama_merk tmerk Memiliki id_kategori * nama_kategori tkategori Memiliki id_satuan * nama_satuan tsatuan Memiliki id_tipe * tipe ttipe Memiliki id_barang ** harga_beli stock tstock Mempunyai tbarang Id * id_barang ** Tgl harga_beli harga_jual Qty ket tbarangrusak Mempunyai id_penjualanitem* id_barang ** id_penjualan ** tanggal_beli harga_beli harga_jual diskon qty tpenjualanitem Memiliki id_pembelianitem* id_item id_barang * id_pembelian ** harga_beli diskon qty tpembelianitem Memiliki id_temp * id_barang ** qty ttemcetakkode Memerlukan id_penjualan * no_nota Tanggal id_user ** diskon no_kassa ** jumlah_bayar tpenjualan Memiliki id_pembelian * no_bukti no_nota tanggal id_supplier ** diskon tpembelian Memiliki id_user * user_name Password hak tuser Melakukan id_kassa * no_kassa ip_address folder_sharing folder_datapenjualan tkassa id_modal * tanggal modalawal id_user ** no_kassa ** tmodalawal Membutuhkan Memproses id_supplier * kode_supplier nama_supplier alamat_supplier telp_ supplier fax tsupplier Memproses Memproses tjabatan id_jabatan * jabatan id_pegawai ** nomor_pegawai nama_pegawai tempat_lahir tanggal_lahir alamat_ktp alamat_pegawai jabatan_pegawai ** gaji_pokok tpegawai Memiliki nama_toko alamat_toko keterangan ttoko
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 data-data ke dalam
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
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 Inggris
Penggunaan bahasa Indonesia dan 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.
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 di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum. Sebuah use case juga dapat meng-extend use case lain dengan behavior-nya sendiri.
Tabel 3.22 Definisi Aktor
No Aktor Deskripsi
1. Admin Merupakan Admin yang memiliki
kewenangan penuh atas seluruh akses
terhadap sistem
Berikut ini adalah gambar dari model Use Case Diagram Aplikasi Mini Market, yang digambarkan secara umum sebagai berikut:
Gambar 3.3 Use Case Diagram Aplikasi Mini Market Use Case Diagram Aplikasi Mini Market
ADMIN Login «extends» File «extends» Konfigurasi «extends» Keluar Data Umum «extends» Data pengguna «extends» Data Supplier «extends» Data Pegawai «extends» Data Kassa «extends» «extends» Transaksi Pembelian
«extends» Input Barang Rusak'
«extends»
Stok Barang «extends»
«extends»
Edit Transaksi
Edit Modal Awal «extends»
Edit Stock «extends»
«extends»
Laporan
Laporan Tiap Hari Kassa «extends» Laporan Pembelian «extends» Laporan Laba penjualan «extends» Laporan 100 Barang Terlaris «extends» Laporan Barang Rusak «extends» «extends» Tools Backup Database «extends» «extends» Restore Database «extends» Pengosongan Database «extends» Cetak Kode Barang
Kasir Login «extends» Transaksi Pemjualan «extends» Cetak Struk Penjualan «extends» Rekap Transaksi
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 Admin dan Kasir
Precondition Admin / Kasir membuka aplikasi Login
Main Flow Actor System
1. 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
Brief Description Use Case ini memungkinkan semua proses penginputan data
ke dalam database. Actor Admin
Precondition Menu Login
Main Flow 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 Actor Admin
Precondition Menu Login
Main Flow Actor System
1. Admin login
2. Cek Login Valid atau Tidak 3. Menampilkan Menu Utama 4. Cari data untuk edit
5. Update Data
6. Komparasi dan Cek kesesuaian data
Postcondition 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
Actor Admin
Precondition Menu Login
Main Flow Actor System
1. Admin login
2. Cek Login Valid atau Tidak 3. Menampilkan Menu Utama 4. Cari data untuk dihapus
5. 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
Actor Admin
Precondition Menu Login
Main Flow Actor System
1. login
2. Cek Login
3. Menampilkan Menu Utama 4. Pilih Menu
Transaksi
8. Keluar
5. Input Barang yang Dibeli 6. Klik insert
7. Klik Simpan
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
penjualan barang
Actor Kasir
Precondition Menu Login
Main Flow Actor System
1. login 2. Cek Login 3. Menampilkan Menu Transaksi 4. Pilih Barang 8. Keluar 5. Input Barang 6. Klik Tambah 7. Klik Simpan
Postcondition 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 Actor Admin dan Kasir Precondition Menu Login
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
Actor Admin
Precondition Menu Login
Main Flow Actor System
1. login
2. Cek Login
3. Menampilkan Menu Tools 4. Pilih Barang
7. Keluar
5. Input Barang 6. Klik Cetak
Postcondition 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
Actor Admin
Main Flow Actor System
1. Login
2. Cek Login
3. Menampilkan Menu Tools 4. Pilih Menu
Tools
7. Keluar
5. Proses Masukan
Postcondition 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
Admin Form Login User Table UserControlRemote 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
Sequence Diagram Login
Diagram di bawah ini merupakan diagram sequence untuk proses peng-inputan data kedalam sistem.
Admin BtnAdd Kategori Table Kategori Remote
1.Clik Add 2. Insert Data 3.Show 4. Validasi Data 5. Add Kategori 7.Get Kategori 9.Show
Sequence Diagram Input Data
6.Show
8.Show
Gambar 3.5 Sequence Diagram Input Data
Diagram untuk proses update data, dapat dilihat seperti pada gambar dibawah ini.
Admin BtnEdit Kategori Table Kategori Remote
1.Clik Edit 2. Set Data 3.Show 5. Edit Kategori 7.Get Kategori 9.Show
Sequence Diagram Update Data
6.Show
8.Show
Untuk proses penghapusan data dari database, maka berikut ini merupakan langkah-langkahnya yang digambarkan dalam sequence diagram.
Admin BtnHapus Kategori Remote
1.Clik Hapus Data
2. Delete Kategori
3.Show
4.Get Kategori
6.Show
Sequence Diagram Delete Data
5.Show
Gambar 3.7 Sequence Diagram Delete Data
Gambar diagram ini merupakan penggambaran diagram sequence untuk melakukan proses transaksi pembelian barang.
Gambar 3.8 Sequence Diagram Pembelian Barang
Admin Form Pembelian Barang Table Pembelian Barang Pembelian Barang Remote
1.doClik
2. Set Pembelian Barang
3.Show
6.Get Pembelian Barang
9.Page Accesing 8.Show
Sequence Diagram Pembelian Barang
7.Show
10.Cetak Laporan
4. Add Pembelian Barang
Gambar diagram ini merupakan penggambaran diagram sequence untuk aplikasi kasir yang melakukan proses penjualan barang
Gambar 3.9 Sequence Diagram Aplikasi Kasir Penjualan Barang
Gambar dibawah ini adalah sequence diagram untuk menampilkan dan mencetak laporan.
Kasir User Interface 1. Input kode dan jumlah item
Spesifikasi item Transaksi Penjualan Item Pembayaran Receipt
2. Ambil Informasi item
3. Transfer detail item
4.Create Item 5.Tambah transaksi 6. Akhir pemasukan item 7.Transaksi akhir pemasukan
8.Hitung harga total 9. Tampilkan harga total
10.Masukan jumlah uang
11.Transfer jumlah uang
12.Buat pembayaran
13.Buat receipt
Diterima oleh pembeli Sequence Diagram Aplikasi Kasir Transaksi Penjualan
Admin Menu Utama Laporan Data Base
1.Pilih Menu
2. Get Laporan
5.Show
Sequence Diagram Laporan
7.Print
3.Laporan 4.Laporan
6.Pilih Menu
Gambar 3.10 Sequence Diagram Cetak Laporan
Gambar dibawah ini adalah sequence diagram untuk menampilkan dan mencetak kode barang.
Gambar 3.11 Sequence Diagram Cetak Kode Barang
Gambar dibawah ini adalah sequence diagram backup, restore, dan pengosongan database.
Admin Menu Utama Tools Data Base
1.Pilih Menu
2. Pilih Tools
5.Show
Sequence Diagram Cetak Kode Barang
7.Print
3.Input Jumlah qty 4.cetak
6.Pilih Menu
Admin Menu Utama Tools Data Base
1.Pilih Menu
2. Pilih Tools
5.Show
Sequence Diagram Backup,Restore,Pengosongan Database
7.Print
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
Header
File Konfigurasi Keluar Data Umum Data Pengguna Data Pegawai Data Supplier Data Kassa Transaksi Pembelian Input Barang Rusak/Hilang Stock Edit Transaksi Edit Stock Edit Modal Awal Laporan Laporan Harian Tiap Kasir Laporan Pembelian Laporan Laba Penjualan Laporan 100 Barang Terlaris Laporan Stock Barang Rusak Tools Backup Database Restore Database Pengosongan Database Cetak Kode Barang Info ProgramFooter
Isi
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.
Gambar 3.14 Halaman Utama Kasir
RIKI ZUBRI MINI MARKET
Perumnas Way Halim,Kedaton, Bandar Lampung 55284, Telp.0271-703269
Total
Rp.0
Nonota: Jam
No. Kode Barang 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