Course Content
Pengenalan Backend dan Library di JavaScript
Sesi ini akan memperkenalkan konsep dasar di dunia backend, mulai dari teori, cara kerja, hingga perkenalan dengan berbagai library JavaScript yang umum digunakan. Di akhir sesi, peserta akan mencoba langsung membuat server sederhana dan berinteraksi dengannya menggunakan Postman.
0/6
Mengenal Express.js
Di sesi ini, kita akan beralih dari server Node.js dasar ke framework yang lebih canggih dan mudah digunakan, yaitu Express.js. Peserta akan belajar cara membuat server, memahami berbagai metode routing untuk membuat RESTful API sederhana, dan mempraktikkannya langsung dengan studi kasus data siswa.
0/6
Struktur Proyek dan Modularisasi
Seiring aplikasi kita membesar, menyimpan semua kode dalam satu file akan membuatnya berantakan. Di sesi ini, peserta akan belajar cara menyusun proyek Express.js dengan rapi dengan memisahkan kode ke dalam file dan folder yang berbeda (modularisasi). Kita juga akan membahas penanganan error dasar dan mempelajari fitur baru di Postman
0/7
Pengenalan Supabase dan Simulasi RESTful API dengan Database
Di sesi sebelumnya, data kita akan hilang setiap kali server mati. Sekarang, kita akan menyelesaikan masalah itu dengan menghubungkan API kita ke database sungguhan menggunakan Supabase, sebuah platform Backend as a Service. Peserta akan belajar membuat akun, menghubungkan proyek, dan mempraktikkan operasi CRUD (Create, Read, Update, Delete) pada API data siswa.
0/6
Pengujian Lanjutan, Dokumentasi API (Postman dan Swagger), dan Publikasi
Di sesi final ini, kita akan menyempurnakan proyek kita. Peserta akan belajar cara melakukan pengujian API secara otomatis di Postman, membuat dokumentasi yang rapi dengan Postman dan Swagger agar mudah dipahami orang lain, dan terakhir mempublikasikan hasil karyanya ke GitHub agar bisa menjadi portofolio yang membanggakan.
0/6
Belajar Backend Pemula dengan Express.js dan Supabase

Di pelajaran ini, kita akan melengkapi operasi API kita dengan menambahkan fungsi untuk mengubah dan menghapus data. Selain itu, kita akan belajar trik di Postman yang akan membuat pekerjaan kita jauh lebih efisien.

Bagian 1: Mengenal Metode PUT dan DELETE

Sejauh ini kita sudah bisa membuat data (POST) dan membacanya (GET). Sekarang kita akan lengkapi operasi CRUD kita dengan:

  • PUT:

    • Fungsi: Untuk memperbarui atau mengedit data yang sudah ada.
    • Cara Kerja: Biasanya, kita perlu memberitahu server data spesifik mana yang ingin kita ubah. Caranya adalah dengan mengirimkan ID unik dari data tersebut melalui URL.
    • Analogi: Mengedit nama kontak di buku teleponmu.
  • DELETE:

    • Fungsi: Untuk menghapus data yang sudah ada.
    • Cara Kerja: Sama seperti PUT, kita perlu mengirimkan ID unik dari data yang ingin kita hapus agar server tidak salah sasaran.
    • Analogi: Menghapus kontak dari buku teleponmu secara permanen.

<hr>

Bagian 2: Praktik Kode: Menambahkan Route PUT dan DELETE

Mari kita tambahkan fungsionalitas ini ke API data siswa kita.

1. Update File Controller (student.controller.js)

Buka file src/controllers/student.controller.js dan tambahkan dua fungsi baru ini.

// ... (kode students array dan fungsi getAllStudents, createNewStudent)

// Fungsi untuk mengupdate siswa berdasarkan ID
const updateStudentById = (request, response) => {
  const studentId = parseInt(request.params.id); // Ambil ID dari URL
  const newName = request.body.nama; // Ambil nama baru dari body

  // Cari siswa, lalu update namanya
  students = students.map(student => 
    student.id === studentId ? { ...student, nama: newName } : student
  );

  response.send(`Data siswa dengan ID ${studentId} berhasil diupdate.`);
};

