Rencana Pembelajaran Mingguan Untuk 14 JP (Senin 2 JP, Selasa 6 JP, Kamis 6 JP), saya berencana mengarahkan prakikum pembelajaran membuat aplikasi π Daftar Menu Kantin dijadikan proyek bertahap, bukan langsung memberikan
main.dart lengkap.
Target akhirnya:
Siswa mampu membuat aplikasi Flutter sederhana yang menampilkan daftar kantin, menu makanan/minuman, harga, kategori, dan detail menu, kemudian memodifikasinya dengan fitur hasil pemikiran sendiri.
π PRAKTIKUM FLUTTER
Aplikasi Daftar Menu Kantin SMKN 1 Banjar
⏱️ Total: 14 JP
| Hari | JP | Fokus |
|---|---|---|
| Senin | 2 JP | π§ Konsep + Demo + mulai UI |
| Selasa | 6 JP | π» Praktik membangun aplikasi |
| Kamis | 6 JP | π Penyempurnaan + Challenge + Presentasi |
Pola pembelajaran
| Aktivitas | Porsi | Total 14 JP |
|---|---|---|
| π§ Konsep | 15% | ±2 JP |
| π¨π« Demo | 20% | ±3 JP |
| π» Praktik | 45% | ±6 JP |
| π Challenge | 20% | ±3 JP |
π― TARGET AKHIR
Pada akhir praktikum siswa memiliki aplikasi:
π KANTIN SMKN 1 BANJAR
Contoh tampilan:
┌──────────────────────────────┐ │ π Kantin SMKN 1 Banjar │ │ Temukan menu favoritmu! │ ├──────────────────────────────┤ │ π Cari menu... │ ├──────────────────────────────┤ │ Kategori │ │ [Semua] [Makanan] [Minuman] │ ├──────────────────────────────┤ │ │ │ π Mie Goreng │ │ Kantin Bu Ani │ │ Rp 8.000 │ │ │ │ π Ayam Geprek │ │ Kantin Pak Udin │ │ Rp 12.000 │ │ │ │ π₯€ Es Teh │ │ Kantin Bu Ani │ │ Rp 3.000 │ │ │ └──────────────────────────────┘
Tidak harus persis seperti ini. Yang penting struktur dan konsepnya dipahami siswa.
π¦ SENIN — 2 JP
"Kenalan dengan Aplikasi yang Akan Dibuat"
π― Tujuan
Siswa mampu:
- memahami tujuan aplikasi;
- mengidentifikasi komponen UI;
-
memahami
MaterialApp; -
memahami
Scaffold; -
menggunakan
AppBar; -
menggunakan
Text; -
menggunakan
Container; -
menggunakan
Column; -
menggunakan
Row; -
menggunakan
Card.
JP 1 — KONSEP + ANALISIS
1. Guru membuka dengan masalah nyata
Jangan langsung mulai dari kode.
Tanyakan:
"Kalau kalian ingin membeli makanan di kantin sekolah, informasi apa yang kalian butuhkan?"
Biarkan siswa menjawab:
- nama makanan;
- harga;
- kantin;
- kategori;
- foto;
- ketersediaan;
- dll.
Kemudian guru:
"Nah, hari ini kita akan mengubah informasi tersebut menjadi aplikasi mobile."
π§ Aktivitas 1 — Analisis UI
Tampilkan rancangan sederhana:
KANTIN SMKN 1 BANJAR [ π Cari Menu ] Kategori: [ Semua ] [ Makanan ] [ Minuman ] ------------------------- π Mie Goreng Kantin Bu Ani Rp8.000 ------------------------- π Ayam Geprek Kantin Pak Udin Rp12.000 -------------------------
Siswa mengisi tabel:
| Komponen | Widget Flutter yang mungkin digunakan |
|---|---|
| Judul aplikasi | ? |
| Nama makanan | ? |
| Harga | ? |
| Kartu menu | ? |
| Tombol | ? |
| Gambar | ? |
Jangan langsung diberikan jawabannya.
Tujuannya supaya mereka mulai berpikir:
"Masalah → desain → widget."
JP 2 — DEMO GURU
Guru membuat aplikasi dari kosong bersama siswa.
Urutannya:
flutter create kantin_app ↓ main.dart ↓ MaterialApp ↓ Scaffold ↓ AppBar ↓ Body ↓ Column ↓ Card
Guru cukup membuat 1 kartu menu.
Misalnya:
π Mie Goreng Kantin Bu Ani Rp8.000
Jangan membuat seluruh aplikasi.
Ini penting.
Guru hanya memberikan:
"Contoh 1 item. Sisanya kalian lanjutkan."
π TUGAS SENIN
Siswa harus menghasilkan:
Minimal
AppBar ↓ Judul ↓ 1 Card Menu ↓ Nama ↓ Kantin ↓ Harga
Bukti pekerjaan
Siswa mengumpulkan:
- Screenshot aplikasi.
- Screenshot kode.
- Menjawab 5 pertanyaan.
Contoh:
1. Apa fungsi Scaffold?
2. Apa fungsi Column?
3. Apa fungsi Card?
4. Mengapa Text digunakan untuk nama makanan?
5. Apa yang terjadi jika Column diganti dengan Row?
π¨ SELASA — 6 JP
"Membangun Daftar Menu"
Ini sesi pembangunan aplikasi utama.
JP 3 — MEMBUAT DATA MENU
Guru mengenalkan konsep:
List
Contoh konsep:
Daftar menu 1. Mie Goreng 2. Nasi Goreng 3. Ayam Geprek 4. Es Teh 5. Es Jeruk
Siswa membuat beberapa data.
Target:
Minimal 5 menu.
JP 4 — MEMBUAT LIST MENU
Masuk ke:
ListView
Siswa mengubah:
satu Card
menjadi:
banyak Card.
Konsep:
List data ↓ perulangan ↓ Widget ↓ ListView
JP 5 — MEMBUAT MODEL MENU
Mulai dikenalkan struktur data sederhana.
Misalnya setiap menu memiliki:
nama harga kategori kantin
Contoh secara konsep:
Menu ├── nama ├── harga ├── kategori └── kantin
Guru menjelaskan bahwa aplikasi nyata tidak menyimpan semua informasi sebagai teks acak.
JP 6 — MEMBUAT UI LEBIH MENARIK
Siswa menambahkan:
- Icon;
- warna;
- Card;
- spacing;
- border radius;
- typography;
- gambar jika memungkinkan.
Challenge kecil
Guru memberikan:
"Buat kartu menu kalian berbeda dari contoh guru."
Misalnya:
- harga diberi warna;
- icon makanan;
- badge kategori;
- layout harga di sebelah kanan.
JP 7 — DETAIL MENU
Ketika menu diklik:
Daftar Menu ↓ Klik Mie Goreng ↓ Detail Menu
Halaman detail:
π Mie Goreng Kantin Bu Ani Rp8.000 Kategori: Makanan Deskripsi: Mie goreng dengan telur...
Siswa belajar:
Navigator
dan konsep:
Halaman → halaman lain
JP 8 — CHECKPOINT SELASA
Di akhir Selasa, aplikasi minimal harus sudah memiliki:
✅ Wajib
- AppBar
- Daftar menu
- Minimal 5 menu
- Nama menu
- Harga
- Kantin
- Kategori
- Card
- ListView
- Klik menu
- Halaman detail
πΈ Bukti
Siswa mengumpulkan:
Screenshot 1
Halaman daftar menu.
Screenshot 2
Halaman detail.
Screenshot 3
Kode program.
π© KAMIS — 6 JP
"Jangan Copy-Paste — Buat Aplikasi Versimu"
Ini bagian yang saya sarankan dibuat lebih serius.
Karena setelah dua hari siswa sudah memiliki produk dasar, Kamis digunakan untuk:
MODIFIKASI + CHALLENGE + PRESENTASI
JP 9 — SEARCH MENU
Guru memperkenalkan:
TextField
Siswa membuat:
π Cari menu...
Ketika mengetik:
ayam
yang ditampilkan:
π Ayam Geprek π Ayam Bakar
JP 10 — FILTER KATEGORI
Tambahkan:
[ Semua ] [ Makanan ] [ Minuman ] [ Snack ]
Contoh:
Semua ↓ semua menu Minuman ↓ Es Teh Es Jeruk Jus Alpukat
Siswa belajar konsep:
data → filter → tampilan
JP 11 — PERSONALISASI UI
Sekarang guru tidak memberikan desain.
Instruksi:
"Buat aplikasi kalian memiliki identitas sendiri."
Siswa memilih:
- warna utama;
- logo;
- nama kantin;
- icon;
- layout Card;
- font;
- background.
Aturan:
Tidak boleh semua siswa memiliki UI identik.
JP 12 — π CHALLENGE
Nah, ini bagian 20% Challenge.
Setiap siswa/kelompok wajib mengambil minimal 2 challenge.
π’ Level 1
- Tambahkan foto menu.
- Tambahkan kategori.
- Tambahkan icon.
- Tambahkan rating.
- Tambahkan deskripsi.
π‘ Level 2
- Search menu.
- Filter kategori.
- Tombol favorit ❤️.
- Menu "Promo".
- Status tersedia/habis.
π΄ Level 3
Untuk siswa yang lebih cepat:
- Keranjang sederhana.
- Hitung total harga.
- Quantity +/−.
- Halaman checkout.
- Dark mode.
- Sorting harga termurah → termahal.
π§ ATURAN ANTI COPY-PASTE AI
Saya sangat menyarankan membuat aturan AI seperti ini:
AI BOLEH:
✅ bertanya tentang error
✅ meminta penjelasan kode
✅ meminta contoh konsep
✅ meminta bantuan memahami widget
✅ meminta alternatif solusi
AI TIDAK BOLEH:
❌ "Buatkan seluruh aplikasi saya."
❌ copy-paste main.dart tanpa memahami.
❌ mengumpulkan kode yang tidak bisa dijelaskan.
π€ TES LISAN 3 MENIT
Setiap kelompok dipilih secara acak.
Guru menunjuk kode:
ListView
dan bertanya:
"Apa fungsi kode ini?"
Kemudian:
Navigator.push(...)
"Apa yang terjadi ketika kode ini dijalankan?"
Kemudian:
setState(...)
"Mengapa kita menggunakan ini?"
Kalau siswa bisa menjelaskan, berarti dia tidak sekadar copy-paste.
JP 13 — TESTING
Siswa melakukan pengujian.
Buat tabel:
| No | Fitur | Hasil | Status |
|---|---|---|---|
| 1 | Aplikasi dibuka | Berhasil | ✅ |
| 2 | Menu tampil | Berhasil | ✅ |
| 3 | Klik menu | Berhasil | ✅ |
| 4 | Detail tampil | Berhasil | ✅ |
| 5 | Search | Berhasil | ✅ |
| 6 | Filter | Berhasil | ✅ |
| 7 | Challenge | Berhasil | ✅ |
Kemudian siswa melakukan:
π Bug Hunting
Cari minimal 3 hal yang perlu diperbaiki.
Contoh:
Harga salah.
Gambar tidak muncul.
Tombol tidak berfungsi.
Layout overflow.
JP 14 — PRESENTASI MINI
Setiap kelompok mendapat sekitar 3–5 menit.
Format:
1. Masalah
"Kami membuat aplikasi daftar menu kantin karena..."
2. Demo
Tunjukkan aplikasi.
3. Fitur
Jelaskan:
- daftar menu;
- detail;
- search;
- filter;
- challenge.
4. Kode
Guru meminta satu siswa menjelaskan kode.
5. Refleksi
"Bagian tersulit dari pembuatan aplikasi ini adalah..."
π RUBRIK PENILAIAN
Saya sarankan jangan hanya menilai "aplikasinya bagus".
| Komponen | Bobot |
|---|---|
| Pemahaman konsep Flutter | 15 |
| Struktur & kerapihan kode | 15 |
| Fitur wajib | 20 |
| UI/UX | 15 |
| Challenge/modifikasi | 15 |
| Testing & debugging | 10 |
| Presentasi & kemampuan menjelaskan | 10 |
| TOTAL | 100 |
⭐ Prinsip penting
Aplikasi bagus tetapi siswa tidak bisa menjelaskan kode → nilainya tidak maksimal.
Sebaliknya:
Aplikasi sederhana tetapi siswa memahami dan mampu menjelaskan → tetap mendapatkan nilai baik.
π¦ HASIL AKHIR YANG DIKUMPULKAN
Setiap siswa/kelompok memiliki:
π kantin_app │ ├── Source Code Flutter │ ├── Screenshot aplikasi │ ├── LKPD │ ├── Testing │ ├── Dokumentasi │ └── Presentasi
Dan saya sarankan ditutup dengan satu pertanyaan refleksi:
"Jika aplikasi ini dikembangkan selama 1 bulan lagi, fitur apa yang akan kalian tambahkan?"
Ini akan menjadi jembatan yang bagus menuju proyek berikutnya: CRUD → penyimpanan lokal → API.
π₯ Urutan kompetensi yang terbentuk
π DAFTAR MENU KANTIN │ ▼ Flutter UI │ ▼ Widget & Layout │ ▼ List & Data │ ▼ Navigation │ ▼ Search & Filter │ ▼ State │ ▼ CRUD │ ▼ Local Storage │ ▼ API │ ▼ π FINAL PROJECT
Dengan pola ini, Daftar Menu Kantin bukan sekadar tugas membuat tampilan, tetapi menjadi proyek pertama yang memperkenalkan hampir seluruh pola berpikir yang nantinya diperlukan siswa untuk membuat aplikasi Flutter yang lebih kompleks.







Tidak ada komentar:
Posting Komentar