1576 kata
8 menit

Mengenal Tag, Elemen, dan Atribut HTML

Di artikel sebelumnya, kita sudah berhasil membuat halaman web pertama menggunakan HTML.

Kita sudah menulis kode seperti ini:

<h1>Halo, Dunia!</h1>
<p>Ini halaman web pertama saya.</p>

Kita simpan filenya, buka di browser, dan… tadaa 🎉

Tulisan kita muncul.

Waktu itu kita memang sengaja tidak terlalu banyak bertanya. Yang penting jadi dulu.

Kalau Gabuters belum mengikuti praktik sebelumnya, bisa mampir dulu ke artikel HTML Itu Apa? Yuk Bikin Halaman Web Pertama.

Tapi sekarang mungkin mulai muncul beberapa pertanyaan.

Sebenarnya <h1> itu apa?

Kenapa ada <h1> dan </h1>?

Apakah semuanya disebut tag?

Lalu kalau nanti kita menemukan kode seperti ini:

<a href="https://www.bapakgabut.com">BapakGabut</a>

Apa pula href itu?

Nah, sebelum HTML kita mulai semakin panjang dan ramai, sekarang waktunya berkenalan dengan tiga istilah yang bakal sangat sering kita temui:

tag, elemen, dan atribut.

Tenang, namanya memang terdengar teknis. Tapi sebenarnya konsepnya cukup sederhana.

Tag: Penanda yang Memberi Tahu Browser#

Coba kita lihat lagi kode yang sudah pernah kita buat:

<h1>Halo, Gabuters!</h1>

Di situ kita punya dua buah tag:

<h1> </h1>
↑ ↑
tag pembuka tag penutup

<h1> disebut opening tag atau tag pembuka.

Sedangkan:

</h1>

disebut closing tag atau tag penutup.

Perbedaannya cuma satu karakter kecil:

/

Tapi karakter kecil itu penting karena memberi tahu browser bahwa bagian tersebut sudah selesai.

Kurang lebih kita sedang mengatakan:

<h1>
Mulai judul utama.
Halo, Gabuters!
</h1>
Oke, judulnya selesai.

Hal yang sama berlaku untuk paragraf:

<p>Ini sebuah paragraf.</p>

Atau teks yang ingin kita tandai sebagai penting:

<strong>Ini penting!</strong>

Jadi tag membantu browser memahami struktur dan peran sebuah konten.

<h1> mengatakan bahwa isinya adalah heading utama.

<p> mengatakan bahwa isinya adalah paragraf.

<strong> mengatakan bahwa bagian tersebut memiliki penekanan atau kepentingan yang kuat.

Browser kemudian tahu bagaimana konten itu harus diperlakukan.

Apakah semua tag punya pasangan?#

Tidak.

Ada beberapa elemen HTML yang tidak membutuhkan closing tag.

Salah satu contohnya adalah gambar:

<img src="kucing.jpg" alt="Kucing sedang tidur">

Kita tidak menulis:

<img>...</img>

Kenapa ada src dan alt di dalamnya?

Sabar. 😄

Kita akan sampai ke sana ketika membahas atribut.

Tag dan Elemen Ternyata Beda#

Nah, ini salah satu istilah yang sering tercampur ketika baru belajar HTML.

Perhatikan:

<p>Gabuters sedang belajar HTML.</p>

Kita bisa membedahnya seperti ini:

<p> Gabuters sedang belajar HTML. </p>
↑ ↑ ↑
tag konten tag
pembuka penutup
└──────────────────┬────────────────────┘
elemen

Jadi:

<p>

adalah tag pembuka.

Kemudian:

</p>

adalah tag penutup.

Sedangkan keseluruhan:

<p>Gabuters sedang belajar HTML.</p>

merupakan sebuah elemen HTML.

Jadi kalau nanti kita mengatakan:

“Tambahkan elemen <p>.”

Maksudnya bukan hanya mengetik:

<p>

tetapi membuat elemen paragraf secara utuh, misalnya:

<p>Saya sedang belajar HTML.</p>

Dalam percakapan sehari-hari programmer memang kadang menggunakan istilah tag dan elemen secara agak longgar.

Tidak masalah.

Yang penting sekarang Gabuters sudah tahu bahwa secara konsep keduanya tidak persis sama.

Elemen Bisa Berada di Dalam Elemen Lain#

Sekarang coba kita buat paragraf seperti ini:

<p>
Saya sedang belajar <strong>HTML</strong>.
</p>

Di sini kita punya elemen <strong>:

<strong>HTML</strong>

yang berada di dalam elemen <p>.

