Final Project PBKK (A)

 Pemrograman Berbasis Kerangka Kerja

Final Project - Kelas (A)

11/12/2023



Judul Project / App : BukuPedia

Paper Referensi : Jurnal Paper


1. Buatlah deskripsi studi kasus aplikasi ditinjau dari MVC nya!

Aplikasi BukuPedia yang merupakan aplikasi penjualan buku, menggunakan pendekatan Model-View-Controller (MVC). Dalam konteks penjualan buku, komponen-komponen inti MVC dapat disesuaikan seperti ini:

---Model (M)

Dalam konteks BukuPedia, Model akan bertanggung jawab atas pengelolaan data terkait buku, transaksi penjualan, dan informasi pengguna. Contoh model yang mungkin ada:

  • Buku: Memiliki fungsi-fungsi untuk mengakses, memperbarui, atau menghapus informasi buku dari database. Ini termasuk validasi data buku sebelum dimasukkan ke dalam sistem.
  • Transaksi: Menangani informasi terkait transaksi penjualan buku, termasuk pembayaran, status pengiriman, dan riwayat transaksi.
  • User: Menyimpan informasi pengguna seperti data pribadi, riwayat transaksi, dan informasi pembayaran.

---View (V)

View dalam BukuPedia akan berfokus pada antarmuka pengguna terkait penjualan buku dan interaksi dengan situs/web app. Beberapa contoh view yang dapat ada:

  • Halaman Beranda/Utama: Menampilkan daftar buku yang tersedia.
  • Halaman Detail Buku: Menampilkan informasi lengkap tentang suatu buku yang ingin dibeli, termasuk deskripsi, harga, dan opsi pembelian.
  • Halaman Riwayat Transaksi: Memungkinkan pengguna untuk melihat transaksi buku yang telah dibeli.
  • Halaman Login: Memungkinkan pengguna untuk masuk ke akun mereka dengan memasukkan informasi kredensial seperti username dan password. Halaman ini juga dapat berisi tautan atau elemen untuk mengatur ulang kata sandi (forgot password) dan pemberitahuan jika ada kesalahan saat masuk.
  • Halaman Register: Menyediakan formulir bagi pengguna yang ingin membuat akun baru di aplikasi. Pengguna diharuskan untuk memasukkan informasi seperti nama, alamat email, kata sandi, dan informasi pribadi lainnya yang diperlukan untuk membuat akun baru. Halaman ini juga mungkin menyertakan kebijakan privasi atau persyaratan penggunaan yang perlu disetujui oleh pengguna sebelum mendaftar.

---Controller (C)

Controller dalam BukuPedia akan mengatur logika bisnis, menerima input dari pengguna, dan menghubungkan model dengan tampilan yang sesuai. Beberapa contoh controller yang mungkin ada:

  • Controller Buku: Mengatur tindakan terkait buku, seperti menambahkan buku baru, mengelola stok, dan mengupdate informasi buku.
  • Controller Transaksi: Menangani proses transaksi, termasuk validasi pembayaran, dan pemrosesan pesanan.
  • Controller User: Bertanggung jawab atas aksi pengguna terkait profil, otentikasi, dan pengaturan akun.

---Integrasi

Dalam pengembangan menggunakan CodeIgniter, integrasi antara Model, View, dan Controller tercapai melalui fitur bawaan dari framework ini. Fasilitas seperti pembuatan model terkoneksi dengan basis data, tata letak tampilan yang responsive, serta pembuatan controller untuk mengontrol alur logika bisnis menjadi bagian utama dari proses ini.

Penerapan pendekatan MVC pada Aplikasi BukuPedia dengan CodeIgniter memberikan keuntungan berupa pemisahan yang jelas antara tampilan, logika bisnis, dan data. Ini menyederhanakan proses maintenance, pengembangan, dan perbaikan aplikasi secara signifikan.


2. Buatlah rancangan umum arsitektur atau fitur yang ada dalam aplikasi 

Dalam aplikasi BukuPedia, ada beberapa elemen utama yang perlu dipertimbangkan:

---Halaman Beranda/Utama:

Menampilkan katalog buku yang tersedia dengan informasi ringkas tentang setiap buku seperti judul, penulis, genre buku, dan harga.

