Minggu, 14 Maret 2010

FUNGSI PASS BY VALUE DAN PASS BY REFERENCE

- Fungsi adalah subprogram/subrutin program yang terdiri dari sekumpulan
perintah yang akan melaksanakan suatu tugas tertentu
- Fungsi memungkinkan program menjadi lebih terstruktur dan juga memudahkan
pelacakan kesalahan.
- Menggunakan fungsi akan mempersingkat waktu pemrogram untuk menuliskan
sekumpulan perintah yang sama berkali-kali

sintaks:
function nama_fungsi($arg1, $arg2, .., arg_n)
{
blok pernyataan fungsi
}

Keterangan:
Nama_fungsi adalah nama yang akan digunakan untuk memanggil fungsi
$arg1, $arg2, …, $arg_n adalah argumen-argumen (parameter) yang akan disertakan
pada saat pemanggilan fungsi untuk diproses dalam fungsi.
Blok pernyataan fungsi adalah pernyataan-pernyataan yang terdapat dalam apitan tanda
({ }) dimana dikerjakan fungsi untuk tugas tertentu.
Pemanggilan fungsi tanpa parameter
contoh1.php
<?
$x=2+3;
$y=$x+5;
echo "$y<br>";
$x=2+3;
$y=$x+5;
echo "$y<br>";
$x=2+3;
$y=$x+5;
echo "$y<br>";
$x=2+3;
$y=$x+5;
echo "$y<br>";
?>

Jika kita perhatikan kode di atas, maka penjumlahan yang sama berulang-ulang dituliskan beberapa kali dan merupakan pemborosan. Dengan adanya fungsi maka program diatas bisa dibuatkan ke dalam fungsi dan bisa dipanggil beberapa kali.


1. Pass by Value
Argumen fungsi yang dilewatkan secara pass by value (default dalam php) berarti
membuat kopi dari argumen yang asli sehingga argumen asli tersebut tidak ikut berubah
dengan adanya proses pada fungsi terhadap argumen tersebut.

contoh2.php
<HTML>
<HEAD>
<TITLE>Fungsi dengan pass by value</TITLE>
</HEAD>
<BODY>
<?
function kuadrat($x)
{
$z=$x * $x;
return($z);
}
$a=5;
printf ("$a kuadrat = %.2f <BR> ",kuadrat($a));
$a=-2.5;
printf ("$a kuadrat = %.2f <BR> ",kuadrat($a));
?>
</BODY>
</HTML>

2. Pass by Reference
Argumen fungsi yang dilewatkan secara pass by reference berarti membawa argumen asli
ke dalam fungsi sehingga argumen asli tersebut akan ikut berubah dengan adanya proses
pada fungsi terhadap argumen tersebut.

Contoh: fungsi3.php
<HTML>
<HEAD>
<TITLE>Fungsi tambah string [Pass by reference]</TITLE>
</HEAD>
<BODY>
<?
function tambah_string(&$str)
{
$str=$str. ",Bandung";
return $str;
}
//Pemanggilan fungsi
$str="STTIS";
echo "\$str=$str<BR>";
echo tambah_string($str)."<BR>";
echo "\$str=$str<BR>";
?>
</BODY>
</HTML>

demikian artikel yang kami buat semoga bermanfaat bagi semua...


Avenged sevenfold - Seize the Day