Pengantar Teknologi Mobile PHP Antonius Rachmat C, S.Kom PHP: Hypertext Preprocessors
PHP PHP (PHP: Hypertext Preprocessor) dikembangkan oleh Rasmus Lerdorf (1994), sebagai awal pengembangan untuk HTTP usage logging dan server-side form generation pada Unix. PHP 2 (1995) diubah menjadi bahasa Server- side embedded scripting. Ditambahkan kemampuan database support, file uploads, variabel, array, rekursif, kondisi, iteration, regular expressions, dll.
Sejarah PHP PHP 3 (1998) ditambah dukungan untuk ODBC, multiple platform support, protokol (SNMP,IMAP), dan parser baru oleh Zeev Suraski and Andi Gutmans. PHP 4 (2000) menjadi komponen independen dari web server agar lebih efisien. Parser diganti nama menjadi Zend Engine. PHP 5 (2004) ditambahkan Zend Engine II dengan OOP, dukungan XML dengan pustaka libxml2, SOAP untuk Web Services, SQLite telah ditambahkan dalam PHP
Sejarah PHP Pada August 2004, PHP digunakan pada 16,946,328 domains, 1,348,793 alamat IP ( Hampir 32% dari seluruh domain web.
Mengapa PHP digunakan? Mudah Pemakaiannya –Kode ditanamkan pada HTML/WML/XHTML. –Kode php dimulai dan diakhiri dengan tanda (tag) Example <?php echo "Hi, I'm a PHP script!"; ?>
Why PHP? Cross Platform –Dapat jalan hampir di semua web server pada beberapa sistem operasi –Web server: Apache, Microsoft IIS, Caudium, Netscape Enterprise Server –Sistem operasi: NIX (HP-UX,OpenBSD,Solaris,Linux), Mac OSX, Windows NT/98/2000/XP/2003 –Database: Adabas D, dBase,Empress, FilePro (read-only), Hyperwave,IBM DB2, Informix, Ingres, InterBase, FrontBase, mSQL, Direct MS-SQL, MySQL, ODBC, Oracle (OCI7 and OCI8), Ovrimos, PostgreSQL, SQLite, Solid, Sybase, Velocis,Unix dbm Keuntungan dalam biaya –PHP is free.
Dukungan PHP GD (GIF, JPEG, PNG) SNMP IMAP (POP, NNTP) FTP XML parser PDF generation DCOM (Win32 only) SWF (Flash) zlib (compressed IO)Charset/text conversion (UTF-8, Cyrillic, Hebrew) CCVS (Credit Card Verification System) SOAP Cybercash ASPELL/PSPELL
PHP Model Source: <?php echo(“Hello World!”); ?> Menjadi: Hello World!
Notasi PHP
Boolean Untuk literal boolean: true atau false Berikut dianggap bernilai false, jika –Nilai boolean FALSE –Nilai integer 0 atau float 0.0 –String yang kosong, atau string “0” –Array dengan elemen kosong –NULL (termasuk unset variabel)
Contoh Integer Nilai literal integer yang valid: –$a = 1234; –$a = -123; –$a = 0123; #octal number –$a = 0x123; #hexa number Jika nilai literal integer melebihi range Integer, otomatis PHP akan mengkonversi ke tipe float Konversi ke Integer: –Nilai boolean FALSE => 0, TRUE => 1 –Casting (int). Contoh: $a = (int) (25/7); # int(3) $a = round(25/7); # float(4)
Float Ukuran float tergantung pada platform, walaupun maksimum ~1.8e208 (64 bit format IEEE) –$a = 1.234; –$b = 1.2e4; –$c = 7E-10;
String Literal string dideklarasikan baik dengan –Petik ganda (“ “). contoh: $a = “Nama: $nama\n”; –Petik tunggal (' '). contoh: $b = 'c:\*.*'; –Heredoc. Contoh: $c = <<<EOD Ini testing EOD; Pengaksesan karakter string –$a = “ini test”; –$pertama = $a{0}; –$ketiga = $a{2}; –$akhir = $a{strlen($a)-1};
Konversi String ke Angka Contoh: –$a = 1 + “10.5”; –$a = 1 + “-1.3e3”; –$a = 1 + “bob-1.3e3”; –$a = 1 + “bob3”; –$a = 1 + “10 ayam kate”; –$a = 1 + “10.2 ayam kate”; –$a = “10.0 ayam” + 1;
array Simple array: $a = array(1, 2, 3, 4, 5); print_r($a); foreach($a as $i => $value) { unset($a[$i]); } print_r($a); $a[] = 6; print_r($a); $a = array_values($a); $a[] = 7; print_r($a);
Custom Array Contoh pembuatan array dengan custom key <?php // This array is the same as... array(5 => 43, 32, 56, "b" => 12); //...this array array(5 => 43, 6 => 32, 7 => 56, "b" => 12); ?>
Array Multidimensi
NULL NULL menyatakan variabel yang tidak ada nilainya Sebuah variabel NULL, jika –Dinyatakan sebagai NULL dengan opertor = –Belum pernah diberikan suatu nilai literal –Telah di unset() Untuk mengecek apakah variabel NULL atau tidak, dapat digunakan fungsi is_null()
Konvensi PHP Aturan nama variabel PHP mengikuti konvensi seperti bahasa pemrograman lainnya Untuk membuat referensi ke variabel lain $a = “test”; $b = &$a; # referensi $b = “ayam”; echo ($a. ' == '. $b); Variabel dari variabel $a = “hello”; $$a = “world”; echo “$a ${$a}”; echo “$a $hello”;
Ruang Lingkup Contoh berikut, variabel $a dapat diakses dari dalam file include atau require <?php $a = 1; include "b.inc"; ?> Variabel bersifat lokal dalam suatu fungsi <?php $a = 1; /* global scope */ function Test() { echo $a; /* menunjuk ke lokal variabel */ } Test(); ?>
Operator Aritmatika Assignment
Operator Perbandingan
Ternary operator <?php // Contoh Ternary Operator $action = (empty($_POST['action'])) ? 'default' : $_POST['action']; // sama dengan if/else berikut: if (empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; } ?>
Perbandingan <?php if ($a > $b) { echo "a is bigger than b"; } elseif ($a == $b) { echo "a is equal to b"; } else { echo "a is smaller than b"; } ?>
Struktur While <?php $i = 1; while ($i <= 10) { echo $i++; } $i = 1; while ($i <= 10): echo $i; $i++; endwhile; ?> <?php $i = 10; do{ echo $i; }while($i>=1); ?>
Struktur for
Foreach (1) <?php $arr = array("one", "two", "three"); reset($arr); while (list($key, $value) = each ($arr)) { echo "Key: $key; Value: $value \n"; } foreach ($arr as $key => $value) { echo "Key: $key; Value: $value \n"; } ?>
Foreach (2) <?php $arr = array("one", "two", "three"); reset ($arr); while (list(, $value) = each ($arr)) { echo "Value: $value \n"; } foreach ($arr as $value) { echo "Value: $value \n"; } ?>
Switch
Switch (2)
Kilas balik WML Wireless Markup Language (WML) –Dokumen berbasis XML untuk dipresentasikan pada micro browser WML dipertukarkan melalui protokol Wireless Application Protocol (WAP) WML merupakan aplikasi XML, sehingga aturan nya mengikuti XML Ukuran maksimum WML deck 1492 byte.
Komunikasi Komunikasi antara web server dengan perangkat nirkabel WAP-enabled, membutuhkan WAP Gateway
Wmlheader.inc
MIME apache MIME: Multipurpose Internet Mail Extensions Agar Apache dapat menterjemahkan tipe file yang diminta oleh user, Apache harus tahu tipe MIMEnya Untuk WML –AddType application/x-httpd-php.wml –AddType application/x-httpd-php3.wml –AddType text/vnd.wap.wml.wml –AddType image/vnd.wap.wbmp.wbmp
WML
Wap2.php
Mengirim Deck 1 ( 1.php): –Kirim header WML. –Masukkan penerima . –Masukkan subjek . –Masukkan pesan . –Kirim informasi ke deck kedua ( 2.php) Deck 2 ( 2.php): –Kirim ke penerima. –Konfirmasi ke user bahwa telah terkirim
1.php
2.php
Berhasil!