Penggunaan fungsi SCALAR pada PHP

Definisi dan Penggunaan

Fungsi is_scalar() digunakan untuk dapat memeriksa apakah suatu variabel adalah scalar atau tidak.

Fungsi ini mengembalikan nilai true (1) jika variabel adalah scalar, jika tidak maka mengembalikan false / tidak ada.

Integer, float, string, atau boolean bisa menjadi variabel scalar. Array, objek, dan resource tidak.

Syntax

is_scalar(variable);

Nilai Parameter

ParameterDeskripsi
variable Required. Menentukan variabel untuk diperiksa

Detail Teknis

Return Value:TRUE jika variabel adalah scalar, FALSE sebaliknya
Return Type:Boolean
PHP Version:4.0.5+

Contoh
Periksa apakah suatu variabel adalah scalar atau bukan:

<?php
$a = "Hello";
echo "a adalah " . is_scalar($a) . "<br>";

$b = 0;
echo "b adalah " . is_scalar($b) . "<br>";

$c = 52;
echo "c adalah " . is_scalar($c) . "<br>";

$d = NULL;
echo "d adalah " . is_scalar($d) . "<br>";

$e = array("merah", "hijau", "biru");
echo "e adalah " . is_scalar($e) . "<br>";
?>
  /* Output : 
a adalah 1
b adalah 1
c adalah 1
d adalah
e adalah

Fungsi variabel handling di PHP adalah bagian dari inti PHP. Jadi, tidak diperlukan instalasi untuk menggunakan fungsi-fungsi ini.

FungsiDeskripsi
boolval() Mengembalikan nilai boolean dari sebuah variabel
debug_zval_dump() Membuang representasi string dari nilai zend internal ke keluaran
doubleval() Alias dari floatval ()
empty() Memeriksa apakah suatu variabel kosong
floatval() Mengembalikan nilai float dari sebuah variabel
get_defined_vars() Mengembalikan semua variabel yang ditentukan, sebagai array
get_resource_type() Mengembalikan jenis resource
gettype() Mengembalikan tipe variabel
intval() Mengembalikan nilai integer variabel
is_array() Memeriksa apakah suatu variabel adalah array
is_bool() Memeriksa apakah suatu variabel adalah boolean
is_callable() Memeriksa apakah konten variabel dapat disebut sebagai fungsi
is_countable() Memeriksa apakah konten variabel adalah nilai yang dapat dihitung
is_double() Alias dari is_float ()
is_float() Memeriksa apakah suatu variabel berjenis float
is_int() Memeriksa apakah suatu variabel berjenis integer
is_integer() Alias dari is_int ()
is_iterable() Memeriksa apakah konten variabel adalah nilai yang dapat diulang
is_long() Alias dari is_int ()
is_null() Memeriksa apakah suatu variabel adalah NULL
is_numeric() Memeriksa apakah variabel adalah angka atau string numerik
is_object() Memeriksa apakah variabel adalah objek
is_real() Alias dari is_float ()
is_resource() Memeriksa apakah variabel adalah resource
is_scalar() Memeriksa apakah suatu variabel adalah scalar
is_string() Memeriksa apakah suatu variabel berjenis string
isset() Memeriksa apakah variabel disetel (dideklarasikan dan bukan NULL)
print_r() Mencetak informasi tentang variabel dengan cara yang dapat dibaca manusia
serialize() Mengonversi representasi nilai yang dapat disimpan
settype() Mengonversi variabel ke tipe tertentu
strval() Mengembalikan nilai string variabel
unserialize() Mengubah data serial kembali menjadi data aktual
unset() Unsets variabel
var_dump() Membuang informasi tentang satu atau lebih variabel
var_export() Mengembalikan informasi terstruktur (kode PHP yang valid) tentang variabel

Tutorial Belajar PHP Part 42: Cara Pengecekan Tipe Data Argumen untuk Fungsi PHP

06 Apr 14 | | Tutorial PHP | |

Penggunaan fungsi SCALAR pada 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 sebagai argumen. 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 argumen merupakan 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 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 />";
?>

Penggunaan fungsi SCALAR pada PHP
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.


Dalam tutorial belajar PHP selanjutnya, kita akan membahas tentang Cara Pembuatan Default Parameter pada Fungsi PHP.