K
Python · modul 10/14
71%

Modul 10: File & Otomasi

Menengah~75 menit

Yang akan kamu kuasai

  • Baca/tulis file dengan with & pathlib
  • Otomasi tugas berulang (rename massal, laporan)
  • Peta pustaka: openpyxl (Excel), pypdf (PDF), requests (web)

1 · Teori (~5–10 mnt baca)

File punya dua dunia: teks (.txt, .csv) dan biner (.pdf, .xlsx, gambar). Pola paling aman membaca/menulis file adalah with open(...) — file otomatis ditutup meskipun terjadi error.

with open("catatan.txt", "w", encoding="utf-8") as f:
    f.write("Baris pertama\n")
    f.write("Baris kedua\n")

with open("catatan.txt", encoding="utf-8") as f:
    print(f.read())
Output:
Baris pertama
Baris kedua

pathlib.Path adalah cara modern mengelola lokasi file: Path('laporan') / '2026' menyusun path lintas OS; .glob('*.pdf') mencari file; .rename() memindahkan. Otomasi klasik: rename 500 foto sekaligus atau mengumpulkan lampiran dari ratusan email.

💡 Sumber belajar modul ini: buku gratis Automate the Boring Stuff 2e (automatetheboringstuff.com) bab file & otomasi; seluruh kode dan proyeknya ada di repo asweigart/automateboringstuff (GitHub).
from pathlib import Path

folder = Path('laporan')
for i, pdf in enumerate(sorted(folder.glob('*.pdf')), 1):
    pdf.rename(folder / f'laporan_{i:03d}.pdf')
# semua PDF kini bernama rapi: laporan_001.pdf, dst.

Untuk format kerja nyata, Python punya pustaka siap pakai (install via pip): openpyxl untuk Excel, pypdf untuk PDF, requests + BeautifulSoup untuk scraping web. Di perpustakaan situs ini ada contoh nyata dokumen & data — lihat menu 📚 Materi.

💡 Pola otomasi: 1) kerjakan manual sekali sambil mencatat langkah, 2) tulis langkah itu sebagai kode, 3) uji di salinan, bukan file asli. Selalu backup sebelum otomasi massal!

2 · Video

Tonton 1 video inti dari kurasi pencarian ini (gratis, di YouTube):

▶ Tonton Video Pilihan

Praktek — Editor Python di Browser

Tulis fungsi hitung_kata(teks) yang mengembalikan jumlah kata (dipisah spasi). Contoh: hitung_kata('saya suka python') → 3. Ini pondasi analisis dokumen teks.

Petunjuk

return len(teks.split())

⚠️ Hindari while True: tanpa break — Python berjalan di tab browser; loop tak berujung bisa membekukan halaman (refresh untuk reset). Perangkat lemah atau kuota kecil? Praktek ini juga bisa dikerjakan di Google Colab ↗.

Kuis

0/3 terjawab
  1. 1. Keuntungan with open(...) dibanding open() biasa adalah…

  2. 2. Mode 'w' pada open() akan…

  3. 3. Pustaka untuk membaca file Excel adalah…