Apa Itu Node.js?
Node.js adalah runtime JavaScript di server-side yang dibangun di atas V8 engine (Chrome). Dibuat oleh Ryan Dahl pada tahun 2009, Node.js memungkinkan JavaScript berjalan di luar browser.
Mengapa Node.js?
- JavaScript Everywhere – Satu bahasa untuk frontend dan backend
- Non-Blocking I/O – Handle ribuan koneksi concurrent
- NPM Ecosystem – Lebih dari 2 juta package
- Fast Development – Rapid prototyping
- Real-Time Apps – Chat, gaming, collaboration
- Corporate Adoption – Netflix, PayPal, LinkedIn, Uber
Roadmap Belajar Node.js
Level 1: Beginner
- Setup – Install Node.js, npm, npx
- Modules – CommonJS, ES Modules
- Core Modules – fs, path, http, os, events, stream
- File System – readFile, writeFile, mkdir, readdir
- HTTP Server – http.createServer
- NPM – install, package.json, scripts
- Environment Variables – process.env, dotenv
Level 2: Intermediate
- Express.js – Routing, middleware, template engines
- REST API – CRUD endpoints, status codes
- Middleware – Custom, error handling, CORS
- Database – MongoDB (Mongoose), PostgreSQL (Prisma)
- Authentication – JWT, bcrypt, sessions
- File Upload – Multer
- Validation – Joi, Zod
Level 3: Advanced
- WebSockets – Socket.io, real-time
- Streams – Readable, Writable, Transform
- Cluster – Multi-process
- Worker Threads – CPU-intensive tasks
- Testing – Jest, Mocha, Supertest
- Security – Helmet, rate limiting
Level 4: Expert
- Microservices – Message queues
- GraphQL – Apollo Server
- NestJS – Enterprise framework
- Docker and Kubernetes – Containerization
- Performance – Profiling, memory leaks
Contoh Kode Node.js
const express = require('express');
const app = express();
app.use(express.json());
app.get('/api/produk', (req, res) => {
res.json([
{ id: 1, nama: 'Laptop', harga: 10000000 },
{ id: 2, nama: 'Mouse', harga: 250000 }
]);
});
app.post('/api/produk', (req, res) => {
const { nama, harga } = req.body;
res.status(201).json({ id: 3, nama, harga });
});
app.listen(3000, () => console.log('Express running on 3000'));
// Async/Await
async function fetchUser(id) {
try {
const response = await fetch('/api/users/' + id);
const user = await response.json();
return user;
} catch (error) {
console.error('Error:', error);
throw error;
}
}
// File System
const fs = require('fs');
fs.readFile('data.txt', 'utf8', (err, data) => {
if (err) { console.error(err); return; }
console.log(data);
});
Tips Belajar Node.js
- Pelajari JavaScript dulu – Node.js adalah JavaScript di server
- Pahami async/non-blocking – Konsep utama Node.js
- Pelajari Express.js – Framework paling populer
- Pelajari database – MongoDB atau PostgreSQL
- Pelajari REST API – Membuat dan mengkonsumsi API
- Gunakan nodemon – Auto-restart saat file berubah
- Baca Node.js Docs – nodejs.org/docs
Tools yang Dibutuhkan
| Tool | Deskripsi |
|---|---|
| Node.js | Runtime JavaScript |
| NPM / Yarn / pnpm | Package manager |
| VS Code | Code editor |
| Postman / Insomnia | API testing tool |
| MongoDB / PostgreSQL | Database |
| Git | Version control |
Kesimpulan
Node.js adalah runtime JavaScript yang powerful untuk backend development. Dengan non-blocking I/O, NPM ecosystem yang besar, dan kemampuan real-time, Node.js membuka banyak peluang karir.
“Node.js is designed to build scalable network applications.” – Ryan Dahl




