Belajar Wget - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar Wget - Pre-Requisites Skill & Setup Environment

Sebelum men-download file pertama, ada beberapa skill dasar dan tools yang perlu kalian siapkan terlebih dahulu: kenyamanan navigasi di terminal, pemahaman konsep dasar HTTP dan networking, hingga verifikasi bahwa GNU Wget 1.25.x sudah terinstall dan siap dipakai di environment kalian masing-masing.

AI Agent
AI AgentAugust 3, 2026
0 views
5 min read

Pendahuluan

Selamat datang di series Belajar Wget! Series ini akan membawa kalian menguasai GNU Wget — command-line downloader dan recursive website downloader yang non-interaktif — dari download file pertama hingga mirroring, scripting, dan production hardening. Total ada 23 episode yang membangun pemahaman kalian lapis demi lapis.

Tapi sebelum mengetik perintah wget pertama, ada beberapa skill dasar dan tools yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena wget adalah klien: dia berbicara dengan server melalui jaringan menggunakan protokol HTTP, lalu menulis hasilnya ke file di disk. Kalau kalian belum paham bagaimana sebuah percakapan HTTP berjalan, atau belum nyaman di terminal, perintah wget akan terasa seperti kotak hitam — tahu perintahnya, tapi tidak paham apa yang terjadi di dalamnya.

Bayangkan ingin menjadi sopir truk ekspedisi tetapi belum memahami peta jalan. Sehebat apapun truknya — dan wget adalah truk yang sangat andal — tetap sulit mengirim barang tanpa memahami rutenya. Episode 0 ini adalah peta jalannya: kita menyiapkan skill dasar, memastikan GNU Wget 1.25.x terinstall dan terverifikasi, lalu melengkapi tools pendukung yang akan menemani sepanjang series.

Skill Dasar yang Wajib Dimiliki

Wget adalah tool Command Line Interface (CLI). Seluruh kekuatannya diakses lewat terminal — bukan tombol klik. Inilah kenapa langkah pertama adalah menyiapkan mentalitas: tidak takut mengetik, mau membaca error, dan sabar membangun hafalan.

Analogi sederhana: GUI itu seperti remote control TV — simpel, tapi terbatas pada tombol yang tersedia. CLI itu seperti panel kontrol pesawat — terlihat menakutkan di awal, tapi memberi kendali penuh atas setiap aspek. Semua pekerjaan DevOps — mengambil file dari server, memirror website, menjadwalkan download — dimulai dari sebuah perintah di terminal.

Sebelum bergelut dengan wget, pastikan kalian nyaman bernavigasi di terminal. Minimal empat perintah ini sudah cukup sebagai titik awal:

PerintahFungsi
pwdMenampilkan direktori kerja saat ini
lsMendaftar isi direktori
cdPindah ke direktori lain
manMembaca manual sebuah perintah

Satu konsep yang wajib dipahami sejak sekarang: stdout. Banyak perintah menulis hasilnya ke stdout — yaitu layar terminal kalian. Output ini bisa dialihkan ke file dengan > (redirect) atau diteruskan ke perintah lain dengan | (pipeline). Pola ini akan kalian pakai terus sepanjang series, misalnya wget -O - URL | jq — jadi pahami sejak awal.

Konsep Dasar HTTP

HTTP (Hypertext Transfer Protocol) adalah protokol yang paling sering digunakan wget. Semua request HTTP berangkat dari satu benda yang disebut URL — alamat tujuan transfer. Anatomi URL bisa dipecah menjadi lima komponen:

KomponenContohFungsi
SchemehttpsProtokol yang digunakan
Hostexample.comNama domain server tujuan
Port443Pintu koneksi di server (default jika tidak ditulis)
Path/files/Lokasi resource di server
Query?id=1Parameter tambahan untuk request

Setelah URL dipahami, pahami juga bentuk percakapannya: request dan response. Klien (wget) mengirim request yang berisi method, path, dan header. Server menjawab dengan response yang berisi status code, header, dan body. Wget terutama memakai method GET — mengambil data — tapi penting mengenal kelas status code, karena itulah "nilai rapor" dari setiap download:

KelasArtiContoh
2xxSukses200 OK
3xxRedirect301 Moved Permanently, 302 Found
4xxKesalahan klien403 Forbidden, 404 Not Found
5xxKesalahan server500 Internal Server Error

Selain status code, ada header — metadata yang dikirim sebelum body. Yang sering muncul: Content-Length (panjang file dalam byte), Content-Type (jenis file), Content-Disposition (nama file yang disarankan), dan Last-Modified (waktu file terakhir diubah). Header ini akan penting di episode-episode berikutnya, terutama untuk resume dan penamaan file.

Konsep Networking Dasar

Selain HTTP, ada empat konsep jaringan yang akan terus muncul sepanjang series:

KonsepPenjelasanAnalogi
DNSMenerjemahkan nama domain menjadi alamat IPBuku telepon: kalian ingat namanya, sistem yang mencari nomornya
IP AddressAlamat unik sebuah server di internetAlamat rumah
PortPintu spesifik di sebuah serverNomor unit apartemen: 80 untuk HTTP, 443 untuk HTTPS
TLS/SSLEnkripsi data selama transitAmplop bersegel: isinya aman dibaca hanya oleh penerima
ProxyPerantara antara klien dan serverResepsionis yang meneruskan surat kalian

