Fungsi merupakan blok kode yang bisa digunakan kembali (reuse) ketika dipanggil kembali
Kadang kala dalam membuat program kita menggunakan kembali potongan kode yang sudah pernah dibikin
Kita sudah pernah menggunakan beberapa fungsi built-in di R sepertin print(), paste(), cat() dan lainnya
Untuk mencetak nilai ke layar kita hanya perlu panggil fungsi print() tanpa harus menuliskan kode-kode untuk mencetak ke layar secara langsung
Ilustrasi Fungsi
Misalnya kita ingin membuat program untuk menghitung luas bangun datar seperti segitiga, persegi, lingkaran dan lainnya
Setiap luas bangun datar dibutuhkan rumus luas yang diperoleh dari konstanta dan varibel. Contoh kita ingin hitung luas segitiga yang rumusnya 1/2 x Alas x Tinggi
Program luas segitiga ini akan dipakai berulang-ulang dengan nilai alas dan tinggi yang berbeda
Kita tidak perlu selalu membuat program untuk luas segitiga di setiap kita perlu. Terus bagaimana??
Solusinya adalah kode luas segitiga dibungkus di dalam fungsi. Sehingga jika kita ingin menggunakan rumus segitiga cukup panggil saja nama fungsinya
Idealnya potongan kode yang dibungkus di fungsi tidak hanya terdiri 1 baris saja tapi berbaris-baris
Fungsi di R
Untuk membuat fungsi di R gunakan keyword function()
namafungsi <- function() { Blok kode program . . . . }
Oke coba kita bikin fungsi sederhana dengan nama halo untuk mencetak kata ‘Halo Fungsi’
Terus kita coba panggil fungsi halo beberapa kali untuk memanggil isi fungsinya
halo <- function(){ print("Halo Fungsi") } halo() halo() halo() halo()

Terbayang kan cara membuat fungsi dan cara memanggilnya?
Fungsi dengan Parameter
Kita kembali ke section ilustrasi fungsi
Untuk menghitung luas segitiga diperlukan nilai dinamis yaitu alas dan tinggi. Kedua nilai ini disebut parameter
parameter diposisikan di dalam fungsi sehingga nilainya bisa digunakan di dalam blok kode
Coba kita bikin fungsi sederhana yang mencetak ‘Selamat pagi <nama>‘ dengan variabel nama adalah input dinamis
halo <- function(nama){ cat("Selamat pagi", nama) } halo("faqih") halo("anton") halo("joko") halo("ina")

Kebayang kan caranya menggunakan parameter
Selanjutnya kita coba implementasikan fungsi luas segitiga dengan parameter alas dan tinggi
luas_segitiga <- function(alas, tinggi){ luas <- 1/2 * alas * tinggi cat("Luas segitiga =", luas) } luas_segitiga(3,4) luas_segitiga(1,5) luas_segitiga(4,4)
