Cara Pengecekan Tipe Data Argumen Fungsi

Update Terakhir pada

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 parameter.
Parameter 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 />";
?>

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. Fungsi is_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 for untuk 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.