<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="id">
	<id>https://cbtlmsts.my.id/wikits/index.php?action=history&amp;feed=atom&amp;title=Pengenalan_AJAX_untuk_komunikasi_asynchronous</id>
	<title>Pengenalan AJAX untuk komunikasi asynchronous - Riwayat revisi</title>
	<link rel="self" type="application/atom+xml" href="https://cbtlmsts.my.id/wikits/index.php?action=history&amp;feed=atom&amp;title=Pengenalan_AJAX_untuk_komunikasi_asynchronous"/>
	<link rel="alternate" type="text/html" href="https://cbtlmsts.my.id/wikits/index.php?title=Pengenalan_AJAX_untuk_komunikasi_asynchronous&amp;action=history"/>
	<updated>2026-08-29T14:48:04Z</updated>
	<subtitle>Riwayat revisi halaman ini di wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://cbtlmsts.my.id/wikits/index.php?title=Pengenalan_AJAX_untuk_komunikasi_asynchronous&amp;diff=26&amp;oldid=prev</id>
		<title>Admin: ←Membuat halaman berisi &#039;==Modul: Pengenalan AJAX (Asynchronous JavaScript and XML)==  ==Tujuan Pembelajaran== * Mahasiswa memahami konsep komunikasi &#039;&#039;&#039;asynchronous&#039;&#039;&#039; antara &#039;&#039;&#039;frontend dan backend&#039;&#039;&#039;. * Mahasiswa dapat mengirim permintaan (request) ke server tanpa me-refresh halaman. * Mahasiswa mampu menjalankan dan menguji AJAX di Ubuntu menggunakan &#039;&#039;&#039;tools bawaan&#039;&#039;&#039;.  ==1. 🧠 Apa Itu AJAX?==  &#039;&#039;&#039;AJAX&#039;&#039;&#039; memungkinkan halaman web untuk: * Mengambil/mengirim data dari/ke server sec...&#039;</title>
		<link rel="alternate" type="text/html" href="https://cbtlmsts.my.id/wikits/index.php?title=Pengenalan_AJAX_untuk_komunikasi_asynchronous&amp;diff=26&amp;oldid=prev"/>
		<updated>2025-05-10T13:53:50Z</updated>

		<summary type="html">&lt;p&gt;←Membuat halaman berisi &amp;#039;==Modul: Pengenalan AJAX (Asynchronous JavaScript and XML)==  ==Tujuan Pembelajaran== * Mahasiswa memahami konsep komunikasi &amp;#039;&amp;#039;&amp;#039;asynchronous&amp;#039;&amp;#039;&amp;#039; antara &amp;#039;&amp;#039;&amp;#039;frontend dan backend&amp;#039;&amp;#039;&amp;#039;. * Mahasiswa dapat mengirim permintaan (request) ke server tanpa me-refresh halaman. * Mahasiswa mampu menjalankan dan menguji AJAX di Ubuntu menggunakan &amp;#039;&amp;#039;&amp;#039;tools bawaan&amp;#039;&amp;#039;&amp;#039;.  ==1. 🧠 Apa Itu AJAX?==  &amp;#039;&amp;#039;&amp;#039;AJAX&amp;#039;&amp;#039;&amp;#039; memungkinkan halaman web untuk: * Mengambil/mengirim data dari/ke server sec...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Halaman baru&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Modul: Pengenalan AJAX (Asynchronous JavaScript and XML)==&lt;br /&gt;
