Start
RSS
You are currently in My Blog pages
Hit home to the start pages
 
R
05 ‘09
May

Pengertian Ajax dan Contoh Penggunaan Ajax pada Website

Blog Categories AJAX | add a Comment »


Apakah Ajax itu ? sebelumnya para Web Based Programmer tentu sudah sering mendengar kata-kata tersebut dan sudah menjadi teknologi wajib yang harus digunakan dalam membuat sebuah website moderen dan dinamis.

Mengapa Harus Ajax



Apa perbedaan antara aplikasi website yang menggunakan ajax dan aplikasi website biasa? Jawabannya adalah pada website biasa jika kita mengklik suatu tombol/link tertentu maka browser akan melakukan refresh dimana document HTML akan di baca dari awal dan layar browser akan menjadi blank sesaat karena pada saat itu browser sedang meminta/merequest data dari web server dan hal itulah yang membuat aplikasi website menjadi kurang interaktif dan responsif. Ajax digunakan untuk memecahkan masalah tersebut, Ajax membuat aplikasi website menjadi lebih interaktif dan responsif serta memiliki kecepatan dalam memproses request. Saat ini Ajax sudah menjadi teknologi yang wajib ada bagi website-website moderen (Web 2.0).

Asal Mula Bahasa Pemrograman Ajax

AJAX memiliki kepanjangan Asynchronous Javascript And XML merupakan suatu teknik baru dalam dunia web tapi bukan merupakan bahasa pemrograman yang baru. Sejak telah dikembangkan sekitar 2-3 tahun yang lalu, AJAX mulai dilirik oleh para web desainer dan web programmer. Dengan adanya AJAX, akses data ke server yang dikirim melalui client via web dapat lebih cepat daripada mekanisme biasa. Hal ini dikarenakan AJAX tidak perlu melakukan proses loading page (refresh page) atau pindah ke page yang lain. AJAX dapat diintegrasikan dengan server side programming seperti PHP, ASP, JSP dll. Perhatikan mekanisme proses AJAX menggunakan PHP berikut ini

Gambar Proses Ajax

Pada mekanisme di atas, proses berawal dari web client. Web client merequest sebuah halaman PHP ke server melalui Javascript. Selanjutnya server akan merespon dan menjalankan script PHP. Script PHP akan menghasilkan respon dalam bentuk XML dan data XML tersebut akan dikirim kembali ke web client untuk diolah oleh Javascript. Hasil olahan javascript tersebut akhirnya akan ditampilkan di web client sebagai output tanpa harus merefresh halaman web. Bandingkan dengan mekanisme biasa dalam menjalankan PHP seperti yang ditunjukkan pada gambar berikut

Gambar Proses Biasa

Pada mekanisme biasa, respon yang dihasilkan oleh server berupa HTML yang mengakibatkan halaman web akan merefresh tampilan. Dilihat dari sisi efisiensi, hal ini tentu kurang sekali.
Sedangkan kekurangan AJAX dibandingkan mekanisme biasa adalah memiliki tingkat kesukaran pemrograman yang lebih tinggi, karena programmer harus menguasai 4 hal yaitu HTML-(XHTML), Javascript, XML dan juga server side programming seperti PHP dan lain sebagainya.

Aplikasi Website dengan Ajax


Pada aplikasi Javascript konvensional jika kita menginginkan data dari server kita menggunakan Form dan memanggilnya dengan method GET atau POST. Sehingga pengunjung perlu mengklik tombol dan kemudian halaman akan kerefresh untuk menampilkan hasil dari request tersebut.

Nah, kalau dengan Ajax, Javascript berkomunikasi langsung keserver dengan sebuah fungsi yang disebut XMLHttpRequest. dengan XMLHttpRequest suatu halaman web dapat direquest dari server dan diterima hasilnya tanpa perlu terjadi refresh pada halaman web tersebut. XMLHttpRequest telah disupport oleh IE 5 keatas, Safari 1.2 keatas, Mozilla Firefox keatas dan Opera 8 keatas. Ajax merupakan penggabungan teknologi-teknologi Javascript, HTML/XHTML, XML, CSS dan Server Side Client. Jadi jika anda belum menguasai salah satu dari teknologi tersebut disarankan untuk anda mempelajari dahulu sebelum melanjutkan pemahaman tentang AJAX.

Contoh aplikasi Ajax

Pada artikel ini saya akan coba memberikan contoh ajax yang paling sederhana karena aplikasi-aplikasi website yang besar dimulai dari sesuatau yang sederhana. Untuk memulainnya silahkan anda buat sebuah File HTML dan tuliskan kode dibawah ini lalu simpan dengan nama index.html


<html>
<head>
<title>Contoh AJAX title>
<script language = "javascript">
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
//Untuk Browser Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Untuk Browser Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
} function getpages(url,centercol) {
xmlHttp=GetXmlHttpObject();
if (xmlHttp) {
var obj = document.getElementById(centercol);
xmlHttp.open("GET", url);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 1) {
obj.innerHTML = '<img alt=\"Halaman Sedang Dimuat \" src=\"images/wait.gif\" alt=\"loading\" / >'; } if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
obj.innerHTML = xmlHttp.responseText;
}
}
xmlHttp.send(null);
}
} </script>

