Uji Coba dengan Dummy Data

Nason Agung
CIMB Niaga Data Community
7 min readOct 30, 2023

Pernahkah kita berpikir tentang barang-barang dummy yang sering kali kita temui dalam kehidupan sehari-hari? Misalnya, manekin dengan setelan kemeja, celana dan aksesorisnya di toko baju, di toko ponsel dengan jajaran ponsel palsu atau ponsel dummy, sepiring nasi goreng pajangan di resto yang tentu saja tidak bisa dimakan, pajangan di mal yang mencitrakan produk tetapi tak berfungsi, pajangan motor atau mobil antik di tempat wisata yang tentu saja tidak bisa berjalan, atau bahkan dummy manusia untuk testing impact tabrakan di pabrikan otomotif.

Barang-barang semacam ini tidak hanya menciptakan ilusi nyata, tetapi juga memiliki peran yang signifikan dalam memfasilitasi pemahaman, eksperimen, dan pengujian untuk mewakili kondisi sebenarnya.

Mengapa penerapan konsep dummy data dalam dunia digital memiliki peran yang penting?

Bagi kita yang bekerja di industri perbankan dan jasa keuangan mungkin pernah merasakan tantangan saat ingin menciptakan data untuk pengujian konsep/proof-of-concept (POC), atau testing system yang melibatkan pihak ketiga yang mana regulasi sangat ketat mengatur penggunaan data.

Hal ini menjadi kendala bagi developer, analis bisnis, tim IT, unit bisnis, dan individu lainnya. Dalam kasus ini penggunaan data asli mungkin tidak diperbolehkan karena dapat membocorkan informasi rahasia nasabah. Namun dengan penggunaan data dummy memungkinkan perusahaan untuk mendemonstrasikan fitur dan potensi produk atau layanan tanpa mengungkapkan detail sensitif.

Pada tahap pengujian perangkat lunak, dummy data juga memungkinkan tim developer untuk mengidentifikasi bug dan masalah potensial tanpa mengorbankan integritas data sebenarnya. Selain itu, penggunaan data sintetis membantu melindungi informasi pribadi atau rahasia perusahaan dari ancaman pihak ketiga yang tidak berwenang.

Data dummy memiliki peran krusial dalam berbagai aspek operasional dan pengembangan aplikasi. Berikut adalah pemaparan lebih mendalam tentang manfaat penggunaan data dummy:

  1. Proof of Concept (POC) yang Efisien: Data dummy menjadi alat penting dalam mengembangkan POC. Dalam tahap awal pengembangan produk atau solusi baru, POC diperlukan untuk menguji konsep dan fungsionalitas tanpa mengorbankan data asli yang berharga. Data dummy memberikan cara untuk menjalankan simulasi yang realistis tanpa risiko kerusakan pada data asli. Hal ini memungkinkan pengembang untuk mengidentifikasi potensi masalah dan peluang dalam suatu konsep dengan lebih cepat.
  2. Pengujian Aplikasi dan Perangkat Lunak: Dalam pengembangan perangkat lunak, pengujian dengan data asli atau yang mirip menjadi penting untuk memastikan kualitas dan keandalan. Namun, menggunakan data asli dalam pengujian bisa menimbulkan masalah privasi dan keamanan. Data dummy dapat mensimulasikan berbagai skenario dan kasus uji yang membantu mengidentifikasi kelemahan dalam perangkat lunak tanpa risiko data sensitif bocor.
  3. Proteksi Data dari Pihak Ketiga: Perusahaan sering kali perlu berbagi data dengan pihak ketiga, seperti mitra bisnis atau penyedia layanan. Namun, data sensitif yang dibagikan bisa berisiko mengungkapkan informasi rahasia atau privasi. Dengan menggunakan data dummy, organisasi dapat memberikan akses kepada pihak ketiga tanpa mengorbankan integritas data asli. Data dummy tidak hanya melindungi privasi, tetapi juga meminimalkan potensi risiko yang terkait dengan kebocoran data.
  4. Pelatihan dan Pendidikan: Data dummy menjadi sumber yang berharga dalam pelatihan dan pendidikan. Dalam konteks pembelajaran, data dummy dapat digunakan untuk memberikan contoh kasus yang realistis tanpa perlu mengungkapkan informasi pribadi atau rahasia. Ini berlaku dalam berbagai bidang, termasuk pengembangan keterampilan analisis data, pelatihan AI/machine learning, dan simulasi situasi bisnis.
  5. Mengatasi Keterbatasan Data Asli: Dalam beberapa kasus, data asli mungkin terbatas atau sulit diperoleh. Data dummy memungkinkan perusahaan untuk memperluas skala dan variasi data yang tersedia. Ini sangat berharga dalam mengembangkan model machine learning yang memerlukan sejumlah besar data untuk pelatihan yang efektif. Dengan data dummy,organisasi dapat memiliki akses ke data yang sesuai dengan kebutuhan mereka.

