Lompat ke konten
Automation

Python Automation: 7 Project untuk Membantu Kerja Harian

Ditulis oleh PrabuDiposting pada 8 menit baca

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?

Ilustrasi Python automation untuk membantu kerja harian

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

ProjectModul atau libraryTingkat kesulitanCocok untuk
Penjadwalan tugasschedule, APSchedulerMudahMenjalankan script rutin
Merapikan filepathlib, shutilMudahFolder unduhan yang berantakan
BackupzipfileMudahMenyalin folder penting
Web scrapingrequests, BeautifulSoupSedangMengumpulkan data dari web
Pembersihan dataPandas, NumPySedangLaporan dan data tabel
API dan paralelrequests, ThreadPoolExecutorSedangIntegrasi antar layanan
Automation testingSeleniumSedang sampai sulitMenguji 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.

Foto Prabu
Prabu

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