Professional Documents
Culture Documents
Disusun oleh:
Moh. Sofyan S. Thayf, S.T., M.CS.
2
Introduction
World Wide Web (WWW) atau dengan singkat sering disebut web adalah satu bentuk
media informasi dan komunikasi dan merupakan aplikasi terpopuler atau paling banyak
dimanfaatkan dalam jaringan internet. Melalui sarana web, berbagai bentuk informasi
dapat disampaikan secara interaktif kepada pengguna internet di seluruh dunia.
Secara fisik, web sesungguhnya merupakan rangkaian dokumen berisi teks, gambar, atau
multimedia, yang saling berhubungan ( link) satu dengan yang lain, membentuk rangkaian
informasi lengkap.
Karena merupakan aplikasi dalam jaringan internet yang meliputi seluruh dunia, dimana
penggunanya sangat mungkin memiliki dan menggunakan perangkat dan platform
komputer yang berbeda-beda, maka web harus bersifat universal dan dapat diakses
melalui beragam platform. Karena itu dokumen web ditulis sebagai dokumen hypertext
dengan menggunakan Hyper Text Markup Language (HTML).
HTML merupakan bahasa markup yang dipakai untuk mendefinisikan isi, layout, dan
format sebuah dokumen. Representasi dokumen yang dihasilkan bergantung pada kode -
kode HTML yang dituliskan untuk dokumen tersebut. Dengan HTML , sebuah dokumen
dengan penampilan yang kompleks dapat disajikan hanya dengan menuliskan kode -kode
HTML yang berbasis plain text (file berformat teks, bukan file biner). Karena itu
dokumen web disebut dokumen hypertext, dan karena itu pula dokumen web dapat
ditransmisikan dan dibaca dengan mudah di seluruh dunia sekalipun pada platform yang
berbeda-beda
Dokumen web dapat dibuat secara statik maupun dinamik. Web statik merupakan
dokumen web yang dibentuk dengan menggunakan HTML murni, dikatakan statik karena
isinya bersifat tetap atau tidak berubah sampai dilakukan perubahan pada kode HTML -
nya. Web dinamik adalah dokumen web yang isinya bisa berubah disesuaikan dengan
berbagai keadaan seperti waktu, tempat, ataupun pilihan pengguna. Dokumen web
dinamik dibentuk dengan menggunakan pemrograman yang menghasilkan HTML
sebagai bentuk output
3
1
Pengantar Web Programming
4
server jika harus melayani jumlah pengguna yang banyak secara bersamaan ( concurrent).
Karena itu dalam disain program, ef isiensi perlu menjadi perhatian.
Bahasa pemrograman yang peling populer untuk pemrograman web client-side adalah
JavaScript, dan bahasa-bahasa yang banyak di pakai untuk pemrograman server-side
antara lain PHP, Perl, Python, ASP, JSP, dan lain -lain, namun dalam tutorial ini, kita
membatasi hanya pada bahasa pemrograman PHP yang banyak digunakan dan relatif
mudah untuk dipelajari.
JavaScript
JavaScript pertama kali dikembangkan oleh Brendan Eich pada Netscape Navigator
2.0, pada tahun 1996, dan hingga saa t ini dapat dijalankan pada hampir semua browser
populer terbaru. Standart JavaScript disahkan oleh ISO pada tahun 1998 dan sampai saat
ini masih terus dikembangkan.
Java dan JavaScript adalah dua bahasa yang sama sekali berbeda, baik dari segi konsep
maupun disain.
Java (dikembangkan oleh Sun Microsystems) adalah bahasa pemrograman yang sangat
kompleks dan powerful seperti C atau C++.
5
Script JavaScript bisa ditempatkan pada bagian <head> , pada bagian <body>, ataupun
pada <head> dan <body> sekaligus dari HTML, disesuaikan dengan dimana JavaScript
diperlukan
<html>
<head>
<script type="text/javascript">
....
</script>
</head>
<html>
<head>
</head>
<body>
<script type="text/javascript">
....
</script>
</body>
JavaScript juga dapat disimpan pada file eksternal yang nantinya di -include ke dalam
dokumen HTML
<html>
<head>
<script src="namafile.js"></script>
</head>
<body>
</body>
</html>
Cara ini memungkinkan penggunaan bersama satu set kode JavaScript untuk sejumlah
dokumen HTML tanpa harus menuliskannya kembali di setiap dokumen.
Sebagaimana layaknya bahasa pemrograman, JavaScript ditulis dalam bentuk urutan
statemen, eksekusi akan dilakukan oleh browser dan setiap statemen output JavaScript
hasilnya akan langsung ditampilkan oleh browser.
Contoh:
<script type="text/javascript">
document.write("<h1> Judul Halaman</h1><hr>");
document.write("<p> Ini paragraf pertama </p>");
document.write("<p> Ini paragraf kedua </p>");
</script>
if (time<10)
{
6
document.write("<b>Selamat Pagi</b>");
}
</script>
JavaScript Function
Untuk mencegah agar script tidak langsung dieksekusi oleh browser, kode JavaScript
dapat disimpan dalam bentuk function. Function akan dieksekusi melalui pemanggilan
function tersebut atau dipicu oleh sebuah event (lihat Event JavaScript). Pemanggilan
function dapat dilakukan oleh kode JavaScript lain di seluruh bagian dokumen HTML
Function pada JavaScript dapat dituliskan pada bagian <head> maupun <body> dari
HTML, termasuk melalui pemanggilan JavaScript sebagai file eksternal (file .js) , namun
untuk memastikan function telah dibaca atau di-load oleh browser, dan untuk function
yang akan digunakan/dipanggil berulangkali dalam sebuah dokumen, sebaiknya function
JavaScript di simpan di bagi an <head> dari dokumen HTML.
<html>
<head>
<script type="text/javascript">
function tampilpesan()
{
alert("Hello World!");
}
</script>
</head>
<body>
<form>
<input type="button" value=" Coba diKlik!" onclick="tampilpesan()">
</form>
</body>
</html>
var1, var2, sampai varX adalah parameter yang akan dilewatkan pada function. Function
tanpa parameter tetap menggunakan t anda kurung () pada nama function.
Jika function menghasilkan nilai balik/nilai hasil ( return value) maka digunakan
statement return.
function prod(a,b)
{
x=a*b;
return x;
}
7
Jika function di atas di panggil dengan sintaks
hasil=prod(2,3);
maka variabel hasil akan bernilai 6, karena function prod() menghasilkan nilai balik
berupa hasil kali kedua parameternya ( a dan b).
<body bgcolor='ddeeff'>
<a href="http://webmail.kharisma.ac.id"
target="_blank" onclick="alert('Maaf, sedang offline..')">
<img border="0" alt="Webmail KHARISMA"
src="webmail_b0.jpg" name="b1"
onmouseOver="mouseOver()"
8
onmouseOut="mouseOut()" >
</a>
</body>
</html>
Penulisan kode JavaScript bersifat case -sensitive, sehingga dalam menulis kode
JavaScript, penggunaan huruf kecil dan huruf besar harus diperhatikan. Umumnya
reserverd word dari JavaScript seperti function dan return ditulis dalam huruf kecil
PHP
PHP adalah singkatan dari “PHP: Hypertext Preprocessor” , merupakan bahasa
scripting yang bekerja di sisi server, yang banyak digunakan untuk pengembangan
aplikasi web. PHP dikembangkan oleh Rasmus Lerdof sejak tahun 1997 pada server
web Apache. Server web Apache sendiri saat ini merupakan server web terpolpuler dan
sudah tersedia dalam berbagai platform server seperti UNIX, Linux, Windows, dan Mac.
Sintax PHP
Kode PHP selalu ditulis di dalam blok yang di awali dengan tanda <?php dan diakhiri
dengan ?>, atau dapat juga di tulis dengan bentuk singkat <? dan ?>. Akan tetapi untuk
mendapatkan kompatibilitas maksimum, dianjurkan untuk menggunakan bentuk yang
pertama
<?php
.. kode php di sini ..
?>
Karena pada dasarnya akan menghasilkan kode HTML yang ak an membentuk dokumen
web, maka file source code PHP akan terlihat seperti file HTML yang disisipi dengan
kode-kode PHP
<html>
<body>
<?php
echo "Hello World";
?>
</body>
</html>
Setiap baris perintah PHP diakhiri dengan tanda semicolon (;), dan file berisi kode PHP
disimpan dengan ekstensi .php, .php3, atau .phtml. Jika file HTML yang mengandung
kode PHP disimpan dengan ekstensi .html, maka kode -kode PHP tersebut akan terbaca
sebagai isi dokumen.
9
Variabel pada PHP
Variabel digunakan untuk menampung nilai t ertentu berupa data text atau data nilai
tertentu selama eksekusi program. Variabel pada PHP sangat fleksibel, tidak seperti
kebanyakan bahasa pemrograman yang mengharuskan sebuah variabel dan tipenya
dideklarasikan terlebih dahulu sebelum digunakan, pada PHP tidak perlu ada deklarasi
variabel dan tipe data aan ditentukan otomatis pada saat digunakan pertama kali sesuai
dengan nilai yang diberikan
<?php
$txt = "Hello World!";
$number = 16;
?>
Nama variabel pada PHP selalu didahului dengan tanda $, dengan aturan penamaan yang
sama seperti bahasa pemrograman lain nya, antara lain seperti dimulai dengan huruf atau
underscore ( _ ) setelah tanda $, tidak dimulai dengan angka dan tidak mengandung spasi
atau tanda baca
Kode PHP tidak akan terlihat jika kita mencob a menggunakan fasilitas View Source dari
browser, akan yang terlihat hanya kode -kode HTML murni karena semua kode PHP
sudah diinterpretasi oleh server dan menghasilkan output HTML sebelum di kirim ke
client
Lebih jauh tentang PHP dan pemanfaatannya bersa ma JavaScript dalam pemrograman
web akan di uraikan dalam pembahasan -pembahasan selanjutnya.
10
2
Teknik Pemrograman
Struktur Kontrol
Pada prinsipnya, program dieksekusi secara berurutan (sekuensial) mulai dari baris
pertama hingga baris terakhir dari kode program. Namun karena berbagai kondisi logika,
seperti pemilihan dua nilai atau lebih, atau proses yang harus dilakukan berulang -ulang,
maka dikenal tiga struktur kontrol dalam pemrograman:
Sekuensial
Pencabangan
Perulangan
Karena struktur sekuensial merupakan sifat natural dari program, maka tidak ada
statement khusus untuk kontrol sekuensial, tetapi untuk pencabangan dan perulangan
terdapat sejumlah statement khusus yang bisa digunakan sesuai keperluan
Contoh:
<html>
<body>
<?php
$d=date("D");
if ($d == "Fri")
echo "Selamat berakhir pekan !";
else
echo "Selamat bekerja!";
?>
</body>
</html>
11
Jika kode yang akan dieksekusi lebih dari satu baris, maka kode harus ditulis dalam blok
yang ditandai dengan tanda kurung kurawal {}
<html>
<body>
<?php
$d=date("D");
if ($d == "Fri")
{
echo "Halo!<br />";
echo "Selamat berakhir pe kan!";
echo "Sampai jumpa!";
}
?>
</body>
</html>
Contoh:
<html>
<body>
<?php
$d=date("D");
if ($d == "Fri")
echo "Selamat berakhir pekan";
elseif ($d == "Sun")
echo "selamat berhari minggu!";
else
echo "Selamat bekerja!";
?>
</body>
</html>
12
switch (ekspresi)
{
case nilai1:
.. kode yang akan dijalankan jika ekspresi = nilai1.. ;
break;
case nilai2:
.. kode yang akan dijalankan jika ekspresi = nilai2.. ;
break;
default:
kode yang akan dijalankan
jika ekspresi tidak sama dengan
nilai-nilai yang tersedia ;
}
Contoh
<html>
<body>
<?php
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</html>
Stetemen break digunakan untuk keluar dari statemen switch dan mencegah eksekusi
baris di bawahnya apabila satu pilihan telah memen uhi. Pilihan default akan diambil
apabila tidak ada nilai yang sama dengan ekspresi.
13
Contoh
<html>
<body>
<?php
$i=1;
while($i<=5)
{
echo "nomor urut: " . $i . "<br>";
$i++;
}
?>
</body>
</html>
Perulangan dalam statemen WHILE pada prinsipnya tak berhingga, karena itu selalu
dibutuhkan cara untuk mengatur dan membatasi perulangan seperti penggunaan counter
(penghitung). Pada contoh, statemen $i++ yang berarti penambahan nilai (increment)
variabel $i dengan 1 berfungsi sebagai counter. Tanpa adanya pembatasan perulangan,
proses perulangan tidak akan berhenti dan menyebabkan program gagal bekerja
Contoh:
<html>
<body>
<?php
$i=1;
do
{
echo "nomor urut: " . $i . "<br>";
$i++;
}
while($i<=5)
?>
</body>
</html>
14
Perulangan dengan FOR
Untuk proses perulangan yang jumlah perulangannya sudah diketahui, digunakan
statemen FOR.
for (nilai_awal; kondisi; increment)
{
..Kode yang akan di jalankan
selama kondisi masih memenuhi..
}
Jumlah perulangan pada statemen FOR ditentukan dari kombinasi nilai_awal , kondisi ,
dan increment , sehingga tidak membutuhkan counter di dalam proses perulangannya
Contoh
<html>
<body>
<?php
for ($i=1; $i<=5; $i++)
{
echo "Selamat Malam Dunia!<br >";
}
?>
</body>
</html>
15
function tulis_nama()
{
echo "Sofyan Thayf";
}
//pemanggilan procedure
Tulis_nama();
?>
</body>
</html>
Contoh function:
<html>
<body>
<?php
// deklarasi function
function add($x,$y)
{
$total = $x + $y;
//Pemanggilan function
$hasil = add(1,16);
echo $hasil;
?>
</body>
</html>
Tanda {} merupakan tanda awal dan akhir blok function, kode -kode dari function/
procedure dituliskan di antara dua tanda tersebut. Variabel $x dan $y pada contoh
function merupakan parameter untuk memberikan nilai masukan kepada function atau
procedure.
Function menghasilkan nilai, sehingga function dapat dianggap sebuah nilai, dan sebuah
nilai tidak dapat dituliskan berdiri sendiri, karena itu pemanggilan function harus
dinyatakan dalam bentuk ekspresi (pernyataan) atau bersama stat emen lain
16
Sejumlah function/procedure buatan sendiri (user defined function) dapat dikoleksi dalam
file tersendiri sebagai library dan dipanggil dari file program PHP yang lain dengan
function include() , atau require() yang merupakan function bawaan dari PHP
<html>
<body>
<?php include("header.php"); ?>
</body>
</html>
<html>
<body>
<?php require("header.php"); ?>
</body>
</html>
include() dan require() pada prinsipnya memiliki fungsi dan cara kerja yang sama,
tetapi berbeda pada penanganan error akibat kesalahan nama file yang di -include atau file
yag dimaksud tidak ada. Function include() hanya akan memberikan warning atau
pesan kesalahan dan melanjutkan ekseskusi program, sedangkan require() akan
menghentikan proses eksekusi program setelah memberikan warning..
Untuk integritas progam, sangat dianjurkan untuk menggunakan require() untuk meng-
include-kan file eksternal atau library/koleksi fungsi ke dalam program.
Dengan mengoleksi function/procedure sebagai library, akan menghemat waktu
pengembangan aplikasi-aplikasi berikutnya, karena function yang dikoleksi nantinya bisa
dimanfaatkan kembali (reuse) dengan mudah.
PHP sudah menyediakan sejumlah besar built -in function yang siap digunakan untuk
berbagai keperluan, referensi lengkap tentang koleksi built -in function dapat dilihat di
manual PHP (http://www.php.net/manual/en/)
17
3
Pemrosesan Web Form
Form HTML
Form (formulir) pada halaman web merupakan sarana untuk menerima input/masukan
dari pembaca/pengguna web, untuk berbagai keperluan seperti registrasi user, login user,
feedback pembaca, buuk tamu, survey on-line, dan lain-lain.
Untuk menggunakan form HTML, digunakan pasangan tag <FORM> .. </FORM> dan di
dalamnya di tuliskan sejumlah tag lain sebagai sarana ionput data
<html>
<body>
<form>
<input …>
<input …>
<input …>
</form>
</body>
</html>
Form pada HTML menyediakan sejumlah sar ana input seperti: text, password, radio-
button, checkbox, option, textarea
Text box
Untuk pengisian teks singkat seperti nama, nama user, alamat, atau sejenisnya digunakan
tag <input> bertipe text
<html>
<body>
<form>
Nama Depan: <input type=’text’ name=’nama1’><br>
Nama Belakang: <input type=’text’ name=’nama2’> <br>
Alamat: <input type=’text’ name=’alamat’> <br>
Kota: <input type=’text’ name=’kota’ value=’Makassar’> <br>
Email: <input type=’text’ name=’email’><br>
</form>
</body>
</html>
Atribut name pada tag <input> merupakan identitas dari elemen input pada form yang
nantinya akan mewakili data yang dimasukkan, karena itu harus bersifat unik. Atribut
value digunakan untuk memberikan nilai awal atau nilai default dari isian.
18
Password
Input bertipe password , pada dasarnya sama dengan input bertipe text, hanya saja saat
pengetikan pada kotak isian password, karakter yang diketikkan akan disembunyikan
<html>
<body>
<form>
Nama User: <input type=’text’ name=’nama1’><br>
Password: <input type=’password’ name=’pass1’><br>
Verifikasi Password: <input type=’password’ name=’pass2’><br>
</form>
</body>
</html>
Radio Button
Untuk isian yang berbentuk pilihan , digunakan tag <input> bertipe radio (radio button)
<html>
<body>
<form>
Jenis Kelamin: <input type=’radio’ name=’lp’ value=’L’> Laki-laki
<input type=’radio’ name=’lp’ value=’P’> Perempuan <br>
</form>
</body>
</html>
Atribut name pada tipe radio agak unik, nama yang sama digunakan untuk sejumlah
input tipe radio yang merupakan pilihan unt uk satu nilai. Nilai yang nantinya diambil
adalah value dari input radio yang dipilih
Checkbox
Untuk isian pilihan yang memungkinkan pemilihan lebih dari satu biasanya digunakan
input tipe checkbox
<html>
<body>
<form>
Hoby: <br>
<input type=’checkbox’ name=’baca’>Membaca <br>
<input type=’checkbox’ name=’sport’>Olahraga <br>
<input type=’checkbox’ name=’oto’>Otomotif <br>
</form>
</body>
</html>
Nilai yang akan dikirim adalah nilai logika True jika checkbox bersangkutan terpilih,
atau False jika checkbox tidak dipilih
19
Submit dan Reset
Tipe input submit dan reset bukan untuk membuat isian data, tetapi digunakan untuk
menampilkan tombol yang jika di klik akan mengakhiri pengisian form dan mengirimkan
datanya untuk diproses (submit) atau untuk membatalkan/mengosongkan isian form
<html>
<body>
<form>
<input type=’submit’ value=’Registrasi’>
<input type=’reset’ value=’Batal’>
</form>
</body>
</html>
Tipe submit dan reset tidak memerlukan nama, atribut value digunakan untuk
menuliskan teks pada tombol
Hidden
Jika terdapat data yang bersifat default dan tidak memerlukan masukan dari
pembaca/pengguna yang akan ikut dikirim bersama form, dapat digunakan tipe input
hidden
<html>
<body>
<form>
<input type=’hidden’ name=’cla ss’ value=’Indosat’>
<input type=’hidden’ name=’trainer’ value=’STMIK KHARISMA’>
</form>
</body>
</html>
Tipe input hidden tidak akan tampil dihalaman web, tetapi nama dari atribut name dan
data yang disikan pada atribut value akan ikut dikirim pada saat form di -submit
20
</html>
Nilai yang akan dikirim adalah value dari option yang terpilih
Text Area
Jika isian berupa teks yang panjang seperti komentar pada buku tamu, atau artikel online,
digunakan tag <textarea></textarea> yang memungkinkan pengi sian data teks yang
panjang dalam banyak baris
<html>
<body>
<form>
Keterangan Tambahan: <br>
<textarea name=’ctt’ rows=5 cols=40></textarea>
</form>
</body>
</html>
Atribut rows dan cols menentukan ukuran tampilan textarea sebanyak jumlah baris
(rows) dan jumlah kolom (cols). Isian yang melebihi jumlah rows tetap dimungkinkan
dan textarea akan menampilkan penggulung ( scrollbar)
Validasi Form
“Garbage in, garbage out”, jika sampah yang masuk maka sampah juga yang akan
keluar, ungkapan ini masih selalu digunakan untuk mengingatkan agar selalu memastikan
bahwa data yang diinput sudah merupakan data yang valid dan benar agar tidak terjadi
kesalahan proses dan mengakibatkan kesalahan output atau informasi yang akan
dihasilkan.
Web merupakan media dengan kar akteristik pengguna yang sangat beragam, baik dari
segi tingkat pendidikan hingga perilaku, sehingga disainer web tidak bisa menganggap
bahwa pengguna selalu mengerti tentang informasi yang disajikan dan akan memberikan
informasi yang selalu valid melalui form. Karena itu proses validasi form selalu harus
menjadi perhatian.
Validitas data disini tidak termasuk kebenaran data dalam arti kesesuaian dengan fakta,
tetapi lebih kepada kualitas fisik data, seperti memastikan tidak terjadi kesalahan entri
tanggal 30-02-1008 (tidak ada tanggal 30 di bulan Februari), alamat email mengandung
spasi atau dengan dua tanda @, field/isian yang wajib diisi, verifikasi password yang
tidak sama, dan lain sebagainya.
Validasi dapat dilakukan baik di sisi client, maupun di sisi server. Validasi di sisi client
dianjurkan karena proses bisa lebih cepat dan tidak/belum melibatkan koneksi ke server.
Validasi di sisi server juga memiliki keuntungan karena bisa langsung di lakukan
verifikasi dengan data pembanding dari koleksi databa se yang ada. Semakin banyak titik
untuk melakukan validasi semakin menjamin bahwa data yang masuk bukan data
sampah.
21
Validasi di sisi client akan di proses sebelum data dari form dikirimkan, karena itu proses
akan lebih cepat karena hanya melibatkan proses di browser.
Contoh validasi di sisi client untuk isian yang wajib di isi ( required fields)
<html>
<head>
<script type="text/javascript">
function wajib_di_isi(field,pesan)
{
with (field)
{
if (value==null || value=="")
{
alert(pesan);
return false;
}
else
{
return true
}
}
}
function validasi_form(thisform)
{
with (thisform)
{
if ( wajib_di_isi(email,"Alamat Email harus di isi!") == false )
{
email.focus();
return false;
}
}
}
</script>
</head>
<body>
</form>
</body>
</html>
Atribut onsubmit adalah event yang akan memanggil fungsi validasi_form() yang
akan memeriksa isi field tertentu
22
Pemrosesan Form
Untuk dapat diproses lebih lanjut data form akan dikirim ke server, dan akan diproses
oleh server-side program. Untuk itu form haruis diberi atribut untuk memberikan
informasi nama file prgram yang akan memprosesnya di sisi server
<form action=”regist.php” method=”post” >
</form>
Atribut action di isi dengan informasi nama file yang akan memp roses data form di sisi
server (dalam contoh: file regist.php), dan atribut method digunakan untuk menentukan
metode pengiriman data ke server, ada dua metode yangbisa digunakan, metode GET dan
metode POST.
Metode GET akan mengirimkan data melalui request URL ke server, sedangkan metode
POST akan mengrimkan data form melalui koneksi tersendiri ke server.
Di sisi server semua nilai atribut name pada form akan dibaca sebagai variabel jika
setting REGISTER_GLOBAL pada server diset ON, dan akan dibaca sebagai array jika
REGISTER_GLOBAL pada server di-set OFF.
// regist.php
// untuk REGISTER_GLOBAL yang di -set ON
<?php
echo “Alamat email anda: “. $email ;
?>
// regist.php
// untuk REGISTER_GLOBAL yang di -set OFF
<?php
$mail = $_POST[‘email’] ;
Untuk alasan keamanan, disarankan untuk REGISTER_GLOBAL pada server di-set OFF.
Pembacaan array $_GET atau $_POST disesuaikan dengan metode pengiriman data form
23
4
Akses Data
MySQL
Database adalah kumpulan data yang besar, yang memiliki struktur dan atribut tertentu,
sehingga mudah untuk diorganisasi, dipanggil kembali ( retrieve), atau dimodifikasi.
MySQL adalah salah satu Database Manajemen System (DBMS) yang populer dan
banyak digunakan, bahkan menjadi standar de-facto untuk database bagi layanan berbasis
web dengan digunakannya MySQL oleh situs -situs besar di internet seperti Yahoo dan
Google.
Tabel
Field Field Field Field
record
Tipe Data
Atribut/field dari data memiliki tipe dan ukuran tertentu sesuai dengan jenis da ta yang
akan disimpan. Pada umumnya terdapat tiga tipe data utama, yaitu
tipe data numerik,
tipe data teks, dan
tipe data tanggal
24
Data Numerik Keterangan
int(size) Menyimpan data bilangan bulat ( integer)
smallint(size)
tinyint(size)
mediumint(size)
bigint(size)
decimal(size,d) Menampung data bilangan pecahan (real)
double(size,d)
float(size,d)
SQL
Structured Query Language (SQL) adalah merupakan standar bahasa khusus untuk
melakukan query (permintaan) data dari database, yang sudah dipakai pada banyak
DBMS, termasuk MySQL, dan juga sudah dapat digunakan pada banyak bahasa
pemrograman untuk mengakses server database.
Berdasarkan fungsinya, statenmen SQL dikelompokkan dalam dua kelompok, yaitu
kelompok Data Definition Language (DDL) dan kelompok Data Manipulation Language
(DML)
25
Data Definition Language
Statemen-stateman SQL dalam kelompok DDL , lebih banyak di gunakan untuk
membentuk dan/atau memodifikasi struktur database dan struktur table dalam database,
karena itu disebut Data Definition.
Statemen yang banyak digunakan dalam kelompok DDL ini, antara lain:
CREATE DATABASE , digunakan untuk membuat database ba ru
CREATE DATABASE namadatabase;
CREATE TABLE digunakan untuk mendefinisikan dan membuat struktur sebuah tabel
dengan sejumlah field beserta tipe dan ukurannya
CREATE TABLE namatable(
Field1 type(ukuran),
Field2 type(ukuran),
Field3 type(ukuran),
);
// cara 1
INSERT INTO namatable(Field1, Field2, Field3) VALUES (‘nilai1’,
nilai2’, ‘nilai3’) ;
// cara 2
INSERT INTO namatable SET Field1=‘nilai1’, Field2=‘nilai1’,
Field3=’nilai3’) ;
SELECT digunakan untuk memanggil/mencari data dengan atribut dan kriteria tertentu
dari satu atau lebih tabel
// contoh 1
SELECT * FROM namatable;
WHERE digunakan bersma-sama dengan statemen lain untuk menentukan kriteria data
yang akan dimanipulasi
26
// contoh 1
SELECT * FROM user WHERE nama=’sofyan’;
// contoh 1
SELECT * FROM user WHERE nama=’sofyan’ ORDER BY nama;
UPDATE digunakan untuk merubah satu atau beberapa baris data, digunakan bersama
statemen WHERE untuk menentukan kriteria data yang ak an dirubah
DELETE digunakan untuk menghapus satu beberapa baris data, digunakan bersama
statemen WHERE untuk menentukan kriteria data yang akan dihapus.
PHP-MySQL
Sejumlah function telah tersedia pada PHP untuk melakukan akses data ke server
database yang menggunkaan MySQL
27
{
die('Could not connect: ' . mysql_error());
}
mysql_close($konek );
?>
Untuk nama host, jika script PHP berada di server web pada mesin yang sama dengan
server MySQL maka bisa digunakan ‘localhost’, jika berada pada mesin yang berbeda,
digunakan IP address dari host dimana MySQL server di jalankan.
Untuk menutup koneksi, digunakan mysql_close()
Membuka Database
Seteleh terkoneksi ke server MySQL, database yagn akan di akses harus dibuka terlebih
dahulu sebelum melakukan manipulasi (meliputi searching, retrieving, editing, atau
deleting) terhadap data. Untuk membuka database, digunakan mysql_select_db(
‘namadatabase’)
<?php
$konek = mysql_connect("localhost"," sofyanthayf’,"250708 ");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db(‘databaseku’);
mysql_close($konek );
?>
Manipulasi Data
Untuk melakukan manipulasi data pada MySQL, digunakan query dalam bahasa SQL
berbentuk string query. Untuk mengirimkan string query dalam bahasa SQL dari PHP,
digunakan function mysql_query( string_query ). Strnig query SQL dilewatkan
sebagai parameter pada function mysql_query() dan hasilnya ditampung pada sebuah
variabel sebagai kontainer.
<?php
$hasilq = mysql_query(“SELECT * FROM user”);
// variabel $hasilq adalah kontainer yang
// menampung hasil query
?>
28
Untuk mengekstrak data hasil query digunakan function mysql_fetch_row(
hasil_query ) atau function mysql_fetch_array( hasil_query ) dengan variabel
kontainer hasil query mysql_query() dilewatkan sebagai parameter.
Karena hasil query biasanya berisi sejumlah baris data (tuples), maka biasanya ekstraksi
data menggunakan function mysql_fetch_row() atau function mysql_fetch_array()
dilakukan dalam perulangan
<?php
$hasilq = mysql_query(“SELECT * FROM user”);
while( $dt = mysql_f etch_row( $hasilq ) )
{
echo $dt[0];
echo $dt[1];
echo $dt[2];
}
?>
Jika menggunakan mysql_fetch_row() , data dibaca sebagai array dengan nomor indeks
sesuai dengan urutan field yang di query (indeks 0 adalah field pertama), sedangkan jika
menggunakan function mysql_fetch_array(), maka data dibaca sebagai array dengan
indeks bisa menggunakan nomor urut field, atau bisa juga menggunakan string nama field
<?php
$hasilq = mysql_query(“SELECT * FROM user”);
while( $dt = mysql_fetch_array( $hasilq ) )
{
echo $dt[‘namauser’];
echo $dt[‘alamat’];
echo $dt[‘telepon’];
}
?>
?>
Untuk menghitung junlah baris hasil query yang menggunakan string query INSERT,
UPDATE , dan DELETE , dibunakan function mysql_affected_rows(hasil_query)
29
5
Array
Array adalah variabel yang dapat menampung lebih dari satu data dengan hanya satu
nama variabel. Sejumlah data, yang umumnya sejenis, dapat ditangani dengan mudah
hanya dengan menggunakan satu nama variabel. Setiap data menjadi elemen array yang
masing-masing memiliki nomor index atau ID s ebagai pengenal setiap elemen
<?php
$var[index] = data1;
$var[index] = data2;
$var[index] = data3;
?>
Berdasarkan cara pemberian identitas elemennya, array pada PHP dibagi menjadi dua
jenis, yaitu array numerik (numeric array) dan array asosiatif (associative array)
Array Numerik
Array numerik adalah array dengan indeks atau kunci setiap elemennya menggunakan
numerik (numeric ID key) berupa bilangan integer, dengan nomor indeks 0 untuk elemen
pertama
<?php
// contoh pengisian variabel array
$nama = array("Nabigha Yushatia","Salsabil Jalila","Shabrina");
// atau dengan cara lain
$nama[3] = "Chandra Khairani";
$nama[4] = "Hadyan Dwihasan";
$nama[5] = "Farhan Rahmat";
// cara ini otomatis menambah kan data pada posisi elemen terakhir
$nama[] = "Filza Ramadhani";
$nama[] = "Sofyan Thayf";
?>
30
Array Asosiatif
Array asosiatif adalah satu cara yang akan sangat memudahkan apabila sebuah nilai perlu
dihubungkan atau diasosiasikan dengan nilai lain yang menjadi elemen array.
<?php
$buah = 'pisang';
?>
Satu keuntungan dari array asosiatif pada PHP adalah dengan dimungkinkannya
penggunaan string sebagai ID dari elemen array, akan memudahk an dalam penulisan
program karena jenis data dari elemen array dapat diketahui dari ID, sehingga
memperkecil kemungkinan kesalahan penanganan data array. Hal ini sangat membantu
untuk penanganan data dari field-field database
<?php
$mhs[‘nim’] = "52008002";
$mhs[‘nama’] = "Abdul Munir";
$mhs[‘tglahir’] = "1982-04-22";
?>
Array multidimensi
Jika setiap elemen dari sebuah array berisi array lagi, amaka akan membentuk array 2
dimensi. Elemen dari array dapat terbentuk dari array lagi, dan elemen dari sub-array
juga dapat berisi array, dan seterusnya, membentuk array multi-dimensi
<?php
// array 2 dimensi
$mhs[0][‘nim’] = "52004002";
$mhs[0][‘nama’] = "Abdul Munir";
$mhs[0][‘tglahir’] = "1982-04-22";
$mhs[1][‘nim’] = "52004005";
$mhs[1][‘nama’] = "Hamdan Arfandi";
$mhs[1][‘tglahir’] = "1980-09-12";
$mhs[2][‘nim’] = "52004015";
$mhs[2][‘nama’] = "Junaedi";
$mhs[2][‘tglahir’] = "1979-06-16";
31
// cara lain
$mhs[] = array(‘nim’=>‘52004023’,
‘nama’=>‘Rosmala’,
‘tglahir’=>‘1982-08-08’ );
?>
?>
?>
32
6
Manipulasi String
Operasi String
$em = $_GET[‘email’];
if ( isEmpty( trim( $em ) ) )
{
echo “Alamat email tidak diisi!’;
}
?>
Function trim() digunakan untuk menghilangkan spasi di depan atau di belakang string,
karena spasi tetap dianggap sebagai string.
Cara lain untuk memeriksa string kosong adalah dengan function strlen()
<?php
$em = $_GET[‘email’];
if ( strlen( trim( $em ) ) == 0 )
{
echo “Alamat email tidak diisi!’;
}
?>
Pada prinsipnya strlen() berfungsi untuk menghitung jumlah karakter dalam string
Membandingkan String
PHP menyediakan dua operator perbandingan untuk mebandingkan string, yaitu == dan
===. Operator == akan meng-casting (mengkonversi tipe) variabel yang berisi data
bertipe non-string menjadi string sebelum membandingkan, sementara operator ===
langsung membandingkan, sehingga hasilnya akan bernilai false jika tipe data berbeda.
$n = 3;
$s = ‘3’;
$s == $n --> True
$s === $n --> False
33
Pengulangan
Untuk menuliskan karakter secara berulang, digunakan function str_repeat()
<?php
?>
Pencarian
Ada dua cara dalam PHP untuk melakukan pencarian string di dalam string lain, yaitu
menggunakan function strstr() atau stristr(), dan menggunakan function
strpos()
<?php
$teks = “STMIK KHARISMA Makassar ”;
// case-insensitive
echo stristr( $teks, “A” ) // --> “ARISMA Makassar”
// case-insensitive
echo stripos( $teks, “a” ) // --> 8
?>
Function strstr() mengembalikan dereten string, mulai dari posisi karakter yang dicari,
dan function strpos() mengembalikan nomor urut posisi dari karakter yang dicari dalam
string, hitungan posisi dimulai dari 0.
Function stsrstr() dan strpos() bersifat case-sensitive, sedangkan function
stristr() dan stripos() bersifat case-insensisitive, atau tidak mempedulikan huruf
bvesar atau huruf kecil
34
Manipulasi String
Pemisahan String
Function explode() digunakan untuk memisahkan string dengan separator tertentu.
Nilai balik dari function explode adalah array yang berisi hasil pemecahan string
<?php
$str = “17-08-2008”;
?>
Substring
Substring adalah pengambilan (ekstraksi) satu string dari satu string yang lain, pada
PHP digunakan function substr()
<?php
$teks = “STMIK KHARISMA Makassar” ;
?>
Penggantian String
Untuk melakukan penggantian sebagian dari string digunakan function str_replace()
<?php
$email = “sofyanthayf@yahoo.com” ;
echo $emailaman;
// --> sofyan_at_yahoo.com
?>
35
Karena function str_replace() dapat menerima array sebagai daftar string yagn akan
diganti, maka dapat dimanfaatkan untuk mengganti kata -kata yang kurang sopan dalam
tulisan
<?php
$tdksopan = array(‘bodoh’, ‘goblok’, ‘xxx’ ) ;
$ganti = ‘*!*’;
// contoh
$strinput = ‘hanya anak bodoh dan tolol yang baca xxx’;
?>
Format String
Untuk menampilkan string dalam format tertentu digunakan fungsi printf()
<?php
$str = “RI”;
$thn = “63”;
?>
Tanda %s dan %d adalah type specifier yang menentukan posisi nilai yang akan
ditampilkan beserta tipenya.
Function printf() juga dapat digunakan untuk merepresentasikan data numerik sesuai
format yang diinginkan berdasrakan type specifier-nya
<?php
$n = “65”;
36
// tampilkan sebagai floating point
printf( “%f“, $n ); --> 65.00000
?>
37
7
Cookies dan Session
Web komunikasi data berbasis koneksi yang hanya bekerja berdasarkan request dari
client dan response dari server. Satu sesi koneksi hanya terjadi mulai dari request sampai
response diterima, setelah itu selesai, dalam arti aktiftas selanjutnya merupakan koneksi
baru dan tidak berhubungan dengan aktifitas koneksi sebelumnya.
Untuk aktifitas yang persistent diperlukan informasi tambahan yang akan menjadi sarana
penghubung antara satu sesi koneksi dengan sesi koneksi berikutnya, minimal untuk
mengetahui informasi user atau host pengguna. Untuk itu, disediakan variabel yang akan
menampung data tertentu, dan data tersebut akan di baca kembali untuk memastikan
bahwa itu adalah koneksi persistent.
Teknik dengan penyimpanan variabel ini disebut cookies jika variabel dan data disimpan
di sisi client oleh browser, dan sessions jika data disimpan di server
Cookies
Untuk menyimpan informasi tertentu di sisi browser agar bisa dibaca kembali pada saat
browser yang sama melakukan koneksi, digunakan sarana cookies.
Membuat Cookies
Untuk membuat cookies, digunakan function setcookies()
<?php
?>
<?php
?>
38
<?php
}
else
{
?>
Menghapus Cookies
Untuk menghapus variabel cookies, digunakan function setcookies() dengan parameter
nama variabel yang akan dihapus tanpa nilai/data
<?php
setcookies( “userid” );
// menghapus variabel cookies userid
?>
Variabel cookies juga bisa dihapus secara otomatis setelah beberapa waktu yang
ditentukan (expire time) saat variabel tersebut dibentuk
<?php
?>
Sessions
Keterbatasan cookies adalah karena variabel cookies di simpan di browser client,
sementara untuk alasan security dan privacy, kebijakan browser client bisa berbeda-beda,
termasuk boleh menerima cookies atau tidak.
Solusi lain dari cookies adalah dengan menyimpan variabel dan nilainya di server dengan
mengunakan session.
39
Memulai Session
Untuk memulai session digunakan function session_start() , dan selanjutnya variabel -
variabel session dapat ditambahkan kedalam array asosiatif $_SESSION[]
<?php
session_start();
$_SESSION['username']='Sofyan Thayf';
?>
Setiap session akan mendapatkan session-ID yang nantinya akan dipropagasi ke setiap
halaman yang berhubungan atau membutuhkan variabel -variabel session yang ada.
SID adalah konstanta yang otomatis berisi session-ID dari session yang baru dibuka
Untuk propagasi (penyebaran) session-ID bisa dengan menggunakan
Cookies
Parameter URL (GET method)
Metode propagasi dengan cookies sebenarnya lebih dianjurkan karena lebih aman, tetapi
akan bermasalah dengan ditolaknya cookies oleh browser sesuai kebijakan yang berlaku
di browser masing-masing.
session_start();
echo $_SESSION['username'];
?>
Menutup Session
Untuk menutup session digunakan function session_destroy()
<?php
?>
40
8
Penanganan File
File Teks
Selain menggunakan database, PHP juga dapat menangani file berbasis teks untuk
berbagai keperluan
Untuk membuka file teks digunakan function fopen() dan ditampung pada sebuah
variabel sebagai file handler
<?php
$file = fopen("welcome.txt","r");
?>
fclose( $file );
41
Pembacaan Isi File Teks
Pembacaan isi file dilakukan dengan melakukan perulan gan hingga ditemukan tanda End
Of File (EOF). Pembacaan dapat dilakukan secara baris -per-baris dengan function
fgets(), atau secara karakter-per-karakter dengan mengunakan function fgetc()
Pembacaan secara baris-per-baris
<?php
while(!feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>
while (!feof($file))
{
echo fgetc($file);
}
fclose($file);
?>
File Upload
Untuk banyak keperluan, pengguna/pembaca web biasanya membutuhan sarana untuk
melakukan upload file ke server, misalnya untuk upload foto atau dokumen yang akan di
sharing melalui web. Upload file bisa dilakukan melalui sarana form web.
42
Atribut enctype berguna untuk memberitahu server bahwa data dan file upload
dikirimkan dalam beberapa koneksi terpisah. Karena pengiriman dilakuka n dalam
beberapa koneksi terpisah, maka metode pengiriman yang digunakan adalah metode POST
ID userfile adalah attribut name dari tag <input> tipe file yang digunakan pada form
<?php
$updir = '/var/www/uploads/';
$upfile = $uploaddir.$_FILES['userfile']['name' ];
}
}
?>
43
9
Grafik dan Dokumen
Bekerja Dengan GD
PHP memiliki fasilitas untuk membuat image (gambar) sebagai pelengkap i nformasi pada
dokumen web yang dihasilkan, sehingga image pada halaman web dapat dibuat secara
dinamik juga, tidak statik seperti jika menggunakan image yang sudah jadi hasil dari
program image editor. Namun elemen gambar yang dihasilkan akan sangat bergan tung
pada kreatifitas dan penguasaan atas fungsi -fungsi image PHP
Untuk dapat membuat gambar dengan menggunakan fungsi -fungsi image dari PHP, harus
dipastikan bahwa GD Library pada PHP sudah aktif. GD Library adalah ekstensi dari
PHP yang menyediakan sarana untuk pembuatan image secara on-the-fly.
Membuat Image
PHP dengan GD Library menyediakan cukup banyak fungsi untuk membentuk image on-
the-fly dalam arti image dibentuk saat dibutuhkan dan tanpa bantuan program aplikasi
grafis.
Untuk membuat image on-the-fly digunakan function imagecreate() diikuti dengan
function lain untuk membuat bentuk dan pewarnaan. Untuk menghasilkan output telah
tersedia function khusus untuk menghasilkan output image dalam format yang
diinginkan, seperti
imagegif() , menghasilkan format image GIF
imagepng() , menghasilkan format image PNG
imagejpg(), menghasilkan format image PNG
imagewbmp() , menghasilkan format image WBMP
<?php
$namaf = "test.png";
$teks = "Coba-coba";
header("Content-type: image/png");
44
imagepng($im,$namaf);
imagedestroy($im);
?>
File yang telah disimpan ke output dengan function imagepng() atau sejenisnya dapat
ditampilkan dengan pemanggilan melalui tag <IMG SRC=”namafile”> dari HTML.
Function imagepng() atau sejenisnya tanpa parameter akan langsung menampilka n
image ke browser
Function imagedestroy() digunakan untuk membersihkan memori dari data -data image
handler setelah tidak dibutuhkan lagi.
Overlay Image
Cara yang lebih mudah untuk menampilkan image adalah dengan memanfaatkan image
yang sudah ada lalu di-overlay (ditumpuk) dengan teks dinamik yang diinginkan. Dengan
cara ini penampilan, aspek seni, dan kualitas image bisa lebih baik, karena dibuat dengan
program aplikasi grafis, mengingat keterbatasan kemampuan PHP dalam membuat
image.
<?php
header("Content-type: image/png");
imagepng($im,$namaf);
imagedestroy($im);
?>
45
Membuat Dokumen PDF
Biasanya pembaca/pengguna web membutuhkan dokumen web yang sifatnya printer-
friendly atau siap cetak, dan biasanya dokumen yang siap ceta k disajikan dalam format
PDF.
PHP dapat menghasilkan dokumen berformat PDF dengna dukungan library eksternal
yang sudah cukup banyak dikembangkan oleh banyak pihak. Manual PHP sendiri
merekomendasikan dan merujuk pada modul PdfLib yang bisa di download dari
http://www.pdflib.com/en/download/ , hanya saja penggunaan modul PdfLib untuk
keperluan komersial atau bisnis diharuskan untuk memiliki lisensi dari pembuatnya.
Library PDF yang juga cukup populer dan bisa digunakan se cara cuma-cuma serta tidak
kalah mudah dalam penggunaannya adalah ezPdf yang bisa di download dari
http://www.ros.co.nz/pdf/.
Dalam contoh pembahasan ini digunakan ezPdf , yang dibuat dengan object oriented
programming pada PHP, dan ezPdf didistribusikan dalam bentuk class yang siap pakai
<?php
// mengikutkan class ezPdf
require '../class.ezpdf.php';
$pdf->restoreState();
$pdf->closeObject();
$pdf->addObject($all, 'all');
$pdf->ezSetDy(30);
46
//finishing dokumen
$pdf->ezStream();
?>
47
10
Asynchronous Java Script
Pengantar AJAX
AJAX singkatan dari Asynchronous JavaScript And XML.
AJAX bukanlah sebuah bahasa pemrograman baru, tetapi meru pakan teknik
pemrograman pada JavaScript yang memungkinkan program client-side yang dibuat
dengan JavaScript dapat berkomunikasi langsung dengan server dan meningkatkan
performance dari presentasi/aplikasi web.
AJAX memanfaatkan obyek XMLHttpRequest pada JavaScript yang memungkinkan
terjadinya komunikasi asynchronous antara client dengan server, dan memungkinkan
perubahan isi sebagian (parsial) dari halaman web tanpa harus me-reload seluruhnya
Komunikasi Asinkron
Pada prinsipnya, web adalah komunikasi data client-server yang bekerja berdasarkan
request dan respon antara client dan server. Komunikasi terjadi saat client melakukan
request lalu menunggu respon dari server, dan berakhir setelah semua informasi yang
menjadi respon dari server diterima oleh client. Proses komunikasi ini selalu melibatkan
pengguna untuk memulai satu sesi request-respon, misalnya dengan klik icon link atau
klik pada tombol submit form, dan disebu sebagai komunikasi sinkron antara client dan
server.
Pada komunikasi asinkron, dimungki nkan terjadinya request oleh browser di saat satu
sesi komunikasi sedang berlangsung tanpa harus menunggu sampai proses sebelumnya
selesai. Proses request terjadi di latar belakang, dan di picu oleh event atau prosedur
tertentu, tanpa harus melibatkan peng guna secara langsung.
AJAX dengan obyek XMLHttpRequest memungkinkan terjadinya request asinkron.
Dengan demikian dapat dihasilkan program yuang berjalan di sisi client yang seolah-olah
sangat dinamis dan sangat interaktif antara client dan server.
XMLHttpRequest
XMLHttpRequest adalah sebuah class obyek dalam JavaScript yang berfungsi untuk
mengirimkan request dari browser ke server dan menerima hasil (respon) dari server.
Pada browser Microsoft Internet Explorer, digunakan class obyek
ActiveXObject(“Msxml2.XMLHTTP”) atau ActiveXObject(“Microsoft.XMLHTTP”) ,
48
karena itu, untuk menggunakan AJAX, script program harus dibuat sedemikian rupa agar
bisa mengenali browser pengguna dan menggunakan obyek yang sesuai
<script type="text/javascript">
// cek browser
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
}
...
...
}
</script>
Request dikirimkan dengan menggunakan method open dan send untuk memanggil
program pada server-side
xmlHttp.open("GET", "namaprogram.php?p=parameter",true);
xmlHttp.send(null);
49
Untuk dapat menangkap respon dari server, digunakan properti readyState yang akan
memberi informasi status dari request, dan berdasarkan status tersebut, dijalankan
function yang akan memproses respon dari server
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
}
}
Output
Untuk memungkinkan perubahan isi sebagian halaman web tanpa harus me-reload
seluruh halaman, output dari AJAX biasanya diarahkan ke tag <DIV> ..</DIV>
Contoh output AJAX ke halaman web
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("tampil").innerHTML=xmlHttp.responseText;
}
}
Tag HTML yang akan menerima dan menampilkan output dari AJAX
<form>
Cari (Kata kunci): <input type="text" id="txt1" size="20"
onkeyup="showResult(this.value)">
<div id="tampil"></div>
</form>
50
AJAX – PHP
Pada prinsipnya, semua bahasa pemrograman web pada server-side dapat berkomunikasi
dengan ajax, cukup dengan memasukkan nama file scriptnya sebagai parameter pada
method xmlHttp.open() , demikian pula halnya dengan PHP
Contoh halaman web sederhana dengan AJAX dan PHP
<html>
<body>
<form name="myForm">
51
Time: <input type="text" name="time">
</form>
</body>
</html>
File time.php
<?php
echo date(“H:i:s”);
?>
Simpel bukan..??
Untuk lebih memudahkan penulisan program. Khususnya bagi mereka yang fanatik
dengan satu bahasa saja misalnya PHP, telah banyak dikemb angkan PHP framework
untuk AJAX, dimana sejumlah fungsi -fungsi penting atau yang banyak dipakai telah
tersedia dalam bentuk function hingga class object, dan programmer cukup menuliskan
kode-kode dan pemanggilan function dalam bahasa pemrograman PHP, bahkan ada
diantaranya yang menawarkan penggunaan AJAX dari PHP tanpa harus menyentuh
bagian JavaScript-nya sama sekali.
Informasi tentang berbagai framework AJAX-PHP dapat dibaca di sini:
http://ajaxpatterns.org/PHP_Ajax_Frameworks
52