// Fungsi untuk menghapus siswa berdasarkan ID
const deleteStudentById = (request, response) => {
  const studentId = parseInt(request.params.id); // Ambil ID dari URL

  // Filter dan simpan siswa yang ID-nya tidak sama dengan yang ingin dihapus
  students = students.filter(student => student.id !== studentId);

  response.send(`Data siswa dengan ID ${studentId} berhasil dihapus.`);
};

// Jangan lupa tambahkan fungsi baru ke module.exports
module.exports = {
  getAllStudents,
  createNewStudent,
  updateStudentById,    // Tambahkan ini
  deleteStudentById     // Tambahkan ini
};
  • Penjelasan request.params.id: Ini adalah cara kita mengambil nilai dari parameter URL. Jika URL-nya adalah /students/1, maka request.params.id akan bernilai 1.

2. Update File Router (student.route.js)

Sekarang, daftarkan fungsi controller yang baru ke router. Buka file src/routes/student.route.js dan tambahkan dua route baru.

// ... (kode router.get dan router.post yang sudah ada)

// Definisikan route PUT dan DELETE
// :id adalah parameter dinamis
router.put('/:id', studentController.updateStudentById);
router.delete('/:id', studentController.deleteStudentById);

module.exports = router;
  • Penjelasan /:id: Titik dua (:) menandakan bahwa bagian ini adalah sebuah parameter URL dinamis. Express akan menangkap nilai apa pun yang ada di segmen URL ini dan menyimpannya di request.params.

Bagian 3: Postman Efisien dengan Environment Variables

Kamu mungkin mulai lelah mengetik http://localhost:3000 berulang kali. Postman punya solusi cerdas untuk ini: Environment Variables.

Ini adalah variabel yang bisa kita gunakan di semua request kita. Jika alamat server berubah, kita cukup mengubahnya di satu tempat.

Cara Membuat Environment Variable:

  1. Di Postman, klik ikon mata (👁️) di pojok kanan atas, lalu klik Add di bagian Environments.
  2. Beri nama environment kamu, misalnya Bootcamp Backend.
  3. Di bawahnya, buat sebuah variabel baru:
    • Di kolom VARIABLE, ketik: baseUrl
    • Di kolom INITIAL VALUE dan CURRENT VALUE, ketik: http://localhost:3000
  4. Klik Save, lalu pastikan kamu memilih environment “Bootcamp Backend” di menu dropdown di pojok kanan atas.
  5. Gunakan Variabel: Sekarang, ubah semua URL request-mu dari http://localhost:3000/students menjadi {{baseUrl}}/students. Tanda kurung kurawal ganda adalah cara Postman untuk menggunakan variabel.

Uji Coba Terakhir

  1. Jalankan ulang servermu (node src/index.js).
  2. Tes PUT:
    • Metode: PUT
    • URL: {{baseUrl}}/students/1 (kita akan mengubah data Andi)
    • Pindah ke tab Body > raw > JSON, lalu ketik: {"nama": "Andi Pratama"}
    • Klik Send. Kamu akan mendapat pesan sukses.
  3. Tes DELETE:
    • Metode: DELETE
    • URL: {{baseUrl}}/students/2 (kita akan menghapus data Citra)
    • Klik Send. Kamu akan mendapat pesan sukses.
  4. Verifikasi:
    • Kirim ulang permintaan GET ke {{baseUrl}}/students.
    • Kamu akan melihat hasilnya sekarang adalah [ { "id": 1, "nama": "Andi Pratama" } ]. Data Andi sudah ter-update dan data Citra sudah hilang.

Luar Biasa! Kamu sekarang telah menguasai seluruh operasi dasar CRUD dan cara bekerja secara efisien dengan Postman. Proyekmu sekarang jauh lebih lengkap dan terstruktur.