Dalam menghasilkan data dummy, ada berbagai cara, misalkan menggunakan online data dummy generator atau menggunakan library Python. Beberapa situs online dan library telah memainkan peran penting dalam menyediakan tool yang mumpuni untuk membuat data yang realistis. Berikut ini adalah beberapa website dan library yang umum digunakan:

  1. Generatedata.com: situs ini adalah online tool yang berguna untuk menghasilkan data dummy dengan cepat dan mudah dimana kita dapat memilih jenis data yang ingin dihasilkan dari dropdown lalu menyimpannya dalam berbagai format file, seperti CSV, JSON, XML, dan lain-lain. website: https://generatedata.com/
  2. Faker: Library Faker adalah salah satu alat paling populer untuk menghasilkan data dummy yang realistis. Dengan menggunakan berbagai provider, seperti nama, alamat, tanggal, nomor telepon, dan banyak lagi, Faker memungkinkan pembuatan data acak yang tampak seperti data asli. Kelebihannya adalah kemudahan penggunaan dan kustomisasi yang fleksibel. website: https://faker.readthedocs.io/en/master/
  3. SDV (Synthetic Data Vault): SDV adalah library yang lebih canggih yang menghasilkan data sintetis dengan distribusi yang mirip dengan data asli. SDV tidak hanya membuat data acak, tetapi juga memastikan bahwa data sintetis mengikuti statistik dan struktur data asli. Ini berguna untuk menjaga integritas analisis dan pengujian. website: https://sdv.dev/
  4. Simpy: Simpy adalah library lain yang berguna dalam menghasilkan data sintetis. Simpy menawarkan berbagai fungsi untuk menghasilkan data seperti tanggal, waktu, alamat email, teks, dan lainnya. Library ini juga dapat digunakan untuk membuat data yang lebih kompleks dengan lebih banyak variasi. https://www.sympy.org/en/index.html

Membuat data dummy yang berkualitas memerlukan perencanaan dan pemahaman yang baik tentang kebutuhan data kita. Berikut adalah langkah-langkah sederhana yang dapat diikuti untuk menghasilkan data dummy yang realistis dan bermanfaat:

  1. Pemahaman Kebutuhan Data:

Sebelum mulai membuat data dummy, tentukan dengan jelas jenis data apa yang kita butuhkan. Identifikasi atribut-atribut apa saja yang perlu disimulasikan, seperti nama, alamat, tanggal, dan lainnya. Selain itu, tentukan juga struktur data yang diperlukan, termasuk tabel dan relasi antar tabel.

Dalam artikel ini saya contohkan skenario kebutuhan untuk POC Data Integration Tool dimana data disimulasikan diambil dari Core Banking, Sistem Pembiayaan Pinjaman (Loan Originating System/LOS), dan Sistem Data Warehouse lalu ditransformasikan ke table analisis loan nasabah.
Core Banking mengelola rekening dan transaksi pelanggan, LOS menangani aplikasi dan persetujuan pinjaman, dan Sistem Data Warehouse menyimpan data konsolidasi dan historis untuk tujuan pelaporan dan analisis.

Berikut contoh skema tabel-nya : (skema tabel di bawah juga dummy lho ya :D )

Table: Core_Account
Columns: AccountID, CustomerID, AccountType, OpenDate, Balance

Table: Core_Transaction
Columns: TransactionID, AccountID, TransactionDate, TransactionType, Amount

Table: LOS_Loan
Columns: LoanID, CustomerID, LoanType, ApprovalStatus, LoanAmount

Table: DWH_Customer
Columns: CustomerID, Name, Email, Phone, Address

2. Membuat Relasi Antar Tabel:

