Temperature Conversion Calculator

 Nabhyla Niagara Rannuan, 5025221286

Variabel Inputan

var celcius by remember { mutableStateOf("")}

Variabel celcius akan menyimpan input angka dari pengguna dengan mutableStateOf("") sebagai string kosong pada nilai awal.

TextField Inputan Angka

TextField(
value = celcius,
onValueChange = { celcius = it },
label = { Text("Masukkan suhu dalam Celcius", fontFamily = interSemiBold,) },
textStyle = TextStyle(fontFamily = interSemiBold),
modifier = Modifier.fillMaxWidth(),
)

Input field untuk memasukkan angka derajat celcius yang akan diubah, sebelum operasi perhitungan dilakukan.

Button Fitur Operasi Angka

Button(onClick = {
result = convertTemperature(celcius, "F")
}) {
Text("Fahrenheit", fontFamily = interSemiBold,)
}
Button(onClick = {
result = convertTemperature(celcius, "K")
}) {
Text("Kelvin", fontFamily = interSemiBold,)
}

Setiap tombol akan menjalankan operasi suhu yang berbeda. Operator F menunjukkan bahwa suhu akan dikonversi ke Fahrenheit, sedangkan K menunjukkan bahwa suhu akan dikonversi ke Kelvin. Kemudian, fungsi convertTemperature dipanggil untuk menghitung hasil konversi dalam variabel result.

Fungsi Operasi

fun convertTemperature(celcius: String, toUnit: String): String {
return try {
val c = celcius.toDouble()
val converted = when (toUnit) {
"F" -> c * 9/5 + 32
"K" -> c + 273.15
else -> "Unit tidak valid"
}
"$converted $toUnit"
} catch (e: NumberFormatException) {
"Error: Masukkan angka yang valid!"
}
}

Fungsi ini akan melakukan operasi konversi derajat berdasarkan operator yang diberikan, dengan mengubah input string celcius menjadi double. Lalu try-catch untuk handling error jika input bukan berupa angka.

Hasil akhir konversi dikembalikan dengan format 2 desimal.

Hasil



Link Github

https://github.com/nabhylanr/Temperature-Conversion-Calculator.git


Video



Komentar

Postingan populer dari blog ini

Jetpack Compose

ChefJuna