Fundamental JavaScript

Bab ini membahas tentang instalasi, pengenalan, dan fundamental JavaScript.

Pengenalan

  1. Sejarah dan Evolusi JavaScript
  2. Mengapa Belajar JavaScript
  3. Menyiapkan Text Editor dan IDE untuk JavaScript
  4. Instalasi Node.js dan NPM
  5. Menjalankan JavaScript di Browser dan Node.js

Syntax Dasar

  1. Hello World di JavaScript
  2. Variabel (var, let, const) dan Tipe Data
  3. String dan Manipulasi String
  4. Array dan Operasi Array
  5. Object dan Manipulasi Object
  6. Operator dalam JavaScript
  7. Percabangan (if, else, switch)
  8. Perulangan dengan for, while, do-while
  9. Break, Continue, dan Label
  10. Function dan Arrow Function

Struktur Data dan Algoritma Dasar

  1. Array Methods (map, filter, reduce, dll)
  2. Set dan Map di JavaScript
  3. Manipulasi File dan I/O di Node.js
  4. Error Handling dengan Try-Catch
  5. Module dan Package di JavaScript
  6. Date dan Time di JavaScript
  7. Regular Expression di JavaScript

Advanced JavaScript

Bab ini membahas konsep-konsep JavaScript tingkat lanjut.

Object-Oriented Programming

  1. Class dan Object di JavaScript (ES6)
  2. Constructor dan Inheritance
  3. Prototype dan Prototype Chain
  4. Encapsulation dan Private Field
  5. Method Overriding dan Super
  6. Static Method dan Property
  7. Getter, Setter, dan Property Descriptor

Functional Programming

  1. First-Class Function dan Higher-Order Function
  2. Pure Function dan Immutability
  3. Closures dan Lexical Scope
  4. Currying dan Partial Application
  5. Callback dan Callback Hell
  6. Promises dan Async/Await
  7. Generator dan Iterator

Advanced Concepts

  1. Event Loop dan Asynchronous Programming
  2. Memory Management dan Garbage Collection
  3. Module System (CommonJS, ES Module)
  4. Proxy dan Reflect
  5. Symbol dan Well-known Symbol
  6. Performance Optimization di JavaScript
  7. Type Checking dengan TypeScript

Web Development dengan JavaScript

Bab ini membahas pengembangan web menggunakan JavaScript.

DOM dan Browser API

  1. Pengenalan DOM dan Manipulasi DOM
  2. Event Handling di JavaScript
  3. Form Handling dan Validasi
  4. Local Storage, Session Storage, dan Cookies
  5. Fetch API dan AJAX
  6. Web Workers dan Service Workers
  7. Drag and Drop API

Frontend Frameworks

  1. Pengenalan React dan Instalasi
  2. Komponen, Props, dan State di React
  3. Lifecycle Methods dan Hooks
  4. Routing dengan React Router
  5. State Management (Redux, Context API)
  6. Testing React Components
  7. Deployment React App
  8. Pengenalan Vue.js dan Instalasi
  9. Komponen, Props, dan State di Vue
  10. Vue Router dan Vuex
  11. Pengenalan Angular dan Instalasi
  12. Komponen, Module, dan Service di Angular

Backend Development

  1. Pengenalan Node.js dan Ekosistemnya
  2. Membuat Server dengan Express.js
  3. Routing dan Middleware di Express
  4. Database Integration (MongoDB, PostgreSQL)
  5. Authentication dan Authorization
  6. RESTful API dengan Express
  7. WebSocket dengan Socket.io
  8. Deployment Node.js App

REST API dengan JavaScript

Bab ini membahas pembuatan dan penggunaan REST API dengan JavaScript.

Dasar REST API

  1. Konsep REST API dan HTTP Methods
  2. Status Code dan Response Format
  3. API Authentication dan Security
  4. Rate Limiting dan Throttling

Membangun REST API

  1. REST API dengan Express.js
  2. REST API dengan Hapi.js atau Koa.js
  3. Serialisasi dan Deserialisasi Data
  4. Dokumentasi API dengan Swagger/OpenAPI
  5. Versioning API
  6. Testing API Endpoints

Mengkonsumsi REST API

  1. HTTP Request dengan Fetch dan Axios
  2. Asynchronous API Calls dengan Async/Await
  3. WebSocket dengan JavaScript
  4. GraphQL dengan Apollo Client

Testing dan Deployment

Bab ini membahas cara testing dan deployment aplikasi JavaScript.

  1. Unit Testing dengan Jest dan Mocha
  2. Integration dan End-to-End Testing (Cypress, Puppeteer)
  3. Test Driven Development
  4. Continuous Integration dan GitHub Actions
  5. Containerization dengan Docker
  6. Deployment di Cloud: Vercel, Netlify, AWS, GCP
  7. Serverless Functions (Vercel, AWS Lambda)
  8. Monitoring dan Logging

Project-Based Learning

Bab ini berisi tutorial berbasis project untuk mengaplikasikan pengetahuan JavaScript.

  1. Membuat ToDo App dengan Vanilla JS
  2. Membuat RESTful API untuk Blog
  3. Membuat Weather App dengan Fetch API
  4. Membuat Portfolio Website dengan React
  5. Data Visualization Project dengan D3.js
  6. Real-time Chat App dengan Socket.io
  7. Automation Project: Web Scraper dengan Puppeteer
  8. Full Stack Project: E-commerce Website