Kali ini saya akan membagikan roadmap atau runtutan belajar coding dan python fundamental, cocok untuk kamu yang masih awam dalam dunia programming.
Kenapa Python
Python adalah salah satu bahasa pemrograman paling populer saat ini. Dengan sintaks yang sederhana dan ekosistem yang luas, Python cocok untuk pemula maupun profesional yang ingin membangun aplikasi, analisis data, AI, hingga web development.
Keunggulan Python
- Mudah Dipelajari: Sintaks Python mirip bahasa manusia, sehingga lebih mudah dipahami
- Ekosistem Luas: Ada banyak library untuk berbagai keperluan, seperti NumPy (data science), TensorFlow (AI), dan Flask (web)
- Multi-Purpose: Bisa digunakan untuk scripting, pengembangan aplikasi, dan automasi
- Komunitas Besar: Banyak sumber belajar gratis dan dukungan komunitas yang aktif.
Roadmap
Hari ke-1
- Sejarah Perkembangan Teknologi
- Belajar Berfikir Komputasi
- Perbedaan Coding, Programming dan Algoritma
Hari ke-2
Hari ke-3
- Variabel dan Tipe Data
- Input dan Output
- Operasi Matematika
- Project: Konversi Suhu
- Project: Menghitung Luas dan Keliling Bangun Datar
Hari ke-4
- Karakter Escape
- Manipulasi String
- Operasi Perbandingan
- Operasi Logika
- Percabangan
- Project: Validasi Login
- Project: Menghitung Huruf atau Kalimat
- Project: Generate Nama Singkatan
- Project: Kalkulator
Hari ke-5
- Mengenal List, Tuple, Set dan Dictionary
- Perulangan
- Exception Handling
- Project: Todolist
Hari ke-6
- Pengenalan Clean Code
- Pengenalan Refactoring
- Pengenalan Code Convention
- Function
- Module System
- Project: Membenahi Code Pada Project Todolist
Hari ke-7
- Mengenal Struktur Data
- Array dan Linked List
- Hash Table
- Heap
- Stack
- Queues
Hari ke-8
- Binary Search Tree
- Recursion
- Pengenalan Paradigma Pemrograman
- Pengenalan Imperative Paradigma
- Pengenalan Functional Paradigma
- Pengenalan Logic Paradigma
- Pengenalan Object Oriented Paradigma
Hari ke-9
- Pengenalan Object Oriented Programming
- Class
- Constructor
- Instance Variabel
- Private Variabel
- Static Method
- Class Method
- Latihan
Hari ke-10
- Getter dan Setter
- Enkapsulasi
- Abstrak
- Latihan
Hari ke-11
- Inheritance
- Polymorphism
- Latihan
Hari ke-12
- Pengenalan Algoritma Sorting / Pengurutan
- Insertion Sort
- Selection Sort
- Bubble Sort
- Quick Sort
- Membandingkan Algoritma Sorting
Hari ke-13
- Pengenalan Algoritma Search / Pencarian
- Sequental Search
- Binary Search
Hari ke-14
- Pengenalan Metode Pengembangan Sistem
- Waterfall Method
- Agile Method
- Latihan
Hari ke-15
- Flowchart
- Diagram UML
- Latihan
Hari ke-16
- Pengenalan Built-in Module
- OS
- Shutil
- Pathlib
- Project: Pengelolaan File Otomatis Berdasarkan Ext yang Sama
Hari ke-17
- Pengenalan Custom Module
- Lambdas
- Decorator
- Iterator
Hari ke-18
- Pengenalan RegEx
- Latihan
Hari ke-19
- Pengenalan PIP
- Pengenalan requirements.txt
- Pengenalan pyproject.toml
- Pengenalan VENV
- Watchdog
- Project: Auto Rename
- Project: Auto Backup File
Hari ke-20
- Pengenalan Concurency
- Multiprocessing
- Asynchrony
- GIL
- Threading
- Latihan
Hari ke-21
- Pengenalan Code Formatting
- Yapf
- Black
- Ruff
- Sphinx
Hari ke-22
- Pengenalan Unit Test
- PyTest
- Latihan
Hari ke-23
- Pengenalan Github / GIT
- Kolaborasi
- Latihan
Hari ke-24
- Pengenalan Git Action
- Latihan Membuat Git Action untuk Menjalankan Testing