Final Project Pemrograman Berbasis Kerangka Kerja
Nama : Ihsan Widagdo
NRP : 5025211231
Kelas : B
Pada kali ini saya akan menyelesaikan penugasan final project PBKK kelas B, berikut merupakan referensi saya untuk menyelesaikan final project ini :
Poin 1, 2, 3, 4, dan 5
1. MVC (Model-View-Controller) adalah sebuah pola desain arsitektural yang memisahkan komponen aplikasi menjadi tiga bagian utama: Model, View, dan Controller. Mari kita lihat studi kasus aplikasi sederhana dan analisisnya berdasarkan pola desain MVC:
### Studi Kasus: Aplikasi To-Do List
#### Model:
Model adalah bagian aplikasi yang bertanggung jawab untuk mengelola data dan logika aplikasi. Dalam aplikasi To-Do List, model dapat mencakup:
- **Task Model:** Representasi data untuk tugas, termasuk properti seperti nama tugas, status selesai, dan tanggal jatuh tempo.
- **Database Service:** Komponen yang berinteraksi dengan database atau menyimpan tugas-tugas pengguna.
#### View:
View adalah bagian yang menangani presentasi data dan interaksi pengguna. Dalam To-Do List, view dapat terdiri dari:
- **Task List View:** Menampilkan daftar tugas yang harus dilakukan, mungkin dalam bentuk daftar atau tabel.
- **Form View:** Menampilkan formulir untuk menambah atau mengedit tugas.
#### Controller:
Controller bertanggung jawab untuk mengatur alur kontrol dalam aplikasi dan berfungsi sebagai perantara antara Model dan View. Dalam To-Do List, controller bisa memiliki:
- **Task Controller:** Menangani logika untuk menambah, mengedit, dan menghapus tugas. Berkomunikasi dengan model dan memperbarui tampilan setelah perubahan data.
- **User Input Controller:** Menangani input pengguna dari formulir dan mengarahkannya ke model yang sesuai.
### Alur Aplikasi:
1. **Pengguna membuka aplikasi:**
- View menampilkan daftar tugas dari Model.
- Controller bertanggung jawab atas permintaan ini dan berkomunikasi dengan Model untuk mendapatkan data.
2. **Pengguna menambah tugas baru:**
- View mengirimkan permintaan ke Controller untuk menambah tugas.
- Controller memvalidasi dan menyimpan data baru ke Model.
- Model mengirim notifikasi ke Controller setelah berhasil menyimpan.
- Controller memperbarui View dengan daftar tugas yang diperbarui.
3. **Pengguna menandai tugas sebagai selesai:**
- View mengirimkan permintaan ke Controller untuk memperbarui status tugas.
- Controller memperbarui Model dengan status yang benar.
- Model memberi tahu Controller setelah perubahan.
- Controller memperbarui View untuk mencerminkan perubahan.
4. **Pengguna menghapus tugas:**
- View mengirimkan permintaan ke Controller untuk menghapus tugas.
- Controller menghapus tugas dari Model.
- Model memberi tahu Controller setelah penghapusan.
- Controller memperbarui View dengan daftar tugas yang diperbarui.
Rancangan database :
TaskController:
Deskripsi: Mengelola logika terkait tugas, seperti menambah, mengedit, dan menghapus tugas.
Fungsi Utama:
Mengambil daftar tugas dari Model untuk ditampilkan di View.
Menambah tugas baru ke dalam Model.
Memperbarui status atau detail tugas di Model.
Menghapus tugas dari Model.
Komunikasi: Berinteraksi langsung dengan Model untuk mengakses atau memodifikasi data tugas.
UserController:
Deskripsi: Mengelola logika terkait pengguna, seperti login, logout, dan manajemen pengguna.
Fungsi Utama:
Menangani proses login dan logout.
Memvalidasi dan menyimpan informasi pengguna.
Memastikan keamanan dan autentikasi pengguna.
Komunikasi: Berinteraksi dengan Model terkait pengguna dan dapat memicu perubahan tampilan (View) setelah aksi pengguna.
FormController:
Deskripsi: Menangani logika terkait formulir, validasi input, dan interaksi pengguna dengan formulir.
Fungsi Utama:
Memvalidasi input dari pengguna sebelum mengirimkannya ke Model.
Menangani aksi pengguna terkait formulir, seperti pengisian formulir dan pengiriman data.
Komunikasi: Berinteraksi dengan Model jika perlu memvalidasi atau menyimpan data formulir. Juga dapat memperbarui tampilan formulir di View.
Poin 6
Anggota Kelompok :
1. Ihsan Widagdo - 5025211231
2. Adam Haidar Azizi - 5025211114
3. Lihardo Marson Purba - 5025211238
Video Demo :
Comments
Post a Comment