Jika data kita melibatkan relasi antar tabel, seperti dalam struktur database, pastikan kita menentukan hubungan tersebut dengan benar. Misalnya, dalam contoh di atas tabel DWH_Customer dan Core_Account, pastikan kita menghasilkan data sintetis yang mencerminkan hubungan antara nasabah dan rekening.

Berikut contoh model data dan relasi antar tabel dari skenario kita

3. Menggunakan Online Tool generatedata.com untuk generate dummy data

Buka browser web dan akses https://generatedata.com/.
Di laman utama, kita akan melihat daftar kolom dengan label “Column 1”, “Column 2”, dan seterusnya. Setiap kolom ini akan mewakili atribut atau jenis data yang ingin kita hasilkan.

Pada setiap kolom, kita dapat memilih jenis data yang ingin dihasilkan dari dropdown. Jenis data yang tersedia mencakup nama, alamat, angka, email, tanggal, dan banyak lagi. Pilih jenis data yang sesuai untuk setiap kolom.

Beberapa jenis data memiliki opsi tambahan yang dapat kita konfigurasi. Misalnya, jika kita memilih jenis data “Nama”, Anda dapat memilih apakah ingin menghasilkan nama depan, nama belakang, atau keduanya.

Dengan contoh data model kita, berikut setting kolom data elemen untuk table DWH_Customer beserta tipe datanya.

Lalu muncul preview dari data elemen yang kita inginkan

Lalu tekan tombol generate untuk menghasilkan data dummy yang kita dalam bentuk file CSV, untuk versi free, data dummy maksimal yang bisa di-generate adalah 500 baris. Untuk mendapatkan dataset yang lebih besar perlu berlangganan terlebih dahulu.

Untuk menghasilkan dataset yang lain Core_Account, Core_Transaction dan LOS_Loan lakukan langkah yang sama dengan menyesuaikan tipe data dan karakteristik tiap data elemen.

4. Menggunakan Library Python Faker untuk Localization

Data yang dihasilkan oleh online generator di atas sudah cukup bagus untuk testing data, namun jika kita ingin untuk membuat demo dan menghasilkan nuansa atau ‘feel’ ke-Indonesia-an kita bisa menggunakan library Python dan localization Indonesia.

Langkah pertama yang perlu dilakukan adalah mengistal library Faker dengan perintah pip:

pip install Faker

Untuk penggunaannya kita dapat mengimpor dan melokalisasi data dengan script:

from faker import Faker
fake = Faker('id_ID')

Lalu gunakan objek fake untuk menghasilkan data dummy sesuai dengan skema DWH "Customer". Misalnya, untuk setiap entri pelanggan, kita dapat menghasilkan nama, alamat, nomor telepon, alamat email, dan sebagainya:

import csv

with open('data_pelanggan.csv', 'w', newline='') as csvfile:
fieldnames = ['Nama', 'Alamat', 'Nomor Telepon', 'Email']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

writer.writeheader()
for _ in range(jumlah_pelanggan):
nama = fake.name()
alamat = fake.address()
nomor_telepon = fake.phone_number()
email = fake.email()
writer.writerow({'Nama': nama, 'Alamat': alamat, 'Nomor Telepon': nomor_telepon, 'Email': email})

File yang dihasilkan dari script Python di atas bisa kita tambahkan CustomerId dari langkah sebelumnya, atau sebaliknya file dari online generator kita update field Name, Email, Phone dan Address-nya.

Data dummy bukan hanya sekadar alternatif untuk data nyata, tetapi juga menjadi komponen penting dalam pengembangan, pengujian, dan perlindungan data. Dengan memanfaatkan potensi data dummy, organisasi dapat meningkatkan efisiensi pengujian, melindungi privasi, serta memperluas pemahaman dan literasi data tanpa mengorbankan integritas dan keamanan data asli.

Contoh pembuatan data dummy di atas masih tergolong sederhana dan memiliki keterbatasan dalam hal kapasitas data yang dihasilkan dan kompleksitas data yang diinginkan. Untuk skala data yang lebih besar, kebutuhan yang lebih kompleks dan kemudahan penggunaan, tentunya perlu solusi dan tool skala enterprise.

Namun untuk keperluan edukasi melalui tulisan ini, saya pikir cukup untuk memberikan gambaran tentang data dummy dan cara membuatnya.

--

--