SlideShare a Scribd company logo
1 of 20
Download to read offline
Introduction to
AJAX
BRINGING INTERACTIVITY & INTUITIVENESS INTO WEB APPLICATIONS




                                                          @harisetiaji   harisetiaji
Trend Aplikasi
Aplikasi Berbasis Desktop

 Bundle dalam bentuk CD/DVD kemudian di-install di komputer
 Script/kode aplikasi berada di komputer
 Biasanya aplikasi berjalan dengan cepat, responsive, memiliki antarmuka yang
  interaktif

Aplikasi Berbasis Web

 Aplikasi berjalan diatas Web Server, dan membutuhkan Web Browser untuk
  menjalankan aplikasi
 Aplikasi menghadirkan layanan yang tidak dapat disimpan di computer
 Menunggu respon dari server, menunggu halaman untuk refresh, menunggu request
  dikembalikan dan menghasilkan halaman baru

               AJAX hadir sebagai ‘jembatan’ antara interaktifitas dan fungsionalitas
Aplikasi Berbasis Web (Tradisional)
Karakteristik

 Click, wait and refresh
 Ketika halaman refresh, banyak yang dibutuhkan oleh server yakni events, data dan
  navigasi
 User harus menunggu untuk sebuah respon
 Model komunikasi : synchronous “request/response”


Kekurangan

 Slow response (berdasarkan tekniknya)
 Terlalu banyak server load dan konsumsi bandwith
 Kehilangan proses operasi selama halaman refresh
Apa itu AJAX ?
Asynchronous JavaScript And XML
A Web development technique for creating interactive web applications

  Menghadirkan interaksi yang menarik bagi Web Surfers’s Computer
  Digunakan untuk retrieve data dan memperbaharui bagian yang diinginkan tanpa
    melakukan reload pada halaman yang sedang diakses
  Example : Google Application




           Increase web’s page interactivity, speed, usability; better user experience
Web Tradisional vs AJAX
Respon Server (Tradisional)




       Interaction           Data            Presentation
                     event          respon
Respon Server (AJAX)




         Dipper        Just-In-     Just-In-   XHR Is The     Richer
       Interaction   Time Data    Time Logic    Secret      Interface
Teknologi Dibalik AJAX
XHTML (atau HTML) dan CSS

    Marking up dan styling information

DOM (Document Object Model)

    Tampilan dinamis dan interaktif dengan informasi yang disajikan


XMLHttpRequest object

    Mengubah data secara asynchronously dengan web server

XML (eXtensible Markup Language)

    Format pertukaran data
Mekanisme AJAX -- 1


                      1 dan 2 : Pengguna mengirim request
                      dokumen kepada server

                      3 : Respon dari server (data datang)

                      4 : Browser bekerja, memilah respon
                      dari server

                      5 : HTML/CSS melanjutkan ke HTML
                      rendering engine ‘mewarnai’ halaman
Mekanisme AJAX – 2 (JS)
                            Javascript Engine – Dapat dijalankan bersamaan dengan
                            proses penerimaan respon HTML, CSS dan Images


Javascript
Dapat mendeteksi User
Interface events (clicks,
etc..) dan dijalankan
ketika pengguna
melakukan suatu aksi




                            Javascript – Melalui engine dapat mengakses dan
                            memodifikasi HTML dan CSS, mengubah UI secara dinamis
Mekanisme AJAX – 3 (XML Data)
                        Fungsi baru JavaScript.. Dapat secara independen
                        mengirimkan request data (images, xml, apapun..) tanpa
                        menunggu aksi dari pengguna



Dapat dilihat
bahwa JavaScript
lebih powerfull
dengan adanya
fungsi baru tersebut.

JavaScript dapat
mengakses data
dari manapun
tanpa menunggu
aksi dari pengguna

                        XML data support.. Browser dapat menyimpan, akses dan
                        manipulasi data XML melalui JavaScript via Javascript engine
Dimana AJAX ??
A : Javascript sebagai “produser”
Digunakan secara asynchronously request
dan retrieve data dari server

