Tutorial Belajar PHP Part 19 – Pembuatan fungsi di PHP

Selamat datang di tutorial warung belajar, melanjutkan seri tutorial PHP, sudah sampai di part 19, dalam tutorial ini kita akan belajar mengenai function di PHP, istilah function ini  dimiliki di bahasa pemrogaman lainnya.

fungsi digunakan untuk menuliskan kode program, yang berisi proses yang sering digunakan, semisal anda membuat sebuah kode untuk melakukan koneksi ke database, pasti setiap anda menggunakan fitur yang terkoneksi ke database anda memerlukan kode tersebut, karena itu anda perlu menuliskan kode tersebut didalam sebuah fungsi, sehingga dengan sekali menulis code anda bisa menggunakannya berulang kali, cukup memanggil fungsi yang telah dibuat sebelumnya, tanpa perlu untuk menuliskannya kodenya berulang kali.

Cara Penulisan Fungsi di PHP

Setelah anda memahami secara garis besar apa itu fungsi di php, sekarang kita akan membahas mengenai bagaimana cara penulisan fungsi di PHP.

Untuk membuat fungsi di PHP, strukturnya adalah seperti berikut ini :

Keterangan :
  • kode function adalah intruksi untuk pembuatan fungsi di php
  • setelah itu kita tulis nama_fungsi, agar nanti bisa kita panggil nama fungsi tersebut.
  • $parameter_1$parameter_2 adalah variabel perantara yang nantinya akan digunakan untuk menyimpan inputan yang diperlukan untuk pemrosesan dari fungsi yang anda buat, jumlah parameter disini bisa anda buat sebanyak yang anda butuhkan.
  • return adalah perintah untuk menginstruksikan kepada PHP bahwa pemrosesan fungsi telah selesai, tidak hanya itu perintah return ini juga dapat digunakan untuk mengembalikan nilai, seperti contoh diatas dituliskan return $hasil; berarti ketika proses yang ada di fungsi selesai, maka akan mengembalikan nilai dari variabel $hasil;
  • untuk perintah yang akan dijalankan ketika fungsi dipanggil dituliskan diantara kurung kurawal pembuka dan kurung kurawal penutup.

Untuk lebih memahami struktur penulisan fungsi perhatikan 2 contoh fungsi dibawah ini :

 

Contoh 1 – Function menghitung Luas Persegi Panjang

Sebagai contoh kita akan membuat sebuah program yang digunakan untuk menghitung persegi – panjang, perhatikan skrip dibawah ini :

Jika dijalankan maka hasilnya adalah sebagai berikut :

Keterangan :

Perhatikan pada Line 2 kita menuliskan perintah function luas_persegi_panjang($panjang,$lebar), yang artinya kita membuat fungsi dengan nama luas_persegi_panjang dengan 2 parameter yaitu $panjang, $lebar

setelah membuat function kita bisa menuliskan statement yang dijalankan saat function di panggil, statement dituliskan diantara karakter { (Line 3)  dan } (Line 6)

statement yang ditulis di Line 4 adalah menghitung perkalian antara parameter $panjang dengan parameter $lebar, dan hasilnya akan disimpan di variabel $hasil.

statement berikutnya di Line 5 adalah menampilkan tulisan “Hasil Perhitungan Persegi Panjang, Panjang = <b>”.$panjang.”</b> & Lebar = <b>”.$lebar.”</b> = <b>”.$hasil.”</b><br/>”, dimana untuk variabel $panjang dan $lebar isinya akan disesuaikan dengan argumen yang disertakan saat fungsi dipanggil.

berikutnya untuk contoh pemanggilan dari fungsi perhatikan Line 8, kita menuliskan perintah luas_persegi_panjang(10,5), perintah tersebut digunakan untuk memanggil fungsi luas_persegi_panjang dengan 2 argumen yaitu : 10 dan 5, yang artinya 10 digunakan untuk memberikan nilai pada parameter $panjang, dan 5 digunakan untuk memberikan nilai pada parameter $lebar

