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
}
Argumen fungsi
Secara default, argumen dikirimkan ke fungsi adalah berupa nilai saja, jadi tidak bisa mengubah nilai variabel yang dipakai sebagi argumen di dalam fungsi. Jika mengubah nilai argumen di dalam fungsi, maka nilai asli pada variabel tetap. Agar dapat mengubah nilai asli variabel di dalam fungsi, maka harus ada pengiriman berdasarkan reference, caranya dengan menambah tanda "&" di depan variabel saat memanggil fungsi. Berikut ini penjelasan jenis-jenis argumen fungsi :
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.
<html>
<head>
<title>Pass By Value</title>
</head>
<body>
<?php
function jumlah($nilai) {
$nilai++;
}
$input=5;
jumlah($input);
echo $input;
?>
</body>
</html>
Penjelasan:
Pada saat fungsi jumlah dipanggil,
jumlah($input);
fungsi tersebut akan memasukkan nilai dari variabel $input kedalam argumennya, jadi disini argumen fungsi jumlah adalah 5 (ini adalah nilai aslinya). Selanjutnya PHP meng-copy nilai asli tersebut, kemudian hasil copy-nya digunakan untuk proses manipulasi fungsi, sedangkan nilai yang asli dibiarkan tidak berubah. Proses manipulasinya sebagai berikut :
$nilai++;
$nilai = $nilai + 1
$nilai = 5 + 1
$nilai = 6
Untuk output,
echo $input;
nilai variabel $input yang diambil disini adalah nilai variabel aslinya, sehingga hasil manipulasi fungsi tadi tidak dipakai, karena bukan nilai asli. Jadi outputnya adalah 5.
Berikut ini adalah tampilan outputnya :
Berbeda dengan passing by value yang bersifat mengkopi, 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.
<html>
<head>
<title>Pass By Referance</title>
</head>
<body>
<?php
function jumlah(&$nilai) {
$nilai++;
}
$input=5;
jumlah($input);
echo $input;
?>
</body>
</html>
Penjelasan:
Sesuai dengan penjelasan passing by reference di atas, nilai yang diakses dan dimanipulasi adalah nilai aslinya, dengan begitu hasil manipulasi fungsilah yang gunakan sebagai outputnya, yaitu 6.
Berikut ini adalah tampilan outputnya :
Itulah beberapa penjelasan singkat tentang argumen fungsi. Semoga dengan ilmu tersebut dapat membantu kita semua dalam pembuatan program sederhana dengan menggunakan fungsi-fungsi PHP.
0 komentar:
Posting Komentar