JS Dasar Hingga Medium
🧩 LEVEL 1 – DASAR MUTLAK (Fundamental Core)
Tujuan: memahami cara kerja JavaScript dan logikanya tanpa framework.
1. Pengenalan dan Dasar Sintaks
-
Apa itu JavaScript, dan bagaimana cara kerjanya di browser.
-
Cara menulis JS di:
-
Tag
<script>
langsung di HTML, -
File
.js
eksternal.
-
-
Konsep
console.log()
dan debugging di DevTools.
🎯 Latihan:
-
Cetak kalimat di console.
-
Buat alert dan prompt sederhana.
2. Variabel dan Tipe Data
-
let
,const
,var
(perbedaan & kapan pakai apa). -
Tipe data: string, number, boolean, null, undefined, array, object.
-
Operator aritmatika dan logika (
+
,-
,*
,/
,==
,===
,&&
,||
, dll).
🎯 Latihan:
-
Buat kalkulator sederhana di console.
-
Gabungkan string dan angka.
3. Kontrol Alur (Control Flow)
-
if
,else if
,else
. -
switch
statement. -
Looping:
for
,while
,do...while
. -
break
dancontinue
.
🎯 Latihan:
-
Program tebak angka (random 1–10).
-
Program menghitung jumlah angka genap dari 1–100.
4. Fungsi (Function)
-
Fungsi deklaratif (
function nama() {}
) dan ekspresif (const nama = function() {}
). -
Parameter, argumen, dan nilai return.
-
Arrow function (
()=>{}
).
🎯 Latihan:
-
Fungsi menghitung luas segitiga.
-
Fungsi memeriksa bilangan ganjil/genap.
5. Array dan Object
-
Array: push, pop, shift, unshift, slice, splice, forEach, map, filter, reduce.
-
Object: properti, method, destructuring, nested object.
🎯 Latihan:
-
Simpan daftar nama mahasiswa di array dan tampilkan satu-satu.
-
Buat object
user
dengan nama, umur, dan methodsayHello()
.
6. DOM Manipulation
Inilah jembatan JavaScript dengan HTML.
-
document.querySelector()
,getElementById()
. -
Mengubah teks (
innerText
/innerHTML
). -
Mengubah atribut dan style.
-
Event handling:
onclick
,addEventListener
.
🎯 Latihan:
-
Buat tombol yang mengubah warna background.
-
Form input yang menampilkan teks ke layar saat tombol diklik.
⚙️ LEVEL 2 – PEMAHAMAN MENENGAH (Intermediate Thinking)
Tujuan: memahami konsep yang sering dipakai developer modern.
7. Scope dan Closure
-
Perbedaan global, local, block scope.
-
Konsep closure (fungsi di dalam fungsi).
🎯 Latihan:
-
Buat counter yang menyimpan nilai di dalam fungsi tanpa variabel global.
8. ES6+ Modern JavaScript
-
Destructuring assignment.
-
Spread & rest operator.
-
Template literal.
-
Default parameter.
-
Modules (
import
/export
).
🎯 Latihan:
-
Buat dua file JS dan gunakan
import/export
. -
Gunakan spread operator untuk menggabungkan array.
9. Asynchronous JS (Promise & Async/Await)
-
Callback hell.
-
Promise (
then
,catch
). -
async
/await
untuk menangani proses asinkron. -
Fetch API.
🎯 Latihan:
-
Fetch data dari API publik (misal: JSONPlaceholder).
-
Tampilkan hasil di halaman HTML.
10. Error Handling dan Debugging
-
try...catch
. -
throw new Error()
. -
Teknik debugging pakai Chrome DevTools (breakpoint, watch).
🎯 Latihan:
-
Simulasikan error jika input kosong dan tampilkan pesan error.
11. Local Storage & Session Storage
Dasar penting untuk membuat web “ingat” data tanpa server.
-
localStorage.setItem()
,getItem()
,removeItem()
. -
sessionStorage
perbedaan dengan localStorage.
🎯 Latihan:
-
Buat todo list sederhana yang tersimpan di localStorage.
12. Mini Project:
-
Kalkulator web.
-
Todo list dengan penyimpanan localStorage.
-
Fetch API data dan tampilkan di card HTML (misal: daftar pengguna, cuaca, dsb).
🚀 LEVEL 3 – TRANSISI KE MEDIUM / PRA-LANJUT
Tujuan: berpikir seperti developer JS modern dan siap belajar framework.
13. Event Delegation & DOM Traversal
-
Konsep bubbling dan capturing.
-
Cara menangani event banyak elemen tanpa ribet.
14. Modularisasi Kode
-
Struktur folder yang rapi untuk project JS.
-
Pisahkan fungsi ke file terpisah dan gunakan module system.
15. OOP di JavaScript
-
class
,constructor
,inheritance
,super()
. -
Object literal vs class-based.
🎯 Latihan:
-
Buat class
User
dengan propertiname
dan methodgreet()
.
16. Data Fetching yang Lebih Nyata
-
Fetch API + tampilkan hasil ke UI.
-
Penanganan loading & error.
🎯 Mini project:
-
Aplikasi pencarian gambar dari Unsplash API.
-
Aplikasi cuaca berdasarkan kota.
17. Persiapan Menuju Level Lanjut
Setelah tahap ini kamu sudah bisa:
-
Bikin web interaktif sepenuhnya pakai Vanilla JS.
-
Paham struktur data & logika JS.
-
Siap belajar framework (React, Vue, atau Svelte).
Post a Comment