B : Menggunakan XML untuk mengirim hasil
feedback kepada browser. Kemudian
menggunakan JavaScript untuk mengekstrak
data XML tersebut.

C : Menggunakan HTML dan CSS sebagai
display, manipulasi menggunakan JavaScript




                               A                  B                  C
                             control            data              display
                        •JavaScript       •XML, format lain   •HTML dan CSS
                                           (e.g images)
AJAX : Pattern
Dibagi menjadi 3 step:

1. Trigger (event atau timer)
2. Operation (AJAX, remote scripting)
3. Update (presentation)




                                             Operation


                                   Trigger               Update


                                              AJAX
                                             Pattern
So.. Kenapa AJAX ??

 Enables building            Allows dynamic
                                                   Improves    Real-time   No plug-ins
   Rich Internet            interaction on the
                                                 performance    updates     required
 Applications (RIA)                Web




                     High
                    Speed



          High
        Usability


                           High
                       Interactivity
Let’s take a look..
Social Networking
News Portal
Email
Search Engine
E-commerce
E-learning
Information System Application
Anything else..??
AJAX Issues
 User does not know updates will occur
 User does not notice an update
 User can not find the updated information
 Unexpected change in focus
 Loss of back button functionality
 URIs can not be bookmarked

                                                                       Help user
                                                                       find
                                                          Make         updated
                                                          update       information
                                              Informing   Noticeable
                                              the user
Kelemahan AJAX
• Client Side
    Poor compatibility with very old or obscure browsers, and many mobile
      devices.
    Limited Capabilities like multimedia, interaction with web-cams and
      printers, local data storage and real time graphics.
    The first-time long wait for Ajax sites.
    Problem with back/forward buttons and bookmarks.


• Developer Side
    Easily Abused by “bad” programmers.
    Not everyone have JavaScript enabled.
    Too much code makes the browser slow.
Source
iSchool Berkeley
TAMK University of Applied Sciences
Developer Shed Network – XML
IBM Developer Network
http://dret.net/lectures/xml-fall06/
http://ajaxpatterns.org
http://www.telerik.com/products/ajax/history-of-ajax.aspx
http://alexbosworth.backpackit.com/pub/67688
http://ajaxian.com/by/topic/usability/
http://en.wikipedia.org/wiki/Ajax_(programming)
http://w3schools.com
http://w3.org
Any Questions ??
Terima Kasih




       Hari Setiaji
 harisetiaji@gmail.com

More Related Content

Similar to Intro to AJAX

Panduan lengkap php ajax j query
Panduan lengkap php ajax j queryPanduan lengkap php ajax j query
Panduan lengkap php ajax j queryfadhilmaulana
 
2 panduan lengkap php ajax j query
2 panduan lengkap php ajax j query2 panduan lengkap php ajax j query
2 panduan lengkap php ajax j queryFajar Baskoro
 
Presentase mobile
Presentase mobilePresentase mobile
Presentase mobilekartinick04
 
Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317esti setiasih
 
Panduan lengkap php ajax j query
Panduan lengkap php ajax j queryPanduan lengkap php ajax j query
Panduan lengkap php ajax j queryapriatin
 
Tugas 3 - ihsan riadi - 1412511162
Tugas 3  - ihsan riadi - 1412511162Tugas 3  - ihsan riadi - 1412511162
Tugas 3 - ihsan riadi - 1412511162ihsan riadi
 
Tugas3 krisna muktiandika-1511510347
Tugas3 krisna muktiandika-1511510347Tugas3 krisna muktiandika-1511510347
Tugas3 krisna muktiandika-1511510347krisna mukti andika
 
Rekayasa web part 3 khaerul anwar
Rekayasa web part 3 khaerul anwarRekayasa web part 3 khaerul anwar
Rekayasa web part 3 khaerul anwarKhaerul Anwar
 
Tutorial web site aida dan jesika
Tutorial web site aida dan jesikaTutorial web site aida dan jesika
Tutorial web site aida dan jesikaRCH_98
 
