Tugas 9: Integrasi Layanan Web Django dengan Aplikasi Flutter
Pemrograman Berbasis Platform (CSGE602022) — diselenggarakan oleh Fakultas Ilmu Komputer Universitas Indonesia, Semester Ganjil 2025/2026
Deskripsi Tugas
Pada tugas ini, kamu akan mengintegrasikan layanan Django yang sudah kamu buat pada tugas-tugas sebelumnya dengan aplikasi Flutter yang sudah kamu buat sebelumnya.
Checklist untuk tugas ini adalah sebagai berikut:
- Memastikan deployment proyek tugas Django kamu telah berjalan dengan baik.
- Mengimplementasikan fitur registrasi akun pada proyek tugas Flutter.
- Membuat halaman login pada proyek tugas Flutter.
- Mengintegrasikan sistem autentikasi Django dengan proyek tugas Flutter.
- Membuat model kustom sesuai dengan proyek aplikasi Django.
- Membuat halaman yang berisi daftar semua item yang terdapat pada endpoint
JSONdi Django yang telah kamu deploy.- Tampilkan name, price, description, thumbnail, category, dan is_featured dari masing-masing item pada halaman ini (Dapat disesuaikan dengan field yang kalian buat sebelumnya).
- Membuat halaman detail untuk setiap item yang terdapat pada halaman daftar Item.
- Halaman ini dapat diakses dengan menekan salah satu card item pada halaman daftar Item.
- Tampilkan seluruh atribut pada model item kamu pada halaman ini.
- Tambahkan tombol untuk kembali ke halaman daftar item.
- Melakukan filter pada halaman daftar item dengan hanya menampilkan item yang terasosiasi dengan pengguna yang login.
- Menjawab beberapa pertanyaan berikut pada
README.mdpada root folder (silakan modifikasiREADME.mdyang telah kamu buat sebelumnya; tambahkan subjudul untuk setiap tugas).- Jelaskan mengapa kita perlu membuat model Dart saat mengambil/mengirim data JSON? Apa konsekuensinya jika langsung memetakan
Map<String, dynamic>tanpa model (terkait validasi tipe, null-safety, maintainability)? - Apa fungsi package http dan CookieRequest dalam tugas ini? Jelaskan perbedaan peran http vs CookieRequest.
- Jelaskan mengapa instance CookieRequest perlu untuk dibagikan ke semua komponen di aplikasi Flutter.
- Jelaskan konfigurasi konektivitas yang diperlukan agar Flutter dapat berkomunikasi dengan Django. Mengapa kita perlu menambahkan 10.0.2.2 pada ALLOWED_HOSTS, mengaktifkan CORS dan pengaturan SameSite/cookie, dan menambahkan izin akses internet di Android? Apa yang akan terjadi jika konfigurasi tersebut tidak dilakukan dengan benar?
- Jelaskan mekanisme pengiriman data mulai dari input hingga dapat ditampilkan pada Flutter.
- Jelaskan mekanisme autentikasi dari login, register, hingga logout. Mulai dari input data akun pada Flutter ke Django hingga selesainya proses autentikasi oleh Django dan tampilnya menu pada Flutter.
- Jelaskan bagaimana cara kamu mengimplementasikan checklist di atas secara step-by-step! (bukan hanya sekadar mengikuti tutorial).
- Jelaskan mengapa kita perlu membuat model Dart saat mengambil/mengirim data JSON? Apa konsekuensinya jika langsung memetakan
- Melakukan
add-commit-pushke GitHub.
bahaya
Notes
- Pastikan design aplikasi yang kalian buat senada dengan website yang kalian buat sebelumnya dan berbeda dengan design yang ada di tutorial.
- Jangan lupa kumpulkan link deployment kalian ke scele ya.
- Asisten dosen akan mengecek last commit dari repositori tugas. Tugas yang melebihi 24 jam maka tugas tersebut akan dinilai 0. Jika kurang dari waktu tersebut, maka akan mendapat pengurangan nilai.
Tenggat Waktu Pengerjaan
Tenggat waktu pengerjaan Tugas 9 adalah Rabu, 19 November 2025, pukul 12.00 siang.