WEB-APIS DOCS
DOM-CORE
Name
Description
Example
Output
document.querySelector()Description: Mengembalikan elemen pertama yang cocok dengan selector CSS.
Example:
const el = document.querySelector('.my-class')Output: Element | null
document.querySelector()Mengembalikan elemen pertama yang cocok dengan selector CSS.
const el = document.querySelector('.my-class')Element | null
document.querySelectorAll()Description: Mengembalikan NodeList statis dari semua elemen yang cocok dengan selector CSS.
Example:
const els = document.querySelectorAll('div.item')Output: NodeList
document.querySelectorAll()Mengembalikan NodeList statis dari semua elemen yang cocok dengan selector CSS.
const els = document.querySelectorAll('div.item')NodeList
document.getElementById()Description: Mengembalikan elemen berdasarkan atribut id.
Example:
const el = document.getElementById('header')Output: Element | null
document.getElementById()Mengembalikan elemen berdasarkan atribut id.
const el = document.getElementById('header')Element | null
document.createElement()Description: Membuat elemen HTML baru.
Example:
const div = document.createElement('div')Output: HTMLDivElement
document.createElement()Membuat elemen HTML baru.
const div = document.createElement('div')HTMLDivElement
element.innerHTMLDescription: Mendapatkan atau mengatur konten HTML dalam elemen.
Example:
div.innerHTML = '<p>Hello</p>'
Output: Konten HTML
element.innerHTMLMendapatkan atau mengatur konten HTML dalam elemen.
div.innerHTML = '<p>Hello</p>'
Konten HTML
element.textContentDescription: Mendapatkan atau mengatur teks dalam elemen (tanpa HTML).
Example:
div.textContent = 'Hello'
Output: Teks murni
element.textContentMendapatkan atau mengatur teks dalam elemen (tanpa HTML).
div.textContent = 'Hello'
Teks murni
element.addEventListener()Description: Menambahkan event listener ke elemen.
Example:
button.addEventListener('click', () => { console.log('Klik') })Output: Handler terdaftar
element.addEventListener()Menambahkan event listener ke elemen.
button.addEventListener('click', () => { console.log('Klik') })Handler terdaftar
element.removeEventListener()Description: Menghapus event listener.
Example:
button.removeEventListener('click', handler)Output: Handler dihapus
element.removeEventListener()Menghapus event listener.
button.removeEventListener('click', handler)Handler dihapus
element.classListDescription: Objek DOMTokenList untuk memanipulasi class (add, remove, toggle, contains).
Example:
el.classList.add('active')Output: Class ditambahkan
element.classListObjek DOMTokenList untuk memanipulasi class (add, remove, toggle, contains).
el.classList.add('active')Class ditambahkan
element.datasetDescription: Membaca/menulis atribut data-*.
Example:
const id = el.dataset.userId
Output: Nilai dari data-user-id
element.datasetMembaca/menulis atribut data-*.
const id = el.dataset.userId
Nilai dari data-user-id
element.getBoundingClientRect()Description: Mengembalikan ukuran dan posisi elemen relatif terhadap viewport.
Example:
const rect = el.getBoundingClientRect()
Output: { x: 100, y: 200, width: 300, height: 150, ... }
element.getBoundingClientRect()Mengembalikan ukuran dan posisi elemen relatif terhadap viewport.
const rect = el.getBoundingClientRect()
{ x: 100, y: 200, width: 300, height: 150, ... }
element.scrollIntoView()Description: Menggulir halaman hingga elemen terlihat.
Example:
el.scrollIntoView({ behavior: 'smooth', block: 'center' })Output: Tergulir ke elemen
element.scrollIntoView()Menggulir halaman hingga elemen terlihat.
el.scrollIntoView({ behavior: 'smooth', block: 'center' })Tergulir ke elemen
FETCH-API
Name
Description
Example
Output
fetch()Description: Melakukan permintaan jaringan dan mengembalikan Promise yang resolve ke Response.
Example:
const res = await fetch('/api/data')Output: Response object
fetch()Melakukan permintaan jaringan dan mengembalikan Promise yang resolve ke Response.
const res = await fetch('/api/data')Response object
Response.json()Description: Mengurai body respons sebagai JSON.
Example:
const data = await res.json()
Output: Objek JavaScript
Response.json()Mengurai body respons sebagai JSON.
const data = await res.json()
Objek JavaScript
Response.text()Description: Mengurai body respons sebagai teks.
Example:
const text = await res.text()
Output: String
Response.text()Mengurai body respons sebagai teks.
const text = await res.text()
String
Response.blob()Description: Mengurai body respons sebagai Blob (gambar, file).
Example:
const blob = await res.blob()
Output: Blob
Response.blob()Mengurai body respons sebagai Blob (gambar, file).
const blob = await res.blob()
Blob
Response.statusDescription: Kode status HTTP respons (200, 404, dll).
Example:
res.status
Output: 200
Response.statusKode status HTTP respons (200, 404, dll).
res.status
200
Response.okDescription: Boolean, true jika status antara 200-299.
Example:
if (res.ok) { ... }Output: true
Response.okBoolean, true jika status antara 200-299.
if (res.ok) { ... }true
Request options (method, headers, body)Description: Objek opsi untuk fetch: method, headers, body, mode, credentials.
Example:
fetch('/api', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) })Output: POST request
Request options (method, headers, body)Objek opsi untuk fetch: method, headers, body, mode, credentials.
fetch('/api', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) })POST request
AbortControllerDescription: Membatalkan permintaan fetch yang sedang berjalan.
Example:
const controller = new AbortController()
fetch(url, { signal: controller.signal })
controller.abort()Output: Permintaan dibatalkan
AbortControllerMembatalkan permintaan fetch yang sedang berjalan.
const controller = new AbortController()
fetch(url, { signal: controller.signal })
controller.abort()Permintaan dibatalkan
STORAGE
Name
Description
Example
Output
localStorageDescription: Penyimpanan persisten per origin, tidak kadaluarsa.
Example:
localStorage.setItem('key', 'value')
const val = localStorage.getItem('key')Output: Data tersimpan
localStoragePenyimpanan persisten per origin, tidak kadaluarsa.
localStorage.setItem('key', 'value')
const val = localStorage.getItem('key')Data tersimpan
sessionStorageDescription: Penyimpanan per sesi tab, hilang saat tab ditutup.
Example:
sessionStorage.setItem('temp', 'data')Output: Data sesi
sessionStoragePenyimpanan per sesi tab, hilang saat tab ditutup.
sessionStorage.setItem('temp', 'data')Data sesi
IndexedDB (basic)Description: Database NoSQL yang kuat di browser untuk data terstruktur.
Example:
const request = indexedDB.open('myDB', 1)
request.onsuccess = () => { const db = request.result }Output: Database terbuka
IndexedDB (basic)Database NoSQL yang kuat di browser untuk data terstruktur.
const request = indexedDB.open('myDB', 1)
request.onsuccess = () => { const db = request.result }Database terbuka
Cache APIDescription: Penyimpanan untuk pasangan Request/Response, biasanya digunakan di Service Worker.
Example:
const cache = await caches.open('v1')
await cache.put(request, response)
const res = await cache.match(request)Output: Data di-cache
Cache APIPenyimpanan untuk pasangan Request/Response, biasanya digunakan di Service Worker.
const cache = await caches.open('v1')
await cache.put(request, response)
const res = await cache.match(request)Data di-cache
Cookies (document.cookie)Description: String yang berisi semua cookie untuk halaman (baca/tulis). Gunakan HttpOnly untuk keamanan.
Example:
document.cookie = 'theme=dark; max-age=86400; path=/'
Output: Cookie diatur
Cookies (document.cookie)String yang berisi semua cookie untuk halaman (baca/tulis). Gunakan HttpOnly untuk keamanan.
document.cookie = 'theme=dark; max-age=86400; path=/'
Cookie diatur
GEOLOCATION
Name
Description
Example
Output
navigator.geolocation.getCurrentPosition()Description: Mendapatkan posisi geografis pengguna sekali.
Example:
navigator.geolocation.getCurrentPosition( (pos) => console.log(pos.coords.latitude, pos.coords.longitude), (err) => console.error(err) )
Output: Koordinat
navigator.geolocation.getCurrentPosition()Mendapatkan posisi geografis pengguna sekali.
navigator.geolocation.getCurrentPosition( (pos) => console.log(pos.coords.latitude, pos.coords.longitude), (err) => console.error(err) )
Koordinat
navigator.geolocation.watchPosition()Description: Memantau perubahan posisi secara terus menerus.
Example:
const watchId = navigator.geolocation.watchPosition(success, error)
Output: ID pemantau
navigator.geolocation.watchPosition()Memantau perubahan posisi secara terus menerus.
const watchId = navigator.geolocation.watchPosition(success, error)
ID pemantau
Position.coords.latitude / longitudeDescription: Nilai latitude dan longitude dalam derajat desimal.
Example:
position.coords.latitude
Output: -6.2088
Position.coords.latitude / longitudeNilai latitude dan longitude dalam derajat desimal.
position.coords.latitude
-6.2088
CANVAS
Name
Description
Example
Output
HTMLCanvasElement.getContext()Description: Mendapatkan konteks rendering (2d, webgl, webgpu).
Example:
const ctx = canvas.getContext('2d')Output: CanvasRenderingContext2D
HTMLCanvasElement.getContext()Mendapatkan konteks rendering (2d, webgl, webgpu).
const ctx = canvas.getContext('2d')CanvasRenderingContext2D
ctx.fillRect()Description: Menggambar persegi panjang terisi.
Example:
ctx.fillRect(10, 10, 100, 50)
Output: Kotak hitam
ctx.fillRect()Menggambar persegi panjang terisi.
ctx.fillRect(10, 10, 100, 50)
Kotak hitam
ctx.fillStyleDescription: Warna atau gaya isian.
Example:
ctx.fillStyle = 'red'
Output: Warna merah
ctx.fillStyleWarna atau gaya isian.
ctx.fillStyle = 'red'
Warna merah
ctx.strokeRect()Description: Menggambar kerangka persegi panjang.
Example:
ctx.strokeRect(10, 70, 100, 50)
Output: Kotak tanpa isi
ctx.strokeRect()Menggambar kerangka persegi panjang.
ctx.strokeRect(10, 70, 100, 50)
Kotak tanpa isi
ctx.beginPath() / moveTo / lineTo / strokeDescription: Menggambar jalur kustom.
Example:
ctx.beginPath() ctx.moveTo(10, 10) ctx.lineTo(100, 100) ctx.stroke()
Output: Garis diagonal
ctx.beginPath() / moveTo / lineTo / strokeMenggambar jalur kustom.
ctx.beginPath() ctx.moveTo(10, 10) ctx.lineTo(100, 100) ctx.stroke()
Garis diagonal
ctx.drawImage()Description: Menggambar gambar ke canvas.
Example:
ctx.drawImage(image, 0, 0)
Output: Gambar ditampilkan
ctx.drawImage()Menggambar gambar ke canvas.
ctx.drawImage(image, 0, 0)
Gambar ditampilkan
WEB-ANIMATION
Name
Description
Example
Output
element.animate()Description: Membuat animasi langsung menggunakan JavaScript.
Example:
el.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 1000, easing: 'ease-in-out' })Output: Animasi berjalan
element.animate()Membuat animasi langsung menggunakan JavaScript.
el.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 1000, easing: 'ease-in-out' })Animasi berjalan
Animation.finishedDescription: Promise yang resolve saat animasi selesai.
Example:
await animation.finished
Output: Animasi selesai
Animation.finishedPromise yang resolve saat animasi selesai.
await animation.finished
Animasi selesai
requestAnimationFrame()Description: Menjadwalkan fungsi sebelum repaint berikutnya (untuk animasi halus).
Example:
function animate() { /* update */ requestAnimationFrame(animate) }Output: Loop animasi
requestAnimationFrame()Menjadwalkan fungsi sebelum repaint berikutnya (untuk animasi halus).
function animate() { /* update */ requestAnimationFrame(animate) }Loop animasi
WEB-AUDIO
Name
Description
Example
Output
AudioContextDescription: Antarmuka utama untuk pemrosesan audio.
Example:
const audioCtx = new AudioContext()
Output: AudioContext
AudioContextAntarmuka utama untuk pemrosesan audio.
const audioCtx = new AudioContext()
AudioContext
OscillatorNodeDescription: Menghasilkan gelombang suara periodik.
Example:
const osc = audioCtx.createOscillator() osc.type = 'sine' osc.frequency.value = 440 osc.connect(audioCtx.destination) osc.start()
Output: Nada 440Hz
OscillatorNodeMenghasilkan gelombang suara periodik.
const osc = audioCtx.createOscillator() osc.type = 'sine' osc.frequency.value = 440 osc.connect(audioCtx.destination) osc.start()
Nada 440Hz
GainNodeDescription: Mengontrol volume.
Example:
const gain = audioCtx.createGain() gain.gain.value = 0.5
Output: Volume setengah
GainNodeMengontrol volume.
const gain = audioCtx.createGain() gain.gain.value = 0.5
Volume setengah
decodeAudioData()Description: Mendekode file audio (MP3, WAV) menjadi AudioBuffer.
Example:
const buffer = await audioCtx.decodeAudioData(arrayBuffer)
Output: AudioBuffer
decodeAudioData()Mendekode file audio (MP3, WAV) menjadi AudioBuffer.
const buffer = await audioCtx.decodeAudioData(arrayBuffer)
AudioBuffer
WEB-RTC
Name
Description
Example
Output
RTCPeerConnectionDescription: Membuat koneksi peer-to-peer untuk audio/video/data.
Example:
const pc = new RTCPeerConnection(configuration)
Output: PeerConnection
RTCPeerConnectionMembuat koneksi peer-to-peer untuk audio/video/data.
const pc = new RTCPeerConnection(configuration)
PeerConnection
getUserMedia()Description: Meminta akses kamera dan mikrofon.
Example:
const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true })Output: MediaStream
getUserMedia()Meminta akses kamera dan mikrofon.
const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true })MediaStream
addTrack() / addStream()Description: Menambahkan track media ke koneksi.
Example:
stream.getTracks().forEach(track => pc.addTrack(track, stream))
Output: Track ditambahkan
addTrack() / addStream()Menambahkan track media ke koneksi.
stream.getTracks().forEach(track => pc.addTrack(track, stream))
Track ditambahkan
createOffer() / createAnswer()Description: Membuat SDP offer/answer.
Example:
const offer = await pc.createOffer() await pc.setLocalDescription(offer)
Output: SDP dihasilkan
createOffer() / createAnswer()Membuat SDP offer/answer.
const offer = await pc.createOffer() await pc.setLocalDescription(offer)
SDP dihasilkan
RTCDataChannelDescription: Mengirim data arbitrer melalui koneksi peer.
Example:
const channel = pc.createDataChannel('chat')
channel.send('Hello')Output: Data terkirim
RTCDataChannelMengirim data arbitrer melalui koneksi peer.
const channel = pc.createDataChannel('chat')
channel.send('Hello')Data terkirim
OBSERVERS
Name
Description
Example
Output
IntersectionObserverDescription: Mengamati visibilitas elemen relatif terhadap viewport/ancestor (lazy loading, infinite scroll).
Example:
const observer = new IntersectionObserver(cb, { threshold: 0.5 })
observer.observe(el)Output: Callback dipanggil saat visibilitas berubah
IntersectionObserverMengamati visibilitas elemen relatif terhadap viewport/ancestor (lazy loading, infinite scroll).
const observer = new IntersectionObserver(cb, { threshold: 0.5 })
observer.observe(el)Callback dipanggil saat visibilitas berubah
MutationObserverDescription: Mengamati perubahan pada DOM (childList, attributes, characterData).
Example:
const observer = new MutationObserver(mutations => { ... })
observer.observe(el, { childList: true, attributes: true })Output: Callback dipanggil saat DOM berubah
MutationObserverMengamati perubahan pada DOM (childList, attributes, characterData).
const observer = new MutationObserver(mutations => { ... })
observer.observe(el, { childList: true, attributes: true })Callback dipanggil saat DOM berubah
ResizeObserverDescription: Mengamati perubahan ukuran elemen.
Example:
const observer = new ResizeObserver(entries => { ... })
observer.observe(el)Output: Callback dipanggil saat elemen di-resize
ResizeObserverMengamati perubahan ukuran elemen.
const observer = new ResizeObserver(entries => { ... })
observer.observe(el)Callback dipanggil saat elemen di-resize
CLIPBOARD
Name
Description
Example
Output
navigator.clipboard.writeText()Description: Menulis teks ke clipboard (perlu izin pengguna).
Example:
await navigator.clipboard.writeText('Hello')Output: Teks disalin
navigator.clipboard.writeText()Menulis teks ke clipboard (perlu izin pengguna).
await navigator.clipboard.writeText('Hello')Teks disalin
navigator.clipboard.readText()Description: Membaca teks dari clipboard (perlu izin).
Example:
const text = await navigator.clipboard.readText()
Output: Teks dari clipboard
navigator.clipboard.readText()Membaca teks dari clipboard (perlu izin).
const text = await navigator.clipboard.readText()
Teks dari clipboard
NOTIFICATIONS
Name
Description
Example
Output
Notification.requestPermission()Description: Meminta izin untuk menampilkan notifikasi.
Example:
const permission = await Notification.requestPermission()
Output: 'granted' | 'denied' | 'default'
Notification.requestPermission()Meminta izin untuk menampilkan notifikasi.
const permission = await Notification.requestPermission()
'granted' | 'denied' | 'default'
new Notification()Description: Menampilkan notifikasi sistem.
Example:
new Notification('Halo', { body: 'Pesan baru', icon: '/icon.png' })Output: Notifikasi muncul
new Notification()Menampilkan notifikasi sistem.
new Notification('Halo', { body: 'Pesan baru', icon: '/icon.png' })Notifikasi muncul
OTHER-APIS
Name
Description
Example
Output
history.pushState() / replaceState()Description: Mengubah URL tanpa reload halaman.
Example:
history.pushState({ id: 1 }, '', '/page/1')Output: URL berubah, state ditambahkan
history.pushState() / replaceState()Mengubah URL tanpa reload halaman.
history.pushState({ id: 1 }, '', '/page/1')URL berubah, state ditambahkan
Web WorkersDescription: Menjalankan skrip di background thread.
Example:
const worker = new Worker('worker.js')
worker.postMessage('data')
worker.onmessage = (e) => console.log(e.data)Output: Pemrosesan di latar belakang
Web WorkersMenjalankan skrip di background thread.
const worker = new Worker('worker.js')
worker.postMessage('data')
worker.onmessage = (e) => console.log(e.data)Pemrosesan di latar belakang
Intl.DateTimeFormatDescription: Internationalization API untuk format tanggal.
Example:
new Intl.DateTimeFormat('id-ID', { dateStyle: 'long' }).format(new Date())Output: '27 Juni 2025'
Intl.DateTimeFormatInternationalization API untuk format tanggal.
new Intl.DateTimeFormat('id-ID', { dateStyle: 'long' }).format(new Date())'27 Juni 2025'
Intl.NumberFormatDescription: Format angka dengan lokal.
Example:
new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR' }).format(100000)Output: 'Rp 100.000,00'
Intl.NumberFormatFormat angka dengan lokal.
new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR' }).format(100000)'Rp 100.000,00'