Cara Pengecekan Tipe Data Argumen untuk Fungsi PHP

Dalam pembuatan fungsi PHP, kita dapat memanfaatkan argumen atau parameter sebagai inputan kedalam fungsi yang dirancang. Dalam tutorial belajar PHP kali ini kita akan membahas tentang Cara Pengecekan Tipe Data Argumen untuk Fungsi PHP.

Pentingnya Pengecekan Tipe Data Argumen

Dalam pembuatan fungsi PHP, selain merancang cara kerja fungsi, kita juga harus memperkirakan berapa banyak parameter yang dibutuhkan untuk fungsi tersebut. Sebuah fungsi bisa memiliki 1, 2 atau 5 parameter, namun bisa juga tanpa parameter sama sekali.
Tergantung tujuannya, sebuah fungsi umumnya hanya memperbolehkan tipe data tertentu sebagaiargumen. Misalnya, untuk fungsi yang berhubungan dengan matematika, biasanya hanya membutuhkan argumen dengan tipe data angka (integer atau float), dan fungsi penghitung kata, hanya membutuhkan tipe data string sebagai argumen.
Jika anda adalah satu-satunya pengguna fungsi yang anda rancang sendiri, maka dapat dipastikan bahwa tidak akan ada inputan argumen yang salah tipe data. Namun jika terdapat kemungkinan fungsi yang dirancang akan digunakan oleh pihak lain, pengecekan tipe data argumen perlu dirancang agar fungsi berjalan sebagaimana mestinya.
Jika tipe data parameter tidak sesuai, maka fungsi tidak akan berjalan sebagaimana mestinya, dan biasanya PHP akan mengeluarkan pesan error. Cara elegan untuk mengatasi permasalahan ini adalah membuat kode program untuk memeriksa tipe data parameter ini sebelum masuk kepada pemrosesan di dalam fungsi.
Pengecekan tipe data dilakukan pada awal pemrosesan fungsi, dan jika tipe data tidak sesuai, kita bisa membuat pesan bahwa fungsi tidak dapat diproses. Pengecekan apakah suatu argumenmerupakan bagian dari tipe data tertentu, dilakukan dengan fungsi khusus yang telah disediakan PHP.
Berikut adalah list fungsi pengecekan tipe data dalam PHP:
  • is_array($var):  fungsi pengecekan apakah tipe data adalah array
  • is_bool($var):  fungsi pengecekan apakah tipe data adalah boolean
  • is_double($var):  fungsi pengecekan apakah tipe data adalah float
  • is_float($var):  fungsi pengecekan apakah tipe data adalah float
  • is_int($var):  fungsi pengecekan apakah tipe data adalah integer
  • is_integer($var):  fungsi pengecekan apakah tipe data adalah integer
  • is_long($var):  fungsi pengecekan apakah tipe data adalah integer
  • is_null($var):  fungsi pengecekan apakah tipe data adalah null
  • is_numeric($var):  fungsi pengecekan apakah tipe data adalah angka (integer dan float)
  • is_object($var):  fungsi pengecekan apakah tipe data adalah objek
  • is_real($var):  fungsi pengecekan apakah tipe data adalah float
  • is_resource($var):  fungsi pengecekan apakah tipe data adalah resource (seperti variabel yang menampung koneksi ke database)
  • is_scalar($var):  fungsi pengecekan apakah tipe data adalah scalar (scalar adalah penyebutan untuk tipe data dasar, seperti integer, float, string atau boolean. Array, object dan resource bukan scalar)
  • is_string($var):  fungsi pengecekan apakah tipe data adalah string

Cara Pengecekan Tipe Data Argumen Fungsi

Fungsi-fungsi diatas dapat dimanfaatkan untuk pengecekan tipe data suatu variabel, dan tentu saja juga argumen fungsi. Agar lebih mudah dipahami, saya telah merancang fungsi pangkat() yang berfungsi untuk melakukan pemangkatan bilangan.
Fungsi pangkat() saya rancang dengan 2 buah inputan atau parameterParameter pertama adalah angka yang akan dihitung, dan parameter kedua adalah nilai pangkatnya. pangkat(2,3)berarti 2 pangkat 3. pangkat(2,8) berarti 2 pangkat 8. Kedua parameter ini harus berupa angka, dan khusus untuk nilai pangkat, harus berupa angka bulat (integer).
Berikut adalah kode program fungsi pangkat():
<?php
function pangkat($nilai, $pangkat)
{
   if (is_numeric($nilai) AND is_int($pangkat)) //pengecekan tipe data argumen
   {
      //Jika argumen sesuai, maka jalankan proses fungsi
       $hasil=1;
       for ($i=1;$i<=$pangkat;$i++)
       {
         $hasil=$hasil*$nilai;
        }
       return $hasil;
    }
    else
    {             
       //Bagian ini akan dijalankan jika tipe data argumen bukan angka
       return "Tipe data argumen harus berupa angka";
    }
}
 
//Test beberapa kasus inputan untuk fungsi pangkat()
echo pangkat(5,2);
echo "<br />";
echo pangkat(5.6,2);
echo "<br />";
echo pangkat(2,8);
echo "<br />";
echo pangkat(5,2.9);
echo "<br />";
echo pangkat("lima",2);
echo "<br />";

?>

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAiE_cT1HWZstfS6q-aZbok58fslZaNX6Z5rcY15tZvpXMySQXd46zo6Iy-eFsYSDUrQV_cndLv0aGUZ_WNv78CcmW__b4E7sPR55P4Gj0x2knqfgAsTzdvH32nMB08uLPodSHkfmbbB-U/s320/Contoh-Cara-Pengecekan-Tipe-Data-Argumen-untuk-Fungsi-PHP.png

Fungsi pangkat() diatas terasa sedikit panjang, namun jika anda telah mengikuti seluruh tutorial PHP di duniailkom, maka fungsi tersebut tidak akan terlalu sulit untuk dipahami.
Fungsi pangkat() saya rancang untuk menghitung pangkat dari sebuah angka. Variabel $nilai dan$pangkat adalah parameter yang akan menjadi variabel perantara.
Pada baris ke-4 saya membuat pengecekan masing-masing parameter di dalam logika IF. Fungsiis_numeric() dan is_int() akan menghasilkan nilai TRUE jika keduanya benar, sehingga saya menggabungkan keduanya kedalam logika AND. Seandainya logika AND ini salah, maka kondisi IF akan bernilai FALSE, dan bagian ELSE akan dijalankan (baris ke-13), dimana saya membuat kalimat “Tipe data argumen harus berupa angka” untuk memberitahu pengguna fungsi bahwa tipe argumennya harus berupa angka.
Jika kedua kondisi is_numeric() dan is_int() benar, maka saya membuat proses perulangan foruntuk mencari hasil pemangkatan. Setelah hasilnya ditemukan, perintah return akan mengembalikan nilai tersebut (baris ke-11).
Dari hasil pemanggilan fungsi, kita dapat melihat bahwa logika alur program sudah berjalan benar, dan jika saya memberikan nilai argumen yang salah, hasil yang ditampilkan bukan kode error PHP, melainkan pesan kesalahan yang lebih informatif.
Dengan menggunakan fungsi seperti is_numeric() dan is_int() kita dapat melakukan pengecekan tipe data terlebih dahulu sebelum melakukan proses fungsi. Hal ini akan menghindari error program PHP, dan memberikan fleksibilitas untuk melakukan tindakan pencegahan jika tipe data yang diinput bukan yang seharusnya.