Anda di halaman 1dari 8

Tipe Data

PHP memiliki 8 tipe data dasar yaitu boolean , integer , float (floating-point) , string , array , object , resource dan NULL . Biasanya tipe variable pada php tidak ditentukan oleh programmer , namun ditentukan berdasarkan untuk apa variable itu digunakan saat program dijalankan. PHP memiliki kemampuan yang baik dalam mengoperasikan variable. Jika kita mengoperasikan variable tipe data yang berbeda , php dapat melakukan operasi tersebut tanpa ada kesalahan pengeksekusian. Tentunya ada aturan-aturan yang harus kita mengerti tentang bagaimana php memperlakukan suatu variable yang dikenai suatu operasi dengan variable yang berbeda tipe. Hal ini akan kita lihat pada bagian berikutnya.

Tipe Data Boolean


Sintak : bool atau boolean Tipe ini baru dikenalkan pada php versi 4. Tipe ini memiliki dua nilai yaitu TRUE or FALSE. Kedua nilai ini dapat ditulis tanpa memperhatikan huruf besar ataupun kecil. Tipe ini biasanya digunakan untuk menguji suatu ekspresi bersyarat. Adapun nilai TRUE atau FALSE dapat dinyatakan dengan suatu nilai pada tipe data lainnya. Untuk mengkonversi suatu nilai dari suatu variable ke tipe boolean dapat digunakan aturan berikut. Nilai FALSE memiliki kesamaan dengan integer 0, float 0.0 , string kosong , string "0" , array dan object dengan 0 elemen kemudian NULL. Sedangkan nilai TRUE merupakan nilai selain nilai FALSE atau 0 (bisa positif atau negatif). Contoh : <?php $ada = true; if($ada == TRUE){ echo "NIM ada terdaftar dalam database kami"; } else { echo "Maaf NIM anda tidak terdaftar"; } ?> Penjelasan Potongan program akan melakukan pengujian terhadap nilai dari variable $ada. Pertama-tama $ada diberi nilai true. Kemudian dilakukan pengecekan nilai variable $ada. Jika $ada = true maka ditampilkan "NIM anda terdaftar dalam database kami" selain itu ($ada tidak sama dengan true , berarti false) maka ditampilkan "Maaf NIM anda tidak terdaftar".

Tipe Data Integer


Sintak : int atau integer Tipe ini merupakan tipe bilangan bulat. Contoh bilangan bulat : 1 , 0 , -1 , 2 , 100 . Untuk menyatakan suatu nilai bilangan bulat kita bisa menggunakan format desimal , octal maupun hexadesimal . Contoh penulisan nilai integer pada berbagai

format

$a = 1234; # desimal $a = -123; # negatif desimal $a = 0123; # octal (sama dengan 83 dalam desimal) $a = 0x1A; # hexadecimal (sama dengan 26 dalam desimal) Ukuran dari jangkuan integer sangat tergantung pada platform yang digunakan. Biasanya integer memiliki ukuran 32 bits atau bisa menampung nilai dengan jangkauan 2 milyar(giga) . Yang perlu diketahui bahwa php tidak menyediakan tipe unsigned integer ( bilangan integer tak bertanda ). Jika seandainya kita memberikan suatu nilai di luar jangkauan integer ke suatu variable, maka variabel tersebut akan dikonversi ke tipe float. Selain itu tidak ada pembagian integer karena pembagian integer atau tipe numeric lainnya akan menghasilkan nilai float.

Tipe Data Float


Sintak : float Tipe ini merupakan tipe bilangan real. Pada bahasa pemrograman seperti C/C++, tipe float terdiri dari single, double. Pada php jangkauan float juga tergantung pada platform yang digunakan, dimana maksimum bisa mencapai 1.8e308 dengan presisi 14 digit (64 bits). Contoh penulisan nilai float : $a = 1.234; $a = 1.2e3; $a = 7E-10; Catatan Biasanya pembagian dalam bilangan float tidak memberikan nilai pembulatan yang benar karena adanya kehilangan presisi ataupun adanya bilangan float yang berulang. Jadi jangan membandingkan nilai float untuk perbandingan kesamaan.

Tipe Data String


