Function

Melalui kelas ini, kamu diajak untuk:

  • Mengenal definisi dan sintaksis membuat dan memanggil function.
  • Mengetahui argumen dan cara kerja argumen dalam function.

Operator dan Conditions

Secara sederhana, function adalah blok kode yang hanya berjalan ketika dipanggil. Dalam function, kita dapat menambah detail argumen/parameter yang spesifik. Function menggunakan sintaksis function() dan argumen/parameter diletakkan di dalam ().

Membuat Function

Kita dapat membuat function yang amat sederhana seperti di bawah ini.

ini_function <- function() {
    print("Ada function!")
}

Namun berbeda dari susunan-susunan kode di materi terdahulu, kita tidak memanggil hasil dengan ini_function. Function dipanggil dengan tanda kurung ().

Lihat perbedaannya di bawah ini.

ini_function

[1] function() {
    print("Ada function!")

ini_function()

[1] "Ada function!"

Argumen dalam Function

Argumen adalah keterangan tambahan dari function yang diletakkan di dalam tanda kurung.

Lihat contoh susunan kode argumen sekaligus cara memanggil function-nya.

ini_function <- function(nama) {
    print(nama)
}
ini_function("Maman")
ini_function("Mimin")
ini_function("Momon")

[1] "Maman"
[1] "Mimin"
[1] "Momon"

Argumen bisa lebih dari satu. Prinsipnya, jumlah argumen dalam function harus setara dengan jumlah argumen dalam kode panggilannya.

Lihat contoh di bawah ini.

ini_function <- function(nama, umur) {
     paste("Nama saya", nama, "dan umur saya", umur)
}
ini_function("Maman", "25 tahun")
ini_function("Mimin", "23 tahun")

[1] "Nama saya Maman dan umur saya 25 tahun"
[1] "Nama saya Mimin dan umur saya 23 tahun"

Kita juga dapat menambahkan nilai default. Ketika function dipanggil dengan keterangan parameter, nilai default ini akan otomatis terganti. Namun, jika function dipanggil tanpa keterangan apa pun, nilai default ini akan muncul.

Simak contohnya di bawah ini.

ini_function <- function(nama = "Maman", umur = "25 tahun") {
     paste("Nama saya", nama, "dan umur saya", umur)
 }
ini_function("Memes", "28 tahun")
ini_function()

[1] "Nama saya Memes dan umur saya 28 tahun"
[1] "Nama saya Maman dan umur saya 25 tahun"

Return Value

Terakhir, kita diajak untuk mengenal return. Return digunakan untuk membuat function mengembalikan hasil tertentu, tergantung kondisi dan argumen yang dipasang.

Lihat contoh sederhana di bawah ini.

ini_function <- function(x) {
    return(5 + x)
}
ini_function(3)

[1] 8

Pertanyaannya, mengapa kita tidak menggunakan print? Jika kita menggunakan print, R akan menampilkan hasil yang sama, yaitu 8. Return berfungsi untuk mengembalikan nilai ke tempat di mana function dipanggil. Print adalah cara untuk menampilkan data kepada pengguna. Dalam R, return tidak dapat diisi oleh lebih dari satu nilai.

Jika kita mencoba menggunakan return dengan lebih dari satu argumen, hasilnya akan seperti ini.

ini_function <- function(nama = "Maman", umur = "25 tahun") {
    return("Nama saya", nama, "dan umur saya", umur)
}
ini_function("Memes", "28 tahun")
ini_function()

> ini_function("Memes", "28 tahun")
Error in return("Nama saya", nama, "dan umur saya", umur) : 
  multi-argument returns are not permitted
> ini_function()
Error in return("Nama saya", nama, "dan umur saya", umur) : 
  multi-argument returns are not permitted

Pro Tips

  • Function adalah blok kode yang dapat berjalan ketika dipanggil. Cara memanggil function adalah dengan menambah tanda kurung () dari nama function yang telah didefinisikan.
  • Function dapat berisi lebih dari satu argumen dengan prinsip jumlah argumen dalam deklarasi function sama dengan jumlah argumen ketika function dipanggil.

Kuis

Dari contoh function ini: function_saya <- function(organisasi, jabatan, tahun_masuk), panggilan mana yang tepat digunakan?

Selamat, Anda telah menyelesaikan pelajaran ini
Klik untuk menyelesaikan