Quick actions

cmd+k|ctrl+k

Navigation

Languages

Tugas 2.3

Snippet info

Language

Kotlin

Visibility

public

Author

faridaldi125

Created

2025-02-07T15:48:28.993703Z

Updated

2025-02-23T10:37:23.024237Z

fun garis(): Unit {
    println("-------------------------------------------------------------------------")
}

fun judul(): Unit {
    garis()
    println("Tugas 2.3")
    garis()
}

fun author(): Unit {
    garis()
    println("Nama   : Ahmad Farid Aldi")
    println("email  : [email protected]")
}

fun ketentuan(): Unit {
    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 Parametre)")
    println("Harus terdapat Function Return Value (Without Parameter)")
}

fun main() {

    
    fun tampilkanMenu() {
        judul()
        ketentuan()
        garis()
        println("| Skechers Official Shop               |")
        garis()
        println("| Kode   | Tipe                        |")
        garis()
        println("| 1      | Cordova Classic             |")
        println("| 2      | Hillcrest                   |")
        println("| 3      | Slip-Ins Go Walk            |")
        garis()
        println("| Ukuran | Cordova Classic | Hillcrest         | Slip-Ins Go Walk  |")
        garis()
        println("| 37-41  | Rp 800.000      | Rp 950.000        | Rp 1.150.000      |")
        println("| 42-46  | Rp 900.000      | Rp 1.050.000      | Rp 1.250.000      |")
        garis()
    }

    
    fun dapatkanTipeSepatu(kode: Int): String {
        return when (kode) {
            1 -> "Cordova Classic"
            2 -> "Hillcrest"
            3 -> "Slip-Ins Go Walk"
            else -> "Sepatu tidak ada didalam daftar"
        }
    }

    
    fun dapatkanHarga(ukuran: Int, kode: Int): Int {
        return if (ukuran in 37..41) {
            when (kode) {
                1 -> 800000
                2 -> 950000
                3 -> 1150000
                else -> 0
            }
        } else if (ukuran in 42..46) {
            when (kode) {
                1 -> 900000
                2 -> 1050000
                3 -> 1250000
                else -> 0
            }
        } else {
            0
        }
    }

    
    var kode: Int
    var nama: String = ""
    do {
        tampilkanMenu()
        println("Nama Pembeli               : <input>")
        nama = readln()
        println("Pilih Kode [1/2/3]         : <input> ")
        kode = readln()?.toIntOrNull() ?: 0
    } while (kode !in 1..3)

    var ukuran: Int
    do {
        println("Pilih Ukuran [37-46]       : <input> ")
        ukuran = readln()?.toIntOrNull() ?: 0
    } while (ukuran !in 37..46)

    val tipeSepatu = dapatkanTipeSepatu(kode)
    val harga = dapatkanHarga(ukuran, kode)
    
    garis()
    println("Hallo $nama. Terima kasih sudah berbelanja disini.")
    println("Kode yang kamu pilih       : $kode")
    println("Ukuran yang kamu pilih     : $ukuran")
    println("Tipe yang kamu pilih       : $tipeSepatu")
    println("Harga                      : $harga")
    
    author()
}
INFO