Kompetensi Dasar :

3.13 Menerapkan fungsi dalam program

4.13 Membuat kode fungsi dalam program

Materi Pokok :

1. Prosedur, subprogram dan fungsi dalam pemrograman server side.

2. Kode Pemanggil Function

Konsep Prosedur dan Fungsi Dalam Server Side

Prosedur

Prosedur adalah bagian dari suatu program yang disusun secara terpisah untuk melakukan suatu tugas khusus atau fungsi tertentu.

Pada dasarnya ada dua macam bentuk prosedur yaitu Subrutin (subprogram) dan Fungsi.


  • Subrutin (subprogram) adalah bagian dari program yang dibuat terpisah untuk melaksanakan sebagian dari tugas yang harus diselesaikan oleh suatu program. Pada umumnya yang dikenal dengan nama “Prosedur” sebenarnya adalah “Subprogram” .
  • Fungsi adalah bagian dari program yang dibuat terpisah untuk melaksanakan fungsi tertentu yang menghasilkan suatu nilai untuk dikembalikan ke program utama.
  • Prosedur banyak digunakan pada program yang terstruktur karena :

    1. Merupakan penerapan konsep program Modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk sebagai prosedur-prosedur.

    2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

    3. Membuat kode program lebih mudah dibaca.

    4. Dapat digunakan untuk menyembunyikan detil program.


    Prosedur memiliki ciri-ciri sebagai berikut ini :

    1. Hanya memiliki satu fungsi tujuan (logical inherent).

    2. Berukuran kecil (small size).

    3. Tidak tergantung pada prosedur lain (independent).


    Manfaat pembuatan prosedur :

    1. Modularisasi : Suatu program yang besar dan kompleks dapat dibagi ke dalam beberapa prosedur sehingga setiap prosedur merupakan bagian yang mudah dikerjakan.

    2. Simplifikasi : Dalam suatu program, sering diperlukan suatu tugas yang harus dikerjakan berulang-ulang dengan nilai-nilai variabel yang berbeda.



    Fungsi

    Fungsi adalah sekumpulan intruksi yang dibungkus dalam sebuah blok. Fungsi dapat digunakan ulang tanpa harus menulis ulang instruksi di dalamnya.

    Fungsi pada PHP dapat dibuat dngan kata kunci function, lalu diikuti dengan nama fungsinya.


    Contoh :


    function namaFungsi(){ //... }



    Kode Pemanggil Function


    Kode intruksi dapat di tulis di dalam kurung kurawal ({...}).


    Contoh :


    function perkenalan(){ echo "Assalamulaikmu, "; echo "Perkenalkan, nama saya Ardianta<br/>"; echo "Senang berkenalan dengan anda<br/>"; }

    Fungsi yang sudah dibuat tidak akan menghasilkan apapun kalau tidak dipanggil. Kita dapat memanggil fungsi dengan menuliskan namanya.


    Contoh:


    perknalan();

    Jadi, kode lengkapnya seperti ini:


    <?php // mmbuat fungsi function perkenalan(){ echo "Assalamulaikmu, "; echo "Perkenalkan, nama saya Ardianta<br/>"; echo "Senang berkenalan dengan anda<br/>"; } // memanggil fungsi yang sudah dibuat perkenalan(); echo "<hr>"; // memanggilnya lagi perkenalan(); ?>

    Hasilnya :




    Fungsi dengan Parameter

    Supaya intruksi yang di dalam fungsi lebih dinamis, kita dapat menggunakan parameter untuk memasukkan sebuah nilai ke dalam fungsi. Nilai tersebut akan diolah di dalam fungsi.


    Misalkan, pada contoh fungsi yang tadi, tidak mungkin nama yang dicetak adalah ardianta saja dan salam yang dipakai tidak selalu assalamualaikum. Maka, kita dapat menambahkan parameter menjadi seperti ini:


    <?php // mmbuat fungsi function perkenalan($nama, $salam){ echo $salam.", "; echo "Perkenalkan, nama saya ".$nama."<br/>"; echo "Senang berkenalan dengan anda<br/>"; } // memanggil fungsi yang sudah dibuat perkenalan("Muhardian", "Hi"); echo "<hr>"; $saya = "Indry"; $ucapanSalam = "Selamat pagi"; // memanggilnya lagi perkenalan($saya, $ucapanSalam); ?>

    Hasilya :




    Paramter dengan Nilai Default

    Nilai default dapat kita berikan di parameter. Nilai default berfungsi untuk mengisi nilai sebuah parameter, kalau parameter tersebut tidak diisi nilainya.


    Misalnya: saya lupa mengisi parameter salam, maka program akan error.
    Oleh karena itu, kita perlu memberikan nilai default supaya tidak error.

    Contoh :


    <?php // mmbuat fungsi function perkenalan($nama, $salam="Assalamualaikum"){ echo $salam.", "; echo "Perkenalkan, nama saya ".$nama."<br/>"; echo "Senang berkenalan dengan anda<br/>"; } // memanggil fungsi yang sudah dibuat perkenalan("Muhardian", "Hi"); echo "<hr>"; $saya = "Indry"; $ucapanSalam = "Selamat pagi"; // memanggilnya lagi tanpa mengisi parameter salam perkenalan($saya); ?>

    Hasilnya :




    Fungsi yang Megembalikan Nilai

    Hasil pengolahan nilai dari fungsi mungkin saja kita butuhkan untuk pemrosesan berikutnya. Oleh karena itu, kita harus membuat fungsi yang dapat mengembalikan nilai.


    Pengembalian nilai dalam fungsi dapat menggunakan kata kunci return.


    Contoh :


    <?php // membuat fungsi function hitungUmur($thn_lahir, $thn_sekarang){ $umur = $thn_sekarang - $thn_lahir; return $umur; } echo "Umur saya adalah ". hitungUmur(1994, 2015) ." tahun"; ?>

    Hasilnya :




    Memangil Fungsi di dalam Fungsi

    Fungsi yang sudah kita buat, dapat juga dipanggil di dalam fungsi lain.


    Contoh :


    <?php // membuat fungsi function hitungUmur($thn_lahir, $thn_sekarang){ $umur = $thn_sekarang - $thn_lahir; return $umur; } function perkenalan($nama, $salam="Assalamualaikum"){ echo $salam.", "; echo "Perkenalkan, nama saya ".$nama."<br/>"; // memanggil fungsi lain echo "Saya berusia ". hitungUmur(1994, 2015) ." tahun<br/>"; echo "Senang berkenalan dengan anda<br/>"; } // memanggil fungsi perkenalan perkenalan("Ardianta"); ?>

    Hasilnya :




    Fungsi rekursif

    Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Fungsi ini biasanya digunakan untuk menyelesaikan masalah sepeti faktorial, bilangan fibbonaci, pemrograman dinamis, dll.


    Contoh fungsi rekursif:


    <?php function faktorial($angka) { if ($angka < 2) { return 1; } else { // memanggil dirinya sendiri return ($angka * faktorial($angka-1)); } } // memanggil fungsi echo "faktorial 5 adalah " . faktorial(5); ?>

    Hasilnya :