Struktur seperti ini disebut nesting.

Kalau diterjemahkan secara bebas, ya… elemen yang bersarang di dalam elemen lain.

Kurang lebih strukturnya seperti ini:

<p>
│
├── Saya sedang belajar
│
└── <strong>
└── HTML

Dan sebenarnya kita sudah melakukan nesting sejak artikel sebelumnya.

Ingat struktur ini?

<body>
<h1>Halo, Dunia!</h1>
<p>Ini halaman web pertama saya.</p>
</body>

Elemen <h1> dan <p> berada di dalam <body>.

Dalam hubungan seperti ini kita juga bisa mendengar istilah parent dan child.

Pada contoh tadi:

<body>
│
├── <h1>
└── <p>

<body> adalah parent.

Sedangkan <h1> dan <p> merupakan child dari <body>.

Untuk sekarang tidak perlu terlalu memikirkan istilah tersebut.

Cukup pahami bahwa HTML bisa memiliki struktur bertingkat: elemen bisa berada di dalam elemen lain.

Nanti konsep ini akan semakin terasa penting ketika HTML kita mulai kompleks.

Kalau Dibuka, Tutup dengan Urutan yang Benar#

Karena elemen bisa bersarang, ada satu kebiasaan yang sebaiknya kita bangun dari sekarang.

Misalnya kita menulis:

<p>
Saya sedang belajar <strong>HTML</strong>.
</p>

Perhatikan urutannya:

buka <p>
buka <strong>
tutup </strong>
tutup </p>

Elemen yang dibuka terakhir ditutup lebih dulu.

Jangan seperti ini:

<p>
Saya sedang belajar <strong>HTML.
</p>
</strong>

Kalau kita gambarkan:

buka <p>
buka <strong>
tutup </p> ← eh?
tutup </strong>

Strukturnya jadi saling silang.

Bayangkan kita punya kotak besar, kemudian memasukkan kotak kecil ke dalamnya.

┌─────────────────────┐
│ Kotak A │
│ │
│ ┌─────────────┐ │
│ │ Kotak B │ │
│ └─────────────┘ │
│ │
└─────────────────────┘

Kita harus menutup kotak B dahulu sebelum menutup kotak A.

Konsepnya kurang lebih seperti itu.

Browser memang cukup pintar dan dalam beberapa kondisi bisa mencoba memperbaiki HTML yang kurang rapi.

Tapi jangan mengandalkan browser untuk membereskan kekacauan kita. 😄

Biasakan membuat struktur yang benar sejak awal.

Kalau Tag Menjelaskan “Apa”, Atribut Memberi Informasi Tambahan#

Sekarang kita sudah tahu tag dan elemen.

Saatnya kembali ke kode misterius yang tadi sempat muncul:

<a href="https://www.bapakgabut.com">BapakGabut</a>

Tag <a> digunakan untuk membuat link.

Misalnya kita menulis:

<a>BapakGabut</a>

Browser tahu:

Oke, ini sebuah link.

Masalahnya…

Link ke mana?

Browser bukan cenayang. 😄

Kita harus memberitahunya.

Di sinilah kita membutuhkan atribut.

<a href="https://www.bapakgabut.com">BapakGabut</a>

Perhatikan bagian ini:

href="https://www.bapakgabut.com"
↑ ↑
nama atribut nilai

href adalah nama atribut.

Sedangkan:

https://www.bapakgabut.com

adalah nilainya.

Secara umum bentuk atribut akan sering terlihat seperti ini:

nama-atribut="nilai"

Atribut ditulis pada tag pembuka dan digunakan untuk memberikan informasi tambahan tentang sebuah elemen.

Jadi pada contoh:

<a href="https://www.bapakgabut.com">BapakGabut</a>

kita bisa membacanya seperti ini:

Buat sebuah link dengan tulisan BapakGabut, lalu ketika link tersebut diklik, arahkan pengunjung ke https://www.bapakgabut.com.

Nah, sekarang kodenya mulai terasa lebih masuk akal, kan?

Beberapa Atribut yang Akan Sering Kita Temui#

HTML punya banyak sekali atribut.

Tapi kita tidak perlu menghafalkan semuanya.

Serius.

Programmer juga tidak duduk malam-malam sambil menghafal daftar atribut HTML. 😄

Untuk sekarang, kenalan saja dengan beberapa yang bakal sering kita temui.

href#

Kita baru saja menggunakannya:

<a href="https://www.bapakgabut.com">
BapakGabut
</a>

href memberi tahu browser tujuan sebuah link.

Kalau alamatnya berubah:

<a href="https://www.google.com">
Buka Google
</a>

