- Bab 1 dari 10
- 30 menit
- 1 latihan kode
- 4 soal kuis
Pengenalan HTML5 dan Struktur Dokumen
Di bab ini (9 bagian)
Tujuan bab ini
- Memahami apa itu HTML, apa bedanya dengan HTML5, dan kenapa sekarang orang menyebutnya HTML Living Standard.
- Menulis kerangka dokumen HTML5 yang lengkap: doctype,
html lang,head,meta charset,meta viewport,title, danbody. - Memakai elemen dasar: heading, paragraf, link, gambar dengan
alt, dan list. - Menulis atribut dan nesting (elemen di dalam elemen) dengan benar.
HTML itu apa, sih?
HTML (HyperText Markup Language) adalah bahasa untuk memberi struktur pada konten web. HTML bukan bahasa pemrograman: tidak ada perhitungan, perulangan, atau logika. Tugasnya hanya menandai "ini judul", "ini paragraf", "ini gambar", "ini tautan".
Analogi gampangnya, bayangkan membangun rumah:
| Bagian rumah | Teknologi web | Tugasnya |
|---|---|---|
| Rangka, dinding, pintu | HTML | Struktur dan isi |
| Cat, dekorasi, tata ruang | CSS | Tampilan |
| Listrik, saklar, bel | JavaScript | Perilaku dan interaksi |
Kelas ini fokus ke dua yang pertama. JavaScript cuma muncul sedikit di bab multimedia.
Dari HTML pertama sampai HTML5
HTML pertama kali diperkenalkan Tim Berners-Lee sekitar 1991. Versi HTML 4.01 (1999) dipakai lebih dari satu dekade. Lalu WHATWG mempublikasikan draft awal HTML5 pada 2008, dan W3C meresmikannya sebagai rekomendasi pada Oktober 2014.
Apa yang baru di HTML5? Tiga hal besar:
- Elemen semantik seperti
<header>,<nav>,<main>,<article>,<footer>, jadi struktur halaman punya makna. - Multimedia native:
<audio>dan<video>bisa diputar tanpa plugin seperti Flash. - Web API: localStorage, Geolocation, drag and drop, canvas, dan lain-lain.
Sekarang HTML tidak lagi diberi nomor versi. Standarnya bernama HTML Living Standard, dikelola WHATWG dan terus diperbarui. Jadi saat orang bilang "HTML5", maksudnya biasanya "HTML modern".
Cara browser membaca HTML
Saat kamu membuka sebuah halaman, browser kira-kira melakukan ini:
- Mengunduh file HTML dari server (atau membuka file lokal).
- Mem-parse teks HTML dari atas ke bawah, mengubah setiap tag menjadi objek.
- Menyusun objek-objek itu menjadi pohon bernama DOM (Document Object Model).
<html>adalah akar,<head>dan<body>cabangnya, dan seterusnya. - Menggabungkan DOM dengan aturan CSS, menghitung posisi dan ukuran, lalu menggambar hasilnya di layar.
Satu hal penting: browser itu pemaaf. Kalau kamu lupa menutup tag, browser akan menebak maksudmu dan tetap menampilkan sesuatu. Kedengarannya enak, tapi justru berbahaya, karena tebakan browser bisa beda dengan maksudmu dan bug-nya jadi susah dicari. Jadi biasakan menulis HTML yang rapi sejak awal.
Struktur dokumen HTML5
Ini kerangka minimal yang selalu kamu pakai:
Kita bedah satu per satu:
<!DOCTYPE html>wajib di baris pertama. Ini memberi tahu browser bahwa dokumen ini HTML modern. Tanpa doctype, browser masuk ke quirks mode, mode kompatibilitas lama yang membuat CSS berperilaku aneh.<html lang="id">adalah elemen akar. Atributlangmemberi tahu bahasa halaman. Screen reader memakainya untuk memilih pelafalan, dan mesin pencari memakainya untuk memahami bahasa konten.<head>berisi metadata: informasi tentang halaman yang tidak tampil di area konten.<meta charset="UTF-8">memastikan huruf seperti é, emoji, atau aksara non-Latin tampil benar, bukan jadi simbol aneh.<meta name="viewport" ...>adalah kunci agar halaman responsif di HP. Tanpa ini, browser mobile berpura-pura layarnya selebar sekitar 980px, lalu mengecilkan semuanya sehingga tulisan jadi mungil.<title>muncul di tab browser, di bookmark, dan sebagai judul di hasil pencarian.<body>berisi semua yang terlihat pengguna.
Elemen dasar yang paling sering dipakai
Heading dan paragraf
Ada enam tingkat heading, <h1> sampai <h6>. <h1> adalah judul utama halaman, <h2> sub-bagian, dan seterusnya. Pilih heading berdasarkan tingkat kepentingan, bukan ukuran huruf. Ukuran urusan CSS.
Hasilnya: judul besar tebal, sub-judul sedikit lebih kecil, lalu satu paragraf teks biasa dengan jarak di atas dan bawahnya.
Link dan gambar
<a> membuat tautan. Atribut href berisi tujuannya, dan target="_blank" membukanya di tab baru. Teks di antara tag pembuka dan penutup adalah teks yang bisa diklik.
<img> adalah elemen kosong: tidak punya isi dan tidak punya tag penutup. Atribut src berisi alamat gambar, dan alt berisi deskripsi teks. alt itu wajib, bukan hiasan:
- Screen reader membacakan
altuntuk pengguna tunanetra. - Kalau gambar gagal dimuat,
alttampil sebagai gantinya. - Mesin pencari memakainya untuk memahami isi gambar.
Kalau gambarnya murni dekorasi, tulis alt="" (kosong) supaya screen reader melewatinya.
List
<ul> (unordered list) menampilkan butir dengan titik bulat, cocok untuk daftar yang urutannya tidak penting. <ol> (ordered list) memberi nomor 1, 2, 3, cocok untuk langkah-langkah. Setiap butir harus dibungkus <li>.
Atribut
Atribut adalah informasi tambahan yang ditulis di tag pembuka dengan pola nama="nilai". Beberapa yang umum:
| Atribut | Contoh | Fungsi |
|---|---|---|
id | id="profil" | Nama unik, hanya boleh satu per halaman |
class | class="kartu aktif" | Label kelompok, boleh lebih dari satu dipisah spasi |
href | href="/tentang" | Tujuan link |
src, alt | di <img> | Sumber dan deskripsi gambar |
lang | lang="id" | Bahasa konten |
Ada juga atribut boolean yang cukup ditulis namanya saja, misalnya <input required> atau <video controls>. Keberadaannya sudah berarti "aktif".
Nesting yang benar
Nesting artinya meletakkan elemen di dalam elemen lain. Aturannya seperti kotak bekal: kotak yang dibuka terakhir harus ditutup duluan.
Selain urutan tutup, perhatikan juga elemen mana boleh berisi apa. <li> harus berada langsung di dalam <ul> atau <ol>. <p> tidak boleh berisi <div> atau heading. Kalau kamu menaruh <div> di dalam <p>, browser diam-diam menutup <p> lebih awal dan DOM-mu jadi berbeda dari yang kamu tulis.
Indentasi (spasi di awal baris) tidak memengaruhi tampilan, tapi sangat membantu mata melihat siapa anak siapa. Biasakan menjorokkan elemen anak dua spasi.
Kesalahan umum
- Lupa doctype, sehingga halaman masuk quirks mode dan CSS seperti
widthdanbox-sizingberperilaku tidak terduga. - Gambar tanpa
alt, ataualtdiisi "gambar" saja. Tulis apa yang benar-benar terlihat. - Memilih heading karena ukurannya, misalnya langsung lompat dari
<h1>ke<h4>karena "lebih kecil". Ukuran diatur CSS. - Butir list tanpa
<ul>/<ol>, atau teks langsung di dalam<ul>tanpa<li>. - Tag ditutup dengan urutan silang, seperti
<p><em>teks</p></em>. idyang sama dipakai dua kali. Pakaiclasskalau ingin memberi label ke banyak elemen.
Rangkuman
- HTML memberi struktur pada konten. HTML5 menambahkan elemen semantik, multimedia native, dan Web API, dan kini dilanjutkan sebagai HTML Living Standard.
- Browser mem-parse HTML menjadi pohon DOM lalu menggambarnya di layar. Browser memaafkan kesalahan, tapi hasil tebakannya bisa menyesatkan.
- Kerangka wajib:
<!DOCTYPE html>,<html lang>,<head>denganmeta charset,meta viewport, dantitle, lalu<body>. - Elemen dasar:
h1-h6,p,a href,img src alt,ul/oldenganli. - Atribut ditulis di tag pembuka, dan tag harus ditutup dengan urutan terbalik dari pembukaannya.
Slide 1 sampai 5 dari deck HTML5 dan CSS3. Penjelasan lengkapnya ada di mode Baca.

Selesaikan bab ini
- 1. Baca materi
- 2. Latihan kode (1)
- 3. Kuis (4 soal)
Latihan kode: Rapikan halaman profil
Halaman profil ini masih berantakan. Perbaiki HTML-nya:
- Hanya boleh ada satu
<h1>. Ubah judul "Hobi" menjadi<h2>. - Beri gambar atribut
altyang mendeskripsikan foto (minimal 5 karakter). - Tebalkan kata
HTML5di paragraf pembuka dengan<strong>. - Ubah tiga hobi menjadi list
<ul>dengan tiga<li>. - Tambahkan link
<a>kehttps://developer.mozilla.orgdengan teks bebas (tidak boleh kosong).
Cek pemahaman
1Apa yang terjadi kalau baris `<!DOCTYPE html>` tidak ditulis?
2Setelah browser mem-parse kode berikut, ada berapa elemen `<p>` di DOM?
<div> <p>Halo <div>Dunia</div> </p> </div>3Gambar yang murni dekorasi sebaiknya diberi `alt=""` (kosong) supaya dilewati screen reader.
4Apa fungsi utama `<meta name="viewport" content="width=device-width, initial-scale=1.0">`?