Tugas 2 0317-fahreza yozi-1612510832
Tugas 2 0317-fahreza yozi-1612510832Tugas 2 0317-fahreza yozi-1612510832
Tugas 2 0317-fahreza yozi-1612510832fahreza yozi
 
Ppt pengenalan jquery
Ppt pengenalan jqueryPpt pengenalan jquery
Ppt pengenalan jquerymutia902
 
Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-nurul azmi-1412510587Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-nurul azmi-1412510587nurul azmi
 

Similar to Intro to AJAX (20)

Panduan lengkap php ajax j query
Panduan lengkap php ajax j queryPanduan lengkap php ajax j query
Panduan lengkap php ajax j query
 
2 panduan lengkap php ajax j query
2 panduan lengkap php ajax j query2 panduan lengkap php ajax j query
2 panduan lengkap php ajax j query
 
Presentase mobile
Presentase mobilePresentase mobile
Presentase mobile
 
Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317
 
Ajax pada jquery
Ajax pada jqueryAjax pada jquery
Ajax pada jquery
 
Ajax pada jquery
Ajax pada jqueryAjax pada jquery
Ajax pada jquery
 
Ajax pada jquery
Ajax pada jqueryAjax pada jquery
Ajax pada jquery
 
Tugas 3 rekweb
Tugas 3 rekwebTugas 3 rekweb
Tugas 3 rekweb
 
Panduan lengkap php ajax j query
Panduan lengkap php ajax j queryPanduan lengkap php ajax j query
Panduan lengkap php ajax j query
 
Tugas 3 - ihsan riadi - 1412511162
Tugas 3  - ihsan riadi - 1412511162Tugas 3  - ihsan riadi - 1412511162
Tugas 3 - ihsan riadi - 1412511162
 
Tugas3 krisna muktiandika-1511510347
Tugas3 krisna muktiandika-1511510347Tugas3 krisna muktiandika-1511510347
Tugas3 krisna muktiandika-1511510347
 
Rekayasa web part 3 khaerul anwar
Rekayasa web part 3 khaerul anwarRekayasa web part 3 khaerul anwar
Rekayasa web part 3 khaerul anwar
 
Laporan tugas besar_web
Laporan tugas besar_webLaporan tugas besar_web
Laporan tugas besar_web
 
Tutorial web site aida dan jesika
Tutorial web site aida dan jesikaTutorial web site aida dan jesika
Tutorial web site aida dan jesika
 
02 Teknologi Web
02 Teknologi Web02 Teknologi Web
02 Teknologi Web
 
Tugas 2 0317-fahreza yozi-1612510832
Tugas 2 0317-fahreza yozi-1612510832Tugas 2 0317-fahreza yozi-1612510832
Tugas 2 0317-fahreza yozi-1612510832
 
Ppt pengenalan jquery
Ppt pengenalan jqueryPpt pengenalan jquery
Ppt pengenalan jquery
 
Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-nurul azmi-1412510587Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-nurul azmi-1412510587
 
SESI 3 FE.pptx
SESI 3 FE.pptxSESI 3 FE.pptx
SESI 3 FE.pptx
 
Ajax tutorial 1
Ajax tutorial 1Ajax tutorial 1
Ajax tutorial 1
 

More from Hari Setiaji

Project Management Tools
Project Management ToolsProject Management Tools
Project Management ToolsHari Setiaji
 
Database Jaman Now
Database Jaman NowDatabase Jaman Now
Database Jaman NowHari Setiaji
 
Web Programming - PHP
Web Programming - PHPWeb Programming - PHP
Web Programming - PHPHari Setiaji
 
Web Programming - Javascript
Web Programming - JavascriptWeb Programming - Javascript
Web Programming - JavascriptHari Setiaji
 
Tutorial Postgre SQL
Tutorial Postgre SQLTutorial Postgre SQL
Tutorial Postgre SQLHari Setiaji
 
