in

Tutorial Membangun REST API dengan Node.js dan Express

Pendahuluan

REST API (Representational State Transfer Application Programming Interface) merupakan salah satu komponen penting dalam pengembangan aplikasi modern. Hampir semua aplikasi web dan mobile saat ini menggunakan REST API sebagai media komunikasi antara frontend dan backend. Dengan REST API, data dapat dipertukarkan menggunakan format JSON sehingga proses integrasi menjadi lebih mudah, cepat, dan efisien.

Node.js menjadi salah satu platform yang paling populer untuk membangun REST API karena memiliki performa tinggi dan menggunakan JavaScript sebagai bahasa pemrogramannya. Ditambah lagi dengan framework Express.js yang ringan dan mudah dipelajari, proses pengembangan backend menjadi jauh lebih sederhana.

Pada tutorial ini, Anda akan mempelajari langkah-langkah membangun REST API sederhana menggunakan Node.js dan Express, mulai dari instalasi hingga pembuatan endpoint CRUD (Create, Read, Update, Delete).

Persiapan

Sebelum memulai, pastikan Anda telah menginstal beberapa perangkat berikut:

Node.js versi terbaru.

Visual Studio Code atau editor kode lainnya.

Postman atau aplikasi serupa untuk menguji API.

Pastikan instalasi Node.js berhasil dengan menjalankan perintah berikut pada terminal:

node -v
npm -v

Jika kedua perintah menampilkan nomor versi, berarti Node.js telah terpasang dengan benar.

Membuat Proyek Baru

Buat folder proyek baru, kemudian buka terminal pada folder tersebut.

Jalankan perintah berikut:

mkdir rest-api-express
cd rest-api-express
npm init -y

Perintah tersebut akan membuat file package.json secara otomatis.

Selanjutnya, instal Express menggunakan npm.

npm install express

Agar proses pengembangan lebih mudah, Anda juga dapat menginstal Nodemon.

npm install --save-dev nodemon

Membuat Server Express

Buat file bernama index.js, kemudian tuliskan kode berikut.

const express = require('express');
const app = express();

app.use(express.json());

app.get('/', (req, res) => {
    res.json({
        message: "REST API berhasil dijalankan"
    });
});

app.listen(3000, () => {
    console.log("Server berjalan di http://localhost:3000");
});

Jalankan aplikasi menggunakan:

node index.js

Atau jika menggunakan Nodemon:

npx nodemon inde**x.js

Buka browser dan akses alamat:

http://localhost:3000

Jika berhasil, akan muncul data JSON sebagai respons dari server.

Membuat Data Sementara

Sebagai contoh, buat sebuah array sederhana untuk menyimpan data pengguna.

let users = [
    { id: 1, nama: "Andi" },
    { id: 2, nama: "Budi" }
];

Pada tutorial ini data masih disimpan di dalam memori sehingga akan hilang ketika server dihentikan. Pada proyek nyata, data biasanya disimpan di database seperti MySQL, PostgreSQL, atau MongoDB.

Endpoint GET

Endpoint GET digunakan untuk mengambil data.

app.get('/users', (req, res) => {
    res.json(users);
});

Saat mengakses:

GET /users

Server akan mengembalikan seluruh data pengguna.

Endpoint POST

Untuk menambahkan data baru, gunakan metode POST.

app.post('/users', (req, res) => {
    const user = req.body;
    users.push(user);
    res.status(201).json(user);
});

Contoh data JSON:

{
    "id": 3,
    "nama": "Citra"
}

Jika berhasil, data baru akan ditambahkan ke dalam array.

Endpoint PUT

PUT digunakan untuk memperbarui data.

app.put('/users/:id', (req, res) => {
    const id = parseInt(req.params.id);

    const user = users.find(u => u.id === id);

    if(user){
        user.nama = req.body.nama;
        res.json(user);
    }else{
        res.status(404).json({
            message: "Data tidak ditemukan"
        });
    }
});

Endpoint ini memungkinkan pengguna memperbarui nama berdasarkan ID yang dikirimkan pada URL.

Endpoint DELETE

Untuk menghapus data gunakan metode DELETE.

app.delete('/users/:id', (req, res) => {
    const id = parseInt(req.params.id);

    users = users.filter(u => u.id !== id);

    res.json({
        message: "Data berhasil dihapus"
    });
});

Setelah endpoint dipanggil, data dengan ID yang sesuai akan dihapus dari daftar.

Menguji REST API

Gunakan Postman atau aplikasi serupa untuk menguji seluruh endpoint.

Lakukan beberapa pengujian berikut:

GET /users untuk melihat daftar pengguna.

POST /users untuk menambahkan pengguna baru.

PUT /users/1 untuk memperbarui data pengguna.

DELETE /users/2 untuk menghapus data pengguna.

Dengan pengujian ini, Anda dapat memastikan seluruh fungsi CRUD berjalan dengan baik.

Pengembangan Lebih Lanjut

REST API yang telah dibuat masih sangat sederhana. Untuk aplikasi produksi, Anda dapat menambahkan berbagai fitur penting seperti:

Koneksi database MySQL, PostgreSQL, atau MongoDB.

Validasi input menggunakan Joi atau Express Validator.

Autentikasi menggunakan JSON Web Token (JWT).

Struktur folder MVC agar kode lebih rapi.

Logging, error handling, dan middleware keamanan.

Dokumentasi API menggunakan Swagger.

Penerapan praktik-praktik tersebut akan membuat aplikasi lebih aman, mudah dipelihara, dan siap dikembangkan dalam skala yang lebih besar.

Kesimpulan

Node.js dan Express merupakan kombinasi yang sangat baik untuk membangun REST API modern. Instalasi yang sederhana, performa yang tinggi, serta ekosistem yang luas menjadikan keduanya pilihan utama bagi banyak pengembang backend.

Melalui tutorial ini, Anda telah mempelajari cara membuat proyek Express, menjalankan server, serta mengimplementasikan operasi CRUD menggunakan endpoint GET, POST, PUT, dan DELETE. Setelah memahami konsep dasar ini, langkah berikutnya adalah mengintegrasikan database, menerapkan autentikasi, serta menyusun struktur proyek yang lebih profesional. Dengan terus berlatih dan membangun proyek nyata, kemampuan Anda dalam mengembangkan REST API akan semakin meningkat.

Aplikasi PinjamYuk Solusi Pinjaman Online Cepat dan Aman untuk Kebutuhan Mendesak