Tuesday, March 17, 2020

Buku Belajar Dasar-Dasar Statistika dengan R-Membuat Function di R

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

Bentuk Umum Function

Secara umum untuk membuat function sangat sederhana sekali yaitu

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

Terdiri dari
  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

Kita akan coba membuat function untuk menghitung besaran sebuah potongan pajak, misalkan sebesar 15% dari sebuah penghasilan.

$$netto = gaji-(gaji*pajak)$$

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



No comments:

Post a Comment