Python Automation: 7 Project untuk Membantu Kerja Harian
Ada pekerjaan yang kamu ulang setiap hari: merapikan file, menyalin folder penting, atau mengambil data dari situs yang sama. Python automation bisa mengambil alih pekerjaan seperti itu lewat script kecil yang berjalan sesuai jadwal. Sebagai DevOps Engineer, saya memakainya untuk menyederhanakan pekerjaan sehari-hari, dari mengelola file sampai memantau sistem.
Artikel ini membahas 7 project Python automation yang bisa kamu coba. Enam di antaranya punya kode lengkap yang sudah saya jalankan, jadi kamu bisa menyalinnya, menyesuaikan nama folder, lalu mencobanya sendiri.
Apa itu Python automation?

Python automation adalah penggunaan script untuk menjalankan tugas secara otomatis, terutama tugas yang biasanya dikerjakan manual dan berulang. Tujuannya meningkatkan efisiensi dan mengurangi kesalahan manusia, sehingga kamu bisa fokus pada pekerjaan yang lebih penting.
Manfaat otomatisasi untuk pekerjaan harian
Otomatisasi membantu kamu mengelola file, notifikasi, dan backup data penting tanpa harus mengingatnya setiap hari. Script yang dijadwalkan berjalan sendiri sesuai waktu yang kamu tentukan.
Mengapa Python cocok untuk automation
Python punya sintaks yang mudah dipahami pemula dan komunitas besar dengan banyak library. Bahasa ini kuat untuk penjadwalan tugas dan web scraping, dan library seperti Selenium membuatnya serbaguna. Kalau kamu ingin melihat daftar library-nya, baca library Python automation untuk DevOps.
Perbedaan automation manual dan script
Pekerjaan manual membutuhkan campur tangan orang setiap kali dan rentan terhadap kelelahan serta human error. Script menjalankan langkah yang sama secara konsisten setiap kali dipanggil.
7 project Python automation untuk kerja harian
Project berikut berurutan dari yang paling sederhana. Semua contoh kode ditulis untuk Python 3. Pasang library tambahan dengan pip bila perlu, dan cari paket lain di PyPI.
1. Menjadwalkan tugas dengan schedule dan APScheduler
Task scheduler menjalankan perintah pada waktu tertentu, mirip cron job di Linux. Di Windows, fungsi serupa disediakan oleh Task Scheduler. Library schedule memberi cara yang mudah dibaca untuk menjadwalkan tugas per detik, menit, atau jam. Untuk kebutuhan yang lebih kompleks, APScheduler mendukung pola cron.
Pasang schedule dengan pip install schedule, lalu simpan kode ini sebagai jadwal.py:
import time
import schedule
def backup():
print("Menjalankan backup...")
schedule.every().day.at("02:00").do(backup)
while True:
schedule.run_pending()
time.sleep(60)
Script ini menjalankan fungsi backup setiap hari pukul 02.00 selama programnya tetap hidup. Saya menguji pembuatan jadwal dan pemanggilan fungsinya. Loop while True memang berjalan terus, jadi hentikan dengan Ctrl + C.
2. Merapikan file otomatis dengan shutil
Modul bawaan shutil dan pathlib cukup untuk menyortir file ke folder sesuai ekstensinya. Contoh berikut memindahkan setiap file di folder Downloads ke subfolder berdasarkan ekstensi:
from pathlib import Path
import shutil
folder = Path("Downloads") # ganti dengan folder yang ingin dirapikan
for file in folder.iterdir():
if file.is_file() and file.suffix:
tujuan = folder / file.suffix[1:].lower()
tujuan.mkdir(exist_ok=True)
shutil.move(str(file), str(tujuan / file.name))
print(f"{file.name} -> {tujuan.name}/")
Saat saya uji dengan file a.PDF, b.jpg, dan c.pdf, hasilnya dua file masuk ke folder pdf dan satu ke jpg. File tanpa ekstensi dilewati. Coba dulu di folder uji sebelum memakainya di folder penting.
3. Backup folder dengan zipfile
Modul zipfile mengompres seluruh folder menjadi satu arsip. Backup seperti ini bisa digabung dengan project 1 supaya berjalan rutin:
import zipfile
from datetime import date
from pathlib import Path
sumber = Path("dokumen_penting")
Path("backup").mkdir(exist_ok=True)
arsip = Path("backup") / f"dokumen_{date.today():%Y-%m-%d}.zip"
with zipfile.ZipFile(arsip, "w", zipfile.ZIP_DEFLATED) as zf:
for file in sumber.rglob("*"):
if file.is_file():
zf.write(file, file.relative_to(sumber))
print(f"Backup dibuat: {arsip}")
Script ini membuat file seperti backup/dokumen_2026-10-08.zip yang struktur foldernya tetap terjaga. Backup yang tidak pernah diuji belum bisa dianggap aman, jadi coba buka arsipnya sesekali. Kalau kamu bekerja dengan database, baca juga panduan restore database.
4. Web scraping dengan BeautifulSoup
Web scraping mengambil data dari halaman web secara otomatis. Pasang library dengan pip install requests beautifulsoup4. Contoh ini membaca tiga kutipan pertama dari quotes.toscrape.com, situs yang memang dibuat untuk latihan scraping:
import requests
from bs4 import BeautifulSoup
response = requests.get("https://quotes.toscrape.com", timeout=10)
response.raise_for_status()
soup = BeautifulSoup(response.text, "html.parser")
for kutipan in soup.select("div.quote")[:3]:
teks = kutipan.select_one("span.text").get_text(strip=True)
penulis = kutipan.select_one("small.author").get_text(strip=True)
print(f"{penulis}: {teks}")
Dokumentasi parser-nya ada di BeautifulSoup. Untuk situs sungguhan, periksa file robots.txt dan kebijakan situs sebelum scraping. Jangan membebani server tujuan, hindari data pribadi atau yang dilindungi hak cipta, dan beri jeda antar request.
5. Membersihkan data dengan Pandas dan NumPy
Pandas memudahkan pembersihan data tabel, sedangkan NumPy efisien untuk operasi numerik pada banyak data sekaligus. Contoh ini membersihkan file CSV: menghapus baris duplikat dan mengisi nilai kosong. Pasang dulu dengan pip install pandas.
import pandas as pd
df = pd.read_csv("data.csv")
df = df.drop_duplicates()
df["harga"] = df["harga"].fillna(0)
df.to_csv("data_bersih.csv", index=False)
print(f"{len(df)} baris tersimpan")
Saya uji dengan CSV berisi tiga baris (satu duplikat dan satu harga kosong). Hasilnya dua baris, dan harga kosong menjadi 0. Dari data yang sudah bersih kamu bisa membuat laporan dalam format Excel atau PDF dan menjadwalkannya dengan project 1.
6. API integration dengan retry dan multithreading
Hampir semua layanan web modern punya API. Dengan requests, kamu bisa mengambil atau mengirim data ke layanan itu. Karena jaringan kadang bermasalah, tambahkan retry supaya script tidak langsung gagal:
import time
import requests
def ambil_json(url, percobaan=3):
for ke in range(1, percobaan + 1):
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as error:
print(f"Percobaan {ke} gagal: {error}")
time.sleep(ke)
return None
data = ambil_json("https://api.github.com")
if data:
print(list(data)[:3])
Kode ini mencoba hingga tiga kali dengan jeda yang bertambah. Saya juga mengujinya dengan alamat yang tidak ada, dan hasilnya pesan gagal lalu None. Kalau kamu perlu memanggil banyak alamat sekaligus, ThreadPoolExecutor menjalankannya secara paralel:
from concurrent.futures import ThreadPoolExecutor
import requests
def cek(url):
response = requests.get(url, timeout=10)
return url, response.status_code
urls = ["https://example.com", "https://example.org", "https://example.net"]
with ThreadPoolExecutor(max_workers=3) as executor:
for url, status in executor.map(cek, urls):
print(url, status)
7. Automation testing dengan Selenium
Selenium WebDriver mengendalikan browser dan meniru klik serta pengisian form seperti manusia. Setelah memasang library dengan pip install selenium, kamu perlu menyiapkan driver untuk browser yang dipakai. Alurnya: script membuka halaman, mencari kolom input, mengisinya dengan data uji, lalu menekan tombol submit untuk melihat hasilnya.
Script semacam ini bisa dihubungkan ke pipeline deployment, jadi tes berjalan otomatis setiap kali ada kode baru. Contoh kode untuk bagian ini tidak saya sertakan karena tidak saya uji di artikel ini. Untuk langkah resminya, ikuti dokumentasi Selenium. Kalau tertarik dengan pipeline, baca cara setup CI/CD pipeline dalam 30 menit.
Perbandingan 7 project
| Project | Modul atau library | Tingkat kesulitan | Cocok untuk |
|---|---|---|---|
| Penjadwalan tugas | schedule, APScheduler | Mudah | Menjalankan script rutin |
| Merapikan file | pathlib, shutil | Mudah | Folder unduhan yang berantakan |
| Backup | zipfile | Mudah | Menyalin folder penting |
| Web scraping | requests, BeautifulSoup | Sedang | Mengumpulkan data dari web |
| Pembersihan data | Pandas, NumPy | Sedang | Laporan dan data tabel |
| API dan paralel | requests, ThreadPoolExecutor | Sedang | Integrasi antar layanan |
| Automation testing | Selenium | Sedang sampai sulit | Menguji aplikasi web |
Cara memilih tugas yang tepat untuk diotomatisasi
Pilih tugas yang kamu ulang setiap hari atau setiap minggu dan punya aturan yang jelas. Mulailah dari yang kecil, seperti memindahkan file atau mengirim email notifikasi. Hindari dulu pekerjaan yang butuh penilaian subjektif atau kreativitas tinggi. Kalau kamu ingin lanjut ke proyek lain, lihat bot WhatsApp Python dan tools DevOps terbaik.
Tips agar script automation tetap aman
Pasang timeout di setiap request, simpan kredensial di environment variable, dan catat log supaya kamu bisa melacak masalah. Uji script di folder atau data contoh sebelum menjalankannya pada data asli. Untuk tugas terjadwal, cek secara berkala bahwa hasilnya masih benar.
Kesalahan umum
Kesalahan yang paling sering adalah menjalankan script pemindah file di folder penting tanpa mencobanya dulu. Banyak orang juga lupa memasang timeout dan retry di script API. Ada pula yang melakukan scraping tanpa memeriksa robots.txt dan tanpa jeda. Terakhir, backup yang tidak pernah diuji sering baru ketahuan bermasalah saat dibutuhkan.
Pertanyaan yang sering diajukan
Berikut jawaban singkat untuk pertanyaan yang paling sering muncul dari pemula.
Apa itu Python automation dan bagaimana cara kerjanya?
Python automation adalah penggunaan kode Python untuk menjalankan tugas secara otomatis. Kamu menuliskan langkah-langkahnya sekali, lalu script mengulanginya tanpa lelah dan tanpa salah ketik.
Apakah aku harus jadi programmer ahli untuk memulai?
Tidak. Sintaks Python mudah dipahami, dan dokumentasi di python.org ramah untuk pemula. Mulailah dari tugas kecil yang spesifik, lalu tambah kompleksitasnya sedikit demi sedikit.
Tools apa saja yang umum dipakai untuk script automation?
BeautifulSoup untuk membaca HTML, Selenium untuk mengendalikan browser, Pandas untuk data, dan modul subprocess untuk menjalankan program lain dari script. Untuk tugas terjadwal, kamu bisa memakai cron atau task scheduler bawaan sistem operasi.
Bagaimana cara memilih tugas yang tepat untuk diotomatisasi?
Pilih tugas berulang dengan aturan yang jelas dan langkah yang bisa diprediksi. Mulailah dari yang kecil, misalnya memindahkan file.
Di mana aku bisa belajar lebih lanjut?
Dokumentasi resmi di docs.python.org adalah sumber yang paling bisa dipercaya, dan PyPI berisi library tambahan.
Kesimpulan
Python automation cocok untuk pekerjaan yang berulang, dari merapikan file dan membuat backup sampai mengambil data dari web dan memanggil API. Tujuh project di atas bisa kamu mulai dari yang paling mudah.
Langkah pertama yang paling masuk akal adalah menjalankan project 2 di folder uji. Kalau berhasil, jadwalkan dengan project 1 supaya berjalan tanpa kamu ingat. Setelah itu, library Python automation untuk DevOps bisa jadi bacaan lanjutan.

DevOps Engineer. Menulis tentang Kubernetes, cloud, platform dan automation. Tentang Prabu