maka tujuan link juga berubah.

src#

Sekarang kita coba gambar:

<img src="kucing.jpg" alt="Kucing sedang tidur">

src berasal dari kata source.

Atribut ini memberi tahu browser sumber file yang ingin digunakan.

Pada contoh tadi:

src="kucing.jpg"

berarti browser akan mencoba mencari gambar bernama kucing.jpg.

Nanti kita akan belajar lebih jauh tentang lokasi file dan path. Untuk sekarang cukup pahami fungsi src terlebih dahulu.

alt#

Masih dari gambar yang sama:

<img src="kucing.jpg" alt="Kucing sedang tidur">

Kita punya:

alt="Kucing sedang tidur"

alt menyediakan teks alternatif yang menjelaskan gambar.

Ini bukan sekadar atribut tambahan yang boleh kita abaikan begitu saja.

Teks alternatif berguna ketika gambar tidak dapat ditampilkan dan juga penting untuk aksesibilitas, misalnya bagi pengguna yang menggunakan screen reader.

Jadi dibanding menulis:

<img src="kucing.jpg">

biasakan mulai memikirkan apakah gambar tersebut membutuhkan deskripsi alternatif yang sesuai.

Soal gambar dan alt masih bisa kita bahas lebih dalam nanti. Untuk sekarang kita kenalan dulu.

class dan id#

Ada dua atribut lain yang bakal sangat sering Gabuters temui:

class
id

Contohnya:

<p class="perkenalan">
Halo, Gabuters!
</p>

atau:

<h2 id="tentang-saya">
Tentang Saya
</h2>

Kalau sekarang muncul pertanyaan:

Buat apa?

Jawaban singkatnya:

belum terlalu terasa.

😄

Nanti ketika kita mulai bermain dengan CSS dan JavaScript, class dan id akan jauh lebih berguna.

Untuk sekarang cukup kenali bentuknya.

Jadi ketika nanti menemukan:

class="perkenalan"

Gabuters sudah tidak melihatnya sebagai mantra misterius yang entah datang dari mana.

Itu hanya sebuah atribut.

Satu Elemen Bisa Punya Banyak Atribut#

Sebuah elemen tidak terbatas hanya boleh memiliki satu atribut.

Misalnya:

<a
href="https://www.bapakgabut.com"
class="link-utama"
id="link-bapakgabut"
>
Buka BapakGabut
</a>

Elemen <a> tersebut memiliki tiga atribut:

href
class
id

Kita juga sengaja menuliskannya dalam beberapa baris.

Apakah harus seperti itu?

Tidak.

Kita bisa saja menulis:

<a href="https://www.bapakgabut.com" class="link-utama" id="link-bapakgabut">Buka BapakGabut</a>

Hasilnya sama.

Ketika kode mulai panjang, memecahnya menjadi beberapa baris kadang membuat kode lebih nyaman dibaca.

Browser tidak keberatan.

Mata kita yang biasanya lebih cepat menyerah. 😄

Sekarang Coba Kita Baca HTML Ini#

Kita sudah mengenal tag.

Kita sudah tahu apa itu elemen.

Kita juga sudah bertemu atribut.

Sekarang coba lihat kode berikut:

<body>
<h1>Profil Saya</h1>
<p>
Halo! Saya sedang belajar <strong>HTML</strong>.
</p>
<p>
Kunjungi
<a href="https://www.bapakgabut.com">BapakGabut</a>
untuk belajar bareng.
</p>
</body>

Kalau di artikel sebelumnya kode seperti ini masih terlihat seperti sekumpulan simbol, sekarang kita sudah bisa membacanya.

Kurang lebih strukturnya seperti:

<body>
│
├── <h1>
│ └── Profil Saya
│
├── <p>
│ ├── Halo! Saya sedang belajar
│ └── <strong>
│ └── HTML
│
└── <p>
├── Kunjungi
├── <a href="...">
│ └── BapakGabut
└── untuk belajar bareng.

Kita bisa melihat bahwa <body> berisi beberapa elemen.

Kita bisa melihat <strong> berada di dalam sebuah paragraf.

Kita juga bisa melihat elemen <a> memiliki atribut href.

Kalau kode HTML mulai terlihat seperti sebuah struktur, bukan sekadar kumpulan <, >, dan /, berarti kita sudah membuat kemajuan.

Yuk, Upgrade Halaman Pertama Kita#

Sekarang buka kembali file HTML yang kita buat pada artikel sebelumnya.

Kalau sebelumnya bagian <body> kita masih sederhana seperti ini:

