PBKK B - FINAL PROJECT PBKK
PBKK B - FINAL PROJECT PBKK
Nama : Azhar Abiyu Rasendriya H
Kelas : PBKK B
NRP : 5025211177
Referensi : Penjualan Sayur
3. Desain Database
Referensi : Penjualan Sayur
1. Deskripsi Studi Kasus Aplikasi Ditinjau dari MVC (Model-View-Controller)
Model:
- Model bertanggung jawab untuk mengelola dan memanipulasi data. Dalam konteks e-commerce, model akan mencakup entitas seperti produk, pelanggan, pemesanan, dan stok.
- Setiap entitas akan memiliki atribut dan metode untuk berinteraksi dengan database, seperti menambahkan produk baru, memperbarui stok, atau mengelola informasi pelanggan.
View:
- View adalah representasi dari data yang ditampilkan kepada pengguna. Pada aplikasi e-commerce, view mencakup halaman login, dashboard admin, dashboard pelanggan, halaman produk, keranjang belanja, dan halaman pembayaran.
- Tampilan akan menampilkan informasi yang berasal dari model dan menanggapi tindakan pengguna, seperti menekan tombol "Beli" atau "Checkout".
Controller:
- Controller bertanggung jawab untuk mengelola alur kerja dan mengatur interaksi antara model dan view. Pada aplikasi e-commerce, controller akan menangani proses login, pendaftaran, penambahan produk ke keranjang, checkout, dan pemrosesan pesanan.
- Controller juga dapat mengatur validasi input, autentikasi pengguna, dan logika bisnis lainnya.
Dengan menggunakan pendekatan MVC, aplikasi e-commerce dapat diorganisir dengan baik, memungkinkan pemisahan tugas antara komponen-komponennya dan memudahkan pemeliharaan dan pengembangan lebih lanjut.
2. Rancangan umum arsitektur atau fitur yang ada dalam aplikasi
1) Halaman Masuk (Login) dan Pendaftaran (Registration): Autentikasi Pengguna: - Pengguna terbagi antara admin dan pelanggan dengan sistem login yang aman. - Validasi input dan perlindungan keamanan tingkat tinggi, seperti hashing password. Pendaftaran Pengguna Baru: - Pemisahan antara admin dan pelanggan untuk proses pendaftaran yang sesuai. - Formulir pendaftaran untuk pelanggan baru dengan verifikasi email. 2) Dashboard Admin dan Customer: 1. Dashboard Admin: - Grafik dan statistik visual tentang penjualan dan performa produk. - Ringkasan pemesanan, pengelolaan stok produk, dan informasi laporan penjualan. 2. Dashboard Customer: - Status pemesanan terkini dan riwayat pembelian. - Rekomendasi produk berdasarkan riwayat pembelian. - Menampilkan Semua produk dan dapat di cari melalui metode pencarian maupun filter 3) Manajemen Produk: 1. Tambah Produk: - Formulir untuk menambahkan produk baru dengan informasi seperti nama, deskripsi, harga, dan gambar produk. - Pilihan untuk mengunggah gambar produk dengan validasi tipe file dan ukuran. 2. Edit Produk: - Fasilitas untuk mengubah detail produk yang ada, termasuk harga, stok, atau deskripsi. - Riwayat perubahan produk untuk jejak audit. 3. Hapus Produk: -Proses penghapusan produk dengan konfirmasi untuk mencegah penghapusan tidak disengaja. 4) Pemesanan dan Konfirmasi Pesanan: 1. Pemesanan oleh Pelanggan: - Keranjang belanja interaktif untuk menambah, mengedit, atau menghapus item. - Proses checkout dengan pilihan pengiriman dan pembayaran. 2. Konfirmasi Pesanan oleh Admin: - Notifikasi untuk admin ketika ada pemesanan baru. - Pemrosesan pesanan dengan verifikasi stok dan persiapan pengiriman. 5) Halaman Keranjang Belanja: 1. Lihat dan Kelola Keranjang Belanja: - Tampilan yang jelas tentang item dalam keranjang dan total harga. - Pilihan untuk mengubah jumlah atau menghapus item sebelum checkout. 2. Perhitungan Otomatis Total Harga: - Sistem yang menghitung total harga secara otomatis berdasarkan item dalam keranjang 6) Halaman Pembayaran: 1. Lihat dan Kelola Belanja: - Tampilan yang jelas tentang item dalam keranjang dan total harga. - Metode Pembayaran yang mudah dan banyak metode - Dengan Visual yang simple mempermudah pengguna untuk memilih pembayaran 2. Sinkronisasi Pembayaran Cepat - Dengan adanya virtual account user dipermudah untuk pembayaran 7) Riwayat Pembelian - Histori Transaksi : Histori setelah melakukan transaksi - Notifikasi dan Pengingat Menerima pemberitahuan terkait Pembelian yang telah mereka pesan dan informasi penting terkait transaksi.
3. Desain Database
CREATE TABLE Produk (
id_produk INT PRIMARY KEY AUTO_INCREMENT, nama_produk VARCHAR(255) NOT NULL, deskripsi TEXT, harga INT NOT NULL, stok INT NOT NULL, gambar_produk VARCHAR(255), );
CREATE TABLE Pelanggan ( id_pelanggan INT PRIMARY KEY AUTO_INCREMENT, nama_pelanggan VARCHAR(255) NOT NULL, alamat TEXT, informasi_kontak VARCHAR(255), email_pelanggan VARCHAR(255) NOT NULL, password_pelanggan VARCHAR(255) NOT NULL, );
CREATE TABLE Pemesanan ( id_pemesanan INT PRIMARY KEY AUTO_INCREMENT, id_pelanggan INT, id_produk INT, jumlah INT NOT NULL, total_harga DECIMAL(10, 2) NOT NULL, status CHAR (1), waktu_pemesanan TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (id_pelanggan) REFERENCES Pelanggan(id_pelanggan), FOREIGN KEY (id_produk) REFERENCES Produk(id_produk), );
CREATE TABLE Produk ( | |
id_produk INT PRIMARY KEY AUTO_INCREMENT, | |
nama_produk VARCHAR(255) NOT NULL, | |
deskripsi TEXT, | |
harga INT NOT NULL, | |
stok INT NOT NULL, | |
gambar_produk VARCHAR(255), | |
); | |
CREATE TABLE Pelanggan ( | |
id_pelanggan INT PRIMARY KEY AUTO_INCREMENT, | |
nama_pelanggan VARCHAR(255) NOT NULL, | |
alamat TEXT, | |
informasi_kontak VARCHAR(255), | |
email_pelanggan VARCHAR(255) NOT NULL, | |
password_pelanggan VARCHAR(255) NOT NULL, | |
); | |
CREATE TABLE Pemesanan ( | |
id_pemesanan INT PRIMARY KEY AUTO_INCREMENT, | |
id_pelanggan INT, | |
id_produk INT, | |
jumlah INT NOT NULL, | |
total_harga DECIMAL(10, 2) NOT NULL, | |
status CHAR (1), | |
waktu_pemesanan TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
FOREIGN KEY (id_pelanggan) REFERENCES Pelanggan(id_pelanggan), | |
FOREIGN KEY (id_produk) REFERENCES Produk(id_produk), | |
); |
4. Desain Front-end
Login Page
Home Page UserDetail Product
Payment Method
Checkout Page
5. Controller yang akan Handle Backend:
1. LoginController:- HandleLogin: mengelola proses login, termasuk verifikasi kredensial dan inisialisasi sesi user- HandleLogout: mengatur proses logout, termasuk pembatan sesi user
2. DashboardController:- RetrieveDashboardData: mengambil data yang relevan untuk ditampilkan pada dashboard, seperti daftar agenda
3. AdminController:- Create: mengelola barang baru, termasuk validasi data dan penyimpanan ke database- Update: mengatur pembaruan barang yang ada, deskripsi, atau detail lainnya- Delete: menangani penghapusan barang dari sistem
4. HomeController- Untuk mengatur home
5. Controller yang akan Handle Backend:
1. LoginController:
- HandleLogin: mengelola proses login, termasuk verifikasi kredensial dan inisialisasi sesi user
- HandleLogout: mengatur proses logout, termasuk pembatan sesi user
2. DashboardController:
- RetrieveDashboardData: mengambil data yang relevan untuk ditampilkan pada dashboard, seperti daftar agenda
3. AdminController:
- Create: mengelola barang baru, termasuk validasi data dan penyimpanan ke database
- Update: mengatur pembaruan barang yang ada, deskripsi, atau detail lainnya
- Delete: menangani penghapusan barang dari sistem
Komentar
Posting Komentar