Anda di halaman 1dari 25

LAPORAN PROYEK PEMBUATAN APLIKASI KASIR KEDAI

“MYNUM BY OCIK” BERBASIS WEB

Untuk memenuhi tugas akhir mata kuliah Database

Disusun oleh:

Oky Lailatul Shintya (4101419105)

Elisa Dwi Rizky Fayzaty (4101420187)

Meriana Monalisa Panjaitan (4101420201)

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS NEGERI SEMARANG

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.2.Proses Bisnis Aplikasi


Berikut adalah gambaran proses bisnis yang terjadi dalam penggunaan aplikasi kasir
Mynum by Ocik:
a. Menerima Pesanan:
• Pelanggan menginformasikan kepada kasir produk yang ingin dibeli.
• Kasir memasukkan nama produk yang diminta ke dalam aplikasi kasir
Mynum by Ocik.
b. Menghitung Total Harga:
• Aplikasi kasir Mynum by Ocik menghitung total harga berdasarkan produk
yang dimasukkan oleh kasir.
• Kasir memastikan harga yang tertera sesuai dengan daftar belanjaan
pelanggan.
c. Pembayaran:
• Kasir memberi tahu total harga kepada pelanggan.
• Pelanggan melakukan pembayaran.
• Kasir memasukkan informasi pembayaran ke dalam aplikasi kasir Mynum
by Ocik.
d. Penyimpanan Data:
• Aplikasi kasir Mynum by Ocik secara otomatis menyimpan data transaksi
penjualan, termasuk rincian produk, total harga, dan informasi pembayaran.
• Data transaksi dapat diakses nanti untuk keperluan pelaporan dan analisis.
e. Menyajikan Pesanan:
• Setelah transaksi selesai, kasir memberikan pesanan kepada pelanggan.
• Pesanan dapat disajikan di tempat atau disiapkan untuk dibawa pulang,
tergantung pada kebutuhan pelanggan.
• Proses bisnis di atas mencakup langkah-langkah utama yang terjadi dalam
penggunaan aplikasi kasir Mynum by Ocik.
Dengan aplikasi ini, warung Mynum by Ocik dapat meningkatkan efisiensi dan
akurasi dalam proses penjualan, serta memiliki data transaksi yang tersimpan
dengan baik untuk keperluan pelaporan dan analisis.

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

Gambar 2.1 Diagram Level 0

4
Gaambar 2.2 Diagram Level 1

5
Gambar 2.3 Diagram Level 2 Proses 1

Gambar 2.4 Diagram Level 2 Proses 2

6
Gambar 2.5 Diagram Level 2 Proses 3
2.3.ERD (Entity Relationship Diagram)

Gambar 2.6 ERD Sistem

7
2.4.Relasi Tabel

Gambar 2.7 Relasi Tabel Database


2.5.Menu dan Fitur
FITUR DESKRIPSI
LOGIN Pengguna atau kasir memasukkan
informasi username dan password lalu
aplikasi akan memeriksa kecocokan
pada database
INSERT Melakukan penambahan produk,
penambahan daftar produk yang
dipesan pelanggan ke keranjang,
penambahan data transaksi.
UPDATE Melakukan perubahan data produk,
perubahan data keranjang pemesanan.
DELETE Menghapus data produk, menghapus
data keranjang.
CARI PRODUK Melakukan pencarian produk untuk
ditambahkan ke keranjang
VIEW REPORT Melihat laporan penjualan produk

Tabel 1 Menu dan Fitur


8
2.6.Flowchart Aplikasi
1) Flowchart Transaksi Penjualan

Gambar 2.8 Flowchart Transaksi Penjualan


2) Flowchart Data Barang

Gambar 2.9 Flowchart Data Barang

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)

Tabel 2 Data Login


2) Tabel member
Tabel member berisikan data identitas kasir sesuai dengan data login.
member
id_member int(11) PK
nm_member varchar(255)
alamat_member text
telepon varchar(255)
email varchar(255)
gambar text
nik text

Tabel 3 Data Member


