Modul Web Programming - Pertemuan 9 (1)
Modul Web Programming - Pertemuan 9 (1)
A. Pengertian
B. Asynchronous Programming
Asynchronous programming dalam JavaScript adalah teknik pemrograman yang
memungkinkan program untuk menjalankan tugas yang berpotensi memakan waktu lama dan
tetap responsif terhadap peristiwa lain selama tugas tersebut berjalan, daripada harus
menunggu hingga tugas tersebut selesai. Dalam JavaScript, banyak fungsi yang disediakan
oleh browser, terutama yang paling menarik, dapat berpotensi memakan waktu lama, dan
oleh karena itu, bersifat asynchronous. Beberapa contoh fungsi asynchronous pada JavaScript
adalah membuat permintaan HTTP menggunakan fetch(), memulai operasi yang memakan
waktu lama dengan memanggil sebuah fungsi, dan lain-lain.
Dalam asynchronous programming, program dapat melanjutkan menjalankan tugas lain
sambil menunggu peristiwa eksternal, seperti permintaan jaringan, terjadi. Hal ini dapat
meningkatkan kinerja dan responsivitas program.
Asynchronous programming dapat diimplementasikan dengan menggunakan teknik
seperti callback, promise, dan async/await. Callback adalah fungsi yang dieksekusi setelah
kode luar selesai dijalankan. Promise memungkinkan Anda membuat kode yang berjalan
setelah periode waktu tertentu atau ketika kondisi tertentu terpenuhi. Async/await adalah
cara baru untuk menulis kode asynchronous yang lebih mudah dibaca dan dipahami.
Asynchronous programming sangat penting dalam pengembangan web karena banyak
fungsi pada web yang bersifat asynchronous, seperti permintaan HTTP, interaksi pengguna,
dan lain-lain. Dengan menggunakan asynchronous programming, program dapat tetap
responsif terhadap peristiwa lain sambil menunggu tugas yang berpotensi memakan waktu
lama selesai dijalankan.
Berikut adalah beberapa keuntungan dari menggunakan asynchronous programming
dalam JavaScript:
A. Responsivitas: Dengan menggunakan asynchronous programming, program dapat tetap
responsif terhadap peristiwa lain sambil menunggu tugas yang berpotensi memakan
waktu lama selesai dijalankan. Hal ini dapat meningkatkan kinerja dan responsivitas
program.
Synchronous Asynchronous
Kode diproses secara sequential, artinya setiap Kode diproses secara independent, artinya
baris kode tidak akan dieksekusi sebelum baris tugas-tugas dapat dieksekusi secara
kode sebelumnya selesai diproses bersamaan tanpa harus menunggu tugas lain
selesai
Task akan dieksekusi satu persatu sesuai Task dapat dilakukan secara bersamaan tanpa
dengan urutan dan prioritas task harus menunggu proses antrian
Proses eksekusi program berjalan secara Tugas-tugas dapat dieksekusi secara
berurutan sesuai dengan baris kode tertentu independen tanpa memblokir utas utama
Function 1 harus benar-benar selesai baru Tugas yang memakan waktu lama tidak akan
melakukan eksekusi function 2 dan seterusnya memblokir utas utama dan membuat program
menjadi tidak responsif
Tugas yang memakan waktu lama dapat Callback, promise, dan async/await adalah
memblokir utas utama dan membuat program teknik umum untuk mengelola kode
menjadi tidak responsif asynchronous
4. Mengirim request
Pada contoh di atas, objek XMLHttpRequest() dibuat untuk mengambil data dari server
dengan menggunakan metode GET. Fungsi onreadystatechange() digunakan untuk
menentukan fungsi handler untuk event. Fungsi open() digunakan untuk menentukan method
dan URL, sedangkan fungsi send() digunakan untuk mengirim request. Setelah data berhasil
diambil, fungsi handler akan dieksekusi untuk menampilkan data pada console.
Untuk menggunakan AJAX dengan PHP, Anda dapat membuat file PHP yang akan
mengambil data dari server dan mengembalikan data dalam format yang sesuai. Berikut
adalah contoh kode PHP untuk mengambil data dari database dan mengembalikan data dalam
format JSON:
Pada contoh di atas, file PHP digunakan untuk mengambil data dari database dan
mengembalikan data dalam format JSON. Setelah data berhasil diambil, fungsi json_encode()
D. Instruksi Praktik
1. Pada pertemuan evaluasi (UTS) kita telah membuat project CRUD (Create Read Update
Delete) untuk memanipulasi data / entitas menggunakan Bahasa PHP Native. Project
tersebut disimpan dalam 1 file, maka langkah pertama mari kita uraikan menjadi beberapa
file terlebih dahulu berdasarkan fungsinya, yaitu file untuk create data, update data, dan
delete data.
koneksi.php
create.php
update.php
4. Hapus attribute name pada tombol kirim / simpan sehingga menjadi seperti ini:
5. Tambahkan tag <script> baru sebelum penutup tag </body> untuk memisahkan kode
javascript sudah kita buat sebelumnya, ketikkan fungsi AJAX untuk mengeksekusi simpan
data pada file create.php. Perhatikan gambar berikut :
7. SIlakan refresh halaman index anda, jika muncul error seperti gambar berikut ini, berikan
komentar “//” pada line include create.php, update.php, dan delete.php.
Gambar Error
10. Silakan tambahkan file css dan javascript pada halaman index anda, perhatikan gambar
berikut :
Css : <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/sweetalert2.min.css" rel="stylesheet">
11. Coba kita gunakan library sweetalert2 pada event success ajax, dengan asumsi web akan
menampilkan popup notifikasi sukses ketika data berhasil disimpan.
14. Selanjutnya kita buat event baru jika tombol dengan class “editdata” diclick, maka aplikasi
akan mengambil data dari database kemudian data akan ditampilkan pada form.
Perhatikan gambar berikut ini :
15. Edit file edit.php menjadi kode seperti gambar berikut ini :