REST API: Aturan Main Berkomunikasi antar Sistem
Konsep REST, endpoint, resource, dan HTTP verbs
Tujuan Pembelajaran
- Memahami konsep REST API
- Bisa mendesain endpoint REST yang baik
Analogi
REST API = Menu Restoran:
GET /menu → Lihat semua menu
GET /menu/1 → Lihat menu nomor 1
POST /menu → Tambah menu baru
PUT /menu/1 → Ganti menu nomor 1
DEL /menu/1 → Hapus menu nomor 1
REST API seperti menu restoran — setiap endpoint punya fungsi spesifik
Penjelasan Konsep
REST API
REST API adalah cara standar untuk aplikasi berkomunikasi melalui HTTP. REST = Representational State Transfer. Sederhananya, REST adalah aturan main bagaimana client dan server saling bertukar data.
Prinsip REST
- Resource-based → Semua adalah resource (user, product, order).
- HTTP Verbs → GET (baca), POST (buat), PUT (ganti), DELETE (hapus).
- Stateless → Setiap request mandiri.
- Uniform Interface → Format respons konsisten (biasanya JSON).
URL Design yang Baik
- ✅ Gunakan kata benda jamak:
/users,/orders - ✅ Gunakan hirarki:
/users/123/orders - ❌ Jangan pakai kata kerja:
/getUsers
Inti yang Perlu Dipahami
Bagian ini berfokus pada memahami konsep REST API., dan bisa mendesain endpoint REST yang baik. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.
Saat membaca REST API, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.
Cara Membayangkannya
REST API seperti menu restoran — setiap endpoint punya fungsi spesifik. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.
Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.
Saat Melihat Contoh Kode
Contoh kode pada chapter ini memakai bahasa javascript. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. Baris 3-6: GET all. Baris 8-12: GET by ID. Baris 14-20: POST. Baris 22-28: PUT. Baris 30-34: DELETE.
Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.
Konteks dalam Perjalanan Belajar
Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.
Kamu sedang membangun skill inti. Setelah bagian ini, kamu bisa memilih spesialisasi sesuai minat: frontend, backend, atau DevOps.
Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.
Contoh Kode
const API = 'https://api.example.com';
const getProducts = async () => {
const res = await fetch(`${API}/products`);
return res.json();
};
const getProduct = async (id) => {
const res = await fetch(`${API}/products/${id}`);
if (res.status === 404) return null;
return res.json();
};
const createProduct = async (data) => {
const res = await fetch(`${API}/products`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
});
return res.json();
};
const updateProduct = async (id, data) => {
const res = await fetch(`${API}/products/${id}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
});
return res.json();
};
const deleteProduct = async (id) => {
const res = await fetch(`${API}/products/${id}`, {
method: 'DELETE'
});
return res.status === 204;
};Penjelasan Kode
Prompt AI
Jelaskan prinsip stateless dalam REST.
Pertanyaan Reflektif
Cari API publik (JSONPlaceholder). Coba semua method CRUD-nya.