🎨

Frontend Fundamentals

Kursus Gratis — Fullstack Talent

8

HTML Semantik

📖 15 menit baca 🏷️ Beginner

Dulu, web developer sering membuat halaman web hanya menggunakan tag <div> di mana-mana. Hal ini membuat struktur halaman sulit dipahami oleh mesin (seperti Google) dan perangkat pembaca layar (Screen Reader).

HTML Semantik hadir untuk memberikan makna pada setiap bagian halaman web. Alih-alih hanya <div class="header">, kita diperkenalkan dengan tag <header>. Mari pelajari elemen semantik yang wajib kamu tahu!

🗺️ Anatomi Halaman Web Semantik

Bayangkan struktur halaman web sebagai sebuah majalah atau koran digital. Berikut adalah elemen semantik pembentuk layout utamanya:

<header> (Kop Surat / Logo)
<nav> (Menu Navigasi)
<main> (Konten Utama Halaman)
<article> / <section> (Artikel Mandiri)
<article> / <section> (Artikel Mandiri)
<aside> (Sidebar / Iklan)
<footer> (Catatan Kaki / Copyright)

🏷️ Penjelasan Masing-Masing Tag

<header>

Bagian pengantar atau kop dari sebuah halaman (atau dari sebuah section/artikel). Biasanya berisi logo website, judul halaman, dan formulir pencarian.

Bisa ada lebih dari satu <header> dalam satu halaman (misal: di dalam setiap <article>).
<nav>

Kumpulan link utama untuk navigasi website (menu utama). Tidak semua link harus dibungkus tag ini, cukup link penting pengarah antar-halaman.

<main>

Membungkus konten sentral/utama dari halaman, konten yang unik dari halaman tersebut. Tidak boleh mengandung elemen yang berulang seperti sidebar, menu navigasi utama, logo, atau footer luar.

⚠️ Hanya boleh ada satu <main> per halaman!

<section>

Pengelompokan tematik dari sebuah konten. Umumnya memiliki sebuah heading (<h2>/<h3>).

Contoh: Section "Fitur Kami", Section "Testimoni", Section "Paling Laris".

<article>

Konten yang berdiri sendiri (independen). Jika konten ini dicabut dan diletakkan di website lain, maknanya tetap utuh.

Contoh: Berita blog, postingan forum, kartu produk (karena harga dan deskripsinya utuh pada produk itu sendiri).

<aside>

Konten pendukung yang posisinya di luar alur utama (sidebar). Isinya terkait tapi tidak secara langsung. Contoh: Iklan, biografi penulis, daftar kategori, tag artikel.

<footer>

Bagian penutup/catatan kaki. Berisi hak cipta (copyright), link kebijakan privasi, kontak, dan link sitemap.

🆚 DIV Soup vs HTML Semantik

❌ Praktik Lama (Div Soup)
<div class="header">
  <h1>Judul Web</h1>
</div>

<div class="navigasi">
  <ul>...</ul>
</div>

<div class="konten-utama">
  <div class="berita">
    <h2>Berita Terkini</h2>
  </div>
</div>

<div class="footer">
  <p>Copyright 2026</p>
</div>
✅ HTML Semantik Modern
<header>
  <h1>Judul Web</h1>
</header>

<nav>
  <ul>...</ul>
</nav>

<main>
  <article>
    <h2>Berita Terkini</h2>
  </article>
</main>

<footer>
  <p>Copyright 2026</p>
</footer>

🌟 Mengapa Kita Harus Perhatian pada HTML Semantik?

🔍

SEO (Mesin Pencari)

Google dan kawan-kawan sangat suka HTML Semantik. Mereka bisa membedakan mana konten utama dan mana cuma menu dengan mudah, sehingga peringkat website kamu bisa naik di Google.

Aksesibilitas (a11y)

Sangat membantu bagi penyandang disabilitas tunanetra. Screen Reader atau alat bantu dengar mengerti di mana harus membacakan isi website (mereka bisa skip navikasi, langsung ke `<main>`).

🧑‍💻

Untuk Programmer

Lebih bersih, terstruktur, mantap, dan gampang dibaca oleh Programmer lain yang bergabung dengan projek tim kamu daripada melihat jutaan tag `<div>` di layar monitor mereka.

📋 Ringkasan

Gunakan tag semantik (bukan hanya <div>) agar kodemu punya "makna" dan bisa dipakai oleh mesin penelusuran.
<header> dan <footer> mengapit isi keseluruhan website sebagai pengantar dan catatan kaki.
<main> adalah isi spesifik tiap halaman web, cuma boleh 1 per halaman.
<article> (bisa berdiri independen) dan <section> (grup terstruktur logis) digunakan untuk membungkus konten di dalam `main`.
<aside> adalah teman konten sebagai sidebar dan <nav> difokuskan ke menu.