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.