Pemrograman Perangkat Beregerak - Tugas Pertemuan 5 - Timothy Hosia

Calculator App Kotlin

Nama: Timothy Hosia Budianto

NRP: 5025211098

Kelas: PPB - A


Calculator App Kotlin 

Pada pertemuan kali ini kami mebuat aplikasi Calculator App ( mengoperasikan pengoperasian 2 angka ) dengan menggunakan Kotlin dari tutorial yutub youtube.



Kode
Berikut Kode yang dipakai

package com.example.mycalculator

import android.os.Bundle
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
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.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Button
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
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.mycalculator.ui.theme.MyCalculatorTheme

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
var num1 by remember { mutableStateOf("0") }
var num2 by remember { mutableStateOf("0") }
var res by remember { mutableStateOf("") }

Column(
modifier = Modifier
.fillMaxSize()
.padding(24.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Text(text = "Aplikasi Kalkulator", fontSize = 24.sp, color = Color.DarkGray, fontWeight = FontWeight.Bold)
Spacer(modifier = Modifier.height(16.dp))

TextField(value = num1, onValueChange = { it:String -> num1 = it })
TextField(value = num2, onValueChange = { it:String -> num2 = it })
Spacer(modifier = Modifier.height(16.dp))
Row {
Button(onClick = {
var result = num1.toInt() + num2.toInt()
res = result.toString();
Toast.makeText(applicationContext, "Result is $result", Toast.LENGTH_SHORT).show()
}) {
Text(text = "Add")
}
Spacer(modifier = Modifier.width(16.dp))
Button(onClick = {
var result = num1.toInt() - num2.toInt()
res = result.toString();
Toast.makeText(applicationContext, "Result is $result", Toast.LENGTH_SHORT).show()
}) {
Text(text = "Sub")
}
Spacer(modifier = Modifier.width(16.dp))
Button(onClick = {
var result = num1.toInt() * num2.toInt()
res = result.toString();
Toast.makeText(applicationContext, "Result is $result", Toast.LENGTH_SHORT).show()
}) {
Text(text = "Mul")
}
Spacer(modifier = Modifier.width(16.dp))
Button(onClick = {
var result = num1.toInt() / num2.toInt();
res = result.toString();
Toast.makeText(applicationContext, "Result is $result", Toast.LENGTH_SHORT).show()
}) {
Text(text = "Div")
}
}

Card(
modifier = Modifier.fillMaxWidth().padding(vertical = 16.dp),
elevation = CardDefaults.cardElevation(defaultElevation = 6.dp),
shape = RoundedCornerShape(12.dp),
colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.primaryContainer
)
){
if(res.isNotEmpty()){
Text(
text = res,
fontSize = 30.sp,
color = MaterialTheme.colorScheme.onPrimaryContainer.copy(alpha = 0.7f),
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center
)
}
}
}
}
}
}
Github   :

Comments

Popular posts from this blog

Pemrograman Perangkat Beregerak - ETS - - Timothy Hosia

ETS PPL A

EAS PPL A - Perancangan Perangkat Lunak Hotel