Search

1. Pemahaman Mendalam tentang Iterator dan Generator

Iterator dan generator adalah konsep penting dalam Python untuk bekerja dengan data secara efisien.

  • Iterator: Objek yang memungkinkan kamu untuk mengiterasi (melakukan perulangan) melalui sebuah koleksi.

  • Generator: Fungsi yang menggunakan yield untuk menghasilkan nilai secara lazy (hanya ketika dibutuhkan).

Contoh Iterator:

class MyIterator:
    def __init__(self, start, end):
        self.current = start
        self.end = end

    def __iter__(self):
        return self
    def __next__(self):
        if self.current < self.end:
            self.current += 1
            return self.current - 1
        raise StopIteration

for i in MyIterator(1, 5):
    print(i)

Contoh Generator:

def my_generator(start, end):
    current = start
    while current < end:
        yield current
        current += 1
for i in my_generator(1, 5):
    print(i)

2. Concurrency dan Parallelism: Threading dan Multiprocessing

Concurrency dan parallelism digunakan untuk menjalankan tugas secara bersamaan.

  • Threading: Cocok untuk tugas I/O-bound.

  • Multiprocessing: Cocok untuk tugas CPU-bound.

Contoh Threading:

import threading
def print_numbers():
    for i in range(5):
        print(i)
thread = threading.Thread(target=print_numbers)
thread.start()
thread.join()

Contoh Multiprocessing:

import multiprocessing
def print_numbers():
    for i in range(5):
        print(i)
process = multiprocessing.Process(target=print_numbers)
process.start()
process.join()

3. Asynchronous Programming dengan asyncio

Asynchronous programming memungkinkan kamu untuk menjalankan tugas secara non-blocking.

Contoh asyncio:

import asyncio
async def print_numbers():
    for i in range(5):
        print(i)
        await asyncio.sleep(1)
async def main():
    await asyncio.gather(print_numbers(), print_numbers())
asyncio.run(main())

4. Bekerja dengan Database: Menggunakan SQLite dan MySQL di Python

Python menyediakan library untuk bekerja dengan database seperti SQLite dan MySQL.

Contoh SQLite:

import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)''')
cursor.execute("INSERT INTO users (name) VALUES ('John')")
conn.commit()
conn.close()

Contoh MySQL:

import mysql.connector
conn = mysql.connector.connect(user='root', password='password', host='localhost', database='test')
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255))")
cursor.execute("INSERT INTO users (name) VALUES ('John')")
conn.commit()
conn.close()

5. Membangun REST API dengan Flask atau FastAPI

Flask dan FastAPI adalah framework untuk membangun REST API.

Contoh Flask:

from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def home():
    return jsonify({"message": "Hello, World!"})
if __name__ == '__main__':
    app.run(debug=True)

Contoh FastAPI:

from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
    return {"message": "Hello, World!"}

6. Web Scraping dengan BeautifulSoup dan Scrapy

Web scraping digunakan untuk mengambil data dari website.

Contoh BeautifulSoup:

import requests
from bs4 import BeautifulSoup
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
print(soup.title.text)

Contoh Scrapy:

# Install Scrapy: pip install scrapy
# Buat project Scrapy: scrapy startproject myproject
# Buat spider: scrapy genspider example example.com

7. Analisis Data dengan Pandas: Dasar-Dasar Manipulasi Data

Pandas adalah library untuk analisis data.

Contoh Pandas:

import pandas as pd
data = {'Name': ['John', 'Anna', 'Peter'], 'Age': [28, 22, 34]}
df = pd.DataFrame(data)
print(df)

8. Visualisasi Data dengan Matplotlib dan Seaborn

Matplotlib dan Seaborn digunakan untuk visualisasi data.

Contoh Matplotlib:

import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y)
plt.show()

Contoh Seaborn:

import seaborn as sns
import pandas as pd
data = pd.DataFrame({'x': [1, 2, 3, 4], 'y': [10, 20, 25, 30]})
sns.lineplot(x='x', y='y', data=data)
plt.show()

9. Machine Learning Dasar dengan Scikit-Learn

Scikit-Learn adalah library untuk machine learning.

Contoh Scikit-Learn:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)
model = RandomForestClassifier()
model.fit(X_train, y_train)
print(model.score(X_test, y_test))

10. Membuat Aplikasi GUI dengan Tkinter atau PyQt

Tkinter dan PyQt digunakan untuk membuat aplikasi GUI.

Contoh Tkinter:

import tkinter as tk
root = tk.Tk()
root.title("Hello World")
label = tk.Label(root, text="Hello, World!")
label.pack()
root.mainloop()

Contoh PyQt:

from PyQt5.QtWidgets import QApplication, QLabel
app = QApplication([])
label = QLabel('Hello, World!')
label.show()
app.exec_()