HTML adalah fondasi dari setiap halaman web yang pernah Anda buka. Pada Course ini, kita akan membangun pemahaman dari nol: mulai dari pengenalan dan persiapan alat, struktur dokumen, elemen dan atribut, lalu beranjak ke konten teks, links, media, lists, tables, semantic HTML, forms, dan accessibility. Setelah fondasi tersebut kuat, kita menghubungkan HTML dengan CSS dan JavaScript, membahas metadata, performance, security, dan kualitas markup, kemudian menutup dengan delapan proyek nyata.
Seluruh contoh kode pada Course ini mengikuti HTML Living Standard dan diuji menggunakan Nu Html Checker (validator W3C). Anda cukup memakai browser modern apa pun, seperti Chrome, Edge, Firefox, atau Safari versi terbaru.
Bab 1 Pengenalan HTML
Kenali HTML, bahasa markup yang menyusun struktur setiap halaman web, beserta contoh dokumen pertama Anda.
Buka → # Cara Kerja HTMLIkuti perjalanan dokumen HTML dari server ke browser: request, parsing byte menjadi node, hingga halaman tampil.
Buka → # HTML dalam Web DevelopmentPahami posisi HTML dalam kerja sehari-hari front-end, back-end, dan full-stack beserta contoh alur kerja nyata.
Buka → # HTML Living StandardKenali sejarah versi HTML hingga model Living Standard dari WHATWG dan artinya bagi pembelajar web.
Buka → # HTML dan Teknologi WebPetakan teknologi web di sekitar HTML: CSS, JavaScript, HTTP, browser, engine, server, dan DNS.
Buka →Bab 2 Persiapan Lingkungan
Pilih code editor pertama kita: kriteria untuk pemula, perbandingan VS Code, Sublime Text, dan Notepad++.
Buka → # Memasang BrowserPasang browser untuk menguji halaman web kita dan pahami perannya sebagai runtime halaman HTML.
Buka → # Membuat File HTMLBuat file .html dengan ekstensi, encoding UTF-8, dan penamaan yang benar di dalam folder kerja yang rapi.
Buka → # Membuka Halaman HTMLBuka file HTML lewat double-click, drag, atau Ctrl+O, lalu bangun siklus kerja edit-simpan-refresh.
Buka → # Menggunakan Browser DevToolsKenali browser DevTools: panel Elements, Console, dan Styles untuk menginspeksi halaman web secara langsung.
Buka →Bab 3 Struktur Dokumen
Pahami fungsi deklarasi doctype, perbedaan quirks mode dan standards mode, serta aturan penulisannya di baris pertama.
Buka → # Elemen htmlKenali elemen html sebagai akar dokumen beserta atribut lang untuk bahasa dan dir untuk arah teks.
Buka → # Elemen headPahami elemen head sebagai wadah metadata dokumen, isi yang sah di dalamnya, dan bedanya dengan elemen header.
Buka → # Elemen bodyPahami elemen body sebagai wadah seluruh konten halaman, pemulihan parser, dan atribut lama yang telah usang.
Buka → # Metadata DokumenTerapkan metadata dasar: charset UTF-8, viewport untuk mobile, description, author, dan meta refresh dengan aman.
Buka → # Struktur Dokumen yang ValidRakit anatomi dokumen HTML yang valid, kenali kesalahan struktur umum, dan cara validator mendeteksinya.
Buka →Bab 4 Elemen dan Atribut
Pelajari anatomi elemen HTML: opening tag, konten, closing tag, elemen dengan atribut, dan beda tag dengan elemen.
Buka → # Memahami AtributPelajari anatomi atribut HTML: pasangan nama dan nilai, konvensi tanda kutip, atribut boolean, serta kesalahan umum.
Buka → # Global AttributesKenali global attributes pada semua elemen: id, class, style, title, lang, hidden, data-*, tabindex, contenteditable.
Buka → # Nested ElementsPelajari aturan elemen bersarang: nesting yang benar, bahaya tag menyilang, serta batasan konten model blok dan inline.
Buka → # Void ElementsKenali void elements: elemen tanpa konten dan closing tag, daftar resmi WHATWG, serta kebiasaan self-closing slash.
Buka → # Karakter Khusus HTMLPelajari character reference HTML: entitas bernama dan numerik, simbol copyright, non-breaking space, dan ampersand URL.
Buka →Bab 5 Teks dan Formatting
Susun dokumen dengan heading h1 sampai h6: hierarki yang benar, hubungan dengan outline, SEO, dan contoh artikel.
Buka → # ParagrafKenali elemen p: satu ide per paragraf, whitespace collapsing yang sering disalahpahami, dan isi yang sah di dalamnya.
Buka → # Line Break dan Horizontal RulePakai br untuk pindah baris dalam paragraf dan hr sebagai perubahan tema, lengkap dengan contoh alamat dan puisi.
Buka → # Emphasis dan ImportanceBedakan em, i, strong, b, dan mark: penekanan suara, kepentingan, istilah asing, dan highlight berdasarkan makna.
Buka → # QuotationKutip dengan benar: blockquote untuk kutipan blok, q untuk kutipan inline, dan cite untuk judul karya.
Buka → # Inline Text SemanticsJelajahi elemen teks inline: code, kbd, samp, var, abbr, time, del dan ins, sub serta sup, beserta contohnya.
Buka → # Preformatted TextSimpan format asli teks dengan pre: whitespace dipertahankan, kombinasi pre dan code, serta contoh blok kode.
Buka →Bab 6 Links dan Navigasi
Buat hyperlink dengan elemen a dan atribut href: teks deskriptif, link absolut, hingga link yang membungkus gambar.
Buka → # Absolute dan Relative URLBedah struktur URL lalu bandingkan absolute URL, relative URL, dan penulisan path naik-turun folder beserta kegunaannya.
Buka → # Navigasi InternalLompat ke bagian tertentu dalam satu halaman memakai fragment identifier dan id sebagai target dengan daftar isi.
Buka → # Navigasi AntarhalamanHubungkan beberapa halaman menjadi satu situs kecil dengan menu nav, daftar ul, dan relative path antar folder.
Buka → # Membuka Link di Tab BaruBuka link di tab baru dengan aman: atribut target _blank, risiko tabnabbing, dan pasangan rel noopener noreferrer.
Buka → # Email dan Telepon LinksSediakan link email dan telepon: skema mailto dengan subject dan body, skema tel, serta perilakunya di tiap perangkat.
Buka → # Link yang AksesibelTulis link yang aksesibel: teks bermakna untuk screen reader, atribut hreflang dan type, serta link vs button.
Buka →Bab 7 Images dan Media
Tampilkan gambar dengan elemen img: atribut src dan alt, format umum, ukuran intrinsik, serta atribut width dan height.
Buka → # Atribut altTulis atribut alt yang bermanfaat: teks pengganti gambar, gambar dekoratif dengan alt kosong, dan gambar fungsional.
Buka → # Responsive ImagesSajikan satu gambar untuk semua layar dengan srcset dan sizes: browser memilih file yang paling sesuai kondisinya.
Buka → # Picture dan SourceGunakan elemen picture dan source untuk art direction serta fallback format gambar modern ke format klasik.
Buka → # AudioSematkan audio dengan elemen audio: controls, loop, preload, format MP3 dan OGG, serta beberapa sumber alternatif.
Buka → # VideoSematkan video dengan elemen video: controls, poster, autoplay yang berpasangan dengan muted, dan pemilihan sumber.
Buka → # Captions dan SubtitlesTambahkan teks pita pada media dengan elemen track dan format WebVTT agar video ramah bagi semua pengunjung.
Buka → # Media FallbacksSusun media dengan fallback berlapis: source bertipe, teks cadangan, onerror pada img, dan alt sebagai pengganti.
Buka →Bab 8 Lists
Susun item dengan urutan bebas memakai ul dan li: aturan isi, bullet bawaan browser, dan contoh daftar belanja Siti.
Buka → # Ordered ListsNomori langkah yang urutannya bermakna memakai ol dan li, lengkap dengan atribut start, reversed, type, dan value.
Buka → # Description ListsPasangkan istilah dengan penjelasannya memakai dl, dt, dan dd untuk glosarium, metadata produk, dan FAQ singkat.
Buka → # Nested ListsSusun daftar di dalam daftar dengan menempatkan ul atau ol di dalam li, dari dua hingga tiga tingkat kedalaman.
Buka → # Penggunaan Lists yang TepatPilih ul, ol, atau dl dari semantik konten, bukan tampilan, lengkap matriks keputusan dan studi kasus tiga penyajian.
Buka →Bab 9 Tables
Kenali elemen table, tr, dan td untuk menyajikan data dua dimensi, beserta batasan kapan tabel layak dipakai.
Buka → # Table HeadersGunakan th sebagai sel judul baris dan kolom, pahami perbedaannya dengan td, serta tampilan bawaan browser.
Buka → # Caption dan ScopeBeri judul tabel dengan caption dan pertegas cakupan setiap header melalui atribut scope.
Buka → # thead, tbody, dan tfootKelompokkan baris tabel dengan thead, tbody, dan tfoot agar struktur per grup lebih jelas dan mudah distyling.
Buka → # Menggabungkan SelGabungkan sel dengan colspan dan rowspan, lengkap dengan cara menghitung keseimbangan sel setiap baris.
Buka → # Tabel yang AksesibelRangkum praktik tabel yang aksesibel: caption, scope, headers dan id, hingga pengujian pembaca layar.
Buka →Bab 10 Semantic HTML
Pahami makna semantik dalam HTML, manfaatnya bagi aksesibilitas dan SEO, serta peta elemen struktur HTML5.
Buka → # Header dan FooterGunakan header dan footer sebagai pembuka serta penutup kontainer, baik level halaman maupun level artikel.
Buka → # MainTandai konten inti halaman dengan main: aturan satu elemen, larangan penempatan, dan kaitannya dengan skip link.
Buka → # NavKelola blok navigasi dengan nav: menu situs, breadcrumb, dan pagination, termasuk penamaan bila nav lebih dari satu.
Buka → # Article dan SectionBedakan article sebagai komposisi mandiri dan section sebagai pengelompokan tematik, termasuk kapan div lebih tepat.
Buka → # AsideTempatkan konten tangensial pada aside, dari catatan di dalam artikel sampai sidebar halaman, beserta peran landmarknya.
Buka → # Figure dan FigcaptionBungkus gambar, kode, atau tabel yang dirujuk sebagai satu unit dengan figure dan beri keterangan lewat figcaption.
Buka → # Memilih Elemen SemantikRangkum section Semantic HTML: pohon keputusan elemen, tabel ringkasan, anti-pattern, dan studi kasus halaman berita.
Buka →Bab 11 Forms
Kenali elemen form sebagai wadah kontrol, anatomi form minimal, dan pasangan pertama label dengan input.
Buka → # Label dan InputHubungkan label dengan input lewat for dan id atau pembungkusan, serta pahami kontrak aksesibilitas di baliknya.
Buka → # Text dan Password InputGunakan input text dan password beserta value, autocomplete, serta perbedaan readonly dan disabled.
Buka → # Email, URL, dan Number InputKenali input email, url, dan number beserta min, max, step, dan multiple untuk menerima data berformat.
Buka → # Checkbox dan RadioBuat pilihan mandiri dengan checkbox dan kelompok pilih satu dengan radio, lengkap dengan checked dan value.
Buka → # Select dan OptionSusun dropdown pilihan dengan select, option, optgroup, serta opsi multi-select dan placeholder.
Buka → # TextareaTerima teks panjang dengan textarea: nilai awal antar-tag, rows dan cols, maxlength, wrap, serta resize.
Buka → # ButtonKenali elemen button beserta tipe submit, reset, dan button, serta cara tombol terasosiasi dengan form.
Buka → # Fieldset dan LegendKelompokkan kontrol form yang berkaitan dengan fieldset dan beri judul grup menggunakan elemen legend.
Buka → # File InputKenali input type=file untuk mengunggah berkas beserta accept, multiple, capture, dan enctype multipart.
Buka → # Date dan Time InputKenali lima tipe input tanggal dan waktu, format nilainya, atribut min, max, step, dan fallback browser.
Buka → # Form Action dan MethodAtur tujuan dan cara pengiriman data form: atribut action, method GET versus POST, enctype, dan target.
Buka → # Name, Value, dan Form DataPahami pasangan name=value yang dikirim browser, termasuk jebakan kontrol tanpa atribut name.
Buka →Bab 12 Form Validation
Tandai kolom wajib dengan required dan gunakan placeholder sebagai petunjuk format tanpa menggantikan label.
Buka → # Minlength dan MaxlengthBatasi panjang isian dengan minlength dan maxlength, dari pemotongan karakter hingga penolakan saat submit.
Buka → # Min, Max, dan StepTetapkan rentang nilai sah pada input number, date, dan range dengan atribut min, max, dan step.
Buka → # Pola ValidasiPeriksa bentuk teks dengan atribut pattern, sintaks regex dasar, dan title sebagai penjelas pola.
Buka → # Validasi BrowserPahami cara browser menjalankan constraint validation, memakai novalidate, formnovalidate, dan pseudo-class.
Buka → # Pesan KesalahanKenali pesan kesalahan bawaan browser, keterbatasannya, dan cara menyusun markup yang ramah pesan.
Buka → # Batasan Validasi HTMLPahami batas validasi HTML di sisi klien, alasan validasi server wajib ada, dan ringkasan atributnya.
Buka →Bab 13 Metadata dan SEO
Tulis title dan meta description yang tepat panjang, menarik tanpa clickbait, dan unik untuk setiap halaman.
Buka → # Charset dan ViewportPahami aturan 1024 byte untuk charset, arti width=device-width dan initial-scale, serta urutan aman di head.
Buka → # Canonical URLTunjuk versi utama halaman dengan rel canonical agar variasi URL tidak dihitung sebagai konten duplikat.
Buka → # Robots MetadataAtur pengindeksan halaman dengan meta robots: noindex, nofollow, noarchive, nosnippet, dan bedanya dengan robots.txt.
Buka → # FaviconPasang favicon dengan link rel icon, format SVG dan ICO, apple-touch-icon untuk iOS, dan konvensi favicon.ico.
Buka → # Open Graph MetadataSusun kartu pratinjau berbagi di media sosial dengan meta property Open Graph dan pelengkap twitter:card.
Buka → # Structured Data OverviewKenali structured data JSON-LD dengan kosakata schema.org yang membuka akses rich results di mesin pencari.
Buka → # Metadata yang BermanfaatRangkum metadata head yang berdampak nyata, buang yang tidak berguna, dan rakit checklist head final yang rapi.
Buka →Bab 14 Accessibility
Definisi accessibility, tiga kategori penerima manfaat, empat prinsip WCAG POUR, dan HTML semantik sebagai fondasinya.
Buka → # Heading HierarchySusun heading h1 sampai h6 sebagai peta navigasi screen reader: satu h1, tanpa lompatan, dan teks yang deskriptif.
Buka → # Keyboard NavigationPelajari tombol keyboard bawaan, urutan focus yang mengikuti DOM, penggunaan tabindex, dan focus yang terlihat.
Buka → # Accessible NamesPahami accessible name yang dibacakan screen reader beserta urutan prioritas sumbernya, dari aria-label hingga label.
Buka → # Alt TextTulis alt text yang tepat per kategori gambar WAI: informasional, dekoratif, fungsional, dan kompleks.
Buka → # Accessible FormsRakit form aksesibel: label eksplisit, fieldset, petunjuk aria-describedby, penanda wajib, dan token autocomplete.
Buka → # Accessible TablesBedah tabel dari sisi screen reader: caption, th scope, serta headers dan id untuk tabel kompleks dua tingkat.
Buka → # Penggunaan ARIAKenali ARIA sebagai lapisan semantik tambahan: aturan pertamanya, atribut utama, dan contoh disclosure.
Buka → # Menguji AccessibilityUji accessibility berlapis: alat otomatis, walkthrough keyboard, screen reader, pengguna nyata, dan checklist evaluasi.
Buka →Bab 15 HTML dan CSS
Pahami pembagian tugas HTML dan CSS, alasan keduanya dipisah, dan konsep cascade dalam bekal CSS minimum.
Buka → # Menghubungkan File CSSHubungkan file CSS dengan elemen link rel stylesheet, atur path relatif, dan manfaatkan caching.
Buka → # Internal dan Inline CSSKenali tiga cara menyisipkan CSS: file eksternal, internal style, dan inline style beserta waktu tepatnya.
Buka → # Selector DasarGunakan selector element, class, ID, descendant, dan pseudo-class untuk menyasar elemen secara presisi.
Buka → # Warna dan BackgroundAtur warna teks dan latar dengan hex, rgb(), hsl(), background-image, serta jaga kontras teks WCAG.
Buka → # Font dan TextAtur jenis huruf dengan font-family, ukuran px dan rem, font-weight, line-height, hingga perataan teks.
Buka → # Margin dan PaddingPahami box model: margin mengatur jarak luar elemen dan padding mengatur jarak dalam, lengkap dengan shorthand.
Buka → # Border dan Border RadiusBerikan garis tepi dan sudut membulat pada elemen dengan border dan border-radius, dari kartu hingga avatar bulat.
Buka → # Width dan HeightAtur lebar dan tinggi elemen dengan width, height, max-width, dan box-sizing agar tata letak tetap terkendali.
Buka → # Display DasarKenali perilaku block, inline, inline-block, dan none, lalu ubah tata letak elemen HTML menggunakan properti display.
Buka → # Class dan ID untuk StylingGunakan class dan id dengan tepat: pola berulang, variasi class, konvensi penamaan, dan target unik dalam dokumen.
Buka → # Kapan Belajar CSS Lebih DalamKenali tanda siap memperdalam CSS, peta topik lanjutan, rute belajar yang dianjurkan, dan jembatan menuju JavaScript.
Buka →Bab 16 HTML dan JavaScript
Kenali JavaScript sebagai lapisan perilaku halaman web dan buat interaksi pertama pada halaman HTML.
Buka → # Menghubungkan File JavaScriptHubungkan file JavaScript lewat elemen script src, bandingkan inline dan eksternal, serta kenali type module.
Buka → # Script dan DeferPelajari urutan eksekusi script classic, defer, dan async, lalu pilih mode yang tepat untuk setiap kebutuhan.
Buka → # Memilih Elemen DOMPilih elemen HTML dari JavaScript dengan getElementById, querySelector, dan querySelectorAll beserta jebakan null.
Buka → # Mengubah Teks ElemenUbah teks elemen dengan textContent, kenali risiko innerHTML, atur value input, dan susun teks dengan template literal.
Buka → # Mengubah Class ElemenKelola tampilan lewat classList: add, remove, toggle, dan contains, dengan pola tema gelap terang sederhana.
Buka → # Event ClickPasang pendengar klik dengan addEventListener, bandingkan dengan atribut onclick, dan bangun penghitung klik.
Buka → # Event InputBedah event input dan change pada elemen form, baca nilai lewat e.target.value, dan buat penghitung karakter.
Buka → # Menampilkan dan Menyembunyikan KontenBandingkan atribut hidden, class display none, dan style.display, lengkap dengan aria-expanded dan contoh FAQ.
Buka → # Validasi Form SederhanaLengkapi validasi native dengan JavaScript: event submit, preventDefault, checkValidity, dan ValidityState.
Buka → # Kapan Belajar JavaScript Lebih DalamKenali tanda siap memperdalam JavaScript, peta topik lanjutan, rute belajar resmi, dan peta jalan satu file.
Buka →Bab 17 Interactive Elements
Bentuk disclosure tanpa JavaScript dengan pasangan details dan summary, atribut open, hingga contoh FAQ ringkas.
Buka → # DialogTampilkan jendela modal dan non-modal dengan elemen dialog, method showModal, styling ::backdrop, serta returnValue.
Buka → # Button dan InteraksiPakai button sebagai pemicu interaksi di luar form: type button, pola dialog dan popover, serta aria-pressed.
Buka → # Disclosure PatternPelajari pola disclosure WAI-ARIA APG dan bandingkan versi native details dengan versi custom tombol dan aria-expanded.
Buka → # Progress dan MeterBedakan progress sebagai indikator tugas berjalan dan meter sebagai pengukuran skalar, plus pembaruan via JavaScript.
Buka → # Elemen Interaktif dan AccessibilityRangkum aksesibilitas komponen interaktif: native dulu, fokus pada dialog, ARIA untuk pola custom, dan checklist audit.
Buka →Bab 18 Embedded Content
Sematkan dokumen HTML lain ke dalam halaman dengan elemen iframe, dari atribut dasar hingga lazy loading.
Buka → # Title pada IframeBeri nama iframe melalui atribut title agar screen reader mengumumkan frame dengan konteks yang jelas.
Buka → # Sandbox IframeBatasi kemampuan iframe pihak ketiga dengan atribut sandbox dan pahami makna tiap token allowlist-nya.
Buka → # Embed dan ObjectKenali elemen embed dan object, warisan era plugin yang kini lazim untuk pratinjau PDF dengan fallback.
Buka → # Batasan Embedded ContentPahami same-origin policy, penolakan embed, dan biaya kinerja yang menyertai konten sematan.
Buka →Bab 19 SVG dan Graphics
Kenali SVG, format gambar vektor berbasis XML yang tetap tajam di segala ukuran, beserta struktur file dan contohnya.
Buka → # Inline SVGTuliskan svg langsung di dalam dokumen HTML untuk ikon yang dapat di-style CSS, diakses DOM, dan hemat permintaan.
Buka → # SVG sebagai GambarSajikan file svg lewat img dan picture: caching, isolasi keamanan, fallback, beserta batasan styling dari halaman.
Buka → # Canvas OverviewPelajari elemen canvas: kanvas piksel yang digambar JavaScript, mode immediate, use case, dan strategi aksesibilitasnya.
Buka → # Memilih SVG atau CanvasPanduan memilih SVG atau canvas: matriks keputusan, tabel perbandingan, keputusan inline versus img, dan studi kasus.
Buka →Bab 20 Browser dan Web Platform
Ikuti perjalanan dokumen HTML di dalam browser: dari byte, karakter, token, hingga DOM yang siap dirender.
Buka → # DOM OverviewKenali DOM sebagai pohon objek hasil parsing, sifatnya yang live, dan kondisi ketika DOM berbeda dari markup.
Buka → # View Source dan InspectorBedakan view-source yang menampilkan file sumber mentah dengan inspector yang menampilkan DOM live halaman.
Buka → # Native Browser ValidationTelusuri constraint validation dari sudut pandang engine: waktu berjalan, urutan cek, novalidate, dan ValidityState.
Buka → # Form Submission OverviewIkuti alur data form dari validasi, form data set, encoding, hingga request GET dan POST yang teramati di DevTools.
Buka → # Progressive EnhancementPahami progressive enhancement: fondasi HTML untuk semua, lapisan CSS dan JavaScript sebagai penambah pengalaman.
Buka →Bab 21 Performance dan Optimasi
Perkecil payload halaman lewat gambar seukuran tampil, kompresi ringkas, dan atribut pencegah layout shift.
Buka → # Format Gambar ModernPilih webp, avif, atau svg untuk memangkas byte gambar, lalu susun fallback picture agar browser lama tetap terlayani.
Buka → # Lazy LoadingTunda unduhan gambar dan iframe di bawah layar dengan loading=lazy, dan ketahui kapan eager lebih tepat untuk LCP.
Buka → # Loading ScriptsSusun head yang ramah performa: strategi defer, async, dan module, serta preconnect untuk script pihak ketiga.
Buka → # Mengurangi Markup yang Tidak PerluPangkas div-soup, nesting berlebih, komentar, dan inline style agar dokumen kecil, cepat diurai, dan ringan diunduh.
Buka → # Dasar Performa HalamanKenali metrik LCP, CLS, dan INP, petakan teknik HTML yang menggerakkannya, lalu audit halaman dengan Lighthouse.
Buka →Bab 22 Security
Rangkum sisi keamanan link eksternal: reverse tabnabbing, rel noopener noreferrer, dan pemilihan skema https.
Buka → # Keamanan IframeRangkum lapisan perlindungan iframe: sandbox least privilege, referrerpolicy, sumber terpercaya, dan X-Frame-Options.
Buka → # Risiko HTML dari Input PenggunaPahami risiko input pengguna yang dirender sebagai HTML, contoh payload onerror, dan prinsip escape saat render.
Buka → # Pengenalan XSSDefinisi XSS, tiga jenisnya, dampak bagi pengunjung, serta mitigasi escape karakter dan Content-Security-Policy.
Buka → # Batas Keamanan HTMLPahami batas keamanan HTML murni: tanpa autentikasi, tanpa enkripsi, sumber terbuka, dan posisi lapisan lain.
Buka →Bab 23 Validation dan Code Quality
Kenali HTML validator W3C, tiga cara memeriksa dokumen, dan batasan pemeriksaannya dalam menjaga kualitas markup.
Buka → # Memahami Validation ErrorsBaca laporan validator dengan lancar: format pesan, arti error dan warning, pesan umum, serta urutan memperbaikinya.
Buka → # Indentasi dan FormattingRapikan markup dengan indentasi dua spasi, pemenggalan baris, dan kebiasaan format yang nyaman dibaca seluruh tim.
Buka → # Konsistensi MarkupBangun kebiasaan penamaan class, tanda kutip, urutan atribut, dan pola penulisan yang seragam agar markup mudah dirawat.
Buka → # Debugging HTMLTelusuri markup bermasalah secara teratur: dari gejala di layar, DOM di panel Elements, hingga laporan validator.
Buka → # Checklist Kualitas HTMLRangkum seluruh standar course HTML dalam satu checklist praktis yang dilalui sebelum halaman dinyatakan siap terbit.
Buka →Bab 24 Arsitektur Halaman Web
Ubah daftar konten menjadi struktur semantik: inventaris, pengelompokan, wireframe level HTML, dan urutan heading.
Buka → # Pola Layout HalamanKenali pola layout umum — satu kolom, header-konten-sidebar, header-nav-footer — dan petakan ke elemen semantik.
Buka → # Reusable Page StructureBangun kerangka halaman yang dapat dipakai ulang: konsep template dan partial, penamaan file, komentar penanda.
Buka → # Multi Page WebsiteRakit situs multi halaman: pohon folder, navigasi global, path relatif antar folder, title unik per halaman.
Buka → # Struktur Konten yang KonsistenTerapkan pola konten yang konsisten: content model, manfaat bagi pembaca dan screen reader, plus checklist.
Buka →Bab 25 Proyek
Bangun halaman profil pribadi lengkap dengan struktur dokumen yang benar, konten, styling dasar, dan interaksi sederhana.
Lihat proyek → # Proyek: Website PortofolioBangun website portofolio satu halaman dengan navigasi antar-section, styling dasar, dan interaksi navigasi yang halus.
Lihat proyek → # Proyek: Website ArtikelBangun halaman artikel yang nyaman dibaca: struktur artikel semantik, navigasi dan metadata, styling dasar, serta interaksi tambahan.
Lihat proyek → # Proyek: Formulir PendaftaranBangun formulir pendaftaran yang aksesibel dengan validasi HTML, styling form, dan umpan balik menggunakan JavaScript.
Lihat proyek → # Proyek: Katalog ProdukBangun katalog produk dengan struktur yang rapi, gambar dan deskripsi, styling dasar, serta filter sederhana berbasis JavaScript.
Lihat proyek → # Proyek: Website RestoranBangun website restoran dengan struktur halaman yang menggugah, menu dan kontak, styling dasar, serta interaksi pemesanan sederhana.
Lihat proyek → # Proyek: Halaman DokumentasiBangun halaman dokumentasi yang mudah dinavigasi: struktur dokumentasi, navigasi sidebar, styling dasar, dan pencarian sederhana.
Lihat proyek → # Proyek: Landing PageBangun landing page yang fokus pada konversi: struktur konten, call-to-action, styling dasar, dan interaksi sederhana.
Lihat proyek →Bab 26 Sumber Belajar
Jadikan MDN Web Docs sebagai rujukan utama HTML: struktur situs, alur mencari halaman elemen, dan cara membaca tabelnya.
Buka → # HTML Living StandardMengenal HTML Living Standard dari WHATWG: struktur multipage, cara membaca definisi spec, dan kapan merujuknya.
Buka → # Referensi Elemen HTMLMenelusuri indeks elemen HTML di MDN per kategori dan memahami isi tiap halaman elemen: content model, atribut, contoh.
Buka → # Referensi Atribut HTMLMemetakan referensi atribut MDN: indeks atribut, global attributes, dan cara menelusuri atribut asing.
Buka → # Web AccessibilityMenjelajah hub resmi aksesibilitas web: tutorial WAI, kriteria WCAG 2.2, dan pola komponen ARIA dari APG.
Buka → # Validator HTMLMenutup course dengan Nu Html Checker: cara memvalidasi, membaca laporan error dan warning, opsi CLI, dan batasannya.
Buka →