Fase 1: Dasar-Dasar Pemrograman (Minggu 1-2)
1. Persiapan Environment
-
Install Python dari python.org
-
Install text editor (VS Code, PyCharm, atau Sublime Text)
-
Kenali cara menggunakan terminal/command prompt
-
Pelajari cara menjalankan script Python
2. Sintaks Dasar
# Hello World print("Hello World") # Variabel dan Tipe Data nama = "Budi" # string umur = 25 # integer tinggi = 175.5 # float menikah = False # boolean # Input dari user nama = input("Siapa nama Anda? ")
3. Tipe Data Dasar
-
String (teks)
-
Integer (bilangan bulat)
-
Float (bilangan desimal)
-
Boolean (True/False)
-
List, Tuple, Dictionary (collection)
4. Operator
-
Aritmatika (+, -, *, /, %, **)
-
Perbandingan (==, !=, <, >, <=, >=)
-
Logika (and, or, not)
-
Assignment (=, +=, -=, dll)
5. Percabangan (Conditionals)
if kondisi: # lakukan sesuatu elif kondisi_lain: # lakukan hal lain else: # lakukan jika semua salah
6. Perulangan (Loops)
# For loop for i in range(5): print(i) # While loop while kondisi: # lakukan sesuatu
Fase 2: Struktur Data & Fungsi (Minggu 3-4)
7. Struktur Data Lanjutan
# List buah = ["apel", "jeruk", "mangga"] buah.append("pisang") buah.remove("apel") # Tuple (immutable) koordinat = (10, 20) # Dictionary siswa = { "nama": "Budi", "umur": 17, "kelas": "10A" } # Set himpunan = {1, 2, 3, 4, 5}
8. Fungsi
def nama_fungsi(parameter1, parameter2): """Docstring: penjelasan fungsi""" hasil = parameter1 + parameter2 return hasil # Fungsi dengan default parameter def sapa(nama="User"): return f"Halo, {nama}!" # Lambda function kali = lambda x, y: x * y
9. List Comprehension
# Cara biasa kuadrat = [] for x in range(10): kuadrat.append(x**2) # List comprehension kuadrat = [x**2 for x in range(10)] # Dengan kondisi genap = [x for x in range(20) if x % 2 == 0]
Fase 3: OOP & Modul (Minggu 5-6)
10. Object-Oriented Programming
class Mahasiswa: # Class variable jumlah = 0 def __init__(self, nama, nim): # Instance variable self.nama = nama self.nim = nim Mahasiswa.jumlah += 1 def perkenalan(self): return f"Nama: {self.nama}, NIM: {self.nim}" @classmethod def total_mahasiswa(cls): return f"Total: {cls.jumlah}" # Inheritance class MahasiswaBaru(Mahasiswa): def __init__(self, nama, nim, angkatan): super().__init__(nama, nim) self.angkatan = angkatan
11. Modul dan Package
# Import modul import math import random from datetime import datetime # Membuat modul sendiri # mymodule.py def fungsi_saya(): pass # Menggunakan modul import mymodule
12. File Handling
# Membaca file with open('file.txt', 'r') as file: konten = file.read() # Menulis file with open('file.txt', 'w') as file: file.write('Hello World') # CSV file import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Fase 4: Error Handling & Library Penting (Minggu 7-8)
13. Exception Handling
try: x = int(input("Masukkan angka: ")) hasil = 10 / x except ValueError: print("Bukan angka yang valid") except ZeroDivisionError: print("Tidak bisa dibagi nol") except Exception as e: print(f"Error: {e}") else: print(f"Hasil: {hasil}") finally: print("Program selesai")
14. Library Penting
# NumPy - komputasi numerik import numpy as np array = np.array([1, 2, 3, 4, 5]) # Pandas - manipulasi data import pandas as pd df = pd.read_csv('data.csv') # Matplotlib - visualisasi import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) plt.show() # Requests - HTTP requests import requests response = requests.get('https://api.github.com')
Fase 5: Database & Web Scraping (Minggu 9-10)
15. Database dengan Python
# SQLite import sqlite3 conn = sqlite3.connect('database.db') cursor = conn.cursor() cursor.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)''') conn.commit() conn.close() # SQLAlchemy ORM from sqlalchemy import create_engine engine = create_engine('sqlite:///database.db')
16. Web Scraping
# BeautifulSoup from bs4 import BeautifulSoup import requests url = 'https://example.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') judul = soup.find('h1').text # Selenium (untuk dynamic content) from selenium import webdriver driver = webdriver.Chrome() driver.get('https://example.com')
Fase 6: Web Development (Minggu 11-14)
17. Flask (Micro Framework)
from flask import Flask, render_template, request app = Flask(__name__) @app.route('/') def home(): return render_template('index.html') @app.route('/user/') def user(name): return f'Halo, {name}!' @app.route('/login', methods=['POST']) def login(): username = request.form['username'] return f'Welcome {username}' if __name__ == '__main__': app.run(debug=True)
18. Django (Full-stack Framework)
# Install Django pip install django # Buat project django-admin startproject myproject # Buat app python manage.py startapp myapp # Run server python manage.py runserver
Fase 7: Data Science & Machine Learning (Minggu 15-18)
19. Data Analysis dengan Pandas
import pandas as pd # Membaca data df = pd.read_csv('data.csv') # Eksplorasi data df.head() df.info() df.describe() # Manipulasi data df['kolom_baru'] = df['kolom1'] * df['kolom2'] df.groupby('kategori').mean()
20. Visualisasi Data
import matplotlib.pyplot as plt import seaborn as sns # Line plot plt.plot(x, y) plt.title('Judul') plt.xlabel('X Label') plt.ylabel('Y Label') # Seaborn untuk statistik sns.distplot(df['kolom']) sns.boxplot(x='kategori', y='nilai', data=df)
21. Machine Learning dengan Scikit-learn
from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # Split data X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) # Train model model = LinearRegression() model.fit(X_train, y_train) # Predict predictions = model.predict(X_test) # Evaluate mse = mean_squared_error(y_test, predictions)
Fase 8: Project Portfolio (Minggu 19-24)
Project Ideas untuk Pemula:
-
Kalkulator Sederhana - GUI dengan Tkinter
-
To-Do List App - CLI atau Web dengan Flask
-
Weather App - Menggunakan API cuaca
-
Blog Sederhana - Dengan Django
-
Data Visualization Dashboard - Dengan Streamlit
Project Menengah:
-
E-commerce Sederhana - Django + Bootstrap
-
Social Media Dashboard - Analisis data media sosial
-
Web Scraper - Scrape harga produk
-
Machine Learning Model - Prediksi harga rumah
-
REST API - Dengan Flask/Django REST Framework
Project Lanjutan:
-
Real-time Chat Application - WebSocket + Django Channels
-
E-learning Platform - Django + React
-
Data Pipeline - ETL dengan Python
-
Trading Bot - Algoritma trading sederhana
-
Image Recognition App - TensorFlow/Keras
Sumber Belajar Rekomendasi
Website:
-
Python.org - Dokumentasi resmi
Buku:
-
"Automate the Boring Stuff with Python" - Al Sweigart
-
"Python Crash Course" - Eric Matthes
-
"Fluent Python" - Luciano Ramalho
-
"Python for Data Analysis" - Wes McKinney
YouTube Channels:
-
Programmer Zaman Now (Indonesia)
Platform Belajar:
Tips Sukses Belajar Python
1. Konsistensi > Intensitas
-
Belajar 1-2 jam setiap hari lebih baik dari 8 jam sekali seminggu
-
Buat jadwal belajar rutin
2. Praktik Terus
-
Code minimal 30 menit setiap hari
-
Kerjakan tantangan coding di platform seperti HackerRank, LeetCode
-
Ikut kompetisi coding (jika sudah siap)
3. Bangun Network
-
Gabung komunitas Python (Discord, Telegram, Forum)
-
Ikut meetup atau konferensi Python
-
Berkontribusi ke open source
4. Learn by Building
-
Jangan hanya nonton tutorial
-
Buat project sendiri
-
Mulai dari yang sederhana, tingkatkan kompleksitas
5. Dokumentasi
-
Biasakan membaca dokumentasi resmi
-
Tulis komentar di kode
-
Buat catatan belajar pribadi
6. Version Control
-
Belajar Git dan GitHub
-
Upload semua project ke GitHub
-
Buat portfolio yang rapi
7. Problem Solving
-
Fokus pada logika, bukan syntax
-
Pelajari algoritma dan struktur data
-
Latihan dengan soal-soal coding
Sertifikasi yang Bermanfaat
-
PCAP - Certified Associate in Python Programming
-
PCEP - Certified Entry-Level Python Programmer
-
Google IT Automation with Python (Coursera)
-
IBM Data Science Professional Certificate
-
AWS Certified Developer (untuk cloud)
Checklist Progress Belajar
-
Install Python dan setup environment
-
Kuasai basic syntax (variabel, tipe data, operator)
-
Kuasai control flow (if-else, loops)
-
Kuasai function
-
Kuasai data structures (list, tuple, dict, set)
-
Kuasai file handling
-
Kuasai OOP concepts
-
Kuasai error handling
-
Kuasai module dan package
-
Kuasai library populer (NumPy, Pandas, dll)
-
Buat 3 project sederhana
-
Kuasai web framework dasar
-
Kuasai database integration
-
Buat 3 project menengah
-
Pelajari spesialisasi (Data Science/Web Dev/Automation)
-
Buat portfolio di GitHub
-
Apply untuk internship/freelance





Georgia Reader Reply
Et rerum totam nisi. Molestiae vel quam dolorum vel voluptatem et et. Est ad aut sapiente quis molestiae est qui cum soluta. Vero aut rerum vel. Rerum quos laboriosam placeat ex qui. Sint qui facilis et.