Modul Flutter SMK – Semester 2
Gambaran Umum Pembelajaran
Modul ini dirancang untuk membawa siswa dari pembuat UI Flutter menjadi developer aplikasi yang siap PKL dan dunia kerja.
Di semester ini kalian tidak hanya membuat tampilan, tetapi juga:
- mengatur alur aplikasi,
- mengelola data,
- terhubung ke server dan database online,
- serta menulis kode yang rapi dan mudah dipahami tim.
Perumpamaan:
Semester 1 itu seperti belajar mendesain rumah (tampilan).
Semester 2 kita belajar membuat pondasi + jalur listrik + pipa air, supaya rumahnya bisa dipakai dan dikembangkan.
🎯 Apa yang Akan Dipelajari di Semester Ini?
1️⃣ Pondasi Aplikasi & Routing (Foundation + go_router)
Pada bagian ini kalian akan belajar:
- Perbedaan project latihan dan project dunia kerja
- Membuat project Flutter dari nol
- Struktur folder aplikasi skala kerja
- Membuat aplikasi multi-halaman (list & detail)
- Konsep navigasi aplikasi
- Menggunakan routing modern dengan go_router
- Menyiapkan routing agar siap untuk login & auth guard
👉 Tujuan:
Kalian memiliki 1 project Flutter utama dengan struktur rapi dan navigasi profesional yang akan dipakai sampai akhir semester.
2️⃣ State Management dengan Provider
Di bagian ini kalian akan belajar:
- Masalah yang sering terjadi tanpa state management
- Konsep state (data yang bisa berubah)
- Menggunakan Provider untuk:
- menyimpan data
- mengubah data
- menampilkan data ke UI
- CRUD state (tambah, edit, hapus)
- Mengelola lebih dari satu state
- Best practice Provider yang sering dipakai di industri Indonesia
👉 Tujuan:
Aplikasi stabil, data konsisten, dan mudah dikembangkan saat fitur bertambah.
3️⃣ Integrasi API (REST API)
Di bagian ini kalian akan belajar:
- Cara kerja API dan JSON
- Mengambil data dari server (GET)
- Mengirim dan mengubah data (POST, PUT, DELETE)
- Membuat model data dari API
- Menampilkan loading dan error di aplikasi
- Menghubungkan API dengan Provider
👉 Tujuan:
Aplikasi bisa menampilkan dan mengelola data online seperti aplikasi profesional.
4️⃣ Firebase (Authentication & Database)
Di bagian ini kalian akan belajar:
- Membuat project Firebase
- Login dan register pengguna
- Menyimpan session login
- CRUD data di Firestore
- Realtime data (data otomatis berubah)
- Upload gambar ke Firebase Storage
- Menghubungkan Firebase dengan Provider
👉 Tujuan:
Aplikasi memiliki login, database online, dan fitur realtime.
5️⃣ Clean Code & Best Practice
Di bagian ini kalian akan belajar:
- Cara menulis kode yang rapi dan mudah dibaca
- Memisahkan UI dan logic
- Membuat widget yang bisa dipakai ulang
- Merapikan dan memperbaiki project besar (refactor)
👉 Tujuan:
Kode siap dibaca tim kerja dan siap untuk PKL.
6️⃣ Final Project
Di bagian ini kalian akan:
- Membuat aplikasi final (pilih tema)
- Menggabungkan routing, provider, dan API/Firebase
- Melakukan bug fixing
- Menyempurnakan UI & alur aplikasi
- Mempresentasikan hasil kerja
👉 Tujuan:
Kalian memiliki portofolio aplikasi Flutter yang bisa digunakan untuk PKL atau melamar kerja.
🧠 Cara Belajar di Modul Ini
Setiap pertemuan biasanya berisi:
- Pertanyaan pemantik
- Penjelasan konsep singkat
- Tutorial step-by-step
- Studi kasus
- Tugas level pembelajaran & level industri
- Refleksi
🚀 Penutup
Jika kalian mengikuti modul ini dengan serius:
- kalian tidak hanya bisa Flutter,
- tapi mengerti cara berpikir developer dunia kerja.
Selamat belajar dan selamat naik level 🔥