</head>
<body>
<h1>Request File Dari HTML </h1>
<form>
<input type="button" value="Request File " onclick="getpages ('request.html','centercol')">
</form>
<div id="centercol">
File request.html akan ditampilkan disini
</div>
</body>
</html>

Sekarang buat file HTML dengan nama request.html yang disimpan dengan folder yang sama dengan File diatas kemudian isilah dengan text berikut ini:


Text ini ditampilkan dengan metode proses request <strong>Ajax</strong>

Berikut saya terangkan secara mendetail

Awalnya kita perlu membuat object XMLHttpRequest, objek ini wajib ada dalam website yang menggunakan Ajax. Untuk memanggilnya kita perlu menggunakan fungsi berikut ini:

function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
//Untuk Browser Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Untuk Browser Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

Pertama-tama kita set xmlHttp=null tidak aktif, kemudian baru kita aktifkan lagi dengan membuat objek yang baru
xmlHttp = 
new XMLHttpRequest(); Khusus untuk Internet Explorer, karena menggunakan ActiveX 
untuk membuat XMLHttpRequest kita harus membuat kode 
xmlHttp = new ActiveXObject("Microsoft.XMLHttp");

Setelah kita membuat objek XMLHttpRequest sekarang kita membuat fungsi untuk mengambil file dan menampilkannya. Disini kita membuat fungsi
 function getpages

(url,centercol), yang didalamnya terdapat 
xmlHttp.open

("GET", url); yang berarti kita mengambil url dengan method get. dengan menggunakan method get maka kita harus mengirimkan sesuatu keserver, tapi karena 

kita tidak mengirim apa-apa maka kita kirimkan saja nilai kosong dengan kode: 

xmlHttp.send(null);

xmlHttp.onreadystatechange = function() merupakan sebuah fungsi 

dimana nanti kita akan memperoleh status dari request file yang telah kita lakukan. 

xmlHttp.readyState memiliki 4 status yaitu:
  • 0 Request kita belum dibuat
  • 1 Request kita sedang dalam proses (biasanya kita menggunakan gambar loading dengan ini)
  • 2 Request kita sudah dikirim tapi hasil belum diterima
  • 3 Request kita sedang diproses dikomputer klien
  • 4 Request sudah sukses dikirim dan kita sudah sukses menerimanya
xmlHttp.status merupakan status http. Jika statusnya 200 berarti file html nya ada dan siap ditampilkan. Sehingga kita perlu mengecek kedua status tersebut dengan kode
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
Jika kedua statusnya oke, maka kita perlu menampilkannya dengan perintah
obj.innerHTML = xmlHttp.responseText
Dimana ini berarti kita menampilkannya di obj, sementara variabel obj telah kita isi dengan centercol, ini kode ketika kita mengisi obj dengan centercol,
var obj = document.getElementById(centercol).


Terakhir Kita memanggil fungsi
getpages pada tombol  serta mengirim url yang akan ditampilkan. Inilah kode yang digunakan untuk memanggil fungsi getpages:
<input type="button" value="Tampilkan Request" 

onclick="getpages('request.html' ,'centercol')">


Selamat Mencoba

w3function | Blog Feeds

  • ze ( 2010-03-02 07:39:17 )
  • kok cuman ampek proses "halaman sedang dimuat ajah bro ?"
  • baskara ( 2010-05-10 09:57:06 )
  • tanya dunks......kalu manggil get url nya ada dua gmn caranya?("get", url1, url2, true) mohon infonya thanks :)
  • i@w3function.com ( 2010-05-10 17:36:29 )
  • untuk penggunaan ajax lebih baik tinggalkan metode ini, gunakan jQuery... lebih mempermudah kamu.
  • Hieppies ( 2010-07-01 13:10:32 )
  • Cek http://hieppies.co.cc using ajax jquery.... experiment... :P

Read by Categories

  • PHP ( 3 Post )


Recent Comment

  • surya ( 2010-08-30 18:49:05 )
  • tutorial yang bagus ..... dan menarik , berminat nieh belajar sama anda...mengenai pembuatan web design ..apakah bersedia menjadi seorang pengajar? tks
  • teguhdesign ( 2010-08-28 16:05:03 )
  • salam kenal bro!!! seru juga tuh designnya tolong dong bro kirimin tutorialnya. thx.
  • Uki ( 2010-08-20 23:28:00 )
  • Bagus....truz lanjut....thx buat ilmunya....
  • 'aji ( 2010-07-31 22:52:38 )
  • Karya tulis yang sangat bermanfaat, selamat ya om, saya suka membacanya berulang2 kalo belum paham, maklum pemula yang lagi seneng bikin web.. Sekalian bertanya, bagaimana menghilangkan tulisan *.html di URL yang kita tuju.. misal http://www.detiksport.com/sepakbola.html, cuma terlihat /sepakbola apakah ada triknya om? Atau bisa nggak meskipun kita kita menuju ke /sepakbola, tapi yang terlihat di bar URL itu hanya http://www.detiksport.com saja? makasih sebelumnya :)
  • blackmekemeke ( 2010-07-17 11:45:45 )
  • ada lagi bos yang keren abis, bikinan orang Indonesia lagi, coba kunjungi http://painthink.com
 
COPYRIGHT © W3FUNCTION.COM