Kenapa ini penting
Terminal (command line) adalah cara mengendalikan komputer dengan mengetik perintah, bukan mengklik ikon. Awalnya terasa kuno dan menakutkan, tetapi hampir semua tool developer modern dijalankan dari sini: Git, npm, Vite, Next.js, deploy ke server. Analogi: kalau Finder/File Explorer itu seperti memesan makanan lewat menu bergambar, terminal itu seperti bicara langsung ke koki. Lebih cepat, lebih presisi, dan bisa memesan hal yang tidak ada di menu. Kamu tidak perlu jadi ahli; cukup nyaman dengan sekitar 15 perintah dasar.
Konsep inti
Terminal, shell, dan prompt
- Terminal adalah aplikasinya (jendela tempat mengetik). Di macOS namanya Terminal, di Windows ada Windows Terminal, di Linux biasanya Terminal atau Konsole.
- Shell adalah program yang membaca dan menjalankan perintahmu. macOS memakai zsh sebagai default, kebanyakan Linux memakai bash, Windows memakai PowerShell.
- Prompt adalah teks sebelum kursor, misalnya
budi@laptop ~ %, tanda shell siap menerima perintah.
Untuk Windows, MDN menyarankan memakai salah satu dari: PowerShell, Git Bash (ikut terpasang bersama Git for Windows), atau WSL (Windows Subsystem for Linux) supaya perintahnya mirip macOS/Linux. Command Prompt (cmd) lama terbatas, sebaiknya dihindari.
Path: alamat file
- Absolute path dimulai dari akar:
/Users/budi/proyek/index.html(macOS),/home/budi/proyek(Linux),C:\Users\Budi\proyek(Windows). - Relative path dihitung dari folder tempat kamu berada sekarang:
proyek/index.html. - Simbol khusus:
.= folder ini,..= folder induk (satu tingkat ke atas),~= folder home kamu.
Aturan penamaan file untuk web (dari MDN): pakai huruf kecil, tanpa spasi, pisahkan kata dengan tanda hubung, contohnya foto-profil.jpg, bukan Foto Profil.JPG. Spasi di nama file menyusahkan terminal dan URL.
Perintah dasar
| Tujuan | macOS/Linux (zsh/bash, Git Bash) | PowerShell |
|---|---|---|
| Lihat folder saat ini | pwd |
pwd (alias Get-Location) |
| Daftar isi folder | ls, ls -la (termasuk file tersembunyi) |
ls atau dir, ls -Force |
| Pindah folder | cd nama-folder, cd .., cd ~ |
sama |
| Buat folder | mkdir nama |
mkdir nama |
| Buat file kosong | touch index.html |
New-Item index.html |
| Tampilkan isi file | cat file.txt |
cat file.txt (alias Get-Content) |
| Salin | cp asal tujuan |
cp asal tujuan |
| Pindah/ganti nama | mv asal tujuan |
mv asal tujuan |
| Hapus file | rm file |
rm file |
| Hapus folder beserta isinya | rm -r folder |
rm -r folder |
| Cari teks di file | grep "kata" file |
Select-String "kata" file |
| Bersihkan layar | clear |
clear atau cls |
Perintah bisa diberi option/flag, biasanya diawali -, misalnya ls -l (format panjang) atau ls -a (tampilkan file tersembunyi seperti .gitignore). Untuk melihat bantuan: man ls di macOS/Linux, Get-Help ls di PowerShell, atau nama-perintah --help untuk banyak tool.
Penting: rm di terminal tidak memindahkan ke Trash/Recycle Bin. File langsung hilang. Selalu cek pwd dan ls sebelum menghapus.
Jalan pintas yang menghemat waktu
Tab: melengkapi nama file/folder otomatis. Ketikcd prolalu Tab, jadicd proyek/.- Panah atas/bawah: memanggil perintah sebelumnya.
Ctrl+C: menghentikan program yang sedang berjalan (misalnya server lokal).- Menyeret folder dari Finder/Explorer ke jendela terminal akan menempelkan path-nya.
Node.js, npm, dan npx
Nanti di fase JavaScript kamu akan memakai Node.js (menjalankan JavaScript di luar browser). Bersamanya terpasang npm (Node Package Manager, pengelola paket/library) dan npx (menjalankan paket tanpa memasangnya permanen). Unduh versi LTS (Long Term Support, versi yang dirawat lama dan stabil) dari nodejs.org. Saat materi ini ditulis, LTS terbaru adalah Node.js 24 "Krypton".
| Perintah | Fungsi |
|---|---|
node -v, npm -v |
Cek versi terpasang |
npm init -y |
Membuat package.json (kartu identitas proyek) |
npm install nama-paket |
Memasang library ke folder node_modules dan mencatatnya di package.json |
npm install -D nama-paket |
Memasang sebagai devDependency (alat bantu saat develop) |
npm install |
Memasang semua dependency yang tercatat (setelah clone proyek orang) |
npm run nama-script |
Menjalankan script yang tertulis di package.json |
npx nama-paket |
Menjalankan tool sekali pakai, misalnya npx prettier --write . |
Contoh kode
Latihan lengkap membuat kerangka proyek dari nol. Jalankan baris demi baris dan perhatikan hasilnya.
# Pindah ke folder home, lalu buat folder kerja
cd ~
mkdir -p belajar-web/proyek-saya # -p: buat sekaligus folder induknya
cd belajar-web/proyek-saya
pwd
# → /Users/budi/belajar-web/proyek-saya
# Buat file dan isi teks
touch index.html
echo "Halo" > catatan.txt # > menulis (menimpa) ke file
cat catatan.txt
# → Halo
# Salin, lalu ganti nama hasil salinan
cp catatan.txt salinan.txt
mv salinan.txt arsip.txt
ls
# → arsip.txt catatan.txt index.html
# Hapus file (permanen, tidak masuk Trash!)
rm arsip.txt
ls -a
# → . .. catatan.txt index.html
# Cek versi Node.js dan npm
node -v
# → v24.x.x (atau versi lain yang terpasang)
npm -v
# → 11.x.x
Versi PowerShell (Windows) untuk langkah yang sama:
cd ~
mkdir belajar-web\proyek-saya
cd belajar-web\proyek-saya
New-Item index.html # → membuat file kosong
"Halo" | Out-File catatan.txt # → menulis teks ke file
Get-Content catatan.txt # → Halo
Copy-Item catatan.txt salinan.txt
Rename-Item salinan.txt arsip.txt
Remove-Item arsip.txt
Get-ChildItem -Force # → daftar file termasuk yang tersembunyi
Membuat proyek npm pertama:
mkdir halo-npm && cd halo-npm
npm init -y # → membuat package.json dengan isi default
npm install -D prettier # → memasang Prettier sebagai alat bantu
npx prettier --version
# → 3.9.10 (versi saat materi ditulis; milikmu bisa lebih baru)
Kesalahan umum
- Mengetik perintah di folder yang salah. Biasakan
pwddanlssebelum menjalankan sesuatu, terutamarmdannpm install. - Nama folder berspasi.
cd Proyek Sayagagal karena dianggap dua argumen. Pakai tanda kutipcd "Proyek Saya", atau lebih baik ganti nama jadiproyek-saya. - Menyalin perintah dari internet tanpa paham. Perintah seperti
rm -rfatausudobisa merusak sistem. Pahami dulu setiap bagian sebelum menekan Enter. - Panik karena terminal "macet". Biasanya ada program yang masih berjalan (server lokal). Tekan
Ctrl+Cuntuk menghentikannya. - Meng-upload
node_modules. Folder ini bisa berisi ribuan file dan bisa dibuat ulang dengannpm install. Jangan dikirim ke teman atau GitHub (modul 5 membahas.gitignore).
Latihan
- Mudah, Dari folder home, buat struktur
latihan-terminal/gambardanlatihan-terminal/css, lalu tampilkan isinya denganls. - Sedang, Di dalam
latihan-terminal, buatindex.htmldancss/style.css. Tulis kata "Halo" keindex.htmldenganecho, salin file itu menjadicadangan.html, lalu tampilkan isinya dengancat. - Menantang, Buat proyek npm di folder
latihan-terminal, pasangprettiersebagai devDependency, lalu tambahkan script"format": "prettier --write ."dipackage.jsondan jalankannpm run format.
Lihat solusi
- Solusi:
cd ~
mkdir -p latihan-terminal/gambar latihan-terminal/css
ls latihan-terminal
# → css gambar
- Solusi:
cd ~/latihan-terminal
touch index.html css/style.css
echo "Halo" > index.html
cp index.html cadangan.html
cat cadangan.html
# → Halo
- Solusi:
cd ~/latihan-terminal
npm init -y
npm install -D prettier
Lalu buka package.json dan ubah bagian scripts menjadi:
{
"scripts": {
"format": "prettier --write ."
}
}
Jalankan:
npm run format
# → Prettier menampilkan daftar file yang dirapikan
Ringkasan
- Terminal = aplikasi, shell = penerjemah perintah (zsh di macOS, bash di Linux, PowerShell di Windows).
- Pahami path absolut, relatif,
.,.., dan~. - Perintah inti:
pwd,ls,cd,mkdir,touch,cat,cp,mv,rm,grep. rmmenghapus permanen; selalu cek posisi denganpwddulu.- Tab untuk autocomplete, panah atas untuk riwayat,
Ctrl+Cuntuk berhenti. - npm memasang paket,
npxmenjalankan tool sekali pakai; pakai Node.js versi LTS.