Tugas 3.2

Run Settings
LanguageKotlin
Language Version
Run Command
//Nama : VIRA AZIZAH //NIM : 3420210007 //Prodi : Teknik Informatika fun main() { judul() ketentuan() daftarSepatu() println("Jumlah Data Pembeli : <Input> ") val jumlahPembeli = readln().toInt() garis(33) val daftarPembeli = mutableListOf<Customer>() var i = 1 // Looping While while (i <= jumlahPembeli) { println("Data Ke - $i") println("Nama Pembeli : <Input> ") val nama = readln() println("Kode Sepatu [1/2/3] : <Input>") val kodeSepatu = readln().toInt() println("Jenis Kelamin [P/W] : <Input>") val gender = readln().uppercase() val customer = Customer(nama, kodeSepatu, gender) daftarPembeli.add(customer) garis(33) i++ } daftarTransaksi(daftarPembeli) garis(78) println("Nama : ${Author()}") Email ("Email : viraazizah02@gmail.com") } // Function Not Return Value (Without Parameter) fun judul() { garis(63) println("Tugas Kotlin 3.2") garis(63) } fun ketentuan() { println("Ketentuan!") println("1. Harus terdapat Range") println("2. Harus terdapat Struktur IF dan When") println("3. Harus terdapat Looping While, Do While, dan For") println("4. Harus terdapat Function Not Return Value (With Parameter)") println("5. Harus terdapat Function Not Return Value (Without Parameter)") println("6. Harus terdapat Function Return Value (With Parameter)") println("7. Harus terdapat Function Return Value (Without Parameter)") println("8. Harus terdapat Function untuk Format Ribuan") println("9. Harus terdapat Class") println("10. Function Not Return Value (Tanpa Parameter) Inside Class") garis(63) } fun daftarSepatu() { println("| Reebok Official Store |") garis(33) println("| Kode | Tipe |") garis(33) println("| 1 | Reebok Smash Edge |") println("| 2 | Reebok Court Retro |") println("| 3 | Reebok Prime Set |") garis(33) println("| Kode | Pria (P) | Wanita (W) |") garis(33) println("| 1 | 1.200.000 | 1.050.00) |") println("| 2 | 1.200.000 | 1.050.00) |") println("| 3 | 1.200.000 | 1.050.00) |") garis(33) } // Range fun garis(Panjang: Int): Unit { val Range_A = 1.rangeTo(Panjang) // Looping For for (i in Range_A) print("-") println() } // Function Return Value (With Parameter) & Struktur When fun getTipeSepatu(kode: Int): String = when (kode) { 1 -> "Reebok Smash Edge" 2 -> "Reebok Court Retro" 3 -> "Reebok Prime Set" else -> "Kode Salah" }; // Function Return Value (With Parameter) fun getHarga(kode: Int, gender: String): Int { // Struktur IF & When return if (gender == "P") { when (kode) { 1 -> 1200000 2 -> 1000000 3 -> 900000 else -> 0 } } else { when (kode) { 1 -> 1050000 2 -> 850000 3 -> 800000 else -> 0 } } } // Function untuk Format Ribuan fun formatRupiah(amount: Int): String = "%,d".format(amount).replace(',', '.'); // Class Customer class Customer(val nama: String, val kodeSepatu: Int, val gender: String) { // Function Not Return Value (Tanpa Parameter) Inside Class fun daftarData(no: Int) { val tipe = getTipeSepatu(kodeSepatu) val harga = getHarga(kodeSepatu, gender) val jenisKelamin = if (gender == "P") "Pria" else "Wanita" println("| %-3d | %-13s | %-13s | %-20s | Rp %10s |".format(no, nama, jenisKelamin, tipe, formatRupiah(harga))) } } // Function Not Return Value (With Parameter) fun daftarTransaksi(customers: List<Customer>) { println("Data Transaksi Reebok Official Store") garis(78) println("| No | Nama Customer | Jenis Kelamin | Tipe Sepatu | Harga |") garis(78) var totalHarga = 0 var index = 1 // Looping Do While do { customers[index - 1].daftarData(index) totalHarga += getHarga(customers[index - 1].kodeSepatu, customers[index - 1].gender) index++ } while (index <= customers.size) garis(78) println("Total Data Transaksi: Rp ${formatRupiah(totalHarga)}") } // Function Return Value (Without Parameter) fun Author(): String = "VIRA AZIZAH"; // Function Not Retrurn Value (With Parameter) fun Email(mail: String) = println(mail)
Editor Settings
Theme
Key bindings
Full width
Lines