Quick actions

cmd+k|ctrl+k

Navigation

Languages

Tugas 2.3

Snippet info

Language

Kotlin

Visibility

public

Author

adindapuut

Created

2025-03-15T18:33:17.163195Z

Updated

2025-03-15T18:35:55.214078Z

//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 : [email protected]")
}
INFO