Lewati ke konten utama

F1 · Modul 15

Otomasi sehari-hari

51 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Otomasi aman: coba dulu (dry run), jangan menimpa, jangan menghapus, dan catat setiap tindakan.
  • Path.glob menemukan berkas; selalu urutkan hasilnya dengan sorted(...).
  • Ganti nama massal: susun rencana, periksa exists(), ganti hanya bila diminta. rename bisa menimpa diam-diam di macOS dan Linux.
  • Gabung CSV dan laporan Markdown memakai pola yang sudah kamu kenal: csv, list, dan "\n".join.
  • Impor mutasi: baris yang rusak dilewati dan dilaporkan, tidak menghentikan seluruh impor.

Sebelum mulai

±5 jam (termasuk lab di komputermu).

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: mencari berkas dengan Path.glob; mengganti nama banyak berkas sekaligus dengan mode coba (dry run) dan tanpa menimpa berkas lain; membuat cadangan dengan shutil; menggabung banyak CSV menjadi satu; menyusun laporan Markdown dengan "\n".join; mengubah unduhan mutasi CSV menjadi transaksi yang rapi; memakai opsi ya/tidak di argparse; dan mengenal cara menjadwalkan skrip dengan cron atau Task Scheduler.

Proyek: kasku langkah 15: impor_mutasi di berkas baru penyimpanan.py, perintah impor (dengan --coba) dan laporan (menulis laporan-YYYY-MM.md).

Istilah di modul ini (46)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 30 contoh kode
  • 8 berkas latihan + tes
Lihat isi zip
  • BACA-DULU.txt
  • data/mutasi-2026-09.csv
  • data/mutasi-2026-10.csv
  • data/catatan.txt
  • data/arsip/mutasi-2026-08.csv
  • struk/Struk_Belanja-01.JPG
  • struk/IMG_0002.jpg
  • struk/img-0002.jpg
  • struk/sudah-rapi.jpg
  • cabang/pusat.csv
  • cabang/pasar.csv
  • mutasi.csv
  • laporan/okt.csv
  • laporan/sep.csv
  • laporan/catatan.txt
  • laporan/arsip/agu.csv
  • foto/Struk_01.JPG
  • foto/Struk_02.JPG
  • foto/struk-02.jpg
  • foto/rapi.jpg
  • cabang-beda/a.csv
  • cabang-beda/b.csv
  • bank-lain.csv
  • format.py
  • kas-uji.json
  • data.py
  • penyimpanan.py
  • contoh_f1_15_41.py
  • contoh_f1_15_88.py
  • contoh_f1_15_117.py
  • contoh_f1_15_137.py
  • contoh_f1_15_159.py
  • contoh_f1_15_183.py
  • contoh_f1_15_307.py
  • contoh_f1_15_554.py
  • contoh_f1_15_588.py
  • contoh_f1_15_614.py
  • contoh_f1_15_657.py
  • contoh_f1_15_845.py
  • contoh_f1_15_863.py
  • contoh_f1_15_895.py
  • contoh_f1_15_910.py
  • contoh_f1_15_1027.py
  • contoh_f1_15_1065.py
  • contoh_f1_15_1085.py
  • contoh_f1_15_1110.py
  • contoh_f1_15_1153.py
  • contoh_f1_15_1179.py
  • contoh_f1_15_1243.py
  • contoh_f1_15_1289.py
  • contoh_f1_15_1309.py
  • contoh_f1_15_2414.py
  • contoh_f1_15_2442.py
  • contoh_f1_15_2488.py
  • contoh_f1_15_2511.py
  • contoh_f1_15_2538.py
  • contoh_f1_15_2842.py
  • test_f1_15_1.py
  • test_f1_15_2.py
  • test_f1_15_3.py
  • test_f1_15_4.py
  • test_f1_15_5.py
  • test_f1_15_6.py
  • test_f1_15_7.py
  • test_f1_15_8.py