---Halaman Detail Buku:

  • Menampilkan informasi lengkap tentang buku yang dipilih, seperti deskripsi, harga, dan cover buku.
  • Menyediakan fitur untuk stok barang, jumlah barang yang ingin dibeli dan melakukan pembelian langsung.

---Halaman Checkout /  Konfirmasi Belanja:

Proses checkout untuk menyelesaikan pembelian dengan informasi pengiriman, metode pembayaran dan detail pembayaran.

---Halaman Riwayat Transaksi:

Menyajikan riwayat transaksi pengguna, termasuk buku-buku yang telah dibeli beserta detail jumlah pembelian, kode transaksi, dan tanggal pembelian.

---Halaman Detail Transaksi:

Menyajikan informasi penting mengenai detail produk buku yang dibeli, detail pembayaran, alamat dan kuantitas dan juga informasi transaksi.

---Halaman Login & Register:

  • Halaman login untuk pengguna yang sudah memiliki akun, memungkinkan mereka masuk ke dalam akun mereka dan melakukan pembelian atau transaksi.
  • Halaman register untuk pengguna yang ingin membuat akun baru dengan mengisi formulir informasi pribadi.

Arsitektur Aplikasi BukuPedia akan didasarkan pada integrasi yang kuat antara Model, View, dan Controller dalam kerangka kerja MVC, memastikan pemisahan yang jelas antara tampilan, logika bisnis, dan data. Fitur-fitur tersebut akan membentuk ekosistem yang menyeluruh bagi pengguna untuk menjelajahi, membeli, dan meninjau informasi tentang buku serta transaksi mereka dalam aplikasi BukuPedia. 


3. Rancang desain databasenya  

Database BukuPedia sebagai berikut:


4. Buat desain front end  

Halaman Register User

Halaman Login User

Halaman Beranda / Utama


Halaman Detail Buku


Halaman Checkout 


Halaman Riwayat Transaksi


Halaman Detail Transaksi 


5. Tentukan Control yang akan mengandle logika back end. 

        Dalam kerangka kerja Model-View-Controller (MVC), bagian dari logika back end diimplementasikan melalui kontroler atau Controller. Kontroler bertanggung jawab atas pemrosesan data, logika aplikasi, dan menghubungkan model dengan tampilan yang tepat. Dalam konteks aplikasi BukuPedia yang fokus pada penjualan buku tanpa area admin atau fitur login/register, beberapa contoh kontroler yang dapat menghandle logika back end bisa seperti:

---BukuController

  • Mengelola operasi terkait buku seperti penambahan, pembaruan, dan penghapusan buku dari basis data.
  • Menyediakan akses ke informasi buku untuk ditampilkan pada halaman-halaman tampilan.

---TransaksiController

  • Menangani proses transaksi pembelian buku, termasuk konfirmasi pembayaran dan pemrosesan pesanan.
  • Menghubungkan model Transaksi dengan halaman proses Checkout.

---UserController

  • Mengelola aspek terkait pengguna, seperti data diri pengguna.
  • Memproses informasi pengguna yang mungkin diperlukan dalam proses pembelian seperti informasi pengiriman atau preferensi pembayaran.

---HomeController

Bertanggung jawab atas tampilan utama aplikasi, seperti menampilkan katalog buku.

---BaseController

Mengatur proses request dan response dari controller User, Transaksi dan Buku

    Setiap Controller ini akan mengatur fungsi-fungsi tertentu yang berkaitan dengan bagian logika back end dari aplikasi BukuPedia. Mereka berperan sebagai perantara antara model dan tampilan untuk memastikan data diolah dengan benar dan disajikan sesuai kebutuhan pada aplikasi.


6. Implementasikan rancangan yang sudah dibuat  menggunakan Framework NET, CI ataupun Framework Google 

Kami mengimplementasikan Aplikasi BukuPedia menggunakan Framework Codeigniter4 (Ci4), kode dapat diakses pada link berikut: GitHub


7. Buat video presentasinya, upload di youtube, dan didokumentasikan di blog.

Video Presentasi: YouTube

Comments

Popular posts from this blog

Tugas 9 Pert. 15 : Design Architecture

Quiz 1 / ETS PBKK (A)