Final Project Pemrograman Berbasis Kerangka Kerja

Nama: Aurelio Killian Lexi Verrill
NRP: 5025211126
Kelas: Pemrograman Berbasis Kerangka Kerja B
Tahun: 2023/2024

 

  • Deskripsi Studi Kasus

    Referensi

    Aplikasi akan dibuat menggunakan pola arsitektur Model-View-Controller (MVC) yang memisahkan tiga komponen utama aplikasi, yaitu Model, View, dan Controller. Kerangka kerja yang akan digunakan adalah Codeigniter4, kerangka kerja PHP populer yang menggunakan pola arsitektur MVC. Setiap komponen MVC berdasarkan studi kasus yang dipilih adalah sebagai berikut:

    • Model:
      Merupakan komponen yang merepresentasikan data dan logika dari aplikasi. Pada studi kasus tersebut, model dapat menyimpan beberapa metode untuk mengakses data dari entitas yang ada, misalnya model wisata (WisataModel). Model tersebut meyimpan beberapa informasi seperti nama tabel bersangkutan pada database serta beberapa metode untuk mendapatkan data.

    • View:
      Merupakan komponen yang menangani tampilan atau antarmuka pengguna. Komponen ini akan dipanggil dari sebuah controller. View dapat berupa sebuah halaman maupun potongan beberapa komponen halaman.

    • Controller:
      Merupakan komponen yang berfungsi sebagai penghubung antara Model dan View. Dalam studi kasus tersebut, controller digunakan untuk mengelola halaman yang harus ditampilkan berdasarkan routes yang diakses oleh pengguna. Controller juga dapat mengakses metode dari sebuah model untuk mendapatkan data yang kemudian dapat diteruskan kepada view untuk ditampilkan. Misalnya routes /wisata akan ditangani oleh controller Page dengan metode wisata() yang akan memanggil metode getWisata() dari model Wisata untuk mendapatkan data wisata. Data tersebut kemudian dikirim kepada view pages/wisata

  • Rancangan dan Fitur

    Aplikasi akan dibuat menggunakan:

    Aplikasi akan dibuat menjadi sebuah website. Oleh karena itu, saya merancang aplikasi menggunakan CodeIgniter untuk membuat websitenya. Dalam aplikasi ini, akan terdapat beberapa entitas seperti user dan wisata. Database MySQL akan digunakan untuk menyimpan data-data tersebut. Setiap user harus mendaftar dan login untuk dapat mengakses halaman lain. User baru secara otomatis akan mendapatkan role user (pengguna dengan akses normal). Beberapa user dapat diubah role-nya menjadi admin (pengguna dengan hak akses lebih). Seorang admin dapat mengakses endpoint admin untuk mengelola data user dan wisata.

    Kategori pengguna, hak akses serta mekanisme autentikasi pengguna dibuat menggunakan library myth/auth. Library tersebut menyediakan tabel users serta beberapa tabel lain yang berhubungan dengan autentikasi seperti auth_groups, auth_permissions dan auth_groups_users untuk memberikan hak akses tertentu pada pengguna. Dengan adanya role pengguna, beberapa route dapat diberikan suatu filter untuk membatasi akses pada user tertentu.

    Fitur fitur yang akan dibuat:
    • Autentikasi (Login dan Register)
    • Dashboard Admin (CRUD Wisata dan membaca data User)
    • Melihat daftar Wisata
    • Melihat detail Wisata
    • Memesan tiket
    • Melihat histori transaksi tiket

  • Rancangan Database




  • Desain Front End

    Desain Front End untuk halaman Dashboard menggunakan templat SB Admin yang berbasis bootstrap.











  • Logika Back End

    Setiap routes atau endpoint yang dibuat akan dihandle oleh sebuah controller dan method tertentu. Suatu method akan merender sebuah view, baik dengan memasukkan data maupun tidak. Sebuah method yang mengirimkan data akan menggunakan beberapa fungsi pada model untuk mengambil data dari database, misalnya getWisata($id). Beberapa view akan dipecah menjadi beberapa templates atau partials untuk mempermudah pengembangan.

    Beberapa routes akan diberikan suatu filter untuk membatasi akses oleh pengguna. Misalnya, routes /admin hanya dapat diakses oleh pengguna dengan role (auth_groups) admin. Selain itu, semua routes hanya dapat diakses setelah pengguna menyelesaikan tahapan login. Hal tersebut diatur pada konfigurasi myth/auth pada file app/Config/Filters.php

    Routes
    • /home
      Menampilkan Homepage. Dihandle oleh Controller Page, method index yang akan mengembalikan view halaman homepage

    • /wisata
      Menampilkan list wisata

    •  /user
      Menampilkan halaman profil pengguna

    • /admin dan semua routes di bawahnya
      Menampilkan dan memproses aksi CRUD oleh admin seperti melihat daftar pengguna serta melihat, menambahkan, mengubah, dan menghapus data wisata.




 

Comments

Popular posts from this blog

PBKK - Tugas 9 - CodeIgniter: Route dan Controller

PBKK - Tugas 1

EAS PWeb