Sampai chapter ini, setiap eksperimen JavaScript menuntut browser: buat halaman HTML, buka DevTools, baca Console. Cara itu tepat untuk kode yang memang berjalan di halaman, tetapi terasa berat untuk menguji satu ekspresi. Node.js menutup kebutuhan itu: ia menjalankan JavaScript langsung di terminal — tanpa halaman, tanpa klik, cukup satu perintah.

Node.js adalah runtime JavaScript yang dibangun di atas engine V8, engine yang sama dengan Chrome. Selain mempercepat eksperimen, Node menjadi fondasi alat kerja modern yang akan kita pakai nanti di course ini, seperti ESLint untuk pemeriksaan kode dan npm untuk pengelolaan package. Karena itu, Node kita pelajari sebagai alat uji utama sejak sekarang.

Memeriksa Versi Node #

Kita mulai dengan memastikan Node terpasang dan mengetahui versinya:

bash
node --version

Output yang Dihasilkan:

text
v24.21.0

Angka versi juga bisa diperiksa dengan bentuk pendeknya, node -v, yang menghasilkan keluaran yang sama:

bash
node -v

Output yang Dihasilkan:

text
v24.21.0

Di lingkungan uji course ini keluarannya v24.21.0 — Node 24, versi LTS (Long Term Support) yang disarankan untuk pekerjaan serius. Angka di komputer Anda mungkin berbeda pada bagian patch, dan itu tidak masalah selama angka besarnya 24 atau lebih. Bila terminal malah menulis command not found, Node belum terpasang: unduh penginstal LTS dari nodejs.org, jalankan, lalu buka terminal baru.

Menjalankan Ekspresi Sekali Jalan #

Opsi -e (evaluate) memerintahkan Node mengeksekusi program satu baris langsung dari terminal:

bash
node -e "console.log('Halo dari Node!')"

Output yang Dihasilkan:

text
Halo dari Node!

Contoh kedua dengan perhitungan:

bash
node -e "console.log('25.000 x 3 =', 25000 * 3)"

Output yang Dihasilkan:

text
25.000 x 3 = 75000

Perhatikan penanda kutipnya: shell butuh tanda kutip ganda untuk membungkus program, sehingga string di dalam program memakai kutip tunggal. Opsi -e praktis untuk menguji satu ekspresi; untuk serangkaian eksperimen, ada cara yang lebih nyaman.

REPL: Percakapan dengan JavaScript #

Ketik node tanpa argumen apa pun, dan terminal berubah menjadi REPL (Read-Eval-Print Loop): loop yang membaca ekspresi yang kita ketik, mengevaluasinya, mencetak hasilnya, lalu menunggu ekspresi berikutnya — berulang sampai kita keluar:

text
Welcome to Node.js v24.21.0.
Type ".help" for more information.
> 2 + 3
5
> "Halo, " + "Budi"
'Halo, Budi'
> 10 * 25000
250000
> .exit

Cara membaca percakapan di atas:

  1. Welcome to Node.js v24.21.0.: banner pembuka; versi yang dicetak sama dengan keluaran node --version.
  2. > 2 + 3 lalu 5: > adalah prompt tempat kita mengetik; hasil evaluasi langsung muncul di baris berikutnya tanpa perlu console.log.
  3. > "Halo, " + "Budi" lalu 'Halo, Budi': hasil string tampil dengan kutip tunggal — itu gaya REPL menampilkan nilai, bukan bagian dari stringnya.
  4. > .exit: perintah REPL (diawali titik) untuk keluar. Alternatifnya, tekan Ctrl+D untuk menutup input.

