Fundamental Python
Bab ini membahas tentang instalasi, pengenalan dan fundamental Python.
Pengenalan
- Sejarah dan Evolusi Python
- Mengapa Belajar Python
- Menyiapkan Text Editor dan IDE untuk Python
- Instalasi Python di Windows, macOS, dan Linux
- Mengenal Virtual Environment Python
Syntax Dasar
- Hello World di Python
- Variabel dan Tipe Data Dasar Python
- String dan Manipulasi String
- List, Tuple, dan Dictionary
- Set dan Operasi Set
- Operator dalam Python
- Percabangan (if, elif, else)
- Perulangan dengan for dan while
- Break, Continue, dan Pass
- Function dan Parameter Function
Struktur Data dan Algoritma Dasar
- List Comprehension
- Dictionary Comprehension
- Manipulasi File dan I/O
- Exception Handling dengan Try-Except
- Module dan Package di Python
- Bekerja dengan Date dan Time
- Regular Expression di Python
Advanced Python
Bab ini membahas konsep-konsep Python tingkat lanjut.
Object-Oriented Programming
- Class dan Object di Python
- Constructor dan Destructor
- Inheritance dan Polymorphism
- Encapsulation dan Abstraction
- Method Overriding dan Overloading
- Static Method dan Class Method
- Property dan Decorator
Functional Programming
- Lambda Function
- Higher-Order Functions
- Map, Filter, dan Reduce
- Generator dan Iterator
- Closure dan Decorator Lanjutan
- Immutability dan Pure Functions
Advanced Concepts
- Threading dan Multiprocessing
- Asynchronous Programming dengan Asyncio
- Context Manager dan with Statement
- Metaclasses dan Magic Methods
- Memoization dan Caching
- Performance Optimization di Python
- Type Hinting dan Mypy
Web Development dengan Python
Bab ini membahas pengembangan web menggunakan Python.
Flask Framework
- Pengenalan Flask dan Instalasi
- Routing dan URL Building
- Template dengan Jinja2
- Form Handling dan Validasi
- Database Integration dengan SQLAlchemy
- Authentication dan Authorization
- RESTful API dengan Flask-RESTful
- Deployment Flask Application
FastAPI Framework
- Pengenalan FastAPI dan Keunggulannya
- Setup Project dan Dependency Injection
- Path Operation dan Query Parameters
- Request Body dan Pydantic Models
- Response Models dan Status Codes
- Middleware dan CORS
- Async Database Integration dengan SQLAlchemy
- OAuth2 dan JWT Authentication
- Background Tasks dan WebSockets
- Testing dan Deployment FastAPI Application
Django Framework
- Pengenalan Django dan Konsep MVT
- Django Project dan App Structure
- Model dan Database Migration
- Django Admin Interface
- Views dan URL Patterns
- Template System di Django
- Form Processing dan Validation
- Authentication System
- Django REST Framework
- Testing dan Deployment Django App
REST API dengan Python
Bab ini membahas pembuatan dan penggunaan REST API dengan Python.
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 Flask
- REST API dengan FastAPI
- Serialisasi dan Deserialisasi Data
- Dokumentasi API dengan Swagger/OpenAPI
- Versioning API
- Testing API Endpoints
Mengkonsumsi REST API
- HTTP Request dengan Requests Library
- Asynchronous API Calls dengan aiohttp
- Websocket dengan Python
- GraphQL dengan Python
Data Science dengan Python
Bab ini membahas penggunaan Python untuk Data Science.
Tools dan Library Dasar
- NumPy untuk Komputasi Numerik
- Pandas untuk Manipulasi Data
- Matplotlib untuk Visualisasi Dasar
- Jupyter Notebook untuk Data Analysis
Visualisasi Data
- Visualisasi Lanjutan dengan Seaborn
- Interactive Visualization dengan Plotly
- Geographic Visualization dengan Folium
- Dashboard dengan Dash
Machine Learning
- Scikit-learn untuk Machine Learning
- Supervised Learning: Classification
- Supervised Learning: Regression
- Unsupervised Learning: Clustering
- Model Evaluation dan Validation
- Feature Engineering dan Selection
- Hyperparameter Tuning
Deep Learning
- Pengenalan Neural Networks
- Deep Learning dengan TensorFlow dan Keras
- Computer Vision dengan OpenCV
- Natural Language Processing dengan NLTK
- Transfer Learning
Automation dan Scripting
Bab ini membahas penggunaan Python untuk otomasi dan scripting.
- Automasi Task dengan Python
- Web Scraping dengan BeautifulSoup dan Scrapy
- Working dengan Excel menggunakan Pandas dan Openpyxl
- PDF Processing dengan PyPDF2
- Automasi Email dan SMS
- GUI Development dengan Tkinter
- Desktop Application dengan PyQt
- Command Line Interface dengan Click
Testing dan Deployment
Bab ini membahas cara testing dan deployment aplikasi Python.
- Unit Testing dengan Unittest dan Pytest
- Integration dan System Testing
- Test Driven Development
- Continuous Integration dan GitHub Actions
- Containerization dengan Docker
- Deployment di Cloud: AWS, GCP, Azure
- Serverless Python Functions
- Monitoring dan Logging
Project-Based Learning
Bab ini berisi tutorial berbasis project untuk mengaplikasikan pengetahuan Python.
- Building a Personal Blog with Django
- Creating a RESTful API for a Todo App
- Developing a Weather App
- Building a Portfolio Website
- Data Analysis Project: COVID-19 Dataset
- Machine Learning Project: Predicting House Prices
- Automation Project: Social Media Bot
- Full Stack Project: E-commerce Website