Tugas 8: Flutter Navigation, Layouts, Forms, and Input Elements
Pemrograman Berbasis Platform (CSGE602022) Diselenggarakan oleh Fakultas Ilmu Komputer Universitas Indonesia Semester Ganjil 2025/2026
Deskripsi Tugas
Pada tugas ini, kamu akan mengimplementasikan navigation, layout, form, dan form input elements pada aplikasi Flutter yang kamu buat pada tugas sebelumnya.
Checklist untuk tugas ini adalah sebagai berikut:
- Membuat minimal satu halaman baru pada aplikasi, yaitu halaman formulir tambah produk baru dengan ketentuan sebagai berikut:
- Memakai minimal tiga elemen input, yaitu
name,price, dandescription.
Tambahkan elemen input lain sesuai dengan model pada aplikasi Football Shop Django yang telah kamu buat (misalnyathumbnail,category, danisFeatured). - Memiliki sebuah tombol Save.
- Setiap elemen input di formulir juga harus divalidasi dengan ketentuan sebagai berikut:
- Setiap elemen input tidak boleh kosong.
- Setiap elemen input harus berisi data dengan tipe data atribut modelnya.
- Memakai minimal tiga elemen input, yaitu
⚠️ Peringatan:
Perhatikan kasus seperti angka negatif, panjang string minimum/maksimum, dan format data (misalnya URL untuk thumbnail). Tidak hanya tipe datanya saja!
-
Mengarahkan pengguna ke halaman form tambah produk baru ketika menekan tombol Tambah Produk pada halaman utama.
-
Memunculkan data sesuai isi dari formulir yang diisi dalam sebuah pop-up setelah menekan tombol Save pada halaman form tambah produk baru.
-
Membuat sebuah drawer pada aplikasi dengan ketentuan sebagai berikut:
- Drawer minimal memiliki dua buah opsi, yaitu Halaman Utama dan Tambah Produk.
- Ketika memilih opsi Halaman Utama, aplikasi akan mengarahkan pengguna ke halaman utama.
- Ketika memilih opsi Tambah Produk, aplikasi akan mengarahkan pengguna ke halaman form tambah produk baru.
-
Menjawab beberapa pertanyaan berikut pada
README.mdpada root folder (silakan modifikasiREADME.mdyang telah kamu buat sebelumnya dan tambahkan subjudul untuk setiap tugas):-
Jelaskan perbedaan antara
Navigator.push()danNavigator.pushReplacement()pada Flutter. Dalam kasus apa sebaiknya masing-masing digunakan pada aplikasi Football Shop kamu? -
Bagaimana kamu memanfaatkan hierarchy widget seperti
Scaffold,AppBar, danDraweruntuk membangun struktur halaman yang konsisten di seluruh aplikasi? -
Dalam konteks desain antarmuka, apa kelebihan menggunakan layout widget seperti
Padding,SingleChildScrollView, danListViewsaat menampilkan elemen-elemen form? Berikan contoh penggunaannya dari aplikasi kamu. -
Bagaimana kamu menyesuaikan warna tema agar aplikasi Football Shop memiliki identitas visual yang konsisten dengan brand toko?
-
-
Melakukan
add,commit, danpushke GitHub.
🕛 Tenggat Waktu: Rabu, 12 November 2025, pukul 12.00 siang.