Home » PHP » Fungsi di PHP: Penjelasan dan Contoh Source Code

Fungsi di PHP: Penjelasan dan Contoh Source Code

by Bagus Dharma Iswara
by Bagus Dharma Iswara

Fungsi PHP mirip dengan bahasa pemrograman lainnya. Fungsi adalah potongan kode yang mengambil satu input lagi dalam bentuk parameter dan melakukan beberapa pemrosesan dan mengembalikan nilai. Anda telah melihat banyak fungsi seperti fopen () dan fread () dan lainnya. Mereka adalah fungsi bawaan tetapi PHP memberi Anda pilihan untuk membuat fungsi Anda sendiri juga. PHP memiliki lebih dari 1000 fungsi bawaan yang dapat dipanggil secara langsung, dari dalam skrip, untuk melakukan tugas tertentu.

Fungsi PHP adalah potongan kode yang dapat digunakan kembali berkali-kali. Ini dapat mengambil masukan sebagai daftar argumen dan nilai kembalian. Ada ribuan fungsi bawaan di PHP. Di PHP, kita dapat mendefinisikan fungsi Kondisional, Fungsi dalam Fungsi dan fungsi Rekursif juga. Ada dua bagian yang harus jelas bagi Anda mengenai fungsi di PHP yaitu

  • Membuat Fungsi di PHP
  • Memanggil Fungsi di PHP

Sebenarnya Anda hampir tidak perlu membuat fungsi PHP Anda sendiri karena sudah ada lebih dari 1000 fungsi library bawaan yang dibuat untuk area yang berbeda dan Anda hanya perlu memanggilnya sesuai dengan kebutuhan Anda.

Keuntungan Menggunakan Fungsi PHP

Pada Bahasa pemrograman PHP terdapat beberapa keuntungan ketika kita membuat atau menggunakan sebuah fungsi yaitu

  1. Kode Dapat Digunakan Kembali atau Code Reusability yaitu Fungsi PHP hanya didefinisikan sekali dan dapat dipanggil berkali-kali, seperti dalam bahasa pemrograman lainnya.
  2. Less Code yaitu ini akan menghemat banyak kode karena Anda tidak perlu menulis logika berkali-kali. Dengan menggunakan fungsi, Anda hanya dapat menulis logika sekali dan menggunakannya kembali.
  3. Mudah dimengerti atau Easy to understand yaitu Fungsi PHP memisahkan logika pemrograman. Sehingga lebih mudah memahami alur aplikasi karena setiap logika terbagi dalam bentuk fungsi.

Membuat Fungsi PHP

Sangat mudah untuk membuat fungsi PHP Anda sendiri. Misalkan Anda ingin membuat fungsi PHP yang hanya akan menulis pesan sederhana di browser Anda saat Anda akan memanggilnya.

Contoh berikut membuat fungsi yang disebut writeMessage () dan kemudian memanggilnya tepat setelah membuatnya. Kita dapat mendeklarasikan dan memanggil fungsi yang ditentukan pengguna dengan mudah.

Perhatikan bahwa saat membuat fungsi, namanya harus dimulai dengan fungsi kata kunci dan semua kode PHP harus diletakkan di dalam tanda kurung {dan} seperti yang ditunjukkan pada contoh sintaks berikut di bawah ini

function namafungsi(){  
//kode yang akan dieksekusi  
}

Catatan penting yaitu Nama fungsi harus dimulai dengan huruf atau garis bawah. Nama fungsi TIDAK peka huruf besar / kecil. Nama fungsi harus dimulai dengan huruf dan garis bawah hanya seperti label lain di PHP. Ini tidak bisa dimulai dengan angka atau simbol khusus. Misalkan kita memiliki sebuah fungsi dengan nama writeMsg().

Pada contoh ini, kita membuat fungsi bernama “writeMsg ()”. Tanda kurung kurawal buka ({) menunjukkan permulaan kode fungsi, dan tanda kurung kurawal tutup (}) menunjukkan akhir dari fungsi tersebut. Fungsi akan menghasilkan “hello world!”. Untuk memanggil fungsi tersebut, cukup tulis namanya diikuti dengan tanda kurung ()

Fungsi PHP dengan Parameter atau Argumen

Informasi dapat diteruskan ke fungsi melalui argumen. Argumen itu seperti variabel. Argumen ditentukan setelah nama fungsi, di dalam tanda kurung. Anda dapat menambahkan argumen sebanyak yang Anda inginkan, cukup pisahkan dengan koma. PHP memberi Anda opsi untuk meneruskan parameter Anda di dalam suatu fungsi. Anda dapat mengirimkan sebanyak mungkin parameter yang Anda suka. Parameter ini bekerja seperti variabel di dalam fungsi Anda.

