Dalam lanjutan tutorial belajar PHP kali ini kita akan membahas tentang Cara Pembuatan Default Parameter pada Fungsi PHP.
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 menggunakan 8, 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.
pangkat(2,8) >> Saya memahaminya jadi 2 pangkat 8 yang hasilnya 32
mohon penjelasannya Pak :D
2 pangkat 8 kan jadi seperti ini gan = 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 (angka 2-nya sebanyak 8 kali), jadi totalnya 256 :)
Booos buat tutorial krngjang belanja donk.
Requestnya di tampung y gan. Tp fitur seperti itu lumayan rumit dan melibatkan banyak bahasa pemorgraman (HTML, CSS, PHP, MySQL dan JavaScript).
Kalau tujuannya ingin buat online shop, lebih cepat pakai CMS saja gan, misalnya bisa coba prestashop atau opencart.
mas, fungsi bootstrap itu buat apa ya?
Sederhananya Bootstrap itu kumpulan fungsi2 CSS untuk mendesign web secara cepat. Agar bisa mempelajari Boostrap, mesti paham HTML dan CSS dulu. Situs resminya ada di http://getbootstrap.com/
Bang Pengertian Parameter itu apa ya? contoh mudahnya
soalnya ane bru belajar bahasa pemograman
Makasih
Parameter itu adalah inputan untuk fungsi (function). Penjelasannya bisa kesini: https://www.duniailkom.com/tutorial-belajar-php-pengertian-fungsi-function-php-dan-cara-penggunaan-fungsi-php/
<?php
function pangkat($nilai, $pangkat=2)
{
$hasil=1;
for ($i=1;$i<=$pangkat;$i++)
{
$hasil=$hasil*$nilai;
}
return $hasil;
}
mas andre, saya kok bingung baca alur fungsinya ya, bisa mohon dijelaskan? :D
Tutorial ini memang sedikit rumit. Untuk bisa memahami kode diatas, mesti paham beberapa konsep dasar programming PHP , misalnya paham cara penggunaan function secara umum (apa fungsi perintah return, apa itu argumen/paramter), serta paham tentang variabel scope dan perulangan.
Mungkin bisa dibaca2 lagi beberapa tutorial sebelum ini agar lebih jelas.
saya tau fungsi itu berulang aja! sama return!
fungsi variabel scope bagian mana? tunjukan variablenya y! thank u!
mas Andre, saya tidak menggunakan "{}" pada fungsi for kok tetep jalan, klo begitu gak usah pakai aja ya. trims
function pangkat($angka,$pangkat=2)
{
$hasil=1;
for ($x=1;$x<=$pangkat;$x++)
$hasil=$hasil*$angka;
return $hasil;
}
echo " Hasil pangkat 2= ".pangkat(2);
echo "<br \>";
echo " Hasil pangkat 6= ".pangkat(6);
echo "<br \>";
HASILNYA :
Hasil pangkat 2= 4
Hasil pangkat 6= 36
Betul, untuk kode program ini tanda kurung tersebut tidak berpengaruh, karena perulangan yang akan diproses kebetulan hanya 1 baris saja.
Tapi jika yang akan diulang terdiri dari 2 baris atau lebih, tanda kurung {} harus disertakan. Contoh kasusnya sepert ini:
$hasil=1;
$hasil2=1;
for ($x=1;$x<=5;$x++)
$hasil=$hasil*$angka; // <- baris ini akan dijalankan 5 kali, karena masuk ke perulangan
$hasil2=$hasil2*$angka; // <- baris ini hanya akan diproses 1 kali, karena tidak masuk ke perulangan
TERIMAKASIH atas penjelasannya mas Andre.
Sukses selalu karena sudah menyebarkan ilmu yg bermanfaat.
Aamiin… :)
Mas biar cepet bisa lancar php gimana ya?
Saya termasuk yang percaya dengan quote "no pain no gain". Untuk bisa menguasai suatu skill harus ada proses yang kadang kala butuh waktu (tidak bisa cepat).
Kalau serius ingin mempelajari PHP dan web programming, harus mulai dulu dari HTML, setelah itu baru ke PHP. Jika ingin paket lengkap, bisa belajar HTML, CSS, PHP, MySQL dan JavaScript (5 materi dasar web programming).
Bisa juga cari buku atau sumber belajar yang lebih lengkap, karena kalau cuma mengandalkan tutorial2 yang ada di web jarang yang membahas berurutan hingga studi kasus.
Juga "Lancar PHP"-nya mau sampai tahap mana? Kalau cuma dasar untuk sekedar paham apa itu PHP, tutorial web di duniailkom sudah cukup. Lain halnya jika ingin lancar PHP yang akan dipakai untuk mencari kerja, itu harus "Lancar" sampai tahap framework (materi advanced).