Archive for December, 2009

Ajax, gunakan atau tidak?

Semua bermula dari sebuah debat kecil antara aku dan seorang temanku mengenai penggunaan teknologi Ajax dalam aplikasi yang sedang aku buat untuk menyelesaikan thesis-ku. Dari sana muncul ide untuk menerapkan Ajax dalam beberapa bagian dari aplikasi yang sedang dibuat dari temanku, akan tetapi sayangnya seperti biasa, aku bukan orang yang mudah menerima tanpa analisa usability dari aplikasi yang sedang dibuat. Setelah analisis singkat, aku memutuskan bahwa kami tidak perlu menggunakan Ajax karena yang penting aplikasi yang dibuat cukup simple, dan toh skripsi ini terfokus pada penulisan, bukan aplikasi.

Ajax. Apakah Anda pernah mendengar dengan kata ini? Bila Anda seorang developer web, web designer, atau orang yang cukup memiliki pengetahuan dalam bidang web (termasuk walaupun Anda hanya pengguna saja), rasanya istilah ini bukan lagi istilah yang asing bagi telinga Anda. Asynchronous JavaScript and XML, sebuah teknologi pertukaran data asinkron dalam aplikasi web yang sedang naik daun sejak beberapa tahun yang lalu. Penggunaan Ajax juga menjadi dasar dari perkembangan Web 2.0 dengan hadirnya banyak situs yang menggunakan teknologi ini. Tapi apakah memang teknologi Ajax ini sudah begitu siap untuk diterapkan di semua lini pengembangan web?

Mari kita telusuri dulu asal muasal dan cara kerja Ajax ini. Ajax merupakan teknologi yang tidak tergolong muda karena perkembangannya sudah ada sejak lama, yaitu sekitar tahun 1990-an ketika terjadi booming teknologi internet dan world wide web, akan tetapi teknologi ini mendapatkan namanya sejak perkembangan Web 2.0 semakin besar dengan menghadirkan interaktifitas pengguna dengan penyedia layanan berbasis web. Teknologi ini sendiri menggabungkan antara kerja JavaScript, (X)HTML, dan CSS di browser atau client, data dalam bentuk XML atau JSON, serta web server. Cara kerja teknologi ini hampir sama dengan ketika browser melakukan request halaman ke suatu server, hanya saja tidak semua halaman serta merta dimuat ulang, tetapi melainkan hanya sebagian saja sehingga tampak seolah-olah halaman lebih interaktif.

Sayangnya, walaupun Ajax sudah cukup lama hadir di dunia ini, dan juga sudah cukup lama terjadi booming dan penggunaannya di web dalam 5 tahun terakhir, masih banyak persiapan yang belum matang dalam menggunakan teknologi ini. Hal ini dapat dilihat dari kesiapan user dalam menggunakannya, kesiapan developer dalam memanfaatkannya, kesiapan infrastruktur server dalam mengadopsinya, serta kesiapan user agent atau browser dalam menanganinya dalam suatu standar yang sama.

Masih banyak user yang belum menggunakan browser terbaru yang mengikuti standar sehingga sebagian teknologi ini masih belum dapat terpakai dan ditampilkan dengan sempurna. Banyak developer yang masih belum memahami atau memiliki dasar yang kuat atas Ajax yang akan mereka gunakan. Banyak juga server yang belum siap meng-handle banyaknya request dari penerapan Ajax dengan cara yang salah sehingga akhirnya tidak kuat menghadapi gempuran client karena kurang pahamnya developer yang mengembangkannya. Beberapa browser juga memiliki cara kerja yang berbeda-beda dalam menangani Ajax sehingga menyulitkan developer dalam pengembangannya.

Kehadiran Ajax memang membuat web menjadi dinamis dan interaktif, akan tetapi hal ini tidak serta merta dapat menggantikan posisi aplikasi desktop. Kehadiran cloud computing dan berbagai web application yang menggunakan Ajax, serta perkembangan operating system berbasiskan web hanya akan sebatas melengkapi teknologi desktop yang ada, bukan menggantikannya. Jadi salah besar bila seorang berpendapat dan berpikiran bahwa aplikasi web dikembangkan untuk dapat menggantikan aplikasi desktop secara total. Berbagai halangan seperti bandwidth jaringan, keamanan dan kecepatan pemrosesan pun secara tidak langsung akan berpengaruh terhadap efektifitas aplikasi web.

Ketika user mendapatkan sebuah situs yang menggunakan banyak teknologi Ajax, misalkan saja Facebook — dan tentu saja teknologi ini sudah diadopsi dengan cukup matang oleh Facebook — user akan mudah tertarik karena sisi interaktif dan modern-nya. Hal ini berpengaruh terhadap banyaknya developer yang memanfaatkan teknologi Ajax ketika ingin mengembangkan aplikasi berbasis web, biasanya tanpa memikirkan kekurangannya. Di sisi user yang juga tidak banyak mengetahui seluk-beluk teknologi ini, mereka seringkali menganggap bahwa teknologi Ajax merupakan teknologi yang bagus dan paling modern sehingga sebisa mungkin web yang dikembangkan memakai teknologi ini.

