function
)?Fungsi (function) dalam adalah kode-kode yang disusun untuk melakukan tugas tertentu, seperti perhitungan matematis, pembacaan data, analisis statistik, dan lainnya. Seperti halnya fungsi matematika yang kita kenal, \(f(x)\), yang akan memetakan nilai \(x_1\) ke \(f(x_1)\) sesuai dengan aturan pemetaannya. Dalam fungsi R, fungsi membutuhkan (atau tidak membutuhkan) input (seperti \(x_1\)), kemudian akan mengeluarkan output (seperti halnya \(f(x_1)\)).
Struktur fungsi dalam R, adalah sebagai berikut:
fungsiku <- function (argument1, argument2, …){
statements
return (object)
}
Keterangan:
1. Nama fungsi: untuk membuat fungsi, dahului dengan nama fungsi tersebut.
2. Argument: argumen merupakan input fungsi.
3. Statement: merupakan badan fungsi yang berisi pernyataan/perintah yang dibuka dan ditutup menggunakan kurung kurawal {}.
4. Return: perintah untuk mendefinisikan output fungsi tersebut.
Contoh fungsi untuk menghitung luas suatu segitiga. Untuk menghitung luas segitiga, diperlukan nilai input panjang alas dan tinggi.
luassegitiga <- function(a, t){
luas = 0.5*a*t
return(luas)
}
Untuk menggunakan fungsi tersebut, cukup ketikkan nama fungsi beserta inputnya pada console/script R, contoh:
luassegitiga(4, 8)
## [1] 16
Kita dapat pula membuat fungsi dengan input yang dapat diisikan atau diabaikan. Misalkan, buat fungsi perkalian \(f(a,b,c.d) = a*b*c/d\), namun variabel \(c\) dan \(d\) dapat diisi suatu nilai atau diabaikan. Apabila variabel \(d\) diabaikan, maka fungsi akan menjadi \(f(a,b,c) = a*b*c\). Apabila variabel \(c\) diabaikan, maka fungsi akan menjadi \(f(a,b,d) = a*b/d\) dan hal serupa apabila keduanya diabaikan. Fungsi demikian, dapat dituliskan sebagai berikut:
perkalian <- function(a, b, c = TRUE, d = TRUE){
kali = a*b*c/d
return(kali)
}
perkalian(4, 3, d = 2)
## [1] 6
Looping merupakan suatu cara untuk mengulang suatu perintah dengan kondisi yang ditentukan. Menggunakan loop, kita dapat mengotomatiskan suatu kode yang butuh diulang dalam suatu fungsi. Looping yang digunakan dalam R yaitu for
, while
, dan repeat
. Secara garis besar, diagram bekerjanya loop adalah sebagai berikut:
Penjelasan tipe-tipe loop:
Tipe loop | Diskripsi |
---|---|
while |
Melakukan kode perintah, selama kondisi yang diberikan benar. Menguji kondisi sebelum melakukan kode perintah (badan loop) |
for |
Seperti halnya while , hanya saja akan menguji kondisi di akhir kode perintah (badan loop) |
repeat |
Melakukan serangkaian kode perintah beberapa kali |
Perintah kontrol loop mengubah eksekusi dari urutan normalnya. Ketika eksekusi keluar dari area yang diberikan, maka semua obyek yang diciptakan otomatis akan hancur. R menyediakan perintah kontrol berikut:
Perintah kontrol loop | Diskripsi |
---|---|
break |
Hentikan perintah loop |
next |
Mensimulasikan perintah switch dalam R |
while
Cara kerja loop while
digambarkan dalam diagram berikut:
Dimulai dari nilai awal, kemudian pengujian pada nilai awal apakah memenuhi kondisi yang diberikan atau tidak. Apabila benar, maka akan masuk ke kode perintah. Lalu dilakukan lagi pengujian kondisi, apakah kondisi masih terpenuhi, apabila benar maka kode program dieksekusi ulang. Sebaliknya, apabila tidak, maka akan terhenti.
Menuliskan while dalam R dengan sintak dasar berikut:
while (ekspresi uji){
kode perintah/pernyataan
}
Contoh menggunakan loop while:
kalimat <- "Cerdas bermedos dengan menangkal hoax"
num <- 3
while (num <= 5){
print(kalimat)
num = num + 1
}
## [1] "Cerdas bermedos dengan menangkal hoax"
## [1] "Cerdas bermedos dengan menangkal hoax"
## [1] "Cerdas bermedos dengan menangkal hoax"
for
Cara kerja loop for
digambarkan dalam diagram berikut:
Tahapan awal adalah memperoleh nilai barisan (vektor), kemudian dilanjutkan pada eksekusi kode program hingga barisan mencapai elemen terakhir.
Menuliskan for dalam R dengan sintak dasar berikut:
for (nilai dalam vektor){
kode perintah/pernyataan
}
Contoh menggunakan loop for:
for (i in 1:4){
print("Alay boleh, asal taat aturan")
}
## [1] "Alay boleh, asal taat aturan"
## [1] "Alay boleh, asal taat aturan"
## [1] "Alay boleh, asal taat aturan"
## [1] "Alay boleh, asal taat aturan"
repeat
Cara kerja loop repeat
digambarkan dalam diagram berikut:
Menuliskan repeat dalam R dengan sintak dasar berikut:
repeat { kode perintah/pernyataan if condition { break } }
Contoh menggunakan loop repeat:
num <- 1
repeat{
print("Jangan menyebarkan hoax!")
num <- num + 1
if (num >= 3){
break()
}
}
## [1] "Jangan menyebarkan hoax!"
## [1] "Jangan menyebarkan hoax!"
Struktur pengambilan keputusan mengharuskan programmer untuk menentukan satu atau lebih kondisi yang akan dievaluasi oleh program, sebelum kemudian melakukan eksekusi terhadap kode perintah apabila kondisi terpenuhi (TRUE). Secara opsional, programmer dapat menyediakan kode perintah apabila kondisi tidak terpenuhi (FALSE).
Beberapa kontrol pengambilan keputusan yang disediakan oleh R:
Kontrol pengambilan keputusan | Diskripsi |
---|---|
if |
Kontrol if mengandung ekpresi boolean (TRUE or FALSE) yang diikuti oleh satu atau lebih pernyataan. |
if … else |
Kontrol if menyediakan pilihan dalam else apabila boolean bernilai FALSE. |
switch |
Kontrol switch memungkinkan untuk menguji variabel dalam daftar yang diberikan. |
if
Diagram alir kontrol if adalah sebagai berikut:
Menuliskan if dalam R dengan sintak dasar berikut:
if (ekspresi bollean){
kode perintah/pernyataan (jika TRUE)
}
Contoh menggunakan kontrol if:
a <- 22.2
if (is.numeric(a)){
cat("Variabel a adalah suatu angka:", a)
}
## Variabel a adalah suatu angka: 22.2
if
… else
Diagram alir kontrol if adalah sebagai berikut:
Menuliskan if…else dalam R dengan sintak dasar berikut:
if (ekspresi bollean){
kode perintah/pernyataan (jika TRUE)
} else {
kode perintah/pernyataan (jika FALSE)
}
Contoh menggunakan kontrol if…else:
a <- "Nom...nom"
if (is.numeric(a)){
cat("Variabel a adalah suatu angka:", a)
} else {
cat("Variabel a bukan angka:", a)
}
## Variabel a bukan angka: Nom...nom
Kontrol if…else dapat dipakai berulang, contoh:
a <- 7
if (a>10){
print("Statistics ENTHUSIASTICS")
} else if (a>0 & a<= 10) {
print("Data analis yang antusias dan berintegritas")
} else {
print("Lima konsentrasi")
}
## [1] "Data analis yang antusias dan berintegritas"
Selain menggunakan if...else
, kita dapat menggunakan ifelse
, sintaks:
ifelse (ekspresi boolean, kondisi jika TRUE, kondisi jika FALSE)
Contoh ifelse:
a <- -5
a1 <- ifelse(a>10, "Statistics ENTHUSIASTICS", ifelse(a>0, "Data analis yang antusias dan berintegritas", "Lima konsentrasi"))
print(a1)
## [1] "Lima konsentrasi"
switch
Diagram alir kontrol if adalah sebagai berikut:
Menuliskan for dalam R dengan sintak dasar berikut:
switch (ekspresi, kasus 1, kasus 2, kasus 3, …)
Contoh menggunakan kontrol switch:
pilih <- switch(3, "Bahasa R", "Bahasa Python", "Bahasa C")
print(pilih)
## [1] "Bahasa C"
Penggunaan switch untuk memilih operasi yang akan dilakukan, contoh:
pilih <- function(num, a, b)
switch(num,
satu = {
kali = a*b
print(kali)
},
dua = {
bagi = a/b
print(bagi)
}
)
pilih("satu", 2, 5)
## [1] 10
pilih(2, 12, 4)
## [1] 3
Daftar Pustaka
1. https://www.tutorialspoint.com/r/r_loops.htm