Ketika Anda membuat sebuah script yang akan digunakan berkali-kali
namun dengan nilai input yang berbeda-beda, maka ada baiknya script
tersebut dibuat menjadi sebuah fungsi
atau function sesuai dengan kebutuhan Anda
atau User-Defined Function. Untuk membuat function di R Anda
dapat menggunakan fungsi function(). Misalnya Anda
mempunyai script seperti berikut.
a <- 5
b <- 7
d <- a + b
d
## [1] 12
Kemudian ketika Anda ingin menggunakan nilai lain
untuk a namun dengan nilai b yang sama,
misalnya a <- 2, Anda perlu menjalankan perintah seperti
berikut.
a <- 2
d <- a + b
d
## [1] 9
Jika script di atas dibuat sebuah fungsi, misalnya dengan nama
fungsi sum_ab, maka Anda dapat membuatnya seperti berikut
ini. Fungsi tersebut memiliki 2 buah parameter atau argumen,
yaitu a dan b berupa nilai numerik.
Argumen a dan b harus diisi ketika memanggil
fungsi tersebut. Fungsi return() di dalam
fungsi sum_ab() menentukan nilai yang akan dijadikan
keluaran (output) dari fungsi sum_ab().
sum_ab <- function(a, b){
d <- a + b
return(d)
}
Selanjutnya panggil fungsi tersebut dengan argumen yang diperlukan.
sum_ab(a = 5, b = 7)
## [1] 12
Merubah nilai a <- 2 dapat dilakukan dengan lebih
mudah.
sum_ab(a = 2, b = 7)
## [1] 9
Bagaimana jika tidak ada argumen yang diberikan ketika memanggil fungsi tersebut? Dalam hal ini akan terjadi error. Error yang terjadi karena argumen pada fungsi ini adalah tipe argumen yang harus diisi atau tidak mempunyai nilai default.
Apa itu nilai default argumen pada sebuah fungsi? Kita akan
sedikit memodifikasi fungsi sum_ab() yang sudah dibuat
sebelumnya.
sum_ab()
## Error in sum_ab() : argument "a" is missing, with no default
sum_ab <- function(a = 1, b = 1){
d <- a + b
return(d)
}
Fungsi sum_ab() sekarang memiliki
nilai default untuk setiap argumennya.
Argumen a memiliki
nilai 1 dan b juga 1. Ketika Anda
panggil fungsi sum_ab() tanpa menuliskan nilai untuk
argumennya maka secara default nilai-nilai tersebut yang akan
digunakan.
sum_ab()
## [1] 2
sum_ab(a = 5, b = 3)
## [1] 8