Disusun oleh:
JURUSAN MATEMATIKA
2023
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah swt. karena atas segala berkah, taufik dan
hidayah-Nya kami dapat menyelesaikan Laporan Proyek mata kuliah Database.
Tugas ini disusun untuk melengkapi dan memenuhi tugas akhir dari mata kuliah
Database. Dalam penulisan tugas ini, kami mendapatkan bimbingan serta dukungan dari
berbagai pihak. Oleh karena itu pada kesempatan ini, kami mengucapkan terima kasih kepada
semua pihak yang telah mendukung.
Kami berharap makalah yang telah dibuat ini dapat menambah wawasan dan
pengetahuan tentang Database dan cara bagaimana membuat aplikasi berbasis web yang
mengandalkan database serta program-program lain yang mendukungnya.
Kami menyadari bahwa di dalam makalah ini masih banyak kekurangan yang harus
dibenahi dan diperbaiki. Oleh karena itu kritik maupun saran yang membangun dari pembaca
senantiasa kami terima demi penyempurnaan penulisan di masa yang akan datang. Demikian
tugas ini kami buat semoga bermanfaat bagi kita semua.
Semarang, 4 Mei
2023
Penulis
i
DAFTAR ISI
KATA PENGANTAR ................................................................................................................. i
DAFTAR ISI ..............................................................................................................................ii
DAFTAR GAMBAR ............................................................................................................... iii
DAFTAR TABEL ..................................................................................................................... iv
BAB 1 PENDAHULUAN ......................................................................................................... 1
1.1. Deskripsi Secara Umum .............................................................................................. 1
1.2. Proses Bisnis Aplikasi ................................................................................................. 1
1.3. Batasan Masalah .......................................................................................................... 1
BAB 2 DESAIN APLIKASI ...................................................................................................... 3
2.1. Skenario Aplikasi Kasir Mynum by Ocik ................................................................... 3
2.2. Analisis Kebutuhan DFD / Data Flow Diagram ......................................................... 4
2.3. ERD (Entity Relationship Diagram) ........................................................................... 7
2.4. Relasi Tabel ................................................................................................................. 8
2.5. Menu dan Fitur ............................................................................................................ 8
2.6. Flowchart Aplikasi ...................................................................................................... 9
2.7. Database Aplikasi Kasir Mynum by Ocik ................................................................. 10
2.8. Query Pembuatan Database ...................................................................................... 11
BAB 3 HASIL APLIKASI ....................................................................................................... 14
3.1. Koneksi aplikasi dengan database ............................................................................. 14
3.2. Halaman Login Kasir ................................................................................................ 14
3.3. Halaman Utama Admin ............................................................................................. 15
3.4. Halaman Pengaturan Toko ........................................................................................ 16
3.5. Halaman Data Barang ............................................................................................... 16
3.6. Formulir Tambah Data Barang .................................................................................. 17
3.7. Halaman Edit Data Barang ........................................................................................ 18
3.8. Halaman Transaksi .................................................................................................... 18
3.9. Halaman Laporan Penjualan ..................................................................................... 19
BAB 4 PENUTUP ................................................................................................................... 20
ii
DAFTAR GAMBAR
Gambar 2.1 Diagram Level 0..................................................................................................... 4
Gaambar 2.2 Diagram Level 1 ................................................................................................... 5
Gambar 2.3 Diagram Level 2 Proses 1 ...................................................................................... 6
Gambar 2.4 Diagram Level 2 Proses 2 ...................................................................................... 6
Gambar 2.5 Diagram Level 2 Proses 3 ...................................................................................... 7
Gambar 2.6 ERD Sistem ............................................................................................................ 7
Gambar 2.7 Relasi Tabel Database ............................................................................................ 8
Gambar 2.8 Flowchart Transaksi Penjualan .............................................................................. 9
Gambar 2.9 Flowchart Data Barang .......................................................................................... 9
iii
DAFTAR TABEL
Tabel 1 Menu dan Fitur .............................................................................................................. 8
Tabel 2 Data Login................................................................................................................... 10
Tabel 3 Data Member............................................................................................................... 10
Tabel 4 Data Toko .................................................................................................................... 10
Tabel 5 Data Kategori .............................................................................................................. 10
Tabel 6 Data Barang ................................................................................................................. 11
Tabel 7 Data Penjualan ............................................................................................................ 11
Tabel 8 Data Nota .................................................................................................................... 11
iv
BAB 1 PENDAHULUAN
1.1.Deskripsi Secara Umum
Sistem aplikasi kasir berbasis website ini dirancang untuk memudahkan proses
penjualan makanan dan minuman di kasir pada warung Mynum by Ocik. Aplikasi ini
menyediakan berbagai fitur dan fungsionalitas yang bertujuan untuk meningkatkan
efisiensi dan produktivitas dalam operasional kasir.
1.3.Batasan Masalah
a. Sistem Aplikasi Kasir Berbasis Website
b. Penyimpanan Data Produk dan Penjualan: Sistem ini digunakan oleh kasir untuk
menyimpan data produk dan data penjualan. Kasir dapat mengelola informasi
produk yang dijual dan mencatat transaksi penjualan dengan pelanggan.
1
c. Penyimpanan Data Transaksi Pelanggan: Sistem dapat menyimpan data transaksi
dengan pelanggan, termasuk rincian produk yang dibeli, harga, jumlah, dan
informasi lainnya yang relevan.
d. Penyimpanan Data Produk: Sistem juga dapat menyimpan data produk yang dijual
di warung Mynum by Ocik. Ini mencakup informasi seperti nama produk, harga,
dan atribut produk lainnya.
e. Tidak Dapat Mencetak Struk: Saat ini, sistem belum mendukung fungsi cetak struk
secara langsung.
f. Laporan Penjualan dengan Periode Tertentu: Sistem dapat merekap data laporan
penjualan dengan periode tertentu.
2
BAB 2 DESAIN APLIKASI
2.1.Skenario Aplikasi Kasir Mynum by Ocik
Skenario 1: Penerimaan Pesanan
1) Kasir membuka aplikasi kasir Mynum by Ocik di web browser.
2) Seorang pelanggan menghampiri kasir dan memberikan pesanan.
3) Kasir memasukkan nama produk yang diminta oleh pelanggan ke dalam
aplikasi.
4) Aplikasi melakukan verifikasi ketersediaan stok produk.
5) Jika stok tersedia, kasir melanjutkan proses penjualan. Jika tidak tersedia,
kasir memberitahu pelanggan dan menawarkan alternatif.
Skenario 2: Perhitungan Total Harga dan Pembayaran
1) Setelah semua pesanan dimasukkan, aplikasi menghitung total harga
berdasarkan produk yang dimasukkan oleh kasir.
2) Kasir memberitahu pelanggan mengenai total harga.
3) Pelanggan melakukan pembayaran.
4) Kasir memasukkan informasi pembayaran ke dalam aplikasi kasir Mynum
by Ocik.
Skenario 3: Penyimpanan Data dan Laporan Penjualan
1) Setelah pembayaran selesai, kasir menyimpan data transaksi penjualan,
termasuk rincian produk, total harga, dan informasi pembayaran.
2) Aplikasi kasir Mynum by Ocik secara otomatis menyimpan data transaksi
tersebut.
3) Pengguna dapat mengakses laporan penjualan melalui aplikasi.
4) Kasir dapat melihat informasi tentang penjualan sebelumnya, dalam laporan
tersebut.
Skenario 4: Manajemen Data Produk
1) Kasir dapat mengelola informasi produk melalui aplikasi kasir Mynum by
Ocik.
2) Kasir dapat menambahkan produk baru, mengubah harga, menghapus
produk yang tidak tersedia, atau memperbarui informasi produk lainnya.
3) Perubahan pada data produk akan diterapkan secara real-time dalam sistem.
Skenario 5: Pelaporan dan Analisis
1) Pengguna dapat menghasilkan laporan penjualan yang menampilkan data
transaksi dalam rentang waktu tertentu.
2) Laporan penjualan mencakup informasi seperti jumlah penjualan, omset,
dan produk yang paling laris.
3) Informasi ini dapat digunakan untuk analisis bisnis, perencanaan
persediaan, atau pengambilan keputusan lainnya.
3
2.2.Analisis Kebutuhan DFD / Data Flow Diagram
4
Gaambar 2.2 Diagram Level 1
5
Gambar 2.3 Diagram Level 2 Proses 1
6
Gambar 2.5 Diagram Level 2 Proses 3
2.3.ERD (Entity Relationship Diagram)
7
2.4.Relasi Tabel
9
2.7.Database Aplikasi Kasir Mynum by Ocik
Dibuat database dengan nama mynum dengan rincian sebagai berikut :
1) Tabel login
Tabel login berisikan autentikasi username dan password aplikasi kasir yang
dapat digunakan oleh kasir untuk masuk aplikasi.
login
id_login int(11) PK
user varchar(255)
pass char(32)
id_member int(11)
10
5) Tabel barang
Tabel barang berisikan data data produk yang dijual mulai dari nama barang
harga beli atau modal harga jual stok dan yang lainnya.
barang
id int(11) PK
id_barang varchar(255)
id_kategori int(11)
nama_barang text
harga_beli varchar(255)
harga_jual varchar(255)
satuan_barang varchar(255)
stok text
tgl_input varchar(255)
tgl_update varchar(255)
11
CREATE TABLE `barang` (
`id` int(11) NOT NULL,
`id_barang` varchar(255) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`id_kategori` int(11) NOT NULL,
`nama_barang` text NOT NULL,
`harga_beli` varchar(255) NOT NULL,
`harga_jual` varchar(255) NOT NULL,
`satuan_barang` varchar(255) NOT NULL,
`stok` text NOT NULL,
`tgl_input` varchar(255) DEFAULT NULL,
`tgl_update` varchar(255) DEFAULT NULL
);
3) Pembuatan tabel kategori
CREATE TABLE `kategori` (
`id_kategori` int(11) NOT NULL PRIMARY KEY AUTO_INCREMEN,
`nama_kategori` varchar(255) NOT NULL,
`tgl_input` varchar(255) NOT NULL
);
4) Pembuatan tabel login
CREATE TABLE `login` (
`id_login` int(11) NOT NULL PRIMARY KEY AUTO_INCREMEN,
`user` varchar(255) NOT NULL,
`pass` char(32) NOT NULL,
`id_member` int(11) NOT NULL
);
5) Pembuatan tabel member
CREATE TABLE `member` (
`id_member` int(11) NOT NULL PRIMARY KEY AUTO_INCREMEN,
`nm_member` varchar(255) NOT NULL,
`alamat_member` text NOT NULL,
`telepon` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`gambar` text NOT NULL,
`NIK` text NOT NULL
);
6) Pembuatan tabel nota
CREATE TABLE `nota` (
`id_nota` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`id_barang` varchar(255) NOT NULL,
`id_member` int(11) NOT NULL,
`jumlah` varchar(255) NOT NULL,
`total` varchar(255) NOT NULL,
`tanggal_input` varchar(255) NOT NULL,
`periode` varchar(255) NOT NULL
);
7) Pembuatan tabel penjualan
12
CREATE TABLE `penjualan` (
`id_penjualan` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`id_barang` varchar(255) NOT NULL,
`id_member` int(11) NOT NULL,
`jumlah` varchar(255) NOT NULL,
`total` varchar(255) NOT NULL,
`tanggal_input` varchar(255) NOT NULL
);
8) Pembuatan tabel toko
CREATE TABLE `toko` (
`id_toko` int(11) NOT NULL PRIMARY KEY AUTO_INCREMEN,
`nama_toko` varchar(255) NOT NULL,
`alamat_toko` text NOT NULL,
`tlp` varchar(255) NOT NULL,
`nama_pemilik` varchar(255) NOT NULL
)
13
BAB 3 HASIL APLIKASI
3.1.Koneksi aplikasi dengan database
<?php
date_default_timezone_set("Asia/Jakarta");
error_reporting(0);
//server
$host = 'localhost'; // host server
$user = 'root'; // username server
$pass = ''; // password server
$dbname = 'mynum';
try{
$config = new PDO("mysql:host=$host;dbname=$dbname;",
$user,$pass);
// echo 'sukses';
}catch(PDOException $e){
echo 'koneksi gagal' .$e -> getMessage();
}
<?php
@ob_start();
14
session_start();
if(isset($_POST['proses'])){
require 'config.php';
15
3.4.Halaman Pengaturan Toko
Pada halaman ini disediakan formulir data toko yang ada pada database tabel toko
menggunakan query “select*from toko where id_toko='1'” akan menampilkan data
toko. Selanjutnya ketika pengguna mengubah data toko dan menekan update data
maka akan dijalankan query update ke tabel tokko seperti berikut “UPDATE toko
SET nama_toko=?, alamat_toko=?, tlp=?, nama_pemilik=? WHERE id_toko = ?”
maka akan mengupdate data toko yang lama menjadi yang telah dimasukan ke
formulir.
16
Pada data barang ditampilkan data seluruh produk yang ada di tabel barang pada
database terdapat juga fungsi edit dan hapus pada data produk. Ketika menjalankan
fungsi edit maka pengguna akan masuk ke halaman edit barang. Namun ketika
pengguna menekan hapus maka akan dijalankan perintah atau query untuk
menghapus data berdasarkan id produk atau barang pada tabel barang seperti
berikut “DELETE FROM barang WHERE id_barang=?” dengan query tersebut
akan menghapus data tertentu pada tabel barang. Terdapat juga navigasi insert data
untuk menambahkan data produk atau barang.
Ketika menekan insert data atau tambahkan data maka akan dijalankan query insert
data pada tabel barang di database seperti berikut 'INSERT INTO barang
(id_barang,id_kategori,nama_barang,harga_beli,harga_jual,satuan_barang,stok,tgl
_input)VALUES (?,?,?,?,?,?,?,?) ' data akan dimasukkan pada tabel barang sesuai
dengan isian dari formulir kasir.
17
3.7.Halaman Edit Data Barang
3.8.Halaman Transaksi
Pada halaman transaksi terdapat pencarian produk yang dipesan oleh customer
ketika melakukan pencarian produk maka akan menjalankan query "select barang.*,
kategori.id_kategori, kategori.nama_kategori from barang inner join kategori on
barang.id_kategori = kategori.id_kategori where barang.id_barang like '%$cari%'
18
or barang.nama_barang like '%$cari%'". Dengan menggunakan query ini, kita dapat
mencari barang berdasarkan kata kunci yang dicari (diwakili oleh variabel $cari)
dan mendapatkan informasi lengkap tentang barang tersebut beserta kategori
terkait.
Setelah produk ditemukan kasir dapat menekan tombol keranjang untuk
memasukkannya ke keranjang dan dilakukan query penyimpanan data ke tabel
penjualan 'INSERT INTO penjualan (id_barang, id_member, jumlah, total,
tanggal_input) VALUES (?,?,?,?,?)'. Jika kasir mengubah jumlah produk yang
dipesan maka dilakukan query update untuk mengubah data pada tabel penjualan
'UPDATE penjualan SET jumlah=?,total=? WHERE id_penjualan=?'. Setelah
selesai dan pelanggan memberikan nominal pembayaran kasir memasukkan
nominal ke formulir bayar dan menekan tombol bayar lalu akan dilakukan
penyimpanan data ke tabel nota pada database menggunakan query "INSERT
INTO nota (id_barang, id_member, jumlah, total, tanggal_input, periode)
VALUES(?,?,?,?,?,?)". Terdapat juga tombol reset keranjang untuk transaksi baru
dimana akan dijalankan query penghapusan seluruh data tabel penjualan.
Pada laporan penjualan akan terlihat daftar transaksi dari tabel nota menggunakan
query select.
19
BAB 4 PENUTUP
Lampiran
Link Video Youtube : https://youtu.be/IjnFSj9-oQg
Link File Project / Source Code : https://drive.google.com/file/d/1IjBF-
MXrO5SbOxRD0Ndo47LWyRmVLM1O/view?usp=drive_link
20