edubun
Bahasa Indonesia

Tabel

Jadwal bus adalah tabel: setiap sel baru bermakna jika dibaca bersama judul baris dan judul kolomnya.

Tabel untuk data

Pakai tabel saat informasinya punya baris dan kolom: jadwal, daftar harga, hasil survei. Pada akhir 1990-an banyak situs memakai tabel untuk membangun tata letak seluruh halaman, dengan menu di satu sel dan konten di sel lain. Itu menimbulkan masalah nyata. Pembaca layar mengumumkan setiap sel beserta baris dan kolomnya, sehingga tabel tata letak terdengar seperti spreadsheet yang membingungkan, dan tata letak tabel tidak menyesuaikan diri dengan baik di layar kecil. Kini tata letak dibuat dengan CSS, dan tabel dipakai untuk data.

Baris, sel, dan judul

Tabel dibangun baris demi baris. <table> membungkus semuanya, setiap <tr> (table row) adalah satu baris, dan di dalam baris setiap <td> (table data) adalah satu sel. Sel yang memberi label pada baris atau kolom memakai <th> (table header), yang secara bawaan ditampilkan browser tebal dan di tengah. Jumlah sel di setiap baris sebaiknya sama, agar kolom-kolomnya sejajar.

<table>
  <caption>Bread prices, October 2026</caption>
  <thead>
    <tr><th scope="col">Loaf</th><th scope="col">Weight</th><th scope="col">Price</th></tr>
  </thead>
  <tbody>
    <tr><th scope="row">Sourdough</th><td>800 g</td><td>6.50</td></tr>
    <tr><th scope="row">Rye</th><td>600 g</td><td>5.00</td></tr>
  </tbody>
</table>
Keterangan tabel, baris judul di thead, dan judul baris di kolom pertama.

Buat tabel menjelaskan dirinya sendiri

Tiga tambahan mengubah kisi sel menjadi tabel yang bisa dibaca semua orang. Pertama, <caption>, ditaruh tepat setelah tag pembuka <table>, memberi tabel judul; pembaca layar mengumumkannya sebelum isinya, sehingga pendengar tahu tabel itu tentang apa. Kedua, atribut scope pada setiap <th> menyatakan apakah judul itu memberi label pada kolom (scope="col") atau baris (scope="row"). Dengan atribut ini, pembaca layar bisa membaca Rye, Price, 5.00, bukan 5.00 saja. Ketiga, <thead>, <tbody>, dan <tfoot> mengelompokkan baris judul, baris isi, dan baris total. Ketiganya memperjelas struktur, membantu CSS memberi gaya pada setiap bagian, dan memungkinkan browser mengulang judul di setiap halaman cetak tabel yang panjang.

Sel yang membentang

Sebuah sel bisa membentang melintasi beberapa kolom dengan colspan atau beberapa baris dengan rowspan. Pada jadwal mingguan, istirahat makan siang yang mencakup kelima hari kerja bisa menjadi satu sel dengan colspan="5". Saat sel membentang, baris tempatnya memerlukan lebih sedikit sel: kalau sebuah baris biasanya punya 6 sel dan salah satunya ber-colspan="5", baris itu hanya berisi 2 sel di HTML. Pakai bentangan bila memang mencerminkan datanya; tabel yang sangat rumit sulit dibaca siapa pun, jadi memecah satu tabel besar menjadi dua tabel yang lebih sederhana sering lebih baik.

Tabel yang lebar bisa menjadi masalah di ponsel. Tabel tidak bisa melipat seperti teks, jadi tabel dengan banyak kolom mungkin lebih lebar daripada layar. Perbaikan yang umum adalah membungkus tabel dengan elemen yang bisa digulir ke samping sendiri, memakai CSS, agar bagian lain halaman tidak ikut melebar.

Buat data di setiap sel sesederhana mungkin: satu nilai per sel, satuan di judul (Harga dalam euro) alih-alih diulang di setiap sel, dan tanpa sel kosong sebagai pengisi jarak. Tabel yang dibangun seperti ini lebih mudah dibacakan, lebih mudah diurutkan, dan rapi saat ditempel ke spreadsheet.

tableMembungkus tabel data
trBaris tabel
tdSel data
thSel judul yang memberi label pada baris atau kolom
captionJudul tabel, yang pertama di dalam table
scopeMenyatakan apakah th memberi label pada col atau row
colspan / rowspanSel yang mencakup beberapa kolom atau baris
  1. Kapan sebaiknya kamu memakai tabel?
    • Untuk data dalam baris dan kolom
    • Untuk tata letak seluruh halaman
    • Untuk daftar apa pun
  2. Elemen mana yang merupakan satu baris?
  3. Elemen mana yang memberi label pada kolom?
    • th
    • td
    • caption
  4. Di mana caption ditaruh?
    • Tepat setelah tag pembuka table
    • Di akhir tabel
    • Sebelum tabel
  5. Apa arti scope="row" pada th?
    • Judul itu memberi label pada sel-sel di barisnya
    • Judul itu memberi label pada kolomnya
    • Judul itu membentang sepanjang baris
  6. Sebuah baris biasanya punya 6 sel. Satu sel ber-colspan="4". Berapa sel yang ditulis di baris itu?
  7. Elemen mana yang mengelompokkan baris judul?
    • thead
    • tbody
    • tfoot
  8. Mengapa tabel tata letak bermasalah?
    • Pembaca layar membacanya sebagai data, dan tabel itu tidak menyesuaikan diri dengan layar kecil
    • Tabel itu bukan HTML yang valid
    • Tabel itu tidak bisa memuat gambar
  9. Atribut mana yang membuat sel mencakup dua baris?
    • rowspan="2"
    • colspan="2"
    • scope="2"
  10. Apa yang pertama kali diumumkan pembaca layar untuk tabel yang punya caption?
    • Caption-nya
    • Baris terakhir
    • Kosong
Poin penting
  • Tabel untuk data: table, tr, th, td.
  • caption menamai tabel; scope mengaitkan judul dengan sel; thead, tbody, tfoot mengelompokkan baris.
  • colspan dan rowspan menggabungkan sel; buat tabel tetap sederhana.
Sumber kursus ini (10)
  • WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
  • MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
  • MDN, HTML images (alt text guidance, checked 2026-10-17)
  • W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
  • CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
  • W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
  • W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
  • W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
  • MDN, Viewport meta element (checked 2026-10-17)
  • Every code exercise was checked with a Playwright probe against a reference solution.

Diperiksa: 2026-10-17