&lt;br /&gt;
==Tujuan Pembelajaran==&lt;br /&gt;
* Mahasiswa memahami konsep komunikasi &amp;#039;&amp;#039;&amp;#039;asynchronous&amp;#039;&amp;#039;&amp;#039; antara &amp;#039;&amp;#039;&amp;#039;frontend dan backend&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Mahasiswa dapat mengirim permintaan (request) ke server tanpa me-refresh halaman.&lt;br /&gt;
* Mahasiswa mampu menjalankan dan menguji AJAX di Ubuntu menggunakan &amp;#039;&amp;#039;&amp;#039;tools bawaan&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==1. 🧠 Apa Itu AJAX?==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AJAX&amp;#039;&amp;#039;&amp;#039; memungkinkan halaman web untuk:&lt;br /&gt;
* Mengambil/mengirim data dari/ke server secara &amp;#039;&amp;#039;&amp;#039;asynchronous&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Tidak perlu &amp;#039;&amp;#039;&amp;#039;reload seluruh halaman&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Sangat berguna untuk membuat &amp;#039;&amp;#039;&amp;#039;web interaktif dan cepat&amp;#039;&amp;#039;&amp;#039; (misalnya search suggestion, live form check, dsb).&lt;br /&gt;
&lt;br /&gt;
==2. 🔧 Tools di Ubuntu 24.04==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Text Editor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Gedit&amp;#039;&amp;#039;&amp;#039;: GUI editor bawaan.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nano&amp;#039;&amp;#039;&amp;#039;: Terminal-based editor.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Server Lokal&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Python 3 HTTP server&amp;#039;&amp;#039;&amp;#039; (bawaan Ubuntu):&lt;br /&gt;
  &lt;br /&gt;
 cd nama_folder&lt;br /&gt;
 python3 -m http.server 8000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3. 📦 Struktur File Contoh==&lt;br /&gt;
&lt;br /&gt;
 /ajax-demo&lt;br /&gt;
 │&lt;br /&gt;
 ├── index.html         ← halaman utama&lt;br /&gt;
 ├── data.json          ← file dummy dari “server”&lt;br /&gt;
 └── server.py          ← contoh server Python (opsional)&lt;br /&gt;
&lt;br /&gt;
==4. 📄 Contoh AJAX Sederhana (GET data dari file JSON)==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;`data.json`&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;nama&amp;quot;: &amp;quot;Dzaq Rayhan&amp;quot;,&lt;br /&gt;
   &amp;quot;status&amp;quot;: &amp;quot;Mahasiswa Web Programming&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;`index.html`&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
 &amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;head&amp;gt;&lt;br /&gt;
   &amp;lt;title&amp;gt;AJAX Demo&amp;lt;/title&amp;gt;&lt;br /&gt;
 &amp;lt;/head&amp;gt;&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;h1&amp;gt;AJAX Demo - Ambil Data&amp;lt;/h1&amp;gt;&lt;br /&gt;
   &amp;lt;button onclick=&amp;quot;ambilData()&amp;quot;&amp;gt;Ambil Data&amp;lt;/button&amp;gt;&lt;br /&gt;
   &amp;lt;p id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;script&amp;gt;&lt;br /&gt;
     function ambilData() {&lt;br /&gt;
       const xhr = new XMLHttpRequest();&lt;br /&gt;
       xhr.open(&amp;quot;GET&amp;quot;, &amp;quot;data.json&amp;quot;, true);&lt;br /&gt;
 &lt;br /&gt;
       xhr.onload = function() {&lt;br /&gt;
         if (xhr.status === 200) {&lt;br /&gt;
           const data = JSON.parse(xhr.responseText);&lt;br /&gt;
           document.getElementById(&amp;quot;output&amp;quot;).innerText = `Nama: ${data.nama}, Status: ${data.status}`;&lt;br /&gt;
         } else {&lt;br /&gt;
           document.getElementById(&amp;quot;output&amp;quot;).innerText = &amp;quot;Gagal mengambil data!&amp;quot;;&lt;br /&gt;
         }&lt;br /&gt;
       }; &lt;br /&gt;
 &lt;br /&gt;
       xhr.send();&lt;br /&gt;
     }&lt;br /&gt;
   &amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;🚀 Cara Menjalankan&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Simpan semua file ke dalam satu folder, misalnya `ajax-demo/`&lt;br /&gt;
* Buka terminal:&lt;br /&gt;
   &lt;br /&gt;
 cd ~/ajax-demo&lt;br /&gt;
 python3 -m http.server 8000&lt;br /&gt;