String merupakan kumpulan karakter. Pada php karakter sama dengan tipe bilangan byte yang mana memiliki 256 karakter berbeda. Panjang dari string yang dapat dibuat dibatasi oleh ukuran memori komputer kita. Jadi panjang string tak terbatas sepanjang memori kita mencukupi. Penulisan string pada php dapat diapit dengan tanda petik tunggal (') atau petik ganda (") . Contoh penulisan string : $untai = 'Ini merupakan untaian karakter'; $rantai = "ini juga berupa string"; Selain itu di dalam string juga bisa terdapat karakter escape. Apa itu karakter escape ? karakter escape merupakan karakter yang diawali oleh tanda '\' . Kegunaan dari karakter ini adalah menyatakan suatu karakter khusus. Contoh cara mencetak string "hanya sebuah test" (tanda kutip termasuk dicetak) : echo " \"hanya sebuah test\"";

Daftar katakter escape lainnya Karakter escape \n \r \t \\ \$ \" \[0-7]{1,3} Keterangan Linefeed / baris baru Cariagge return / enter (13) Tab Horizontal Backslash Tanda dollar Petik ganda Urutan karakter yang sesuai dengan ekspresi reguler adalah karakter yang berada dalam notasi octal Urutan karakter yang sesuai dengan ekspresi reguler adalah karakter yang berada dalam notasi heksa

\x[0-9A-Fa-f]{1,2}

Sedangkan jika kita menggunakan backslash untuk karakter selain tersebut dalam table di atas, maka backslash juga akan tercetak diikuti karakter didepannya. Catatan Perbedaan antara tanda petik ganda dan petik tunggal untuk menuliskan string adalah jika petik ganda maka jika didalam string terdapat suatu variable maka nilai dari variable yang akan diexpand Sedangkan petik tunggal maka semua huruf yang ada di dalam tanda petik tunggal akan dicetak apa adanya. Contoh : $a = 10; echo "nilai a = $a" ; // tercetak "nilai a = 10" echo 'nilai a = $a' ; // tercetak "nilai a = $a" Untuk membaca sebuah karakter pada string dapat digunakan cara berikut : $kalimat = "Test saja"; $first = $kalimat{0}; // mendapatkan huruf pertama kalimat konversi string ke tipe numeric menggunakan aturan berikut jika sebuah string terdapat karakter '.', 'e' , atau 'E' maka string tersebut dikonversi ke tipe float. Kalau tidak maka akan dikonversi ke integer. Kemudian jika string diawali dengan huruf maka nilai numeriknya = 0.

Contoh $foo = $foo = $foo = $foo = $foo = $foo = $foo = $foo =

: 1 + "10.5"; // $foo = 11.5 bertipe float 1 + "-1.3e3"; // $foo = -1.299 bertipe float 1 + "bob-1.3e3"; // $foo = 1 bertipe integer 1 + "bob3"; // $foo = 1 bertipe integer 1 + "10 Small Pigs"; // $foo = 11 bertipe integer 1 + "10 Little Piggies"; // $foo = 11 bertipe integer "10.0 pigs " + 1; // $foo = 11 bertipe integer "10.0 pigs " + 1.0; // $foo = 11 bertipe float

Tipe Data Array


Array adalah sebuah data yang mengandung satu atau lebih data, dan dapat diindek berdasarkan numerik maupun string. Pada php tipe masing-masing data variable array tidak harus sama dan variable array juga bisa menyimpan suatu variable array didalamnya. Array dapat dibuat dengan menggunakan fungsi array() atau list(). Sintak dari fungsi array() : array( [key =>] value , ... ) // key is either string or nonnegative integer // value can be anything Contoh : $a = array( 1 => 'one', 2 => 'two', 3 => 'three' ); Jika key tidak dinyatakan atau nilai data langsung ditulis maka setiap data akan diberi index berupa angka yang berurutan sesuai dengan urutan penulisannya. Dan perlu diingat index array dimulai dari 0. Contoh : $a = array('one','two','three'); Cara lain untuk mendeklarasikan array adalah dengan menggunakan kurung siku ([ ]) di depan nama variable array. Sintak : $nama_var_array[key]; Contoh : $list[10] = "22992000"; // data index 10 akan bernilai "22992307" Yang perlu diingat besar dari array dapat berubah saat run time. Contoh penggunaannya : $list[10] = "22992200"; // nilai data berindex 10 = "22992200" $list[] = "22992307"; // nilai data berindex 11 = "22992307" Array multidimensi : $matrik[3][3] = 12; // elemen baris 3 kolom 3 = 12 $matrik[3][4] = 11; // elemen baris 3 kolom 4 = 11 untuk membaca isi suatu array secara iterative dapat digunakan fungsi foreach(); Sintak : foreach(array_expression as $value) statement foreach(array_expression as $key => $value) statement Contoh : $warna = array('merah','hijau','kuning'); foreach ( $warna as $item ) { echo "Do you like $item?\n"; } foreach ($colors as $key => $color) { // won't work //$color = strtoupper($color) //works: $colors[$key] = strtoupper($color);

} print_r($colors); /* output: Array ( [0] => RED [1] => BLUE [2] => GREEN [3] => YELLOW ) */ fungsi print_r() digunakan untuk menampilkan isi suatu array.

Casting Tipe Data


