Untuk siapa: remaja 12+ dan dewasa yang belum pernah atau baru sedikit menulis kode. Tidak perlu instal apa pun; semua contoh bisa dijalankan dan diedit langsung di halaman materi.
Yang dipelajari: dasar bahasa (variabel, tipe data, operator, percabangan, perulangan), fungsi dan penanganan error, objek, array beserta map/filter/reduce, Map dan Set, class dan pewarisan, Promise dan async/await, lalu JavaScript di halaman web: memilih elemen, mengubah isi, membuat elemen baru, event klik, form, dan event delegation.
Cara belajarnya: setiap modul berisi materi, latihan yang dinilai otomatis, rangkuman, dan kuis. Semua contoh memakai proyek yang sama, kasir PojokKasir milik Bu Rina, jadi kamu melihat programnya tumbuh dari modul ke modul.
Hasil akhirnya: program kasir yang menghitung subtotal, diskon member, kode promo, kembalian, menolak transaksi yang salah, dan mencetak struk rapi.
Modul 1 — Kenalan dengan JavaScript
menu_bookMulai di Sini: Membangun PojokKasir dengan JavaScriptGratis5m
menu_bookSelamat Datang di JavaScript KodingYukGratis13m
menu_bookIntroduction — Sejarah, Aturan Main, dan Kebiasaan Aman15m
menu_bookVariables — var, let, const, Scope, dan Hoisting17m
codeLatihan: Struk Pertama PojokKasir12m
menu_bookRangkuman Modul 14m
quizKuis Modul 110m
Modul 2 — Tipe Data dan Nilai
menu_bookPembuka Modul 2: Data di Kasir Punya Jenis3m
menu_bookData Types — Primitif vs Objek, typeof, dan Immutability16m
menu_bookNumbers — Menghitung Uang Tanpa Ketipu Komputer17m
menu_bookStrings — Mengolah Nama, Struk, dan Teks Warung14m
menu_bookBooleans — Truthy, Falsy, dan Logika Warung15m
menu_bookNull & Undefined — Dua Kosong yang Beda Cerita15m
codeLatihan: Diskon 15% dari Harga Berbentuk Teks15m
codeLatihan: Data Pesanan yang Bolong12m
menu_bookRangkuman Modul 23m
quizKuis Modul 210m
Modul 3 — Operator, Perbandingan, dan Alur Kontrol
menu_bookPembuka Modul 3: Kasir yang Bisa Memutuskan3m
menu_bookOperator Aritmatika, Penugasan, dan Urutan Hitung4m
menu_bookPerbandingan — == vs ===, Object.is, dan Aturan Koersi16m
menu_bookAlur Kontrol — if/switch, Loop, for-of vs for-in, break/continue/Label17m
codeLatihan: Rekap Belanja dan Level Member15m
menu_bookRangkuman Modul 33m
quizKuis Modul 310m
Modul 4 — Fungsi dan Penanganan Error
menu_bookPembuka Modul 4: Rumus Kasir yang Dipakai Ulang3m
menu_bookFungsi — Deklarasi, Parameter, Arrow, dan First-Class13m
menu_bookFunction Expressions — Ekspresi vs Deklarasi, IIFE, dan Callbacks13m
menu_bookKeyword return — Nilai Balik, Early Return, dan Jebakan ASI13m
menu_bookPenanganan Error: try, catch, throw7m
codeLatihan: Tiga Fungsi Kasir15m
codeLatihan: Tolak Pembayaran yang Salah15m
menu_bookRangkuman Modul 43m
quizKuis Modul 410m
Modul 5 — Objek, Array, dan Koleksi Data
menu_bookPembuka Modul 5: Satu Keranjang, Banyak Data3m
menu_bookObjects — Literal, Computed Keys, Destructuring, Spread, Freeze/Seal13m
menu_bookProperty Accessors — Dot vs Bracket, Getter/Setter11m
menu_bookArray Modern — Olah Data Tanpa Pusing14m
menu_bookHigher-Order Function, Closure, dan Fungsi Murni7m
menu_bookMap, Set & Senjata Anti-Duplikat14m
codeLatihan: Laporan Keranjang dengan map, filter, reduce18m
codeLatihan: Rekap Penjualan dengan Map dan Set18m
menu_bookRangkuman Modul 54m
quizKuis Modul 510m
Modul 6 — Class dan Pemrograman Berorientasi Objek
menu_bookPembuka Modul 6: Data dan Perilaku dalam Satu Wadah3m
menu_bookKeyword new — Constructor dan 4 Tahap new13m
menu_bookKeyword this — 4 Aturan Binding, call/apply/bind, dan Arrow Lexical14m
menu_bookClass — Cetakan Rapi untuk Objek12m
menu_bookExtends & Super — Mewarisi Tanpa Mengulang11m
menu_bookPrivate Fields & Static — Menjaga Dapur Tetap Bersih11m
codeLatihan: Class Keranjang dan KeranjangMember20m
menu_bookRangkuman Modul 64m
quizKuis Modul 610m
Modul 7 — Asinkron dan Modul
menu_bookPembuka Modul 7: Menunggu Tanpa Membuat Antrean Macet3m
menu_bookSinkron dan Asinkron: setTimeout, Callback, dan Promise7m
menu_bookAsync — Janji, Tunggu, dan Panen Bersama13m
menu_bookModules ESM, structuredClone & Capstone Mini13m
codeLatihan: Ambil Harga dari Server Tiruan20m
menu_bookRangkuman Modul 74m
quizKuis Modul 710m
Modul 8 — Pendalaman: BigInt, Symbol, Prototype, dan Descriptor
menu_bookPembuka Modul 8: Melihat ke Balik Layar3m
menu_bookBigInt — Angka Raksasa Tanpa Kehilangan Presisi14m
menu_bookSymbols — Kunci Unik yang Tidak Bisa Ditabrak14m
menu_bookPrototypes — Rantai Prototype, __proto__ vs prototype, Object.create, Intro Class14m
menu_bookKendali Properti — Descriptors & defineProperty14m
codeLatihan: Omzet Raksasa dan Kode Produk Terkunci15m
menu_bookRangkuman Modul 84m
quizKuis Modul 810m
Modul 9 — JavaScript di Halaman Web: DOM dan Event
menu_bookPembuka Modul 9: Dari Konsol ke Layar Kasir3m
menu_bookDOM: Halaman sebagai Pohon Objek5m
menu_bookMengubah Isi dan Tampilan: textContent, innerHTML, classList5m
menu_bookMembuat dan Menghapus Elemen5m
menu_bookEvent: addEventListener dan Objek Event5m
menu_bookForm: submit, preventDefault, dan Validasi6m
menu_bookEvent Delegation: Satu Pendengar untuk Banyak Tombol6m
codeLatihan: Tombol Tambah dan Kurang Gelas15m
codeLatihan: Form Pesanan dengan Tombol Hapus25m
menu_bookRangkuman Modul 94m
quizKuis Modul 910m
Modul 10 — Proyek Akhir: Kasir PojokKasir
menu_bookProyek Akhir: Kasir PojokKasir Lengkap5m
codeProyek Akhir: Kasir PojokKasir45m
menu_bookPenutup: Langkah Setelah PojokKasir4m
quizKuis Akhir: JavaScript Fundamental10m