Mengenal Function

By | July 3, 2021
Print Friendly, PDF & Email
1,106 Views

Sinopsis

Salah satu keunggulan bagi kalian dalam bidang statistika menggunakan Bahasa R yaitu fleksibilitas untuk membuat function sendiri yang bisa kalian buat untuk cleaning dataset serta beragam keperluan lainnya. Pengertian function itu sendiri berupa script yang bertugas secara khusus untuk menerima input dan menghasilkan output sesuai dengan tujuan function itu dibuat. Kalian sebenarnya sudah sering menggunakan function/perintah built in R seperti summary, head, data, table. Tentu adakalanya kalian juga ingin membuat function tersendiri sesuai dengan kebutuhan.

Bentuk Umum Function

Berikut model umum sebuah function di R  yaitu

myfunction <- function(arg1, arg2, ... )
{
 statements
 return(object)
}

Model umum diatas terdiri

  1. Nama function : bisa kalian gunakan huruf kecil semuanya
  2. Argument input: berupa input function yang akan dimasukan kedalam function
  3. Body function : berupa statement yang bisa kalian isi dengan perhitungan matematika atau lainnya
  4. Return : yaitu variable output yang akan menerima output function dan setiap function mempunyai return value
Dalam beberapa model lain sebuah function adakalanya tanpa menggunakan argument input dan return value. Kita akan coba membuat function untuk menghitung besaran sebuah potongan pajak, misalkan sebesar 15% dari sebuah penghasilan.

    \[netto=gaji-(gaji*pajak)\]

[/latexpage]
Kode membuat function dengan nama netto
netto<-function(gaji,pajak)
{
   potongan = gaji*(pajak/1000)
   penghasilan = gaji - potongan
   return (penghasilan)
}

gaji = 70000000
pajak = 15
gaji_bersih = netto(gaji,pajak)
keterangan = data.frame(gaji,pajak,gaji_bersih)
print(keterangan)

hasil

   gaji pajak gaji_bersih
1 7e+07    15    68950000
Dari function diberikan 2 argument input yaitu gaji dan pajak sedangkan argument output/return hanya 1 yaitu penghasilan.

Multiple Return Value

Terkadang suatu function tidak hanya memberikan satu saja returnnya atau lebih dari satu, untuk hal tersebut bisa kalian menggunakan vector ataupun list seperti pembahasan berikut yaitu untuk memberikan jumlah potongan.
netto<-function(gaji,pajak)
{
   potongan = gaji*(pajak/1000)
   penghasilan = gaji - potongan
   hasil<-list('penghasilan'=penghasilan,'potongan'=potongan)
   return (hasil)
}

gaji = 70000000
pajak = 15
THP = netto(gaji,pajak)
keterangan = data.frame(THP$penghasilan,THP$potongan)
print(keterangan)

hasil

  THP.penghasilan THP.potongan
1        68950000      1050000

Default Values for Arguments

Kalian bisa melihat mengenai besaran potongan pajak sebesar 15% sehingga kita bisa membuat function dengan default nilai yaitu tanpa menyebutkan argument input maka akan diberikan sebuah nilai defaultnya.
netto<-function(gaji,pajak=15)
{
   potongan = gaji*(pajak/1000)
   penghasilan = gaji - potongan
   hasil<-list('penghasilan'=penghasilan,'potongan'=potongan)
   return (hasil)
}

gaji = 70000000
THP = netto(gaji)
keterangan = data.frame(THP$penghasilan,THP$potongan)
print(keterangan)

hasil

  THP.penghasilan THP.potongan
1        68950000      1050000

Sangat menarik sekali bukan? Kalian bisa berkreasi sendiri koq selain contoh function di R

Reusable Code

Semakin banyak dan lama menggunakan bahasa R tentu akan banyak sekali kode yang kalian buat seperti membuat function untuk keperluan khusus sehingga suatu saat akan kalian gunakan kembali untuk beragam project statistika. Nah kalian bisa gunakan function tersebut agar bisa digunakan oleh orang lain/kode yang lain dengan cara menyimpan dalam sebuah *.R. Langkah-langkahnya yang bisa kalian lakukan yaitu

Membuat Script di R

Membuat *.R yang berisi function-function yang kalian buat. Dalam sebuah *.R bisa juga terdapat banyak function, misalkan kalian mempunyai script function berikut yang disimpan di I:/My BLOG/Buku Dasar-Dasar Bahasa R/9 Function di R/my-function.R seperti berikut yang terdiri dari 2 function
netto<-function(gaji,pajak=15)
{
   potongan = gaji*(pajak/1000)
   penghasilan = gaji - potongan
   hasil<-list('penghasilan'=penghasilan,'potongan'=potongan)
   return (hasil)
}

tampil<-function(net)
{
   keterangan = data.frame(net$penghasilan,net$potongan)
   print(keterangan)
}

Memanggil Function

Untuk memanggil sebuah function maka harus ditulis jelas lokasinya dengan perintah source seperti berikut
source('I:/My BLOG/Buku Dasar-Dasar Bahasa R/9 Function di R/my-function.R')
gaji = 70000000
THP = netto(gaji)
tampil(THP)

hasil

  net.penghasilan net.potongan
1        68950000      1050000

 

Leave a Reply