Tutorial Belajar PHP Part 40: Cara Membuat Fungsi / Function PHP

Selain memakai fungsi bawaan PHP atau built-in function, untuk keperluan yang lebih khusus kita bisa membuat fungsi sendiri atau user defined function.

Pada tutorial kali ini akan dibahas tentang cara membuat fungsi / function dalam bahasa PHP.


Format Dasar Penulisan Fungsi / Function PHP

Sebuah function berisi kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu. Tujuannya untuk kepraktisan dan kemudahan dalam membuat program utama.

Ketika sebuah kode ditulis dalam bentuk fungsi, maka kita bisa memanggil fungsi tersebut berkali-kali tanpa perlu membuat ulang kode programnya.

Berikut format dasar cara pembuatan function dalam bahasa PHP:

function nama_function ($parameter1, $parameter2) {
  // kode program di sini...
  // kode program di sini...
  return $nilai_akhir
}
  • Kata function adalah instruksi kepada PHP bahwa kita akan membuat fungsi.
  • nama_function adalah nama dari fungsi yang akan ditulis. Aturan penamaan sama seperti variabel, yakni tidak boleh diawali angka dan tidak boleh mengandung spasi.
  • $parameter1, $parameter2 adalah variabel perantara untuk menampung nilai input. Tergantung kebutuhan, sebuah function bisa saja memiliki 1, 2 atau lebih parameter.
  • return adalah perintah khusus untuk proses output. Perintah ini akan 'mengembalikan' sebuah nilai ke kode program yang memanggil function. Jika ditulis return $nilai_akhir, maka isi variabel $nilai_akhir yang akan dikembalikan. Perintah return juga akan menghentikan kode function.

Perhatikan juga bahwa semua kode function berada di dalam blok program yang ditandai dengan kurung kurawal di baris pertama dan baris terakhir.

Agar lebih mudah dipahami, kita akan mencoba membuat beberapa fungsi PHP sederhana.


Cara Membuat Fungsi / Function PHP

Sebagai contoh pertama dari user defined function, saya akan membuat fungsi sederhana untuk perkalian 2 angka. Nama fungsi ini adalah perkalian dan butuh 2 parameter tipe data angka (integer atau float). Berikut cara membuatnya:

<?php
//definisikan fungsi perkalian
function perkalian($angka1, $angka2) {
  $a = $angka1;
  $b = $angka2;
  $hasil = $a*$b;
  return $hasil;
}
 
//pemanggilan fungsi
$hasil = perkalian(4,5);
echo "Perkalian 4 x 5 adalah $hasil";
echo "<br>";
echo "Perkalian 7 x 2 adalah ".perkalian(7,2);
?>

Pada baris 3 saya mendefinisikan fungsi perkalian() dengan 2 parameter. Sepanjang blok kode function, parameter bisa diproses sebagaimana layaknya variabel biasa. Kita bebas menentukan nama parameter ini seperti $angka1 dan $angka2.

Di dalam fungsi perkalian(), terdapat variabel $a dan $b yang dipakai untuk menampung nilai $angka1 dan $angka2, pemindahan variabel ini sebenarnya tidak wajib, sekedar mempermudah penulisan saja.

Variabel $hasil kemudian dipakai untuk menampung nilai akhir dari perkalian $a*$b yang selanjutnya dikembalikan dengan perintah return $hasil.

Perintah return secara otomatis menutup fungsi. Jika kita masih memiliki kode program lain setelah return, perintah tersebut tidak akan diproses. Oleh karena itu perintah return harus diletakkan di akhir penulisan fungsi.

Di baris 12 dan 14 saya memanggil fungsi perkalian() dan menampilkan hasilnya dengan perintah echo.

Sebagai pembanding, fungsi perkalian() juga bisa ditulis dengan lebih singkat:

<?php
//definisikan fungsi perkalian
function perkalian($angka1, $angka2) {
  return $angka1*$angka2;
}
 
//pemanggilan fungsi
echo "Perkalian 12 x 6 adalah ".perkalian(12,6);
echo "<br>";
echo "Perkalian 99 x 9 adalah ".perkalian(99,9);
?>

Tutorial Belajar PHP - Cara Membuat Fungsi atau Function PHP

Di baris 4, saya langsung mengembalikan hasil perkalian kedua parameter $angka1*$angka2.


Membuat Fungsi Hitung Luas Lingkaran

Contoh selanjutnya, saya akan buat fungsi untuk mencari luas lingkaran. Seperti yang kita ketahui, luas lingkaran di dapat dengan rumus: pi*jari-jari*jari-jari.

