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 > drawable agar 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.kt yang 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 sehingga MainActivity hanya bertugas memanggil dan menampilkan fungsi TampilanLoginUtama() saat aplikasi pertama kali dijalankan.

3. Pembuatan Form Input dan State Management

  • Di dalam LoginScreen.kt, dideklarasikan dua variabel mutasi (State) menggunakan remember { mutableStateOf("") }, yaitu variabel surel dan kataSandi untuk menampung ketikan pengguna.

  • Komponen OutlinedTextField digunakan untuk form input. Pada form password, ditambahkan modifikasi visualTransformation = PasswordVisualTransformation() sehingga setiap karakter yang diketik akan disensor menjadi titik/bintang demi keamanan dasar.

  • Ditambahkan parameter KeyboardOptions agar 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 Column dengan pengaturan posisi terpusat secara vertikal dan horizontal.

  • Teks "Lupa Sandi?" dibungkus menggunakan komponen Row dengan pengaturan horizontalArrangement rata kanan (End). Teks ini diberi modifier .clickable agar merespons saat disentuh.

  • Tiga logo platform (Facebook, Google, GitHub) diletakkan di dalam Row dengan parameter Arrangement.SpaceEvenly di 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, yaitu android.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

Popular posts from this blog

Daily Task Manager

EAS

DisplayClock