Tugas 11 (Membuat Aplikasi Autentikasi)
Aplikasi Autentikasi
Pada kesempatan kali ini, diberikan tugas untuk mencoba aplikasi starbuck dan membuat dengan versi sendiri. Berikut akan saya lampirkan hasil pengerjaannya
Readable Source Code
- Main Activity
Komponen utama Android (
ComponentActivity) yang memanggil fungsiOTPApp()untuk memulai UI dengan temaOtpTheme.-
enableEdgeToEdge()membuat tampilan UI menyatu dengan layar penuh. - Fungsi OTPApp()
Ini adalah inti logika aplikasi. Terdapat beberapa
statedan kontrol navigasi antar layar:-
currentScreen: Mengatur tampilan layar yang aktif saat ini (Login,Register,OTPVerification,PersonalData,Welcome). -
registerData: Menyimpan data dari layar Register. -
personalData: Menyimpan data pribadi user setelah registrasi. -
user: Menyimpan semua informasi user secara keseluruhan. -
currentOTP: Menyimpan OTP yang digenerate untuk verifikasi. -
isFromLogin: Flag untuk membedakan apakah pengguna berasal dari login atau registrasi.
-
- Fungsi Utility
-
generateOTP(): Membuat angka 6 digit random sebagai OTP. -
showToast(message): Menampilkan pesan toast di layar. -
showSnackbar(message): Menampilkan snackbar. -
showOTPForDemo(otp, phoneNumber): Debug OTP - menampilkan OTP ke Toast & Snackbar untuk keperluan demo
- Navigasi Antar Layar
- AppScreen.Login
-
Menampilkan layar login.
-
Jika email cocok dengan user yang sudah terdaftar → berhasil login dan pindah ke
WelcomeScreen. -
Jika gagal → muncul toast error.
-
Tombol “Daftar” → pindah ke
RegisterScreen.
AppScreen.Register-
Menampilkan form registrasi awal (email, password, nomor telepon).
-
Setelah submit:
-
Simpan datanya.
-
Generate OTP.
-
Pindah ke
OTPVerificationScreen.
-
AppScreen.OTPVerification-
Menampilkan input OTP.
-
Jika OTP cocok → lanjut ke
PersonalDataScreen. -
Jika gagal → bisa resend OTP (generate ulang).
-
Tombol kembali → kembali ke register.
AppScreen.PersonalData-
Form data diri tambahan: nama, tanggal lahir, dsb.
-
Setelah diisi:
-
Simpan ke
user. -
Tandai user sudah register dan verifikasi.
-
Pindah ke
WelcomeScreen.
-
AppScreen.Welcome-
Layar selamat datang dengan ucapan personal.
-
Jika berasal dari login → beri pesan selamat datang.
-
Jika berasal dari register → arahkan untuk login ulang.
-





Komentar
Posting Komentar