Tujuan Pembelajaran
- Mengirim data ke server dengan POST.
- Mengubah data dengan PUT.
- Menghapus data dengan DELETE.
- Membangun form yang mengirim data ke API.
Uraian Materi
Setelah mampu mengambil data, aplikasi perlu mengirim data: menambah record baru (POST), memperbarui (PUT), dan menghapus (DELETE). Ketiganya membutuhkan body permintaan dan pada umumnya kepala Content-Type application/json.
Mengirim dengan POST
final res = await http.post(
uri,
headers: {'Content-Type': 'application/json'},
body: jsonEncode({'nama': 'Produk A', 'harga': 15000}),
);Server menerima data, memproses, dan membalas status serta nilai yang tersimpan. Aplikasi membaca respons untuk memberi umpan balik kepada pengguna.
PUT untuk Perbaruan
PUT umumnya memerlukan identitas record di dalam URL atau body, misalnya pada path /produk/5. Data lengkap dikirim lalu nilai diperbarui.
final res = await http.put(
Uri.parse('https://api.example.com/produk/5'),
headers: {'Content-Type': 'application/json'},
body: jsonEncode({'nama': 'Produk A Baru', 'harga': 20000}),
);DELETE untuk Penghapusan
DELETE mengarah ke resource spesifik tanpa body: http.delete(Uri.parse('.../produk/5')). Sebagian server mengharuskan otorisasi – ditambahkan lewat header Authorization yang dibahas sekilas.
Menghubungkan Form dengan API
Pertemuan menggabungkan form (hasil praktik modul form) dengan fungsi API: tombol Kirim pada form memanggil POST, edit memanggil PUT, dan tombol hapus memanggil DELETE. Setelah sukses, daftar dimuat ulang agar selalu sinkron dengan server.
Body dan Content-Type pada Permintaan Kirim
Permintaan POST dan PUT membawa body berisi data dalam format JSON, dengan header Content-Type menandakan jenis konten yang dikirim. Server membaca body ini untuk memproses data. Memahami kedua bagian tersebut menjelaskan mengapa server dapat menerima data dengan benar.
Membedakan POST dan PUT
Secara umum POST menambahkan sumber daya baru, sementara PUT memperbarui sumber daya yang sudah ada dengan identitas yang jelas. Perbedaan ini memengaruhi cara URL dan body disusun, sekaligus menjadi konsep yang sering ditanyakan pada tes pemahaman protokol.
Menyinkronkan Antarmuka dengan Server
Setelah sukses melakukan operasi kirim, antarmuka perlu dimutakhirkan, biasanya dengan memuat ulang daftar dari server. Pola ini menjaga konsistensi antara apa yang dilihat pengguna dengan keadaan sebenarnya di server tanpa perlu me-restart aplikasi.
Menangani Kegagalan Server
Tidak setiap permintaan berhasil; pengguna butuh informasi yang jelas saat gagal, misalnya koneksi bermasalah atau data tidak diterima. Peserta menangkap kesalahan dan menampilkan pesan yang mudah dipahami, menghindari error teknis yang membingungkan.
Aktivitas Pembelajaran
- Menulis fungsi POST, PUT, dan DELETE.
- Menghubungkan form ke fungsi API.
- Menguji alur tambah, ubah, dan hapus.
- Menangani respon sukses dan gagal.
Tugas dan Latihan
- Bangun form tambah dan edit produk ke API latihan.
- Implementasikan hapus dengan konfirmasi dialog.
- Tunjukkan pesan umpan balik dari setiap permintaan.
Evaluasi
Evaluasi dilakukan melalui pengamatan hasil praktikum, kuis singkat di akhir pertemuan, dan pemantauan proyek. Peserta yang belum mencapai indikator tertentu diberikan remedial melalui bimbingan ulang dan latihan tambahan pada pertemuan berikutnya.
Panduan umum praktik, catatan belajar, dan refleksi tersedia di Panduan Belajar Kribbi Study.

