Membangun REST API dengan Node.js dan MongoDB untuk Pemula - Perwira Learning Center
1. Latar Belakang
Dalam pengembangan aplikasi modern, backend memiliki peran penting sebagai pengelola data dan logika bisnis. Salah satu konsep penting dalam backend adalah REST API (Representational State Transfer Application Programming Interface), yang memungkinkan aplikasi frontend berkomunikasi dengan server menggunakan protokol HTTP.
Node.js menjadi pilihan populer untuk membangun backend karena menggunakan JavaScript dan bersifat asynchronous (non-blocking). Sementara itu, MongoDB adalah database NoSQL yang menyimpan data dalam bentuk dokumen (JSON-like), sehingga sangat cocok digunakan bersama Node.js.
Pada artikel ini, kita akan belajar bagaimana membuat REST API sederhana menggunakan Node.js dan MongoDB untuk operasi CRUD (Create, Read, Update, Delete).
2. Alat dan Bahan
- Node.js
- MongoDB
- NPM
- Text Editor (VSCode)
- Express -> Framework untuk Backend
- Mongoose -> ODM (Object Data Modeling) untuk MongoDB
- Nodemon -> auto restart server saat loading
3. Pembahasan
3.1 Buat Server dengan Express
Buat file index.js:
const express = require("express");
const mongoose = require("mongoose");
const app = express();
app.use(express.json());
// Koneksi ke MongoDB
mongoose.connect("mongodb://127.0.0.1:27017/dbbelajar")
.then(() => console.log("Database terhubung"))
.catch((err) => console.log(err));
app.listen(3000, () => {
console.log("Server berjalan di port 3000");
});
Penjelasan:
-
express() → membuat server
-
express.json() → membaca data JSON dari request
-
mongoose.connect() → menghubungkan ke database MongoDB
3.2 Membuat Schema dan Model
Tambahkan kode berikut:
const userSchema = new mongoose.Schema({
nama: String,
email: String,
umur: Number
});
const User = mongoose.model("User", userSchema);
Schema adalah struktur data yang akan disimpan di MongoDB.
3.3 Membuat Endpoint CRUD
3.3.1 CREATE (Tambah Data) app.post("/users", async (req, res) => {
const user = new User(req.body);
await user.save();
res.json(user);
});
3.3.2 Read (Ambil Semua Data) app.get("/users", async (req, res) => {
const users = await User.find();
res.json(users);
});
3.3.3 Update app.put("/users/:id", async (req, res) => {
const user = await User.findByIdAndUpdate(req.params.id, req.body, { new: true });
res.json(user);
});
3.3.4 Delete app.delete("/users/:id", async (req, res) => {
await User.findByIdAndDelete(req.params.id);
res.json({ message: "Data berhasil dihapus" });
});
3.4 Cara Menjalankan Server
Tambahkan di package.json: "scripts": {
"start": "nodemon index.js"
}
Lalu jalankan: npm start
4. Kesimpulan
Membangun REST API menggunakan Node.js dan MongoDB cukup sederhana dan cocok untuk pemula. Dengan bantuan Express dan Mongoose, kita dapat:
-
Membuat server backend
-
Menghubungkan ke database
-
Membuat operasi CRUD
-
Mengelola data berbasis JSON
Kombinasi Node.js dan MongoDB sangat populer dalam pengembangan aplikasi modern karena cepat, fleksibel, dan mudah dipelajari.
