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

Selamat datang di Topik 3! Sejauh ini, semua kode yang kita tulis untuk server kita berada di dalam satu file saja, yaitu index.js. Untuk proyek kecil, ini tidak masalah.

Tapi, bayangkan jika aplikasi kita tumbuh menjadi sangat besar seperti Instagram atau TikTok. Jika semua kode—untuk routing, logika, koneksi database, dan lainnya—ditumpuk di satu file, file tersebut bisa menjadi ribuan bahkan puluhan ribu baris panjangnya!

Ini seperti memiliki sebuah lemari raksasa di mana semua jenis pakaian, mulai dari kaus kaki, kemeja, hingga jaket musim dingin, dilempar begitu saja menjadi satu tumpukan. Mencari sepasang kaus kaki saja bisa memakan waktu berjam-jam.

Bagian 1: Masalah Menulis Semua Kode di Satu File

Menyimpan semua kode dalam satu file akan menimbulkan beberapa masalah serius seiring berjalannya waktu.

  • Sulit Dibaca dan Dipahami: Saat file menjadi terlalu panjang, kita akan kesulitan untuk mengerti alur kerja aplikasi secara keseluruhan. Mencari satu fungsi spesifik saja akan seperti mencari jarum dalam tumpukan jerami.
  • Sulit Dirawat (Maintenance): Memperbaiki bug atau menambahkan fitur baru menjadi sebuah mimpi buruk. Mengubah satu baris kode di satu bagian bisa jadi tanpa sengaja merusak fungsionalitas di bagian lain.
  • Sulit untuk Bekerja Sama: Jika kamu bekerja dalam sebuah tim, mustahil beberapa orang bisa mengedit file yang sama secara bersamaan tanpa menimbulkan konflik dan kekacauan.

Bagian 2: Solusinya: Separation of Concerns

Untuk mengatasi masalah ini, para developer profesional menerapkan sebuah prinsip fundamental yang disebut Separation of Concerns (Pemisahan Tugas).

Konsepnya sangat sederhana: Jangan campur adukkan semua hal. Pisahkan kodemu ke dalam file dan folder yang berbeda berdasarkan fungsinya masing-masing.

Sama seperti di lemari pakaian, kita akan membuat “laci-laci” khusus:
  • Satu laci hanya untuk kaus kaki.
  • Satu laci hanya untuk kemeja.
  • Satu laci hanya untuk celana.

Dalam konteks proyek Express.js kita, pemisahannya akan terlihat seperti ini:

  • Semua kode yang berhubungan dengan definisi URL atau routing akan kita masukkan ke dalam folder routes.
  • Semua kode yang berisi logika inti (apa yang harus dilakukan saat sebuah URL diakses) akan kita masukkan ke dalam folder controllers.
  • File index.js utama kita akan menjadi lebih bersih, hanya berisi kode untuk konfigurasi awal dan “menghubungkan” semua bagian lainnya.

Dengan menerapkan prinsip ini, proyek kita akan menjadi lebih modular, rapi, dan mudah dikelola, tidak peduli seberapa besar ukurannya nanti. Di pelajaran selanjutnya, kita akan langsung mempraktikkan cara membuat struktur folder ini.