karena itu hasilnya akan menuliskan hasil “Hasil Perhitungan Persegi Panjang, Panjang = 10 & Lebar = 5 = 50“, angka 10 adalah argumen pertama, angka 5 adalah argumen kedua saat function luas_persegi_panjang dipanggil di Line 8, dan angka 50 adalah hasil perkalian dari 10 * 5

berikutnya untuk contoh pemanggilan dari fungsi perhatikan Line 9, kita menuliskan perintah luas_persegi_panjang(7,9), perintah tersebut digunakan untuk memanggil function luas_persegi_panjang dengan 2 argumen yaitu : 7 dan 9, yang artinya 7 digunakan untuk memberikan nilai pada parameter $panjang, dan 9 digunakan untuk memberikan nilai pada parameter $lebar

karena itu hasilnya akan menuliskan hasil “Hasil Perhitungan Persegi Panjang, Panjang = 7 & Lebar = 9 = 63“, angka 7 adalah argumen pertama, angka 9 adalah argumen kedua saat function luas_persegi_panjang dipanggil di Line 9, dan angka 63 adalah hasil perkalian dari 7 * 9

 

Contoh 2 – Function menghitung Luas Segitiga

Contoh berikutnya kita akan membuat fungsi untuk menghitung luas segitiga, perhatikan skrip dibawah ini :

Jika dijalankan maka hasilnya adalah sebagai berikut :

Keterangan : 

Perhatikan pada Line 2 kita menuliskan perintah function luas_segitiga($alas,$tinggi), yang artinya kita membuat function dengan nama luas_segitiga dengan 2 parameter yaitu $alas, $tinggi

setelah membuat function kita bisa menuliskan statement yang dijalankan saat function di panggil, statement dituliskan diantara karakter { (Line 3)  dan } (Line 6)

statement yang ditulis disini di Line 4 adalah menghitung luas segitiga dengan parameter $alas dan $tinggi, dan hasilnya akan disimpan di variabel $luas.

perhatikan pada Line 5 kita menuliskan perintah return $luas, yang artinya akan mengembalikan nilai dari variabel $luas, ketika function selesai melakukan proses didalamnya.

Perhatikan pada line 7 kita memanggil fungsi luas_segitiga() dengan nilai parameter alas = 6, dan parameter tinggi = 15, maka perintah ini akan mengembalikan nilai hasil perhitungan luas segitiga dengan angka 45

Perhatikan pada line 8 kita memanggil fungsi luas_segitiga() dengan nilai parameter alas = 4, dan parameter tinggi = 8, maka perintah ini akan mengembalikan nilai hasil perhitungan luas segitiga dengan angka 16

 

 

Mengenal Argumen dan Parameter

Setelah anda melihat beberapa contoh pembuatan fungsi, berikutnya kita akan membahas mengenai perbedaan istilah dari argumen dan parameter pada saat pembuatan fungsi di php.

Parameter adalah pendefinisian inputan pada saat fungsi dibuat, semisal pada contoh diatas untuk fungsi luas_segitiga($alas,$tinggi), variabel $alas dan $tinggi adalah contoh parameter, parameter ini adalah variabel perantara yang nantinya akan digunakan untuk menyimpan inputan yang diperlukan untuk pemrosesan dari fungsi yang anda buat.

Argumen adalah inputan fungsi yang ditulis ketika fungsi tersebut dipanggil, semisal kita memanggil fungsi fungsi luas_segitiga(8,4), angka 8 dan 4 disebut sebagai argumen.

perhatikan skrip dibawah ini :

Keterangan :

  • perhatikan pada line 2, untuk variabel $alas, dan $tinggi adalah parameter
  • perhatikan pada line 7 kita menuliskan luas_segitiga(6,15); angka 6 dan 15 ini adalah argumen
  • perhatikan pada line 8 kita menuliskan luas_segitiga(4,8); angka 4 dan 8 ini juga argumen

 

 