Kita dapat meneruskan informasi dalam fungsi PHP melalui argumen yang dipisahkan dengan koma. PHP mendukung Call by Value (default), Call by Reference, Default argument values dan Variable-length argumen list. Fungsi Parameterized PHP adalah fungsi dengan parameter. Anda dapat mengirimkan sejumlah parameter di dalam suatu fungsi. Parameter yang diteruskan ini bertindak sebagai variabel di dalam fungsi Anda. Nilainya ditentukan di dalam sebuah tanda kurung, setelah nama sebuah fungsi. Outputnya tergantung pada nilai dinamis yang diteruskan sebagai parameter ke dalam fungsi.

Contoh berikut memiliki fungsi dengan satu argumen ($ fname). Ketika fungsi familyName () dipanggil, kami juga memberikan nama (misalnya Jani), dan nama digunakan di dalam fungsi, yang menghasilkan beberapa nama depan yang berbeda, tetapi nama belakang yang sama. kita dapat membuat contohnya dengan kode berikut ini

<?php
function familyName($fname) {
  echo "$fname Refsnes.<br>";
}

familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>

Meneruskan Argumen dengan Referensi (Pass by Reference)

Dimungkinkan untuk meneruskan argumen ke fungsi dengan referensi. Ini berarti bahwa referensi ke variabel dimanipulasi oleh fungsi daripada salinan nilai variabel. Setiap perubahan yang dibuat pada argumen dalam kasus ini akan mengubah nilai variabel asli. Anda bisa meneruskan argumen dengan referensi dengan menambahkan ampersand ke nama variabel baik dalam pemanggilan fungsi atau definisi fungsi.

Dalam PHP, Nilai yang diteruskan ke fungsi tidak mengubah nilai sebenarnya secara default (call by value), yang berarti bahwa salinan nilai digunakan dalam fungsi dan variabel yang diteruskan ke fungsi pada PHP tidak dapat diubah kembali. Ketika argumen fungsi dilewatkan oleh sebuah referensi, perubahan pada argumen juga mengubah variabel yang diteruskan. Untuk mengubah argumen fungsi menjadi referensi, harus menggunakan operator dengan tanda simbol ampersand (&) sebelum nama argumen. Contoh sederhananya dapat kita lihat dengan kode berikut

<?php  
function adder(&$str2)  
{  
    $str2 .= 'Call By Reference';  
}  
$str = 'Hello ';  
adder($str);  
echo $str;  
?>  

Maka kode diatas ini akan menghasilkan sebuah output dengan hasil : Hello Call By Reference.

Nilai Argumen Default (Default Argument Value)

PHP memungkinkan Anda untuk menentukan nilai argumen default gaya C ++. Dalam kasus seperti itu, jika Anda tidak meneruskan nilai apa pun ke fungsi, itu akan menggunakan nilai argumen default. Kita dapat menentukan nilai argumen default dalam fungsi. Saat memanggil fungsi PHP jika Anda tidak menentukan argumen apa pun, itu akan mengambil argumen default. Anda dapat menyetel parameter agar memiliki nilai default jika pemanggil fungsi tidak meneruskannya.

Fungsi Default Argument Value ini akan mencetak NULL jika penggunaan tidak meneruskan nilai apa pun ke dalam fungsi ini. Sejak PHP 5, Anda dapat menggunakan konsep nilai argumen default dengan panggilan tambahan suatu referensi juga jadi lebih memudahkan bagi para developer. Mari kita lihat contoh sederhana penggunaan nilai argumen default dalam fungsi PHP dengan menuliskan kode berikut ini

<?php  
function sayHello($name="John"){  
echo "Hello $name<br/>";  
}  
sayHello("Smith");  
sayHello();//passing no value  
sayHello("Mayer");  
?>  

Maka akan menghasilkan output dengan hasil : Hello John, Hello Smith, Hello Mayer.

Mengembalikan Nilai (Return Value)

Sebuah fungsi dapat mengembalikan nilai menggunakan pernyataan return dalam hubungannya dengan nilai atau objek. return menghentikan eksekusi fungsi dan mengirimkan nilainya kembali ke kode panggilan. Anda dapat mengembalikan lebih dari satu nilai dari fungsi menggunakan array kembali (1,2,3,4).

