Membuat Halaman Login Sederhana
Pertemuan 7 Nama : Hafidz Panji Ashari NRP : 5025231278
Langkah-Langkah Pembuatan Halaman Login Sederhana dengan Jetpack Compose
Pada praktikum pertemuan ketujuh ini, fokus materi adalah penerapan desain antarmuka secara deklaratif menggunakan Jetpack Compose untuk membuat halaman autentikasi (Login Page). Praktikum ini juga mencakup manajemen State untuk input form, tata letak tingkat lanjut (advanced layouting), pemisahan berkas untuk modularitas kode, dan penggunaan Logcat untuk debugging.
Berikut adalah tahapan implementasinya di Android Studio:
1. Persiapan Proyek dan Aset Visual (Drawable)
Membuat proyek Empty Activity baru dengan nama
LoginPage.Mengunduh empat aset gambar berformat
.png, yang terdiri dari satu gambar ilustrasi login utama, serta tiga logo platform pihak ketiga (Facebook, Google, dan GitHub).Menyalin dan memasukkan (import) keempat file gambar tersebut ke dalam direktori
app > res > drawableagar dapat dipanggil di dalam kode program.
2. Pemisahan Kode Antarmuka (Modularitas)
Untuk menerapkan prinsip clean code, logika antarmuka (UI) dipisahkan dari entry point aplikasi.
Dibuat sebuah file Kotlin baru bernama
LoginScreen.ktyang berisi fungsi Composable bernama@Composable fun TampilanLoginUtama(). Seluruh desain UI ditulis di dalam file ini.Pada file bawaan
MainActivity.kt, seluruh kode UI bawaan dihapus sehinggaMainActivityhanya bertugas memanggil dan menampilkan fungsiTampilanLoginUtama()saat aplikasi pertama kali dijalankan.
3. Pembuatan Form Input dan State Management
Di dalam
LoginScreen.kt, dideklarasikan dua variabel mutasi (State) menggunakanremember { mutableStateOf("") }, yaitu variabelsureldankataSandiuntuk menampung ketikan pengguna.Komponen
OutlinedTextFielddigunakan untuk form input. Pada form password, ditambahkan modifikasivisualTransformation = PasswordVisualTransformation()sehingga setiap karakter yang diketik akan disensor menjadi titik/bintang demi keamanan dasar.Ditambahkan parameter
KeyboardOptionsagar keyboard yang muncul di layar HP otomatis menyesuaikan (mode ketik email dan mode password).
4. Menyusun Layout dan Elemen Interaktif
Seluruh elemen dibungkus menggunakan komponen
Columndengan pengaturan posisi terpusat secara vertikal dan horizontal.Teks "Lupa Sandi?" dibungkus menggunakan komponen
Rowdengan pengaturan horizontalArrangement rata kanan (End). Teks ini diberi modifier.clickableagar merespons saat disentuh.Tiga logo platform (Facebook, Google, GitHub) diletakkan di dalam
Rowdengan parameterArrangement.SpaceEvenlydi bagian bawah form, sehingga letaknya proporsional dan sejajar secara horizontal. Ketiga gambar ini juga diberi modifier clickable.
5. Pengujian Logging via Logcat
Komponen tombol Login (
Button) dihubungkan dengan library pencatatan sistem bawaan Android, yaituandroid.util.Log.Pada parameter aksi tombol (
onClick), ditambahkan perintah cetak dengan tag khusus:Log.w("SistemAutentikasi", "Mencoba Login -> Surel: $surel | Sandi: $kataSandi").Saat aplikasi dijalankan (Run) dan pengguna menekan tombol "Masuk", aplikasi akan menangkap teks yang diisi di dalam kolom, lalu mencetaknya ke konsol Logcat di Android Studio. Uji coba ini membuktikan bahwa alur pengambilan data input dari State telah berhasil dilakukan sebelum dikirimkan ke database.
Comments
Post a Comment