Minggu 07 — Backend, Database, dan API

HTTP, REST API, CRUD, SQL, relasi tabel, dan autentikasi vs otorisasi.

Part 7 dari 12 ± 60 menit Gratis

Cara web berkomunikasi: HTTP

Browser (klien) mengirim request, server membalas response. Request punya method, URL, dan kadang body. Response punya status code dan body (biasanya JSON).

MethodArtiContoh
GETAmbil dataGET /api/courses
POSTBuat data baruPOST /api/courses
PUT / PATCHUbah dataPUT /api/courses/5
DELETEHapus dataDELETE /api/courses/5
StatusArti
200 / 201Berhasil / berhasil dibuat
400 / 422Input salah / gagal validasi
401 / 403Belum login / tidak berhak
404Tidak ditemukan
500Kesalahan di server

REST API dan CRUD

REST memakai URL sebagai "benda" (/courses) dan method sebagai "aksi". Empat operasi CRUD: Create (POST), Read (GET), Update (PUT), Delete (DELETE). Selalu validasi input di server, walau frontend sudah memvalidasi.

SQL dan relasi tabel

CREATE TABLE courses (
  id SERIAL PRIMARY KEY,
  title VARCHAR(100) NOT NULL,
  price INT NOT NULL CHECK (price >= 0)
);
CREATE TABLE lessons (
  id SERIAL PRIMARY KEY,
  course_id INT NOT NULL REFERENCES courses(id) ON DELETE CASCADE,
  title VARCHAR(100) NOT NULL
);
SELECT c.title, COUNT(l.id) AS jumlah_bab
FROM courses c LEFT JOIN lessons l ON l.course_id = c.id
GROUP BY c.title;
  • Relasi satu-ke-banyak: satu kursus punya banyak bab (kunci asing course_id).
  • Migration: file yang mencatat perubahan skema database, bisa dijalankan berulang dan dibagi ke tim.
  • Index: mempercepat pencarian pada kolom yang sering dicari (CREATE INDEX ... ON courses(title)).

Authentication vs Authorization

PertanyaanContoh
AuthenticationSiapa kamu?Login dengan email dan sandi
AuthorizationApa yang boleh kamu lakukan?Hanya admin yang boleh menghapus kursus

Sandi harus disimpan sebagai hash, tidak pernah sebagai teks biasa.

Praktik minggu ini

Bangun API manajemen kursus menggunakan Laravel atau Go dan PostgreSQL. Target: API CRUD yang berjalan dan bisa diuji (misalnya dengan Postman atau curl).

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X