Web Programming - Cascading Style Sheet
Web Programming - Cascading Style Sheet Web Programming - Cascading Style Sheet
Web Programming - Cascading Style Sheet Hari Setiaji
 
Bab II Use Case Diagram
Bab II Use Case DiagramBab II Use Case Diagram
Bab II Use Case DiagramHari Setiaji
 
Bab I Data Flow Diagram
Bab I Data Flow DiagramBab I Data Flow Diagram
Bab I Data Flow DiagramHari Setiaji
 
Native Xml Tutorial
Native Xml TutorialNative Xml Tutorial
Native Xml TutorialHari Setiaji
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using OracleHari Setiaji
 

More from Hari Setiaji (15)

Project Management Tools
Project Management ToolsProject Management Tools
Project Management Tools
 
Database Jaman Now
Database Jaman NowDatabase Jaman Now
Database Jaman Now
 
Web Programming - PHP
Web Programming - PHPWeb Programming - PHP
Web Programming - PHP
 
Web Programming - Javascript
Web Programming - JavascriptWeb Programming - Javascript
Web Programming - Javascript
 
Tutorial Postgre SQL
Tutorial Postgre SQLTutorial Postgre SQL
Tutorial Postgre SQL
 
Web Programming - Cascading Style Sheet
Web Programming - Cascading Style Sheet Web Programming - Cascading Style Sheet
Web Programming - Cascading Style Sheet
 
HTML - Form
HTML - FormHTML - Form
HTML - Form
 
HTML Dasar
HTML DasarHTML Dasar
HTML Dasar
 
Pengenalan XML
Pengenalan XMLPengenalan XML
Pengenalan XML
 
Internet dan Web
Internet dan WebInternet dan Web
Internet dan Web
 
Perkembangan Web
Perkembangan WebPerkembangan Web
Perkembangan Web
 
Bab II Use Case Diagram
Bab II Use Case DiagramBab II Use Case Diagram
Bab II Use Case Diagram
 
Bab I Data Flow Diagram
Bab I Data Flow DiagramBab I Data Flow Diagram
Bab I Data Flow Diagram
 
Native Xml Tutorial
Native Xml TutorialNative Xml Tutorial
Native Xml Tutorial
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
 

