1. Pengenalan NodeJS
NodeJS adalah runtime environment berbasis JavaScript yang berjalan di luar browser, menggunakan mesin V8 milik Google Chrome. NodeJS memungkinkan pengembang untuk membuat aplikasi server-side yang cepat dan scalable menggunakan JavaScript.
NodeJS sangat populer untuk membangun aplikasi real-time, API, dan microservices karena sifatnya yang asynchronous dan event-driven.
2. Instalasi NodeJS dan NPM
Untuk mulai menggunakan NodeJS, Anda perlu menginstal NodeJS dan NPM (Node Package Manager) yang biasanya sudah terpasang bersamaan.
-
Buka situs resmi
https://nodejs.org
-
Download versi LTS (Long Term Support) untuk stabilitas terbaik
-
Ikuti instruksi instalasi sesuai sistem operasi Anda
-
Setelah instalasi, cek versi dengan perintah di terminal:
node -v
npm -v
3. Membuat Aplikasi NodeJS Pertama
Mari kita buat aplikasi sederhana yang menampilkan "Hello, NodeJS!" di terminal.
-
Buat folder proyek baru, misal
hello-node
-
Buka folder tersebut di code editor favorit Anda
-
Buat file
app.js
dengan isi berikut:
console.log('Hello, NodeJS!');
-
Jalankan aplikasi dengan perintah:
node app.js
-
Anda akan melihat output:
Hello, NodeJS!
4. Struktur Proyek NodeJS
Struktur proyek yang baik memudahkan pengembangan dan pemeliharaan aplikasi. Berikut contoh struktur sederhana:
my-node-app/
├── node_modules/
├── public/
│ └── images/
├── routes/
│ └── index.js
├── views/
│ └── index.html
├── app.js
├── package.json
└── README.md
Penjelasan:
-
node_modules/
: folder tempat paket-paket NPM tersimpan
-
public/
: file statis seperti gambar, CSS, dan JavaScript client
-
routes/
: file routing aplikasi
-
views/
: file template HTML jika menggunakan template engine
-
app.js
: file utama aplikasi
-
package.json
: metadata dan dependensi proyek
5. Modul dan Paket di NodeJS
NodeJS menggunakan modul untuk mengorganisasi kode. Ada modul built-in dan modul pihak ketiga yang bisa diinstall lewat NPM.
Contoh menggunakan modul built-in
fs
untuk membaca file:
const fs = require('fs');
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
return;
}
console.log(data);
});
Menginstall dan menggunakan paket pihak ketiga (contoh: lodash):
-
Install lodash:
npm install lodash
-
Gunakan di file JavaScript:
const _ = require('lodash');
const arr = [1, 2, 3, 4];
const reversed = _.reverse(arr.slice());
console.log(reversed);
6. Membangun Server dengan Express.js
Express.js adalah framework web minimalis dan fleksibel untuk NodeJS yang memudahkan pembuatan server dan API.
-
Install Express:
npm install express
-
Buat file
app.js
dengan isi berikut:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Halo dari Express.js!');
});
app.listen(port, () => {
console.log(`Server berjalan di http://localhost:${port}`);
});
-
Jalankan server:
node app.js
-
Buka browser dan akses
http://localhost:3000
untuk melihat hasilnya.
7. Menghubungkan Database (MongoDB)
MongoDB adalah database NoSQL populer yang sering digunakan bersama NodeJS. Kita akan menggunakan Mongoose sebagai ODM (Object Data Modeling).
-
Install Mongoose:
npm install mongoose
-
Contoh koneksi dan schema sederhana:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/myapp', {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', () => {
console.log('Terhubung ke MongoDB');
});
const userSchema = new mongoose.Schema({
name: String,
email: String,
});
const User = mongoose.model('User', userSchema);
const newUser = new User({ name: 'Budi', email: 'budi@example.com' });
newUser.save().then(() => console.log('User tersimpan'));
8. Middleware di Express
Middleware adalah fungsi yang memiliki akses ke objek request dan response, serta fungsi next() untuk meneruskan proses. Middleware digunakan untuk logging, autentikasi, parsing body, dan lain-lain.
Contoh middleware logging sederhana:
const express = require('express');
const app = express();
const logger = (req, res, next) => {
console.log(`${req.method} ${req.url}`);
next();
};
app.use(logger);
app.get('/', (req, res) => {
res.send('Halo Middleware!');
});
app.listen(3000);
9. Deployment Aplikasi NodeJS
Setelah aplikasi selesai dibuat, saatnya deploy ke server agar bisa diakses publik. Berikut beberapa opsi populer:
-
Heroku:
Platform cloud yang mudah digunakan, gratis untuk aplikasi kecil.
-
Vercel:
Cocok untuk aplikasi frontend dan serverless functions.
-
DigitalOcean:
VPS yang bisa dikonfigurasi penuh untuk aplikasi skala besar.
-
AWS Elastic Beanstalk:
Platform managed service dari Amazon.
Contoh deploy ke Heroku:
-
Install Heroku CLI:
https://devcenter.heroku.com/articles/heroku-cli
-
Login ke Heroku:
heroku login
-
Inisialisasi git dan commit kode:
git init
git add .
git commit -m "Initial commit"
-
Buat aplikasi Heroku:
heroku create nama-aplikasi-anda
-
Push kode ke Heroku:
git push heroku master
-
Buka aplikasi:
heroku open
11. Sumber Belajar dan Source Code
Berikut beberapa sumber belajar dan repository source code yang bisa Anda gunakan untuk memperdalam NodeJS:
Contoh repository aplikasi NodeJS sederhana: