Final Project PBKK - Implementasi Paper

Nama    : Mohammad Zhafran Dzaky

NRP    : 5025211142

Kelas    : Pemrograman Berbasis Kerangka Kerja (B)


Link :


Penjelasan Singkat :

Final Project mata kuliah Pemrograman Berbasis Kerangka Kerja (PBKK) kali ini adalah mengimplementasikan sebuah paper terkait pembuatan sebuah sistem informasi berbasis website bertema bebas dengan menggunakan salah satu framework yang pernah dipelajari selama mata kuliah ini. Dan kelompok saya memilih paper milik Yeni Anggraini, Donaya Pasha, Damayanti Damayanti, dan Aan Setiawan terkait sebuah aplikasi website untuk usaha penjualan sepeda menggunakan kerangka kerja CodeIgniter. Berikut ini adalah link untuk paper tersebut beserta dengan sitasinya :

  • Link Paper : Link Paper
  • Sitasi : Anggraini, Y., Pasha, D. and Damayanti, D., 2020. Sistem Informasi Penjualan Sepeda Berbasis Web Menggunakan Framework Codeigniter. Jurnal Teknologi Dan Sistem Informasi, 1(2), pp.64-70.

1. Buatlah deskripsi studi kasus aplikasi ditinjau dari MVC nya

Aplikasi yang akan dikembangkan adalah sebuah platform berbasis website, yaitu Sistem Informasi untuk perusahaan penjualan sepeda. Tujuan utama dari aplikasi ini adalah memfasilitasi perusahaan dalam memasarkan sepeda secara online tanpa memerlukan pertemuan langsung untuk melakukan transaksi. Proyek ini akan menggunakan bahasa pemrograman PHP dan memanfaatkan kerangka kerja CodeIgniter4. Keputusan untuk menggunakan CodeIgniter4 didasarkan pada kesesuaian dengan referensi yang telah ada dan kualitasnya yang terbukti efektif dalam membangun aplikasi fullstack berbasis website, memberikan kecepatan dan kemudahan bagi para pengembang.

Aplikasi akan diimplementasikan dengan mengikuti pola desain Model-View-Controller (MVC), sejalan dengan referensi yang telah dipilih. Dengan menerapkan MVC, terjadi pemisahan antara lapisan logika aplikasi dan presentasi. Hal ini memungkinkan seorang pengembang web untuk fokus pada inti sistem. Secara visual, alur program aplikasi dengan MVC dapat diilustrasikan seperti yang terlihat pada gambar di bawah ini.




Dalam konteks struktur MVC aplikasi ini, setiap komponen memiliki peran masing-masing:

  • Model: Bertanggung jawab atas semua aspek yang berkaitan dengan data, termasuk registrasi dan login pengguna, penyimpanan daftar sepeda beserta stok terkini secara real-time, serta semua transaksi yang terjadi pada sistem. Model berinteraksi dengan Controller untuk menyampaikan data yang diperlukan.

  • View: Menyajikan antarmuka pengguna yang langsung berinteraksi dengan pengguna saat mengakses aplikasi. Termasuk di dalamnya halaman registrasi dan login pengguna, katalog sepeda, detail sepeda, daftar sepeda dalam keranjang, proses pembelian dan konfirmasi transaksi, riwayat transaksi, dan dashboard admin. View berhubungan secara langsung dengan Controller untuk logika yang mendukung pengalaman pengguna.

  • Controller: Berperan sebagai inti dari fitur dan logika bisnis dalam aplikasi. Bertanggung jawab untuk memastikan semua mekanisme aplikasi berjalan dengan baik, mengintegrasikan View dan Model dari setiap fitur. Tujuannya adalah agar fungsionalitas aplikasi dapat berjalan dengan lancar, dengan Controller mengirimkan data dari Model ke View untuk tampilan pengguna.

2. Buatlah desain umum untuk arsitektur atau fitur yang ada dalam aplikasi.

Dalam aplikasi ini, terdapat fitur autentikasi yang memungkinkan pengguna untuk mendaftar dan melakukan login menggunakan kredensial yang telah mereka daftarkan. Aplikasi terbagi menjadi dua sisi utama, yaitu sisi pengguna dan sisi admin.

Dari sisi pengguna, pengguna akan dihadapkan pada landing page sebagai halaman utama yang menampilkan katalog lengkap sepeda yang tersedia di perusahaan. Setiap sepeda memiliki halaman detail yang mencakup informasi seperti nama, merk, kategori, harga, stok, gambar, dan lainnya. Pengguna dapat melakukan pembelian dengan menambahkan sepeda ke dalam keranjang, yang memiliki halaman tersendiri untuk menampilkan semua item yang ada di dalamnya. Pada halaman keranjang, pengguna dapat menambahkan, mengurangi, atau menghapus sepeda. Terdapat juga halaman transaksi untuk melakukan proses pembelian dan pembayaran, serta halaman riwayat transaksi yang menampilkan detail transaksi yang pernah dilakukan pengguna.