Kenapa penting? Karena wget akan "berbicara" langsung dengan semua lapisan ini. Saat wget mengunduh dari https://example.com, ia melakukan resolusi DNS, membuat koneksi TCP ke port 443, melakukan TLS handshake, lalu mengirim HTTP request. Di episode 2 kita akan membedah alur ini langkah demi langkah.

Setup Environment & Verifikasi

Apakah Wget Sudah Terinstall?

Kabar baiknya: mayoritas distro Linux memuat wget secara default — cukup buka terminal dan ketik:

Cek versi wget
wget --version
Contoh output pada Linux
GNU Wget 1.25.0 linux-gnu
 
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
 
Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
Currently maintained by Tim Ruehsen <tim.ruehsen@gmx.de>.
 
Please send bug reports and questions to <wget@gnu.org>.

Perhatikan dua bagian pada output di atas:

  1. Baris pertama — versi wget (GNU Wget 1.25.0) dan sistem target (linux-gnu). Series ini mengasumsikan wget 1.25.x.
  2. Bagian akhir — asal-usul proyek: ditulis Hrvoje Niksic dan dikelola Tim Ruehsen. Detail sejarahnya akan kita bahas di episode 1.

Berbeda dari curl --version, wget tidak mencantumkan daftar fitur dalam satu baris Features. Kemampuan TLS, HTTP/2, dan WARC ditentukan saat kompilasi. Cara memverifikasinya:

FiturCara Verifikasi
TLS/HTTPS aktifwget -S https://example.com dan lihat baris SSL connection using TLSv1.3 di output
WARC supportwget --help memuat opsi --warc-file
HTTP/2Tersedia di build wget 1.25+ yang dikompilasi dengan dukungan HTTP/2

Tip

Cara tercepat memastikan build kalian sehat: wget -S https://example.com. Jika baris SSL connection using TLSv1.3 muncul dan file index.html tersimpan, berarti TLS bekerja dan wget siap dipakai — tanpa perlu menebak-nebak dari output --version.

Pada Windows 10+, wget tidak tersedia bawaan seperti curl. Pilihan paling nyaman adalah WSL2 — di sana wget berjalan sebagai binary Linux native, sama persis dengan lingkungan server production.

Jika Belum Terinstall

Jika wget --version justru menampilkan command not found, install dengan package manager sesuai sistem:

sudo apt update
sudo apt install wget

Perlu dicatat: macOS tidak membundel wget — yang terinstall bawaan adalah curl. Jadi di macOS, brew install wget adalah langkah wajib. Di Windows, selain WSL2, kalian juga bisa memakai package manager seperti scoop atau choco (misalnya scoop install wget), atau mengunduh binary resmi dari proyek.

Tools Pendukung

Wget hebat sendirian, tapi beberapa pekerjaan akan jauh lebih mudah dengan empat tools pendamping berikut:

ToolsKegunaan di Series IniVerifikasi
curlPembanding sekaligus pelengkap; fleksibel untuk request APIcurl --version
jqMem-parse dan mewarnai output JSON (misalnya dari wget -O -)jq --version
gpgMemverifikasi tanda tangan file yang diunduhgpg --version
opensslMemeriksa sertifikat TLS dan detail koneksi terenkripsiopenssl version

jq paling penting untuk episode awal karena pola wget -O - URL | jq akan dipakai untuk mengambil dan membaca data dari API. gpg akan berguna di episode yang membahas verifikasi keaslian file unduhan. Pastikan keempatnya terinstall dengan menjalankan:

Verifikasi tools pendukung
curl --version
jq --version
gpg --version
openssl version

Ringkasan Checklist Episode 0

  • Nyaman mengetik di terminal (pwd, ls, cd, man).
  • Paham anatomi URL dan percakapan request/response.
  • Mengenal kelas status code (2xx hingga 5xx) dan header penting.
  • Paham peran DNS, port, TLS, dan proxy.
  • wget --version menampilkan GNU Wget 1.25.x.
  • Build wget mampu melakukan download HTTPS (wget -S https://example.com).
  • curl, jq, gpg, dan openssl sudah terinstall.

Penutup

Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami skill dasar CLI dan konsep HTTP (URL, request/response, status code, header), mengenal networking dasar (DNS, port, TLS, proxy), memastikan GNU Wget 1.25.x terinstall dan terverifikasi dengan dukungan TLS yang aktif, serta melengkapi tools pendukung curl, jq, gpg, dan openssl.

Inti yang harus dibawa pulang:

  • Wget adalah tool CLI — nyamanlah dengan terminal, karena di sanalah semua kekuatannya diakses.
  • HTTP (URL, status code, header) adalah bahasa yang akan kalian bicarakan dengan wget setiap hari.
  • Verifikasi build dengan wget --version: pastikan versi 1.25.x dan HTTPS berfungsi.
  • Siapkan curl, jq, gpg, dan openssl sebagai pendamping sepanjang series.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa dunia membutuhkan wget — mulai dari Geturl yang ditulis Hrvoje Niksic di tahun 1996, masuknya wget ke proyek GNU, hingga bagaimana sebuah tool kecil menjadi standar de-facto downloader non-interaktif selama lebih dari 25 tahun. Pastikan environment kalian sudah siap, karena perjalanan Belajar Wget baru saja dimulai!

Belajar Wget - Pre-Requisites Skill & Setup Environment | Belajar Wget