Quick actions

cmd+k|ctrl+k

Navigation

Languages

Tugas 3.1

Snippet info

Language

Kotlin

Visibility

public

Author

tomassasra12

Created

2025-03-15T17:24:13.769971Z

Updated

2025-03-15T17:42:25.705974Z

//Nama  : Tomas Sasra Bahu
//NIM   : 3420210028

fun main() {
    judul()
    ketentuan()

    println("Nama Pembeli : <Input>"); val nama = readln()
    println("Jumlah Beli  : <Input>"); val jumlah = readln().toInt()
    garis(54)

    var i = 1
    var kodeProduk = IntArray(jumlah)
    var hargaProduk = IntArray(jumlah)
    var tipeProduk = Array(jumlah) { "" }

    // Looping While
    while (i <= jumlah) {
        println("Data Ke - $i")
        println("Pilih Kode [1/2/3]: <Input>")
        val kode = readln().toInt()
        val tipe = Tipe(kode)
        val harga = Harga(kode)

        // Struktur IF
        if (tipe != "Tipe tidak valid!") {
            tipeProduk[i - 1] = tipe
            hargaProduk[i - 1] = harga
            kodeProduk[i - 1] = kode
            i++
        } else {
            println("Kode tidak valid! Masukkan ulang.")
        }
    }

    var index = 0
    garis(60)
    println("Terima Kasih $nama Telah Berbelanja Di Toko ASICS Official Shop")
    println("Berikut Data Belanjaan Anda")
    garis(60)
    println("| No | Tipe                        | Harga         |")
    garis(54)

    var totalBayar = 0
    // Looping Do While 
    do {
        println("| %-2d | %-27s | Rp %10s |".format(
            index + 1, tipeProduk[index], formatRupiah(hargaProduk[index])
        ))
        totalBayar += hargaProduk[index]
        index++
    } while (index < jumlah)

    garis(54)
    println("Total Bayar : Rp ${formatRupiah(totalBayar)}")
    garis(54)
    println("Nama  : ${Author()}")
    Email  ("Email : [email protected]")
}

// Function Not Return Value (Without Paramater)
fun judul() {
    println("----------------------------")
    println("Tugas Kotlin 3.1")
    println("----------------------------")
}

// Function Not Return Value (Without Paramater)
fun ketentuan() {
    println("Ketentuan!")
    println("Harus terdapat Range")
    println("Harus terdapat Struktur IF dan When")
    println("Harus terdapat Looping While, Do While, For")
    println("Harus terdapat Function Not Return Value (With Parameter)")
    println("Harus terdapat Function Not Return Value (Without Parameter)")
    println("Harus terdapat Function Return Value (With Parameter)")
    println("Harus terdapat Function Return Value (Without Parameter)")
    println("Harus terdapat Function untuk Format Ribuan")
    garis(54)
    println("| ASICS Official Shop                                |")
    garis(54)
    println("| Kode | Tipe                         | Harga        |")
    garis(54)
    println("| 1    | ASICS Swift FF Standard      | Rp 1.754.000 |")
    println("| 2    | ASICS GEL-GAME 9             | Rp 1.200.000 |")
    println("| 3    | ASICS Upcourt 5 Standard     | Rp   854.000 |")
    garis(54)
}

// Range
fun garis(Panjang: Int): Unit {
    val Range_A = 1.rangeTo(Panjang)
    // Looping For
    for (i in Range_A) print("-")
    println()
}

// Fuction Return Value (With Parameter) & Struktur When
fun Tipe(kode: Int): String = when (kode) {
    1 -> "ASICS Swift FF Standard"
    2 -> "ASICS GEL-GAME 9"
    3 -> "ASICS Upcourt 5 Standard"
    else -> "Tipe tidak valid!"
};

// Fuction Return Value (With Parameter) & Struktur When
fun Harga(kode: Int): Int = when (kode) {
    1 -> 1754000
    2 -> 1200000
    3 -> 854000
    else -> 0
};

// Function Format Ribuan / Rupiah
fun formatRupiah(amount: Int): String = "%,d".format(amount).replace(',', '.');

// Function Return Value (Without Parameter)
fun Author(): String = "Tomas Sasra Bahu";

// Function Not Retrurn Value (With Parameter)
fun Email(mail: String) = println(mail)
INFO