PHP Dasar
Program Reguler
©LP3T NurulFikri, 2010
DAFTAR ISI
DAFTAR ISI...i Kata Pengantar...iv Bab 1Pengenalan PHP...1 1.1 Tujuan:...1 1.2 Scripting...11.2.1 Client Side Scripts...1
1.2.2 Server site scripts...2
1.3 Apa itu PHP ?...2
1.4 Mengapa PHP ?...2
1.5 Instalasi Apache dan PHP...3
1.6 Pengecekan web server (apache) support PHP...4
Bab 2Dasar-dasar PHP...5
2.1 Tujuan:...5
2.2 Struktur Program PHP ...5
2.3 Variabel, tipe data, dan konstanta...6
2.3.1 Variabel...6 2.3.2 Tipe data ...9 2.3.3 Konstanta...9 2.4 Operator...10 2.4.1 Operator Aritmatika...10 2.4.2 Operator Assignment ...11 2.4.3 Operator Bitwise ...11 2.4.4 Operator perbandingan...11
2.4.5 Operator Error Control...12
2.4.6 Operator Eksekusi...13
2.4.7 Operator incrementing/decrementing...13
2.4.8 Operator logika...14
2.4.9 Operator String ...14
2.4.10 Operator Array...14
2.5 Bekerja dengan Form HTML...15
Bab 3Struktur Kendali...17
3.1 Tujuan:...17 3.2 Pernyataan seleksi...17 3.2.1 Pernyataan if ...17 3.2.2 Pernyataan else...18 3.2.3 Pernyataan elseif...18 3.2.4 Pernyataan switch...19 3.3 Pernyataan Perulangan...19 3.3.1 Pernyataan for ...19 3.3.2 Pernyataan while...20 3.3.3 Pernyataan do ... while...21 3.3.4 Pernyataan foreach...21 3.3.5 Pernyataan break...22 3.3.6 Pernyataan continue...22
3.4.1 require...23
3.4.2 include...24
3.5 Beberapa Jenis Error...24
3.5.1 Contoh Pesan Error...24
3.5.2 Error Level...25
Bab 4Data Lanjutan...27
4.1 Tujuan:...27
4.2 String...27
4.2.1 Single quoted ...27
4.2.2 Double quoted ...27
4.2.3 Heredoc...28
4.3 Mengakses String sebagai karakter...28
4.4 Konversi data menjadi string...29
4.5 Fungsi – fungsi string...29
4.5.1 addslashes...29 4.5.2 strlen...30 4.5.3 rtrim...30 4.5.4 ltrim...30 4.5.5 trim...30 4.5.6 explode...31 4.5.7 implode...31 4.5.8 substr...32 4.6 Type Casting...32 4.7 Array...33 4.7.1 Mambuat Array...33
4.7.2 Mengakses elemen-elemen array...35
4.7.3 Menghapus elemen array...36
4.7.4 Nested Array...36
4.7.5 Fungsi-fungsi array...36
Bab 5Fungsi...39
5.1 Tujuan:...39
5.2 Apa itu fungsi ?...39
5.3 Sintaks Fungsi ...39
5.4 Fungsi yang didefinisikan user...39
5.5 Argumen di dalam fungsi...40
5.6 Nilai balik fungsi (Returning Values)...41
5.7 Variable Scope...42
5.8 Memanggil Fungsi dari File lain...43
Bab 6Session...44
6.1 Tujuan:...44
6.2 Apa itu session ?...44
6.3 Variabel-variabel session...44
6.4 Fungsi-fungsi session ...45
6.5 Contoh penggunaan session...46
Bab 7Pengenalan OOP dengan PHP5...47
7.1 Tujuan :...47
7.2 Apa itu OOP ?...47
7.3.2 Mendefinisikan Object...48
7.4 Member Class...48
7.4.1 Variabel...49
7.4.2 Konstruktor...49
7.4.3 Fungsi ...50
7.5 Akses Member Class...50
7.5.1 Kata Kunci $this...50
7.5.2 Akses Static Member Class...51
7.5.3 Akses variabel konstan...51
Bab 8Fungsi-fungsi PHP - MySQL...53
8.1 Tujuan :...53
8.2 Memanggil Fungsi...53
8.3 Tersambung ke MySQL dengan PHP...53
8.4 Memilih Database...54
8.5 Mengirim Query...55
8.6 Menambah data ke basis data...56
8.7 Mengambil hasil query dengan select...57
8.8 Fungsi-fungsi MySQL lainnya...58
Bab 9Pustaka Database PDO...60
9.1 Tujuan:...60
9.2 Lapisan Abstraksi Database...60
9.3 PDO : Portable Data Objects...61
9.4 Koneksi ke database ...61
9.4.1 Koneksi ke database MySQL...61
9.4.2 Koneksi ke database PostgreSQL...62
9.4.3 Koneksi melalui ODBC...62
9.4.4 Menangkap eksepsi kesalahan ...62
9.5 Fungsi-Fungsi pada PDO...63
9.5.1 Fungsi exec( ) ...63 9.5.2 Fungsi query() ...64 9.5.3 Fungsi execute() ...64 9.5.4 Fungsi fectch() ...65 9.5.5 Fungsi fectchAll() ...65 9.5.6 Fungsi rowCount()...66
9.5.7 Tips Error Buffered Query...66
Kata Pengantar
Assalamualaikum Wr.Wb
Alhamdulillah, puji syukur kami haturkan kehadirat Allah SWT semata. Atas berkat rahmat dan hidayahnya Modul atau Buku PHP & MySQL telah ada di tangan anda ini, Modul ini digunakan sebagai panduan belajar bahasa pemrograman PHP 5.
Modul PHP dan MySQL ini dirancang untuk paket kursus selama 24 Jam, diharapkan dengan mengikuti paket kursus PHP & MySQL ini peserta dapat mengenal dan memahami bahasa pemrograman PHP untuk dapat diimplementasikan pada pengembangan aplikasi berbasis web, serta dapat mengembangkan dan menggunakan PHP sebagai bahasa alternatif untuk pengembangan teknologi informasi.
Sebagaimana teknologi informasi yang terus semakin berkembang, Buku materi PHP & MySQL diharapkan akan tetap relevan dengan teknologi yang ada saat ini. Kritik dan saran dari para pembaca dan pengguna buku ini sangat kami harapkan untuk membantu dalam perbaikan buku ini.
Akhir kata, kami ucapkan banyak terima kasih kepada semua pihak yang telah membantu penulisan buku ini, Mudah-mudahan apa yang telah kita hasilkan ini menjadi amal baik dan ilmu yang ada dalam buku ini dapat bermanfaat bagi peserta dan tentu saja bagi perkembangan dunia pemrograman di Indonesia.
Wassalamualaikum Wr.Wb Jakarta, 1 Maret 2010
Bab 1 Pengenalan PHP
1.1 Tujuan:
Memahami dan mengerti perbedaan static web page dengan dynamic web page. Memahami dan mengerti apa itu web scripting atau web programming.
Memahami apa itu php dan mengapa menggunakannya.
1.2 Scripting
Jika Anda membuat halaman web mungkin anda akan bertanya pada diri sendiri , mengapa Anda memerlukan script programming atau web scripting (bahasa pemrograman web). Sebagian orang merasa static web pages dalam HTML memiliki fitur yang cukup untuk menampilkan semua informasi yang penting. Pada permulaan terciptanya komunikasi data via
world wide web , HTML adalah langkah pertama dalam mendesain dan membuat sebuah web
site (situs) . Setelah itu , banyak orang menginginkan dapat membawa dynamic content kedalam sebuah web site. Sebagai contoh : pengunjung web site Anda ingin mengirim email kepada Anda melalui halaman web site Anda. Sebagian besar web server yang berjalan di platform UNIX atau Linux, dapat menyediakan atau menggunakan perintah sendmail yang disertakan sistem tersebut secara built-in untuk mengirim email secara langsung dari web server. Untuk itulah, sebuah antarmuka (interface) dikembangkan untuk memungkinkan seorang web designer untuk memanggil external programs seperti sendmail dari halaman web. Antarmuka (interface) ini disebut dengan CGI (Common Gateway Interface). Sekarang , Sekarang setiap webmaster dapat membangun sebuah formulir contact pada halaman web nya yang akan mengirimkan semua informasi penting secara langsung dari web browser ke program email seperti sendmail.
Ada dua buah jenis web scripting di internet yaitu:
• Client site scripts (Client side language)
• Server site scripts (Server side language)
1.2.1 Client Side Scripts
Script ini dijalankan disisi client dalam hal ini disisi web browser milik user. Kode HTML yang mengandung perintah-perintah khusus seperti JavaScript akan dieksekusi oleh browser. Browser bertanggung jawab untuk mengeksekusi script tersebut. Ini juga berarti bahwa script bergantung pada performa dan kemampuan dari sisi komputer client.
Beberapa contoh client side scripts yaitu: 1. JavaScript
2. VBScript 3. Java Applets 4. Flash Movies
1.2.2 Server site scripts
Server site scripts dijalankan oleh web server. Disini client(browser) hanya menerima hasil sebagai halaman HTML yang lengkap. Browser kemudian akhirnya akan menampilkan halaman HTML bukan kode-kode script.
Beberapa contoh server side scripts yaitu:
Perl/CGI Java Servlets
Java Server Pages (JSP) Allaire Cold Fusion
Active Server Pages (ASP) PHP
1.3 Apa itu PHP ?
PHP adalah sebuah project dari Apache Software Foundation.(http://www.apache.org). PHP singkatan dari PHP:Hypertext Preprocessor, yang merupakan salah satu Server site scripts (web scripting language) yang biasa digunakan khusus untuk membuat aplikasi web atau web site. Dalam pengkodeannya PHP juga dapat ditanam dalam kode HTML.
1.4 Mengapa PHP ?
Fungsi dari PHP dan apa itu PHP telah dijelaskan pada sub bab sebelumnya, namun pertanyaan mengapa menggunakan PHP atau mengapa memilih PHP sebagai web scripting language ? Tentunya pertanyaan ini harus menjadi awal pemikiran Anda dalam menggunakan web scripting language PHP. Mungkin ada beberapa alasan atau jawaban atas pertanyaan tersebut yang relatif lebih menonjol yaitu :
1. PHP dapat digunakan dibanyak sistem operasi termasuk Linux, dan beberapa variant UNIX (meliputi HP-UX, Solaris dan OpenBSD), Microsoft Windows, Mac OS X, RISC OS, dan mungkin banyak lagi yang linnya. Sehingga dengan menggunakan PHP sebagai web scripting language maka Anda dapat dengan bebas menentukan sistem operasinya. 2. PHP juga didukung oleh sebagian besar aplikasi-aplikasi web server saat ini. Diantaranya
termasuk Apache, Microsoft Internet Information Server, Personal Web Server, Netscape dan iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd, dan banyak lagi lainnya. Disebagian besar web server menyertakan PHP sebagai module, disebagian lainnya mendukung standar CGI, dimana PHP dapat bekerja sebagai sebuah CGI processor. Sehingga dengan menggunakan PHP sebagai web scripting language maka Anda dapat dengan bebas menentukan apa aplikasi web servernya.
3. Dengan PHP Anda tidak hanya terbatas dengan output HTML. Kemampuan-kemampuan PHP meliputi outputting images, PDF files dan bahkan Flash movies (dengan menggunakan libswf dan Ming) yang bersifat generated on the fly. Anda dapat juga menghasilkan output text seperti XHTML dan banyak lagi file -file XML lain.
4. PHP mendukung banyak aplikasi database. Membuat halaman web yang menggunakan database menjadi sangat mudah dan sederhana. Berikut ini beberapa database yang saat
Adabas D Ingres Oracle (OCI7 and OCI8)
dBase InterBase Ovrimos
Empress FrontBas PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm
5. PHP juga banyak mendukung protokol-protokol untuk dapat berkomunikasi dengan service-service seperti LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (on Windows) dan banyak lagi lainnya.
6. PHP berlisensi GPL, bersifat gratis dan terbuka dalam menggunakannya.
1.5 Instalasi Apache dan PHP
Sebelum Anda melakukan instalasi PHP pastikan dahulu bahwa pada komputer Anda telah terinstal aplikasi web server (apache). Untuk mengecek apakah pada komputer Anda telah terinstal aplikasi web server(apache) lakukan perintah berikut ini:
Pada distribusi berbasis RedHat seperti : Fedora, Mandriva, Centos
# rpm -|grep httpd httpd-2.0.40-8
Pada beberapa distribusi lain keyword httpd diganti dengan keyword apache
Jika terdapat output seperti diatas (catatan: nomor versi aplikasi bisa berbeda dengan yang ada pada komputer Anda) berarti aplikasi web servernya sudah diinstal, jika belum terinstal maka instal dahulu web servernya sbb:
# rpm -ivh httpd-2.0.40-8.i386.rpm
Langkah berikutnya Anda melakukan instalasi PHP. Cek apakah pada komputer Anda sudah terinstal PHP sbb:
# rpm -|grep php php-4.2.2-8.0.5
Jika belum ter-instal lakukan instalasi sbb:
Gambar 1.1 : php info
1.6 Pengecekan web server (apache) support PHP
Aktifkan apache, lalu buatlah file info.php dan letakkan didalam direktori default document_root apache yaitu di /var/www/html, isi file info.php sbb:
1 <?php
2 phpinfo(); 3 ?>
Lalu coba cek dengan menggunakan browser dan ketikkan pada bar address
http://localhost/info.php atau http://127.0.0.1/info.php .
.
Jika tampak seperti Gambar-1 maka apache web server Anda memang sudah mendukung PHP.
Bab 2 Dasar-dasar PHP
2.1 Tujuan:
Memahami struktur penulisan program php
Memahami variabel, tipe data, konstanta, dan operator php Mampu membuat program php dan bekerja dengan form html
2.2 Struktur Program PHP
Bagaimana memulai menulis program/script php ? Untuk membuat script php terlebih dahulu Anda harus tahu dan paham struktur penulisan script php, yaitu sbb:
1. Nama file script php biasanya berekstensi “.php”. Misal : index.php, coba.php dan lain-lain
2. Script php diawali dengan tanda (tag) pembuka script php biasanya yaitu tanda “ <?php dan diakhiri dengan tanda (tag) penutup php yaitu “ ?>”. Contoh:
1 <?php
2 phpinfo(); // kode atau perintah (script) php disni 3 ?>
3. Script PHP bisa disisipkan atau ditulis bersamaan dengan text HTML. Contoh:
1 <HTML>
2 <HEAD> <TITLE> Script PHP ku </TITLE> </HEAD> 3 <BODY>
4 <H1>Welcome </H1>
5 Welcome to My First PHP Script Room<BR> 6 <?php
7 echo “<H2> This is my firest script </H2>”; 8 ?>
9 <BR>
10 <B> Thank's for visting </B> 11 </BODY>
12 </HTML>
4. Didalam sebuah file script php bisa terdapat beberapa pasangan tag pembuka dan penutup php yang didalam atau diantara tag pembuka dan penutup script php tersebut terdapat kode atau script-script php.
Contoh:
1 <HTML>
2 <HEAD> <TITLE> Script PHP ku </TITLE> </HEAD> 3 <BODY>
5 Welcome to My First PHP Script Room<BR> 6 <?php // tag pembuka pertama script php
7 echo “<H2> This is my firest script </H2>\n”; 8 ?>
9 <BR>
10 <B> Thank's for visting </B> 11 <BR>
12 You Are visitor no:
13 <?php // tag pembuka kedua script php 14 echo get_count() ;
15 ?> 16
17 </BODY> 18 </HTML>
5. Setiap script atau perintah php diakhiri dengan tanda semicolon( ; ).
6. Script atau perintah php dapat ditulis berderet memanjang dalam satu baris dengan setiap perintah diakhiri dengan tanda semicolon( ; ), tetapi lebih rapih dan tertib kalau ditulis tidak dalam stau baris yang sama.
7. Penulisan komentar atau keterangan dimungkinkan dalam script php , Contoh:
1 <?php
echo "Ini Test aja"; // Ini seperti style komentar javascript 2 /* Ini komentar multi line
3 Ini juga bagian komentar multiline diatas 4 */
5 echo "Ini Test juga";
6 echo "Ini Test terakhir"; # Ini seperti style komentar shell ?>
2.3 Variabel, tipe data, dan konstanta
2.3.1 VariabelVariabel adalah tempat atau wadah untuk menyimpan suatu nilai selama program berjalan didalam memori komputer.
Variabel dalam PHP dinyatakan dengan sebuah nama yang diawali dengan tanda dollar ($). Nama variabel bersifat case-sensitive. Nama variabel diawali dengan karakter huruf alphabet atau underscore, seterusnya diikuti oleh sejumlah huruf, angka, atau underscores.
Contoh:
1 <?php
2 $var = 'Rosalie'; 3 $Var = "Alissa";
4 echo "$var, $Var"; // outputs "Rosalie, Alissa"
5 $4site = 'hello Faiz'; // invalid; dimulai dengan nomor 6 $_4site = 'hello'; // valid; dimulai dengan underscore ?>
sebuah pernyataan (expressions) ke sebuah variabel, seluruh nilai dari pernyataan aslinya akan dikopikan kedalam variabel tujuannya. Kejadian Ini berarti, bahwa setelah memberikan nilai sebuah variabel kedalam variabel lainnya, maka perubahan terhadap nilai-nilai dalam variabel ini tidak akan mempengaruhi nilai dari variabel yang lainnya. Contoh:
1 <?php
2 $words = “Hello World”; 3 $_words = $words;
4
5 echo “Isi Variabel \$words : $words \n”;
6 echo “<br>Isi Variabel \$_words : $_words \n”; 7
8 $words = “Hello Juga”; // perubahan nilai sebuah variabel 9
10 echo “<br>Setelah merubah nilai variabel \$words” 11 echo “<br>Isi Variabel \$words : $words \n”; 12 echo “<br>Isi Variabel \$_words : $_words \n”; 13 ?>
PHP menyediakan suatu pemberian nilai sebuah variabel dengan memberikan referensi sebuah variabel. Ini berarti bahwa sebuah variabel baru secara sederhana dapat merujuk (pointer) ke variabel asalnya. Sehingga setiap perubahan nilai dari variabel asal akan mempengaruhi juga variabel baru tersebut dan sebaliknya. Contoh:
1 <?php
2 $words = “Hello World”;
3 $_words = & $words; //pemberian nilai variabel dengan referensi variabel
4
5 echo “Isi Variabel \$words : $words \n”;
6 echo “<br>Isi Variabel \$_words : $_words \n”; 7
8 $words = “Hello Juga”; //perubahan nilai sebuah variabel 9
10 echo “<br>Setelah merubah nilai variabel \$words” 11 echo “<br>Isi Variabel \$words : $words \n”; 12 echo “<br>Isi Variabel \$_words : $_words \n”; 13
14 $_words = “Hello Lagi”;
15 echo “<br>Setelah merubah nilai variabel \$words” 16 echo “<br>Isi Variabel \$words : $words \n”; 17 echo “<br>Isi Variabel \$_words : $_words \n”; 18 ?>
Selain variabel yang didefinisikan oleh user php juga menyediakan variabel-variabel yang telah didefinisikan oleh php, seperti variabel $_SERVER yang merupakan array yang berisi informasi mengenai headers,path serta lokasi script, $_ENV, $_REQUEST, $_GET, $_POST,
$_COOKIE, $_FILES , dan $_SESSION.
Jangkauan sebuah variabel adalah sesuai dengan context dimana variabel tersebut didefinisikan. Sebagian besar variabel dalam PHP merupakan single scope. Variabel single scope ini memilki jangkauan sampai dalam file-file yang disipkan. Contoh:
1 //file. tes.php 2 <?php
3 echo “Ini Variabel a: $a”; 4 ?> 5 file. coba.php 6 <?php 7 $a = 1; 8 include "tes.php"; 9 10 ?>
Variabel $a dalam contoh diatas dapat dijangkau juga oleh file tes.php. Tetapi variabel single scope tidak dapat dijangkau dalam sebuah fungsi. Contoh:
1 <?php 2 $a = 1; 3 function Test() 4 { 5 echo $a; 6 } 7 Test(); 8 ?>
Jika script diatas dieksekusi pada browser maka tidak akan menghasilkan output apapun. Hal ini terjadi karena variabel $a diatas tidak dapat dijangkau oleh fungsi Test(). Agar variabel $a dapat dijangkau oleh fungsi Test() maka variabel $a tersebut pada fungsi Test() perlu dideklrasikan kembalikan dengan menggunakan keyword global. Contoh:
1 <?php 2 $a = 1; 3 function Test() 4 { 5 global $a; 6 echo $a; 7 } 8 Test(); 9 ?>
Atau Anda dapat menggunakan built-in variabel $GLOBALS, variabel $GLOBALS ini merupakan array asosiatif . Contoh:
1 <?php 2 $a = 1; 3 $b = 2; 4 function Test() 5 { 6 echo $GLOBALS[“a”]; 7 echo “<br>”; 8 echo $GLOBALS[“a”]; 9 } 10 Test();
catatan: Kita akan bertemu lagi dengan pembahasan variabel scope pada bab selanjutnya (bab. Fungsi)
2.3.2 Tipe data
PHP mendukung 8 tipe data, yaitu: 1. boolean
2. integer 3. float (double) 4. string atau text
5. array 6. object 7. NULL 8. resource
1 <?php
2 $bool = TRUE ; // boolean 3 $str = "wow"; // string 4 $int = 10 ; // integer 5
6 echo gettype($bool); // mencetak "boolean" 7 echo gettype($str); // mencetak "string" 8
9 // Jika integer , maka naikkan atau tambah dengan 4 10 if (is_int($int)) {
11 $int += 4; 12 }
13
14 // Jika $bool adalah string, maka cetak 15 // jika tidak jangan mencetak apapun 16 if (is_string($bool)) {
17 echo "String: $bool"; 18 }
19 ?>
Mengenai lebih jauh tipe data string, array dan object akan dibahas pada bab yang lainnya.
2.3.3 Konstanta
Konstanta adalah sebuah nama (identifier) dari sebuah nilai sederhana. Sebagaimana namanya, nilai dari konstanta tidak dapat dirubah selama proses pengeksekusian script PHP atau selama program berjalan.
Penamaan konstanta sama seperti variabel. Hanya saja untuk mendefinisikan konstanta Anda perlu menggunakan kata kunci define.
1 <?php
2 define("CONSTANT", "Hello world."); 3 echo CONSTANT; // output "Hello world." 4 echo Constant; // output "Constant" 5 define("PHI", 3.14);
6 $jari = 8;
7 $luas_lingkaran = PHI * $jari * $jari;
8 echo 'Luas Lingkaran dengan jari '.$jari.' : '.$luas_lingkaran; ?>
2.4 Operator
Operator adalah sesuatu yang diberikan “umpan” berupa satu atau beberapa nilai (values) atau pernyataan-pernyataan, yang menghasilkan nilai (values) yang lainnya.
PHP mendukung beberapa operator diantaranya, sebagai berikut:
2.4.1 Operator Aritmatika
Contoh Nama Deskripsi
$a + $b Addition Jumlah dari $a dan $b. $a - $b Subtraction Selisih dari $a dan $b. $a * $b Multiplication Perkalian dari $a dan $b. $a / $b Division Pembagian dari $a dan $b. $a % $b Modulus Sisa pembagian dari $a dan $b.
Tabel-1. Operator aritmatika
1 <?php 2 $a = 1; 3 $b = 2; 4 $c = 4; 5 $d = 8; 6 $e = 3; 7 echo $a + $b; 8 echo “<br>” 9 echo $d - $b; 10 echo “<br>” 11 echo $a * $b; 12 echo “<br>” 13 echo $d / $c; 14 echo “<br>” 15 echo $d % $e; 16 ?>
2.4.2 Operator Assignment
Dasar dari operator Assignment adalah “ = ” (sama dengan), operator ini sering digunakan untuk pendefinisian nilai dari sebuah variabel atau pendefinisian suatu variabel dengan pernyataan.
2.4.3 Operator Bitwise
Operator bitwise memungkinkan Anda merubah atau membalik bit-bit tertentu dalam sebuah bilangan integer on (1) atau off (0). Jika parameter-paramter sebelah kiri dan kanan dari opeartor bitwise adalah string , maka operator ini akan mengoperasikannya pada karakter-karakter dari string tersebut.
Contoh Nama Deskripsi
$a & $b And Bit-bit yang di set on(1) pada variabel $a dan $b di operasikan “and”
menghsailkan nilai bit on(1)
$a | $b Or Bit-bit yang diset on(1) pada salah satu variabel $a atau $b
menghsailkan nilai bit on(1)
$a ^ $b Xor
Bit-bit yang diset on(1) pada salah satu dari $a atau $b tetapi tidak boleh bit-bit pada kedua variabel terebut bernilai sama (on dua-duanya atau off) akan menghasilkan nilai bit on(1)
~ $a Not Bit-bit yang diset on(1) pada variabel $a akan menjadi off(0) dan
sebaliknya.
$a << $b Shift left Menggeser kekiri bit-bit dari $a sebesar $b bit (steps) $a >> $b Shift right Menggeser kekanan bit-bit dari $a sebesar $b bit (steps)
Tabel-2. Operator bitwise
1 <?php 2 $a = 7 ; 3 $b = 2 ; 4 echo $a << $b; 5 echo “<br>”; 6 echo $a >> $b; 7 ?> 2.4.4 Operator perbandingan
Sesuai dengan namanya operator ini membandingkan dua buah nilai (values). Biasanya operator ini digunakan dalam proses seleksi ataupun perulangan.
Contoh Nama Deskripsi
Contoh Nama Deskripsi
$a === $b Identical TRUE jika $a sama dengan $b, dan memiliki tipe data yang sama (PHP 4 only) $a != $b Not equal TRUE jika $a tidak sama dengan $b.
$a <> $b Not equal TRUE jika $a tidak sama dengan $b.
$a !== $b Not identical TRUE jika $a tidak sama dengan $b, atau keduanya tidak memiliki tipe data yang sama .(PHP 4 only) $a < $b Less than TRUE jika $a lebih kecil dari $b.
$a > $b Greater than TRUE jika $a lebih besar dari $b.
$a <= $b Less than or equal to TRUE jika $a lebih kecil atau sama dengan $b. $a >= $b Greater than or equal to TRUE jika $a lebih besar atau sama dengan $b.
Tabel-3. Operator Perbandingan
1 <?php 2 $a = 1; 3 $b = “1”; 4 $c = “Hello”;
5 if ( $a == $b) { echo “ a dan b Sama ”;}
6 if ( $a !== $b) { echo “ a dan b Sama tetapi tidak identik ”;} 7 if ( $a <> $c) { echo “ a dan c tidak Sama ”;}
8 ?>
2.4.5 Operator Error Control
PHP mendukung sebuah operator kontrol atau kendali error yang ditandai dengan tanda (@). Jika operator ini disertakan diawal sebuah peryataan dalam PHP, maka suatu pesan error atau kesalahan dari suatu pernyataan yang biasanya ditampilkan atau dicetak pada browser akan diabaikan.
1 //File. coba1.php 2 <?php
3 $my_file = @file ('non_existent_file') or die ("Failed opening file: error waktu buka file");
4 ?>
1 //File. coba2.php 2
3 <?php
4 $my_file = file ('non_existent_file') ; 5 ?>
suatu pesan buatan user.
2.4.6 Operator Eksekusi
Operator eksekusi (backticks .` `) akan menyebabkan PHP mengeksekusi perintah-perintah yang ada dalam tanda backticks (` `) sebagai peritah-perintah-perintah shell linux.
1 <?php
2 $output = `ls -al`;
3 echo "<pre>$output</pre>"; 4 ?>
Operator ini berfungsi kalau pada file konfigurasi PHP (biasanya /etc/php.ini) variabel
safe_mode di off-kan (di disable).
2.4.7 Operator incrementing/decrementing
PHP mendukung operator C-Style pre- dan post-increment dan decrement .
Example Name Effect
++$a Pre-increment Increments $a by one, then returns $a. $a++ Post-increment Returns $a, then increments $a by one. --$a Pre-decrement Decrements $a by one, then returns $a. $a-- Post-decrement Returns $a, then decrements $a by one.
Tabel-4. Operator incrementing/decrementing
1 <?php
2 echo "<h3>Postincrement</h3>"; 3 $a = 5;
4 echo "Should be 5: " . $a++ . "<br>\n"; 5 echo "Should be 6: " . $a . "<br>\n"; 6
7 echo "<h3>Preincrement</h3>"; 8 $a = 5;
9 echo "Should be 6: " . ++$a . "<br>\n"; 10 echo "Should be 6: " . $a . "<br>\n"; 11
12 echo "<h3>Postdecrement</h3>"; 13 $a = 5;
14 echo "Should be 5: " . $a-- . "<br>\n"; 15 echo "Should be 4: " . $a . "<br>\n"; 16
17 echo "<h3>Predecrement</h3>"; 18 $a = 5;
20 echo "Should be 4: " . $a . "<br>\n"; 21 ?>
2.4.8 Operator logika
Contoh Nama Deskripsi
$a and $b And TRUE jika keduanya $a dan $b adalah TRUE.
$a or $b Or TRUE jika salah satu dari variabel $a atau $b adalah TRUE.
$a xor $b Xor
TRUE jika salah satu dari kedua variabel $a dan $b bernilai TRUE, tetapi tidak boleh keduanya bernilai sama.
! $a Not TRUE jika $a bukan TRUE.
$a && $b And TRUE jika keduanya $a dan $b adalah TRUE.
$a || $b Or TRUE jika salah satu dari vriabel $a atau $b adalah TRUE.
Tabel-5. Opeartor logika
1 <?php 2 $a = 1; 3 $b = 3; 4 $c = "";
5 if ( $a && $b){ echo "<br>Operasi Logika And "; } 6 if ( $a || $c){ echo "<br>Operasi Logika OR"; } 7 ?>
2.4.9 Operator String
Ada dua buah operator string yaitu operator concatenation (.) dan concatenation
assignment (.=). Operator concatenation (.) menggabungkan dua buah string. Sedangkan
concatenation assignment menggabungkan nilai argument di sebelah kanan dengan nilai dari argument sebelah kiri.
1 <?php
2 $a = "Hello ";
3 $b = $a . "World!"; // now $b contains "Hello World!" 4 $a = "Hello ";
5 $a .= "World!"; // now $a contains "Hello World!" ?>
Example Name Result $a + $b Union Union dari array $a dan $b.
$a == $b Equality TRUE jika array $a dan $b memiliki element-element yang sama .
$a === $b Identity TRUE jika array $a dan $b memiliki element-element yang sama dalam urutan yang sama.
$a != $b Inequality TRUE jika array $a tidak sama dengan $b. $a <> $b Inequality TRUE jika array $a tidak sama dengan $b.
$a !== $b
Non-identity TRUE jika array $a tidak identik dengan $b.
Tabel-6. Operator Array
1 <?php
2 $a = array("a" => "apple", "b" => "banana");
3 $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry"); 4
5 $c = $a + $b; // Union of $a and $b 6 echo "Union of \$a and \$b: \n"; 7 var_dump($c);
8
9 $c = $b + $a; // Union of $b and $a 10 echo "Union of \$b and \$a: \n"; 11 var_dump($c);
?>
2.5 Bekerja dengan Form HTML
PHP dapat memperoleh variabel dari luar melalui form HTML (GET atau POST). Ketika sebuah form di submit ke script PHP maka secara otomatis seluruh informasi yang dimasukkan/diinputkan ke dalam form tersebut akan tersedia (dapat diakses) oleh script PHP tersebut.
Contoh. Form HTML sederhana
1 <form action="tes.php" method="post">
2 Name: <input type="text" name="username" value=""/><br> 3 Email: <input type="text" name="email" value=""/><br> 4 <input type="submit" name="submit" value="Submit uh!" /> 5 </form>
Dari contoh form HTML diatas maka semua data yang dinputkan kedalam form tersebut, nantinya dapat diakses oleh script “tes.php” dengan beberapa cara, diantaranya seperti terlihat dalam contoh berikut ini:
1 <?php
2 // tersedia dalam PHP 4
3 echo “1.” . $_POST['username']; //jika method = get ,
4 // maka $_GET['username']
5 echo “2.: . $_REQUEST['username']; 6
7 import_request_variables('p', 'p_'); // jika method = get, maka 8 // import_request_variables('g', 'g_') dan $g_username
9 echo “3.” . $p_username; 10 // tersedia sejak PHP 3.
11 // variabel-variabel http post dapat di disable 12 // dengan register_long_arrays directive.
13 echo “4.” . $HTTP_POST_VARS['username']; // jika method = get,
14 // maka $HTTP_GET_VARS['username']
15
16 // tersedia jika directive register_globals = on pada file php.ini .
17 // Sejak PHP 4.2.0 default value dari register_globals = off. 18
19 echo “5.” . $username; 20 ?>
Bab 3 Struktur Kendali
3.1 Tujuan:
• Memahami penggunaan pernyataan seleksi if, elseif, else, dan switch
• Memahami penggunaan pernyataan perulangan for, while, do ..while, dan foreach. • Memahami penggunaan pernyataan penyisipan file seperti require dan include.
3.2 Pernyataan seleksi
Program atau script PHP terdiri dari sederetan pernyataan-pernyataan, baik itu pernyataan pendefinisian sebuah variabel, peryataan seleksi, perulangan, pemanggilan fungsi, bahkan bisa juga terdiri dari pernyataan yang tidak melakukan apa-apa seperti komentar.
Sekumpulan pernyataan dalam sebuah script PHP dapat dikelompokkan dengan menggunakan tanda { dan } . Sebuah script PHP mungkin saja didalamnya terdapat sekumpulan atau kelompok pernyataan yang hanya akan dieksekusi dengan kondisi-kondisi yang tertentu (kondisional), hal seperti ini disebut dengan pernyataan seleksi atau kondisional. Pernyataan-pernyataan yang berhubungan dengan proses seleksi ini diantaranya adalah Pernyataan-pernyataan if, elseif, else, dan switch.
3.2.1 Pernyataan if
Penulisannya:
if (expr)
statement
catatan: expr adalah ekspresi (pernyataan kondisional) contoh:
1 <?php
2 $a = 23; 3 $b = 17; 4 if ($a > $b)
5 echo "a lebih besar dari b"; 6 ?>
Atau jika terdiri dari beberapa pernyataan di dalam if sbb:
1 <?php
2 $a = 23; 3 $b = 17;
4 if ($a > $b) {
5 echo "a lebih besar dari b";
6 $b++; //tambahkan 1 ke variabel $b 7 }
8 ?> 3.2.2 Pernyataan else Penulisannya: if (expr) statement else statement contoh: 1 <?php 2 $a = 23; 3 $b = 17; 4 if ($a > $b) {
5 echo "a lebih besar dari b"; 6 }
7 else {
8 echo "a TIDAK lebih besar dari b"; 9 } ?> 3.2.3 Pernyataan elseif Penulisannya: if (expr) statement elseif (expr) statement else statement contoh: 1 <?php 2 $a = 23; 3 $b = 17; 4 if ($a > $b) {
5 echo "a lebih besar dari b"; 6 }
7 elseif ($a == $b){
8 echo "a sama dengan b"; 9 }
10 else {
11 echo "a lebih kecil b"; 12 }
3.2.4 Pernyataan switch
Maksud penggunaan dari perintah switch sama dengan if, yaitu sebagai seleksi suatu kondisi. Switch lebih mudah terstruktur dan terbaca, tapi switch pada aturannya memeriksa satu variabel saja. Penulisannya: switch (var) { case val-1: statement case val-2: statement case val-3: statement .... case val-n: statement default: statement } contoh: 1 <?php 2 switch ($i) { 3 case 0:
4 echo "i equals 0"; 5 break;
6 case 1:
7 echo "i equals 1"; 8 break;
9 case 2:
10 echo"i equals 2"; 11 break;
12 default:
13 echo “i is bigger than 2” ; 14 }
15 ?>
catatan: break berfungsi untuk keluar dari proses switch.
3.3 Pernyataan Perulangan
Adakalanya script PHP anda menghendaki adanya proses perulangan terhadap suatu pernyataan tertentu (loop). Untuk itu Anda dapat menggunakan beberapa pernyataan perulangan seperti pernyataan for, while, do ..while, dan foreach.
3.3.1 Pernyataan for
Penulisannya:
for (expr1; expr2; expr3) statement
Contoh: 1 <?php 2 // contoh 1 3 for ($x = 1; $x <= 10; $x++) 4 echo “$x <br> \n”; 5 6 // contoh 2 7 for ($x = 1;; $x++) { 8 if ($x > 10) { 9 break; 10 } 11 echo “$x <br> \n”; 12 } 13 14 // contoh 3 15 $x = 1; 16 for ( ;;) { 17 if ($x > 10) { 18 break; 19 } 20 echo “$x <br> \n”; 21 $x++ ; 22 } 23 24 // contoh 4
25 for ($x = 1; $x <= 10; echo “$ix <br> \n”, $x++); 26 ?> 3.3.2 Pernyataan while Penulisannya: while (expr) statement Contoh: 1 <?php 2 $x = 1; 3 while($x < = 10) 4 { 5 echo “$x <br> \n”; 6 $x++; 7 } 8 ?>
3.3.3 Pernyataan do ... while
Pernyataan ini sama dengan while. Penulisannya: do statement while(expr) Contoh: 1 <?php 2 $x = 0; 3 do { 4 echo $x." <br> \n"; 5 $x++; 6 } 7 while($x <= 10); 8 ?> 3.3.4 Pernyataan foreach Penulisannya:
foreach (array_expression as $value) statement
foreach (array_expression as $key=>$value) statement
Contoh: 1 <?php 2 // contoh 1 3 $a = array(1, 2, 3, 17); 4 foreach ( $a as $v ) { 5 echo “$v <br>\n”; 6 } 7 8 // contoh 2 9 10 $a = array( 11 "satu" => 1, 12 "dua" => 2, 13 "tiga" => 3, 14 "empat" => 17 15 ); 16 17 foreach ($a as $k => $v) { 18 echo "\$a[$k] => $v.\n"; 19 } 20 ?>
3.3.5 Pernyataan break
break berguna untuk mengakhiri eksekusi dari perintah for, foreach while, do..while atau switch . break dapat menerima argument berupa angka (opsional) yang akan mengatakan kepada break tentang berapa banyak jumlah struktur sekumpulan perintah ( biasanya dibatasi oleh { dan } ) bersarang yang harus di hentikan.
Penulisannya:
break [numeric]
Contoh:
1 <?php
2 // contoh 1
3 $arr = array('satu', 'dua', 'tiga', 'empat', 'berhenti', 'lima'); 4 while (list (, $val) = each ($arr)) {
5 if ($val == 'stop') {
6 break; /* Anda dapat juga menulis 'break 1;' disini */ 7 }
8 echo "$val<br>\n"; 9 }
10
11 // contoh 2, menggunakan argument 12 $i = 0;
13 while (++$i) { 14 switch ($i) { 15 case 5:
16 echo "hitungan ke- 5 ; keluar dari proses switch<br>\n"; 17 break 1; /* hanya keluar dari switch. */
18 case 10:
19 echo "hitungan ke- 10; keluar dari proses switch dan while<br>\n";
20 break 2; /* keluar dari proses switch dan while */ 21 default: 22 break; 23 } 24 } 25 ?> 3.3.6 Pernyataan continue
Pernyataan continue biasa digunakan dalam proses perulangan (looping) yang berfungsi melompati proses loop saat itu dan melanjutkan eksekusi dimulai dari itesai loop berikutnya. Pernyataan continue juga dapat menerima argument angka seperti break.
Penulisannya:
Contoh: 1 <?php 2 // contoh 1 3 while ($x++ < 5) 4 { 5 if ( $x == 3 ) 6 continue;
7 echo "Hitungan ke- $x <br>\n"; 8 }
9
10 // contoh 2 11 $i = 0;
12 while ($i++ < 5) {
13 echo "( Ini Bagian Luar <br>\n"; 14 while (1) {
15 echo " Ini Bagian Tengah<br>\n"; 16 while (1) {
17 echo " Ini Bagian inti )<br><br>\n";
18 continue 3; 19 }
20 echo "Ini tidak pernah dicetak ke browser<br>\n"; 21 }
22 echo "Begitu juga dengan yang ini.<br>\n"; 23 }
24 25 ?>
3.4 Pernyataan require & include
Pernyataan-pernyataan ini digunakan jika Anda ingin menyisipkan atau memasukkan sscript PHP dari file yang lain kedalam file PHP saat ini.
3.4.1 require Penulisannya: require( “nama_file”) require “nama_file” Contoh: File. pustaka.inc 1 <?php
2 echo “Ini Output dari file pustaka.inc<br>\n”; 3 echo “$a <br>\n”;
File. Main.php
1 <?php
2 $a = “Hello World”; 3 require “pustaka.inc”;
4 echo “Ini output dari file main.php<br>\n”; 5 ?> 3.4.2 include Penulisannya: include ( “nama_file”) include “nama_file” Contoh: File. pustaka.inc 1 <?php
2 echo “Ini Output dari file pustaka.inc<br>\n”; 3 echo “$a <br>\n”; 4 ?> File. Main.php 1 <?php 2 $a = “Hello World”; 3 include “pustaka.inc”;
4 echo “Ini output dari file main.php<br>\n”; 5 ?>
3.5 Beberapa Jenis Error
PHP sebagai bahasa pemrograman web yang handal, menyediakan berbagai pesan error yang muncul saat seorang programmer melakukan kesalahan agar bisa segera diperbaiki.
3.5.1 Contoh Pesan Error
Berikut kita akan berkenalan dengan beberapa error message yang mungkin nantinya akan timbul :
1. Error message : Anda mendapatkan pesan ini ketika script yang Anda buat bermasalah sehingga program yang Anda buat tidak berjalan. Pesan error ini biasanya memiliki cukup informasi sehingga Anda dapat dengan mudah mengetahui dimana sumber masalahnya.
Contoh error yang biasa muncul seperti ini :
Biasanya, Anda menerima error tersebut karena masalah kurang semicolon(;), parenthesis (tanda kurung), atau kurung kurawal ( {} ).
2. Warning message : Anda mendapat error jenis ini ketika script memiliki 'indikasi' masalah tapi program masih terus berjalan, jadi error jenis ini tidak menghentikan jalannya program. Contohnya ketika Anda mengetikkan perintah print_r() << tanpa suatu argumen(parameter) didalamnya maka akan muncul warning error seperti ini :
Warning: print_r() expects at least 1 parameter, 0 given in c:\tes.php on line 2
Error tersebut dikarenakan print_r yang merupakan suatu fungsi pencetakan tidak memiliki argumen(parameter) untuk dicetak. Tapi, script yang berada dibawah print_r tersebut tetap dijalankan,karena error tadi hanya berupa warning. Bagaimanapun, warning error mengindikasikan sesuatu masalah yang lebih serius lagi dan dalam kasus ini Anda diharuskan untuk memperbaiki kekurangan tersebut.
3. Notice : Anda mendapatkan suatu notice dikarenakan suatu kemungkinan error atau bukan error. Contoh yang umum terjadi yaitu saat Anda menggunakan variable yang tidak ada.
Notice : Undefined variable: page in testing.php on line 9
Error message, Warning error, ataupun notice mengindikasikan suatu masalah pada script yang Anda buat, yang terfokus pada nomor baris yang diindikasikan atau pada baris diekitarnya.
Berbagai jenis pesan error yang muncul itu, dapat Anda atur semua atau sebagian saja yang dimunculkan, melalui error level yang bisa diatur pada file php.ini. Kita akan bahas sedikit lebih lanjut tentang error level ini.
3.5.2 Error Level
Untuk melihat error level pada script php Anda, Anda bisa melihatnya pada script php.ini, pada baris berikut :
; - Show all errors, except for notices error_reporting = E_ALL & ~E_NOTICE
Perintah tadi menyebabkan semua error akan muncul kecuali notice. Anda bisa bereksperimen dengan keterangan-keterangan yang ada di script php.ini tersebut. Tapi jangan lupa untuk membuat back-up dari file php.ini, untuk berjaga-jaga jika terjadi kesalahan pada settingan-nya. Setelah melakukan perubahan pada php.ini, jika Anda berada di linux sebagai superuser ketikkan perintah service httpd restart, ini untuk mengaktifkan setingan yang
baru saja dilakukan.
Anda bisa menghentikan semua pesan-pesan error atau mengalihkan pesan error ke suatu log.Untuk mematikan pesan-pesan error, Anda dapat melakukannya pada php.ini, cari perintah berikut :
Anda dapat menggunakan error_reporting pada script php yang Anda buat sendiri. Jadi php menyediakan fungsi error_reporting untuk menampilkan ataupun menghilangkan pesan error.
Ketikkan contoh berikut pada awal script php Anda.
error_reporting(E_ALL & ~E_NOTICE);
Contoh diatas akan menampilkan semua jenis error kecuali error notice. Nah, Anda bisa menggunakan berbagai error yang dapat dimunculkan pada web Anda, atau tidak tergantung kebutuhan dari web tersebut. Tapi sebaiknya, jika aplikasi yang Anda buat sudah jadi dan akan diserahkan pada user, sebaiknya pesan-pesan error dihilangkan tapi tetap dikirim ke suatu log. Untuk mematikan pesan error, Anda cukup ketikkan perintah berikut pada script php Anda :
error_reporting(0);
Lalu, bagaimana caranya untuk memindahkan error pada log ?. Berikut penjelasannya:
1. Pada file php.ini, cari kata-kata berikut :
log_errors = Off
2. Anda ganti dengan
log_errors = On
3. Pada baris dibawahnya, cari script berikut :
;error_log = filename
4. Ganti filename tersebut dengan letak error log dan hapus tanda titik koma di awal script :
error_log = C:\temp\php\php_err.log
5. Pastikan folder temp dan php di direktory C sudah ada sebelumnya, Anda tidak perlu membuat file php_err.log karena file tersebut otomatis ter-create oleh php.
Bab 4 Data Lanjutan
4.1 Tujuan:
• Memahami tipe-tipe data string, array, dan object dalam PHP
• Mampu membuat program PHP yang menerapkan tipe data string, array, dan object
4.2 String
Tipe data string sebenarnya adalah kumpulan karakter. Dalam PHP sebuah karakter sama dengan sebuah byte (8 bit) , yang tepatnya memiliki 256 kemungkinan karakter yang berbeda.
Sebuah string adalah sekumpulan atau sederetan karakter yang dapat didefinisikan dalam tiga cara berikut ini:
1. single quoted 2. double quoted
3. heredoc Penulisannya
4.2.1 Single quoted
Cara paling mudah dalam mendefinisikan string adalah membuka dan menutup string dengan menggunakan tanda kutip/petik tunggal. Contoh:
1 <?php
2 $a = 'Ini adalah string'; 3 echo '$a' ;
4 echo '<br>Ini juga String yang 5 cukup panjang dan lebih dari 6 satu baris serta panjang';
7 echo 'Ibu berkata: “Nak jangan jajan sembarangan !”';
8 echo '\n Meskipun didepan string ini ada escape character baris baru tetap tidak berfungsi';
9 ?>
4.2.2 Double quoted
String yang ditutup dengan tanda kutip/petik ganda, lebih fleksibel terhadap escape character, special character dan variabel.
Contoh:
1 <?php
2 $a = “Ini adalah string”; 3 echo “$a” ;
4 echo “<br>Ini juga String yang 5 cukup panjang dan lebih dari 6 satu baris serta panjang”;
7 echo “Ibu berkata: \“Nak jangan jajan sembarangan !\””;
8 echo “\n didepan 'string' ini ada escape character baris baru makanya pindah baris”;
9 ?>
4.2.3 Heredoc
Cara lain mendefinisikan string yaitu dengan heredoc Penulisannya, yaitu dengan memberikan awal dengan tanda ( <<< ) dan setelahnya harus merupakan identifier(nama), serta diakhiri dengan tanda identifier (nama) juga. Contoh:
1 <?php
2 $str = <<<OKE
3 ini String yang di definisikan dengan 'heredoc Penulisannya', yaitu dengan memberikan awal dengan tanda “<<<” dan setelahnya \n \r harus merupakan identifier(nama) , serta diakhiri dengan tanda identifier (nama) juga
4 OKE;
5 echo $str; 6 ?>
4.3 Mengakses String sebagai karakter
Karakter-karakter yang ada dalam string dapat diakses dengan pengindekan(indexing).
H E L L O W O R L D
0 1 2 3 4 5 6 7 8 9 10
String “HELLO WORLD” diatas dapat di index dengan urutan no index diawali dari karakter paling kiri (H) adalah index 0 ndan diakhiri oleh karakter paling kanan (D) yaitu index 10. Jumlah(panjang) karakter yang membentuk string “HELLO WORLD” adalah 11 karakter. Index pertama dari string adalah 0 dan index terakhir adalah panjang karakter -1.
Untuk mendapatkan karakter “W” dalam string “HELLO WORLD” maka dalam PHP menggunakan indexing yaitu seperti contoh berikut ini:
1 <?php
2 $str = “HELLO WORLD” ; 3 echo $str[6];
4 ?>
String dalam PHP dapat dirubah perkarakter dengan pengindekan contoh:
1 <?php
2 $str = “HELLO WORLD” ; 3 $str [6] = “M”;
4.4 Konversi data menjadi string
Untuk mengkonversi PHP menyediakan built-in fungsi yaitu : strval(). Contoh:
1 <?php 2 $
3 x = 120; // integer 120 4 $y = “120”; //string 120 5 $on = TRUE //boolean 6 if ( $x === $y)
7 { echo “Ini tidak identik”; } 8
9 if ( strval($x) === $y ) 10 {
11 echo “ Dengan mengkonversi integer 120 menjadi string \”120\” barulah identik”;
12 } 13
14 if ( $on === “1” ) 15 {
16 echo “Ini tidak identik”;
17 echo “ Dengan mengkonversi boolean TRUE menjadi string \”1\” barulah identik”;
18 } 19 ?>
4.5 Fungsi – fungsi string
PHP menyediakan banyak fungsi-fungsi yang berkaitan dengan string diantaranya, berikut ini fungsi-fungsi string:
4.5.1 addslashes
string addslashes( string str)
Fungsi ini mengembalikan sebuah string dengan tanda backslashes sebelum karakter-karakter yang perlu diberikan tanda kutip/petik dalam query-query database. Karakter ini adalah karakter single quote ('), double quote ("), backslash (\) dan NUL (the NULL byte).
Contoh:
1 <?php
2 $str = 'Hello “World” \n \''; 3 echo $str;
4.5.2 strlen
int strlen(string str)
Fungsi ini mengembalikan sebuah integer yang menunjukan panjang string. Contoh: 1 <?php 2 $str = “Hello World”; 3 echo strlen($str); 4 ?> 4.5.3 rtrim string rtrim(string str)
Fungsi ini mengembalikan sebuah string yang telah dihilangkan/dihapus karakter spasi yang ada pada akhir (kanan) string. Alias dari fungsi ini adalah chop().
Contoh: 1 <?php 2 $str = “ Hello World ”; 3 echo strlen($str); 4 $rtrimmed = rtrim($str); 5 echo strlen($rtrimmed); 6 ?> 4.5.4 ltrim string ltrim(string str)
Fungsi ini mengembalikan sebuah string yang telah dihilangkan/dihapus karakter spasi yang ada pada awal (kiri) string.
Contoh: 1 <?php 2 $str = “ Hello World ”; 3 echo strlen($str); 4 $ltrimmed = ltrim($str); 5 echo strlen($ltrimmed); 6 ?> 4.5.5 trim string trim(string str)
yang ada pada awal (kiri) dan akhir(kanan) string. Contoh: 1 <?php 2 $str = “ Hello World ”; 3 echo strlen($str); 4 $trimmed = trim($str); 5 echo strlen($trimmed); 6 ?> 4.5.6 explode
array explode ( string separator, string string)
Fungsi ini mengekstrak(split) sebuah string menjadi array. Contoh:
1 <?php
2 $str1 = “satu dua tiga empat lima”; 3 $str 2= “satu:dua:tiga:empat:lima”; 4 $str 3= “satu,dua,tiga,empat,lima”;
5 $arr1 = explode(“ “, $str1); //separator string adalah spasi 6 $arr2 = explode(“:“, $str2); // separator string adalah titik dua 7 $arr3 = explode(“,“, $str3); //separator string adalah koma
8 foreach( $arr1 as $val1) { echo “<br> $val1 \n”; } 9 foreach( $arr2 as $val2) { echo “<br> $val2 \n”; } 10 foreach( $arr3 as $val3) { echo “<br> $val3 \n”; } 11 ?>
4.5.7 implode
string implode(string glue, array pieces)
Fungsi ini kebalikan dari explode yaitu menggabungkan elemen-elemen array menjadi string dengan karakter penggabung (string glue). Alias dari fungsi ini adalah fungsi join().
Contoh:
1 <?php
2 $arr = array(“apel”,”jeruk”,”mangga”,”pisang”,”jambu”);
3 $arr2str = implode(“:”,$arr); // penggabung string adalah tanda : 4 echo “<br>$arr2str \n”;
4.5.8 substr
string substr(string string, int start [, int length])
Fungsi ini mengembalikan string yang merupakan bagian dari sebuah string . Contoh:
1 <?php
2 $rest = substr("abcdef", 1); // returns "bcdef" 3 echo “<br> $rest \n”;
4 $rest = substr("abcdef", 1, 3); // returns "bcd" 5 echo “<br> $rest \n”;
6 $rest = substr("abcdef", 0, 4); // returns "abcd" 7 echo “<br> $rest \n”;
8 $rest = substr("abcdef", 0, 8); // returns "abcdef" 9 echo “<br> $rest \n”;
10 ?>
4.6 Type Casting
PHP menyediakan type casting yang berguna untuk memastikan type data apa yang kita pesankan pada suatu variabel. Hal ini sangat berguna untuk menghindari kesalahan yang kita sendiri tidak sengaja melakukannya, misal Anda ingin melakukan proses perhitungan tapi hasilnya tidak tepat, karena type data dari hasil perhitungan yang Anda buat bertipe data integer yang tidak menyediakan pecahan.
Untuk memesan type data apa yang ingin Anda buat untuk menyimpan data pada suatu variabel, gunakan cara berikut :
$newint = (int) $var1; $newfloat= (float) $var1; $newstring= (string) $var1;
$newint merupakan variable yang kita gunakan untuk menyimpan data, (int) type data yang kita gunakan dan $var1 adalah variable yang isinya akan diubah sebagai integer dan disimpan di variabel $newint.
Anda juga bisa mengetahui type data apa yang digunakan oleh suatu variabel dengan mengetikkan perintah berikut :
var_dump($myvariable);
Anda sebenarnya tak perlu terlalu khawatir dengan type data seperti apa yang harusnya Anda berikan pada suatu variabel, karena PHP otomatis akan menyesuaikan type data suatu variabel dengan isi data yang diberikan padanya. Perintah type casting diatas hanya untuk memastikan suatu variabel akan sesuai dengan yang Anda pikirkan atau untuk merubah suatu type data variabel ke type lainnya.
Jadi perintah seperti ini
$newint= 100; $newfloat=9.8;
$newint otomatis sebagai integer dan $newfloat otomatis menjadi float. Dengan type
casting Anda bisa merubah $newfloat diatas menjadi integer dengan perintah berikut :
$integer_lagi=(int) $newfloat;
Tapi, jika $newfloat diatas Anda ubah menjadi integer maka 9.8 tersebut akan menjadi 9
tanpa pecahan.
4.7 Array
Array adalah sebuah tipe data kolektif, artinya sebuah array merupakan sekumpulan data-data (element array). Dalam PHP array sebenarnya adalah sebuah pemetaan antara key dan value atau sebaliknya (key => value). Key bisa berupa angka positif ataupun string. Value bertipe
data apa saja. Sebuah data array dapat didefinisiakan dengan fungsi array().
4.7.1 Mambuat Array
Diasumsikan, Anda memiliki suatu variabel yang variabel tersebut berisi kumpulan-kumpulan data. Contohnya variabel $nama_siswa. Tentunya, suatu kelas yang bukan privat
memiliki lebih dari satu siswa. Kita namakan siswa pertama kita bernama Rosalie. Cara inisialisasi-nya
$nama_siswa[1]= “Rosalie”;
Untuk sementara, $nama_siswa sudah berisikan seorang siswa bernama Rosalie
Untuk mengisi nama siswa selanjutnya, tinggal kita gunakan :
$nama_siswa[2]= “Alissa”; $nama_siswa[3]= “Faiz Fikri”;
Anda sudah menambah tiga siswa pada variabel tersebut. Jadi, format penulisan array adalah seperti berikut :
$nama_variable[key1]= Nilai ke 1; $nama_variable[key2]= Nilai ke 2; $nama_variable[key-n]= Nilai ke n;
Suatu key, disebut juga sebagai index. Jadi, key pada array dapat sebagai number (1,2,3
string.
$kota['DPK']= “Depok”; $kota['JKT']= “Jakarta”; $kota['SBY']= “Surabaya”;
Atau Anda bisa menggunakan cara singkat untuk membuat array, yaitu :
$jalan[]=”Jl. Sisingamangaraja”; $jalan[]=”Jl. Kapitan Pattimura”; $jalan[]=”Jl. Diponegoro”;
Array tanpa index yang disebut diatas itu, sebenarnya secara otomatis sudah diisikan indexnya berurutan mulai dari 0. Maka, jika Anda coba panggil :
echo $jalan[2]
Akan tercetak
Jl. Kapitan Pattimura.
Ketika Anda coba gunakan perintah tadi pada Array $nama_siswa, maka data tersebut
akan terisi pada index paling akhir. Contoh :
$nama_siswa[]=”Budi”;
Siswa Budi akan berada pada index yang paling akhir.
Anda harus ingat, bahwa array index nya dimulai selalu dari 0, kecuali jika Anda mengesett nya ke 1. Kembali ke cara singkat membuat array diatas, berikut cara singkat yang lain lagi :
$jalan=array(“Jl. Sisingamangaraja”,”Jl. Kapitan Pattimura”,”Jl. Diponegoro”);
Array diatas, tetap memiliki index yang dimulai dari 0. Jika Anda ingin index yang di mulai dari 6, caranya sbb:
$jalan=array(6=>“Jl. Sisingamangaraja”,”Jl. Kapitan Pattimura”,”Jl. Diponegoro”);
Perintah diatas sama juga dengan :
$jalan[6]=”Jl. Sisingamangaraja”; $jalan[7]=”Jl. Kapitan Pattimura”; $jalan[8]=”Jl. Diponegoro”;
Anda juga bisa membuat Array dengan cara yang tadi, dengan key nya berupa string atau kata :
$kota = array(“DPK=>“Depok”, “JKT”=>”Jakarta”, “SBY”=>”Surabaya”);
Catatan : baris baru atau pun spasi pada array diatas tidak berpengaruh. Penulisan diatas tadi hanyalah suatu cara agar pembacaan dari array yang Anda buat itu lebih mudah dibaca.
Ada juga perintah range, yang merupakan suatu jangkauan tapi hasilnya nanti berupa array. Contoh:
$angkanya=range(1980,2010); Perintah diatas sama dengan : $angkanya[0]=1980;
$angkanya[1]=1981; .
.
$angkanya[30]=2010;
4.7.2 Mengakses elemen-elemen array
Sama halnya dengan karakter-karakter dalam string , elemen array dapat diakses dengan pengindeksan (indexing). Contoh: 1 <?php 2 $arr = array(1,2,3,'hello',100,"world",10 => 100, “LPK” => “Nurulfikri”); 3 echo $arr[0]. “<br>\n”; 4 echo $arr[4]. “<br>\n”; 5 echo $arr[10]. “<br>\n”; 6 echo $arr[“LPK”]. “<br>\n”; 7 ?>
Elemen -elemen array dapat pula dirubah. Contoh:
1 <?php
2 $arr = array(1,2,3,'hello',100,"world",10 => 100, “LPK” => “Nurulfikri”);
3 $arr[0] = 1234;
4 echo $arr[0]. “<br>\n”; 5 $arr[“LPK”] = “Nurul Fikri”; 6 echo $arr[“LPK”]. “<br>\n”; 7 ?>
4.7.3 Menghapus elemen array
Kemungkinan suatu saat Anda ingin menghapus suatu elemen yang ada di array. Perintahnya sederhana, yaitu :
unset($nama_var_array[index_yang mau_dihapus]);
Contoh, Anda ingin menghapus elemen pada array siswa yang bernama Budi, ketikkan perintah :
unset($nama_siswa[3]);
Jika yang Anda hapus datanya berada pada index 1, index tersebut tidak akan digantikan, jadi jika Anda hapus index 1, index 0, 2 dan 3 tetap tidak berubah, tapi tak ada lagi index 1.
4.7.4 Nested Array
Nested array adalah array yang bersarang, artinya elemen sebuah array dapat juga merupakan sebuah array, dst.
Contoh: 1 <?php 2 $arr = array(array(1,2,3),'hello',100, 3 "world"=>array("en","id","us"), 4 "LPK" => "Nurulfikri"); 5 6 echo $arr[0][0]."<br>\n"; 7 echo $arr[0][2]."<br>\n"; 8 echo $arr[1]."<br>\n"; 9 echo $arr["world"][1]."<br>\n"; 10 echo $arr["world"][2]."<br>\n"; 11 ?> 4.7.5 Fungsi-fungsi array
Ada beberapa fungsi-fungsi built-ini yang berkaitan dengan array, diantaranya yaitu:
1. Fungsi count
int count ( mixed var)
Fungsi ini mengembalikan nilai integer yang merupakan jumlah atau panjang elemen array. Alias dari fungsi ini adalah fungsi sizeof().
Contoh:
1 <?php
2 $arr_buah = array('Pepaya','Mangga','Pisang','Jambu'); 3 echo count($arr_buah);
2. Fungsi list
void list ( mixed ...)
Fungsi ini memberi nilai sebuah variabel seolah-olah sebagai sebuah array. Contoh: 1 <?php 2 $arr_buah = array("apel","jeruk","mangga"); 3 list($x,$y,$z) = $arr_buah; 4 echo $x."<br>\n"; 5 echo $y."<br>\n"; 6 echo $z."<br>\n"; 7 ?> 3. each
array each ( array array)
Fungsi ini mengembalikan pasangan key dan value dari sebuah array. Biasanya fungsi ini digunakan bersama fungsi list().
Contoh:
1 <?php
2 $buahs = array ("apel","mangga","jeruk","pisang","anggur"); 3 while (list ($key, $val) = each ($buahs)) {
4 echo "$key => $val<br>\n"; 5 }
6 ?>
4. Fungsi sort
void sort ( array array )
Fungsi ini mengurutkan elemen-elemen array. Contoh:
1 <?php
2 $buahs = array ("apel", "mangga", "jeruk", "pisang", "anggur"); 3 while (list ($key, $val) = each ($buahs)) {
4 echo "$key => $val<br>\n"; 5 }
6
7 echo “Setelah diurutkan sbb: <br>\n”; 8 sort ($foo);
9 while (list ($key, $val) = each ($buahs)) { 10 echo "$key => $val<br>\n";
11 } 12 ?>
5. foreach
foreach ($nama_array as $key => $val ) { block_statement;
}
Contoh :
1 <?php
2 $warna=array(“Merah”,”Hitam”,”Putih”,”Biru”,”Coklat”); 3 foreach ($warna as $key=>$val)
4 {
5 echo “Index nya = $key, Warnanya = $val<br>; 6 }
Bab 5 Fungsi
5.1 Tujuan:
• Mengerti apa itu fungsi
• Mampu membuat dan menerapakan fungsi buatan sendiri dalam program PHP
5.2 Apa itu fungsi ?
Fungsi adalah sekumpulan variabel dan pernyataan-pernyataan (perintah) PHP yang melakukan suatu kerja atau proses kecil dari keseluruhan kerja atau proses besar sebuah program PHP. Dengan fungsi dapat menyederhankan kerumitan program PHP Anda, dengan fungsi pula mengurangi banyaknya baris-baris pernyataan yang dapat mengurangi pula ukuran file/script PHP Anda. PHP telah menyediakan banyak fungsi -fungsi built-in yang memudahkan Anda dalam membuat script PHP, misalnya fungsi-fungsi yang berkaitan dengan manipulasi string , array, dan banyak lagi.
5.3 Sintaks Fungsi
Fungsi dituliskan dengan perintah berikut ini:
function nama_fungsi ([argumen]) {
blok statement fungsi }
Argumen pada fungsi bersipat optional, artinya argumen boleh ada atau berupa argumen kosong.
5.4 Fungsi yang didefinisikan user
Fungsi ini dibuat oleh user / programmer. Anda bisa mencoba memulai membuat fungsi yang sederhana untuk menghasilkan table HTML.
1 function start_table() 2 {
3 echo “<Table border=1>\n”; 4 }
Fungsi buatan sendiri, dimulai dengan function dan diikuti dengan nama fungsi-nya. Untuk menggunakan fungsi ini anda cukup mengetikkan nama fungsi tersebut :
start_table();
Nah, cukup mudah bukan? Anda tinggal ketikkan perintah tersebut dan bisa memakainya berulang-ulang sesuai kebutuhan. Lalu bagaimana jika anda ingin merubah ukuran border dari tables HTML tersebut ?
1 function start_table($border) 2 {
3 echo “<Table border=$border>\n”; 4 }
Jadikan border sebagai suatu variable, dan Anda bebas menentukan ukuran berapa saja yang akan digunakan sebagai border tables tersebut.
start_table(2);
Maka ukuran border dari table diatas adalah 2.
Jika Anda ingin membuat 1 sebagai default dari variable border, berikut caranya :
1 function start_table($border=1) 2 {
3 echo “<Table border=$border>\n”; 4 }
Jadi, jika Anda tidak menyebutkan ukuran border tersebut, nilai defaultnya yang akan digunakan.
Function diatas tadi, memiliki argumen yaitu $border.
Tidak hanya tag table HTML saja yang bisa Anda modifikasi, tapi semua tag HTML yang didukung penuh oleh PHP dapat Anda gunakan untuk membuat penulisan script PHP yang mudah dibaca dan terorganisir dengan rapih.
Fungsi selain yang kita buat diatas tadi, ada juga fungsi khusus dari PHP yang jumlahnya sangat banyak. Anda bisa melihat nya di http://www.php.net/function_name.
5.5 Argumen di dalam fungsi
Seperti dijelaskan sebelumnya argumen pada fungsi bersipat optional, artinya argumen boleh ada atau berupa argumen kosong.
1 function start_table ($border, $cellpadding, $cellspacing) 2 {
3 echo "<table border=$border cellpadding=$cellpadding 4 cellspacing=$cellspacing>\n";
5 }
Contoh diatas lanjutan dari contoh sebelumnya dengan argumen yang lebih banyak.
Fungsi start_table. Fungsi ini memiliki beberapa argumen. Sebuah fungsi tidak harus
memerlukan argumen, jadi argumen itu bersifat opsional. Tanda { dan } mengelompokan perintah-perintah dan variabel yang ada dalam fungsi tersebut.