Rencana πŸ” PRAKTIKUM FLUTTER Aplikasi Daftar Menu Kantin SMKN 1 Banjar


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

HariJPFokus
Senin2 JP🧠 Konsep + Demo + mulai UI
Selasa6 JPπŸ’» Praktik membangun aplikasi
Kamis6 JPπŸš€ Penyempurnaan + Challenge + Presentasi

Pola pembelajaran

AktivitasPorsiTotal 14 JP
🧠 Konsep15%±2 JP
πŸ‘¨‍🏫 Demo20%±3 JP
πŸ’» Praktik45%±6 JP
πŸš€ Challenge20%±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:

KomponenWidget 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:

  1. Screenshot aplikasi.
  2. Screenshot kode.
  3. 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:

NoFiturHasilStatus
1Aplikasi dibukaBerhasil✅
2Menu tampilBerhasil✅
3Klik menuBerhasil✅
4Detail tampilBerhasil✅
5SearchBerhasil✅
6FilterBerhasil✅
7ChallengeBerhasil✅

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".

KomponenBobot
Pemahaman konsep Flutter15
Struktur & kerapihan kode15
Fitur wajib20
UI/UX15
Challenge/modifikasi15
Testing & debugging10
Presentasi & kemampuan menjelaskan10
TOTAL100

⭐ 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.

Share:

Tidak ada komentar:

Posting Komentar

Chat Admin

Chat via WhatsApp

Categories

Blogger Tricks

Blogger Themes