Auto Rename File Berdasarkan Isi: Sistem Otomatisasi Rapi Tanpa Sentuhan Manusia

“File tanpa nama bikin pusing. Komputer yang cerdas harus bisa baca isi file, lalu kasih nama sendiri. Ini bukan mimpi — ini automasi simpel tapi brilian.”

Pernah Kebanjiran File 'Untitled'?

Kita semua pernah. Folder penuh file bernama NewDocument(1).pdf, Scan0002.jpg, Untitled.txt, dan sejenisnya. Awalnya niat simpan sebentar, tapi tiba-tiba folder penuh dengan kekacauan digital. Masalah kecil? Mungkin. Tapi waktu terbuang karena harus rename satu per satu? Itu pemborosan.

“Produktivitas bukan soal kerja keras, tapi kerja cerdas. Kalau komputer bisa bantu, kenapa harus manual?”

Kenapa Harus Rename Otomatis?

  • Rapi Tanpa Ribet: File yang jelas namanya mudah dicari, mudah dibagi.
  • Hemat Waktu: Bayangkan rename 100 file — manual? Lelah. Otomatis? Nikmat.
  • Zero Human Error: Tak ada typo, tak ada nama duplikat, tak ada ‘salah simpan’.
  • Profesionalisme: Apakah kita mau kasih klien file Document1_final_final_bener.pdf? Harusnya: Laporan_Penjualan_Juni_2025.pdf.
“File yang tak punya nama jelas seperti tamu tak dikenal. Jangan biarkan kacau dalam ruang kerja digital kita.”

Apa yang Akan Kita Bangun?

Sistem sederhana tapi cerdas:

  • File baru masuk folder, sistem otomatis membaca isinya.
  • Berdasarkan isi (judul dokumen, tanggal scan, kata kunci), file langsung diberi nama yang relevan.
  • Semua berjalan di belakang layar. Tanpa klik. Tanpa stres.

Alat Tempur Kita (Ringan, Gratis, Aman)

  1. Python: Download di python.org/downloads
  2. Library: PyPDF2, Pillow, Watchdog
  3. Notepad++ atau editor teks lainnya.
  4. Folder Khusus: Tempat file masuk.
“Kita tak perlu komputer super mahal, cukup sistem cerdas dan niat untuk nggak lagi terjebak kekacauan file.”

Langkah 1: Instalasi Tools

A. Instal Python

Download dan instal, jangan lupa centang ‘Add Python to PATH’.

B. Instal Library

pip install PyPDF2 Pillow watchdog

Langkah 2: Script Rename Berdasarkan Isi

A. Rename PDF Berdasarkan Judul Halaman

import os
from PyPDF2 import PdfReader

def rename_pdf(file_path):
    try:
        reader = PdfReader(file_path)
        first_page = reader.pages[0]
        text = first_page.extract_text()
        if text:
            title_line = text.split('\n')[0]
            clean_title = ''.join(c for c in title_line if c.isalnum() or c in (' ', '_')).strip()
            new_name = f"{clean_title}.pdf"
            dir_path = os.path.dirname(file_path)
            new_path = os.path.join(dir_path, new_name)
            os.rename(file_path, new_path)
            print(f"Renamed to: {new_name}")
    except Exception as e:
        print(f"Failed to rename {file_path}: {e}")

B. Rename Gambar Berdasarkan Tanggal dan Metadata

from PIL import Image
from PIL.ExifTags import TAGS
import datetime

def rename_image(file_path):
    try:
        img = Image.open(file_path)
        exif_data = img._getexif()
        date_str = None
        if exif_data:
            for tag_id, value in exif_data.items():
                tag = TAGS.get(tag_id, tag_id)
                if tag == 'DateTime':
                    date_str = value
                    break
        if date_str:
            date_obj = datetime.datetime.strptime(date_str, "%Y:%m:%d %H:%M:%S")
            new_name = f"{date_obj.strftime('%Y-%m-%d_%H-%M-%S')}.jpg"
        else:
            new_name = f"Image_{int(datetime.datetime.now().timestamp())}.jpg"
        dir_path = os.path.dirname(file_path)
        new_path = os.path.join(dir_path, new_name)
        os.rename(file_path, new_path)
        print(f"Renamed to: {new_name}")
    except Exception as e:
        print(f"Failed to rename image {file_path}: {e}")

Langkah 3: Sistem Pantau Folder

from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import time

class RenameHandler(FileSystemEventHandler):
    def on_created(self, event):
        if not event.is_directory:
            file_ext = os.path.splitext(event.src_path)[1].lower()
            time.sleep(1)
            if file_ext == '.pdf':
                rename_pdf(event.src_path)
            elif file_ext in ['.jpg', '.jpeg', '.png']:
                rename_image(event.src_path)

if __name__ == "__main__":
    folder_to_watch = "C:/Path/To/Folder"
    event_handler = RenameHandler()
    observer = Observer()
    observer.schedule(event_handler, folder_to_watch, recursive=False)
    observer.start()
    print("Watching folder... Press Ctrl+C to stop.")
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

Bonus: Log Otomatis

with open("rename_log.txt", "a") as log_file:
    log_file.write(f"{datetime.datetime.now()}: Renamed {file_path} to {new_name}\n")

Penutup

“Teknologi itu bukan soal canggih, tapi soal memudahkan hidup. Rename otomatis bukan sekadar rapi, tapi tanda kita menghargai waktu.”
“Dunia kerja itu cepat. Kalau kita lambat cuma karena file berantakan, itu bukan salah sistem — itu salah kita karena belum otomatisasi.”
NextGen Digital... Welcome to WhatsApp chat
Howdy! How can we help you today?
Type here...