Tugas 7 - PPB G Membuat Halaman Login pada Aplikasi
Muhammad Fahmi Syahputra
File 1: MainActivity.kt
File ini berfungsi sebagai pintu masuk utama aplikasi (entry point). Kelas MainActivity mewarisi dari ComponentActivity karena kita menggunakan Jetpack Compose sebagai UI framework.
Di dalam fungsi onCreate(), kita memanggil setContent {} yang digunakan untuk menampilkan tampilan berbasis Compose. Di dalamnya, kita bungkus tampilan dengan MaterialTheme {} untuk mengatur styling global, dan kemudian kita panggil fungsi LoginScreen() yang isinya adalah UI halaman login.
File 2: LoginScreen.kt
File ini adalah tempat kita mendesain tampilan halaman login pakai Jetpack Compose. Fungsi utama di sini adalah @Composable fun LoginScreen().
- State
Kita bikin dua state lokal:
Fungsinya untuk menyimpan input dari user di textfield email dan password.
- Struktur Layout
Untuk layout-nya, kita pakai Column yang isinya ditata di tengah layar. Di dalam Column itu kita atur beberapa komponen:
-
Gambar: Ilustrasi login yang kita ambil dari drawable (
ic_login_illustration.png). -
Teks: Tulisan “Welcome Back” dan “Login to your account”.
-
Input Field: Dua
OutlinedTextFieldbuat input email dan password. Password-nya dibungkusPasswordVisualTransformation()supaya input-nya gak kelihatan. -
Tombol Login:
Buttonwarna ungu yang bisa diklik (walaupun belum ngapa-ngapain). -
Tombol Lupa Password: Cuma teks biasa tapi bisa diklik (masih kosong juga).
-
Login Sosial: Ada ikon Facebook, Google, dan X (Twitter) yang ditampilkan pakai
RowdanIconButton.
Semua layout-nya kita atur pakai modifier kayak padding, fillMaxWidth, dan Spacer untuk ngatur jarak antar elemen.
- Interaksi
Ketika user ngetik di textfield, isi email dan password langsung berubah karena onValueChange-nya update state-nya.
Untuk sekarang, semua tombol masih placeholder — klik tombol login belum melakukan aksi apa-apa, dan login sosial juga masih belum dihubungkan ke mana-mana.
File 3: build.gradle.kts (Module)
File ini adalah konfigurasi untuk module aplikasi. Beberapa hal penting:
Karena pakai Kotlin 2.0, kita juga aktifkan plugin Compose Compiler terbaru:
Kita pakai Material 3, jadi semua komponen UI kita impor dari library
androidx.compose.material3Versi-versi library kita sesuaikan:






Comments
Post a Comment