Latar Belakang
Pada minggu keempat ini, saya mempelajari implementasi REST API dalam pembuatan website menggunakan Express.js. Pada minggu sebelumnya, saya telah membahas konsep dasar REST API. Namun, memahami teori saja tidaklah cukup; diperlukan pemahaman praktik agar konsep REST API dapat dipahami secara menyeluruh.
Alasan saya mempelajari REST API adalah karena dalam kebutuhan industri pengembangan perangkat lunak, pemahaman mengenai REST API merupakan tuntutan dasar yang harus dimiliki oleh seorang developer. Hampir setiap bahasa pemrograman tidak terlepas dari penggunaan REST API dalam proses pengembangan aplikasinya.
Artikel ini saya buat dengan tujuan untuk mendokumentasikan hasil pembelajaran saya mengenai praktik implementasi REST API. Saya berharap artikel ini juga dapat membantu teman-teman lain yang ingin mempelajari dan memahami praktik penggunaan REST API secara lebih nyata.
Alat dan Bahan
A. Perangkat Lunak
Terminal: digunakan untuk membuat folder proyek serta menginstal dependensi yang dibutuhkan.
Visual Studio Code: digunakan sebagai text editor untuk menuliskan dan mengelola kode program.
Node.js: runtime environment agar JavaScript dapat dijalankan di sisi server.
NPM (Node Package Manager): digunakan untuk mengelola dan menginstal library atau dependensi yang diperlukan.
Postman: digunakan untuk melakukan pengujian REST API.
Web Browser (Google Chrome): digunakan untuk mengakses aplikasi melalui URL yang tersedia.
B. Perangkat Keras
Laptop dengan sistem operasi Ubuntu.
Instalasi Node.js
Buka website resmi Node.js.
Pilih opsi Get Node.js.
Pilih versi Node.js sesuai kebutuhan. Proses instalasi dapat dilakukan melalui
curlataupun installer.Lakukan instalasi hingga selesai.
Untuk memastikan Node.js dan NPM telah berhasil terinstal, jalankan perintah berikut pada terminal:
node -v // untuk mengecek versi Node.js
npm -v // untuk mengecek versi NPM
Setup Proyek
1. Membuat Folder Proyek
Buat folder proyek dan masuk ke dalamnya menggunakan perintah berikut:
mkdir belajar-express // membuat folder
cd belajar-express // masuk ke folder
code . // membuka folder di Visual Studio Code
2. Inisialisasi Proyek
Lakukan inisialisasi proyek menggunakan NPM:
npm init -y
Setelah proses ini selesai, akan muncul file package.json di dalam folder proyek.
3. Instalasi Dependensi
Pada tahap ini, tentukan dependensi yang dibutuhkan. Dependensi yang digunakan pada proyek ini antara lain:
Express: framework untuk membuat server dan REST API dengan Node.js.
Nodemon: menjalankan server dengan fitur restart otomatis saat terjadi perubahan kode.
MySQL2: digunakan untuk menghubungkan aplikasi Node.js dengan database MySQL.
Sequelize: ORM untuk mengelola database tanpa menulis query SQL secara langsung.
CORS: memungkinkan API diakses dari domain atau aplikasi lain.
Instal seluruh dependensi menggunakan perintah berikut:
npm i express mysql2 sequelize cors
npm i -D nodemon
Setelah proses instalasi selesai, akan terlihat perubahan pada file package.json.
4. Menambahkan Run Mode
Buka file package.json, kemudian tambahkan konfigurasi berikut pada bagian scripts:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js",
"dev": "nodemon server.js"
}
Penjelasan:
"start"digunakan untuk menjalankan aplikasi pada mode production."dev"digunakan untuk menjalankan aplikasi pada mode development dengan bantuan Nodemon.
5. Membuat File Server.js
File server.js digunakan untuk menginisialisasi server dan menentukan port yang digunakan aplikasi.
File ini menjadi titik awal (entry point) dari aplikasi Express.js.
6. Pengujian Server.js
Pengujian file server.js dilakukan melalui beberapa cara, yaitu:
Terminal: menjalankan server menggunakan perintah
npm run devataunpm start.Web Browser: mengakses server melalui URL
http://localhost:4000.Postman: memastikan server dapat merespons request HTTP dengan benar.
Setup Awal Database
1. Membuat Folder Config
Buat folder baru dengan nama config:
mkdir config
2. Membuat File Database.js
Di dalam folder config, buat file baru dengan nama Database.js.
3. Buat Database
4. Konfigurasi Database.js
Tambahkan kode berikut sebagai konfigurasi awal database:
import { Sequelize } from "sequelize";
const db = new Sequelize('belajar_express', 'root', '', {
host: 'localhost',
dialect: 'mysql'
});
export default db;
Konfigurasi ini digunakan untuk menghubungkan aplikasi Express.js dengan database MySQL menggunakan Sequelize.
Hasil Pembelajaran
Melalui proses setup Express.js ini, saya memperoleh beberapa hasil pembelajaran penting, antara lain:
Memahami alur awal pembuatan backend menggunakan Node.js dan Express.js.
Mengetahui fungsi dan peran masing-masing dependensi dalam pengembangan REST API.
Memahami struktur dasar proyek backend yang rapi dan terorganisir.
Mampu menjalankan dan menguji server menggunakan berbagai media seperti terminal, browser, dan Postman.
Memahami konfigurasi awal koneksi database menggunakan Sequelize dan MySQL.
Pembelajaran ini menjadi fondasi penting sebelum melanjutkan ke tahap pembuatan endpoint REST API dan pengelolaan data secara lebih kompleks.
Kesimpulan
Berdasarkan langkah-langkah yang telah dilakukan, dapat disimpulkan bahwa proses setup Express.js merupakan tahap awal yang sangat penting dalam pengembangan backend berbasis REST API. Dengan melakukan instalasi Node.js, inisialisasi proyek, pemasangan dependensi, pembuatan server, serta konfigurasi database, aplikasi backend telah siap untuk dikembangkan lebih lanjut.
Setup ini bersifat dasar dan dapat dijadikan sebagai acuan awal. Pada implementasi nyata, konfigurasi dan struktur proyek dapat disesuaikan dengan kebutuhan aplikasi, skala sistem, serta standar pengembangan yang digunakan. Dengan memahami setup dasar ini, developer akan lebih mudah melanjutkan ke tahap pembuatan endpoint, middleware, dan integrasi dengan frontend maupun layanan lainnya.
Daftar Pustaka
Express.js. (n.d.). Express - Node.js web application framework. Diakses pada 12 Februari 2026, dari https://expressjs.com
Node.js Foundation. (n.d.). Node.js documentation. Diakses pada 12 Februari 2026, dari https://nodejs.org/
OpenJS Foundation. (n.d.). npm documentation. Diakses pada 12 Februari 2026, dari https://docs.npmjs.com/
Postman, Inc. (n.d.). Postman API platform documentation. Diakses pada 12 Februari 2026, dari https://learning.postman.com/
Sequelize. (n.d.). Sequelize documentation. Diakses pada 12 Februari 2026, dari https://sequelize.org/
MySQL. (n.d.). MySQL documentation. Diakses pada 12 Februari 2026, dari https://dev.mysql.com/doc/