<body>
<h1>Halo, Dunia!</h1>
<p>Ini halaman web pertama saya.</p>
</body>

Mari kita ubah menjadi sedikit lebih menarik:

<body>
<h1>Profil Saya</h1>
<p>
Halo! Saya sedang belajar <strong>HTML</strong>.
</p>
<h2>Yang Sedang Saya Pelajari</h2>
<p>
Sekarang saya sedang memahami tag, elemen, dan atribut HTML.
</p>
<a href="https://www.bapakgabut.com">
Belajar bareng di BapakGabut
</a>
</body>

Simpan file.

Kemudian refresh browser.

Sekarang halaman kita sudah punya beberapa jenis elemen dan sebuah link yang bisa diklik.

Tapi jangan berhenti dengan menyalin kode saya.

Coba ubah sendiri.

Misalnya ganti:

<h1>Profil Saya</h1>

dengan nama atau judul yang Gabuters inginkan.

Ubah isi paragrafnya.

Kemudian coba ganti alamat dan tulisan link.

Tujuannya bukan menghasilkan halaman yang cantik.

Untuk urusan cantik-mempercantik, nanti CSS yang kebagian kerja. 😄

Tujuan kita sekarang adalah mulai merasa nyaman membaca dan menulis struktur HTML.

Beberapa Kesalahan yang Perlu Dihindari#

Sebelum selesai, ada beberapa kesalahan kecil yang sering terjadi ketika baru belajar HTML.

Tag pembuka dan penutup berbeda#

Misalnya:

<h1>Judul halaman</h2>

Kita membuka dengan <h1>, tetapi menutup dengan </h2>.

Seharusnya:

<h1>Judul halaman</h1>

Urutan nesting berantakan#

Misalnya:

<p>
Belajar <strong>HTML
</p>
</strong>

Seharusnya:

<p>
Belajar <strong>HTML</strong>
</p>

Ingat prinsip kotak tadi:

buka A
buka B
tutup B
tutup A

Tidak menggunakan tanda kutip pada atribut#

Gabuters mungkin suatu saat menemukan kode seperti:

<a href=https://www.bapakgabut.com>

Dalam kondisi tertentu HTML memang mengizinkan nilai atribut ditulis tanpa tanda kutip.

Tapi untuk sekarang, biasakan menggunakan tanda kutip:

<a href="https://www.bapakgabut.com">

Selain lebih konsisten dan mudah dibaca, kita juga tidak perlu memikirkan kapan sebuah nilai atribut boleh atau tidak boleh ditulis tanpa tanda kutip.

Kita punya cukup banyak hal lain untuk dipikirkan. 😄

Tag, Elemen, dan Atribut#

Mari kita ringkas apa yang sudah kita pelajari.

TAG
↓
Penanda seperti:
<p>
</p>
ELEMENT
↓
Keseluruhan struktur:
<p>Hello!</p>
ATTRIBUTE
↓
Informasi tambahan pada elemen:
<a href="https://www.bapakgabut.com">
BapakGabut
</a>

Kita juga belajar bahwa elemen HTML bisa berada di dalam elemen lain.

<p>
Saya sedang belajar <strong>HTML</strong>.
</p>

Dan struktur tersebut harus disusun dengan rapi.

Kalau sekarang Gabuters melihat:

<a href="https://www.bapakgabut.com">
BapakGabut
</a>

dan bisa mengatakan:

“Oh, ini elemen link. <a> adalah tag-nya dan href adalah atribut yang menentukan tujuannya.”

berarti misi artikel ini selesai. 🎉

Kita sudah mulai membaca HTML, bukan sekadar menyalinnya.

Selanjutnya: Kita Bikin Form#

Sampai sekarang halaman kita masih punya satu kebiasaan:

kita yang berbicara, pengunjung yang membaca.

Bagaimana kalau kita ingin pengunjung ikut memberikan sesuatu?

Misalnya:

  • memasukkan nama,
  • menulis email,
  • memilih sebuah pilihan,
  • atau menekan tombol kirim.

Untuk itu kita membutuhkan form HTML.

Di artikel berikutnya kita akan mulai membuatnya.

Dan tenang…

Kita tidak akan langsung membuat form pendaftaran sepanjang formulir administrasi pemerintahan. 😄

Kita mulai dari yang sederhana dulu.

HTML

Selesai

Bagian 2 dari 5Tulisan ini bagian dari seri

Bagikan Artikel

Buat poster berbagi atau salin tautan artikel ini.

Lanjut membaca

Bacaan terkait

Berdasarkan tag dan kategori yang sama

Coba jalur lain

Pilihan konsisten dari artikel lain