Intro to AJAX

  • 1. Introduction to AJAX BRINGING INTERACTIVITY & INTUITIVENESS INTO WEB APPLICATIONS @harisetiaji harisetiaji
  • 2. Trend Aplikasi Aplikasi Berbasis Desktop  Bundle dalam bentuk CD/DVD kemudian di-install di komputer  Script/kode aplikasi berada di komputer  Biasanya aplikasi berjalan dengan cepat, responsive, memiliki antarmuka yang interaktif Aplikasi Berbasis Web  Aplikasi berjalan diatas Web Server, dan membutuhkan Web Browser untuk menjalankan aplikasi  Aplikasi menghadirkan layanan yang tidak dapat disimpan di computer  Menunggu respon dari server, menunggu halaman untuk refresh, menunggu request dikembalikan dan menghasilkan halaman baru AJAX hadir sebagai ‘jembatan’ antara interaktifitas dan fungsionalitas
  • 3. Aplikasi Berbasis Web (Tradisional) Karakteristik  Click, wait and refresh  Ketika halaman refresh, banyak yang dibutuhkan oleh server yakni events, data dan navigasi  User harus menunggu untuk sebuah respon  Model komunikasi : synchronous “request/response” Kekurangan  Slow response (berdasarkan tekniknya)  Terlalu banyak server load dan konsumsi bandwith  Kehilangan proses operasi selama halaman refresh
  • 4. Apa itu AJAX ? Asynchronous JavaScript And XML A Web development technique for creating interactive web applications  Menghadirkan interaksi yang menarik bagi Web Surfers’s Computer  Digunakan untuk retrieve data dan memperbaharui bagian yang diinginkan tanpa melakukan reload pada halaman yang sedang diakses  Example : Google Application Increase web’s page interactivity, speed, usability; better user experience
  • 6. Respon Server (Tradisional) Interaction Data Presentation event respon
  • 7. Respon Server (AJAX) Dipper Just-In- Just-In- XHR Is The Richer Interaction Time Data Time Logic Secret Interface
  • 8. Teknologi Dibalik AJAX XHTML (atau HTML) dan CSS  Marking up dan styling information DOM (Document Object Model)  Tampilan dinamis dan interaktif dengan informasi yang disajikan XMLHttpRequest object  Mengubah data secara asynchronously dengan web server XML (eXtensible Markup Language)  Format pertukaran data
  • 9. Mekanisme AJAX -- 1 1 dan 2 : Pengguna mengirim request dokumen kepada server 3 : Respon dari server (data datang) 4 : Browser bekerja, memilah respon dari server 5 : HTML/CSS melanjutkan ke HTML rendering engine ‘mewarnai’ halaman
  • 10. Mekanisme AJAX – 2 (JS) Javascript Engine – Dapat dijalankan bersamaan dengan proses penerimaan respon HTML, CSS dan Images Javascript Dapat mendeteksi User Interface events (clicks, etc..) dan dijalankan ketika pengguna melakukan suatu aksi Javascript – Melalui engine dapat mengakses dan memodifikasi HTML dan CSS, mengubah UI secara dinamis
  • 11. Mekanisme AJAX – 3 (XML Data) Fungsi baru JavaScript.. Dapat secara independen mengirimkan request data (images, xml, apapun..) tanpa menunggu aksi dari pengguna Dapat dilihat bahwa JavaScript lebih powerfull dengan adanya fungsi baru tersebut. JavaScript dapat mengakses data dari manapun tanpa menunggu aksi dari pengguna XML data support.. Browser dapat menyimpan, akses dan manipulasi data XML melalui JavaScript via Javascript engine
  • 12. Dimana AJAX ?? A : Javascript sebagai “produser” Digunakan secara asynchronously request dan retrieve data dari server B : Menggunakan XML untuk mengirim hasil feedback kepada browser. Kemudian menggunakan JavaScript untuk mengekstrak data XML tersebut. C : Menggunakan HTML dan CSS sebagai display, manipulasi menggunakan JavaScript A B C control data display •JavaScript •XML, format lain •HTML dan CSS (e.g images)
  • 13. AJAX : Pattern Dibagi menjadi 3 step: 1. Trigger (event atau timer) 2. Operation (AJAX, remote scripting) 3. Update (presentation) Operation Trigger Update AJAX Pattern
  • 14. So.. Kenapa AJAX ?? Enables building Allows dynamic Improves Real-time No plug-ins Rich Internet interaction on the performance updates required Applications (RIA) Web High Speed High Usability High Interactivity
  • 15. Let’s take a look.. Social Networking News Portal Email Search Engine E-commerce E-learning Information System Application Anything else..??
  • 16. AJAX Issues  User does not know updates will occur  User does not notice an update  User can not find the updated information  Unexpected change in focus  Loss of back button functionality  URIs can not be bookmarked Help user find Make updated update information Informing Noticeable the user
  • 17. Kelemahan AJAX • Client Side  Poor compatibility with very old or obscure browsers, and many mobile devices.  Limited Capabilities like multimedia, interaction with web-cams and printers, local data storage and real time graphics.  The first-time long wait for Ajax sites.  Problem with back/forward buttons and bookmarks. • Developer Side  Easily Abused by “bad” programmers.  Not everyone have JavaScript enabled.  Too much code makes the browser slow.
  • 18. Source iSchool Berkeley TAMK University of Applied Sciences Developer Shed Network – XML IBM Developer Network http://dret.net/lectures/xml-fall06/ http://ajaxpatterns.org http://www.telerik.com/products/ajax/history-of-ajax.aspx http://alexbosworth.backpackit.com/pub/67688 http://ajaxian.com/by/topic/usability/ http://en.wikipedia.org/wiki/Ajax_(programming) http://w3schools.com http://w3.org
  • 20. Terima Kasih Hari Setiaji harisetiaji@gmail.com