Berikut contoh kode program untuk menghitung luas lingkaran dengan bahasa PHP:

<?php
//pemanggilan fungsi
echo "Luas Lingkaran dengan jari-jari 7 cm = ".luas_lingkaran(7)." cm";
 
//definisikan fungsi luas_lingkaran
function luas_lingkaran($jari2) {
  return M_PI*$jari2*$jari2;
}
?>

Hasil kode program:

Luas lingkaran dengan jari-jari 7 cm = 153.9380400259 cm

Di awal kode program, saya langsung memanggil fungsi luas_lingkaran(7), padahal fungsi tersebut belum di definisikan. Ini tidak error karena pada saat kode PHP berjalan, web server akan men-compile fungsi-fungsi yang ada terlebih dahulu, sehingga kita bisa memanggil fungsi yang di definisikan setelah dipanggil.

Di dalam fungsi luas_lingkaran(), satu-satunya argument yang diperlukan adalah panjang jari-jari lingkaran. M_PI adalah konstanta matematis bawaan PHP, nilainya sama dengan konstanta pi, yaitu 3,14. Namun kita juga bisa menulisnya manual menjadi 3.14*$jari2*$jari2.


Perbedaan antara Argument dan Parameter

Pada penjelasan tentang fungsi perkalian() dan luas_lingkaran(), saya menggunakan 2 istilah untuk nilai inputan fungsi, yakni argument dan parameter. Tetapi apa perbedaan keduanya?

Argumen merujuk kepada inputan fungsi pada saat fungsi dipanggil, contohnya pada saat memanggil fungsi perkalian(4,5), angka 4 dan 5 disebut sebagai argumen.

Sedangkan parameter merujuk ke inputan fungsi pada saat pendefinisian fungsi. Ketika membuat fungsi perkalian dengan perintah function perkalian($angka1, $angka2), maka $angka1 dan $angka2 adalah parameter.

Pada penggunaan sehari-hari, istilah parameter dan argumen cukup sering dipertukarkan. Termasuk dalam manual resmi PHP istilah argument lebih sering dipakai. Sepanjang tutorial di duniailkom, saya akan memakai istilah parameter dan argument secara bergantian.


Sepanjang tutorial ini kita telah membahas cara membuat function dalam bahasa PHP.

Selanjutnya akan dibahas tentang batasan ruang lingkup dari sebuah variabel, yakni pengertian variabel scope, global variabel, dan static variabel bahasa PHP.

53 Comments

  1. Apriadi
    19 Jun 15
    • Andre
      19 Jun 15
  2. fachreza muslim
    21 Jun 15
    • Andre
      22 Jun 15
  3. Azis Hapidin
    15 Jul 15
    • Andre
      16 Jul 15
  4. Nahrun Hartono
    08 Aug 15
    • Andre
      09 Aug 15
  5. jack
    21 Sep 15
  6. tomy
    04 Oct 15
  7. bosno
    30 Dec 15
    • Andre
      01 Jan 16
      • bosno
        01 Jan 16
      • Andre
        03 Jan 16
        • bosno
          03 Jan 16
  8. John Vannes
    21 Jan 16
    • Andre
      22 Jan 16
  9. fauziah
    21 Jan 16
    • Andre
      22 Jan 16
  10. Singgih
    19 Feb 16
    • Andre
      20 Feb 16
  11. Abdullah
    04 Jul 16
    • Andre
      04 Jul 16
  12. Bagus Swastika
    24 Aug 16
  13. yanto
    21 Sep 16
    • Anas Setiawan
      09 Oct 16
      • Andre
        10 Oct 16
      • Ari Darmawan
        01 Dec 17
        • Ari Darmawan
          01 Dec 17
        • Andre
          02 Dec 17
  14. yesi
    02 Feb 17
    • Andre
      02 Feb 17
  15. Malik
    06 Feb 17
    • Andre
      06 Feb 17
      • Malik
        07 Feb 17
  16. Bariq Dharmawan
    19 Feb 17
  17. Ev nvtst
    12 Apr 17
  18. ikha
    16 May 17
  19. Asmawi
    19 Oct 17
  20. SAWALUDIN -
    14 Dec 17
  21. adhi
    12 Apr 18
    • Andre
      14 Apr 18
  22. Nasir
    05 Jun 18
  23. Erhan
    12 Aug 18
    • Andre
      13 Aug 18
  24. Pageh
    08 Jun 19
    • Andre
      09 Jun 19
  25. Rohmadi Cahyono
    04 Nov 19
    • Andre
      04 Nov 19
  26. Jarot
    17 Jul 22

Add Comment