Kerangka dulu, isi kemudian. Pada bagian ini kita menyiapkan seluruh wadah katalog: head dengan metadata lengkap, header berisi nama situs dan navigasi fragment, serta main dengan section pengantar dan section kosong yang menunggu kedua resep. Setelah bagian ini selesai, keempat 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>Katalog Resep — Dapur Siti</title>
<meta name="description" content="Katalog resep rumahan Dapur Siti: nasi goreng kampung dan pisang goreng crispy dengan daftar bahan dan langkah memasak yang mudah diikuti.">
</head>
<body>
<!-- Kepala situs -->
<header>
<p><strong>Dapur Siti</strong> — resep rumahan sehari-hari</p>
<nav aria-label="Navigasi katalog">
<ul>
<li><a href="#resep-utama">Resep Utama</a></li>
<li><a href="#nasi-goreng-kampung">Nasi Goreng Kampung</a></li>
<li><a href="#pisang-goreng-crispy">Pisang Goreng Crispy</a></li>
</ul>
</nav>
</header>
<main>
<section id="pengantar">
<h1>Katalog Resep Dapur Siti</h1>
<p>Selamat datang di Dapur Siti — kumpulan resep masakan rumahan yang dicatat langsung dari dapur keluarga. Semua bahan mudah didapat di pasar terdekat, setiap langkah ditulis untuk pemula, dan setiap resep dilengkapi foto hidangan, informasi porsi dan waktu memasak, daftar bahan, serta langkah yang tersusun berurutan.</p>
</section>
<section id="resep-utama">
<!-- dua resep diisi mulai Bagian 2 -->
</section>
</main>
</body>
</html>Mari kita bedah baris demi baris:
- Blok
head(baris 3-8): charset UTF-8, viewport,title, danmeta description— empat metadata minimum halaman modern yang telah kita kuasai sejak Section Struktur Dokumen. - Nama situs dan tagline (baris 12): satu paragraf dengan
strongpada nama situsnya. Nama situs sengaja bukan heading — satu-satunyah1disiapkan untuk judul katalog di dalammain. navdengan label (baris 13-19): navigasi memakaiultautan;aria-labelmemberi nama wilayahnya bagi pembaca layar.- Tiga tautan fragment (baris 15-17): nilai
hrefdiawali kres dan harus sama persis denganidtargetnya —#resep-utamamenuju section di baris 26, sedangkan dua lainnya menuju article yang baru kita bangun pada Bagian 2. - Section pengantar (baris 22-25):
h1tunggal seluruh halaman plus satu paragraf pembuka. - Section kosong (baris 26-28): penanda tempat. Komentar HTML di dalamnya diganti article sungguhan mulai bagian berikutnya; tautan navigasi sudah bisa diklik karena
id-nya ada.
Memilih article untuk Setiap Resep #
Keputusan terbesar bagian ini ada pada pemilihan elemen. Uji dicabut dari chapter Section vs Article berlaku langsung di sini: resep Nasi Goreng Kampung yang dicabut dari halaman tetap masuk akal — ia bisa dicetak, dibagikan, atau masuk feed tanpa kehilangan makna. Karena mandiri, tiap resep menjadi article. Sebaliknya, pengantar dan catatan penutup kehilangan makna bila dicabut dari katalognya — keduanya bagian dari kesatuan halaman, jadi wadahnya section.
| Bagian halaman | Elemen | Alasan |
|---|---|---|
| Nama situs + navigasi | header | pengantar berulang seluruh halaman |
| Pengantar katalog | section | tema pembuka, kehilangan makna bila dicabut |
| Tiap resep | article | mandiri — lulus uji dicabut |
| Catatan penutup | section | milik halaman, bukan resep tertentu |
| Kaki situs | footer | penutup seluruh dokumen |
Hasil pada Browser #
Judul tab menampilkan “Katalog Resep — Dapur Siti” dari title. Di halaman tampak nama situs, tagline, tiga tautan, judul katalog, dan paragraf pengantar; area resep di bawahnya masih kosong. Klik “Resep Utama” — address bar bertambah #resep-utama dan halaman menggulir ke posisi section kosong itu.
Inilah keadaan halaman pada akhir Bagian 1 — klik ketiga tautan navigasinya: “Resep Utama” menggulir ke section kosong di bawah pengantar, sedangkan dua nama resep belum melompat ke mana pun karena id targetnya baru dibuat pada Bagian 2:
Ringkasan Bagian 1 #
- Kerangka lengkap:
headberisi empat metadata minimum,headerdengan navigasi fragment,maindengan dua section. - Navigasi fragment menuntut nilai
hrefdanidyang sama persis. - Tiap resep kelak menjadi
articlekarena lulus uji dicabut; section resep tanpa heading karena article membawah2sendiri.
Bagian berikutnya mengisi article pertama dengan daftar bahan.