Tugas 7: Membuat Log in Page
Alendra Rafif Athaillah
5025221297
PPB G
link github: click here
Aplikasi login sederhana yang dibangun menggunakan Jetpack Compose dengan Kotlin untuk platform Android. Aplikasi ini menampilkan antarmuka login yang modern dengan dukungan autentikasi email/password dan tombol social media login.
- Modern UI Design - Menggunakan Material Design 3 dengan Jetpack Compose
- Form Login - Input field untuk email dan password dengan validasi visual
- Password Visibility Toggle - Tombol untuk menampilkan/menyembunyikan password
- Social Media Login - Tombol untuk login dengan Facebook, Google, dan X (Twitter)
- Forgot Password - Link untuk reset password
- Responsive Design - Layout yang menyesuaikan dengan berbagai ukuran layar
- Interactive Elements - Animasi dan efek hover untuk pengalaman pengguna yang lebih baik
- Kotlin - Bahasa pemrograman utama
- Jetpack Compose - UI toolkit modern untuk Android
- Material Design 3 - Sistem desain Google
- Material Icons Extended - Koleksi ikon lengkap dari Material Design
- Android Studio Hedgehog (2023.1.1) atau yang lebih baru
- Minimum SDK 24 (Android 7.0)
- Target SDK 34 (Android 14)
- Kotlin 1.9.0 atau yang lebih baru
Clone repository ini ke komputer Anda:
git clone https://github.com/username/login-app.git
Buka project di Android Studio
Tambahkan dependencies di
build.gradle.kts(Module: app):dependencies { implementation "androidx.compose.ui:ui:1.5.4" implementation "androidx.compose.ui:ui-tooling-preview:1.5.4" implementation "androidx.compose.material3:material3:1.1.2" implementation "androidx.activity:activity-compose:1.8.0" implementation "androidx.compose.material:material-icons-extended:1.5.4" }Sync project dengan Gradle files
Build dan run aplikasi di emulator atau device
app/
├── src/main/java/com/example/myapplication/
│ ├── MainActivity.kt # Activity utama dengan LoginScreen
│ └── ui/theme/
│ ├── Theme.kt # Konfigurasi tema aplikasi
│ ├── Color.kt # Definisi warna
│ └── Type.kt # Definisi typography
├── res/
│ ├── values/
│ │ ├── colors.xml # Resource warna
│ │ └── strings.xml # Resource string
│ └── drawable/ # Asset gambar dan ikon
└── build.gradle.kts # Konfigurasi build dan dependencies
Komponen utama yang berisi:
- Header Illustration - Ilustrasi visual dengan shapes
- Welcome Text - Teks sambutan "Welcome Back"
- Email Field - Input field untuk email dengan validasi
- Password Field - Input field untuk password dengan toggle visibility
- Login Button - Tombol utama untuk melakukan login
- Forgot Password Link - Link untuk reset password
- Social Media Buttons - Tombol login dengan platform social media
Komponen reusable untuk tombol social media dengan:
- Background color yang dapat dikustomisasi
- Text/icon yang dapat diubah
- Click handler untuk setiap platform
Edit file ui/theme/Color.kt:
val primaryColor = Color(0xFF6366F1) // Ubah warna primary
val backgroundColor = Color.White // Ubah background colorTambahkan tombol baru di LoginScreen:
SocialMediaButton(
backgroundColor = Color(0xFF0077B5), // LinkedIn blue
text = "in",
textColor = Color.White,
modifier = Modifier.weight(1f)
) {
println("LinkedIn login clicked")
}
Comments
Post a Comment