Pengecekan Tipe Data Argumen untuk Fungsi PHP

Setelah dalam tutorial sebelumnya kita telah belajar bagaimana sih membuat function di php, serta mengenal istilah parameter, dan argumen, berikutnya kita akan membahas mengenai bagaimana caranya melakukan pengecekan terhadap tipe data argumen yang dikirim saat memanggil fungsi di PHP.

Hal ini penting agar fungsi yang anda buat mendapatkan argumen dengan tipe data yang tepat sehingga function bisa berjalan dengan baik.

Sebagai contoh anda buat function luas_persegi($panjang,$lebar) dengan 2 parameter $panjang dan $lebar, karena ini persegi panjang pastinya untuk argumen yang dituliskan harus berupa angka, lalu bagimana kalau argumen memiliki tipe data string ?

karena hal tersebut kita butuh pengecekan tipe data argumen saat memanggil fungsi di PHP.

disini untuk proses pengecekan tipe data dapat anda lakukan dengan 2 cara yaitu :

  • Dengan cara menuliskan tipe data pada bagian parameter
  • Dengan membuat pengecekan manual di bagian function

 

Menuliskan tipe data pada bagian parameter

pada cara pertama anda bisa menuliskan jenis tipe data parameter pada saat membuat fungsi, perhatikan skrip dibawah ini :

Keterangan : 

  • perhatikan pada line 2 pada saat penulisan parameter kita menuliskan int $alas, dan int $tinggi, artinya untuk 2 parameter ini menggunakan tipe data int, berarti argumen yang dituliskan hanya boleh berupa angka saja.

lalu kita akan merubah skripnya menjadi seperti berikut ini :

Keterangan :

  • perhatikan pada line 7 kita menuliskan ‘alas’ pada argumen pertama, berarti kan kita menuliskan argumen dengan tipe data string, maka hasilnya ketika diakses di browser adalah sebagai berikut

Keterangan : 

  • Terlihat terdapat keterangan bahwa argumen ke-1 yang dikirimkan untuk function luas_segitiga() diharuskan bertipe data integer.

jika anda ingin membuat pembatasan terhadap tipe data lain, semisal tipe datanya harus string dll, anda tinggal menuliskan jenis tipe data saat parameter ditulis, untuk tipe data lain silahkan buka tutorial kita yang membahas mengenal tipe data di php

 

Membuat pengecekan manual pada bagian function

Setelah dibagian sebelumnya kita sudah belajar membuat pembatasan tipe data untuk argumen dengan menuliskan tipe data di bagian parameter, berikutnya kita akan belajar untuk membatasi tipe data didalam function dengan menggunakan fungsi bawaan php.

Sebagai contoh kita ingin membatasi argumen harus bertipe data integer, perhatikan skrip dibawah ini :

Jika dijalankan maka hasilnya adalah sebagai berikut :

Keterangan : 

  • Perhatikan pada line 4 kita melakukan pengecekan dengan menggunakan fungsi is_int() karena kita ingin mengecek apakah tipe data yang argumen gunakan adalah integer, jika pengecekan pada line 4 bernilai true, akan menjalankan fungsinya di line 6 -7, tetapi jika bernilai false akan menjalankan perintah di line 11
  • karena pada line 14 kita menuliskan argumen ‘alas’ yang menggunakan tipe data string, maka hasil returnya adalah keterangan (Tipe data argumen bukan integer), sesuai perintah yang kita tuliskan di line 11.

