Menu
CoddyTech

Nilai Parameter Default

Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 51 dari 78.

Terkadang kamu ingin sebuah fungsi memiliki perilaku "standar" yang bisa disesuaikan saat diperlukan. Nilai default parameter memungkinkan kamu menentukan nilai parameter jika pemanggil tidak memberikannya.

Kamu menetapkan nilai default dengan menggunakan = dalam definisi fungsi:

greet <- function(name = "Guest") {
  print(paste("Hello,", name))
}

greet()
greet("Alice")

Output:

[1] "Hello, Guest"
[1] "Hello, Alice"

Jika dipanggil tanpa argumen, fungsi menggunakan "Guest" sebagai nilai default. Saat kamu memberikan nilai, nilai tersebut menggantikan nilai default.

Kamu bisa menggabungkan parameter wajib dan opsional. Parameter dengan nilai default harus diletakkan setelah parameter tanpa nilai default:

calculate_total <- function(price, tax_rate = 0.1) {
  return(price + (price * tax_rate))
}

print(calculate_total(100))
print(calculate_total(100, 0.2))

Output:

[1] 110
[1] 120

Di sini, price wajib diisi, sedangkan tax_rate memiliki nilai default 10%. Ini membuat fungsi-fungsimu fleksibel, mudah digunakan dalam kasus umum, tetapi bisa disesuaikan saat diperlukan.

challenge icon

Tantangan

Mudah

Buat fungsi bernama calculate_shipping yang menerima dua argumen:

  • weight - berat paket (wajib)
  • rate - biaya per unit berat (opsional, nilai default-nya 5)

Fungsi ini harus mengembalikan biaya pengiriman, yang dihitung sebagai weight * rate.

Kamu akan menerima dua baris input:

  1. Nilai berat
  2. Nilai rate atau kata default

Jika input kedua adalah default, panggil fungsi hanya dengan berat (menggunakan rate default). Jika tidak, panggil fungsi dengan berat dan rate yang diberikan.

Cetak hasil yang dikembalikan.

Misalnya, jika inputnya:

10
default

Output-nya harus:

[1] 50

Jika inputnya:

10
3

Output-nya harus:

[1] 30

Coba sendiri

# Baca input
con <- file("stdin", "r")
weight <- as.numeric(suppressWarnings(readLines(con, n = 1)))
rate_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Tulis kodemu di bawah ini
# 1. Definisikan fungsi calculate_shipping dengan parameter weight (wajib) dan rate (opsional, default = 5)
# 2. Periksa apakah rate_input bernilai "default" atau berupa angka
# 3. Panggil fungsi dengan argumen yang sesuai dan cetak hasilnya
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler R online