CHALLENGE FLUTTER FAUZI XI RPL 1

⚡ Challenge Flutter - Analisis Program main.dart

Praktikum Pemrograman Mobile

👤 Nama : [Nama Lengkap] 🏫 Kelas : [Kelas] 🔢 No Absen : [No Absen]

🔍 TUGAS 1 – MENGAMATI PROGRAM

1. Judul aplikasi yang tampil:
➡️ "Flutter Demo Home Page" (sebelum modifikasi)

2. Nilai awal yang ditampilkan:
➡️ 0

3. Yang terjadi ketika tombol "+" ditekan:
➡️ Angka bertambah 1 setiap kali ditekan.

4. Berapa kali nilai bertambah setiap tombol ditekan:
➡️ 1 kali per tekanan.

🧩 TUGAS 2 – ANALISIS KODE

KodeFungsi
main()Titik masuk utama program, menjalankan aplikasi.
runApp()Merender widget root dan memulai aplikasi Flutter.
MaterialAppWidget pembungkus yang menyediakan tema dan navigasi ala Material Design.
ScaffoldStruktur dasar halaman (AppBar, body, FAB, dll).
AppBarBilah atas yang menampilkan judul aplikasi.
TextMenampilkan teks di layar.
FloatingActionButtonTombol aksi mengambang (biasanya untuk aksi utama).
setState()Memberi tahu framework bahwa state berubah, sehingga UI diperbarui.

🔄 TUGAS 3 – ANALISIS ALUR PROGRAM

Diagram urutan kerja program:

Program dijalankan
main() memanggil runApp(MyApp())
MyApp (MaterialApp)
HomePage (StatefulWidget)
Scaffold menampilkan UI awal
Tombol "+" ditekan
Memanggil fungsi _incrementCounter()
setState() dijalankan
Nilai _counter berubah & tampilan diperbarui

🛠️ TUGAS 4 – MODIFIKASI PROGRAM

✅ Modifikasi 1 – Ubah Judul Aplikasi

Judul diubah menjadi "Absensi Siswa" pada properti title di AppBar.

appBar: AppBar(
  title: Text('Absensi Siswa'),
),
Screenshot Modifikasi 1

✅ Modifikasi 2 – Ubah Ukuran Teks Menjadi 40

Text(
  '$_counter',
  style: TextStyle(fontSize: 40),
),
Screenshot Modifikasi 2

✅ Modifikasi 3 – Ubah Ikon Tombol

Ganti Icons.add menjadi Icons.school.

FloatingActionButton(
  onPressed: _incrementCounter,
  child: Icon(Icons.school),
),
Screenshot Modifikasi 3

✅ Modifikasi 4 – Tambahkan Nama di Tampilan

Menambahkan teks "Nama : Budi" di atas jumlah.

body: Center(
  child: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: [
      Text('Nama : Budi'),
      Text('Jumlah : $_counter'),
    ],
  ),
),
Screenshot Modifikasi 4

🚀 TUGAS 5 – CHALLENGE MANDIRI (Tombol Reset)

Menambahkan tombol reset yang mengembalikan nilai ke 0.

Langkah-langkah:

  1. Buat fungsi resetData() yang memanggil setState() dan mengubah _counter = 0.
  2. Tambahkan tombol FloatingActionButton kedua (atau gunakan tombol lain) yang memanggil fungsi tersebut.
void resetData() {
  setState(() {
    _counter = 0;
  });
}

// Di dalam Scaffold, tambahkan FAB kedua
floatingActionButton: Column(
  mainAxisAlignment: MainAxisAlignment.end,
  children: [
    FloatingActionButton(
      onPressed: _incrementCounter,
      child: Icon(Icons.school),
    ),
    SizedBox(height: 10),
    FloatingActionButton(
      onPressed: resetData,
      child: Icon(Icons.refresh),
    ),
  ],
),

Catatan: Gunakan ikon refresh atau teks "Reset".

🧠 REFLEKSI

1. Fungsi StatefulWidget:
Widget yang dapat berubah-ubah (memiliki state) selama aplikasi berjalan, seperti counter yang nilainya berubah.

2. Mengapa program menggunakan setState():
Karena setiap perubahan data harus memberi tahu Flutter agar UI di-rebuild dengan data terbaru.

3. Jika setState() tidak digunakan:
Tampilan tidak akan berubah meskipun nilai variabel sudah di-update, sehingga pengguna tidak melihat perubahan.

4. Widget yang paling sering digunakan:
Text, Scaffold, AppBar, FloatingActionButton, dan Center.

5. Kesulitan selama praktikum:
(Contoh) Memahami perbedaan Stateful dan Stateless widget, serta penempatan sintaks yang tepat.

📌 KESIMPULAN

Praktikum ini mengajarkan struktur dasar Flutter, cara kerja StatefulWidget, dan pentingnya setState(). Dengan modifikasi sederhana, aplikasi counter dapat diubah menjadi aplikasi "Absensi Siswa" yang lebih relevan. Challenge reset semakin memperdalam pemahaman tentang pengelolaan state dan interaksi pengguna.

🚀 Semangat jadi Flutter Developer Kreatif! 🚀

Komentar

Postingan populer dari blog ini

Kunci Jawaban Soal Pilihan Ganda Flutter UI (State Management)

🎮 Review Aplikasi Flutter: Pixel Quest To-Do