//Nama : VIRA AZIZAH
//NIM : 3420210007
//Prodi : Teknik Informatika
fun main() {
judul()
ketentuan()
println("Nama Pembeli : <Input>"); val nama = readln()
println("Jumlah Beli : <Input>"); val jumlah = readln().toInt()
garis(54)
var i = 1
var kodeProduk = IntArray(jumlah)
var hargaProduk = IntArray(jumlah)
var tipeProduk = Array(jumlah) { "" }
// Looping While
while (i <= jumlah) {
println("Data Ke - $i")
println("Pilih Kode [1/2/3]: <Input>")
val kode = readln().toInt()
val tipe = Tipe(kode)
val harga = Harga(kode)
// Struktur IF
if (tipe != "Tipe tidak valid!") {
tipeProduk[i - 1] = tipe
hargaProduk[i - 1] = harga
kodeProduk[i - 1] = kode
i++
} else {
println("Kode tidak valid! Masukkan ulang.")
}
}
var index = 0
garis(60)
println("Terima Kasih $nama Telah Berbelanja Di Toko ASICS Official Shop")
println("Berikut Data Belanjaan Anda")
garis(60)
println("| No | Tipe | Harga |")
garis(54)
var totalBayar = 0
// Looping Do While
do {
println("| %-2d | %-27s | Rp %10s |".format(
index + 1, tipeProduk[index], formatRupiah(hargaProduk[index])
))
totalBayar += hargaProduk[index]
index++
} while (index < jumlah)
garis(54)
println("Total Bayar : Rp ${formatRupiah(totalBayar)}")
garis(54)
println("Nama : ${Author()}")
Email ("Email : viraazizah02@gmail.com")
}
// Function Not Return Value (Without Paramater)
fun judul() {
println("----------------------------")
println("Tugas Kotlin 3.1")
println("----------------------------")
}
// Function Not Return Value (Without Paramater)
fun ketentuan() {
println("Ketentuan!")
println("Harus terdapat Range")
println("Harus terdapat Struktur IF dan When")
println("Harus terdapat Looping While, Do While, For")
println("Harus terdapat Function Not Return Value (With Parameter)")
println("Harus terdapat Function Not Return Value (Without Parameter)")
println("Harus terdapat Function Return Value (With Parameter)")
println("Harus terdapat Function Return Value (Without Parameter)")
println("Harus terdapat Function untuk Format Ribuan")
garis(54)
println("| ASICS Official Shop |")
garis(54)
println("| Kode | Tipe | Harga |")
garis(54)
println("| 1 | ASICS Swift FF Standard | Rp 1.754.000 |")
println("| 2 | ASICS GEL-GAME 9 | Rp 1.200.000 |")
println("| 3 | ASICS Upcourt 5 Standard | Rp 854.000 |")
garis(54)
}
// Range
fun garis(Panjang: Int): Unit {
val Range_A = 1.rangeTo(Panjang)
// Looping For
for (i in Range_A) print("-")
println()
}
// Fuction Return Value (With Parameter) & Struktur When
fun Tipe(kode: Int): String = when (kode) {
1 -> "ASICS Swift FF Standard"
2 -> "ASICS GEL-GAME 9"
3 -> "ASICS Upcourt 5 Standard"
else -> "Tipe tidak valid!"
};
// Fuction Return Value (With Parameter) & Struktur When
fun Harga(kode: Int): Int = when (kode) {
1 -> 1754000
2 -> 1200000
3 -> 854000
else -> 0
};
// Function Format Ribuan / Rupiah
fun formatRupiah(amount: Int): String = "%,d".format(amount).replace(',', '.');
// Function Return Value (Without Parameter)
fun Author(): String = "VIRA AZIZAH";
// Function Not Retrurn Value (With Parameter)
fun Email(mail: String) = println(mail)