PHP : Mengenal dan Menggunakan function()

Fungsi ( function ) dalam bahasa pemrograman php memiliki aturan dasar seperti yang tertera dalam website resminya :
Function names follow the same rules as other labels in PHP. A valid function name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.
Initinya penulisan sebuah fungsi mengikuti aturan-aturan lain dalam php. Nama fungsi yang valid dimulai dengan huruf atau garis bawah, diikuti dengan sejumlah huruf, angka, atau garis bawah.
Fungsi dalam php bisa diartikan kita membuat beberapa baris kode kemudian bisa kita panggil kembali secara berulang-ulang tanpa menuliskan banyak baris kode kembali.

Penulisan sintaksis dasar fungsi dalam php yaitu :
<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
echo
"Example function.\n";
return
$retval;
}
?>

Sebagai contoh, kita akan menampilkan sebuah profil dari seseorang berupa :
  • Nama
  • Alamat
  • Email
Sebelum menggunakan sintaksis fungsi, kita umumnya menuliskan :
<?php
    echo "Nama : Ahmad Istakim <br>";
    echo "Alamat : Kota Bogor <br>";
    echo "Email : ahmad@gmail.com <br>";
?>

Nanti, akan menghasilkan tampilan :


Bagaimana jika kita ingin menampilkan beberapa data atau bahkan lebih dari 100 data profil ! Contohnya kita menampilkan 10 data, pasti dengan baris kode yang lebih banyak bukan 👀 
Lihat bari kode dibawah ini :
<?php
    echo "Nama : Ahmad Istakim<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim1<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad1@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim2<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad2@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim3<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad3@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim4<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad4@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim5<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad5@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim6<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad6@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim7<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad7@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim8<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad8@gmail.com<br>";
    echo "<hr>";
    echo "Nama : Ahmad Istakim9<br>";
    echo "Alamat : Kota Bogor<br>";
    echo "Email : ahmad9@gmail.com<br>";
    echo "<hr>";
?>

Dengan total 42 baris kode 😐😅
Hasilnya :


Nah dengan menggunakan sebuah fungsi, kita bisa lebih hemat baris kode menjadikan baris-baris kode kita menjadi lebih sedikit. Pertama kita coba menampilkan satu data seperti diatas, hanya saja kita ubah dengan menggunakan function()
<?php
    function tampilProfil($nama, $alamat, $email) {
        echo "Nama : $nama<br> Alamat : $alamat <br>Email : $email<br><hr>";
    }

    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
?>

Tampilannya pun sama persis, mari kita lihat :

Kalau memang sama, lalu apa sih lebihnya 😅
Memang tidak ada, ini akan terlihat jika kita ingin menampilkan banyak data. Perhatikan baris kode dibawah ini!
<?php
    function tampilProfil($nama, $alamat, $email) {
        echo "Nama : $nama<br> Alamat : $alamat <br>Email : $email<br><hr>";
    }
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");
?>

Hanya dengan 15 baris kode, kita bisa menampilkan hal yang sama. Kita lihat hasilnya :
Fungsi yang kita buat di artikel ini juga bisa disebut sebagai procedure atau fungsi void, yang artinya sebuah fungsi yang tidak mengembalikan suatu nilai ( return )
Kita hemat berapa baris coba, 30 baris gaes 😁
Lumayan bukan, kita bisa lebih hemat memori juga. Karena semakin banyak baris kode yang kita tulis, otomatis juga memperbesar ukuran file *.php kita bukan !?😌

Selanjutnya mari kita ulik soal pembuatan fungsinya...
<?php
    function tampilProfil($nama, $alamat, $email) {
        echo "Nama : $nama<br> Alamat : $alamat <br>Email : $email<br><hr>";
    }

Untuk membuat fungsi, wajib mutlak kita menuliskan dulu kata function di awalnya kemudian diikuti dengan nama fungsi yang kita inginkan. Dalam artikel ini, kami memberikan contoh membuat fungsi tampilProfil sehingga menjadi : 
<?php
    function tampilProfil

Bagian selanjutnya, kita membuat variabel untuk data-data yang nantinya akan diolah ( input, diberikan sebuah nilai ). Karena kita akan menampilkan nama, alamat dan email maka kita buat variabelnya. Letakkan di dalam kurung () setelah nama fungsi, menjadi :
<?php
    function tampilProfil($nama, $alamat, $email)

Step berikutnya kita tambahkan kurung kurawal {} sebagai tempat operasinya dan kode untuk apa sebuah fungsi dibuat, kita akan menampilkan sebuah data maka kita tambahkan kode echo di dalam kurung kurawal { ... } :
<?php
    function tampilProfil($nama, $alamat, $email) {
        echo "Nama : $nama<br> Alamat : $alamat <br>Email : $email<br><hr>";
    }

Paham !? 😁
Jika hanya ini kode kita, saat dijalankan belum akan tampak apapun. Kita perlu memanggilnya terlebih dahulu. Memanggil sebuah fungsi cukup dengan tuliskan nama fungsinya, diikuti dengan nilai yang nantinya akan ditampilkan dengan echo yang ada di dalam kurung kurawal ini :
{
  echo "Nama : $nama<br> Alamat : $alamat <br>Email : $email<br><hr>";
    }

