Kita akan menggabungkan Pandas untuk mengolah tabel dan Matplotlib untuk visualisasi.
š Kode Lengkap Proyek
import pandas as pd
import matplotlib.pyplot as plt
def jalankan_otomasi_data(file_input):
print(f"--- Memulai Proses Pembersihan: {file_input} ---")
try:
# 1. Load Data
df = pd.read_csv(file_input)
# 2. Pembersihan Data Kosong (Cleaning)
# Menghapus baris yang semua kolomnya kosong
df_clean = df.dropna(how='all')
# Mengisi kolom 'Skor' yang kosong dengan nilai rata-rata
if 'Skor' in df_clean.columns:
rata_rata = df_clean['Skor'].mean()
df_clean['Skor'] = df_clean['Skor'].fillna(rata_rata)
# 3. Merapikan Teks (Standardization)
# Mengubah kolom 'Nama' jadi Format Judul (Huruf Besar di Awal)
if 'Nama' in df_clean.columns:
df_clean['Nama'] = df_clean['Nama'].str.title().str.strip()
# 4. Analisis Ringkas
print("\n--- Ringkasan Data ---")
print(df_clean.describe())
# 5. Export Hasil ke Excel/CSV Baru
nama_file_baru = "data_bersih_final.csv"
df_clean.to_csv(nama_file_baru, index=False)
print(f"\nā
File bersih berhasil disimpan: {nama_file_baru}")
# 6. Visualisasi Otomatis
if 'Nama' in df_clean.columns and 'Skor' in df_clean.columns:
plt.figure(figsize=(10, 6))
plt.bar(df_clean['Nama'], df_clean['Skor'], color='skyblue')
plt.title('Laporan Skor Per Siswa (Otomatis)')
plt.xlabel('Nama Siswa')
plt.ylabel('Skor')
plt.xticks(rotation=45)
plt.tight_layout()
# Simpan grafik
plt.savefig('laporan_visual.png')
print("ā
Grafik laporan berhasil dibuat: laporan_visual.png")
plt.show()
except Exception as e:
print(f"ā Terjadi kesalahan: {e}")
# Jalankan Proyek (Pastikan kamu punya file 'data_mentah.csv')
# jalankan_otomasi_data('data_mentah.csv')
š” Analisis "Sihir" di Balik Kode Ini
str.title().str.strip(): Ini sangat berguna buat bersihin input user yang berantakan (misal: " kAy " jadi "Kay").fillna(rata_rata): Dalam dunia AI/Data, kita gak boleh sembarang hapus data. Mengisi data kosong dengan nilai rata-rata adalah salah satu teknik standar agar analisis tetap akurat.to_csv(): Ini adalah cara kita "menghasilkan produk" berupa file baru yang siap dikirim ke bos atau klien.plt.savefig(): Bayangkan kamu bikin script ini jalan setiap jam 8 pagi. Kamu bakal dapet file gambar laporan terbaru di folder kamu tanpa perlu buka Excel sama sekali!
šÆ Kesimpulan
Selamat! Kamu sudah menyelesaikan Season 2. Kamu bukan lagi sekadar "orang yang bisa coding", tapi sudah jadi "Orang yang bisa menyelesaikan masalah data".
Ilmu di Season 2 ini (terutama Pandas & NumPy) adalah syarat mutlak sebelum kita menyentuh materi AI Agent dan LLM Integration. Tanpa data yang bersih, AI tercanggih pun gak akan bisa kasih jawaban yang bener.