Fundamental JavaScript
Bab ini membahas tentang instalasi, pengenalan, dan fundamental JavaScript.
Pengenalan
- Sejarah dan Evolusi JavaScript
- Mengapa Belajar JavaScript
- Menyiapkan Text Editor dan IDE untuk JavaScript
- Instalasi Node.js dan NPM
- Menjalankan JavaScript di Browser dan Node.js
Syntax Dasar
- Hello World di JavaScript
- Variabel (var, let, const) dan Tipe Data
- String dan Manipulasi String
- Array dan Operasi Array
- Object dan Manipulasi Object
- Operator dalam JavaScript
- Percabangan (if, else, switch)
- Perulangan dengan for, while, do-while
- Break, Continue, dan Label
- Function dan Arrow Function
Struktur Data dan Algoritma Dasar
- Array Methods (map, filter, reduce, dll)
- Set dan Map di JavaScript
- Manipulasi File dan I/O di Node.js
- Error Handling dengan Try-Catch
- Module dan Package di JavaScript
- Date dan Time di JavaScript
- Regular Expression di JavaScript
Advanced JavaScript
Bab ini membahas konsep-konsep JavaScript tingkat lanjut.
Object-Oriented Programming
- Class dan Object di JavaScript (ES6)
- Constructor dan Inheritance
- Prototype dan Prototype Chain
- Encapsulation dan Private Field
- Method Overriding dan Super
- Static Method dan Property
- Getter, Setter, dan Property Descriptor
Functional Programming
- First-Class Function dan Higher-Order Function
- Pure Function dan Immutability
- Closures dan Lexical Scope
- Currying dan Partial Application
- Callback dan Callback Hell
- Promises dan Async/Await
- Generator dan Iterator
Advanced Concepts
- Event Loop dan Asynchronous Programming
- Memory Management dan Garbage Collection
- Module System (CommonJS, ES Module)
- Proxy dan Reflect
- Symbol dan Well-known Symbol
- Performance Optimization di JavaScript
- Type Checking dengan TypeScript
Web Development dengan JavaScript
Bab ini membahas pengembangan web menggunakan JavaScript.
DOM dan Browser API
- Pengenalan DOM dan Manipulasi DOM
- Event Handling di JavaScript
- Form Handling dan Validasi
- Local Storage, Session Storage, dan Cookies
- Fetch API dan AJAX
- Web Workers dan Service Workers
- Drag and Drop API
Frontend Frameworks
- Pengenalan React dan Instalasi
- Komponen, Props, dan State di React
- Lifecycle Methods dan Hooks
- Routing dengan React Router
- State Management (Redux, Context API)
- Testing React Components
- Deployment React App
- Pengenalan Vue.js dan Instalasi
- Komponen, Props, dan State di Vue
- Vue Router dan Vuex
- Pengenalan Angular dan Instalasi
- Komponen, Module, dan Service di Angular
Backend Development
- Pengenalan Node.js dan Ekosistemnya
- Membuat Server dengan Express.js
- Routing dan Middleware di Express
- Database Integration (MongoDB, PostgreSQL)
- Authentication dan Authorization
- RESTful API dengan Express
- WebSocket dengan Socket.io
- Deployment Node.js App
REST API dengan JavaScript
Bab ini membahas pembuatan dan penggunaan REST API dengan JavaScript.
Dasar REST API
- Konsep REST API dan HTTP Methods
- Status Code dan Response Format
- API Authentication dan Security
- Rate Limiting dan Throttling
Membangun REST API
- REST API dengan Express.js
- REST API dengan Hapi.js atau Koa.js
- Serialisasi dan Deserialisasi Data
- Dokumentasi API dengan Swagger/OpenAPI
- Versioning API
- Testing API Endpoints
Mengkonsumsi REST API
- HTTP Request dengan Fetch dan Axios
- Asynchronous API Calls dengan Async/Await
- WebSocket dengan JavaScript
- GraphQL dengan Apollo Client
Testing dan Deployment
Bab ini membahas cara testing dan deployment aplikasi JavaScript.
- Unit Testing dengan Jest dan Mocha
- Integration dan End-to-End Testing (Cypress, Puppeteer)
- Test Driven Development
- Continuous Integration dan GitHub Actions
- Containerization dengan Docker
- Deployment di Cloud: Vercel, Netlify, AWS, GCP
- Serverless Functions (Vercel, AWS Lambda)
- Monitoring dan Logging
Project-Based Learning
Bab ini berisi tutorial berbasis project untuk mengaplikasikan pengetahuan JavaScript.
- Membuat ToDo App dengan Vanilla JS
- Membuat RESTful API untuk Blog
- Membuat Weather App dengan Fetch API
- Membuat Portfolio Website dengan React
- Data Visualization Project dengan D3.js
- Real-time Chat App dengan Socket.io
- Automation Project: Web Scraper dengan Puppeteer
- Full Stack Project: E-commerce Website