Cara memanggilnya, dibawah kurung kurawal fungsi kita tuliskan :
<?php
    function tampilProfil($nama, $alamat, $email) {
        echo "Nama : $nama<br> Alamat : $alamat <br>Email : $email<br><hr>";
    }
    tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");

Dimanapun letak, jauh ataupun dekat kita bisa memanggil selama masih dalam scope kode yang dijangkau. Namun ingat! Harus di luar kurung kurawal dari fungsi 👌
Yuk semangat lagi belajar 💪

🛈 Dengan menggunakan fungsi, baris-baris kode kita menjadi lebih ringkas. Ingat! Jika nilai yang kita olah sebuah int ( numeric ), jangan gunakan tanda petik 2. Tanda petik 2 akan menganggap value atau nilai tersebut sebuah string. Baca lebih lanjut 👉 Penggunaan fungsi dalam CRUD php mysql 

PHP : Returning Values 

Penggunaan function() selanjutnya adalah fungsi yang memiliki return atau kembalian. Dalam situr resminya, dijelaskan bahwa :

Values are returned by using the optional return statement. Any type may be returned, including arrays and objects. This causes the function to end its execution immediately and pass control back to the line from which it was called.

Intinya adalah : "Nilai atau value dikembalikan dengan menggunakan pernyataan pengembalian opsional. Semua jenis tipe data dapat dikembalikan ( return ), termasuk array dan objek. Hal ini menyebabkan fungsi segera mengakhiri eksekusinya dan meneruskan kontrol kembali ke garis dari mana ia dipanggil".

Baiklah, dari pada bingung mari langsung saja kita bedakan dengan kode berikut :
<?php
    function tampilProfil($nama, $alamat, $email) {
        echo "Nama : $nama<br> Alamat : $alamat <br>Email : $email<br><hr>";
    }

Untuk memanggilnya :
tampilProfil("Ahmad Istakim","Kota Bogor","ahmad@gmail.com");

Kemudian dengan fungsi yang memiliki return :
    function aritmatika($angka1, $angka2) {
        $x = $angka1;
        $y = $angka2;
        $hasil = $x * $y;

        return $hasil;
    }

Memanggil fungsi yang memiliki return pun sama, kita tuliskan ulang nama fungsinya disertai dengan value yang akan kita inputkan :
echo aritmatika(12, 2);

Perbedaan adalah dalam fungsi tampilProfil() kita hanya melakukan perintah untuk menampilkan saja. Sedang dalam fungsi aritmatika() ada operasi data yang dilakukan sebelum kata return, yaitu operasi aritmatika berupa perkalian ( * ).

Mari kita praktikkan hasilnya, jalankan fungsi yang memiliki return tersebut dengan browser. Pertama, hilangkan dulu bagian :
 return $hasil;

Sehingga baris kode menjadi :
    function aritmatika($angka1, $angka2) {
        $x = $angka1;
        $y = $angka2;
        echo $hasil = $x * $y;
    }

    aritmatika(12, 2);

Hasilnya :

Nah, sekarang kita coba dengan menyertakan return :
    function aritmatika($angka1, $angka2) {
        $x = $angka1;
        $y = $angka2;
        echo $hasil = $x * $y;
        return $hasil;
    }

    aritmatika(12, 2);

Lihat kembali hasilnya :


Tidak ada perbedaan sama sekali, tetap menampilkan hasil operasi dari 12 x 2. Lalu apa sih perbedaanya !? 👀
Sekarang kita coba tambahkan bari kode echo untuk menampilkan 12 + 2, ubah kembali kodenya menjadi tanpa return :
    function aritmatika($angka1, $angka2) {
        $x = $angka1;
        $y = $angka2;
        echo $hasil = $x * $y;
        echo "<br>";
        echo $hasil2 = $x + $y;
       
    }

    aritmatika(12, 2);

Lihat kembali hasilnya :

Sekarang, coba tambahkan return sebelum variabel $hasil2 menjadi :
    function aritmatika($angka1, $angka2) {
        $x = $angka1;
        $y = $angka2;
        echo $hasil = $x * $y;
        echo "<br>";
        return $hasil;
       
        echo $hasil2 = $x + $y;
       
    }

    aritmatika(12, 2);

Bagaimana hasilnya !? Cek kembali yah
Terlihat bahwa baris kode $hasil2 :
        return $hasil;
        echo $hasil2 = $x + $y; // <-- baris ini tidak di eksekusi oleh php

Tidak dianggap oleh php  (( kira-kira sakit tidak ya 😓 ))
Inilah yang dimaksud dengan penjelasan pengertian fungsi diatas :
Nilai atau value dikembalikan dengan menggunakan pernyataan pengembalian opsional. Semua jenis tipe data dapat dikembalikan ( return ), termasuk array dan objek. Hal ini menyebabkan fungsi segera mengakhiri eksekusinya dan meneruskan kontrol kembali ke garis dari mana ia dipanggil.

Kata return menandakan bahwa batas eksekusi sampai di baris itu, kode-kode selanjutnya tidak akan di eksekusi bagaimanapun jenis kodenya. Nilai yang telah di return akan di kembalikan di kode awal ia dipanggil.
Awalnya, operasi yang dilakukan adalah perkalian :
 echo $hasil = $x * $y;

Maka dari itu, nilai yang dikembalikan oleh return adalah hasil perkalian.

Yeaay, sampai disini artikel ini berakhir. Semoga bermanfaat 😌😁
See you...
Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama