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 : 



Desain Front End :







Controller :

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 :



Link Github :

Comments

Popular posts from this blog