PHP 7 juga mendukung Deklarasi Tipe untuk pernyataan return. Seperti dengan deklarasi tipe untuk argumen fungsi, dengan mengaktifkan persyaratan strict ini, maka akan memunculkan “Fatal Error” pada ketidakcocokan sebuah tipe. Untuk mendeklarasikan tipe untuk fungsi return, maka dapat kita tambahkan titik dua (:) dan sebuah data tipe, tepat sebelum kurung kurawal buka ({) ketika mendeklarasikan sebuah fungsi.

Contoh berikut mengambil dua parameter integer dan akan menghasilkan sebuah balikan dengan mengalikan nilai yang ada. Perhatikan bahwa kata kunci return digunakan untuk mengembalikan nilai dari suatu fungsi, untuk penjelasan ini dapat dilihat dengan contoh kode berikut ini

<?php  
function cube($n){  
return $n*$n*$n;  
}  
echo "Cube of 3 is: ".cube(3);  
?> 

Maka akan menghasilkan output dengan hasil yaitu Cube of 3 is: 27

Pemanggilan dengan Nilai (Call by Value)

PHP memungkinkan Anda memanggil fungsi berdasarkan nilai dan referensi keduanya. Dalam kasus panggilan dengan nilai (call by value), nilai aktual atau nilai aslinya tidak akan diubah jika nilai ini diubah di dalam sebuah fungsi. Mari kita pahami konsep panggilan dengan nilai dengan bantuan sebuah contoh kode berikut

Dalam contoh ini, variabel $ str diteruskan ke fungsi adder yang digabungkan dengan string ‘Call By Value’. Tapi, mencetak hasil variabel $ str hanya ‘Halo’. Itu karena perubahan hanya dilakukan pada variabel lokal $ str2. Ini tidak mencerminkan variabel $ str.

<?php  
function adder($str2)  
{  
    $str2 .= 'Call By Value';  
}  
$str = 'Hello ';  
adder($str);  
echo $str;  
?>  

Maka untuk kode diatas akan menghasilkan output : Hello

Variable Length Argumen PHP

PHP mendukung fungsi argumen panjang variabel atau Variable Length Argument. Ini berarti Anda dapat mengirimkan sejumlah 0, 1 atau n argumen dalam fungsi. Untuk melakukannya, Anda perlu menggunakan 3 elips (titik) sebelum nama argumen. Konsep 3 titik diimplementasikan untuk argumen panjang dari suatu variabel sejak PHP 5.6. contohnya adalah dengan melihat sintaks berikut ini

function namafungsi(...$variabel) {  
    
}  

Fungsi Rekursif

PHP juga mendukung pemanggilan fungsi rekursif seperti C / C ++. Dalam kasus seperti itu, kami memanggil fungsi saat ini berada dalam suatu fungsi. Ini juga dikenal sebagai rekursi. Direkomendasikan untuk menghindari pemanggilan fungsi rekursif lebih dari 200 level rekursi karena dapat menghancurkan tumpukan dan dapat menyebabkan penghentian skrip. Contoh yang paling sederhana dari fungsi rekursif ini adalah pembuatan sebuah faktorial dasar sederhana seperti kode dibawah ini

<?php    
function factorial($n)    
{    
    if ($n < 0)    
        return -1; /*Nilai ketika salah*/    
    if ($n == 0)    
        return 1; /*kondisi untuk berhenti dari fungsi*/    
    return ($n * factorial ($n -1));    
}    
    
echo factorial(5);    
?>    

Maka output yang dihasilkan yaitu 120

Loosely Typed Language PHP

PHP secara otomatis mengaitkan tipe data ke variabel, tergantung pada nilainya. Karena tipe data tidak disetel dalam arti yang ketat atau biasa disebut dengan strict, maka anda dapat melakukan hal-hal seperti menambahkan suatu string ke integer tanpa menyebabkan kesalahan dan error pada PHP.

Di PHP 7, deklarasi pada tipe telah ditambahkan. Ini memberi kita opsi untuk menentukan tipe data yang diharapkan saat mendeklarasikan fungsi, dan dengan menambahkan deklarasi strict, ini akan memunculkan “Fatal Error” jika tipe datanya tidak cocok. Untuk menentukan sebuah strict maka kita perlu mengatur deklarasinya dengan (strict_types = 1) ;. Deklarasi ini harus berada di baris pertama pada file PHP.

Pemanggilan Fungsi Secara Dinamis PHP

Anda dapat menetapkan nama fungsi sebagai string ke variabel dan kemudian memperlakukan variabel ini persis seperti nama fungsi itu sendiri. Contoh berikut menggambarkan perilaku ini seperti pada contoh kode berikut

<?php
         function sayHello() {
            echo "Hello<br />";
         }
         
         $function_holder = "sayHello";
         $function_holder();
      ?>

Maka hasilnya akan sama dengan menampilkan sebuah output yaitu Hello

You may also like