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:
node --versionOutput yang Dihasilkan:
v24.21.0Angka versi juga bisa diperiksa dengan bentuk pendeknya, node -v, yang menghasilkan keluaran yang sama:
node -vOutput yang Dihasilkan:
v24.21.0Di 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:
node -e "console.log('Halo dari Node!')"Output yang Dihasilkan:
Halo dari Node!Contoh kedua dengan perhitungan:
node -e "console.log('25.000 x 3 =', 25000 * 3)"Output yang Dihasilkan:
25.000 x 3 = 75000Perhatikan 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:
Welcome to Node.js v24.21.0.
Type ".help" for more information.
> 2 + 3
5
> "Halo, " + "Budi"
'Halo, Budi'
> 10 * 25000
250000
> .exitCara membaca percakapan di atas:
Welcome to Node.js v24.21.0.: banner pembuka; versi yang dicetak sama dengan keluarannode --version.> 2 + 3lalu5:>adalah prompt tempat kita mengetik; hasil evaluasi langsung muncul di baris berikutnya tanpa perluconsole.log.> "Halo, " + "Budi"lalu'Halo, Budi': hasil string tampil dengan kutip tunggal — itu gaya REPL menampilkan nilai, bukan bagian dari stringnya.> .exit: perintah REPL (diawali titik) untuk keluar. Alternatifnya, tekanCtrl+Duntuk 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:
node sapa-terminal.jsOutput yang Dihasilkan:
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:
- Baris 1 (
// sapa-terminal.js — ...): komentar; engine melewatinya, isinya hanya catatan untuk manusia. - Baris 2 (
console.log("Halo dari berkas script!")): mencetak teks pertama ke terminal —console.logdi Node menulis ke stdout, setara dengan layar terminal. - 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:
| Aspek | Browser | Node.js |
|---|---|---|
console.log | Ada | Ada, perilakunya sama |
window dan document (DOM) | Ada | Tidak ada |
| Membaca dan menulis berkas | Tidak ada | Ada |
| Menjalankan server jaringan | Tidak ada | Ada |
Bukti kolom tengah bisa kita lihat sendiri: nama window dan document tidak dikenal di Node.
node -e "console.log(typeof window, typeof document)"Output yang Dihasilkan:
undefined undefinedNilai 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:
| Cara | Perintah | Cocok untuk |
|---|---|---|
| Evaluasi sekali jalan | node -e "..." | Menguji satu ekspresi tanpa membuat berkas |
| REPL | node (lalu mengetik di prompt) | Eksperimen bertahap, mencoba API, kalkulator cepat |
| Berkas script | node nama-berkas.js | Program 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// sapa-terminal.js — script pertama kita di Node.js
console.log("Halo dari berkas script!");
console.log("JavaScript ini berjalan di luar browser.");