Melanjutkan seri materi tentang function PHP, dalam tutorial kali ini kita akan bahas pengertian dan cara membuat default parameter.
Pengertian Default Parameter PHP
Default Parameter adalah istilah untuk parameter yang memiliki nilai awal atau nilai default.
Sebagai contoh, misalkan kita membuat fungsi sederhana: tambah(). Fungsi ini butuh 2 parameter yang masing-masing untuk nilai yang ingin ditambahkan. Berikut contoh kode programnya:
<?php function tambah($a, $b) { return $a + $b; } echo tambah(2,3); // 5 echo tambah(3,4); // 7 ?>
Dengan fitur default parameter, kita bisa memanggil fungsi tambah() hanya dengan 1 nilai input, atau bahkan tidak perlu nilai input sama sekali. Berikut perubahannya:
<?php function tambah($a, $b = 2) { return $a + $b; } echo tambah(2); // 4 echo tambah(10); // 12 echo tambah(4, 4); // 8 ?>
Perhatikan di akhir baris 2, 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 menjadi nilai awal.
Dengan nilai default, kita bisa rancang fungsi dengan parameter yang bersifat opsional. Parameter tersebut bisa diisi saat pemanggilan, atau boleh juga diabaikan.
Ini membuat fungsi lebih fleksibel karena pada saat pemanggilan, kita tidak harus menginputkan seluruh parameter, tetapi apa yang dianggap perlu saja.
Cara Penulisan Default Parameter PHP
Untuk membuat default parameter, kita hanya perlu memberi nilai awal saat pendefinisian parameter. Berikut format dasar penulisan default parameter dalam bahasa PHP:
function foo ($parameter1 = nilai_default1, $parameter2 = nilai_default2) { // kode program function ada disini... return nilai_akhir; }
- foo merupakan nama fungsi yang akan dibuat.
- $parameter1 dan $parameter2 adalah variabel untuk menampung nilai input fungsi.
- nilai_default1 dan nilai_default2 adalah nilai default untuk parameter. Nilai ini akan dipakai jika saat pemanggilan fungsi nilai parameter tidak diisi.
- return nilai_akhir adalah instruksi untuk mengembalikan hasil pemrosesan fungsi.
Agar lebih mudah memahami konsep default parameter, saya akan modifikasi fungsi pangkat() yang pernah kita rancang pada tutorial sebelumnya tentang tipe data argument. Silahkan pelajari sejenak kode program berikut:
<?php function pangkat($nilai, $pangkat=2) { $hasil = 1; for ($i=1; $i<=$pangkat; $i++) { $hasil = $hasil * $nilai; } return $hasil; } //Test beberapa kasus input 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>"; ?>
Hasil kode program:
Dalam kode ini saya tidak menggunakan fitur cek tipe data agar contoh program lebih sederhana.
Pada saat mendefinisikan fungsi pangkat(), terdapat tambahan angka 2 sebagai default parameter untuk parameter $pangkat. Maka, jika fungsi pangkat() dipanggil tanpa parameter kedua, $pangkat akan diisi angka 2.
Sebagai contoh, jika dipanggil pangkat(5), akan sama artinya dengan pangkat(5,2). Namun jika dipanggil pangkat(2,8), maka nilai parameter $pangkat akan berisi 8, bukan 2.
Penempatan Default Parameter
Sebuah function bisa saja punya banyak parameter. Sebagai syarat tambahan, default parameter harus diletakkan di akhir pendefinisian parameter.
Dengan kata lain, setelah pendefinisian parameter dengan nilai default, tidak boleh ada parameter reguler sesudahnya. Contoh pendefinisian fungsi berikut ini akan menyebabkan error di PHP:
function tambah($nilai1, $nilai2=3, $nilai3)
Error 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)
Pada kedua contoh ini, default parameter berada setelah pendefinisian parameter biasa.
Sepanjang tutorial ini kita telah membahas pengertian dan cara penggunaan default parameter untuk membuat fungsi yang lebih fleksibel,
Ketika menghadapi kasus yang cukup rumit, PHP ternyata juga mengizinkan kita membuat jumlah parameter yang tidak terbatas. Inilah materi kita dalam tutorial PHP selanjutnya: pengertian variable parameter 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).