š Proyek Akhir (Level 2)
Setelah memahami konsep pemrograman Python tingkat menengah, saatnya membuat dua proyek akhir yang akan menguji pemahaman kita:
1️⃣ Aplikasi To-Do List berbasis terminal → Untuk mengelola daftar tugas.
2️⃣ Web Scraper sederhana → Untuk mengambil data dari website secara otomatis.
✅ 1. Aplikasi To-Do List Berbasis Terminal
š Fitur yang akan dibuat:
✅ Menambahkan tugas baru
✅ Menampilkan daftar tugas
✅ Menghapus tugas
✅ Menyimpan & memuat data tugas dari file
š¹ Kode Python To-Do List
import json
# File tempat menyimpan tugas
FILE_NAME = "todo_list.json"
# Fungsi untuk memuat tugas dari file JSON
def load_tasks():
try:
with open(FILE_NAME, "r") as file:
return json.load(file)
except FileNotFoundError:
return []
# Fungsi untuk menyimpan tugas ke file JSON
def save_tasks(tasks):
with open(FILE_NAME, "w") as file:
json.dump(tasks, file, indent=4)
# Fungsi untuk menampilkan daftar tugas
def show_tasks(tasks):
if not tasks:
print("✅ Tidak ada tugas saat ini!")
else:
print("\nš Daftar Tugas:")
for i, task in enumerate(tasks, start=1):
print(f"{i}. {task}")
# Fungsi untuk menambahkan tugas
def add_task(tasks):
task = input("Masukkan tugas baru: ")
tasks.append(task)
save_tasks(tasks)
print(f"✅ Tugas '{task}' telah ditambahkan!")
# Fungsi untuk menghapus tugas
def remove_task(tasks):
show_tasks(tasks)
try:
index = int(input("Masukkan nomor tugas yang ingin dihapus: ")) - 1
removed_task = tasks.pop(index)
save_tasks(tasks)
print(f"❌ Tugas '{removed_task}' telah dihapus!")
except (ValueError, IndexError):
print("⚠️ Nomor tugas tidak valid!")
# Menu utama
def main():
tasks = load_tasks()
while True:
print("\nš Menu To-Do List")
print("1. Lihat Daftar Tugas")
print("2. Tambah Tugas")
print("3. Hapus Tugas")
print("4. Keluar")
choice = input("Pilih opsi (1-4): ")
if choice == "1":
show_tasks(tasks)
elif choice == "2":
add_task(tasks)
elif choice == "3":
remove_task(tasks)
elif choice == "4":
print("š Keluar dari aplikasi. Sampai jumpa!")
break
else:
print("⚠️ Pilihan tidak valid!")
if __name__ == "__main__":
main()
š Penjelasan:
✅ json digunakan untuk menyimpan tugas ke file agar tetap tersimpan setelah program ditutup.
✅ Fungsi load_tasks() → Membaca daftar tugas dari file JSON.
✅ Fungsi save_tasks() → Menyimpan tugas ke file JSON.
✅ Fungsi add_task() → Menambahkan tugas baru ke daftar.
✅ Fungsi remove_task() → Menghapus tugas berdasarkan nomor yang dipilih pengguna.
š„ Coba jalankan programnya di terminal, tambahkan tugas, lihat daftar tugas, dan hapus tugas!
✅ 2. Web Scraper Sederhana
š Apa itu Web Scraping?
- Web scraping adalah teknik mengambil data dari website secara otomatis menggunakan Python.
- Kita akan menggunakan pustaka BeautifulSoup untuk membaca HTML dari suatu halaman web dan mengambil data spesifik.
š Instalasi pustaka (jika belum ada):
pip install requests beautifulsoup4
š¹ Kode Python Web Scraper
import requests
from bs4 import BeautifulSoup
# URL situs yang akan di-scrape (contoh: berita terbaru dari CNN Indonesia)
URL = "https://www.cnnindonesia.com/nasional"
# Mengambil halaman web
response = requests.get(URL)
# Jika berhasil, lanjutkan scraping
if response.status_code == 200:
soup = BeautifulSoup(response.text, "html.parser")
# Mencari semua judul berita
berita = soup.find_all("h2", class_="title")
print("š° Judul Berita Terbaru:")
for i, item in enumerate(berita[:10], start=1): # Ambil 10 berita pertama
print(f"{i}. {item.text.strip()}")
else:
print("⚠️ Gagal mengambil halaman web!")
š Penjelasan:
✅ requests.get(URL) → Mengambil halaman web yang akan di-scrape.
✅ BeautifulSoup(response.text, "html.parser") → Menganalisis HTML dari halaman web.
✅ soup.find_all("h2", class_="title") → Mencari semua elemen h2 dengan class title (judul berita).
✅ item.text.strip() → Mengambil teks dari elemen HTML dan menghilangkan spasi berlebih.
š„ Coba jalankan kode ini dan lihat daftar berita terbaru dari CNN Indonesia langsung di terminal!
š Kesimpulan
✅ Aplikasi To-Do List membantu memahami penggunaan file handling & struktur data.
✅ Web Scraper memberikan dasar untuk mengambil data dari internet secara otomatis.
✅ Kedua proyek ini melatih penggunaan Python dalam dunia nyata!
š” Selanjutnya, kita bisa membuat versi lebih lanjut seperti:
- To-Do List berbasis GUI menggunakan Tkinter atau PyQt.
- Web Scraper untuk Shopee/Amazon untuk mengambil harga produk secara otomatis.
š Mau lanjut ke Level 3 (Pemrograman Lanjutan & AI)?
Tidak ada komentar:
Posting Komentar