Bentuk Input Lanjutan: DatePicker, TimePicker, dan Slider

Dua ponsel dengan antarmuka aplikasi

Tujuan Pembelajaran

  • Menggunakan DatePicker dan TimePicker untuk input tanggal/waktu.
  • Menggunakan Slider untuk input angka bernilai rentang.
  • Menggunakan Stepper dan SegmentedButton.
  • Menampilkan hasil pemilihan pada antarmuka.

Uraian Materi

Tidak semua input berbentuk teks. Aplikasi nyata kerap membutuhkan pemilihan tanggal, waktu, dan angka dalam rentang. showDatePicker menampilkan dialog kalender yang mudah digunakan.

Dart
final picked = await showDatePicker(
  context: context,
  initialDate: DateTime.now(),
  firstDate: DateTime(2000),
  lastDate: DateTime(2100),
);
if (picked != null) {
  setState(() => tglLahir = picked);
}

TimePicker dan Slider

showTimePicker menyediakan dialog pemilih jam. Slider mengisi nilai numerik yang terus berubah dalam rentang tertentu, misal skor penilaian atau tingkat kepuasan.

Text
Slider(
  min: 1,
  max: 10,
  divisions: 9,
  label: skor.toString(),
  value: skor,
  onChanged: (v) => setState(() => skor = v.toInt()),
)

Format Tanggal dan Waktu

Nilai DateTime ditampilkan dengan format yang rapi menggunakan package intl (misal DateFormat('dd-MM-yyyy')), sehingga tampilan menjadi jamak dan mudah dibaca. Peserta menambahkan dependensi intl pada pubspec.

Input Terbaru: SegmentedButton

SegmentedButton adalah alternatif modern untuk pilihan dalam satu baris, menggantikan pola radio klasik. Penggunaannya sederhana dengan daftar ButtonSegment dan properti selected.

Menggabungkan dalam Form

Praktik membangun form pemesanan yang memadukan DatePicker (tanggal), segmented button (jenis layanan), Slider (jumlah), dan TextFormField – menutup materi berbagai bentuk input secara utuh.

Memahami DateTime dan Pemformatan

Nilai tanggal disimpan sebagai DateTime, bukan sekadar teks. Karena format bawaan sering tidak ramah pengguna, pemformatan dilakukan dengan package intl, misalnya menjadi ’15 Maret 2026′. Peserta berlatih memilih format yang sesuai budaya lokal.

Batasan Rentang Tanggal

showDatePicker menerima firstDate dan lastDate untuk membatasi tanggal yang boleh dipilih. Pembatasan ini mencegah input tidak masuk akal, misalnya tanggal lahir di masa depan. Peserta menentukan rentang yang tepat sesuai konteks formnya.

Keunggulan Slider untuk Rentang

Slider mempermudah pengguna memilih angka tanpa mengetik, sehingga mengurangi kesalahan. Properti divisions menentukan tingkat presisi, misalnya 9 pembagian untuk nilai kelipatan satu. Label menampilkan nilai terpilih sebagai umpan balik langsung.

Mengombinasikan Beragam Input

Pertemuan menutup modul bentuk input dengan latihan memadukan seluruh komponen: kalender, jam, slider, dan pilihan segmen dalam satu form. Hasilnya dirangkum dalam ringkasan yang siap dibawa ke materi form kompleks dan penyimpanan data.

Aktivitas Pembelajaran

  • Menyimak demonstrasi DatePicker dan TimePicker.
  • Praktik memilih dan menampilkan tanggal.
  • Menerapkan Slider pada input skor.
  • Menggunakan SegmentedButton dan menampilkan hasil.

Tugas dan Latihan

  • Buat form pemesanan: tanggal (DatePicker), jam (TimePicker), jumlah orang (Slider), dan jenis layanan (SegmentedButton).
  • Format tampilan tanggal dengan package intl.
  • Rangkum hasil pilihan pada halaman ringkasan.

Evaluasi

Evaluasi dilakukan melalui pengamatan hasil praktikum, kuis singkat di akhir pertemuan, dan pemantauan proyek. Peserta yang belum mencapai indikator tertentu diberikan remedial melalui bimbingan ulang dan latihan tambahan pada pertemuan berikutnya.

Panduan umum praktik, catatan belajar, dan refleksi tersedia di Panduan Belajar Kribbi Study.

No Comment! Be the first one.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *