Untitled

Run Settings
LanguageKotlin
Language Version
Run Command
// Data produk data class Produk(val kode: Int, val tipe: String, val harga: Int) // Daftar produk val daftarProduk = listOf( Produk(1, "ASICS Swift FF Standard", 1750000), Produk(2, "ASICS GEL-GAME 9", 1200000), Produk(3, "ASICS Upcourt 5 Standard", 850000) ) // Fungsi untuk menampilkan daftar produk fun tampilkanProduk() { println("| Kode | Tipe | Harga |") println("|------|---------------------------|------------|") for (produk in daftarProduk) { println("| ${produk.kode} | ${produk.tipe.padEnd(25)} | ${formatRupiah(produk.harga)} |") } } // Fungsi format harga ke ribuan tanpa Java fun formatRupiah(angka: Int): String { val str = angka.toString() var hasil = "" var count = 0 for (i in str.length - 1 downTo 0) { hasil = str[i] + hasil count++ if (count % 3 == 0 && i != 0) { hasil = ".$hasil" } } return "Rp $hasil" } // Fungsi memilih produk berdasarkan kode fun pilihProduk(kode: Int): Produk? { return daftarProduk.find { it.kode == kode } } // Fungsi utama fun main() { println("------------------------------------------------") println(" ASICS Official Shop ") println("------------------------------------------------") tampilkanProduk() print("Nama Pembeli: ") val nama = readLine() ?: "Pelanggan" val belanjaan = mutableListOf<Produk>() // Looping untuk memilih produk 3 kali var i = 1 while (i <= 3) { print("Data Ke - $i\nPilih Kode [1/2/3]: ") val kode = readLine()?.toIntOrNull() if (kode != null) { val produk = pilihProduk(kode) if (produk != null) { belanjaan.add(produk) i++ } else { println("Kode tidak valid, coba lagi.") } } else { println("Masukkan angka yang valid!") } } println("------------------------------------------------") println("Terima kasih $nama telah berbelanja di toko ASICS Official") println("Berikut data belanjaan anda") println("------------------------------------------------") println("| No | Tipe | Harga |") println("|----|---------------------------|------------|") var totalBayar = 0 for ((index, item) in belanjaan.withIndex()) { println("| ${index + 1} | ${item.tipe.padEnd(25)} | ${formatRupiah(item.harga)} |") totalBayar += item.harga } println("------------------------------------------------") println("Total Bayar: ${formatRupiah(totalBayar)}") println("------------------------------------------------") // Input email print("Email: ") val email = readLine() ?: "Tidak ada email" println("Nama : $nama") println("Email : $email") }
Editor Settings
Theme
Key bindings
Full width
Lines