Mohon tunggu...
Alycia Wilma
Alycia Wilma Mohon Tunggu... mahasiswi

menulis

Selanjutnya

Tutup

Ilmu Alam & Tekno

Menyatukan Rekayasa Perangkat Lunak dan Data Analytics - Sebuah Kebutuhan Mendesak

29 April 2025   00:45 Diperbarui: 29 April 2025   00:45 57
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

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):

  1. 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.

  2. 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.

  3. 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.

  4. 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

HALAMAN :
  1. 1
  2. 2
  3. 3
Mohon tunggu...

Lihat Konten Ilmu Alam & Tekno Selengkapnya
Lihat Ilmu Alam & Tekno Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun