Menu
CoddyTech

Nilai Parameter Default

Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 64 dari 71.

Terkadang kamu ingin parameter fungsi memiliki nilai pengganti jika tidak ada argumen yang diberikan. Nilai parameter default memungkinkan kamu menentukan nilai parameter jika pemanggil tidak menentukannya.

Untuk menetapkan nilai default, tetapkan langsung di deklarasi fungsi menggunakan operator =:

<?php
function greet($name = "Guest") {
    echo "Hello, $name!\n";
}

greet("Alice");
greet();
?>

Ini menghasilkan output:

Hello, Alice!
Hello, Guest!

Saat kamu memanggil greet("Alice"), argumen tersebut menggantikan nilai default. Saat kamu memanggil greet() tanpa argumen, PHP menggunakan "Guest".

Kamu bisa mencampur parameter wajib dan opsional, tetapi parameter dengan nilai default harus diletakkan setelah parameter wajib:

<?php
function createUser($name, $role = "member") {
    return "$name is a $role";
}

echo createUser("Alice") . "\n";
echo createUser("Bob", "admin");
?>

Hasilnya:

Alice is a member
Bob is a admin

Parameter pertama $name wajib diisi, sedangkan $role akan menggunakan nilai default "member" jika tidak diberikan. Pola ini membuat fungsi-fungsimu lebih fleksibel tanpa mengharuskan pemanggil selalu memberikan setiap argumen.

challenge icon

Tantangan

Mudah

Baca dua baris input:

  1. Nama produk (misalnya, Laptop)
  2. Kuantitas (misalnya, 5). Input ini boleh kosong

Buat fungsi bernama formatOrder yang menerima dua parameter: $product (wajib) dan $quantity (opsional, nilai defaultnya 1). Fungsi tersebut harus mengembalikan string dengan format berikut:

Order: [quantity]x [product]

Jika input kuantitas kosong, panggil fungsi hanya dengan nama produk (gunakan kuantitas default). Jika tidak, panggil fungsi dengan kedua nilai.

Cetak hasil yang dikembalikan.

Contoh 1:

Jika inputnya adalah Laptop dan 5, outputnya harus:

Order: 5x Laptop

Contoh 2:

Jika inputnya adalah Keyboard dan baris kosong, outputnya harus:

Order: 1x Keyboard

Contoh 3:

Jika inputnya adalah Monitor dan 3, outputnya harus:

Order: 3x Monitor

Coba sendiri

<?php
// Baca input
$product = trim(fgets(STDIN));
$quantity = trim(fgets(STDIN));

// TODO: Buat fungsi formatOrder dengan $product (wajib) dan $quantity (opsional, nilai default 1)
// Fungsi tersebut harus mengembalikan string dengan format: "Order: [quantity]x [product]"


// TODO: Panggil fungsi sesuai dengan apakah quantity kosong atau tidak
// Jika quantity kosong, panggil fungsi hanya dengan product (gunakan nilai default)
// Jika tidak, panggil fungsi dengan product dan quantity


// Cetak hasilnya
echo $result;
?>
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler PHP online