Pengertian fungsi
Fungsi adalah sekumpulan pernyataan yang disusun untuk melakukan tugas tertentu. R memiliki banyak fungsi built-in(bawaan) serta kita dapat membuat fungsi sendiri. Dalam pemrograman R, fungsi adalah suatu objek sehingga R dapat meneruskan kontrol ke fungsi tersebut, bersama dengan argumen yang mungkin diperlukan agar fungsi tersebut menyelesaikan sebuah tindakan.
Sintaks dasar fungsi R adalah sebagai berikut:
nama_fungsi <- function(argumen_1, argumen_2, ...) {
Fungsi yang kita inginkan
}
Komponen Fungsi
Suatu fungsi pada R terdiri dari atas bagian-bagian berikut:
Menggunakan Fungsi Built-in/Bawaan R
Contoh sederhana dari fungsi built-in adalah seq (), mean (), max (), sum (x) dan paste (…) dll.
# Membuat barisan dari 20 sampai 40
print(seq(20,40))
## [1] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
# Menghitung rata-rata barisan bilangan 20 sampai 40.
print(mean(20:40))
## [1] 30
# Menghitung jumlahan barisan bilangan 20 sampai 40.
print(sum(20:40))
## [1] 630
Membuat Fungsi Sendiri:
#Mendefinisikan fungsi yang menghasilkan bilangan kuadrat
#Misal:
#Input = 3
#Output = 9
fungsi_kuadrat <- function(a) { #fungsi_kuadrat: nama fungsi, a : Argumen
b <- a^2 #badan fungsi
print(b) #return value
}
#Memanggil dan menggunakan fungsi
fungsi_kuadrat(6)
## [1] 36
Membuat Fungsi Tanpa Argumen:
#Mendefinisikan fungsi yang menghasilkan bilangan kuadrat
#Misal:
#Input = 3
#Output = 9
fungsi_kuadrat <- function() {
b <- 6^2
print(b)
}
#Memanggil dan menggunakan fungsi
fungsi_kuadrat()
## [1] 36
Membuat Fungsi Dengan Argumen Lebih Dari 1:
#Mendefinisikan fungsi yang menghasilkan bilangan kuadrat
#Misal:
#Input = 3
#Output = 9
fungsi_baru <- function(a,b,c) {
hasil <- a * b + c
print(hasil)
}
#Memanggil dan menggunakan fungsi berdasarkan posisi argumen
fungsi_baru(5,3,11)
## [1] 26
#Memanggil dan menggunakan fungsi berdasarkan nama argumen
fungsi_baru(c=11,b=3,a=5)
## [1] 26
Membuat Fungsi Dengan Argumen Default:
#Mendefinisikan fungsi yang menghasilkan bilangan kuadrat
#Misal:
#Input = 3
#Output = 9
fungsi_baru <- function(a=4,b=1,c=0) {
hasil <- a * b + c
print(hasil)
}
#Memanggil dan menggunakan fungsi tanpa argumen
fungsi_baru()
## [1] 4
#Memanggil dan menggunakan fungsi dengan mengisi argumen
fungsi_baru(c=11,b=3,a=5)
## [1] 26
Fungsi tidak berjalan jika:
#Mendefinisikan fungsi yang menghasilkan bilangan kuadrat
#Misal:
#Input = 3
#Output = 9
fungsi_baru <- function(a,b,c) {
hasil <- a * b + c
print(hasil)
}
#Memanggil dan menggunakan fungsi dengan mengisi argumen yang tidak lengkap, coba hapus nilai c=0
fungsi_baru(a=11,b=3,c=0)
## [1] 33
#Memanggil dan menggunakan fungsi dengan mengisi argumen yang tidak lengkap
fungsi_baru(c=11,b=3)
Output:
Error in fungsi_baru(c = 11, b = 3) :
argument "a" is missing, with no default
Percabangan adalah pernyatan if dan else dalam pemrograman. Pernyataan ini memungkinkan kita untuk memberikan syarat untuk sebuah perintah dijalankan atau tidak, dengan kata lain mengambil keputusan.
Syntax if statement pada R:
if (kondisi) {
pernyataan
}
Jika kondisi yang dimaksud benar(TRUE), maka pernyataan akan dieksekusi. Namun jika tidak, maka pernyataan tidak akan dieksekusi.
x <- 5
if(x > 0){
print("Bilangan Positif")
}
## [1] "Bilangan Positif"
Syntax if else statement pada R:
if (kondisi) {
pernyataan 1
} else {
pernyataan 2
}
Jika kondisi yang dimaksud benar(TRUE), maka pernyataan 1 akan dieksekusi. Namun jika tidak, maka pernyataan 2 yang akan dieksekusi.
x <- -29
if(x > 0){
print("Bilangan Non-Negative")
} else {
print("Bilangan Negatif")
}
## [1] "Bilangan Negatif"
Menulis percabangan dengan satu baris perintah
x=12
if(x > 0) print("Bilangan Non-Negative") else print("Bilangan -Negative")
## [1] "Bilangan Non-Negative"
Syntax if else statement banyak pada R:
x <- 0
if(x > 0){
print("Bilangan Negative")
} else if(x==0){
print("Bilangan Nol")
} else {
print("Bilangan Positif")
}
## [1] "Bilangan Nol"
Syntax if else statement bersarang (if didalam if) pada R:
x <- 0
if(x >= 0){
if (x/2==0){ #If di dalam If (x>0)
print("Bilangan Non-Negatif Genap")
} else {
print("Bilangan Non-Negatif Ganjil")
}
} else {
print("Bilangan Negatif")
}
## [1] "Bilangan Non-Negatif Genap"
Perulangan dilakukan ketika kita ingin melakukan hal yang berulang entah itu ada penambahan fungsi atau hanya sebuah perulangan. Biasa sering digunakan dalah sebuah program. Ada beberapa statement pada perulangan diantaranya for, while, dan repeat.
Syntax for loop pada R: Perluangan for pada R adalah perulangan suatu fungsi atau proses pada objek-objek di dalam suatu barisan. Misal kita memiliki barisan [1,2,3]. Kita ingin menghasilkan bilangan kuadrat untuk masing-masing elemen pada barisan tersebut. Maka kita peroleh [1^2, 2^2, 3^2] hasilnya [1, 4, 9].
for(variable dalam barisan){
}
Contoh kita akan melakukan perulangan fungsi print pada barisan bilangan 1 sampai 10:
for (i in 1:10){
print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
Syntax while loop pada R: Berbeda dengan for, pada perulangan while kita butuh nilai awal. Kemudian dengan kondisi tertentu pada variabel target, suatu perintah daapat terus berjalan. Jika kondisi sudah tidak dipenuhi perintah berhenti dijalankan.
inisialisasi nilai variabel
while(kondisi){
mengubah nilai variabel
}
Misalkan kita akan melakukan fungsi print jika bilangan x tidak lebih dari 5:
x=1
while(x<=5){ #Kondisi selama x tidak lebih dari 5
print(x) #print bilangan
x=x+1 #mengubah nilai
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
Syntax repeat loop pada R: Perulangan repeat pada R dibuat khusus untuk melakukan perintah berulang-ulang tanpa harus membentuk suatu barisan seperti pada perulangan for.
inisialisasi variabel
repeat{
}
Contoh kita akan melakukan print bilangan i sampai i terbaru adalah sama dengan 5:
i=1
repeat{
print(i)
if(i==5) {break()}
i=i+1
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
Selesai