- Pengertian Default Parameter dalam PHP -
Default Parameter adalah istilah untuk parameter yang memiliki nilai awal, atau nilai default.
Sebagai contoh, misalkan kita membuat fungsi sederhana: tambah(). Fungsi ini membutuhkan 2 buah parameter, yakni nilai yang ingin ditambahkan. Berikut adalah contoh programnya:
<?php function tambah( $a , $b ) { return $a + $b ; } echo tambah(2,3); // hasil: 5 echo tambah(3,4); // hasil: 7 ?> |
Dengan menambahkan default parameter, kita bisa memanggil fungsi tambah() hanya dengan 1 inputan angka, atau bahkan tidak perlu sama sekali. Berikut adalah perubahannya:
<?php function tambah( $a , $b =2) { return $a + $b ; } echo tambah(2); // hasil: 4 echo tambah(10); // hasil: 12 echo tambah(4,4); // hasil: 8 ?> |
Perhatikan di dalam pembuatan fungsi, saya menulis parameter kedua menjadi $b=2. Inilah yang dimaksud dengan default parameter. Jika parameter $b tidak ditulis pada saat pemanggilan fungsi, nilai 2 akan dijadikan nilai awal.
Dengan nilai default ini, kita bisa merancang fungsi dengan parameter yang bersifat opsional. Parameter tersebut bisa diisi pada saat pemanggilan fungsi, namun boleh juga diabaikan. Sehingga jika fungsi dipanggil tanpa parameter, nilai ini akan menjadi nilai awal untuk fungsi tersebut.
Fitur default parameter bisa dimanfaatkan untuk membuat fungsi yang fleksibel, karena pada saat pemanggilan fungsi kita tidak harus menginputkan seluruh parameter, tetapi apa yang dianggap perlu saja
- Cara Penulisan Default Parameter dalam PHP -
Untuk membuat default parameter, kita hanya butuh memberikan nilai awal pada saat pendefenisian parameter. Berikut adalah format dasar penulisan default parameter dalam PHP:
function nama_fungsi ( $parameter1 =nilai_default1, $parameter2 =nilai_default2) { // proses fungsi return nilai_akhir; } |
- nama_fungsi adalah nama dari fungsi yang akan dibuat
- $parameter1, $parameter2 adalah variabel yang akan menampung inputan atau argumen pada saat pemanggilan fungsi.
- nilai_default1, nilai_default2 adalah nilai default untuk parameter. Nilai ini akan digunakan jika pada saat pemanggilan fungsi nilai parameter tidak diisi.
- return nilai_akhir adalah instruksi untuk mengembalian hasil pemrosesan fungsi.
Agar lebih mudah memahami konsep default parameter, saya akan mengubah fungsi pangkat()yang telah kita rancang pada tutorial Cara Pengecekan Tipe Data Argumen untuk Fungsi PHP, berikut adalah contoh kode programnya:
<?php
function
pangkat(
$nilai
,
$pangkat
=2)
{
$hasil
=1;
for
(
$i
=1;
$i
<=
$pangkat
;
$i
++)
{
$hasil
=
$hasil
*
$nilai
;
}
return
$hasil
;
}
//Test beberapa kasus inputan untuk fungsi pangkat()
echo
"pangkat(5) = "
.pangkat(5);
echo
"<br />"
;
echo
"pangkat(3) = "
.pangkat(3);
echo
"<br />"
;
echo
"pangkat(2,8) = "
.pangkat(2,8);
echo
"<br />"
;
echo
"pangkat(3.5,3) = "
.pangkat(3.5,3);
echo
"<br />"
;
?>
Pada contoh fungsi pangkat() kali ini saya tidak menggunakan fitur pengecekan tipe data agar contoh program lebih sederhana.
Pada saat mendefenisikan fungsi pangkat(), saya menambahkan nilai 2 sebagai default parameter untuk parameter $pangkat. Sehingga jika fungsi pangkat() dipanggil tanpa parameter ke-2, berarti$pangkat akan diisi nilai 2.
Saat pemanggilan fungsi pangkat(5), maka kita hanya menggunakan 1 buah argumen. Untuk argumen ke 2, akan diisi nilai default, yakni 2. Sehingga fungsi yang akan dijalankan sebenarnya adalah pangkat(5,2).
Namun saat pemanggilan fungsi pangkat(2,8), maka nilai parameter $pangkat akan menggunakan8, bukan angka 2, karena pada pemanggilan kali ini, saya membuat 2 buah argumen.
- Penempatan Default Parameter -
Sebuah fungsi tidak dibatasi berapa banyak default parameter yang boleh digunakan, namun jika anda ingin membuat default parameter, dan pada fungsi yang sama juga menggunakan parameter biasa, maka default parameter harus diletakkan di akhir pendefenisian parameter.
Dengan kata lain, setelah pendefinisian parameter dengan nilai default, tidak boleh ada parameter reguler sesudahnya. Contoh pendefenisian fungsi berikut ini akan menyebabkan error dalam PHP:
function tambah( $nilai1 , $nilai2 =3, $nilai3 ) |
Hal ini terjadi karena default parameter diletakkan sebelum parameter biasa. Contoh diatas seharusnya di tulis sebagai:
function tambah( $nilai1 , $nilai2 , $nilai3 =3) //atau function tambah( $nilai1 , $nilai2 =3, $nilai3 =3) |
Dalam kedua contoh tersebut, dafault parameter di letakkan setelah pendefenisian parameter biasa.
Default parameter merupakan fitur yang bisa dimanfaatkan untuk membuat fungsi kita lebih fleksibel, karena cara pemanggilan fungsi dapat dirancang dengan lebih sederhana. Untuk merancang fungsi yang lebih rumit, kita bisa membuat jumlah argumen yang tidak terbatas. Mengenai hal ini kita akan membahasnya dalam tutorial Pengertian Variable Parameter dalam Fungsi PHP.