Skip to main content

Function Parameter

Parameter adalah nilai yang didefinisikan pada saat membuat function dan digunakan untuk menerima data ketika function dipanggil.

Dengan parameter, sebuah function dapat menerima data dari luar sehingga function menjadi lebih fleksibel dan dapat digunakan untuk berbagai nilai.

Sintaks Function dengan Parameter

Bentuk umum:

fun namaFunction(parameter: TipeData) {
// kode function
}

Contoh:

fun sayHello(name: String) {
println("Hello $name")
}

Pada contoh tersebut:

name: String

adalah parameter function.

Ketika function dipanggil, kita harus memberikan nilai untuk parameter tersebut.

sayHello("Ucup")

Output:

Hello Ucup

Function dengan Beberapa Parameter

Sebuah function dapat memiliki lebih dari satu parameter.

Contoh:

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

Function tersebut memiliki dua parameter:

firstName: String
lastName: String

Function dapat dipanggil:

sayHello("Ucup", "Topekox")

Output:

Hello Ucup Topekox

Urutan argument harus sesuai dengan urutan parameter.

"Ucup" → firstName
"Topekox" → lastName

Parameter Nullable

Parameter juga dapat menggunakan nullable type.

Contoh:

fun sayHello(
firstName: String,
lastName: String,
middleName: String?
) {
// ...
}

Parameter:

middleName: String?

berarti middleName dapat berisi String atau null.

Contohnya:

sayHello("Ucup", "Topekox", null)

atau:

sayHello("Ade", "Laksono", "Agustian")

Mengecek Parameter yang Bernilai null

Karena middleName dapat berisi null, kita dapat memeriksanya menggunakan if.

Contoh:

fun sayHello(
firstName: String,
lastName: String,
middleName: String?
) {
if (middleName == null) {
println("Hello $firstName $lastName")
} else {
println("Hello $firstName $middleName $lastName")
}
}

Jika middleName bernilai null, program menjalankan:

println("Hello $firstName $lastName")

Jika middleName memiliki nilai, program menjalankan:

println("Hello $firstName $middleName $lastName")

Contoh Pemanggilan dengan null

Function dapat dipanggil dengan memberikan null sebagai argument:

sayHello("Ucup", "Topekox", null)

Karena middleName bernilai null, output:

Hello Ucup Topekox

Contoh Pemanggilan dengan Middle Name

Jika middleName diberikan nilai:

sayHello("Ade", "Laksono", "Agustian")

maka output:

Hello Ade Agustian Laksono

Contoh Program Lengkap

Berikut contoh lengkap function dengan parameter:

fun sayHello(firstName: String, lastName: String, middleName: String?) {
if (middleName == null) {
println("Hello $firstName $lastName")
} else {
println("Hello $firstName $middleName $lastName")
}
}

fun main() {
sayHello("Ucup", "Topekox", null)
sayHello("Ade", "Laksono", "Agustian")
sayHello("Recky", "Ramadhan", null)
}

Output:

Hello Ucup Topekox
Hello Ade Agustian Laksono
Hello Recky Ramadhan

Memahami Parameter dan Argument

Istilah parameter dan argument memiliki perbedaan.

Parameter adalah variabel yang didefinisikan ketika function dibuat.

Contoh:

fun sayHello(firstName: String, lastName: String, middleName: String?) {
// ...
}

Pada contoh tersebut:

firstName
lastName
middleName

adalah parameter.

Sedangkan argument adalah nilai yang diberikan ketika function dipanggil.

Contoh:

sayHello("Ucup", "Topekox", null)

Argument-nya adalah:

"Ucup"
"Topekox"
null

Hubungannya:

Parameter Argument

firstName ← "Ucup"
lastName ← "Topekox"
middleName ← null

Urutan Parameter

Argument harus diberikan sesuai dengan urutan parameter.

Contoh:

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

Pemanggilan:

sayHello("Ucup", "Topekox")

Hasil:

firstName = "Ucup"
lastName = "Topekox"

Jika urutannya dibalik:

sayHello("Topekox", "Ucup")

maka hasilnya:

Hello Topekox Ucup

Kotlin tetap menjalankan function karena kedua nilai memiliki tipe String, tetapi maknanya menjadi berbeda.

Parameter Membuat Function Lebih Fleksibel

Tanpa parameter, function hanya dapat melakukan proses dengan data yang sudah ditentukan.

Contoh:

fun sayHello() {
println("Hello Ucup")
}

Function tersebut hanya menghasilkan:

Hello Ucup

Dengan parameter:

fun sayHello(name: String) {
println("Hello $name")
}

Function dapat digunakan untuk berbagai nama:

sayHello("Ucup")
sayHello("Ade")
sayHello("Recky")

Output:

Hello Ucup
Hello Ade
Hello Recky

Kesimpulan

Parameter memungkinkan sebuah function menerima data dari luar.

Contoh:

fun sayHello(
firstName: String,
lastName: String,
middleName: String?
) {
if (middleName == null) {
println("Hello $firstName $lastName")
} else {
println("Hello $firstName $middleName $lastName")
}
}

Function tersebut memiliki tiga parameter:

firstName
lastName
middleName

Parameter middleName menggunakan:

String?

sehingga dapat menerima nilai String maupun null.

Ketika function dipanggil:

sayHello("Ucup", "Topekox", null)

nilai tersebut menjadi:

firstName = "Ucup"
lastName = "Topekox"
middleName = null

Sedangkan:

sayHello("Ade", "Laksono", "Agustian")

menjadi:

firstName = "Ade"
lastName = "Laksono"
middleName = "Agustian"

Dengan parameter, function dapat digunakan kembali dengan berbagai data tanpa harus membuat function baru untuk setiap nilai.