Kalau kamu sudah mulai belajar JavaScript dan framework frontend seperti React atau Vue, biasanya akan muncul satu kebutuhan baru: backend.
Frontend butuh data, butuh login, butuh simpan informasi ke database. Nah, di sinilah API berperan.
Kabar baiknya, JavaScript tidak hanya bisa dipakai di browser. Dengan Node.js, kamu bisa membuat backend dan API menggunakan bahasa yang sama. Dan untuk urusan bikin API dengan cepat dan rapi, Express.js adalah pilihan paling populer.
Di artikel ini, kita akan membahas cara membuat API sederhana dengan Node.js dan Express dari nol, khusus untuk pemula, dengan bahasa santai dan contoh yang mudah dipahami.
Apa Itu API dan Kenapa Penting?
API (Application Programming Interface) adalah jembatan komunikasi antara frontend dan backend.
Contoh sederhananya:
- Frontend minta data user
- Backend mengirimkan data lewat API
- Frontend menampilkan data ke layar
Tanpa API:
- frontend dan backend tidak bisa berkomunikasi
- aplikasi tidak bisa login
- data tidak bisa disimpan atau diambil
Hampir semua aplikasi modern saat ini berbasis API, mulai dari:
- website
- mobile app
- sistem internal perusahaan
- hingga integrasi payment gateway
Kenapa Memilih Node.js dan Express?
Node.js
Node.js memungkinkan JavaScript berjalan di server.
Artinya, kamu bisa membuat backend menggunakan JavaScript.
Keunggulan Node.js:
- cepat dan ringan
- non-blocking (asynchronous)
- cocok untuk API
- komunitas besar
Express.js
Express adalah framework minimalis di atas Node.js.
Keunggulan Express:
- mudah dipelajari
- setup cepat
- fleksibel
- cocok untuk pemula dan profesional
Kombinasi Node.js + Express sangat populer di dunia kerja dan startup.
Persiapan Sebelum Mulai
Sebelum ngoding, pastikan kamu sudah punya:
- Node.js (versi LTS)
- NPM atau Yarn
- Text editor seperti VS Code
- Dasar JavaScript (variabel, function, async)
Kalau Node.js belum terinstall, kamu bisa cek dengan perintah:
node -v
Kalau muncul versinya, berarti sudah siap.
Membuat Project Node.js Pertama
Buat folder project, lalu masuk ke folder tersebut:
mkdir api-sederhana
cd api-sederhana
Inisialisasi project:
npm init -y
Install Express:
npm install express
Membuat Server Express
Buat file index.js, lalu isi dengan kode berikut:
const express = require("express");
const app = express();
const PORT = 3000;
app.get("/", (req, res) => {
res.send("API Pertama Saya Jalan 🚀");
});
app.listen(PORT, () => {
console.log(`Server berjalan di http://localhost:${PORT}`);
});
Jalankan server:
node index.js
Buka browser dan akses http://localhost:3000.
Kalau muncul teks, selamat! API pertama kamu sudah jalan.
Memahami Konsep Routing
Routing adalah cara menentukan endpoint API.
Contoh endpoint:
- GET
/users - POST
/users - GET
/products
Contoh routing sederhana:
app.get("/users", (req, res) => {
res.json([
{ id: 1, name: "Budi" },
{ id: 2, name: "Ani" }
]);
});
Kalau diakses lewat browser atau Postman, API akan mengembalikan data JSON.
HTTP Method yang Wajib Kamu Tahu
Dalam API, ada beberapa method utama:
- GET → ambil data
- POST → kirim data
- PUT → update data
- DELETE → hapus data
Contoh POST:
app.post("/users", (req, res) => {
res.json({
message: "User berhasil ditambahkan"
});
});
Menggunakan Middleware
Middleware adalah fungsi yang dijalankan di tengah request dan response.
Contoh middleware untuk membaca JSON:
app.use(express.json());
Tanpa ini, Express tidak bisa membaca data dari body request.
Contoh API CRUD Sederhana
Kita buat API CRUD sederhana menggunakan data array.
let users = [
{ id: 1, name: "Budi" },
{ id: 2, name: "Ani" }
];
GET Semua User
app.get("/users", (req, res) => {
res.json(users);
});
POST Tambah User
app.post("/users", (req, res) => {
const newUser = {
id: users.length + 1,
name: req.body.name
};
users.push(newUser);
res.json({
message: "User berhasil ditambahkan",
data: newUser
});
});
PUT Update User
app.put("/users/:id", (req, res) => {
const id = parseInt(req.params.id);
const user = users.find(u => u.id === id);
if (!user) {
return res.status(404).json({ message: "User tidak ditemukan" });
}
user.name = req.body.name;
res.json({ message: "User berhasil diupdate", data: user });
});
DELETE User
app.delete("/users/:id", (req, res) => {
const id = parseInt(req.params.id);
users = users.filter(u => u.id !== id);
res.json({ message: "User berhasil dihapus" });
});
Dengan ini, kamu sudah punya API CRUD lengkap.
Testing API dengan Postman
Untuk mengetes API, gunakan:
- Postman
- Insomnia
- Thunder Client (VS Code)
Testing itu penting supaya kamu tahu:
- API berjalan normal
- response sesuai
- error handling benar
Error Handling Dasar
Jangan biarkan API selalu mengembalikan status 200.
Gunakan status code yang sesuai:
res.status(400).json({ message: "Request tidak valid" });
Ini penting untuk frontend dan debugging.
Struktur Folder yang Lebih Rapi
Kalau project mulai besar, sebaiknya dipisah:
- routes
- controllers
- services
- middlewares
Contoh struktur:
src/
routes/
controllers/
app.js
Ini akan memudahkan maintenance.
Kesalahan Umum Pemula Saat Membuat API
Beberapa kesalahan yang sering terjadi:
- tidak pakai async/await
- lupa validasi input
- tidak pakai status code
- logika dicampur di satu file
- tidak testing API
Semua ini wajar dan akan membaik dengan latihan.
Node.js dan Express di Dunia Kerja
Node.js dan Express banyak dipakai di:
- startup teknologi
- fintech
- e-commerce
- SaaS
- aplikasi internal perusahaan
Menguasai API adalah skill wajib untuk backend dan fullstack developer.
Kesimpulan
Membuat API dengan Node.js dan Express itu:
- relatif mudah
- cepat dipelajari
- fleksibel
- sangat dibutuhkan di industri
Untuk pemula, fokuslah pada:
- konsep API
- routing
- CRUD
- error handling
Setelah itu, kamu bisa lanjut ke:
- database (MySQL, MongoDB)
- authentication (JWT)
- deployment ke server
Kalau kamu konsisten latihan, backend bukan hal yang menakutkan.