Wednesday, January 28, 2009

Berkenalan dengan AJAX

Perkenalan
Ajax telah mengubah cara user berinteraksi dengan halaman web. Setelah sekian lama para pengguna web frustasi dengan paradigma redraw-refresh pada aplikasi web tradisional, yang mengambil keseluruhan isi pada halaman web dari server. Hal ini menyebabkan user kehilangan posisi scroll pada halaman web. Aplikasi ajax memiliki karakteristik untuk meng-update halaman dengan smooth meng-update bagian tertentu pada halaman web, sehingga tidak mengharuskan keseluruhan halaman web di-load kembali. Referensi dari tulisan ini dapat anda dapatkan dari "ASP .NET AJAX in Action"

Apa sih AJAX itu?
AJAX(Asynchronous JavaScript and XML) merupakan upaya atau pola pembangunan web yang menggunakan client-side scripting untuk bertukaran data dengan server. Upaya ini memungkinkan halaman dapat di-update secara dinamis tanpa menyebabkan keseluruhan halaman di-refresh. Sebagai hasilnya, interaksi antara user dan aplikasi tidak terganggu dan terus berlanjut. Beberapa anggapan menyatakan kalau pencapaian ini merupakan bagian dari teknologi dan bukan sebuah pola. Nyatanya, ini merupakan kombinasi pengunaan teknologi dengan cara yang kreatif :D.

Teknologi ini bukan hal yang baru. Teknik asynchronous yang men-load isi dari web dapat ditemukan semenjak Explorer 3 (juga dikenal sebagai masa Jurassic web development) melalui elemen IFRAME. Kemudian, ketika Explorer 5 memperkenalkan XMLHttpRequest ActiveX object, yang memungkinkan pertukaran data antara client dan server melalui web browser scripting languages. Sebagai catatan, remote scripting sebagai perintis jalan tebentuknya AJAX. Sebelum XMLHttpRequest object, remote scripting memungkinkan browser bertukar informasi dengan server.

Bahkan ketika objek XMLHttpRequest diperkenalkan lebih jauh melalui aplikasi Outlook Web Access, ajax tidak begitu terkenal. Sampai akhirnya, Google mempopulerkan teknik ajax melalui google map.

Komponen-komponen AJAX
Sebagaimana telah disebutkan sebelumnya, pola pemprogaman ajax yang terdiri dari sekumpulan teknologi membawa kepuasan pada user dengan cara yang imajinatif. Berikut ini merupakan pilar utama pola pemrograman dan cara mereka berperan :
  • JavaScript, merupakan scripting language yang umumnya menambahkan inter-aktifitas ke halaman HTML. JavaScript pada dasarnya menggunakan bahasa pemrograman C secara bebas, JavaScript merupakan bahasa scripting yang paling populer dan didukung oleh hampir keseluruhan browser. Aplikasi AJAX merupakan built in JavaScript.
  • Document Object Model (DOM), mendefinisikan struktur dari halaman web sebagai sekumpulan objek yang dapat diprogram yang dapat diakses melalui JavaScript. Dalam pemrograman AJAX, DOM digunakan untuk menggambarkan kembali (re-draw) porsi halaman web secara efektif.
  • Cascading Style Sheet (CSS), menyediakan jalan untuk membuat tampilan visual dari elemen-elemen halaman web. CSS digunakan dalam aplikasi AJAX untuk memodifikasi tampilan luar dari user interface secara interaktif.
  • XMLHttpRequest, memungkinkan client-side scripting untuk membuat sebuah HTTP request. Ajax menggunakan objek XMLHttpRequest untuk membuat asynchronous request ke server dengan menolak merefresh keseluruhan halaman atau postback.
Sebagai catatan, nama objek XMLHttpRequest bisa menyesatkan karena data dapat ditransfer dalam bentuk XML atau format text-based lainnya. Framework ASP.NET AJAX bergantung pada sebuah format JavaScript Object Notation(JSON) untuk menirimkan data ke dan dari server.

Dalam penerapan ajax, anda dapat menganggap JavaScript sebagai perekat (lem) yang mengikat semuanya. Ketika data dibutuhkan, objek XMLHttpRequest digunakan untuk membuat request ke server. Ketika data dibutuhkan, DOM dan CSS digunakan untuk meng-update interface browser user secara dinamis.

Asynchronous web programming
Huruf A dalam Ajax merupakan kependekan dari asynchronous, ini merupakan kunci prilaku dalam pola pemrograman Ajax. Asynchronous berarti tidak serempak atau tidak terjadi pada waktu yang sama. Untuk lebih memahami ini, mari kita coba contoh sehari-hari. Ketika anda pergi ke toko kopi starbucks dan berjalan ke kasir sambil membawa pesanan anda. Kasir menandai gelas kosong dengan detail pesanan anda dan lalu menempatkannya ke dalam antrian. Antrian dalam contoh ini, secara harafiah merupakan sekumpulan gelas kosong yang merepresentasikan sekumpulan order yang menunggu untuk dipenuhi. Proses ini memisahkan(decouple) kasir dari orang-orang yang mempersiapkan minuman. Dengan cara ini, kasir dapat terus berinteraksi dengan pelanggan, sementara pesanan sedang diproses pada waktu yang berbeda –secara asynchronous. Pada akhirnya, starbucks dapat meningkatkan produksi dan memuaskan customer.


4 comments:

  1. Wah blog baru nih ya kak? ...

    ReplyDelete
  2. congratulation ..!!
    anda telah menjadi komentator pertama,
    akan tetapi stock hadiah lagi kosong :D
    hahahahhahah ...

    btw, blok ini memang baru buat, dan masih cupu ..
    ini hanya media untuk berbagi informasi, jadi klo ada hal yang ingin ditambahkan atau diubah, baik kritik maupun saran silahkan berkomat-kamit di sini :D

    ReplyDelete
  3. cindy udah di follow foll back rizqi51.blogspot.com

    ReplyDelete
  4. cin nitip link ya
    rizqi51.blogspot.com

    ReplyDelete