Tutorial Belajar PHP Part 40: Cara Penulisan dan Pembuatan Fungsi PHP

Selain menggunakan fungsi bawaan PHP, untuk keperluan yang lebih khusus kita bisa membuat fungsi sendiri. Dalam tutorial kali ini kita akan membahas Cara Penulisan dan Pembuatan Fungsi dalam PHP.


Cara Penulisan Fungsi dalam PHP

Sebuah fungsi merupakan kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu. Tujuan memisahkan sebuah kode menjadi fungsi adalah untuk kepraktisan dan kemudahan dalam membuat program utama. Karena jika dijadikan fungsi, maka untuk menjalankan tugas yang sama, kita tinggal memanggil fungsi tersebut, tanpa perlu membuat kembali kode programnya.

Untuk membuat fungsi di dalam PHP, berikut adalah format dasar pembuatan fungsi:

function nama_fungsi ($parameter1, $parameter2)
{
   // kode program fungsi
   return $nilai_akhir
}
  • Kata function adalah instruksi kepada PHP bahwa kita akan membuat fungsi
  • nama_fungsi adalah nama dari fungsi yang akan ditulis
  • $parameter1, $parameter2 adalah variabel perantara yang akan menyimpan inputan yang diperlukan dalam pemrosesan fungsi (argumen). Tergantung kebutuhan, anda bebas merancang seberapa banyak parameter yang dibutuhkan.
  • return adalah perintah khusus untuk fungsi, dimana kata return menginstruksikan kepada PHP bahwa pemrosesan fungsi telah selesai. return $nilai_akhir berarti bahwa fungsi akan ‘mengembalikan’ $nilai_akhir sebagai hasil dari fungsi.

Perhatikan juga bahwa fungsi ini berada di dalam blok program yang ditandai dengan kurung kurawal pada baris pertama dan terakhir fungsi.

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


Contoh Pembuatan Fungsi PHP

Sebagai contoh pertama fungsi PHP, saya akan membuat fungsi sederhana untuk perkalian 2 angka. Nama fungsi ini adalah perkalian, dan membutuhkan 2 argumen dengan tipe data angka (integer atau float), berikut adalah cara pembuatan dan penggunaan fungsi perkalian:

<?php
//pembuatan fungsi
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 ke-3, saya mendefenisikan fungsi perkalian() yang memerlukan 2 parameter. SParameter ditulis sebagai variabel, dan anda bebas menentukan nama variabel ini, dalam contoh diatas, parameter untuk fungsi perkalian() adalah $angka1 dan $angka2.

Di dalam fungsi perkalian(), saya membuat variabel $a dan $b yang digunakan untuk menampung nilai $angka1 dan $angka2, pemindahan variabel ini sebenarnya tidak diperlukan, namun anda akan sering menemukan hal ini di dalam berbagai fungsi. Biasanya pemindahan ini dilakukan agar lebih mudah dan singkat dalam menggunakan variabel pada pemrosesan fungsi.

Variabel $hasil digunakan untuk menampung nilai akhir dari perkalian $a*$b, dan hasilnya di-kembalikan dengan perintah return $hasil. Return secara otomatis menutup fungsi, dan jika anda masih memiliki kode program setelah perintah return, perintah tersebut tidak akan diproses, oleh karena itu perintah return harus diletakkan di akhir penulisan fungsi.

Selanjutnya pada baris ke-12, saya memanggil fungsi perkalian() dengan menyimpan nilai kembaliannya ke dalam variabel $hasil, atau bisa dipanggil secara langsung dalam satu baris perintah echo, seperti pada baris ke-15.

Sebagai contoh fungsi kedua, saya akan membuat fungsi untuk menentukan luas lingkaran. Seperti yang kita ketahui, luas lingkaran didapat dengan rumus: pi*jari-jari*jari-jari. Berikut adalah program untuk menghitung luas lingkaran:

<?php
//pemanggilan fungsi
echo "Luas Lingkaran dengan jari-jari 7cm = ".luas_lingkaran(7)."cm";

//pembuatan fungsi
function luas_lingkaran($jari2)
{
   return M_PI*$jari2*$jari2;
}
?>

Saya memulai program dengan langsung memanggil fungsi luas_lingkaran(7), padahal fungsi tersebut belum didefenisikan. Hal ini dimungkinkan karena pada saat kode PHP dijalankan, web server akan men-compile fungsi-fungsi yang ada terlebih dahulu. Sehingga kita bisa memanggil fungsi yang di defenisikan setelah dipanggil.

Pada fungsi luas_lingkaran(), satu-satunya argumen yang diperlukan adalah panjang jari-jari lingkaran. M_PI adalah konstanta matematis yang disediakan PHP, yang nilainya sama dengan konstanta pi, yaitu 3,14. Namun anda juga bisa mengubahnya menjadi 3.14*$jari2*$jari2.


Perbedaan antara Argumen dan Paramater

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

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

Sedangkan Parameter merujuk kepada inputan fungsi pada saat pendefenisian. Saya membuat fungsi perkalian dengan perintah : function perkalian($angka1, $angka2), variabel $angka1 dan $angka2 adalah parameter.

Namun pada penggunaan sehari-hari, istilah parameter dan argumen sering dipertukarkan. Termasuk dalam manual resmi PHP, dimana istilah argumenlah yang sering digunakan. Dalam tutorial di duniailkom, saya akan menggunakan istilah parameter dan argumen secara bergantian.


Dalam tutorial selanjutnya, kita akan membahas tentang variabel scope, yaitu batasan ruang lingkup dari sebuah variabel. Selanjutnya dalam Tutorial Belajar PHP: Pengertian Variabel Scope, Global Variabel, dan Static Variabel dalam PHP.


Tutorial Terkait:

42 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

Add Comment