Dua perilaku kecil membuat REPL nyaman dipakai. Pertama, bila ekspresi yang diketik belum selesai — misalnya (1 + — REPL mengganti promptnya menjadi | dan menunggu sambungannya; ekspresi boleh terdiri atas beberapa baris, dan hasilnya ditampilkan setelah ekspresi ditutup. Kedua, tombol panah atas dan bawah menelusuri riwayat ekspresi yang pernah diketik, sehingga eksperimen yang hampir berhasil cukup diedit, bukan diketik ulang.

Ketik .help di dalam REPL untuk melihat daftar perintah lain yang tersedia.

Menjalankan Berkas Script #

Eksperimen yang layak disimpan memang sebaiknya hidup di berkas. Buat berkas sapa-terminal.js di folder kerja Anda:

// sapa-terminal.js — script pertama kita di Node.js
console.log("Halo dari berkas script!");
console.log("JavaScript ini berjalan di luar browser.");

Lalu jalankan dengan menyebut nama berkasnya:

bash
node sapa-terminal.js

Output yang Dihasilkan:

text
Halo dari berkas script!
JavaScript ini berjalan di luar browser.

Node membaca berkas dari atas ke bawah, mengeksekusi setiap baris satu kali, lalu mengembalikan kontrol ke prompt. Perintah node menerima path relatif: jalankan dari folder tempat berkas berada, atau sebut foldernya secara eksplisit seperti node belajar/sapa-terminal.js.

Siklus kerjanya ringkas: ubah isi berkas di editor, simpan, jalankan lagi perintah yang sama. Tidak ada halaman yang perlu dimuat ulang dan tidak ada cache yang perlu dibersihkan — setiap node sapa-terminal.js selalu membaca isi berkas terbaru. Siklus simpan-jalankan inilah yang menjadikan Node tempat favorit untuk eksperimen cepat sepanjang course ini.

Mari kita telaah berkasnya baris demi baris:

  1. Baris 1 (// sapa-terminal.js — ...): komentar; engine melewatinya, isinya hanya catatan untuk manusia.
  2. Baris 2 (console.log("Halo dari berkas script!")): mencetak teks pertama ke terminal — console.log di Node menulis ke stdout, setara dengan layar terminal.
  3. Baris 3 (console.log("JavaScript ini berjalan di luar browser.")): mencetak baris kedua; program selesai dan Node kembali ke prompt.

Yang Sama dan yang Berbeda dengan Browser #

Karena engine-nya sama (V8), perilaku bahasa JavaScript — operator, string, jenis galat — identik di browser dan di Node. Yang berbeda adalah API di sekelilingnya:

AspekBrowserNode.js
console.logAdaAda, perilakunya sama
window dan document (DOM)AdaTidak ada
Membaca dan menulis berkasTidak adaAda
Menjalankan server jaringanTidak adaAda

Bukti kolom tengah bisa kita lihat sendiri: nama window dan document tidak dikenal di Node.

bash
node -e "console.log(typeof window, typeof document)"

Output yang Dihasilkan:

text
undefined undefined

Nilai undefined adalah jawaban JavaScript ketika sebuah nama tidak memiliki nilai — tema yang dibedah di section Values dan Types. Intinya untuk sekarang: kode yang menyentuh document hanya bisa dijalankan di browser, sedangkan kode logika murni seperti perhitungan dan pengolahan teks berjalan di keduanya.

Tiga Cara Menjalankan: Kapan Memakai yang Mana #

Chapter ini memperkenalkan tiga cara menjalankan JavaScript di Node. Masing-masing punya tempatnya:

CaraPerintahCocok untuk
Evaluasi sekali jalannode -e "..."Menguji satu ekspresi tanpa membuat berkas
REPLnode (lalu mengetik di prompt)Eksperimen bertahap, mencoba API, kalkulator cepat
Berkas scriptnode nama-berkas.jsProgram yang layak disimpan, diubah, dan dijalankan ulang

Pada course ini, contoh yang pendek kita uji lewat REPL atau -e, sedangkan contoh utama setiap chapter ditulis sebagai berkas .js agar bisa diunduh dan dijalankan pembaca. Ketiganya memakai engine yang sama, jadi keluaran suatu ekspresi akan identik di mana pun ekspresi itu dijalankan.

Lingkungan kerja kita kini lengkap: browser dengan DevTools untuk kode halaman, dan Node.js untuk eksperimen serta pengujian cepat di terminal. Section berikutnya mulai membangun bahasanya sendiri: statement, variable, dan tipe data.

Berkas Sumber

Berkas pendukung halaman ini dapat diunduh dan dijalankan langsung sesuai penjelasan di atas.

sapa-terminal.js

Unduh berkas
javascript
// sapa-terminal.js — script pertama kita di Node.js
console.log("Halo dari berkas script!");
console.log("JavaScript ini berjalan di luar browser.");