Cara Kerja Website
Sebelum mulai coding, penting untuk memahami bagaimana website bekerja. Dengan mental model yang benar, kamu akan lebih mudah memahami kenapa kita perlu HTML, CSS, JavaScript, PHP, dan database.
Analogi Sederhana: Restoran 🍽️
Bayangkan website seperti restoran:
Client dan Server
Website bekerja dengan model Client-Server:
Client (Browser)
- Komputer/HP kamu yang menjalankan browser
- Mengirim request (permintaan) ke server
- Menampilkan response (jawaban) dari server
- Menjalankan HTML, CSS, dan JavaScript
Server
- Komputer khusus yang menyimpan file website
- Menerima request dari banyak client
- Menjalankan PHP untuk memproses data
- Menyimpan/mengambil data dari database
- Mengirim response berupa HTML
HTTP: Bahasa Komunikasi
Client dan server berkomunikasi menggunakan protokol HTTP (Hypertext Transfer Protocol).
HTTP Request
Ketika kamu mengetik http://belajar.test/index.php di browser:
Artinya:
- GET — "Saya mau mengambil data"
- /index.php — "File yang saya minta"
- Host — "Dari website ini"
HTTP Response
Server menjawab dengan:
Artinya:
- 200 OK — "Berhasil, ini datanya"
- Content-Type: text/html — "Ini adalah halaman HTML"
- Sisanya adalah konten HTML yang akan ditampilkan
HTTP Methods
Ada beberapa jenis request yang bisa dikirim:
:::tip Analogi
- GET = "Lihat menu" (tidak mengubah apapun)
- POST = "Pesan makanan" (membuat sesuatu baru)
- PUT = "Ganti pesanan" (mengubah yang sudah ada)
- DELETE = "Batalkan pesanan" (menghapus) :::
URL: Alamat Website
URL (Uniform Resource Locator) adalah alamat lengkap sebuah halaman:
Contoh URL di Local Development
Saat belajar, kita akan sering pakai URL seperti:
DNS: Buku Telepon Internet
Bagaimana browser tahu komputer mana yang harus dihubungi ketika kamu ketik google.com?
DNS (Domain Name System) mengubah nama domain yang mudah diingat (google.com) menjadi alamat IP (142.250.185.46) yang dimengerti komputer.
:::info Analogi DNS itu seperti buku telepon:
- Kamu cari nama: "Google"
- Dapat nomor: "142.250.185.46"
- Baru bisa telepon :::
Alur Lengkap: Dari Ketik URL sampai Tampil
Mari ikuti perjalanan lengkap saat kamu membuka http://toko.test/produk.php?id=5:
Static vs Dynamic Website
Static Website
- Hanya HTML, CSS, JavaScript
- Konten sama untuk semua pengunjung
- Tidak perlu server khusus
- Contoh: Landing page, portfolio
Dynamic Website
- Menggunakan PHP/Python/Node.js + Database
- Konten bisa berbeda tiap pengunjung
- Butuh server yang menjalankan kode
- Contoh: Toko online, media sosial, aplikasi web
Peran Setiap Teknologi
Sekarang kamu bisa memahami kenapa kita perlu belajar semuanya:
:::tip Mental Model
- Frontend (HTML, CSS, JS) = Yang dilihat & disentuh user
- Backend (PHP, MySQL) = Yang bekerja di belakang layar :::
Latihan Pemahaman
Coba jawab pertanyaan ini:
- Ketika kamu submit form login, HTTP method apa yang digunakan?
- Kenapa password tidak boleh dikirim pakai GET?
- Apa yang terjadi jika server mati?
- Kenapa website e-commerce butuh database?
Jawaban
- POST — karena mengirim data sensitif
- Karena GET menampilkan data di URL, bisa dilihat orang lain
- Browser akan menampilkan error (seperti "Server tidak dapat dihubungi")
- Untuk menyimpan data produk, user, pesanan, dll yang bisa berubah-ubah
Selanjutnya
Sekarang kamu sudah paham cara kerja website! Mari lanjut ke Setup Tools → untuk menyiapkan environment development.