Latihan 5

Sabran Hakim

2301091027

MI2A

LINK: https://github.com/sabranhakim/Latihan5.git


Demo:



 1. Konversi Suhu

Rumus:

​​Fahrenheit = (9/5) * Celsius + 32 Kelvin = Celsius + 273.15 Reamur = (4/5) * Celsius


Source code:

package com.sabran.latihan5

import android.annotation.SuppressLint
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class konversiSuhuActivity : AppCompatActivity() {
@SuppressLint("MissingInflatedId")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_konversi_suhu)

val inputCelsius = findViewById<EditText>(R.id.inputCelsius)
val btnKonversi = findViewById<Button>(R.id.btnKonversi)
val outputFahrenheit = findViewById<TextView>(R.id.outputFahrenheit)
val outputKelvin = findViewById<TextView>(R.id.outputKelvin)
val outputReamur = findViewById<TextView>(R.id.outputReamur)

btnKonversi.setOnClickListener {
val celsiusText = inputCelsius.text.toString()

if (celsiusText.isNotEmpty()) {
val celsius = celsiusText.toDouble()

// Konversi suhu
val fahrenheit = (9.0 / 5.0) * celsius + 32
val kelvin = celsius + 273.15
val reamur = (4.0 / 5.0) * celsius

// Tampilkan hasil
outputFahrenheit.text = "Fahrenheit: $fahrenheit °F"
outputKelvin.text = "Kelvin: $kelvin K"
outputReamur.text = "Reamur: $reamur °Ré"
} else {
Toast.makeText(this, "Masukkan suhu dalam Celsius!", Toast.LENGTH_SHORT).show()
}
}
}
}

2. Diskon Belanja

Ketentuan:

- Jika total belanja kurang dari Rp. 100.000, tidak mendapat diskon.

- Jika total belanja antara Rp. 100.000 – Rp. 500.000, mendapat diskon 10%.

- Jika total belanja antara Rp. 500.000 – Rp. 1.000.000, mendapat diskon 20%

- Jika total belanja diatas Rp.1.000.000, mendapat diskon 30%.


Source code:

package com.sabran.latihan5

import android.annotation.SuppressLint
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class DiskonBelanjaActivity : AppCompatActivity() {
@SuppressLint("MissingInflatedId")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_diskon_belanja)

// Referensi ke komponen UI
val inputTotalBelanja = findViewById<EditText>(R.id.inputTotalBelanja)
val btnHitungDiskon = findViewById<Button>(R.id.btnHitungDiskon)
val outputDiskon = findViewById<TextView>(R.id.outputDiskon)
val outputTotalBayar = findViewById<TextView>(R.id.outputTotalBayar)

// Tombol hitung diskon di-click
btnHitungDiskon.setOnClickListener {
val totalBelanjaText = inputTotalBelanja.text.toString()

if (totalBelanjaText.isNotEmpty()) {
val totalBelanja = totalBelanjaText.toDouble()
var diskon = 0.0

// Menentukan besaran diskon
when {
totalBelanja >= 1_000_000 -> diskon = 0.30
totalBelanja >= 500_000 -> diskon = 0.20
totalBelanja >= 100_000 -> diskon = 0.10
}

// Menghitung nilai diskon dan total bayar
val nilaiDiskon = totalBelanja * diskon
val totalBayar = totalBelanja - nilaiDiskon

// Menampilkan hasil
outputDiskon.text = "Diskon: Rp ${"%.2f".format(nilaiDiskon)}"
outputTotalBayar.text = "Total Bayar: Rp ${"%.2f".format(totalBayar)}"
} else {
Toast.makeText(this, "Masukkan total belanja yang valid!", Toast.LENGTH_SHORT).show()
}
}
}
}

3. Menghitung luas permukaan dan volume

Rumus:

- Luas permukaan = 2(p.l + p.t + l.t)

- Volume = p.l.t


Source code: 

package com.sabran.latihan5

import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class HitungActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_hitung)

// Referensi ke komponen UI
val inputPanjang = findViewById<EditText>(R.id.inputPanjang)
val inputLebar = findViewById<EditText>(R.id.inputLebar)
val inputTinggi = findViewById<EditText>(R.id.inputTinggi)
val btnHitung = findViewById<Button>(R.id.btnHitung)
val outputLuasPermukaan = findViewById<TextView>(R.id.outputLuasPermukaan)
val outputVolume = findViewById<TextView>(R.id.outputVolume)

// Tombol hitung di-click
btnHitung.setOnClickListener {
val panjangText = inputPanjang.text.toString()
val lebarText = inputLebar.text.toString()
val tinggiText = inputTinggi.text.toString()

// Validasi input tidak kosong
if (panjangText.isNotEmpty() && lebarText.isNotEmpty() && tinggiText.isNotEmpty()) {
val panjang = panjangText.toDouble()
val lebar = lebarText.toDouble()
val tinggi = tinggiText.toDouble()

// Menghitung luas permukaan dan volume
val luasPermukaan = 2 * (panjang * lebar + panjang * tinggi + lebar * tinggi)
val volume = panjang * lebar * tinggi

// Menampilkan hasil
outputLuasPermukaan.text = "Luas Permukaan: $luasPermukaan"
outputVolume.text = "Volume: $volume"
} else {
Toast.makeText(this, "Masukkan semua nilai panjang, lebar, dan tinggi!", Toast.LENGTH_SHORT).show()
}
}
}
}

4. Menentukan bilangan Ganjil atau Genap

Source code:

package com.sabran.latihan5

import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class GanjilAtauGenapActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_ganjil_atau_genap)

// Referensi ke komponen UI
val inputBilangan = findViewById<EditText>(R.id.inputBilangan)
val btnCek = findViewById<Button>(R.id.btnCek)
val outputHasil = findViewById<TextView>(R.id.outputHasil)

// Tombol cek di-click
btnCek.setOnClickListener {
val bilanganText = inputBilangan.text.toString()

if (bilanganText.isNotEmpty()) {
val bilangan = bilanganText.toInt()

// Cek apakah bilangan ganjil atau genap
val hasil = if (bilangan % 2 == 0) {
"$bilangan adalah bilangan genap"
} else {
"$bilangan adalah bilangan ganjil"
}

// Tampilkan hasil
outputHasil.text = "Hasil: $hasil"
} else {
Toast.makeText(this, "Masukkan bilangan bulat!", Toast.LENGTH_SHORT).show()
}
}
}
}





2 komentar: