MODUL PRAKTIKUM · SOAL 01
Simulasi Siklus Hidup Data Sains
Pipeline sederhana untuk memvalidasi data transaksi penjualan sebelum digunakan dalam analisis.
01/ 05
Ringkasan pipeline
Data mentah melewati validasi struktur dan aturan bisnis sebelum ditandai siap analisis.
Data mentah7rekaman masuk
Transaksi valid5lolos validasi
Data ditolak2perlu diperbaiki
| Tahapan | Status | Keterangan |
|---|---|---|
| 1. Data mentah | Diterima | 7 transaksi diterima sebagai input. |
| 2. Validasi struktur | Selesai | Memeriksa id, produk, jumlah, dan harga. |
| 3. Penyaringan | Selesai | 5 valid dan 2 tidak valid. |
| 4. Siap analisis | Siap | Total transaksi valid dihitung dari jumlah × harga. |
Data transaksi valid
Hanya transaksi dengan struktur lengkap, jumlah > 0, dan harga > 0 yang diteruskan.
| ID | Produk | Jumlah | Harga | Total |
|---|---|---|---|---|
| TRX-001 | Beras 5 kg | 2 | Rp 72.000 | Rp 144.000 |
| TRX-002 | Minyak Goreng | 3 | Rp 18.000 | Rp 54.000 |
| TRX-005 | Tepung Terigu | 4 | Rp 12.500 | Rp 50.000 |
| TRX-006 | Kopi Bubuk | 1 | Rp 22.000 | Rp 22.000 |
| TRX-007 | Teh Celup | 2 | Rp 9.500 | Rp 19.000 |
| Total nilai transaksi valid | Rp 289.000 | |||
Kode PHP Native
Fungsi inti validasi data dan perhitungan nilai transaksi.
function runPipeline($rows) {
$valid = [];
$invalid = [];
foreach ($rows as $row) {
$required = ["id", "produk", "jumlah", "harga"];
$ok = true;
foreach ($required as $key) {
if (!array_key_exists($key, $row) ||
$row[$key] === "" || $row[$key] === null) {
$ok = false;
}
}
if (!is_numeric($row["jumlah"] ?? null) ||
(int)($row["jumlah"] ?? 0) <= 0) $ok = false;
if (!is_numeric($row["harga"] ?? null) ||
(float)($row["harga"] ?? 0) <= 0) $ok = false;
if ($ok) {
$row["total"] = $row["jumlah"] * $row["harga"];
$valid[] = $row;
} else {
$invalid[] = $row;
}
}
return ["valid" => $valid, "invalid" => $invalid];
}
Kesimpulan: Pipeline membantu memisahkan data yang layak dianalisis dari data yang perlu diperbaiki. Contoh ini menggunakan data transaksi simulasi.