Kerangka dulu, isi kemudian. Pada bagian ini kita menyiapkan seluruh wadah katalog: head dengan metadata lengkap, header berisi nama perpustakaan dan navigasi fragment, main dengan judul dan pengantar, serta tiga section kosong yang menunggu tabel kategori. Setelah bagian ini selesai, tiga bagian berikutnya tinggal mengisi tempat yang sudah disiapkan.
Kerangka Halaman #
Kode berikut adalah titik awal proyek. Simpan sebagai index.html di dalam folder src/, lalu buka di browser:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Pustaka Cendekia — Katalog Koleksi</title>
<meta name="description" content="Katalog koleksi Pustaka Cendekia, perpustakaan komunitas warga: sepuluh buku fiksi, nonfiksi, dan referensi beserta tata cara peminjaman.">
</head>
<body>
<header>
<p><strong>Pustaka Cendekia</strong> — perpustakaan komunitas warga</p>
<nav aria-label="Navigasi katalog">
<ul>
<li><a href="#fiksi">Fiksi</a></li>
<li><a href="#nonfiksi">Nonfiksi</a></li>
<li><a href="#referensi">Referensi</a></li>
</ul>
</nav>
</header>
<main>
<h1>Katalog Koleksi Pustaka Cendekia</h1>
<p>Pustaka Cendekia adalah perpustakaan komunitas yang dikelola warga: koleksinya berasal dari sumbangan anggota, petugasnya relawan, dan seluruh layanan gratis. Katalog berikut memuat sepuluh judul yang tersedia di rak, dikelompokkan menjadi fiksi, nonfiksi, dan referensi.</p>
<section id="fiksi">
<!-- tabel fiksi diisi mulai Bagian 2 -->
</section>
<section id="nonfiksi">
<!-- tabel nonfiksi diisi mulai Bagian 3 -->
</section>
<section id="referensi">
<!-- tabel referensi diisi mulai Bagian 3 -->
</section>
</main>
</body>
</html>Mari kita bedah baris demi baris:
- Blok
head(baris 1-8): charset UTF-8, viewport,title, danmeta description— empat metadata minimum halaman modern yang telah kita kuasai sejak Section Struktur Dokumen. - Nama perpustakaan dan tagline (baris 11): satu paragraf dengan
strongpada namanya. Nama perpustakaan sengaja bukan heading — satu-satunyah1disiapkan untuk judul katalog di dalammain. navdengan label (baris 12-18): navigasi memakaiultautan;aria-labelmemberi nama wilayahnya bagi pembaca layar.- Tiga tautan fragment (baris 14-16): nilai
hrefdiawali kres dan harus sama persis denganidtargetnya —#fiksimenuju section di baris 22,#nonfiksidan#referensike dua section di bawahnya. - Judul dan pengantar (baris 20-21):
h1tunggal seluruh halaman plus satu paragraf pembuka yang menjelaskan apa itu Pustaka Cendekia. - Tiga section kosong (baris 22-30): penanda tempat. Komentar HTML di dalamnya diganti tabel sungguhan mulai bagian berikutnya; tautan navigasi sudah bisa diklik karena
id-nya terpasang.
Satu Section per Kategori #
Keputusan terbesar bagian ini ada pada bentuk wadahnya: tiga section — satu per kategori — alih-alih satu wadah besar untuk seluruh koleksi. Dua alasan menopang pilihan ini.
Pertama, pemilahan konteks pembaca. Pengunjung perpustakaan datang dengan kebutuhan spesifik: yang mencari bacaan akhir pekan langsung ingin daftar fiksi, yang mengerjakan tugas langsung ke referensi. Section per kategori memungkinkan tiap jenis pengunjung menemukan raknya tanpa menyaring baris yang tidak relevan. Tiap section juga membawa h2 sendiri, sehingga kerangka heading halaman sekaligus menjadi daftar isi katalog.
Kedua, navigasi fragment. Tautan #nonfiksi hanya bisa melompat ke elemen ber-id; tiga section memberi tiga sasaran lompatan yang berbeda. Satu wadah raksasa hanya punya satu sasaran — navigasi header kehilangan fungsinya.
| Bagian halaman | Elemen | Alasan |
|---|---|---|
| Nama perpustakaan + navigasi | header | pembuka berulang seluruh halaman |
| Judul dan pengantar katalog | h1 + p langsung di main | konteks satu kali di awal isi |
| Tiap kategori koleksi | section dengan h2 dan id | tema mandiri sekaligus sasaran fragment |
| Aturan peminjaman | section (ditambahkan pada Bagian 3) | konten non-tabel |
| Kaki halaman | footer (ditambahkan pada Bagian 4) | penutup seluruh dokumen |
Hasil pada Browser #
Judul tab menampilkan “Pustaka Cendekia — Katalog Koleksi” dari title. Di halaman tampak nama perpustakaan, tagline, tiga tautan, judul katalog, dan paragraf pengantar; tiga area kategori di bawahnya masih kosong. Klik “Fiksi” — address bar bertambah #fiksi dan halaman menggulir ke posisi section kosong pertama. Halaman valid dan seluruh tautan berfungsi, meski belum ada satu baris data pun.
Inilah keadaan halaman pada akhir Bagian 1 — tiga section kategori masih kosong karena tabelnya menyusul; klik ketiga tautan navigasi untuk melompat ke posisi masing-masing:
Ringkasan Bagian 1 #
- Kerangka lengkap:
headberisi empat metadata minimum,headerdengan navigasi fragment,maindengan judul, pengantar, dan tiga section kosong. - Tiga section kategori memberi tiga sasaran lompatan fragment —
hrefdanidwajib sama persis. - Section per kategori memilah konteks pembaca dan menjadikan kerangka heading sebagai daftar isi katalog.
Bagian berikutnya mengisi section pertama dengan tabel katalog fiksi.