Apa Itu Web? Client dan Server
Peran klien dan server, model request-response
Tujuan Pembelajaran
- Memahami peran client (browser) dan server dalam komunikasi web
- Mengerti alur request-response menggunakan analogi yang tepat
Analogi
+------------------+ Request +------------------+
| Kamu (Browser) | --------------------> | Restoran (Server)|
| - Pelanggan | "Mau pesan | - Dapur |
| - Pesan makan | nasi goreng" | - Masak |
| - Tunggu | | - Sajikan |
+------------------+ <-------------------- +------------------+
Response
"Ini nasi gorengnya"
Analoginya simple:
- Browser = Kamu sebagai pelanggan di restoran
- Server = Dapur restoran
- Request = Pesanan kamu ke pelayan
- Response = Makanan yang dibawakan pelayan
Analogi Restoran: Browser = pelanggan, Server = dapur, Request/Response = pesanan dan makanan
Penjelasan Konsep
Kalau kamu baru mulai belajar web development, pasti sering dengar istilah client dan server. Kedua kata ini muncul di hampir setiap tutorial, setiap dokumentasi, dan setiap pembicaraan tentang teknologi web. Tapi sebenarnya apa sih artinya? Kenapa konsep ini begitu penting dipahami sebelum kita menulis satu baris kode pun?
Mari kita bedah perlahan dari nol.
Bayangkan kamu masuk ke restoran favoritmu.
Kamu duduk di meja, buka menu, lalu panggil pelayan untuk pesan makanan. Kamu bilang, “Mas, pesan nasi goreng spesial satu ya, tambah telur, pedas.” Pelayan mencatat pesanan kamu dengan cermat, bawa ke dapur. Koki di dapur baca catatan, siapkan bahan-bahan, masak nasi goreng sesuai pesananmu. Setelah matang dan disajikan dengan rapi, pelayan bawakan ke meja kamu.
Kamu terima makanan, lalu makan dengan lahap.
Nah, di dunia web, prosesnya sama persis seperti itu. Cuma bedanya kita nggak bisa lihat dan sentuh secara fisik, tapi logikanya identik.
Client (Browser) = Kamu sebagai pelanggan.
Client itu adalah software yang kamu pakai untuk mengakses internet. Paling umum adalah web browser seperti Google Chrome, Mozilla Firefox, Safari, atau Microsoft Edge. Tugas client cuma satu: minta data ke server.
Caranya? Kamu ketik alamat website di address bar, tekan Enter, dan browser akan mengirimkan permintaan. Permintaan itu disebut request. Tapi client bukan cuma browser lho.
Aplikasi mobile seperti Instagram atau Twitter di HP-mu juga adalah client. Aplikasi desktop seperti Spotify atau VS Code saat terhubung internet juga client. Bahkan smart TV kamu yang nonton Netflix juga client! Jadi client adalah perangkat atau software yang meminta layanan atau data.
Server = Dapur restoran.
Server adalah komputer khusus yang nyala 24 jam nonstop — bahkan saat kamu tidur.
Di dalam server ada file-file website (HTML, CSS, JavaScript), gambar, video, database, dan program-program yang berjalan di belakang layar.
Tugas server adalah menerima request dari client, memprosesnya, lalu mengirimkan jawaban.
Jawaban itu disebut response.
Server bisa berupa komputer fisik yang berdiri di data center raksasa, atau bisa juga virtual server di cloud seperti AWS, Google Cloud, atau DigitalOcean.
Request = Pesanan kamu ke pelayan.
Ketika kamu ketik “google.com” di browser dan tekan Enter,
Browser membuat pesan kecil yang isinya: “Halo server Google, tolong kirimkan halaman utama Google.com ya.” Pesan ini berjalan melalui internet, melewati berbagai jaringan kabel dan router, sampai ke server Google.
Request ini bisa berupa permintaan halaman HTML, file gambar, data dari API,
Atau apa pun yang dibutuhkan untuk menampilkan website.
Response = Makanan yang dibawakan pelayan.
Server Google menerima request-mu, mencari file yang diminta, lalu mengirimkan kembali ke browser-mu.
Response ini biasanya berupa file HTML yang berisi struktur halaman, ditambah CSS untuk tampilannya, dan JavaScript untuk interaktivitasnya.
Browser menerima response ini, memprosesnya, lalu menampilkannya di layar kamu sebagai halaman web yang indah dan interaktif.
Jadi alur lengkapnya seperti ini
- Kamu membuka browser dan ketik alamat website → browser membuat request.
- Request berjalan melalui internet (melewati DNS, router, firewall) → sampai ke server.
- Server menerima dan memproses request → mencari file atau data yang diminta → membuat response.
- Response kembali ke browser-mu melalui internet.
- Browser menerima response → mem-parse HTML, CSS, JavaScript → menampilkan halaman di layar.
Sekarang,
Ada satu hal penting yang harus kamu pahami: client dan server itu bukan benda fisik yang tetap. Mereka adalah peran. Sebuah komputer bisa berperan sebagai server kalau dia menjalankan software server seperti Apache, Nginx, atau Node.js.
Dan komputer server yang sama juga bisa berperan sebagai client kalau dia mengakses website lain. Bahkan laptop kamu sekarang ini bisa jadi server kalau kamu install software server dan mengkonfigurasinya dengan benar!
Kenapa konsep ini penting?
Karena seluruh web dibangun di atas model ini. Setiap kali kamu buka Instagram, nonton YouTube, atau belanja di Tokopedia, yang terjadi adalah jutaan request-response antara client dan server. Memahami model ini adalah fondasi dari segala sesuatu yang akan kamu pelajari selanjutnya — HTML, CSS, JavaScript, API, database, framework, semuanya beroperasi di dalam konteks client-server.
Tanpa pemahaman ini, kode yang kamu tulis akan terasa seperti mantra yang dihafal tanpa mengerti artinya.
Jadi, selamat! Kamu baru saja memahami fondasi paling fundamental dari dunia web. Setiap kali kamu browsing ke depannya, ingatlah: kamu adalah client yang sedang memesan makanan di restoran server. Selamat berselancar!
Contoh Kode
// Simulasi alur Client-Server dengan fetch API
// (Ini kode di browser/client side)
async function pesanKeServer() {
// Client kirim REQUEST ke server
console.log("[CLIENT] Kirim pesanan...");
try {
const response = await fetch('https://api.example.com/menu');
// Server kirim RESPONSE balik
const data = await response.json();
console.log("[CLIENT] Terima response:", data);
// Browser tampilkan ke user
document.body.innerHTML = `
<h1>${data.namaRestoran}</h1>
<ul>
${data.menu.map(item => `
<li>${item.nama} - Rp${item.harga}</li>
`).join('')}
</ul>
`;
} catch (error) {
console.error("[CLIENT] Server error:", error);
}
}
pesanKeServer();Penjelasan Kode
Prompt AI
Jelaskan perbedaan antara client dan server menggunakan analogi yang berbeda dari restoran. Berikan 3 contoh client selain web browser yang kamu gunakan setiap hari.
Pertanyaan Reflektif
Coba buka Chrome DevTools (tekan F12) → tab Network → refresh halaman ini. Kamu akan melihat semua request yang browser kirim. Identifikasi mana yang request HTML, mana yang request gambar, dan mana yang request API data.