PPB I - EAS
Nama : Rachel Anggieuli AP
NRP : 5025201263
Tahun : 2023/2024
Kelas
: PPB I
EAS
Soal EAS:
- Buat spesifikasi dan deskripsi aplikasi yang mampu dibuat berdasarkan studi kasus di atas?
- Buat use case dan flowchart yang akan diimplementasikan ?
- Gambarkan UI yang akan diimplementasikan
- Implementasikan Rancangan
- Buat presentasi dan demo implementasi upload di Youtube, dan isi lembar monitoring?
Jawaban Essay terdapat di Docs
Link DOCS: Link Docs EAS PBB
Demo Aplikasi
Link Youtube: Link Youtube EAS PPB
MainActivity.kt
<> package com.example.myalfamind import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LoginActivity() } } } <>
LoginActivity.kt
<> package com.example.myalfamind import android.util.Log import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.text.ClickableText import androidx.compose.material3.Button import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text import androidx.compose.material3.ButtonDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.* import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.AnnotatedString @Composable fun LoginActivity() { var email by remember { mutableStateOf("") } var password by remember { mutableStateOf("") } Column( modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally ) { Image( painter = painterResource(id = R.drawable.logo), contentDescription = "Login Image", modifier = Modifier.size(200.dp) ) Text(text = "Welcome Back", fontSize = 28.sp, fontWeight = FontWeight.Bold) Spacer(modifier = Modifier.height(4.dp)) Text(text = "Login to your account") Spacer(modifier = Modifier.height(16.dp)) OutlinedTextField( value = email, onValueChange = { email = it }, label = { Text(text = "Email address") } ) Spacer(modifier = Modifier.height(16.dp)) OutlinedTextField( value = password, onValueChange = { password = it }, label = { Text(text = "Password") }, visualTransformation = PasswordVisualTransformation() ) Spacer(modifier = Modifier.height(16.dp)) Button( onClick = { Log.i("Credential", "Email : $email Password : $password") }, colors = ButtonDefaults.buttonColors(containerColor = Color.Red) ) { Text(text = "Login") } Spacer(modifier = Modifier.height(32.dp)) ClickableText( text = AnnotatedString("Forgot Password?"), onClick = {}, style = androidx.compose.ui.text.TextStyle(color = Color(0xFFC30010)) ) Spacer(modifier = Modifier.height(32.dp)) Text(text = "Or sign in with") Row( modifier = Modifier .fillMaxWidth() .padding(30.dp), horizontalArrangement = Arrangement.SpaceEvenly ) { Image( painter = painterResource(id = R.drawable.google), contentDescription = "Google", modifier = Modifier .size(50.dp) .clickable { } ) Image( painter = painterResource(id = R.drawable.fb), contentDescription = "Facebook", modifier = Modifier .size(50.dp) .clickable { } ) Image( painter = painterResource(id = R.drawable.twitter), contentDescription = "X", modifier = Modifier .size(50.dp) .clickable { } ) } } } @Preview(showBackground = true, showSystemUi = true, name = "My Preview") @Composable fun LoginActivityPreview() { LoginActivity() } <>
Comments
Post a Comment