Tips dan Trik IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
Djoni Darmawikarta
djoni_darmawikarta@yahoo.ca
Lisensi Dokumen:
Copyright © 2003 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari IlmuKomputer.Com.
Dalam tulisan ini, teknik data driven dijelaskan dengan menggunakan contoh yang
relatif sederhana. Setelah memahami konsepnya melalui contoh ini, teknik data driven
ini bisa diterapkan untuk kasus-kasus yang kompleks.
Dalam contoh ini, kita harus membuat program untuk menghitung bonus karyawan.
Besar bonus masing-masing karyawan tergantung gaji pokok dan jenis
tanggung-jawabnya.
Data profil_karyawan
nama_karyawan
Andi Halim
Budi Sadikin
Chandra Kusuma
Dedi Wirobroto
Eko Santoso
Farid Abulkarim
…
gaji_pokok
1000
750
500
550
560
560
tanggung_jawab
Sales manager
Senior salesman
Junior salesman
Junior salesman
Junior salesman
Junior salesman
…
Teknik yang sering kita pakai adalah melaksanakan seluruh logic perhitungan didalam
program (hardcoding) Misalnya dengan menggunakan if-then-else sebagai berikut.
Ambil tanggung_jawab dari profil_karyawan
If tanggung_jawab = “Sales manager”
Then bonus = gaji_pokok * 0.10
Else
If tanggung_jawab = “Senior salesman”
Then bonus = gaji_pokok * 0.08
Else … dan seterusnya …
Apa yang terjadi bila ada perubahan pada faktor ketergantungan yang merupakan
parameter-parameter perhitungan tersebut? Misalnya, nama jenis tanggung_jawab
1
Tips dan Trik IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
dan/atau faktor pengali berubah, atau ada jenis tanggung jawab baru yang juga perlu
dihitung bonusnya?
Kita harus selalu menyesuaikan program dengan perubah-perubahan ini!
Data driven
Data driven merupakan solusi efektif untuk menghindari masalah-masalah hardcoding
seperti dicontohkan diatas.
Kita membuat tabel faktor_bonus sebagai berikut.
tanggung_jawab
Sales manager
Senior salesman
Junior salesman
…
faktor_pengali
0.10
0.08
0.06
…
Kita implementasikan dalam database relasional dan hubungkan kolom
tanggung_jawabnya dengan kolom yang sama di tabel profil_karyawan (di-migrate-kan
sebagai foreign key) Dengan demikian data tanggung_jawab dikedua tabel selalu
sinkron (integritas terjamin)
Berikut diagram ER (entity relationship) kedua tabel ini (menggunakan notasi IE,
Information Engineering)
Maka struktur program kita, yang menggunakan fungsi SQL join, menjadi generik dan
robust (tahan perubahan) sebagai berikut.
Ambil tanggung_jawab dari profil_karyawan-- digunakan pada WHERE clause
berikut --
SELECT gaji_pokok, faktor_pengali FROM profil_karyawan, faktor_bonus
WHERE profil_karyawan. tanggung_jawab = faktor_bonus.tanggung_jawab
Bonus = gaji_pokok * faktor_pengali
2
Tips dan Trik IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
Kita bisa membuatkan program sederhana untuk mereka (user), yang memang
bertanggung-jawab tentang bonus, agar mereka sendiri bisa memelihara data faktor
bonus sesuai kebutuhannya.
Dengan teknik data driven kini program kita jadi stabil! Dan, para programmer
berkesempatan dengan tenang mengerjakan tugas teknis lain daripada senantiasa
harus merubah program yang sama sepanjang masa.
2 Komentar untuk "Data Driven"
Terimakasih banyak ata informasinya...
Maka struktur program kita, yang menggunakan fungsi SQL join, menjadi generik dan
Informasi Pilihan Identitas:
Google/Blogger : Khusus yang punya Account Blogger.
Lainnya : Jika tidak punya account blogger namun punya alamat Blog atau Website.
Anonim : Jika tidak ingin mempublikasikan profile anda (tidak disarankan).