Belajar JavaScript
Topik JavaScript dimulai dari JavaScript dari Nol: variabel, fungsi, keputusan, array, objek, dan dasar DOM. Sesudahnya, JavaScript Lanjutan membahas Map dan Set, class, error, JSON, Promise, dan async/await, lalu HTTP dan API Web mengajarkan URL, metode, kode status, header, dan JSON. Kode dijalankan langsung di browser tanpa pemasangan apa pun dan diperiksa otomatis, ditambah soal pilihan ganda untuk jebakan yang tidak memunculkan pesan error.
7 kelas siap dipelajari
Baru pertama belajar JavaScript?
Mulai dari JavaScript dari Nol.
JavaScript dari Nol
Variabel dengan let dan const
13 mntAngka dan operator hitung
, butuh akun13 mntTeks dan template literal
, butuh akun13 mntTipe data dan typeof
, butuh akun13 mntMisi: kalkulator diskon
, butuh akun16 mntFungsi dan return
, butuh akun13 mntParameter dan nilai bawaan
, butuh akun13 mntFungsi panah
, butuh akun13 mntMisi: tarif pengiriman
, butuh akun16 mntif, else, dan perbandingan
, butuh akun13 mntelse if dan rantai keputusan
, butuh akun13 mntOperator logika dan operator kondisional
, butuh akun13 mntMisi: promo bertingkat
, butuh akun16 mntArray, push, dan length
, butuh akun13 mntfor...of dan for
, butuh akun13 mntObjek sederhana
, butuh akun13 mntmap, filter, dan reduce
, butuh akun13 mntMisi: rekap gaji karyawan
, butuh akun16 mntquerySelector dan textContent
, butuh akun14 mntMengganti kelas CSS dengan classList
, butuh akun14 mntMenanggapi klik dengan addEventListener
, butuh akun14 mntDelegasi event dan submit formulir
, butuh akun14 mntMisi: tombol hitung total
, butuh akun16 mnt
JavaScript Lanjutan
Mencari dengan find, findIndex, some, dan every
13 mntMengurutkan dengan sort dan comparator
, butuh akun14 mntMeringkas ke objek dan meratakan dengan flatMap
, butuh akun13 mntMisi: laporan gudang
, butuh akun17 mntSpread dan destrukturisasi
, butuh akun13 mntOptional chaining dan nullish coalescing
, butuh akun13 mntMap dan Set
, butuh akun13 mntMisi: merapikan data pelanggan
, butuh akun17 mntClosure dan fungsi tingkat tinggi
, butuh akun13 mntClass, extends, dan prototype
, butuh akun13 mntGetter, setter, dan private field
, butuh akun14 mntModul: import dan export
, butuh akun14 mntMisi: kasir dengan voucher
, butuh akun21 mnttry, catch, throw, dan error kustom
, butuh akun13 mntJSON: parse dan stringify
, butuh akun13 mntTanggal dalam UTC dan format dengan padStart
, butuh akun13 mntRegex di kode: match, matchAll, dan replace
, butuh akun14 mntlocalStorage: simpan, muat, dan ubah keranjang
, butuh akun13 mntMisi: impor data pesanan
, butuh akun21 mntIterator, generator, dan Symbol.iterator
, butuh akun14 mntCallback, event loop, dan Promise
, butuh akun14 mntasync, await, try/catch, dan Promise.all
, butuh akun14 mntFetch: ambil JSON dan tampilkan daftar
, butuh akun13 mntFetch: status 404, 500, dan galat jaringan
, butuh akun13 mntMisi: dasbor omzet cabang
, butuh akun21 mnt
HTTP dan API Web
Klien, server, dan pesan HTTP
14 mntAnatomi URL dan target permintaan
, butuh akun13 mntQuery string dan percent-encoding
, butuh akun13 mntMisi: alamat API katalog
, butuh akun16 mntMetode HTTP: GET, POST, PUT, PATCH, DELETE
, butuh akun14 mntKode status respons
, butuh akun13 mntHeader: Content-Type, Accept, dan Authorization
, butuh akun13 mntMisi: membaca log respons API
, butuh akun17 mntBadan pesan dan JSON
, butuh akun13 mntREST: sumber daya, koleksi, dan item
, butuh akun13 mntPagination dan filter
, butuh akun13 mntMisi: klien API katalog berhalaman
, butuh akun16 mntAutentikasi: API key dan token Bearer
, butuh akun14 mntCache HTTP: Cache-Control, ETag, dan 304
, butuh akun13 mntCORS, rate limit, dan mencoba ulang
, butuh akun13 mntMisi: klien API yang menangani galat
, butuh akun16 mnt
React Dasar
Komponen pertama
14 mntAturan menulis JSX
, butuh akun13 mntJavaScript di dalam JSX
, butuh akun13 mntMisi: papan menu warung
, butuh akun17 mntProps: data dari komponen induk
, butuh akun13 mntRender bersyarat
, butuh akun13 mntDaftar dan key
, butuh akun13 mntMisi: katalog toko kelontong
, butuh akun16 mntMenanggapi event
, butuh akun13 mntState: ingatan komponen
, butuh akun13 mntState sebagai potret dan antrean pembaruan
, butuh akun13 mntMemperbarui objek dan larik di state
, butuh akun13 mntMisi: kasir warung kopi
, butuh akun17 mntFormulir terkontrol
, butuh akun13 mntMengangkat state dan komposisi
, butuh akun13 mntuseEffect: menyelaraskan dengan sistem di luar React
, butuh akun14 mntMisi: pendaftaran pelatihan UMKM
, butuh akun16 mnt
Backend Node.js Dasar: Rute, Middleware, dan Pengujian
Server sebagai fungsi: request masuk, respons keluar
14 mntRouting per metode dan path
, butuh akun13 mntpackage.json, semver, dan skrip npm
, butuh akun13 mntMisi: rute API katalog Toko Roti Mentari
, butuh akun17 mntMembaca badan JSON permintaan
, butuh akun13 mntValidasi masukan dan galat terstruktur
, butuh akun14 mntMisi: endpoint pesanan roti
, butuh akun17 mntMiddleware: lapisan di sekitar handler
, butuh akun13 mntPencatat dan penangkap galat
, butuh akun13 mntMemeriksa token Bearer di server (konsep)
, butuh akun14 mntSesi, cookie, dan hash kata sandi (konsep)
, butuh akun13 mntMisi: rantai middleware API kasir
, butuh akun17 mntRepositori di memori dan CRUD
, butuh akun14 mntPagination dan filter di server
, butuh akun13 mntRepositori SQLite dengan kueri berparameter
, butuh akun13 mntMisi: API stok bahan dapur
, butuh akun17 mntMenguji handler dengan request tiruan
, butuh akun13 mntTiruan untuk repositori, jam, dan next
, butuh akun13 mntMisi: menguji API pesanan sebelum rilis
, butuh akun17 mnt
Otomasi Alur Kerja: Trigger, Kondisi, dan Penanganan Gagal
Trigger dan event: awal setiap alur
14 mntUrutan langkah, input, dan output
, butuh akun13 mntMisi: menelusuri alur formulir pesanan
, butuh akun16 mntPemetaan field antar-aplikasi
, butuh akun13 mntKondisi, percabangan, dan cabang bawaan
, butuh akun13 mntMisi: formulir menjadi catatan pesanan
, butuh akun16 mntGalat sementara, galat permanen, dan timeout
, butuh akun13 mntCoba ulang dengan backoff eksponensial
, butuh akun13 mntCoba ulang, tangkap galat, dan langkah cadangan
, butuh akun13 mntMisi: kebijakan coba ulang notifikasi pesanan
, butuh akun16 mntKunci idempotensi dan deduplikasi event
, butuh akun13 mntAntrean gagal (dead-letter) dan log alur
, butuh akun14 mntMenguji skenario gagal dengan input tetap
, butuh akun13 mntMisi: alur pesanan yang tahan gagal
, butuh akun16 mnt
Pengujian Kontrak API: JSON Schema, Respons Galat, dan Regresi
Kontrak API dan kondisi keberhasilan
14 mntJSON Schema: kontrak badan dengan type
, butuh akun13 mntMisi: memeriksa respons detail pesanan
, butuh akun17 mntproperties, required, dan additionalProperties
, butuh akun13 mntObjek bertingkat, array, dan lokasi pelanggaran
, butuh akun13 mntMisi: validator skema untuk respons pesanan
, butuh akun17 mntBatas nilai, panjang teks, pola, dan enum
, butuh akun13 mntSkenario negatif: field hilang, tipe salah, dan null
, butuh akun13 mntRespons galat: problem details (RFC 9457)
, butuh akun13 mntMisi: menguji POST pesanan dan respons galatnya
, butuh akun17 mntKasus otorisasi: 401, 403, dan 404 sebagai kontrak
, butuh akun13 mntPerubahan yang merusak dan regresi kontrak
, butuh akun13 mntMisi: uji regresi sebelum rilis versi baru
, butuh akun17 mnt
Membuka satu materi tidak otomatis mendaftarkanmu ke kelasnya.
Alat bantu belajar JavaScript
Dipakai bersama kelas-kelas di topik ini.
Jalur yang memuat topik ini
Panduan
- Belajar coding web dari nol: urutan HTML, CSS, JavaScript, lalu TypeScriptPanduan
- Dicoding gratis atau bayar? Lima kelas gratis, harga langganan, dan program beasiswa yang masih bukaArtikel pendukung
- Website belajar coding gratis: mana yang gratis sampai sertifikat, berbahasa Indonesia, dan memeriksa kodemuArtikel pendukung
Lab interaktif
Pertanyaan yang sering muncul
Perlu belajar HTML dan CSS sebelum JavaScript?
Tidak wajib. JavaScript dari Nol hanya mensyaratkan bisa mengetik dan membuka browser. Pelajaran DOM di kelas itu mengisi teks dan mengganti kelas CSS di halaman, jadi dasar HTML dan CSS membantu. Jalur Web Developer Pemula menaruh HTML dan CSS lebih dulu.
Perlu memasang Node.js atau editor kode?
Tidak. Kode dijalankan di Web Worker browser-mu, tanpa pemasangan apa pun. Kelas HTTP dan API Web juga tidak tersambung ke API sungguhan; latihannya memproses respons tiruan di browser.
Apakah ada sertifikat untuk kelas JavaScript?
Ya. Setiap kelas yang tuntas memberi sertifikat penyelesaian gratis dengan tautan verifikasi publik. Sertifikat ini bukti penyelesaian belajar, bukan akreditasi atau sertifikasi profesi.