3) Tabel toko
Tabel member berisikan data-data toko seperti nama toko alamat telepon dan
yang lainnya
toko
id_toko int(11) PK
nama_toko varchar(255)
alamat_toko text
tlp varchar(255)
nama_pemilik varchar(255)

Tabel 4 Data Toko


4) Tabel kategori
Tabel kategori berisikan jenis produk yang ada seperti kategori makanan dan
minuman
kategori
id_kategori int(11) PK
nama_kategori varchar(255)
tgl_input varchar(255)

Tabel 5 Data Kategori

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)

Tabel 6 Data Barang


6) Tabel penjualan
Tabel penjualan berisikan penyimpanan sementara keranjang ketika kasir
memasukkan daftar belanjaan customer untuk dihitung total dan kembalian
setelah itu disimpan pada tabel nota.
penjualan
id_penjualan int(11) PK
id_barang varchar(255)
id_member int(11)
jumlah varchar(255)
total varchar(255)
tanggal_input varchar(255)

Tabel 7 Data Penjualan


7) Tabel nota
Pada tabel nota berisikan data penjuala mulai dari jumlah prooduk jumlah
barang yang dibeli nominal pembayaran dan yang lainnya.
nota
id_nota int(11) PK
id_barang varchar(255)
id_member int(11)
jumlah varchar(255)
total varchar(255)
tanggal_input varchar(255)
periode Varchar(255)

Tabel 8 Data Nota


2.8.Query Pembuatan Database
1) CREATE DATABASE mynum
2) Pembuatan tabel barang

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();
}

$view = 'fungsi/view/view.php'; // direktori fungsi select data


?>

3.2.Halaman Login Kasir


Pada halaman ini menampilkan formulir login dengan meminta User ID dan
Password pengguna atau kasir ketika tombol sign in ditekan maka akan
menjalankan query memeriksa kecocokan user id dan password dari tabel login dan
member pada database

<?php
@ob_start();

14
session_start();
if(isset($_POST['proses'])){
require 'config.php';

// Mengambil data username dan password dari form login


$user = strip_tags($_POST['user']);
$pass = strip_tags($_POST['pass']);

// Query untuk memeriksa kecocokan username dan password di


tabel member dan login
$sql = 'select member.*, login.user, login.pass
from member inner join login on member.id_member =
login.id_member
where user =? and pass =?';
$row = $config->prepare($sql);
$row -> execute(array($user,$pass));
$jum = $row -> rowCount();

// Jika username dan password cocok, buat sesi admin dan


arahkan ke halaman index.php
if($jum > 0){
$hasil = $row -> fetch();
$_SESSION['admin'] = $hasil;
echo '<script>alert("Login
Sukses");window.location="index.php"</script>';
}else{
// Jika username dan password tidak cocok, tampilkan
pesan kesalahan dan kembali ke halaman sebelumnya
echo '<script>alert("Login Gagal");history.go(-
1);</script>';
}
}

3.3.Halaman Utama Admin


Pada halaman ini menampilkan data barang stok dan data telah terjual dengan
mengunakan query melihat data atau query “select” dari database. Terdapat navigasi
seperti data master transaksi dan pengaturan toko. Pada bagian kanan atas juga
terdapat navigasi untuk logout aplikasi.

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.

3.5.Halaman Data Barang

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.

3.6.Formulir Tambah Data Barang


Pengguna atau kasir akan diminta memasukkan data barang seperti kategori, nama,
modal/harga beli, harga jual dan lainnya.

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

Disediakan formulir yang menampilkan data produk yang akan diubah


menggunakan query select pada data barang dengan id barang tertentu. Ketika
pengguna menekan update data maka akan dijalankan query perubahan data pada
tabel barang di database sesuai dengan id barang yang diubah seperti berikut
'UPDATE barang SET id_kategori=?, nama_barang=?, harga_beli=?, harga_jual=?,
satuan_barang=?, stok=?, tgl_update=? WHERE id_barang=?'. WHERE id_barang
bermaksud menentukan data mana yang akan diubah berdasarkan id yang ada di
formulir.

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.

3.9.Halaman Laporan 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

Anda mungkin juga menyukai