Programming Core
Pelajari konsep inti pemrograman dari nol: variabel, tipe data, operator, logika kondisi, looping, dan fungsi yang berlaku di semua bahasa pemrograman (JavaScript, Python, PHP, Go, dll).
Kurikulum & Daftar Materi
Modul 01: Dasar-Dasar Pemrograman
Memahami apa itu program, cara komputer mengeksekusi instruksi, menyimpan nilai dengan variabel, dan mengenali tipe data.
Apa itu Pemrograman?
Pengantar cara berpikir komputasional dan bagaimana sebuah program bekerja mengeksekusi instruksi.
Variabel: Menyimpan Data
Pelajari bagaimana variabel berfungsi sebagai wadah untuk menyimpan dan mengelola informasi dalam memori komputer.
Tipe Data Primitif
Mengenal jenis-jenis data dasar: Angka (Number/Integer/Float), Teks (String), dan Logika (Boolean).
Operator Aritmatika & Perbandingan
Mengoperasikan nilai: tambah, kurang, kali, bagi, modulus, serta membandingkan nilai sama dengan atau lebih besar/kecil.
Modul 02: Logika & Percabangan (Control Flow)
Mengontrol alur eksekusi program berdasarkan kondisi logis, evaluasi boolean, switch case, dan teknik guard clause.
Percabangan: If, Else If, dan Else
Pelajari cara membuat program mengambil keputusan dinamis berdasarkan kebenaran suatu kondisi.
Switch-Case & Guard Clauses
Menyederhanakan percabangan dengan banyak nilai diskrit dan menulis kode bersih tanpa nesting bertingkat (early return).
Truthy, Falsy, & Type Coercion
Memahami bagaimana bahasa pemrograman mengevaluasi nilai non-boolean dalam kondisi logika dan cara kerja konversi tipe implisit.
Logika Kombinasi & Short-Circuit Evaluation
Menggabungkan beberapa ekspresi logika dengan AND, OR, NOT, serta memanfaatkan evaluasi jalur pendek (short-circuiting).
Modul 03: Perulangan & Iterasi (Loops)
Mengotomatisasi tugas repetitif dengan while, do-while, for loops, break/continue, dan metode iterasi modern.
Perulangan Kondisional: While & Do-While
Menjalankan instruksi berulang kali selama kondisi bernilai true dan memahami perbedaan evaluasi sebelum vs sesudah iterasi.
Perulangan Terhitung: For Loop
Mengontrol iterasi dengan jumlah putaran terdefinisi menggunakan inisialisasi, kondisi batas, dan increment step.
Kontrol Alur Loop: Break & Continue
Menghentikan perulangan sebelum waktunya (break) atau melompati iterasi saat ini untuk langsung ke iterasi berikutnya (continue).
Iterasi Koleksi Modern: For-Of, ForEach, & Map
Cara modern melintasi elemen dalam array atau kumpulan data tanpa harus mengelola variabel counter indeks secara manual.
Modul 04: Fungsi & Modularitas (Functions)
Membangun kode yang dapat digunakan kembali (reusable), memahami parameter, return value, scope, closures, dan konsep fungsi murni.
Anatomi Fungsi: Parameter, Argumen, & Return Value
Memecah kode menjadi blok-blok modular mandiri yang menerima input dan mengembalikan output.
Variable Scope & Konsep Closure
Memahami ruang lingkup variabel (Global vs Block vs Function Scope) dan bagaimana fungsi dapat mengingat memori leksikalnya (Closure).
Fungsi Murni (Pure Functions) & Efek Samping
Menulis kode yang mudah diprediksi, teruji (testable), dan bebas dari bug mutasi data global (Side Effects).
Rekursi: Fungsi yang Memanggil Dirinya Sendiri
Memahami konsep rekursif, aturan Base Case untuk mencegah stack overflow, dan aplikasinya pada struktur data berulang.
Modul 05: Struktur Data Dasar (Data Structures)
Mengorganisir data secara terstruktur dengan Arrays, Object / Hash Map, Stack (LIFO), Queue (FIFO), dan struktur bersarang.
Array & Lists: Koleksi Data Berurutan
Memahami cara menyimpan urutan data, indexing berbasis nol (zero-based), operasi CRUD, dan manipulasi array.
Objects, Dictionaries, & Hash Maps
Menyimpan data asosiatif berbasis pasangan Kunci-Nilai (Key-Value Pairs) untuk pencarian instan O(1).
Stack (LIFO) & Queue (FIFO)
Dua struktur data linier fundamental di balik fitur Undo/Redo, Call Stack memori, dan antrian proses server.
Struktur Data Bersarang: Array of Objects & Matriks 2D
Mengelola data kompleks di dunia nyata (seperti respons API JSON, papan catur / grid game, dan relasi data bersarang).
Modul 06: Algoritma & Problem Solving
Mengasah pola pikir komputasional, memahami algoritma pencarian & pengurutan, serta menganalisis efisiensi algoritma dengan Big-O Notation.
Computational Thinking: 4 Pilar Pemecahan Masalah
Bagaimana engineer senior mendekati masalah rumit: Dekomposisi, Pengenalan Pola, Abstraksi, dan Desain Algoritma.
Algoritma Pencarian: Linear Search vs Binary Search
Membandingkan pencarian sekuensial vs pencarian biner (bagi dua) dan memahami kekuatan data terurut.
Pengurutan Data: Dari Bubble Sort hingga Built-in Sort
Memahami mekanisme pengurutan data, perbandingan komparator kustom, dan cara kerja algoritma modern (Timsort / QuickSort).
Notasi Big-O: Analisis Kompleksitas Waktu & Memori
Bahasa universal software engineer untuk mengukur seberapa baik performa kode saat jumlah data pengguna bertambah secara masif.
Modul 07: Debugging, Error Handling, & Clean Code
Menguasai cara membaca pesan error, mental model debugging profesional, try-catch handling, dan prinsip penulisan clean code (DRY, KISS, YAGNI).
Membaca Pesan Error & Try-Catch Exception
Mengubah rasa takut terhadap pesan error merah menjadi petunjuk berharga untuk memperbaiki bug dengan tenang.
Mental Model Debugging & Teknik Investigasi Bug
Metode sistematis menemukan akar masalah (root cause) tanpa menebak-nebak secara acak: Print Debugging, Rubber Ducking, & Binary Search Debugging.
Clean Code: Seni Penamaan, DRY, KISS, & YAGNI
Menulis kode yang dibaca seperti prosa bahasa manusia, mudah dirawat oleh rekan tim, dan bebas dari duplikasi membengkak.