Era data besar (big data), kecerdasan buatan (AI), dan pembelajaran mesin (ML) telah menggeser paradigma pengembangan perangkat lunak. Artikel "Software Engineering for Data Analytics" oleh Miryung Kim (2020) mengangkat kegelisahan mendalam bahwa komunitas Rekayasa Perangkat Lunak (RPL) belum cukup beradaptasi dengan kebutuhan dunia berbasis data. Ini adalah panggilan untuk tidak hanya menerapkan data analytics ke dalam masalah RPL, tetapi juga untuk merevolusi RPL itu sendiri agar mendukung pengembangan perangkat lunak berbasis data.
Perbedaan Fundamental: RPL Tradisional vs Pengembangan Berbasis Data
Miryung Kim secara tajam menunjukkan perbedaan mendasar antara pengembangan tradisional dan berbasis data. Dalam RPL tradisional, alur "develop-test-debug-repeat" terjadi dalam lingkungan yang terkendali dan terprediksi. Sebaliknya, dalam pengembangan berbasis data:
-
Data bersifat besar, tersebar, dan tak sepenuhnya terlihat di awal.
Penulisan uji (test) menjadi sulit karena ketidaklengkapan akses terhadap seluruh dataset.
Definisi kegagalan (failure) menjadi kabur.
Sistem runtime berlapis-lapis mengaburkan hubungan input-output secara logis.
Proses tracing data hampir mustahil tanpa alat bantu tambahan.
Ketidakmampuan melihat data secara utuh saat pengembangan mengakibatkan kepercayaan diri yang rendah dalam hasil analitik, sebagaimana diungkapkan para data scientist dalam studi Kim.
Tantangan Besar: Debugging dan Testing di Dunia Data
Penyesuaian teknik debugging dan testing terhadap sistem data-parallel seperti Apache Spark menjadi fokus utama Kim dan timnya. Proyek seperti BigDebug, Titian, BigSift, dan BigTest menghadirkan solusi inovatif:
BigDebug memperkenalkan breakpoint on-demand dengan overhead minimal.
Titian menyediakan provenance data granular untuk tracing asal-usul error.
BigSift mengombinasikan delta debugging dan provenance untuk menemukan penyebab error lebih cepat.
BigTest mengembangkan metode uji white-box dengan sampling data minimal tanpa mengorbankan coverage.
Pengembangan alat-alat ini menunjukkan bahwa debugging dan testing untuk big data bukan sekadar memperbesar skala teknik tradisional, melainkan memerlukan pendekatan desain ulang fundamental.
Insight Penting untuk Masa Depan
Kim mengidentifikasi empat wawasan utama untuk masa depan SE4DA (Software Engineering for Data Analytics):
Gabungkan Debugging Kode dan Data
RPL harus mengakui bahwa kesalahan bisa muncul baik dari asumsi kode maupun dari data yang berubah. Debugging masa depan harus menangani keduanya secara bersamaan.Debugging Performa Sama Pentingnya dengan Debugging Kebenaran
Dalam sistem berskala besar, performa buruk bisa sama merusaknya dengan error fungsional. Oleh karena itu, debugging harus mencakup analisis keterhubungan antara performa, konfigurasi sistem, dan distribusi data.Mudah Menentukan Oracle untuk Sistem Heuristik dan Probabilistik
Sistem berbasis ML atau heuristik sulit divalidasi dengan pengujian tradisional. Teknik seperti metamorphic testing harus dikembangkan lebih lanjut untuk menyediakan oracle yang fleksibel dan adaptif.Mengukur Pengaruh Data terhadap Bug
Tidak semua input data berkontribusi sama terhadap error. Sistem debugging harus bisa mengidentifikasi data subset yang paling berpengaruh terhadap kegagalan.
***
Artikel ini membawa pesan kuat: dunia RPL tidak bisa lagi memandang pengembangan perangkat lunak berbasis data sebagai cabang kecil atau tambahan. Ini adalah perubahan mendasar yang menuntut metode baru dalam debugging, testing, dan validasi perangkat lunak. Data menjadi bagian utama dari logika sistem, bukan sekadar input atau output. Kolaborasi erat antara komunitas RPL, AI, ML, dan database sangat diperlukan untuk mengatasi tantangan ini. Jika tidak, kita berisiko membangun sistem yang tidak bisa kita pahami atau percayai sepenuhnya.
Referensi
Kim, M. (2020). Software Engineering for Data Analytics. IEEE Software, 37(4), 36-42. https://doi.org/10.1109/MS.2020.2985775
Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana. Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI