- slide/: 16 Marp slide files with inline UPB CSS theme (slide-01 through slide-16, covering all RTI-20252 topics) - slide/theme/: upb.css canonical theme + logo-upb.png - docs/AI-BOOK-PROMPT-TEMPLATE.md: RTI-20252 book authoring prompt
40 KiB
| marp | paginate | class | header | footer |
|---|---|---|---|---|
| true | true | bagian-iii | RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen | Helmi Bahar Alim, S.Kom., M.Kom. | 2026 |
Bab 11 — Data Validation & Integrity
Memastikan Data yang Dikumpulkan Dapat Dipercaya
Pertemuan 11 (M11) | Sub-CPMK 3.3 | CPMK03 | CPL06
Fase: Executing (M9–M11) · Bagian III: Execution
Universitas Putra Bangsa | Fak. Sains & Teknologi · Prodi Teknik Informatika
Agenda Pertemuan 11
- Mengapa validasi data itu urusan peneliti, bukan pre-processing
- Data Trust Model — pipeline dari Raw ke Analysis Ready
- Empat Pilar Kualitas Data
- Proses validasi step-by-step
- Anomaly detection — outlier, missing values, inkonsistensi
- Alignment data–eksperimen
- Cognitive Traps & Studi Kasus
- Output Praktis: Dataset Tervalidasi + Catatan Anomali
Capaian Pembelajaran
Setelah pertemuan ini, mahasiswa mampu:
- Menjelaskan perbedaan validasi data dan preprocessing data
- Menerapkan 4 pilar kualitas data sebagai kriteria penerimaan dataset
- Melaksanakan proses validasi (format → range → consistency → logic)
- Mendokumentasikan anomali yang ditemukan dan keputusan yang diambil
- Memeriksa alignment antara data yang dikumpulkan dan desain eksperimen
Sub-CPMK 3.3 → Memvalidasi integritas data eksperimen (CPL06)
Data Trust Model
Setiap langkah harus meningkatkan kepercayaan terhadap data
Raw Data (dari eksperimen) ↓ Data Cleaning (format, struktur) ↓ Consistency Check (antar-run, antar-skenario) ↓ Validation (range, logic, alignment) ↓ Trusted Data (dengan dokumentasi anomali) ↓ Analysis Ready (siap Bab 13)
Validasi ≠ Preprocessing. Validasi memastikan data benar. Preprocessing mempersiapkan data untuk analisis. Urutannya tidak bisa dibalik.
Empat Pilar Kualitas Data
Standar yang harus dipenuhi oleh setiap dataset penelitian
| Pilar | Definisi | Pertanyaan Kunci | Contoh Pelanggaran |
|---|---|---|---|
| Accuracy (Akurasi) | Data mencerminkan fenomena yang diukur | Apakah nilai ini masuk akal? | F1=1.02 (mustahil) |
| Consistency (Konsistensi) | Tidak ada kontradiksi dalam dataset | Apakah run yang sama menghasilkan format yang sama? | Skenario A: nilai 0–1, Skenario B: nilai 0–100 |
| Completeness (Kelengkapan) | Semua yang seharusnya ada, ada | Adakah run yang hilang? | 10 run direncanakan, 8 di CSV |
| Validity (Validitas) | Data sesuai dengan definisi variabel dalam desain | Apakah yang diukur sesuai dengan RQ? | Mengukur accuracy padahal RQ butuh recall |
Proses Validasi Data — 4 Tahap
Tahap 1 — Format Validation
# Cek struktur CSV
import pandas as pd
df = pd.read_csv('exp03_summary.csv')
print(df.dtypes) # Apakah kolom numerik dibaca sebagai float?
print(df.shape) # Apakah jumlah baris sesuai rencana?
print(df.isnull().sum()) # Apakah ada missing values?
Tahap 2 — Range Validation
# Validasi range metrik
assert (df['f1_micro'] >= 0).all() and (df['f1_micro'] <= 1).all(), "F1 out of range!"
assert (df['precision'] >= 0).all() and (df['precision'] <= 1).all(), "Precision out of range!"
assert (df['time_sec'] > 0).all(), "Training time harus positif!"
Proses Validasi Data — Lanjutan
Tahap 3 — Consistency Check
# Cek jumlah run per skenario (harus 10 per skenario)
run_counts = df.groupby('scenario')['run_id'].count()
print(run_counts)
# Output yang diharapkan:
# scenario
# attention 10
# baseline 10
# no-attention 10
Tahap 4 — Logic Validation (Alignment dengan Desain)
□ Semua skenario yang direncanakan ada di dataset?
□ Semua random seed yang dijadwalkan tereksekusi?
□ Metrik yang ada di dataset ← sesuai dengan RQ dan hipotesis?
□ Satuan metrik konsisten? (0–1 atau 0–100%?)
Anomaly Detection
Tiga jenis anomali yang paling sering ditemukan:
1. Outlier Statistik
from scipy import stats
z_scores = stats.zscore(df['f1_micro'])
outliers = df[abs(z_scores) > 3]
print("Outliers:", outliers)
Jika ditemukan outlier → jangan langsung dibuang. Investigasi dulu:
- Apakah log menunjukkan sesuatu yang aneh pada run tersebut?
- Apakah hardware state berbeda?
- Dokumentasikan alasan, baru putuskan: retain atau exclude with justification.
2. Missing Values
Cek cross-referensi dengan execution log. Run hilang = re-run jika memungkinkan.
3. Inkonsistensi Format
Contoh: kolom time_sec yang seharusnya float, tertuliskan "N/A" di beberapa baris.
Cognitive Traps
Bab 11 — Data Validation
Cognitive Traps — Bab 11
"Data dari eksperimen saya sendiri pasti sudah benar" Eksperimen yang dirancang baik pun bisa menghasilkan data yang cacat karena bug kecil, kondisi hardware, atau kesalahan konfigurasi. Validasi bukan soal ketidakpercayaan — tapi standar ilmiah.
"Outlier dibuang karena pasti error" Outlier bisa menjadi temuan paling menarik dalam penelitian. Membuang outlier tanpa investigasi = kehilangan insight + manipulasi data. Selalu dokumentasikan outlier dan alasan keputusan.
"Validasi data itu sama dengan preprocessing" Validasi = memastikan data benar (integritas). Preprocessing = mempersiapkan data untuk analisis (transformasi). Urutan wajib: validasi dulu, baru preprocessing. Tidak bisa dibalik.
"Kalau run-nya banyak, satu yang error tidak apa-apa" Setiap run yang cacat mempengaruhi mean dan std. Dalam 10 run, 1 run error = 10% data rusak = seluruh analisis terdampak.
Studi Kasus 1 — Data Inconsistency (Basic)
Konteks: Mahasiswa membandingkan Model A vs Model B, 10 run masing-masing.
Masalah yang ditemukan saat validasi:
- Model A: F1-score dalam skala 0–1 (0.872, 0.865, dst)
- Model B: F1-score dalam skala 0–100 (87.5, 86.2, dst)
- Keduanya berasal dari library yang berbeda (sklearn vs torchmetrics)
Dampak jika tidak divalidasi:
- Model A mean = 0.869
- Model B mean = 86.8 → tampak 100x lebih buruk
- Analisis komparatif menjadi tidak valid
Solusi: Normalisasi ke skala yang sama setelah validasi mengidentifikasi ini, dan dokumentasikan dalam catatan preprocessing.
Studi Kasus 2 — Missing Runs + Outlier (Advanced)
Konteks: 10 run direncanakan per skenario. Dataset hanya berisi 9 run. Run ke-7 juga tampak anomali (F1 = 0.342, jauh di bawah mean 0.87).
Investigasi:
- Missing run: Cross-cek dengan execution log → run ke-6 gagal karena
CUDA OOMdan tidak di-log dengan benar - Outlier run-7: Log menunjukkan GPU temperature spike 85°C selama run → thermal throttling aktif
Keputusan yang didokumentasikan:
Anomali 1 — Run ke-6: Eksekusi gagal (CUDA OOM).
Keputusan: Re-run dengan batch_size=16 (bukan 32).
Anomali 2 — Run ke-7: Thermal throttling aktif (85°C).
Keputusan: Exclude dari analisis. Alasan: kondisi hardware tidak normal.
Pengganti: Re-run dengan server di ruangan ber-AC.
Dokumentasi Catatan Validasi
Setiap keputusan tentang data harus terdokumentasi
DATA VALIDATION REPORT — Eksperimen 3
Tanggal validasi: 2026-05-02
Peneliti: [Nama]
HASIL VALIDASI FORMAT : PASS — semua kolom sesuai tipe yang diharapkan
HASIL VALIDASI RANGE : PASS — semua nilai F1 dalam [0,1]
HASIL VALIDASI KONSISTENSI: FAIL → lihat anomali 1
HASIL VALIDASI ALIGNMENT : PASS — semua metrik sesuai RQ
ANOMALI YANG DITEMUKAN:
[ANO-01] Run exp03_s1_r6: Missing. Penyebab: CUDA OOM.
Keputusan: Re-run. Status: Selesai (exp03_s1_r6b).
[ANO-02] Run exp03_s1_r7: Outlier (F1=0.342). Penyebab: Thermal throttling.
Keputusan: Exclude + re-run (exp03_s1_r7b).
STATUS AKHIR: Dataset valid. Siap untuk preprocessing.
Research vs Ad-Hoc — Data Handling
| Aspek | Ad-Hoc | Research |
|---|---|---|
| Validasi data | Langsung analisis | Validasi dulu sebelum apapun |
| Outlier | Dibuang atau diabaikan | Investigasi + dokumentasi keputusan |
| Missing data | Di-impute langsung | Cari tahu penyebab, pertimbangkan re-run |
| Format inconsistency | "Nanti saja saat analisis" | Temukan saat validasi, perbaiki dengan dokumentasi |
| Laporan | Hanya hasil | Hasil + catatan anomali + audit trail |
Ringkasan Pertemuan 11
| Konsep | Inti |
|---|---|
| Data Trust Model | Raw → Cleaning → Consistency → Validation → Trusted → Analysis Ready |
| 4 Pilar | Accuracy, Consistency, Completeness, Validity |
| Proses Validasi | Format → Range → Consistency → Logic (4 tahap) |
| Anomaly Handling | Investigasi dulu → keputusan berbasis bukti → dokumentasi |
| Output Wajib | Dataset tervalidasi + Catatan anomali + Validation report |
Final Statement & Output Praktis
Output Praktis M11
Kumpulkan dan lampirkan:
- Dataset tervalidasi (
exp_summary_validated.csv) - Validation report (format bebas, isi sesuai template catatan validasi)
- Catatan anomali — setiap anomali yang ditemukan dan keputusan yang diambil
Dataset ini menjadi input untuk Preprocessing (Bab 13) dan Presentasi Hasil (Bab 12).
Referensi Utama — Bab 11
-
Pipino, L. L., Lee, Y. W., & Wang, R. Y. (2002). Data quality assessment. Communications of the ACM, 45(4), 211–218.
-
Strong, D. M., Lee, Y. W., & Wang, R. Y. (1997). Data quality in context. Communications of the ACM, 40(5), 103–110.
-
Rahm, E., & Do, H. H. (2000). Data cleaning: Problems and current approaches. IEEE Data Engineering Bulletin, 23(4), 3–13.
-
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). Experimentation in software engineering. Springer.