&lt;br /&gt;
* Buka browser dan kunjungi:  &lt;br /&gt;
&lt;br /&gt;
 http://localhost:8000&lt;br /&gt;
&lt;br /&gt;
Klik tombol “Ambil Data” dan lihat data muncul tanpa reload!&lt;br /&gt;
&lt;br /&gt;
==5. 💬 Contoh AJAX POST ke Server Dummy (menggunakan server.py)==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;`index.html` (POST Form)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
 &amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;head&amp;gt;&lt;br /&gt;
   &amp;lt;title&amp;gt;Form AJAX&amp;lt;/title&amp;gt;&lt;br /&gt;
 &amp;lt;/head&amp;gt;&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;AJAX POST Demo&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;nama&amp;quot; placeholder=&amp;quot;Nama&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;button onclick=&amp;quot;kirimData()&amp;quot;&amp;gt;Kirim&amp;lt;/button&amp;gt;&lt;br /&gt;
   &amp;lt;p id=&amp;quot;hasil&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;script&amp;gt;&lt;br /&gt;
     function kirimData() {&lt;br /&gt;
       const nama = document.getElementById(&amp;quot;nama&amp;quot;).value;&lt;br /&gt;
       const xhr = new XMLHttpRequest();&lt;br /&gt;
       xhr.open(&amp;quot;POST&amp;quot;, &amp;quot;/kirim&amp;quot;, true);&lt;br /&gt;
       xhr.setRequestHeader(&amp;quot;Content-Type&amp;quot;, &amp;quot;application/json;charset=UTF-8&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
       xhr.onload = function () {&lt;br /&gt;
         document.getElementById(&amp;quot;hasil&amp;quot;).innerText = xhr.responseText;&lt;br /&gt;
       };&lt;br /&gt;
 &lt;br /&gt;
       xhr.send(JSON.stringify({ nama: nama }));&lt;br /&gt;
     }&lt;br /&gt;
   &amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;`server.py` (Server Python Sederhana)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 from http.server import BaseHTTPRequestHandler, HTTPServer&lt;br /&gt;
 import json&lt;br /&gt;
 &lt;br /&gt;
 class Handler(BaseHTTPRequestHandler):&lt;br /&gt;
     def do_POST(self):&lt;br /&gt;
         if self.path == &amp;#039;/kirim&amp;#039;:&lt;br /&gt;
             content_length = int(self.headers[&amp;#039;Content-Length&amp;#039;])&lt;br /&gt;
             post_data = self.rfile.read(content_length)&lt;br /&gt;
             data = json.loads(post_data)&lt;br /&gt;
             nama = data.get(&amp;#039;nama&amp;#039;, &amp;#039;Tidak ada nama&amp;#039;)&lt;br /&gt;
             response = f&amp;quot;Halo, {nama}!&amp;quot;&lt;br /&gt;
             self.send_response(200)&lt;br /&gt;
             self.send_header(&amp;#039;Content-type&amp;#039;,&amp;#039;text/plain&amp;#039;)&lt;br /&gt;
             self.end_headers()&lt;br /&gt;
             self.wfile.write(response.encode())&lt;br /&gt;
 &lt;br /&gt;
 httpd = HTTPServer((&amp;#039;localhost&amp;#039;, 8000), Handler)&lt;br /&gt;
 print(&amp;quot;Server running at http://localhost:8000&amp;quot;)&lt;br /&gt;
 httpd.serve_forever()&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Cara jalankan server POST:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 python3 server.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==📚 Tugas Mahasiswa==&lt;br /&gt;
&lt;br /&gt;
* Buat form AJAX untuk:&lt;br /&gt;
** Mengambil list produk dari file JSON&lt;br /&gt;
** Menampilkan ke halaman tanpa reload&lt;br /&gt;
* Tambahkan tombol &amp;quot;Refresh Data&amp;quot;&lt;br /&gt;
* (Bonus) Buat form POST sederhana ke Python backend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pranala Menarik==&lt;br /&gt;
&lt;br /&gt;
* [[Web Programming]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>