Pembersihan Data, Penanganan Missing Value, & Transformasi
Diberikan array 1 dimensi nilai ujian numerik persis: [80, null, 75, "", 90, null, 65, 85, 100]. Sistem mengidentifikasi nilai kosong (null dan string ""), menghitung nilai rata-rata (mean) dari elemen yang valid, melakukan imputasi nilai mean, lalu mentransformasikan array menggunakan Normalisasi Min-Max ke skala 0 hingga 1.
9 Elemen
1. Array Awal
3 Data Kosong
2. Jumlah Missing Value
82.5
3. Nilai Mean (Rata-rata Valid)
9 Data Lengkap
4. Array Setelah Imputasi
Min: 65 • Max: 100
5 & 6. Nilai Min & Maksimum
Skala [0 — 1]
7. Hasil Normalisasi Min-Max
Tabel Perbandingan Sebelum dan Sesudah Cleaning & Normalisasi
Perbandingan status setiap indeks data dari nilai mentah, hasil imputasi mean, hingga transformasi skala [0, 1]
| Index | Nilai Awal | Kondisi Data | Nilai Setelah Imputasi | Keterangan Imputasi | Nilai Ternormalisasi (0 - 1) | Proses Perhitungan Min-Max |
|---|---|---|---|---|---|---|
| #0 | 80 | Valid | 80 | Nilai Asli Dipertahankan | 0.4286 | (80 - 65) / 35 = 0.4286 |
| #1 | null | Missing Value | 82.5 | Imputasi Mean (82.5) | 0.5000 | (82.5 - 65) / 35 = 0.5 |
| #2 | 75 | Valid | 75 | Nilai Asli Dipertahankan | 0.2857 | (75 - 65) / 35 = 0.2857 |
| #3 | "" (empty string) | Missing Value | 82.5 | Imputasi Mean (82.5) | 0.5000 | (82.5 - 65) / 35 = 0.5 |
| #4 | 90 | Valid | 90 | Nilai Asli Dipertahankan | 0.7143 | (90 - 65) / 35 = 0.7143 |
| #5 | null | Missing Value | 82.5 | Imputasi Mean (82.5) | 0.5000 | (82.5 - 65) / 35 = 0.5 |
| #6 | 65 | Valid | 65 | Nilai Asli Dipertahankan | 0.0000 | (65 - 65) / 35 = 0 |
| #7 | 85 | Valid | 85 | Nilai Asli Dipertahankan | 0.5714 | (85 - 65) / 35 = 0.5714 |
| #8 | 100 | Valid | 100 | Nilai Asli Dipertahankan | 1.0000 | (100 - 65) / 35 = 1 |
Penjelasan Logika & Rumus Pemrosesan Data
1. Identifikasi Nilai Hilang (Missing Value):
Data kosong pada array diidentifikasi dengan fungsi is_null() dan perbandingan string kosong "". Ditemukan 3 missing value pada indeks ke-1, 3, dan 5.
2. Perhitungan Mean Data Valid:
Nilai valid adalah: [80, 75, 90, 65, 85, 100].
Jumlah total = 495, banyak data = 6.
$$\text{Mean} = \frac{495}{6} = 82.5$$
3. Transformasi Normalisasi Min-Max:
Rumus yang digunakan:
$$X_{norm} = \frac{X - X_{min}}{X_{max} - X_{min}} = \frac{X - 65}{100 - 65} = \frac{X - 65}{35}$$
Hasil transformasi menjamin seluruh nilai berada tepat di rentang 0 (untuk nilai minimum 65) hingga 1 (untuk nilai maksimum 100).
Uji Coba Array Nilai Kustom
Dosen atau penguji dapat memasukkan array angka sendiri dengan nilai null atau "" untuk menguji ketahanan algoritma.