untuk fungsi yang digunakan untuk melakukan pengecekan tipe data yang lainnya adalah sebagai berikut :

  • is_​array(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah array
  • is_​string(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah string
  • is_​bool(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah boolean
  • is_​double(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah double
  • is_​float(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah float
  • is_​int(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah integer
  • is_​integer(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah integer
  • is_​null(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah null
  • is_​numeric(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah angka (integer atau float)
  • is_​object(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah object
  • is_​real(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah float
  • is_​resource(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah resource, contoh resource itu seperti variabel yang digunakan untuk menampung koneksi ke database
  • is_​scalar(variabel) = fungsi mengecek apakah tipe data yang digunakan adalah (scalar adalah penyebutan untuk tipe data dasar, seperti integer, float, string atau boolean. Array, object dan resource bukan scalar)

untuk lebih lengkapnya bisa mengakses dokumentasi resmi php : http://php.net/manual/en/function.gettype.php

 

Lalu timbul pertanyaan bagaimana kalau kita tidak melakukan pembatasan pada tipe data argumen saat fungsi dipanggil, dan kita menuliskan tipe data yang tidak sesuai di bagian argumen, perhatikan contoh skrip dibawah ini :

Ketika diakses dibrowser maka hasilnya adalah sebagai berikut :

Keterangan :

karena tipe datanya tidak sesuai dengan yang diproses di function, maka terdapat warning bahwa argumen bukan numeric, selain itu hasil return dari function adalah 0, karena argumen tidak dapat diproses.

 

 

 

Memberikan Nilai Default pada parameter

Pada bagian ini kita akan belajar untuk memberikan nilai default pada parameter yang dibuat dibagian function, jadi default value parameter ini akan digunakan ketika pada pemanggilan fungsi kita tidak menyertakan argumen sesuai dengan parameter yang ada.

Untuk lebih memahami perhatikan contoh dibawah ini :

Semisal kita buka di browser maka hasilnya adalah sebagai berikut :

Keterangan : 

  • perhatikan pada line 2 kita menuliskan fungsi luas_segitiga($alas,$tinggi=10), perhatikan pada parameter kedua kita menuliskan $tinggi=10, artinya adalah jika saat pemanggilan fungsi di argumen kedua tidak diisi, maka tinggi akan diberikan value default 10
  • perhatikan pada line 9, kita menuliskan luas_segitiga(4), artinya parameter $alas akan diisi oleh 4, lalu karena kita tidak menuliskan argumen kedua untuk parameter $tinggi, sehingga parameter $tinggi akan diberikan nilai default 10, sehingga hasil return dari fungsi luas_segitiga adalah 20

jadi default value dari parameter ini cukup membantu untuk membuat fungsi yang fleksibel, karena saat fungsi dipanggil anda tidak harus menuliskan argumen untuk seluruh parameter, anda bisa menset parameter mana saja yang perlu diberikan nilai, dan menggunakan default value untuk parameter yang tidak perlu diisikan nilainya.

 

 

 

Mengenal Variabel Parameter

Variabel Parameter merupakan fitur dalam PHP, dimana anda bisa membuat fungsi dengan jumlah parameter yang bisa berubah – ubah (Flexible), jika dalam contoh sebelumnya kita perlu mendefinisikan berapa jumlah parameter yang kita butuhkan pada bagian fungsi, dengan variabel parameter ini anda tidak perlu mendefinisikan berapa jumlah parameter saat fungsi dibuat.

Kapan fungsi ini digunakan ?

Fungsi ini digunakan ketika anda memerlukan pembuatan fungsi dengan jumlah parameter yang berubah – ubah, semisal fungsi untuk melakukan penjumlahan, pengurangan dll, dengan fungsi ini anda bisa membuat parameter tanpa dibatasi jumlahnya, jumlah parameter bisa dari mulai 0,1,2,3,4 hingga berapapun jumlah parameternya dalam 1 nama fungsi.

Untuk menggunakan Variabel parameter ini, php menyediakan 3 fungsi yang bisa anda gunakan untuk mengakses argumen yang diinput saat fungsi dipanggil, 3 fungsi tersebut antara lain :

  1. func_get_args() : fungsi ini digunakan untuk mengembalikan seluruh nilai argumen, agar dapat diproses oleh fungsi, Hasil pengembalian nilai akan berbentuk array.
  2. func_num_args() : fungsi ini digunakan untuk mengembalikan jumlah banyaknya argumen yang ditulis saat fungsi dipanggil, apakah 1 argumen, 2 argumen, 3 argumen dan seterusnya.
  3. func_get_arg(no_urut_argumen) : fungsi ini akan mengembalikan nilai argumen sesuai nomor urut yang berikan ke argumen tersebut, karena nantinya seluruh argumen akan dikembalikan menjadi data berbentuk array.

Untuk contoh penggunaannya adalah sebagai berikut :

Jika kita buka diakses file php ini hasilnya adalah sebagai berikut :

Keterangan :

Pada Line 2 kita membuat fungsi dengan nama penjumlahan, pada pembuatan fungsi ini kita tidak menuliskan variabel sama sekali.

berikutnya pada line 4 kita buat variabel dengan nama $data_argumen yang digunakan untuk menyimpan nilai argumen yang ditulis ketika fungsi dipanggil, nantinya datanya akan berbentuk array, kita gunakan fungsi func_get_args()

berikutnya pada line 5 kita buat variabel dengan $jumlah_argumen yang digunakan untuk menyimpan jumlah argumen yang ditulis saat fungsi dipanggil, kita gunakan fungsi func_num_args()

berikutnya pada line 6 kita buat variabel dengan nama $nilai_argumen_ke_3 digunakan untuk menyimpan nilai dari argumen dengan index ke 3, kita gunakan perintah func_get_arg(2), kita menggunakan angka 2 karena index array dimulai dari index ke – 0

berikutnya di line 8 hingga 14 kita kita menampilkan isi dari variabel yang telah kita buat dengan perintah echo, untuk beberapa variabel yang kita buat seperti $jumlah_argumen, $nilai_argumen_ke_3, dan $data_argumen, untuk $data_argumen kita gunakan fungsi  var_dump, karena kita ingin menampilkan isi dari array $data_argumen

berikutnya di line 20 kita panggil fungsi penjumlahan(1,2,3,4); dimana kita menyertakan 4 argumen, maka akan menampilkan output sesuai perintah yang ditulis di line 8 – 14

berikutnya di line 23 kita panggil fungsi penjumlahan(5,6,7,8,9,10); dimana kita menyertakan 6 argumen, maka akan menampilkan output sesuai perintah yang ditulis di line 8 – 14.

 

nah bagaimana paham kan, berikutnya bagaimana cara penggunaan dari variabel parameter ini, kita akan coba gunakan perintah looping untuk melakukan penjumlahan sesuai argumen yang dikirim saat fungsi penjumlahan() dipanggil.

Perhatikan skrip dibawah ini :

Hasilnya jika diakses dibrowser adalah sebagai berikut :

Keterangan :

Perhatikan ketika kita memanggil fungsi penjumlahan dengan jumlah argumen berapapun, fungsi penjumlahan()  tersebut akan memprosesnya dengan menggunakan perintah for untuk melakukan penjumlahan dari setiap argumen yang kita tulis saat fungsi penjumlahan() dipanggil

kita disini tidak menjelaskan secara rinci bagaimana proses perulangan dengan menggunakan for, jika anda ingin belajar mengenai perulangan dengan menggunakan for silahkan baca tutorial kita yang membahas mengenai perulangan for di php

 

Jadi kurang lebih seperti itu teman – teman pembahasan mengenai pembuatan fungsi di PHP, secara sederhana fungsi di php ini digunakan untuk menuliskan kode yang sering digunakan, sehingga akan mempermudah anda sebagai programmer dan efisiensi penulisan kode, jadi ketika anda ingin memanggil kode yang telah dibuat fungsinya anda tidak perlu menulis ulang, cukup memanggil fungsi tersebut, baik sekian dulu jika ada yang ingin didiskusikan silahkan di kolom komentar, sampai jumpa di seri tutorial php part selanjutnya.

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *