3 minute read

R memungkinkan kita untuk membuat fungsi yang custom secara mandiri. Jika kita sering menggunakan perintah-perintah tertentu dan ingin menghemat penulisan algoritma, kita bisa membuat custom function() sendiri.

function() bisa memerlukan entry variable atau tidak memerlukan entry variable sama sekali.

function() tanpa entry variable

Ada kalanya kita membuat function() tanpa ada entry variable. Lho kok gitu?

Tergantung dari kebutuhan kita yah.

Sebagai contoh, kita akan membuat function() yang akan men- generate nama orang, umur, tinggi, dan berat badan. Untuk generate nama orang secara acak, saya menggunakan library(randomNames). Pastikan library ini ter-install dulu ya.

orang = function(){
  nama = randomNames::randomNames(1)
  umur = sample(c(20:60),1)
  tinggi = rnorm(1,mean = 150, sd = 20)
  tinggi = round(tinggi,1)
  berat = rnorm(1,mean = 40, sd = 5)
  berat = round(berat,1)
  data = c(nama,umur,tinggi,berat)
  return(data)
}

Sekarang kita akan coba panggil function-nya:

orang()
## [1] "Gali, Samantha" "21"             "119.8"          "47.1"

function() dengan entry variable

Entry variable yang digunakan bisa berbentuk macam-macam dan bisa lebih dari satu.

Contoh, kita akan membuat function() untuk mencari modus (nilai yang paling sering muncul) dari sebuah vector:

modus = function(x) {
  ux = unique(x)
  tab = tabulate(match(x, ux))
  ux[tab == max(tab)]
}

Mari kita cek apakah function-nya berhasil atau tidak:

nama = c('a','b','a','c','d')
modus(nama)
## [1] "a"

Contoh berikutnya kita akan buat function() untuk menghitung rumus pitagoras dengan dua entry variables, yakni a dan b sebagai berikut:

Ini adalah rumusnya:

pytagoras = function(a,b){
  sqrt((a^2) + (b^2))
}

Mari kita hitung pitagoras dengan a = 3 dan b = 4, yakni:

pytagoras(3,4)
## [1] 5

to be continued

if you find this article helpful, support this blog by clicking the ads.