Pengertian Fungsi
Fungsi adalah subprogram yang sering juga disebut subrutin program yang terdiri dari sekumpulan perintah yang akan melaksanakan subanyak atu tugas tertentu.
PHP telah menyediakan banyak fungsi siap pakai.
Untuk kebutuhan pemakai PHP juga memungkinkan kita membuat fungsi sendiri untuk tujuan khusus yang sering disebut User-Defined Function (UDF).
Mendeklarasikan Fungsi
Sintaks:
Function nama_fungsi ($arg1, $arg2, …)
{
blok_pernyataan_fungsi;
}
Keterangan:
nama_fungsi adalah nama yang akan digunakan untuk memanggil fungsi.
$arg1, arg2, … adalah argumen (parameter) yang akan disertakan pada saat pemanggilan fungsi untuk proses dalam fungsi.
blok_pernyataa_fungsi adalah pertanyaan dimana dikerjaka untuk fungsi untuk tugas tertentu.
<html>
<head>
<title>Rasid</title>
</head>
<body>
<?php
// wwww.emerer.com
function jumlah ($x, $y)
{
$z =$x + $y;
return ($z);
}
//Memanggil fungsi
$c = jumlah(4,5);
echo “\$c = $c <br><br>”;
$a = 5 ;
$b = 7 ;
$c = jumlah ($a, $b);
print (“$a + $b = $c <br>”);
printf (“Hasil : %d” , jumlah ($a, $b) );
?>
</body>
</html>
Argumen Fungsi
Argumen fungsi yang dilewatkan secara pass by value (default) berarti membuat kopi dari argumen yang asli sehingga argumen asli tersebut tidak berubah dengan adanya proses pada fungsi terhadap argumentersebut.
<html>
<head>
<title>Argumen</title>
</head>
<body>
<?php
// www.emerer.com
function kuadrat($x)
{
$z = $x * $x;
return($z);
}
$a = 6 ;
printf (“$a Kuadrat = %.2f <br>”,kuadrat($a));
$a = – 0.5 ;
printf (“$a Kuadrat = %.2f <br>”,kuadrat($a));
?>
</body>
</html>
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 argumennya.
<html>
<head>
<title>Rasid Reference</title>
</head>
<body>
<?php
// www.emerer.com
function konkat(&$tulisan)
{
$tulisan .= “Belajar menjadi master PHP”;
return($tulisan);
}
$tulisan =”Ayoo !!!! “;
konkat($tulisan);
print ($tulisan);
?>
</body>
</html>
Argumen fungsi yang dilewatkan secara default argument values berarti membuat nilai default terhadap argumen fungsi pada saat dipanggil .
<html>
<head>
<title>Rasid Default</title>
</head>
<body>
<?php
// www.emerer.com
function ulang($karakter, $jumlah = 1)
{
for ($i = 1 ; $i<=$jumlah; $i++)
print ($karakter);
}
ulang(“=”, 10);
print “<br>” ;
ulang(“a”, 5);
print “<br>” ;
ulang(“a”);
print “<br>” ;
ulang(“X”, 15);
?>
</body>
</html>
Fungsi func_num_args , funct_get_args
Fungsi berikut digunakan untuk menangani fungsi yang memiliki argumen yang jumlahnya tidak terdefinisikan secara tegas.
func_num_arg adalah fungsi yang digunakan untuk memperoleh jumlah argumen fungsi saat dipanggil.
func_get_arg untuk memperoleh letak argumen yang mana hitungannya dimulai dari nol.
func_get_args untuk menghasilkan array dari argumen.
<html>
<head>
<title>Rasid Jumlah Argumen</title>
</head>
<body>
<?php
//www.emerer.com
function contoh()
{
$BanyakArgumen = func_num_args();
echo “Banyak argument fungsi : $BanyakArgumen <br><br>”;
if ($BanyakArgumen >= 2)
{
echo “Argumen ke-3 : “.func_get_arg (2).”<br><br>”;
}
$argumen = func_get_args();
for ($i=0 ; $i<$BanyakArgumen; $i++)
{
echo “Argumen ke=$i: “. $argumen[$i].”<br> “;
}
}
contoh (a, b, c, d);
?>
</body> </html>
Fungsi sebagai Variabel
PHP juga mendukung konsep fungsi sebagai variable ( variabel mengacu fungsi).
Artinya bahwa apabila suatu variabel ditambah dalam kurung, maka PHP akan mencari fungsi dengan nama yang sama untuk dievakuasi sebagai variable.
<html>
<head>
<title>Rasid Fungsi Variable</title>
</head>
<body>
<?php
// www.emerer.com
function satu()
{
echo “Ini adalah fungsi satu() <br><br>”;
}
function dua($arg=”)
{
echo “Ini dalam fungsi dua(), argumennya adalah ‘$arg’.<br>”;
}
$fungsi = ‘satu’;
$fungsi();
$fungsi = ‘dua’;
$fungsi(‘tes’);
?> </body> </html>
Nilai Balik
Nilai balik adalah nilai yang dikembalikan oleh suatu fungsi yang dipanggil. Nilai balik dikembalikan melalui statement return yang dapat berupa suatu nilai atau objek.
Kitatidak dapat mengembailkan banyak nilai dari suatu fungsi , tetapi hasil serupa dapat diperoleh dengan mengembalikan suatu daftar (list).
<html>
<head>
<title>Rasid List</title>
</head>
<body>
<?php
// www.emerer.com
function kuadrat($x)
{
return $x * $x;
}
printf(“Kuadrat (6) = %d<br><br>”, kuadrat(6));
function number()
{
return array(0, 1, 2);
}
list ($satu, $dua, $tiga) = number();
echo “$satu <br>”;
echo “$dua<br> “;
echo “$tiga <br>”;
?>
</body> </html>
Fungsi rekusif
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Fungsi rekursif itu sendiri banyak ditemui pada proses pengurutan (sorting) atau juga pada perhitungan nilai faktorial dari suatu bilangan.
<html>
<head>
<title>Rasid Rekursif</title>
</head>
<body>
<?php
//www.emerer.com
function faktorial ($x)
{
if ($x==0)
return 1;
else
return $x * faktorial($x – 1);
}
printf (“4 Faktorial = %d <br> “, faktorial(4));
?>
</body>
</html>