DSDataLabPRAKTIKUM PHP NATIVE Lihat semua soal ↗
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
TahapanStatusKeterangan
1. Data mentahDiterima7 transaksi diterima sebagai input.
2. Validasi strukturSelesaiMemeriksa id, produk, jumlah, dan harga.
3. PenyaringanSelesai5 valid dan 2 tidak valid.
4. Siap analisisSiapTotal transaksi valid dihitung dari jumlah × harga.

Data transaksi valid

Hanya transaksi dengan struktur lengkap, jumlah > 0, dan harga > 0 yang diteruskan.

IDProdukJumlahHargaTotal
TRX-001Beras 5 kg2Rp 72.000Rp 144.000
TRX-002Minyak Goreng3Rp 18.000Rp 54.000
TRX-005Tepung Terigu4Rp 12.500Rp 50.000
TRX-006Kopi Bubuk1Rp 22.000Rp 22.000
TRX-007Teh Celup2Rp 9.500Rp 19.000
Total nilai transaksi validRp 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.