From 6fe2b76e9628b0d86de121bd3945ab63db5c9cd6 Mon Sep 17 00:00:00 2001 From: HagaDalpintoGinting Date: Fri, 7 Nov 2025 18:57:44 +0700 Subject: [PATCH] first commit --- app/build.gradle.kts | 49 ++- .../java/com/example/tiptime/MainActivity.kt | 388 +++++++++++------- .../java/com/example/tiptime/StartScreen.kt | 109 +++++ app/src/main/res/drawable/ic_height.png | Bin 0 -> 19552 bytes app/src/main/res/drawable/ic_weight.png | Bin 0 -> 26327 bytes app/src/main/res/values/strings.xml | 20 +- 6 files changed, 389 insertions(+), 177 deletions(-) create mode 100644 app/src/main/java/com/example/tiptime/StartScreen.kt create mode 100644 app/src/main/res/drawable/ic_height.png create mode 100644 app/src/main/res/drawable/ic_weight.png diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f786714..38be2fe 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,5 +1,4 @@ -/* - * Copyright (C) 2023 The Android Open Source Project +/* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,12 +20,13 @@ plugins { } android { - compileSdk = 35 + namespace = "com.example.tiptime" + compileSdk = 34 defaultConfig { applicationId = "com.example.tiptime" minSdk = 24 - targetSdk = 35 + targetSdk = 34 versionCode = 1 versionName = "1.0" @@ -46,40 +46,51 @@ android { } } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() + jvmTarget = "1.8" } buildFeatures { compose = true } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.1" + } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } - namespace = "com.example.tiptime" } dependencies { - implementation(platform("androidx.compose:compose-bom:2024.12.01")) - implementation("androidx.activity:activity-compose:1.9.3") + // Gunakan Compose Bill of Materials (BOM) versi stabil + val composeBom = platform("androidx.compose:compose-bom:2024.06.00") + implementation(composeBom) + androidTestImplementation(composeBom) + + // Dependensi Compose (versi akan diatur oleh BOM) implementation("androidx.compose.material3:material3") implementation("androidx.compose.ui:ui") - implementation("androidx.compose.ui:ui-tooling") + implementation("androidx.compose.ui:ui-graphics") implementation("androidx.compose.ui:ui-tooling-preview") - implementation("androidx.core:core-ktx:1.15.0") - implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7") + implementation("androidx.compose.foundation:foundation") - testImplementation("junit:junit:4.13.2") - - androidTestImplementation(platform("androidx.compose:compose-bom:2024.12.01")) - androidTestImplementation("androidx.compose.ui:ui-test-junit4") - androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") - androidTestImplementation("androidx.test.ext:junit:1.2.1") + // Dependensi AndroidX lainnya + implementation("androidx.core:core-ktx:1.13.1") + implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.3") + implementation("androidx.activity:activity-compose:1.9.0") + // Dependensi untuk debug + debugImplementation("androidx.compose.ui:ui-tooling") debugImplementation("androidx.compose.ui:ui-test-manifest") + + // Dependensi testing + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.2.1") + androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") + androidTestImplementation("androidx.compose.ui:ui-test-junit4") } diff --git a/app/src/main/java/com/example/tiptime/MainActivity.kt b/app/src/main/java/com/example/tiptime/MainActivity.kt index d0fdd80..e5b2273 100644 --- a/app/src/main/java/com/example/tiptime/MainActivity.kt +++ b/app/src/main/java/com/example/tiptime/MainActivity.kt @@ -1,18 +1,3 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package com.example.tiptime import android.os.Bundle @@ -21,41 +6,31 @@ import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.safeDrawingPadding -import androidx.compose.foundation.layout.statusBarsPadding -import androidx.compose.foundation.layout.wrapContentWidth +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll -import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface -import androidx.compose.material3.Switch -import androidx.compose.material3.Text -import androidx.compose.material3.TextField -import androidx.compose.runtime.Composable +import androidx.compose.material3.* +import androidx.compose.runtime.* import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp import com.example.tiptime.ui.theme.TipTimeTheme -import java.text.NumberFormat class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -65,150 +40,259 @@ class MainActivity : ComponentActivity() { TipTimeTheme { Surface( modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background ) { - TipTimeLayout() + NavigationController() + } + } + } + } +} + +// Enum dan NavigationController tetap sama +private sealed class Screen { + object Start : Screen() + object Main : Screen() +} + +@Composable +private fun NavigationController() { + var currentScreen by remember { mutableStateOf(Screen.Start) } + + when (currentScreen) { + is Screen.Start -> { + StartScreen(onNavigateToMain = { currentScreen = Screen.Main }) + } + is Screen.Main -> { + BMICalculatorScreen() + } + } +} + + +// --- INI ADALAH TAMPILAN BARU YANG LEBIH MENARIK --- +@Composable +fun BMICalculatorScreen() { + var heightInput by remember { mutableStateOf("") } + var weightInput by remember { mutableStateOf("") } + var useMetric by remember { mutableStateOf(true) } + + val height = heightInput.toDoubleOrNull() ?: 0.0 + val weight = weightInput.toDoubleOrNull() ?: 0.0 + + val bmiValue = calculateBMI(height, weight, useMetric) + val bmiCategory = bmiCategory(bmiValue) + val bmiCategoryColor = getBmiCategoryColor(bmiCategory) + + Column( + modifier = Modifier + .fillMaxSize() + .verticalScroll(rememberScrollState()) + .safeDrawingPadding() + .padding(16.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + text = stringResource(R.string.bmi_calculator), + style = MaterialTheme.typography.headlineMedium, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(vertical = 16.dp) + ) + + // --- KARTU HASIL BMI --- + Card( + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 16.dp), + elevation = CardDefaults.cardElevation(defaultElevation = 8.dp), + colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceVariant) + ) { + Column( + modifier = Modifier + .fillMaxWidth() + .padding(24.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center + ) { + Text( + text = stringResource(id = R.string.your_bmi_is), + style = MaterialTheme.typography.titleMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + Text( + text = "%.1f".format(bmiValue), + fontSize = 52.sp, + fontWeight = FontWeight.Bold, + color = bmiCategoryColor + ) + Spacer(modifier = Modifier.height(8.dp)) + Text( + text = bmiCategory, + fontSize = 20.sp, + fontWeight = FontWeight.SemiBold, + color = bmiCategoryColor + ) + Spacer(modifier = Modifier.height(16.dp)) + BmiIndicatorBar(category = bmiCategory) + } + } + + // --- KARTU INPUT DATA --- + Card( + modifier = Modifier + .fillMaxWidth() + .padding(top = 16.dp), + elevation = CardDefaults.cardElevation(defaultElevation = 4.dp) + ) { + Column( + modifier = Modifier.padding(24.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + UnitSwitchRow( + isMetric = useMetric, + onUnitChanged = { useMetric = it } + ) + Spacer(modifier = Modifier.height(24.dp)) + + val heightLabel = if (useMetric) R.string.height_cm else R.string.height_in + EditNumberField( + label = heightLabel, + leadingIcon = R.drawable.ic_height, + value = heightInput, + onValueChanged = { heightInput = it }, + imeAction = ImeAction.Next + ) + + Spacer(modifier = Modifier.height(16.dp)) + + val weightLabel = if (useMetric) R.string.weight_kg else R.string.weight_lbs + EditNumberField( + label = weightLabel, + leadingIcon = R.drawable.ic_weight, + value = weightInput, + onValueChanged = { weightInput = it }, + imeAction = ImeAction.Done + ) + } + } + } +} + +@Composable +fun BmiIndicatorBar(category: String) { + val categories = listOf("Underweight", "Normal", "Overweight", "Obese") + Row( + modifier = Modifier + .fillMaxWidth() + .clip(CircleShape) + .background(MaterialTheme.colorScheme.surface) + .padding(2.dp) + ) { + categories.forEach { cat -> + Box( + modifier = Modifier + .weight(1f) + .height(12.dp) + .background( + if (cat == category) getBmiCategoryColor(cat) else Color.LightGray.copy(alpha = 0.5f) + ) + ) { + if (cat == category) { + Text( + text = cat, + color = Color.White, + fontSize = 8.sp, // Ukuran font sangat kecil + textAlign = TextAlign.Center, + modifier = Modifier.align(Alignment.Center) + ) } } } } } -@Composable -fun TipTimeLayout() { - var amountInput by remember { mutableStateOf("") } - var tipInput by remember { mutableStateOf("") } - var roundUp by remember { mutableStateOf(false) } - - val BmiHeight = amountInput.toDoubleOrNull() ?: 0.0 - val BmiWeight = tipInput.toDoubleOrNull() ?: 0.0 - val bmi = calculateBMI(BmiHeight, BmiWeight, roundUp) - val category = calculateBMICategory(BmiHeight, BmiWeight, roundUp) - - Column( - modifier = Modifier - .statusBarsPadding() - .padding(horizontal = 40.dp) - .verticalScroll(rememberScrollState()) - .safeDrawingPadding(), - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center - ) { - Text( - text = stringResource(R.string.calculate_tip), - modifier = Modifier - .padding(bottom = 16.dp, top = 40.dp) - .align(alignment = Alignment.Start) - ) - EditNumberField( - label = R.string.height, - leadingIcon = R.drawable.number, - keyboardOptions = KeyboardOptions.Default.copy( - keyboardType = KeyboardType.Number, - imeAction = ImeAction.Next - ), - value = amountInput, - onValueChanged = { amountInput = it }, - modifier = Modifier.padding(bottom = 32.dp).fillMaxWidth(), - ) - EditNumberField( - label = R.string.weight, - leadingIcon = R.drawable.number, - keyboardOptions = KeyboardOptions.Default.copy( - keyboardType = KeyboardType.Number, - imeAction = ImeAction.Done - ), - value = tipInput, - onValueChanged = { tipInput = it }, - modifier = Modifier.padding(bottom = 32.dp).fillMaxWidth(), - ) - RoundTheTipRow( - roundUp = roundUp, - onRoundUpChanged = { roundUp = it }, - modifier = Modifier.padding(bottom = 32.dp) - ) - Text( - text = stringResource(R.string.bmi_calculation, bmi), - style = MaterialTheme.typography.displaySmall - ) - Text( - text = stringResource(R.string.bmi_category, category), - style = MaterialTheme.typography.displaySmall - ) - - Spacer(modifier = Modifier.height(150.dp)) - } -} - @Composable fun EditNumberField( @StringRes label: Int, @DrawableRes leadingIcon: Int, - keyboardOptions: KeyboardOptions, value: String, onValueChanged: (String) -> Unit, - modifier: Modifier = Modifier + imeAction: ImeAction ) { - TextField( + OutlinedTextField( value = value, - singleLine = true, - leadingIcon = { Icon(painter = painterResource(id = leadingIcon), null) }, - modifier = modifier, onValueChange = onValueChanged, label = { Text(stringResource(label)) }, - keyboardOptions = keyboardOptions + leadingIcon = { Icon(painter = painterResource(id = leadingIcon), contentDescription = null) }, + keyboardOptions = KeyboardOptions( + keyboardType = KeyboardType.Number, + imeAction = imeAction + ), + singleLine = true, + modifier = Modifier.fillMaxWidth() ) } @Composable -fun RoundTheTipRow( - roundUp: Boolean, - onRoundUpChanged: (Boolean) -> Unit, - modifier: Modifier = Modifier -) { +fun UnitSwitchRow(isMetric: Boolean, onUnitChanged: (Boolean) -> Unit) { Row( - modifier = modifier.fillMaxWidth(), - verticalAlignment = Alignment.CenterVertically + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween ) { - Text(text = stringResource(R.string.use_usc)) - Switch( - modifier = Modifier - .fillMaxWidth() - .wrapContentWidth(Alignment.End), - checked = roundUp, - onCheckedChange = onRoundUpChanged - ) + Text(text = stringResource(R.string.unit_system)) + Row(verticalAlignment = Alignment.CenterVertically) { + Text("Imperial", style = MaterialTheme.typography.bodyMedium) + Switch( + checked = isMetric, + onCheckedChange = onUnitChanged, + modifier = Modifier.padding(horizontal = 8.dp) + ) + Text("Metric", style = MaterialTheme.typography.bodyMedium) + } } } -/** - * Calculates the BMI - * - * Catatan: tambahkan unit test untuk kalkulasi BMI ini - */ -private fun calculateBMI(BmiHeight: Double, BmiWeight: Double = 15.0, roundUp: Boolean): String { - var bmi = BmiWeight / 100 * BmiHeight - if (roundUp) { - bmi = kotlin.math.ceil(bmi) - } - return NumberFormat.getNumberInstance().format(bmi) -} -/** - * Calculates the BMI Category - * - * Catatan: tambahkan unit test untuk kalkulasi BMI ini - */ +// --- FUNGSI LOGIKA (HELPER) --- -private fun calculateBMICategory(BmiHeight: Double, BmiWeight: Double = 15.0, roundUp: Boolean): String { - var bmi = BmiWeight / 100 * BmiHeight - if (roundUp) { - bmi = kotlin.math.ceil(bmi) +private fun calculateBMI(height: Double, weight: Double, isMetric: Boolean): Double { + if (height <= 0 || weight <= 0) return 0.0 + + return if (isMetric) { + val heightInMeters = height / 100 + weight / (heightInMeters * heightInMeters) + } else { + 703 * weight / (height * height) } - return NumberFormat.getNumberInstance().format(bmi) } -@Preview(showBackground = true) + +private fun bmiCategory(bmi: Double): String { + return when { + bmi == 0.0 -> "..." + bmi < 18.5 -> "Underweight" + bmi < 25.0 -> "Normal" + bmi < 30.0 -> "Overweight" + else -> "Obese" + } +} + @Composable -fun TipTimeLayoutPreview() { - TipTimeTheme { - TipTimeLayout() +private fun getBmiCategoryColor(category: String): Color { + return when (category) { + "Underweight" -> Color(0xFF8AB4F8) // Biru + "Normal" -> Color(0xFF5BB974) // Hijau + "Overweight" -> Color(0xFFFDD663) // Kuning + "Obese" -> Color(0xFFE57373) // Merah + else -> MaterialTheme.colorScheme.onSurface } -} \ No newline at end of file +} + +// --- PREVIEW --- + +@Preview(showBackground = true, name = "New BMI Calculator") +@Composable +fun BMICalculatorScreenPreview() { + TipTimeTheme { + BMICalculatorScreen() + } +} diff --git a/app/src/main/java/com/example/tiptime/StartScreen.kt b/app/src/main/java/com/example/tiptime/StartScreen.kt new file mode 100644 index 0000000..cd0edce --- /dev/null +++ b/app/src/main/java/com/example/tiptime/StartScreen.kt @@ -0,0 +1,109 @@ +package com.example.tiptime + +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.animation.core.animateFloatAsState +import androidx.compose.animation.core.tween +import androidx.compose.animation.slideInVertically +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.material3.Button +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.tiptime.ui.theme.TipTimeTheme + +// Composable utama untuk Start Screen yang interaktif +@Composable +fun StartScreen(onNavigateToMain: () -> Unit) { + // State untuk memulai dan mengontrol animasi + var startAnimation by remember { mutableStateOf(false) } + val alphaAnim = animateFloatAsState( + targetValue = if (startAnimation) 1f else 0f, + animationSpec = tween(durationMillis = 2000), // Animasi logo & teks muncul selama 2 detik + label = "alpha_animation" + ) + + // LaunchedEffect sekarang hanya untuk memulai animasi saat layar pertama kali muncul + LaunchedEffect(key1 = true) { + startAnimation = true // Mulai animasi + } + + // Tampilan UI untuk Start Screen + Column( + modifier = Modifier + .fillMaxSize() + .padding(16.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center + ) { + // --- Bagian Logo dan Judul (tetap sama) --- + Image( + painter = painterResource(id = R.drawable.ic_weight), // Menggunakan ikon timbangan + contentDescription = "App Logo", + modifier = Modifier + .size(120.dp) + .alpha(alphaAnim.value) // Terapkan animasi alpha + ) + Spacer(modifier = Modifier.height(24.dp)) + Text( + text = stringResource(id = R.string.app_name), + fontSize = 24.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.alpha(alphaAnim.value) // Terapkan animasi alpha + ) + + Spacer(modifier = Modifier.height(100.dp)) // Beri jarak lebih ke tombol + + // --- Bagian Tombol Interaktif --- + // AnimatedVisibility akan membuat tombol muncul dengan animasi setelah logo tampil + AnimatedVisibility( + visible = startAnimation, + enter = slideInVertically( + initialOffsetY = { it }, // Muncul dari bawah + animationSpec = tween(durationMillis = 1000, delayMillis = 500) // Animasi setelah 0.5 detik + ) + ) { + Button( + // Saat tombol diklik, panggil fungsi untuk navigasi + onClick = onNavigateToMain, + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 32.dp) + ) { + Text( + text = "Mulai Hitung", + fontSize = 18.sp + ) + } + } + } +} + +// Preview khusus untuk StartScreen agar bisa dilihat di panel desain +@Preview(showBackground = true, name = "Start Screen Preview") +@Composable +fun StartScreenPreview() { + TipTimeTheme { + StartScreen(onNavigateToMain = {}) + } +} diff --git a/app/src/main/res/drawable/ic_height.png b/app/src/main/res/drawable/ic_height.png new file mode 100644 index 0000000000000000000000000000000000000000..d38845b3e8eaa88c9230ee1f3b7b75dcad691fcc GIT binary patch literal 19552 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 z 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 BMI Calculator - Calculate BMI - Tinggi Badan - Berat Badan - Gunakan Unit USC (lbs/in)? - BMI Anda: %s - Kategori: %s + BMI Calculator + Height (cm) + Height (in) + Weight (kg) + Weight (lbs) + Metric (kg, cm) + Imperial (lbs, in) + Your BMI: %s + Category: %s + Your BMI is + Unit System + + +