Berikut adalah daftar fitur pengguna:
  • Landing Page
  • Melihat Katalog Sepeda
  • Melihat Detil Sepeda
  • Memasukkan ke dalam Keranjang
  • Melihat isi Keranjang
  • Menambahkan/Mengurangi jumlah setiap sepeda pada Keranjang
  • Menghapus Sepeda dari Keranjang
  • Melakukan Pembelian/Transaksi (Stok sepeda akan otomatis ter-update)
  • Melihat Riwayat Transaksi Pengguna
  • Melihat Detil Transaksi
Dari sisi admin, halaman utama adalah halaman kelola sepeda yang menampilkan semua sepeda dalam bentuk tabel untuk kemudahan pembacaan. Admin dapat menambahkan jenis sepeda baru, mengedit informasi atau atribut dari sepeda yang sudah ada, dan menghapus sepeda dari katalog. Fitur admin pada dasarnya terkait dengan operasi CRUD terhadap sepeda dan melihat transaksi, dengan daftar fitur sebagai berikut:

  • Melihat Katalog Sepeda
  • Menambahkan Sepeda Baru
  • Mengubah informasi/atribut dari sepeda yang tersedia
  • Menghapus Sepeda dari Katalog
  • Melihat Penjualan (Transaksi) dan Detailnya

3. 

Database yang digunakan untuk mendukung aplikasi Sistem Informasi penjualan sepeda terdiri dari 5 entitas utama, yaitu Pengguna (Users), Sepeda (Bikes), Barang_Keranjang (Cart_Products), Keranjang (Cart), dan Transaksi (Transactions). Berikut adalah model konseptual (CDM) dan model fisik (PDM) dari database untuk aplikasi ini:





Catatan: Pada aplikasi, entitas Keranjang akan diimplementasikan sebagai entitas bayangan yang tidak dibuat secara fisik, namun hanya digunakan secara konseptual.

4. Rancangan Desain Frontend

Berikut ini adalah gambaran desain konseptual untuk beberapa halaman View yang akan membentuk antarmuka pengguna (Front-end) pada aplikasi:











5. Tentukan Control yang akan mengandle logika back end.

Berikut adalah daftar Controller yang akan mengelola mekanisme dan alur dari fitur atau logika bisnis aplikasi:
  • UserController :
Bertanggung jawab atas semua mekanisme terkait pengguna, termasuk Registrasi, Login, Edit Data Pengguna, dan Hapus Pengguna.
Berkaitan langsung dengan model Users (Pengguna).

  • BikeController :
Menangani semua mekanisme terkait sepeda, produk utama dalam aplikasi, seperti Menampilkan Katalog Sepeda dan Detail Sepeda.
Berkaitan langsung dengan model Bikes (Sepeda).

  • CartController :
Bertanggung jawab atas mekanisme terkait keranjang, termasuk Memasukkan ke dalam keranjang, Melihat isi keranjang, Menambahkan/Mengurangi jumlah sepeda dalam keranjang, dan Menghapus isi keranjang.
Berkaitan langsung dengan model Cart_Products (Barang_Keranjang).

  • TransactionController :
Menangani mekanisme terkait transaksi, termasuk Melakukan Pembelian/Transaksi (Checkout), Melihat Riwayat Transaksi Pengguna, dan Melihat Detil Riwayat Transaksi.
Berkaitan langsung dengan model Transactions (Transaksi).

  • AdminController :
Bertanggung jawab atas semua mekanisme di sisi admin, seperti Menambahkan Sepeda, Edit Sepeda, dan Menghapus Sepeda yang berkaitan dengan sepeda.
Menangani mekanisme fitur Melihat Penjualan dan Detail Penjualan yang mengarah ke transaksi.
Berkaitan langsung dengan model Bikes (Sepeda) dan Transactions (Transaksi).

Setiap Controller memiliki tanggung jawabnya sendiri dan berhubungan langsung dengan model-model yang sesuai. Dengan pendekatan ini, logika back end aplikasi dapat dikelola secara terorganisir sesuai dengan fungsionalitas masing-masing Controller.


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

Berikut ini adalah hasil implementasi dari aplikasi ini dalam bentuk repository github :
Link GitHub: Repository

Repository ini bersifat publik sehingga siapa saja dapat mengakses repository tersebut untuk melihat struktur proyek, kode sumber, dan file-file terkait dengan implementasi Sistem Informasi penjualan sepeda berbasis CodeIgniter4.


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

Berikut ini adalah video presentasi dari kelompok kami untuk aplikasi sistem informasi penjualan sepeda ini yang kami beri nama "SepedaKuy"









Komentar

Postingan populer dari blog ini