Selasa, 10 November 2015

Dalam tutorial belajar PHP kali ini, kita akan membahas tentang pengertian variable parameter, dan fungsi dari variabel parameter dalam PHP.

- Pengertian Variable Parameter -


Variable Parameter adalah sebuah fitur dalam PHP dimana kita bisa membuat fungsi dengan jumlah parameter yang bisa berubah-ubah (variable). Umumnya sebuah fungsi membutuhkanparameter yang telah ditentukan sebelumnya, namun dengan beberapa fungsi khusus, PHP membolehkan kita untuk membuat fungsi dengan jumlah parameter tidak dibatasi, bisa 0, 2, 5, bahkan 100 parameter dengan 1 nama fungsi.

- Cara Pembuatan Fungsi dengan Variable Parameter -


Sebuah fungsi dengan jumlah parameter yang tidak diketahui tampaknya agak aneh, namun fleksibilitas ini dapat digunakan untuk kasus-kasus pemograman khusus.
Sebagai contoh, saya akan membuat fungsi penambahan(), dimana fungsi ini akan menambahkan seluruh angka yang terdapat di dalam argumennya. Misalkan penambahan(2,6,8) akan menghasilkan 16, dan penambahan(1,2,3,4,5,6) akan menghasilkan nilai 21. Saya menginginkan fungsi ini mendukung berapapun jumlah argumen. Fungsi akan mengunakan fitur Variable Parameter.
Untuk membuat sebuah fungsi dengan jumlah parameter yang tidak diketahui, PHP menyediakan 3 fungsi tambahan untuk mengakses argumen yang diinput pada saat fungsi dipanggil. Ketiga fungsi tersebut adalah:
  • func_get_args(): fungsi ini akan mengembalikan seluruh nilai argumen dalam sebuah fungsi. Hasilnya dalam bentuk array.
  • func_num_args(): fungsi ini akan mengembalikan banyaknya jumlah argumen dalam pemanggilan fungsi, apakah 1 argumen, 3 argumen, atau 10 argumen.
  • func_get_arg(no_urut_argumen): fungsi ini akan mengembalikan nilai dari argumen pada nomor urut yang diberikan kepadanya.
Agar mudah memahami fungsi ketiganya, langsung saja kita masuk ke dalam kode program:
<?php

function penambahan()
{
   //ambil variable parameter
   $array_argumen = func_get_args();
   $jumlah_argumen = func_num_args();
   $nilai_argumen_ke_2 = func_get_arg(1); //index dimulai dari 0
 
   //tampilkan hasil variable parameter
   echo "Jumlah argumen: $jumlah_argumen";
   echo "<br />";
 
   echo "Nilai argumen ke-2: $nilai_argumen_ke_2";
   echo "<br />";
 
   echo "Array Argumen: ";
   var_dump($array_argumen);
 
   echo "<br />";
   echo "<br />";
   return;
}
 
echo "Rincian dari fungsi penambahan(1,2) : ";
echo "<br />";
penambahan(1,2);
 
echo "Rincian dari fungsi penambahan(5,4,3,2,1) : ";
echo "<br />";
penambahan(5,4,3,2,1);
 
echo "Rincian dari fungsi penambahan(0,6,8,19) : ";
echo "<br />";
echo penambahan(0,6,8,19);

?>

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNDYtR8fa-GExyqpedkP57e8cu3_m4-lQjMfsZJmsDP9a8D5XJ5zTYPScLU2uryTPv-8Okm2PI_RvyE_T4-xudsvdMCysk4UwRjxFfjyYOa_JctVyrgkh7_KZtlVeCc-w4fAQR2YQw03O8/s640/Contoh-Cara-Pembuatan-dan-penggunaan-variable-parameter-Fungsi-PHP.png

Mari kita membahas kode PHP diatas:
Pada baris ke-2, saya mendefenisikan fungsi penambahan() tanpa menggunakan parameter. Untuk membuat fungsi variable parameter (dimana jumlah parameternya yang tidak ditentukan) dalam pendefenisian fungsi, dibuat tanpa parameter sama sekali.
Pad baris 5-7, saya menjalankan ke-3 fungsi khusus yang telah dijelaskan sebelumnya. Fungsi-fungsi ini akan mengambil nilai-nilai dari argumen yang diinputkan pada saat pemanggilan fungsi. Lalu nilai ini saya simpan kedalam 3 variabel, yakni $array_argumen$jumlah_argumen, dan$nilai_argumen_ke_2
Sebagai catatan, untuk mengambil nilai argumen ke-2, saya dapatkan nilainya dari fungsifunc_get_arg(1). Karena argumen dihitung dari angka 0, sehingga argumen kedua berada di index ke 1.
Selanjutnya dari baris 11-20 saya menampilkan hasil masing-masing variabel. Penulisan echo ”<br/>” digunakan semata-mata agar tampilan di browser lebih rapi dan mudah dilihat.
Pada saat pemanggilan fungsi penambahan() pada baris ke 26, 30 dan 34, saya memanggilnya dengan jumlah argumen yang berbeda-beda, dan anda dapat melihat hasil dari ke-3 fungsi khusus variabel parameter.
Dengan ke-3 fungsi khusus telah sukses di jalankan, untuk membuat fungsi penambahan() yang sebenarnya, saya tinggal membuat perulangan (looping) untuk menambahkan seluruh argumen-argumen yang ada. Berikut adalah kode program fungsi penambahan versi final:
<?php

function penambahan()
{
   //ambil variable parameter
   $jumlah_argumen = func_num_args();
 
   //proses penambahan
   $nilai=0;
   for ($i = 0; $i < $jumlah_argumen; $i++)
   {
      $nilai += func_get_arg($i);
   }
   return $nilai;
   }
 
echo "penambahan(1,2) = ".penambahan(1,2);
echo "<br />";
 
echo "penambahan(5,4,3,2,1) = ".penambahan(5,4,3,2,1);
echo "<br />";
 
echo "penambahan(0,6,8,19,20,44,21) = ".penambahan(0,6,8,19,20,44,21);

?>

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpPL_ZJYvf7SgVOPTzhPHde-JX9wlpMG6D007NRyK73kgH4Iv4bSqFpHRrUN5sJ2kD8ygdQ0-ZHWEYj-Z9nF10C-eCJJ_G3j_m95i66vMjkT-9aYqDp02Q9aFwrURyp5XKbaYLYTd6Szr8/s320/Contoh-Cara-Pembuatan-dan-penggunaan-variable-parameter-Fungsi-PHP.png

Fungsi penambahan() diatas akan memproses tiap-tiap argumen yang diberikan kepada fungsi tersebut. Perulangan for akan memproses perulangan sebanyak argumen yang dimiliki.