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.
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 :
|
Kode Pemanggil Function
Kode intruksi dapat di tulis di dalam kurung kurawal ({...}).
Contoh :
"; echo "Senang berkenalan dengan anda "; } |
Fungsi yang sudah dibuat tidak akan menghasilkan apapun kalau tidak dipanggil. Kita dapat memanggil fungsi dengan menuliskan namanya.
Contoh:
|
Jadi, kode lengkapnya seperti ini:
"; } // memanggil fungsi yang sudah dibuat perkenalan(); echo " "; // 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:
"; } // memanggil fungsi yang sudah dibuat perkenalan("Muhardian", "Hi"); echo " "; $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 :
"; } // memanggil fungsi yang sudah dibuat perkenalan("Muhardian", "Hi"); echo " "; $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 :
|
Hasilnya :
Memangil Fungsi di dalam Fungsi
Fungsi yang sudah kita buat, dapat juga dipanggil di dalam fungsi lain.
Contoh :
"; echo "Senang berkenalan dengan anda "; } // 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:
|
Hasilnya :