Alhasil dengan tidak pahamnya user dan developer, akhirnya teknologi ini seakan-akan hanya merupakan eye-candy atau hiasan yang seringkali tidak memiliki pondasi yang cukup kuat untuk mendukungnya, misalkan aksesibilitas ketika user mematikan JavaScript atau memblokir beberapa konten seperti iklan yang mungkin saja sifatnya false-positive sehingga Ajax tidak bisa dipakai. Belum lagi dari sisi keamanan, user tidak melakukan validasi dan sanitasi atas pesan yang disampaikan dari server sehingga memungkinkan berbagai bentuk serangan terhadap end-user seperti XSS dan CSRF.

Saya sendiri sudah cukup lama belajar Ajax, sejak hampir 2 tahun yang lalu. Akan tetapi baru berani memasukkannya ke dalam project yang saya kerjakan baru 3 bulan yang lalu setelah project tersebut saya rasa sudah cukup matang dalam memberi pondasi terhadap Ajax. Saya cukup salut melihat atau mendengar orang-orang yang berani menggunakan Ajax dalam project-project yang dibuatnya, padahal pondasi pengetahuannya belum kuat, tapi yah memang saya sendiri belum pernah mendengar secara langsung ada kasus project gagal karena memaksa memakai Ajax.

Jadi bila Anda memang cukup yakin bahwa project Anda tidak akan gagal karenanya, silahkan pakai teknologi ini walaupun Anda baru mengetahui mengenai Ajax hari ini atau beberapa hari yang lalu. Akan tetapi bila Anda merasa bahwa pondasi yang kuat adalah sesuatu yang diperlukan untuk membangun suatu sistem atau aplikasi, silahkan coba untuk mendalami terlebih dahulu dasar-dasar JavaScript, XHTML, CSS, protokol HTTP, serta jaringan sebelum mengimplementasikan. Bahkan akan lebih baik bila memahami cara kerja Ajax dari sisi teoritis, bukan hanya dari sisi coding saja. Jujur saja, coding itu mudah, semudah melakukan kesalahan karena desain sistem atau aplikasi yang salah.

Ada beberapa pertanyaan yang harus Anda tanyakan kepada diri Anda sebelum memakai Ajax:

  1. Bisakan aplikasi Anda melakukan fungsi yang sama tanpa menggunakan Ajax atau ketika JavaScript dimatikan?
  2. Apakah sebelumnya Anda memikirkan konsep web yang Anda kembangkan ketika tidak menggunakan Ajax?
  3. Apakah dengan menggunakan Ajax justru akan memberi efek positif dibanding dengan efek negatifnya?
  4. Apakah Ajax itu benar-benar diperlukan dalam aplikasi yang Anda buat?

Bila minimal 3 jawaban dari pertanyaan di atas adalah “ya”, maka jangan ragu untuk menggunakan Ajax. Sebagai informasi, bila Anda menjawab “tidak” pada beberapa pilihan di atas maka beberapa hal akan dikorbankan, yaitu 1) aksesibilitas, 2) rancangan atau desain, 3) fungsionalitas Ajax, dan 4) simplicity dan fungsionalitas aplikasi.

Jadi, Ajax tidak dikembangkan untuk membuat suatu web menjadi keren karena tidak perlu melakukan reload halaman, bukan pula untuk membuat web menggantikan fungsi aplikasi desktop, tetapi hanya sebuah teknologi yang membantu kenyamanan dan kemudahan bagi end-user.

Dua Hari di Semarang

Seperti biasa, sudah lama ga nulis blog. Entah kenapa belakangan ini blog ini sering terbengkalai begitu aja karena kesibukanku dan rasa malas yang mendera. Yay… Kali ini aku akan menceritakan lagi pengalaman yang menarik, yaitu “Dua Hari di Semarang”, seperti yang tertulis di judul. Why Semarang? Dan kenapa 2 hari doang? Memang sebenarnya harus digenapkan menjadi “100 Days Around the World”, tapi apa daya belum mampu buat itu. Hahaha… :D

Ceritanya selama 2 hari yaitu tanggal 4 sampai 5 Desember 2009 kemarin, aku dan yang lain berangkat ke Semarang. Yang lain ini terdiri dari project manager-ku, Pak Henry; Istrinya, Bu Mey; dan satu orang teman, Veronica. Yup, berempat berangkat ke Semarang untuk melakukan presentasi atas pekerjaan yang sudah dilakukan beberapa bulan belakangan di Poltekkes Semarang. Kalau untukku sendiri, kali ini merupakan perjalanan pertama yang aku lakukan untuk pekerjaan yang aku lakukan. Oke, kita mulai saja dari hari pertama.

(more…)

This entry was last modified on: December 7th, 2009 at 20:20