Menu
CoddyTech

Argumen Bernama

Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 58 dari 93.

Saat memanggil fungsi dengan beberapa parameter, biasanya kamu meneruskan argumen dalam urutan yang sama persis dengan urutan definisinya. Namun, Kotlin menawarkan alternatif yang lebih rapi: argumen bernama.

Dengan argumen bernama, kamu menentukan parameter untuk setiap nilai dengan menggunakan nama parameter yang diikuti =:

fun createProfile(name: String, age: Int, city: String) {
    println("$name, $age, from $city")
}

fun main() {
    createProfile(name = "Alice", age = 25, city = "Paris")
}
// output: Alice, 25, dari Paris

Ini membuat kodemu lebih mudah dibaca, terutama saat sebuah fungsi memiliki beberapa parameter dengan tipe yang sama. Bandingkan dua pemanggilan ini:

// Tanpa argumen bernama, apa arti angka-angka ini?
calculateArea(10, 5, 3)

// Dengan argumen bernama, jauh lebih jelas!
calculateArea(length = 10, width = 5, height = 3)

Argumen bernama juga memungkinkan kamu meneruskan nilai dalam urutan apa pun yang kamu inginkan:

fun greet(firstName: String, lastName: String) {
    println("Hello, $firstName $lastName!")
}

fun main() {
    greet(lastName = "Smith", firstName = "John")
}
// output: Hello, John Smith!

Kamu bisa mencampur argumen posisional dan argumen bernama, tetapi setelah menggunakan argumen bernama, semua argumen berikutnya juga sebaiknya menggunakan nama agar tidak membingungkan.

challenge icon

Tantangan

Sedang

Kamu diberikan fungsi berikut:

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

Baca tiga input: judul buku (String), nama penulis (String), dan tahun publikasi (Int).

Panggil fungsi formatBook menggunakan argumen bernama dalam urutan khusus ini: year, title, author.

Contohnya, jika inputnya adalah:

1984
George Orwell
1949

Outputnya harus:

"1984" by George Orwell (1949)

Coba sendiri

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

fun main() {
    val title = readLine()!!
    val author = readLine()!!
    val year = readLine()!!.toInt()
    
    // TODO: Panggil formatBook dengan argumen bernama dalam urutan ini: year, title, author
    
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Kotlin