PWD 8 - DOM (Document Object Model) dan Event pada JavaScript
Capaian Pembelajaran Pertemuan (Sub-CPMK)
Setelah mengikuti perkuliahan ini, mahasiswa mampu:
- Menjelaskan konsep Document Object Model (DOM).
- Memahami hubungan antara HTML dan DOM.
- Mengakses elemen HTML menggunakan JavaScript.
- Memanipulasi isi dan atribut elemen HTML.
- Menggunakan event JavaScript untuk membuat interaksi dinamis.
- Membuat validasi sederhana menggunakan DOM dan event.
1. Pendahuluan
Pada pertemuan sebelumnya, mahasiswa telah mempelajari dasar JavaScript seperti:
- Variabel
- Fungsi
- Percabangan
- Event sederhana (
onclick)
Namun, JavaScript akan menjadi lebih powerful ketika dapat:
- Mengubah isi halaman secara langsung
- Mengubah style elemen
- Membaca input pengguna
- Merespons berbagai aktivitas pengguna
Untuk melakukan hal tersebut digunakan Document Object Model (DOM).
DOM memungkinkan JavaScript berinteraksi langsung dengan elemen HTML.
2. Pengertian DOM
DOM (Document Object Model) adalah representasi struktur halaman HTML dalam bentuk objek yang dapat diakses dan dimanipulasi menggunakan JavaScript.
Setiap elemen HTML dianggap sebagai objek.
Contoh:
1
<h1>Halo</h1>
Dianggap sebagai objek:
- tag
- atribut
- isi teks
3. Struktur DOM
Browser membaca HTML dan membentuk struktur pohon (DOM Tree).
Contoh:
1
2
3
4
5
6
<html>
<body>
<h1>Judul</h1>
<p>Paragraf</p>
</body>
</html>
Struktur:
1
2
3
4
5
html
│
└── body
├── h1
└── p
4. Mengakses Elemen HTML
JavaScript dapat mengambil elemen HTML dengan berbagai cara.
4.1 getElementById()
Mengambil elemen berdasarkan id.
HTML:
1
<p id="teks">Halo Dunia</p>
JavaScript:
1
document.getElementById("teks");
4.2 getElementsByClassName()
Mengambil elemen berdasarkan class.
1
document.getElementsByClassName("menu");
4.3 getElementsByTagName()
Mengambil berdasarkan tag HTML.
1
document.getElementsByTagName("p");
4.4 querySelector()
Mengambil elemen pertama yang cocok.
1
document.querySelector(".menu");
4.5 querySelectorAll()
Mengambil semua elemen yang cocok.
1
document.querySelectorAll("p");
5. Mengubah Isi Elemen
5.1 innerHTML
Digunakan untuk mengubah isi HTML.
HTML:
1
<p id="demo"></p>
JavaScript:
1
2
document.getElementById("demo").innerHTML =
"Selamat belajar JavaScript";
5.2 textContent
Digunakan untuk mengubah teks tanpa HTML.
1
2
document.getElementById("demo").textContent =
"Halo";
6. Mengubah Style dengan JavaScript
Contoh:
1
2
document.getElementById("demo").style.color =
"blue";
Contoh lain:
1
2
document.getElementById("demo").style.fontSize =
"24px";
7. Mengubah Atribut HTML
Contoh pada gambar:
HTML:
1
<img id="gambar" src="lama.jpg">
JavaScript:
1
2
document.getElementById("gambar").src =
"baru.jpg";
8. Event pada JavaScript
Event adalah aksi yang dilakukan pengguna atau browser.
Contoh:
- Klik mouse
- Mengetik keyboard
- Menggerakkan mouse
- Submit form
9. Jenis-Jenis Event Dasar
| Event | Fungsi |
|---|---|
| onclick | Saat elemen diklik |
| onchange | Saat nilai berubah |
| onmouseover | Saat mouse diarahkan |
| onmouseout | Saat mouse keluar |
| onkeyup | Saat tombol keyboard dilepas |
| onsubmit | Saat form dikirim |
10. Contoh Event onclick
HTML:
1
2
3
<button onclick="ubahTeks()">Klik</button>
<p id="hasil"></p>
JavaScript:
1
2
3
4
function ubahTeks() {
document.getElementById("hasil").innerHTML =
"Tombol berhasil diklik";
}
11. Event addEventListener()
Cara modern menangani event.
HTML:
1
<button id="btn">Klik</button>
JavaScript:
1
2
3
4
document.getElementById("btn")
.addEventListener("click", function() {
alert("Tombol ditekan");
});
Kelebihan:
- Lebih fleksibel
- Bisa banyak event
- Praktik modern JavaScript
12. Validasi Form Sederhana
Validasi memastikan data diisi dengan benar.
Contoh Validasi Nama
HTML:
1
2
<input type="text" id="nama">
<button onclick="cekNama()">Kirim</button>
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function cekNama() {
let nama =
document.getElementById("nama").value;
if(nama == "") {
alert("Nama wajib diisi");
} else {
alert("Data berhasil dikirim");
}
}
13. Best Practice DOM dan Event
- Gunakan
addEventListener() - Pisahkan HTML dan JavaScript
- Gunakan nama ID yang jelas
- Hindari manipulasi berlebihan
- Gunakan validasi input
14. Kesalahan Umum
- Salah penulisan ID
- Elemen belum dimuat saat script dijalankan
- Salah penempatan script
- Tidak menutup kurung
- Salah penggunaan
innerHTML
Rangkuman
Pada pertemuan ini telah dipelajari:
- Konsep DOM
- Struktur DOM Tree
- Cara mengakses elemen HTML
- Manipulasi isi, style, dan atribut
- Event JavaScript
- Validasi form sederhana
DOM merupakan fondasi penting untuk membuat website interaktif dan dinamis.
Referensi
- Duckett, J. (2011). JavaScript and jQuery: Interactive Front-End Web Development.
- Mozilla Developer Network (MDN) Web Docs. JavaScript Guide.
- W3Schools. JavaScript Tutorial.