
idfuturetechin.com – Kamus data (data dictionary) panduan yang menjelaskan arti, format, dan aturan dalam setiap kolom di file Excel kamu. Bayangin, kalau proyek makin besar dan kolom-kolom Excel makin banyak, tanpa kamus data bakal bikin pusing sendiri—siapa tahu “ID” itu sebenarnya “Invoice Date” atau “Item Description”?
Excel pertama kali dirilis pada tahun 1985 dan tetap bertahan hingga saat ini. Excel telah bertahan dari munculnya basis data relasional, evolusi banyak bahasa pemrograman, Internet dengan aplikasi daringnya yang tak terbatas jumlahnya, dan akhirnya, Excel juga bertahan di era AI.
Mereka bisa membaca, memahami, dan memproses berkas Excel secara otomatis, lalu memberikan jawaban atau laporan yang langsung “siap pakai”.
- OpenPyXL: library Python andalan buat baca-tulis file Excel.
- AI Agents: asisten pintar (misalnya berbasis OpenAI API) yang bantu generate deskripsi kolom, validasi, dan dokumentasi otomatis.
Apa Itu OpenPyXL dan AI Agents?
- OpenPyXL
OpenPyXL adalah library Python untuk memanipulasi file Excel (XLSX) tanpa harus buka Excel manual. kalian bisa membaca sheet, menulis cell, membuat format, sampai menambahkan formula. Dokumentasi resminya ada di readthedocs.io sumber wajib buat belajar basic hingga advanced. - AI Agents
Istilah AI Agents di sini merujuk pada program yang menggunakan model bahasa besar (LLM) seperti GPT-4 untuk menyelesaikan serangkaian tugas. Contoh framework populer: LangChain dan Auto-GPT.
AI Agents bisa kita “atur” supaya:- Menganalisis header file Excel.
- Menghasilkan deskripsi untuk tiap kolom.
- Menerapkan aturan validasi (misal: kolom tanggal harus format YYYY-MM-DD).
- Menyusun dokumentasi lengkap jadi kamus data.
Sebelum mulai, pastikan:
- Python terinstal (versi 3.8+).
- Virtual environment (opsional tapi direkomendasikan):
python -m venv venv source venv/bin/activate # Linux/Mac .\venv\Scripts\activate # Windows
- Install dependencies:
pip install openpyxl openai langchain pandas
openpyxl
untuk Excel.openai
untuk akses API GPT.langchain
sebagai kerangka kerja AI Agent.pandas
untuk memudahkan manipulasi data.
Baca Data Excel dengan OpenPyXL
Mulai dengan script sederhana:
from openpyxl import load_workbook
wb = load_workbook('data.xlsx')
sheet = wb.active
# Baca header (baris pertama)
headers = [cell.value for cell in sheet[1]]
print("Header:", headers)
Hasilnya: list nama kolom, misal ["ID", "Nama Produk", "Harga", "Tanggal Penjualan"]
.
Kirim Header ke AI Agent untuk Deskripsi Otomatis
Sekarang kita pakai AI Agent via LangChain + OpenAI:
from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI
llm = OpenAI(temperature=0)
def describe_columns(headers):
prompt = (
"Buat deskripsi singkat untuk setiap kolom Excel berikut:\n"
f"{headers}\n\n"
"Format: Kolom: Deskripsi"
)
response = llm(prompt)
return response
descriptions = describe_columns(headers)
print(descriptions)
Contoh output:
ID: Nomor unik untuk setiap transaksi
Nama Produk: Nama barang yang terjual
Harga: Nilai harga dalam mata uang Rupiah
Tanggal Penjualan: Tanggal transaksi (YYYY-MM-DD)
Validasi dan Perbaikan Deskripsi
AI itu pintar, tapi kadang perlu dicek ulang. Bisa buat loop sederhana untuk konfirmasi:
# Pisah baris respons jadi dict
col_dict = {line.split(":")[0].strip(): line.split(":")[1].strip() for line in descriptions.split("\n") if ":" in line}
# Tampilkan ke user
for col, desc in col_dict.items():
print(f"{col} → {desc}")
Nanti, kalian bisa edit manual di dict col_dict
sebelum generate kamus akhir.
Buat Sheet Kamus Data di Excel
Setelah deskripsi oke, saatnya menulis ke sheet baru:
from openpyxl import Workbook
# Tambah sheet baru
ws_meta = wb.create_sheet(title="Data Dictionary")
# Header kolom kamus
ws_meta.append(["Kolom", "Deskripsi", "Tipe Data", "Aturan Validasi"])
# Loop tiap kolom
for col in headers:
desc = col_dict.get(col, "")
# Contoh kita asumsikan tipe data string, kecuali 'Harga' (float) dan 'Tanggal' (date)
tipe = "String" if col not in ["Harga", "Tanggal Penjualan"] else ("Float" if col=="Harga" else "Date")
rule = "Non-empty" # contoh aturan umum
ws_meta.append([col, desc, tipe, rule])
# Simpan workbook baru
wb.save('data_dengan_kamus.xlsx')
Hasil akhirnya: file data_dengan_kamus.xlsx
dengan sheet “Data Dictionary” yang berisi kamus lengkap.
Automasi Lengkap dengan AI Agent
Kalau mau tingkat lanjut, integrasikan initialize_agent
LangChain untuk:
- Membaca file Excel
- Generate deskripsi
- Tulis sheet kamus
- Simpan file
Membaca File Excel dengan Pandas
LangChain agent kita butuh tool yang bisa membaca Excel. Pakai pandas.read_excel
:
import pandas as pd
# Baca sheet 'Data' dari file data.xlsx
df = pd.read_excel('data.xlsx', sheet_name='Data')
print(df.head())
Kalau file Kalian berisi banyak sheet, tinggal ganti sheet_name='NamaSheet'
atau sheet_name=None
untuk baca semua sekaligus.
Definisikan Tool “Generate Deskripsi”
Kita mau agent bisa generate deskripsi per baris. Buat function Python sebagai tool:
from typing import List, Dict
import openai
from langchain.tools import BaseTool
class GenerateDescriptionTool(BaseTool):
name = "generate_description"
description = "Generate deskripsi ringkas berdasarkan data baris"
def _run(self, data: List[Dict]) -> str:
prompt = f"Buat deskripsi singkat untuk data berikut:\n{data}"
response = openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}],
max_tokens=150
)
return response.choices[0].message.content.strip()
- Tool ini menerima list of dict (setiap dict mewakili satu baris).
- Kita gunakan model GPT dari OpenAI untuk generate.
Inisialisasi Agent dengan initialize_agent
Sekarang gabungkan tool ke dalam agent:
from langchain.agents import initialize_agent, AgentType
from langchain.llms import OpenAI
# Inisialisasi LLM
llm = OpenAI(model_name="gpt-4o-mini", temperature=0.2)
# Daftar tools
tools = [GenerateDescriptionTool()]
# Buat agent
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
- AgentType.ZERO_SHOT_REACT_DESCRIPTION
verbose=True
bantu debug dengan log lengkap.
Proses Data dan Tambahkan Sheet “Kamus”
Misalnya kalian ingin buat sheet baru bernama “Kamus” yang berisi:
Kolom Asli | Deskripsi |
---|---|
name | “Nama pelanggan” |
age | “Usia pelanggan dalam tahun” |
… | … |
Langkah-langkahnya:
- Ambil nama kolom
- Panggil agent.generate_description
- Bangun DataFrame baru
- Tuliskan ke Excel
# 1. Ambil kolom
columns = df.columns.tolist()
col_dicts = [{"column": col} for col in columns]
# 2. Generate deskripsi
kamus_deskripsi = agent.run(col_dicts)
# agent.run bisa mengembalikan teks; parse jadi list of dict
import json
kamus_list = json.loads(kamus_deskripsi)
# 3. DataFrame kamus
df_kamus = pd.DataFrame(kamus_list)
# 4. Simpan Excel dengan sheet baru
with pd.ExcelWriter('data_with_kamus.xlsx', engine='openpyxl', mode='w') as writer:
df.to_excel(writer, sheet_name='Data', index=False)
df_kamus.to_excel(writer, sheet_name='Kamus', index=False)
Pastikan
agent.run
menghasilkan JSON yang valid. kalian bisa adjust prompt agar output strict JSON.
6. Simpan File dengan Format yang Tepat
Kalian bisa simpan menggunakan parameter engine
openpyxl atau xlsxwriter. Contoh di atas pakai openpyxl
. Kalau mau overwrite file lama, ganti mode='w'
.
Terakhir, cek file data_with_kamus.xlsx
di direktori kerja.
Tinggal panggil satu fungsi, misalnya run_data_dictionary_agent('data.xlsx')
, dan AI Agent akan kerjakan semuanya.
OpenPyXL dan AI Agents adalah solusi cerdas untuk membuat kamus data Excel secara otomatis. Dari sekadar membaca header hingga menulis dokumentasi lengkap, semua bisa disederhanakan dengan skrip Python + AI. Selain hemat waktu, hasilnya juga konsisten dan mudah diperbarui.
sekarang kita dapat memanfaatkan AI untuk membantu kita menangani file-file tersebut dan membuatnya lebih baik. Kecerdasan Buatan menyentuh banyak aspek kehidupan kita.
Mari manfaatkan AI dan bekerja lebih cerdas setiap hari!
jika ada salah kata dan salah penulisan atau bahkan salah menaruh rasa kami mohon maaf.
Sekian dan terima kasih !
Jangan lupa follow akun Instagram, Facebook, Youtube Digivestasi agar Anda tetap update