Kadang - kadang kita perlu mengubah integer ke float atau float ke integer,atau kita juga perlu mengubah suatu obyek dari sebuah class ke class yang lain. Proses inilah yang kita sebut casting. Sintak : (tipe data tujuan) nilai yang akan dirubah. Contoh : misal variable $b berisi data float. Kemudian kita ingin menyimpan nilai ini ke dalam integer maka : $b = 2.55; $a = (int) $b; // variable $a akan bernilai 2 Nilai dari variable $b akan diubah dahulu kedalam tipe float , kemudian baru disimpan dalam variable $a. Selain teknik casting ini, kita juga dapat menggunakan fungsi settype() untuk mengubah tipe data suatu nilai. Catatan Jika kita ingin mengecek tipe dari suatu variable dapat kita gunakan fungsi gettype() atau is_type(). Selain itu jika kita ingin memaksakan suatu variable untuk dinyatakan dalam suatu tipe maka kita dapat menggunakan teknik casting.

Variabel dan Konstanta


Variabel
Variable merupakan penampung sebuah data dan memiliki sifat datanya dapat berubah-ubah. Pada PHP semua variable dituliskan dengan tanda $ di belakang nama variable. Aturan penamaan variable sama dengan aturan penulisan variable pada bahasa lainnya yaitu : Nama variable bisa terdiri dari angka,huruf dan underscore. Selain itu tidak boleh digunakan. Huruf pertama nama variable tidak boleh berupa angka. Pada PHP nama variable bersifat case-sensitive yaitu memperhatikan huruf besar dan kecil. Contoh : //penamaan berikut benar $nama = "Yusuf"; $test123 = "Test"; $_TEST = "Test"; $Test123 = "Test"; //penamaan yang salah $1Huruf = "A"; //diawali dengan angka $sw3ar-it = "Again"; //menggunakan karakter "-" $Tom&Jerry = "Kucing"; // menggunakan karakter "&" Yang perlu diingat deklarasi tipe variable biasanya tidak ditentukan oleh programmer. PHP akan secara otomatis mengubah atau memberi tipe data berdasarkan kontek penggunaannya. Contoh : $nama = "Ini tipe String" ; //deklarasi tipe string; $numeric = 123 ; //deklarasi integer $numeric = 456.123 ; //Sekarang $numeric bertipe float $bollean = true ; // deklarasi tipe Boolean Scope variable Scope suatu variable adalah di bagian mana dari program variable itu berlaku atau dinyatakan. Penting bagi kita untuk mengetahui scope dari sebuah variable. Variable yang dinyatakan di dalam fungsi memiliki scope lokal saja artinya variable itu hanya dikenali atau digunakan di dalam fungsi itu saja. Contoh : <?php $A = 123 ; // variable global function Test() { $A = "Test"; // variable local echo "Nilai A dalam fungsi = $A \n"; } Test(); echo "Nilai A luar fungsi = $A \n"; ?>

Jika dijalankan maka akan tercetak : Nilai A dalam fungsi = "Test" Nilai A luar fungsi = 123 Untuk menyatakan suatu variable global dari dalam fungsi dapat digunakan kata kunci global. Contoh : <?php $A = 123 ; // variable global function Test() { global $A ; // variable local echo "Nilai A dalam fungsi = $A \n"; } Test(); echo "Nilai A luar fungsi = $A \n"; ?> Jika dijalankan maka akan tercetak : Nilai A dalam fungsi = 123 Nilai A luar fungsi = 123 Catatan PHP memiliki variable-variable yang telah didefinisikan sebelumnya, variable ini digunakan untuk memberikan informasi tentang server , client dan lainlain. Contoh : $DOCUMENT_ROOT : berisi nama direktori root pada server. $SERVER_NAME : berisi nama dari server host di mana script dieksekusi. Nilainya bisa berupa nama virtual host. $HTTP_USER_AGENT : Berisi informasi tentang client seperti jenis browser dan Sistem Operasinya. Untuk lebih detailnya, nama-nama variable yang ada dapat anda menggunakan fungsi phpinfo(). Coba anda buat file info.php berikut : <?php phpinfo(); ?> Kemudian buka di browser. PHP akan menampilkan semua informasi tentang variable yang ada beserta nilainya. Catatan Jangan memberi akses kepada orang lain untuk menjalankan script tadi. Karena informasi yang dihasilkan dapat digunakan untuk mengetahui spesifikasi server kita. Jelas hal ini tidak aman karena ada kemungkinan user tersebut dapat masuk ke system kita berdasarkan informasi yang ia baca.

Konstanta
Konstanta mirip dengan variable. Bedanya nilai konstanta tidak pernah berubah sejak dideklarasikan. Untuk mendeklarasikan konstanta digunakan fungsi define(). Sintak : define("nama_konstanta",nilai); Contoh : <?php define("phi",3.14) ; $r = 5; $luas = phi * $r * $r ; echo "Luas = $luas" ; ?>