Apa itu Node.js?
Memahami Node.js: JavaScript di luar browser, mesin V8, model event-driven, dan apa saja yang bisa dibuat dengannya.
JavaScript di luar browser
Selama bertahun-tahun JavaScript hanya hidup di dalam browser. Tahun 2009, Ryan Dahl mengambil mesin JavaScript V8 milik Google Chrome, membungkusnya dengan kemampuan membaca file, jaringan, dan sistem operasi, lalu menamainya Node.js. Hasilnya: JavaScript bisa dipakai untuk membuat server, alat baris perintah, dan otomasi — dengan bahasa yang sama untuk front end dan back end.
Node.js bukan bahasa dan bukan framework
- Bahasa-nya tetap JavaScript.
- Node.js adalah runtime: lingkungan yang menjalankan JavaScript di luar browser.
- Framework (Express, Fastify, NestJS) dibangun di atas Node.js.
Browser vs Node.js
| Browser | Node.js | |
|---|---|---|
| Objek global | window, document | global / globalThis, process |
| Akses DOM (halaman web) | Ya | Tidak ada |
| Akses file / sistem | Dibatasi ketat | Penuh (fs, os, child_process) |
| Sistem modul | ES Modules | CommonJS dan ES Modules |
| Dipakai untuk | Antarmuka pengguna | Server, API, CLI, build tools |
Ciri utama Node.js
- Event-driven & non-blocking I/O. Node tidak menunggu operasi lambat (baca file, query database, request jaringan). Ia mendaftarkan callback dan melanjutkan pekerjaan lain; saat hasilnya siap, callback dijalankan. Inilah yang membuat satu proses Node mampu melayani ribuan koneksi.
- Single-threaded event loop. Kode JavaScript-mu berjalan di satu thread; pekerjaan berat I/O diserahkan ke sistem/thread pool (libuv) di belakang layar. Konsekuensi penting: jangan menulis perhitungan berat yang memblokir event loop.
- npm — registry paket terbesar di dunia (jutaan paket).
- Cepat dimulai dan ringan; cocok untuk API, microservice, real-time (chat, notifikasi), dan tooling.
Siapa yang memakai Node.js?
Backend API dan layanan real-time banyak perusahaan teknologi, alat build seperti Vite/webpack, CLI seperti ESLint dan Prettier, hingga server aplikasi serverless. Dengan belajar Node, kamu juga memahami alat yang dipakai setiap developer web setiap hari.
Versi dan LTS
Node merilis versi baru rutin. Versi genap (…22, 24) menjadi LTS (Long Term Support) yang didukung bertahun-tahun — pilih LTS untuk produksi dan belajar. Kursus ini memakai gaya Node.js 24 LTS. Cek versimu dengan node --version.
Cara berlatih di KelasIT
Kode di kotak latihan dijalankan di browsermu dengan runtime Node mini: require, fs (berkas di memori), path, events, http, stream, crypto, bahkan express. Cara menulisnya sama seperti di Node asli, jadi semua yang kamu pelajari bisa langsung dipakai di komputermu. Bedanya hanya: berkasnya tidak benar-benar ada di diskmu dan server HTTP "mendengarkan" di simulator.
// main.js
console.log("Halo dari Node.js!");
console.log() mencetak ke terminal (bukan ke konsol browser). Di Node asli kamu menjalankannya dengan node main.js.