Singkatan dari Browser Object Model. Objek JavaScript yang tersedia di browser yang
dapat digunakan untuk mengontrol browser.
Browser
Aplikasi yang digunakan untuk mengakses sebuah website.
CSS
Style sheet language yang digunakan untuk mendeskripsikan visual yang harus
diterapkan pada markup language, salah satunya HTML.
DOM
Singkatan dari Document Object Model, Objek JavaScript yang tersedia di browser
yang dapat digunakan untuk mengontrol dan memanipulasi konten yang ditampilkan pada
website.
HTML
Markup language yang digunakan untuk menyusun struktur website.
JavaScript
Bahasa pemrograman yang dapat digunakan oleh browser untuk membuat website tampak
interaktif.
Local Storage
Salah satu Browser API yang digunakan untuk menyimpan data tanpa ada batasan waktu.
Data yang disimpan tidak akan hilang bila browser atau tabs browser ditutup kecuali
jika kita menghapusnya.
Server
Komputer yang dapat melayani permintaan dari komputer lainnya.
Session Storage
Salah satu Browser API yang digunakan untuk menyimpan data sementara pada browser.
Data akan hilang ketika browser atau tab browser ditutup.
Setiap browser menyediakan apa yang disebut Browser Object Model atau BOM yang bisa
kita gunakan dalam kode JavaScript kita. Dalam browser, BOM ini diwakilkan oleh
sebuah objek bernama window.
Pada sub-modul ini, kita akan membahas lebih dalam mengenai tiga method dari BOM.
Ketiganya adalah alert(), prompt(), dan diakhiri dengan objek console.
method alert()
Method alert() merupakan salah satu method BOM yang menerima satu parameter
opsional berupa data string yang akan ditampilkan melalui sebuah pop-up browser.
Sama seperti memanggil method pada umumnya pada JavaScript, bukan? Kita juga bisa
memasukkan variabel sebagai parameternya seperit berikut.
Sebelumnya kita telah mempelajari penggunaan method alert() untuk menampilkan pesan
dalam dialog browser. Nah, selain menampilkan pesan, kita juga akan belajar cara
mengambil data input dari user melalui dialog browser, yaitu prompt(). Method ini
akan menampilkan sebuah dialog browser yang meminta user untuk mengisi kolom
inputnya. Karena bisa menangkap input dari user, method ini memiliki lebih banyak
fungsionalitas ketimbang alert().
Nilai Return dari prompt()
Jika kita lihat, sebenarnya method alert() mengembalikan sebuah value berupa
undefined. Namun, prompt() akan mengembalikan sebuah nilai sesuai dengan inputkan
oleh user.
let pesanInput = prompt('Masukkan pesan sesukamu...');
Kita bisa melihat bahwa nilai yang tersimpan di variabel pesanInput sesuai dengan
input yang diberikan user, yakni "Aku suka belajar koding!". Jika user tidak
mengisi apa pun dan tetap menekan tombol "OK", maka nilai yang diberikan hanya
string kosong.
ada satu hal yang perlu kita ingat selama menggunakan prompt(), yakni nilai apa pun
yang dimasukkan oleh user akan diproses dan dikembalikan menjadi data string.
Ketika kita menampilkan tipe data dari variabel pesanInput, maka sudah pasti tipe
datanya adalah string, walau yang kita masukkan berupa angka.
Event onInput
Event onInput akan dijalankan setiap kali kita menulis atau menghapus apa pun pada
sebuah field input yang memiliki event listener tersebut. Berkas HTML yang telah
ditunjukkan di materi sebelumnya, field untuk mengisi nama panggilan (tag input
dengan id inputNama) memiliki batas 15 karakter. Kita ingin membuat sebuah event
handler, yang mana ketika menulis nama, akan ditampilkan sisa karakter yang dapat
dituliskan oleh user.
Event onFocus
Event onFocus akan dijalankan ketika melakukan klik di sebuah elemen input. Kita
akan mencoba untuk menampilkan tulisan berupa notifikasi jumlah karakter yang masih
diperbolehkan. Untuk dapat melakukan hal tersebut, kita harus menambahkan sebuah
event handler pada elemen input yang menerima penulisan nama panggilan untuk event
onFocus.
Event onBlur
Event onBlur akan dijalankan ketika pada kondisi yang terbalik dengan event
onFocus, yakni jika kita “pergi” dari elemen yang memiliki event handler untuk
event onFocus. Apa maksud dari “pergi”? Maksudnya adalah kita tidak lagi
berinteraksi secara langsung dengan elemen tersebut, seperti kita telah melakukan
klik pada elemen lain.
Event onChange
Event onChange memiliki perilaku yang mirip dengan onInput, yaitu event yang
terjadi jika terdapat perubahan nilai. Namun, terdapat perbedaan yang dimiliki oleh
onChange.
Event onInput akan terjadi jika elemen input mengalami perubahan nilai secara
langsung, sedangkan event onChange akan terjadi jika elemen input mengalami
perubahan nilai dan menjadi blur (user tidak focus pada elemen tersebut).
Sederhananya, event onChange seakan-akan merupakan gabungan dari event onInput dan
onBlur.
Event onCopy
Event onCopy tergolong dalam kelompok clipboard events. Event ini terjadi jika kita
melakukan operasi pada clipboard seperti copy, cut, dan paste. Kita hanya akan
membahas dua saja, yaitu event onCopy sebagai operasi copy dan event onPaste
sebagai operasi paste.
Event onPaste
Event onPaste tergolong dalam kelompok clipboard events seperti yang kita bahas
sebelumnya. Event ini akan terjadi ketika melakukan operasi paste pada elemen yang
sudah kita beri event listener untuk event onPaste.