Tugas 2: Implementasi Model-View-Template (MVT) pada Django
Pemrograman Berbasis Platform (CSGE602022) — diselenggarakan oleh Fakultas Ilmu Komputer Universitas Indonesia, Semester Genap 2023/2024
Deskripsi Tugas
Pada tugas ini, kamu akan mengimplementasikan konsep Model-View-Template serta beberapa hal yang sudah kamu pelajari di kelas dan tutorial. Perlu diperhatikan bahwa proyek yang dibuat pada tugas berbeda dengan proyek yang digunakan pada tutorial.
Tema Aplikasi
Tema besar aplikasi untuk tugas PBP adalah aplikasi tracker. Pada semester ini, kamu diberikan kebebasan dalam memilih nama dan tema kecil aplikasi, kecuali book tracker yang sudah digunakan pada tutorial. Namun, aplikasi dari tugas kamu harus memiliki atribut-atribut berikut pada model aplikasimu.
namesebagai nama item dengan tipeCharField.amountsebagai jumlah item dengan tipeIntegerField.descriptionsebagai deskripsi item dengan tipeTextField.
Kamu dipersilakan untuk menambahkan atribut lainnya jika diinginkan, seperti date, category. Namun, model aplikasi kamu wajib memiliki ketiga atribut wajib di atas (name, amount, description). Nama dari ketiga atribut di atas dapat disesuaikan lagi dengan kebutuhan aplikasimu.
Beberapa contoh ide aplikasi pengelolaan yang dapat kamu buat adalah sebagai berikut.
- TV Series Tracker:
title,episodes,synopsis,rating,date. - Budget Tracker:
name,price,description,category,date. - Fitness Tracker:
name,calories,description,date
Checklist Tugas
Checklist untuk tugas ini adalah sebagai berikut.
- [ ] Membuat sebuah proyek Django baru.
- [ ] Membuat aplikasi dengan nama
mainpada proyek tersebut. - [ ] Melakukan routing pada proyek agar dapat menjalankan aplikasi
main. - [ ] Membuat model pada aplikasi
maindengan namaItemdan memiliki atribut wajib sebagai berikut.namesebagai nama item dengan tipeCharField.amountsebagai jumlah item dengan tipeIntegerField.descriptionsebagai deskripsi item dengan tipeTextField.
- [ ] Membuat sebuah fungsi pada
views.pyuntuk dikembalikan ke dalam sebuah template HTML yang menampilkan nama aplikasi serta nama dan kelas kamu. - [ ] Membuat sebuah routing pada
urls.pyaplikasimainuntuk memetakan fungsi yang telah dibuat padaviews.py. - [ ] Melakukan deployment ke PWS terhadap aplikasi yang sudah dibuat sehingga nantinya dapat diakses oleh teman-temanmu melalui Internet.
- [ ] Membuat sebuah
README.mdyang berisi tautan menuju aplikasi PWS yang sudah di-deploy, serta jawaban dari beberapa pertanyaan berikut.- Jelaskan bagaimana cara kamu mengimplementasikan checklist di atas secara step-by-step (bukan hanya sekadar mengikuti tutorial).
- Buatlah bagan yang berisi request client ke web aplikasi berbasis Django beserta responnya dan jelaskan pada bagan tersebut kaitan antara
urls.py,views.py,models.py, dan berkashtml. - Jelaskan mengapa kita menggunakan virtual environment? Apakah kita tetap dapat membuat aplikasi web berbasis Django tanpa menggunakan virtual environment?
- Jelaskan apakah itu MVC, MVT, MVVM dan perbedaan dari ketiganya.
Perhatikan bahwa kamu harus mengerjakan tugas ini menggunakan repositori yang berbeda dengan tutorial.
Tenggat Waktu Pengerjaan
Tenggat waktu pengerjaan Tugas 2 adalah hari Selasa, 13 Februari, pukul 12.00 siang.
Harap mengumpulkan link repositori yang kamu gunakan ke dalam slot submisi yang telah disediakan di SCELE.