//Nama : Adinda Putri
//NIM : 3420210006
fun main() {
val shoes = listOf(
Triple(1, "Cordova Classic", listOf(800000, 900000)),
Triple(2, "Hillcrest", listOf(950000, 1050000)),
Triple(3, "Slip-Ins Go Walk", listOf(1150000, 1250000))
)
println("---------------------------------------------------")
println("Tugas Kotlin 2.3")
println("---------------------------------------------------")
println("Ketentuan!")
println("Harus terdapat Function Not Return Value (With Parameter)")
println("Harus terdapat Function Not Return Value (Without Parameter)")
println("Harus terdapat Struktur IF dan When")
println("Harus terdapat Looping Do While")
println("Harus terdapat Function Return Value (With Parameter)")
println("Harus terdapat Function Return Value (Without Parameter)")
println("---------------------------------------------------")
println("| Skechers Official Shop |")
println("---------------------------------------------------")
println("| Kode | Tipe |")
println("---------------------------------------------------")
shoes.forEach { println("| ${it.first} | ${it.second} |") }
println("---------------------------------------------------")
println("| Ukuran | Cordova Classic | Hillcrest | Slip-Ins Go Walk |")
println("|---------------------------------------------------------|")
println("| 37-41 | Rp ${shoes[0].third[0]} | Rp ${shoes[1].third[0]} | Rp ${shoes[2].third[0]} |")
println("| 42-46 | Rp ${shoes[0].third[1]} | Rp ${shoes[1].third[1]} | Rp ${shoes[2].third[1]} |")
println("---------------------------------------------------")
print("Masukkan nama pembeli: ")
val buyerName = readLine() ?: ""
var shoeCode: Int
do {
print("Pilih Kode Sepatu [1/2/3]: ")
shoeCode = readLine()?.toIntOrNull() ?: 0
} while (shoeCode !in 1..3)
val selectedShoe = shoes.find { it.first == shoeCode }
if (selectedShoe != null) {
print("Pilih ukuran [37-41/42-46]: ")
val size = readLine() ?: ""
val price = getShoePrice(selectedShoe, size)
displaySelection(buyerName, selectedShoe.second, size, price)
} else {
println("Kode sepatu tidak valid.")
}
}
// Function Return Value (With Parameter)
fun getShoePrice(shoe: Triple<Int, String, List<Int>>, size: String): Int {
return if (size == "37-41") shoe.third[0] else shoe.third[1]
}
// Function Not Return Value (With Parameter)
fun displaySelection(name: String, shoeType: String, size: String, price: Int) {
println("---------------------------------------------------")
println("Halo $name")
println("Tipe sepatu yang kamu pilih adalah $shoeType dengan ukuran $size")
println("Harga dari sepatunya adalah Rp $price")
println("---------------------------------------------------")
displayContactInfo()
}
// Function Not Return Value (Without Parameter)
fun displayContactInfo() {
println("Nama : Irsyad Purbha")
println("Email : irsyadpurbha.fst@uia.ac.id")
}