Skip to main content

Tugas 6: JavaScript dan AJAX

Pemrograman Berbasis Platform (CSGE602022) - diselenggarakan oleh Fakultas Ilmu Komputer Universitas Indonesia, Semester Ganjil 2022/2023


Deskripsi Tugas

Pada tugas ini, kamu akan mengimplementasikan AJAX pada fungsionalitas todolist yang telah kamu buat saat Tugas 4 dan 5.

Checklist untuk tugas ini adalah sebagai berikut:

  • Mengubah tugas 4 yang telah dibuat sebelumnya menjadi menggunakan AJAX.

    • AJAX GET

      • Buatlah view baru yang mengembalikan seluruh data task dalam bentuk JSON.
      • Buatlah path /todolist/json yang mengarah ke view yang baru kamu buat.
      • Lakukan pengambilan task menggunakan AJAX GET.
    • AJAX POST

      • Buatlah sebuah tombol Add Task yang membuka sebuah modal dengan form untuk menambahkan task.

        Untuk mempelajari lebih lanjut mengenai modal Bootstrap (v5.2), silakan baca dokumentasi berikut: Modal · Bootstrap v5.2.

      • Buatlah view baru untuk menambahkan task baru ke dalam database.

      • Buatlah path /todolist/add yang mengarah ke view yang baru kamu buat.

      • Hubungkan form yang telah kamu buat di dalam modal kamu ke path /todolist/add

      • Tutup modal setelah penambahan task telah berhasil dilakukan.

      • Lakukan refresh pada halaman utama secara asinkronus untuk menampilkan list terbaru tanpa reload seluruh page.

  • Menjawab beberapa pertanyaan berikut pada README-TWO.md pada folder todolist.

    • Jelaskan perbedaan antara asynchronous programming dengan synchronous programming.
    • Dalam penerapan JavaScript dan AJAX, terdapat penerapan paradigma Event-Driven Programming. Jelaskan maksud dari paradigma tersebut dan sebutkan salah satu contoh penerapannya pada tugas ini.
    • Jelaskan penerapan asynchronous programming pada AJAX.
    • Jelaskan bagaimana cara kamu mengimplementasikan checklist di atas.

Tenggat Waktu Pengerjaan

Tenggat waktu pengerjaan Tugas 6:

13 Oktober 2022 05.00.00 UTC (0 days 0 hours 0 minutes 0 seconds left)

Asisten dosen akan mengecek last commit dari repositori tugas lab, sehingga kamu tidak perlu mengumpulkan tautan repositori ke dalam slot submisi.

Bonus

Kamu akan mendapatkan nilai bonus pada penilaian tugas ini apabila kamu membuat fitur berikut.

  • Menambahkan fungsionalitas hapus dengan menggunakan AJAX DELETE.
    • Buatlah kolom baru pada task dengan tombol Hapus.
    • Buatlah view baru yang menghapus task dengan ID tertentu.
    • Buatlah path /todolist/delete/{id} yang menerima ID dari path dan meneruskannya kepada view.
    • Buatlah fungsi JavaScript yang memanggil endpoint penghapusan task.
    • Lakukan refresh pada halaman utama secara asinkronus untuk menampilkan list terbaru tanpa reload seluruh page.