Mata Kuliah: Pemrograman Berbasis Web
π§ 1. Pengertian DOM
7
π Deskripsi
DOM (Document Object Model) adalah representasi dokumen HTML dalam bentuk struktur objek (tree) yang dapat dimanipulasi menggunakan JavaScript.
π§ Narasi
Ketika browser membaca HTML, ia tidak langsung menampilkan teks mentah, tetapi mengubahnya menjadi struktur pohon (tree). Setiap tag menjadi node yang bisa diakses dan dimodifikasi. Inilah yang memungkinkan halaman web berubah tanpa reload.
π³ 2. Struktur DOM (DOM Tree)
7
π Deskripsi
DOM disusun seperti pohon dengan hubungan:
π§± Jenis Node
| Jenis | Penjelasan |
|---|---|
| Root | <html> |
| Parent | Elemen induk |
| Child | Elemen turunan |
| Sibling | Elemen sejajar |
π§ Narasi
Struktur ini penting karena JavaScript bekerja dengan menavigasi node untuk menemukan dan mengubah elemen tertentu.
π 3. Mengakses Elemen DOM
7
π Deskripsi
JavaScript menyediakan metode untuk memilih elemen.
π§± Metode Utama
| Metode | Fungsi |
|---|---|
getElementById() | Berdasarkan ID |
getElementsByClassName() | Berdasarkan class |
querySelector() | Selector CSS |
querySelectorAll() | Semua elemen |
π» Contoh
let judul = document.getElementById("judul");
π§ Narasi
Pemilihan elemen adalah langkah pertama sebelum manipulasi DOM.
βοΈ 4. Manipulasi Konten
7
π Deskripsi
Mengubah isi elemen HTML.
π» Contoh
document.getElementById("judul").innerHTML = "Belajar DOM";
π§ Narasi
Manipulasi ini memungkinkan perubahan konten secara real-time tanpa reload halaman.
π¨ 5. Manipulasi Atribut & Style
7
π Deskripsi
Mengubah atribut dan tampilan elemen.
π» Contoh
document.getElementById("box").style.backgroundColor = "red";
π§ Narasi
JavaScript dapat menggantikan CSS secara dinamis berdasarkan interaksi pengguna.
β 6. Menambah dan Menghapus Elemen
8
π Deskripsi
DOM memungkinkan penambahan dan penghapusan elemen.
π» Contoh
let p = document.createElement("p");
p.innerHTML = "Paragraf baru";
document.body.appendChild(p);
π§ Narasi
Fitur ini penting untuk membuat aplikasi web dinamis seperti todo list.
π 7. Navigasi DOM
8
π Deskripsi
Mengakses hubungan antar node.
π§± Properti
| Properti | Fungsi |
|---|---|
| parentNode | Induk |
| childNodes | Anak |
| nextSibling | Node berikutnya |
π§ Narasi
Navigasi membantu berpindah antar elemen tanpa harus mencari ulang.
π±οΈ 8. Event Handling dalam DOM
9
π Deskripsi
Event memungkinkan interaksi pengguna.
π» Contoh
document.getElementById("btn").addEventListener("click", function() {
alert("Diklik!");
});
π§ Narasi
Event membuat halaman web menjadi hidup dan responsif terhadap tindakan pengguna.
π 9. Event Bubbling & Capturing
6
π Deskripsi
Event dapat menyebar dalam DOM.
π§ Narasi
- Bubbling: dari child ke parent
- Capturing: dari parent ke child
Memahami ini penting untuk kontrol event kompleks.
π§ͺ 10. Validasi Form dengan DOM
8
π Deskripsi
Validasi memastikan input benar.
π» Contoh
if (document.getElementById("nama").value == "") {
alert("Nama wajib diisi");
}
π§ Narasi
Validasi penting untuk menjaga kualitas data.
β οΈ 11. Kesalahan Umum DOM
6
π Deskripsi
Kesalahan yang sering terjadi:
- Elemen tidak ditemukan
- Script dijalankan sebelum DOM siap
- Salah selector
π§ Narasi
Gunakan:
console.log()- Developer tools
π§ͺ 12. Studi Kasus Mini Project
π― Tugas
Buat aplikasi:
- Input teks
- Tombol tambah
- Tampilkan ke list
- Bisa hapus item
Gunakan:
- DOM manipulation
- Event handling
π― 13. Kesimpulan
- DOM adalah jembatan HTML dan JavaScript
- Manipulasi DOM membuat web dinamis
- Event adalah inti interaksi
- Navigasi DOM penting untuk efisiensi
π Penutup
Materi ini menjadi dasar untuk:
β‘οΈ AJAX & Fetch API
β‘οΈ Single Page Application (SPA)
β‘οΈ Framework seperti Vue.js