Modul 3.2 โ Pengenalan Node.js & npm + Script CLI Sederhana
Di modul ini kamu akan mulai praktek langsung dengan backend menggunakan Node.js. Fokusnya:
- Mengenal apa itu Node.js dari sisi praktis.
- Memahami peran npm sebagai package manager.
- Membuat project Node.js pertama.
- Menulis script CLI sederhana di terminal.
Target akhirnya: kamu nyaman menjalankan JavaScript di luar browser dan siap lanjut ke pembuatan REST API di Modul 3.3.
1. Apa itu Node.js (Secara Praktis)
Secara sederhana:
- Node.js adalah runtime yang memungkinkan kamu menjalankan JavaScript di luar browser, biasanya di server atau di terminal.
- Dengan Node.js, kamu bisa:
- Bikin web server.
- Bikin tool CLI (command line interface).
- Menjalankan script otomatisasi (misal: generate file, deploy, dsb).
Perbedaan utama:
| Konteks | JavaScript berinteraksi dengan |
|---|---|
| Browser | DOM (document, window, dll) |
| Node.js | Sistem file, jaringan, environment (process, dll) |
2. Install & Cek Node.js + npm
Sebelum mulai, pastikan Node.js sudah terpasang.
- Buka terminal (macOS: Terminal / iTerm).
- Jalankan:
node -v
npm -v
Jika muncul versi (misal v20.x.x dan 10.x.x), berarti Node.js dan npm sudah terinstall.
npm (Node Package Manager) adalah tool untuk mengelola package/library JavaScript yang dipakai di project Node.js-mu.
3. Membuat Project Node.js Pertama
Sekarang kita buat project backend kecil.
- Buat folder baru:
mkdir belajar-node-cli
cd belajar-node-cli
- Inisialisasi project Node.js:
npm init -y
Perintah ini akan membuat file package.json yang menyimpan informasi project (nama, versi, script, dependencies, dll).
- Buat file
index.js:
touch index.js
- Isi
index.jsdengan kode sederhana:
// index.js
console.log("Hello dari Node.js!");
- Jalankan:
node index.js
Jika di terminal muncul tulisan Hello dari Node.js!, artinya kamu sudah berhasil menjalankan JavaScript via Node.js.
4. Mengenal npm & External Packages
Salah satu kekuatan Node.js ada di ekosistem npm (ribuan package siap pakai).
Contoh: kita pakai package chalk untuk memberi warna di output terminal.
- Install package:
npm install chalk
- Untuk mempermudah, kita pakai format CommonJS (tanpa
type: "module").
Update index.js:
// index.js
const chalk = require("chalk");
console.log(chalk.green("Hello dari Node.js dengan warna hijau!"));
console.log(chalk.blue.bold("Welcome to backend world ๐"));
- Jalankan lagi:
node index.js
Kamu akan melihat teks berwarna di terminal.
Intinya: npm memudahkan kamu menambahkan fitur lewat library buatan orang lain, tanpa harus menulis semuanya dari nol.
5. Membaca Input di Command Line (Script CLI Sederhana)
Sekarang kita bikin script CLI sederhana: kalkulator penjumlahan dua angka dari argumen terminal.
// index.js
const args = process.argv.slice(2); // ambil argumen setelah `node index.js`
if (args.length < 2) {
console.log("Usage: node index.js <angka1> <angka2>");
process.exit(1);
}
const a = Number(args[0]);
const b = Number(args[1]);
if (Number.isNaN(a) || Number.isNaN(b)) {
console.log("Harap masukkan dua angka yang valid.");
process.exit(1);
}
const hasil = a + b;
console.log(`Hasil penjumlahan ${a} + ${b} = ${hasil}`);
Jalankan dari terminal:
node index.js 5 7
Output:
Hasil penjumlahan 5 + 7 = 12
6. Menambahkan Script di package.json
Agar lebih rapi, kamu bisa menambahkan script di package.json:
{
"name": "belajar-node-cli",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "node index.js"
}
}
Sekarang kamu bisa menjalankan:
npm run start -- 3 4
npm akan menjalankan node index.js 3 4.
7. Menghubungkan ke Learning Path
Di learning path, kamu sudah melewati:
- HTML โ CSS โ JavaScript โ React โ Frontend Apps
- npm โ Tailwind CSS โ React โ Frontend Apps
Di Modul 3.2 ini, kamu mulai menyentuh bagian:
- Node.js โ CLI โ APIs
Artinya:
- Kamu sudah bisa menjalankan JavaScript di server/terminal.
- Kamu sudah bisa menggunakan external packages via npm.
- Kamu sudah membuat script CLI yang bisa berkembang jadi tool internal.
Di modul berikutnya (Modul 3.3), kamu akan:
- Menggunakan Node.js untuk membuat web server.
- Membangun REST API dasar dengan Express (tanpa database dulu).
- Menyiapkan fondasi untuk CRUD + database di modul selanjutnya.
8. Ringkasan Modul 3.2
Setelah menyelesaikan Modul 3.2, kamu diharapkan:
- Paham apa itu Node.js secara praktis.
- Bisa menginisialisasi project Node.js dengan
npm init. - Mengerti fungsi dasar npm dan cara menginstall package.
- Bisa menulis dan menjalankan script CLI sederhana dengan Node.js.
- Siap melangkah ke pembuatan REST API di Modul 3.3.
Referensi lebih lanjut: