Gass Belajar Lagi, hari ini pas banget untuk satu pertemuan efektif 👍
Semoga anak RPL/PPLG paham alur widget + alur berpikir, bukan copy-paste doang.
📱 Proyek Hari Ini
UI Dasar Aplikasi Flutter – Catatan / To-Do App
🎯 Tujuan Pembelajaran
Setelah kegiatan hari ini, siswa mampu:
-
Menjelaskan fungsi widget utama Flutter
-
Menyusun UI sederhana secara bertahap
-
Memahami alur widget dari atas ke bawah
-
Membuat tampilan To-Do App sederhana
🧠 Mindset yang Ditanamkan ke Siswa (PENTING)
“Hari ini bukan ngejar aplikasi jadi,
tapi paham alur UI Flutter.”
Kalau UI masih sederhana → tidak apa-apa
Yang penting: mengerti kenapa widget itu dipakai
🗺️ Gambaran Tampilan Akhir (yang dibayangkan siswa)
📱 Halaman utama aplikasi:
-
AppBar judul di atas
-
Input teks + tombol “Tambah”
-
Daftar catatan di bawah
-
Bisa tambah & hapus data
(Realistis, sederhana, tapi fungsional)
🧩 Alur Widget (Dari Besar ke Kecil)
Jelaskan ke siswa pakai pola “bungkus ke isi”:
📌 Kalimat kunci untuk siswa:
Flutter itu menyusun tampilan dari luar ke dalam
dari besar → kecil
⏱️ Alur Kegiatan Belajar (Step by Step)
🟢 1. Pembukaan (±10 menit)
Guru menyampaikan:
-
Apa itu Flutter UI
-
Contoh aplikasi To-Do
-
Target hari ini (tidak perfeksionis)
💬 Kalimat ke siswa:
“Hari ini kita belajar menyusun UI, bukan desain cantik”
🟢 2. Bangun Kerangka Aplikasi (±20 menit)
Mulai dari:
-
main() -
MaterialApp -
Scaffold -
AppBar
📌 Fokus pemahaman:
-
Kenapa harus ada
MaterialApp -
Fungsi
Scaffold -
AppBar itu bagian dari Scaffold
❗ Belum input, belum list
➡️ Biar siswa ngerti fondasi dulu
🟢 3. Isi Body: Column + Padding (±20 menit)
Tambahkan:
-
Padding -
Column
Diskusi:
-
Kenapa pakai
Column, bukanRow -
Urutan widget itu penting
📌 Target siswa:
“Oh… ternyata tampilan disusun urut ke bawah”
🟢 4. Input + Tombol (±30 menit)
Tambahkan:
-
Row -
TextField -
ElevatedButton -
Expanded
Latihan berpikir:
-
Kenapa input lebih panjang?
-
Kenapa tombol tidak melebar?
📌 Insight penting:
Expandeditu mengatur pembagian ruang
🟢 5. List To-Do (±30 menit)
Tambahkan:
-
ListView.builder -
Card -
ListTile -
IconButton
Tekankan:
-
List ini dinamis
-
Data diambil dari
List<String>
📌 Bukan hafalan, tapi:
“ListView.builder = pembuat daftar otomatis”
🟢 6. Refleksi & Diskusi (±10 menit)
Tanya siswa:
-
Widget paling luar apa?
-
Kalau mau nambah tombol, di mana?
-
Kalau error UI, cek bagian mana dulu?
📦 Output Hari Ini (Realistis & Aman)
✔️ Aplikasi sudah tampil halaman utama
✔️ Ada AppBar, input, tombol, dan list
✔️ UI sederhana (tidak masalah)
✔️ Siswa paham alur widget
✔️ Bukan hasil copy-paste
📝 Tugas Ringan (Opsional)
Pilih salah satu:
-
Ganti judul AppBar
-
Ganti warna tombol
-
Tambah teks “Belum ada catatan”
-
Jelaskan alur widget dengan kata sendiri
🎯 Kalimat Penutup ke Siswa
“Kalau kamu sudah paham alurnya,
besok mau bikin aplikasi apa pun
tinggal ganti isinya.”
👍 ini kodingan LENGKAP, SIAP RUN, sesuai dengan target UI dasar + mudah dipahami siswa.
Cocok langsung dipakai di kelas hari ini.
📱 Koding Lengkap
UI Dasar Flutter – To-Do / Catatan App
=============================================================
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
// ===================
// ROOT APLIKASI
// ===================
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'To Do List Sederhana',
debugShowCheckedModeBanner: false,
home: TodoPage(),
);
}
}
// ===================
// HALAMAN UTAMA
// ===================
class TodoPage extends StatefulWidget {
@override
_TodoPageState createState() => _TodoPageState();
}
class _TodoPageState extends State<TodoPage> {
// Controller untuk mengambil teks dari TextField
TextEditingController todoController = TextEditingController();
// List untuk menyimpan data catatan
List<String> todoList = [];
// Fungsi menambah data
void tambahTodo() {
if (todoController.text.isNotEmpty) {
setState(() {
todoList.add(todoController.text);
todoController.clear();
});
}
}
// Fungsi menghapus data
void hapusTodo(int index) {
setState(() {
todoList.removeAt(index);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
// ===================
// APP BAR
// ===================
appBar: AppBar(
title: Text(
'To Do List - Darsu',
style: TextStyle(fontWeight: FontWeight.bold),
),
centerTitle: true,
),
// ===================
// BODY
// ===================
body: Padding(
padding: EdgeInsets.all(16),
child: Column(
children: [
// ===================
// INPUT + TOMBOL
// ===================
Row(
children: [
Expanded(
child: TextField(
controller: todoController,
decoration: InputDecoration(
hintText: 'Masukkan tugas...',
border: OutlineInputBorder(),
),
),
),
SizedBox(width: 10),
ElevatedButton(
onPressed: tambahTodo,
child: Text('Tambah'),
),
],
),
SizedBox(height: 20),
// ===================
// LIST TO DO
// ===================
Expanded(
child: todoList.isEmpty
? Center(
child: Text(
'Belum ada catatan',
style: TextStyle(color: Colors.grey),
),
)
: ListView.builder(
itemCount: todoList.length,
itemBuilder: (context, index) {
return Card(
child: ListTile(
title: Text(todoList[index]),
trailing: IconButton(
icon: Icon(
Icons.delete,
color: Colors.red,
),
onPressed: () => hapusTodo(index),
),
),
);
},
),
),
],
),
),
);
}
}
- MaterialApp → pembungkus aplikasi
- Scaffold → kerangka halaman
- Column → susun ke bawah
- Row → susun ke samping
- TextField → input data
- ListView.builder → list dinamis
- setState() → memberi tahu UI bahwa data berubah







https://tototatamanuk.blogspot.com/2026/02/penjelasan-widget-flutter.html
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapusMuhammad Iqbal Ramadhan - Tugas Flutter - 03 February 2026
BalasHapushttp://iqbalkeceahayyy.blogspot.com/2026/02/membuat-to-do-list-flutter-web-dengan.html
Woy rumcas
HapusNama : Aisah Nur'aeni
BalasHapusKelas : XI RPL 2
https://aisahnurrawrrr.blogspot.com/2026/02/to-do.html
Alika - Tugas flutter -XI RPL 2
BalasHapushttps://likadwi43.blogspot.com/2026/02/to-do-list-sederhana.html
Kevin - XI RPL 2 - Tugas Flutter
BalasHapushttps://vinzz123.blogspot.com/2026/02/body-font-family-arial-helvetica-sans.html
Zaky Mubarok - XI RPL 2
BalasHapushttps://zakyblud.blogspot.com/2026/02/flutter-todo-list-app.html
Komentar ini telah dihapus oleh pengarang.
BalasHapusGadiza Nugroho - XI RPL 2 - Tugas Flutter
BalasHapushttps://gacorr011.blogspot.com/2026/02/membuat-aplikasi-to-do-list-flutter.html
Dhanis Fathan Gunawan - XI RPL 2
BalasHapushttps://dhanisantibootloop.blogspot.com/2026/02/todo-list-app-dhanis.html
Qori Dwi Anisa - XI RPL 2 -Tugas Flutter
BalasHapushttps://qoriimuppbanget.blogspot.com/2026/02/membuat-to-do-list-aplikasi-sederhana.html
https://vinoandrian66.blogspot.com/2026/02/contoh-to-do-list-sederhana.html
BalasHapusReihan Novalendra H - XI RPL 2
BalasHapushttps://reihannovalendra.blogspot.com/2026/02/flutter-to-do-list-aplikasi.html
Nama:Fito Rizki Alwandi
BalasHapusKelas:XI RPL 2
https://fitzzryalw.blogspot.com/2026/02/membangun-to-do-list-dengan-fitur.html
Nama : Rizqi Resdhiana & M Raffa Izzel Hendro
BalasHapusKelas: XI RPL 2
https://anaz7751.blogspot.com/2026/02/widget-pada-aplikasi-to-do-list.html
Komentar ini telah dihapus oleh pengarang.
BalasHapusNama : Risty Fitria Khaila Khoirunnisa
BalasHapusKelas : XI RPL 2
https://ristyfitria.blogspot.com/2026/02/to-do-list-sederhana.html
Nama: Caca Ardiansyah
BalasHapusKelas : XI RPL 2
https://cacasoft32.blogspot.com/2026/02/membangun-aplikasi-todo-list-flutter-1.html
Komentar ini telah dihapus oleh pengarang.
BalasHapusNama:Tiara Indah Alami y
BalasHapusKelas:XI RPL 2
https://tiaraiay315.blogspot.com/2026/02/to-do-list-sederhana.html