‹ Daftar slidePertemuan 8: Perancangan dan pengujian REST API untuk mendukung fungsionalitas aplikasi
Mata Kuliah Lab Pemrograman • Bisnis Digital
Merancang & Menguji REST API
Pertemuan 8 — Perancangan dan Pengujian REST API untuk Mendukung Fungsionalitas Aplikasi
Selama ini aplikasi Anda hanya menampilkan data yang ditulis langsung di kode. Hari ini kita membuka jalan agar aplikasi bisa "berbicara" dengan server sungguhan — mengambil, mengirim, dan mengubah data lewat jembatan bernama REST API.
RPS MINGGU 9 • 2X50 MENIT
Tujuan Pembelajaran Hari Ini
Melanjutkan navigasi dan routing dari Pertemuan 7, hari ini Anda akan menyambungkan aplikasi ke sumber data nyata:
CAPAIAN 1 — RANCANG
MERANCANG REST API
Memahami struktur endpoint, method HTTP, dan format data JSON untuk merancang permintaan data yang rapi dan konsisten.
CAPAIAN 2 — UJI
MENGUJI REST API
Mampu memanggil API dari React Native serta menguji endpoint dengan Postman untuk memastikan fungsionalitas berjalan benar.
Sub-CPMK Minggu 9: mahasiswa mampu merancang dan menguji REST API untuk mendukung fungsionalitas aplikasi yang telah dibangun.
Bagian 1 dari 3
Apa Itu REST API?
Bagaimana aplikasi mobile "berbicara" dengan server untuk mengambil dan mengirim data.
Analogi: Pelayan Restoran
ANDA (KLIEN)
APLIKASI MOBILE
Anda duduk di meja dan memesan lewat pelayan — Anda tidak masuk ke dapur sendiri untuk mengambil makanan.
DAPUR (SERVER)
DATABASE & LOGIKA
Dapur menyimpan bahan dan resep (data), lalu menyiapkan pesanan sesuai permintaan yang diterima pelayan.
Glosarium — REST API: aturan standar yang mengatur bagaimana aplikasi (klien) meminta atau mengirim data ke server lewat alamat tertentu, menggunakan format permintaan dan jawaban yang konsisten — seperti pelayan yang menjembatani pesanan Anda ke dapur.
Anatomi Alamat: Endpoint
Setiap permintaan data punya alamat tujuan, disebut endpoint — mirip alamat rumah agar kurir tahu ke mana harus mengantar.
Glosarium — JSON (JavaScript Object Notation): format pertukaran data berbasis teks yang menyusun informasi sebagai pasangan kunci: nilai di dalam kurung kurawal, dipakai hampir semua REST API modern karena ringan dan mudah diproses JavaScript.
Hitung dari Nol: Merancang Pagination
Katalog UMKM punya 47 produk. Agar tidak diambil sekaligus, data dipecah per halaman lewat query parameter page dan limit.
Langkah
Perhitungan
Nilai
Total data produk
diketahui dari database
47
Item per halaman (limit)
ditentukan tim
10
Total halaman dibutuhkan
47 ÷ 10 = 4,7 → dibulatkan ke atas
5
Offset untuk ambil halaman 3
(3 − 1) × 10
20
ENDPOINT HALAMAN 3
/produk?page=3&limit=10
Server melompati 20 data pertama, lalu mengambil 10 berikutnya
Coba Sendiri: Rancang Pagination API Anda
Ubah total data dan limit per halaman, lalu amati jumlah halaman dan offset tiap halaman yang dihasilkan.
Bagian 2 dari 3
Memanggil REST API dari Aplikasi
Dari rancangan endpoint di atas kertas menuju kode React Native yang benar-benar mengambil data dari server.
Mengambil Data dengan fetch
React Native menyediakan fungsi fetch untuk mengirim permintaan HTTP. Dipasangkan dengan async/await agar kode menunggu jawaban server sebelum melanjutkan.
// Fungsi async menunggu jawaban server async functionambilProduk() { const respons = awaitfetch('https://api.tokoumkm.com/produk'); const data = await respons.json(); return data; }
Glosarium — async/await: pola penulisan kode yang membuat program "menunggu" hasil suatu proses (seperti permintaan ke server) sebelum menjalankan baris berikutnya, tanpa membekukan seluruh tampilan aplikasi.
Menangani Jawaban & Kegagalan
Koneksi internet bisa putus, server bisa error — kode yang baik selalu siap menangani kegagalan dengan try/catch.
Glosarium — headers & body: headers adalah "amplop" berisi info tambahan tentang permintaan (mis. jenis data yang dikirim); body adalah "isi surat" berupa data sesungguhnya yang dikirim ke server.
Alur Lengkap: Permintaan → Jawaban
Panah penuh = permintaan (request) berjalan; panah putus-putus = jawaban (response) berisi JSON dan status code kembali ke aplikasi.
Bagian 3 dari 3
Menguji REST API
Sebelum disambungkan ke tampilan aplikasi, endpoint perlu diuji langsung — tanpa harus membuka aplikasi mobile.
Alat Uji: Postman
Postman memungkinkan Anda mengirim permintaan ke endpoint dan memeriksa jawabannya tanpa harus membuka aplikasi mobile terlebih dahulu.
1 • PILIH METHOD
Pilih GET, POST, PUT, atau DELETE sesuai aksi yang ingin diuji.
2 • ISI ENDPOINT & BODY
Masukkan alamat endpoint, lalu isi data JSON di body bila diperlukan.
3 • KIRIM & PERIKSA
Tekan Send, lalu periksa status code dan isi JSON pada jawaban.
Menguji lewat Postman lebih cepat daripada lewat aplikasi mobile karena Anda tidak perlu menunggu tampilan dibangun ulang setiap kali mencoba.
Hitung dari Nol: Success Rate Pengujian
Tim menguji 25 permintaan ke berbagai endpoint toko UMKM lewat Postman. Mari hitung tingkat keberhasilannya.
Langkah
Perhitungan
Nilai
Total permintaan diuji
diketahui dari log Postman
25
Berhasil (status 200/201)
dihitung dari log
21
Gagal (404 + 500)
3 + 1
4
Success rate
21 ÷ 25 × 100
84%
HASIL PENGUJIAN
84%
4 endpoint perlu diperbaiki sebelum rilis
Kesalahan Umum Pemula
KESALAHAN 1
Lupa menulis await sebelum fetch atau respons.json(). Akibatnya kode membaca data yang belum selesai diambil, sehingga hasilnya kosong atau error.
KESALAHAN 2
Tidak memeriksa status code sebelum memakai data jawaban. Kode langsung mengasumsikan sukses, padahal server bisa saja membalas 404 atau 500.
Ingat: selalu gunakan await pada proses fetch, dan selalu periksa respons.ok atau status code sebelum menampilkan data ke pengguna.
Latihan Praktik (30 Menit)
Rancang dan uji satu endpoint REST API untuk katalog UMKM pilihan Anda sendiri, lalu panggil dari kode React Native.
Instruksi
Rancang endpoint GET /produk lengkap dengan query parameter page dan limit.
Uji endpoint tersebut di Postman, catat status code yang muncul.
Tulis fungsi fetch dengan async/await dan try/catch untuk memanggilnya dari React Native.
Hitung success rate dari minimal 5 kali percobaan pengujian Anda sendiri.
Kerjakan berpasangan. Dosen akan berkeliling untuk memeriksa hasil pengujian Postman dan kode fetch Anda.
Rangkuman & Tugas Mandiri
MERANCANG
ENDPOINT & JSON
Alamat endpoint, method HTTP (GET/POST/PUT/DELETE), status code, dan format JSON adalah bahasa dasar REST API.
MENGUJI
FETCH & POSTMAN
fetch + async/await memanggil API dari React Native; Postman menguji endpoint sebelum disambungkan ke tampilan.
Tugas Sebelum Pertemuan 9
Selesaikan latihan praktik dan unggah ke repository proyek masing-masing.
Uji tambahan satu endpoint POST (mis. tambah produk), catat success rate-nya.