Oya, fungsi yang akan kita bahas disini adalah fungsi yang kita buat sendiri sesuai dengan kebutuhan kita, tapi pada dasarnya PHP sendiri memiliki ratusan fungsi yang siap pakai atau biasa disebut built in php function seperti fungsi date() yang sudah kita bahas sebelumnya untuk menampilkan tanggal atau beberapa contoh fungsi lain seperti htmlspecialchars(), implode(), explode(), addslashes() dan masih banyak lagi. Dalam kesempatan lain akan kita bahas kegunaan fungsi-fungsi ini satu persatu. Sekarang mari kita kembali ke cara membuat fungsi PHP sendiri.
Yang perlu anda ketahui mengenai fungsi antara lain :
- Script-script yang ada di dalam fungsi tidak akan dieksekusi atau dijalankan sampai anda memanggil fungsi tersebut.
- Setiap fungsi harus diberi nama, penamaan fungsi dapat anda lakukan sesuka hati tapi sebaiknya nama fungsi menggambarkan apa yang akan dilakukan oleh fungsi tersebut, misalnya jika fungsi di buat untuk mengambil data tanggal lahir anggota, anda bisa namakan “get_birthdate” atau “ambil_tg_lahir”.
- Nama fungsi hanya boleh menggunakan karakter huruf dan tanda underscore (_) dan tidak boleh menggunakan spasi.
function namaFungsi() {Penjelasannya :
}
Sebuah fungsi harus selalu dimulai dengan kata “function” kemudian diikuti dengan nama fungsi (namaFungsi) dan tanda buka serta tutup kurung, kemudian buka kurung kurawal dan tutup kurung kurawal. Nah script yang akan dieksekusi akan di tulis di dalam kurung kurawal.
Tanda buka dan tutup kurung bisa kosong, dan bisa juga diisi parameter atau variabel boleh hanya 1 atau lebih, contohnya
function namaFungsi($parameter1,$parameter2) {Oke, mari sekarang kita langsung praktek membuat fungsi tanpa parameter. Misalnya kita akan membuat fungsi untuk menulis nama.
}
function tulis_nama() {
echo "Nama saya Fandhie";
}Nah fungsi diatas bernama tulis_nama() tanpa parameter. Script di dalam fungsi memerintahkan untuk mencetak (echo) string “Nama saya Fandhie” , mari kita aplikasikan ke halaman website. Buatlah halaman php dengan nama index.php kemudian ketik kode-kode berikut :
<?php
function tulis_nama() {
echo "Nama saya Fandhie";
}
?>
<html>Simpan halaman php anda kemudian buka menggunakan browser. See? pada browser akan tampil tulisan Nama saya Fandhie. Script <?php tulis_nama();?> adalah untuk memanggil fungsi tulis_nama(), dan karena fungsi ini dipanggil, maka script di dalam fungsi yaitu echo “Nama saya Fandhie”; akan dieksekusi. Mudah dipahami kan?
<head>
<title>Belajar Fungsi</title>
</head>
<body>
<?php tulis_nama();?>
</body>
</html>
Coba cara berikut :
<?php
function tulis_nama() {
$nama = "Nama saya Fandhie";
return $nama;
}
?>
<html>Simpan halaman php anda kemudian refresh browser. Sama aja kan hasil tampilannya? Berikut penjelasannya :
<head>
<title>Belajar Fungsi</title>
</head>
<body>
<?php echo tulis_nama();?>
</body>
</html>
dalam fungsi tulis_nama() , pertama kita mendefinisikan varibel $nama dan beri nilai string “Nama saya Fandhie”; kemudian return $nama , artinya nilai yang dihasilkan (return) oleh fungsi ini adalah variabel $nama;
Cara memanggil fungsi menjadi <?php echo tulis_nama();?>, ditambah echo karena kita harus memerintahkan untuk mencetak variabel $nama yang dihasilkan oleh fungsi tulis_nama(). Tanpa perintah echo, tidak akan tampil apa-apa dihalam website. Berbeda dengan fungsi sebelumnya dimana di dalam fungsi itu sendiri sudah memberikan perintah echo. Jelas bukan?
Ayo kita buat sedikit kompleks dengan script berikut. Silahkan tuliskan dalam file php anda dan simpan.
<?php
function tulis_nama() {
$first_name = "Fandhie";
$last_name = "Deeng";
$nama = $first_name." ".$last_name;
return $nama;
}
?>
<html>Sekarang buka di browser, maka akan tampil Fandhie Deeng di halaman browser anda.
<head>
<title>Belajar Fungsi</title>
</head>
<body>
<?php echo tulis_nama();?>
</body>
</html>
Penjelasannya :
Di dalam fungsi tulis_nama(), kita menetapkan 3 variable yaitu :
varibel $first_name , variabel $last_name dan variabel $nama, dimana varibel $nama mengambil nilai variabel $first_name , $last_name dan disisipkan string spasi diantaranya. Kemudian sebagai hasil (return) fungsi adalah variabel $nama, sehinggal ketika kita memanggil fungsi tulis_nama() dan di echo maka variabel $nama yang akan dicetak.
Oke, kita coba membuat perhitungan matematika. Sebagai berikut :
<?php
function hitung() {
$nilai_a = 5;
$nilai_b = 10;
$nilai_c = 3;
$hasil = ($nilai_a*$nilai_b)-$nilai_c;
return $hasil;
}
?>
<html>Simpan kemudian buka dalam browser, akan tampil nilai 47, karena fungsi hitung melakukan perkalian variabel $nilai_a dengan $nilai_b kemudian dikurangi $nilai_c .
<head>
<title>Belajar Fungsi</title>
</head>
<body>
<?php echo hitung();?>
</body>
</html>
Oke, harusnya anda sudah memahami, sekarang kita coba modifikasi fungsi hitung() menjadi fungsi dengan parameter
<?php
function hitung($nilai_c) {
$nilai_a = 5;
$nilai_b = 10;
$hasil = ($nilai_a*$nilai_b)-$nilai_c;
return $hasil;
}
?>
<html>Simpan dan buka dalam browser, hasilnya sama 47 kan yah? Nah di fungsi hitung($nilai_c) kali ini ada parameter $nilai_c, jadi pada saat kita memanggil fungsi hitung(3), artinya angka 3 adalah nilai variabel $nilai_c. Silahkan coba untuk mengganti parameter 3 dengan angka lainnya untuk melihat perubahan hasil perhitungan yang terjadi.
<head>
<title>Belajar Fungsi</title>
</head>
<body>
<?php echo hitung(3);?>
</body>
</html>
Ayo kita coba dengan fungsi yang lebih kompleks sebagai berikut :
<?php
function hitung($nilai) {
$i = 0;
for($i=0;$i<$nilai;$i++) {
echo $i*$nilai."<br />";
}
}
?>
<html>Simpan dan buka di browser, akan menampilkan deret angka 0 sampai 20 dengan kelipatan 5 bukan?
<head>
<title>Belajar Fungsi</title>
</head>
<body>
<?php echo hitung(5);?>
</body>
</html>
Penjelasannya :
Pada fungsi hitung(5) kita mengirimkan nilai 5 sebagai nilai variabel $nilai dalam hitung($nilai) kemudian dalam fungsi kita menetapkan varibel $i = 0;
Selanjutnya kita melakukan looping for($i=0;$<$nilai;$i++;} {…..} Agar lebih memahami coba anda rubah nilai parameter dengan beberapa angka yang berbeda misalnya hitung(1), hitung(2), hitung(10) dan seterusnya. Kemudian cobalah ubah perintah looping menjadi for($i=2;$<$nilai;$i++;} {…..} atau for($i=0;$<=$nilai;$i++;} {…..} dan seterusnya, maka output yang dihasilkan akan berbeda-beda dan dapat membantu pemahaman anda.
Selanjutnya mari kita coba membuat fungsi dengan 2 parameter (anda juga dapat mencoba dengan 3 atau lebih parameter kok).
<?php
function hitung($nilai_a, $nilai_b) {
if(($nilai_a*$nilai_b) % 2 ==0)
{$hasil = "Bilangan Genap";}
else
{$hasil= "Bilangan Ganjil";}
return $hasil;
}
?>
<html>Simpan script diatas dan buka di browser. bagaimana hasilnya? Ya betul, fungsi diatas untuk menguji hasil perkalian 2 parameter yang dikirim apakah bilangan ganjil atau bilangan genap. Misalnya <?php echo hitung(5,2);?> karena 5 dikalikan 2 sama dengan 10, hasilnya adalah Bilangan Genap.
<head>
<title>Belajar Fungsi</title>
</head>
<body>
<p><?php echo hitung(5,2);?></p>
<p><?php echo hitung(3,2);?></p>
<p><?php echo hitung(1,3);?></p>
<p><?php echo hitung(7,5);?></p>
<p><?php echo hitung(5,11);?></p>
</body>
</html>
Source : http://fandhie.com/tutorial-belajar-membuat-fungsi-php-php-function/