Praktikum 1

Laporan Praktikum 1 - Aplikasi Mobile

Regi Heksa Ananda (2411533004)

Repository GitHub

A. Pembahasan

a. Basic Form TextField

1

Menginisialisasi Aplikasi

Menginisialisasi aplikasi menggunakan struktur dasar StatelessWidget dan StatefulWidget untuk membentuk kerangka tampilan dengan AppBar dan Scaffold.

Inisialisasi Aplikasi
2

Menggunakan TextEditingController

Menggunakan TextEditingController untuk mengambil dan menampung nilai input dari pengguna. Method dispose() digunakan untuk membersihkan inputan saat widget dihancurkan dari memori.

TextEditingController
3

Menambahkan Properti pada TextField

Menambahkan berbagai properti pada TextField, seperti decoration (label, hint, border, icon), menyambungkan controller yang sudah dibuat, menentukan tipe keyboard, serta menggunakan method onChanged sebagai event listener ketika terjadi proses pengetikan teks.

Properti TextField
4

Mengimplementasikan Logika ElevatedButton

Mengimplementasikan logika pada ElevatedButton di dalam method onPressed. Teks yang tersimpan pada controller diambil nilainya dan ditampilkan kepada pengguna sebagai pesan sementara menggunakan widget SnackBar.

Logika ElevatedButton
5

Output

Tampilan output dari Basic Form TextField.

Output Basic Form TextField

b. Basic Form TextFormField

1

Struktur Awal Aplikasi

Struktur awal aplikasi untuk mengimplementasikan form validasi otomatis menggunakan widget TextFormField.

Struktur Awal TextFormField
2

Deklarasi GlobalKey

Deklarasi GlobalKey<FormState> yang berfungsi sebagai pengenal unik untuk mengakses dan mengelola status form, seperti status validasinya. Terdapat juga controller untuk nama dan email, method dispose(), dan fungsi _submitForm() yang akan memanggil method validate() untuk mengecek semua rule validasi yang ada. Jika lolos, akan menampilkan SnackBar kesuksesan.

Deklarasi GlobalKey
3

Membungkus Input dengan Widget Form

Membungkus keseluruhan input dengan widget Form dan menautkan key ke _formKey. Pada setiap TextFormField didefinisikan properti validator untuk mengatur syarat keabsahan data, seperti tidak boleh kosong dan email harus memiliki karakter '@'.

Widget Form
4

Detail Kode Validasi Field

Detail kode validasi field Nama yang akan mengembalikan pesan error 'Masukkan nama anda' jika nilai dikirim dalam keadaan null atau kosong.

Validasi Field
5

Tombol Submit

Tombol Submit yang pada event onPressed diset untuk memanggil fungsi _submitForm untuk memvalidasi input secara kolektif.

Tombol Submit Tombol Submit Lanjutan
6

Output

Tampilan output dari Basic Form TextFormField.

Output Basic Form TextFormField

B. Latihan – Kelas B

Implementasi Basic Form Flutter

1

main.dart

main.dart

File main.dart memuat dan merender UserRegistrationForm sebagai root widget di layar awal.

2

user_registration_form.dart

user_registration_form.dart

Implementasi dari stateful widget UserRegistrationForm. Kode ini menggunakan widget TextFormField untuk inputan, dan menggunakan method validator untuk validasi. Validasi yang diterapkan sesuai instruksi meliputi inputan email harus menggunakan format '@', serta inputan password dan confirm password harus sama. Method onPressed akan dipanggil ketika tombol dipencet dan mengeksekusi _submitForm.

3

Output

Form tidak sesuai format/salah

Output Form Salah

Form sesuai format/berhasil

Output Form Berhasil