BAB. V.
IMPLEMENTASI DAN PENGUJIAN
V.1 Implementasi SIDAMIBAYES Hasil perancangan yang telah dilakukan pada pada tahap perancangan selanjutnya akan diimplementasi menjadi program/perangkat lunak yang siap pakai. Implementasi ini meliputi implementasi lingkungan perangkat keras, perangkat lunak, implementasi kelas-kelas dan desain antar muka. Implementasi dilakukan dengan mentransformasikan fungsionalitas-fungsionalitas program kedalam kodekode program. Pada tahap implementasi, yang perlu diperhatikan adalah kesesuaian program yang dihasilkan dengan perancangan yang telah dilakukan. Implementasi juga perlu memperhatikan lingkungan pengembangan perangkat lunak seperti bahasa pemograman yang digunakan untuk menghasilkan program yang sesuai dengan perancangan yang telah dibuat.
V.1.1 Implementasi Lingkungan SIDAMIBAYES SIDAMIBAYES merupakan perangkat lunak berbasis aplikasi. Lingkungan implementasi terdiri dari dua lingkungan yaitu implementasi lingkungan perangkat keras dan lingkungan perangkat lunak. Adapun rincian implementasi masing-masing lingkungan dapat dilihat pada Tabel. 5.1
Tabel 5.1 Lingkungan Implementasi SIDAMIBAYES Lingkungan Perangkat Keras -
Prosesor
: AMD Sempron 3100
-
RAM
: 512 MB
-
Hardisk
: 40 GB
-
Layar
: Resolusi 1024x768
-
Input
: Mouse dan Keyboard
Lingkungan Perangkat Lunak -
Sistem Operasi
: Windows XP / 2000
-
Bahasa Pemrograman : Microsoft Visual Basic 6.0
V.1.2 Implementasi Kelas Implementasi kelas dilakukan berdasarkan kelas-kelas yang telah dirancang pada tahap sebelumnya. Implementasi kelas ditulis dalam bentuk kode-kode program dalam bahasa pemrograman Microsoft Visual Basic 6 dan disimpan dalam bentuk file. Daftar implementasi kelas dapat dilihat pada Tabel 5.2.
Tabel 5.2 Daftar Implementasi Kelas No 1
Nama Kelas - frmKonfigurasi
Nama File frmKonfigurasi.frm
- PairNode
2
frmPrediksiKelas
frmPrediksiKelas.frm
3
frmBNVisBNChart
frmBNVisBNChart.frm
4
frmBNVisCircle
frmBNVisCircle.frm
5
FormUtama
frmUtama.frm
6
Temp_PairNode
Temp_PairNode.cls
7
NodeBN
NodeBN.cls
8
CPT
CPT.cls
9
NodeStateProb
NodeStateProb.cls
10
DataTabel
*.mdb
11
CircleShape
CircleShape.ctl
12
RectShape
RectShape.ctl
13
LabelComboNode
LabelComboNode.ctl
Khusus untuk implementasi kelas yang dibuat dalam bentuk file berekstension
ctl
(file
*.ctl
yaitu
CircleShape.ctl,
RectShape.ctl
dan
LabelComboNode.ctl) merupakan kumpulan kelas-kelas bawaan yang telah ada pada Visual Basic 6.0 yang dijadikan kedalam satu file untuk kemudahan implementsasi antar muka. Kelas ini muncul ketika diperlukan untuk merealisasikan antar muka form-form visualisasi dan form prediksi pada tahap construction.
V.1.3 Implementasi Antar Muka SIDAMIBAYES Antar muka SIDAMIBAYES diimplementasi dengan menggunakan bahasa pemrograman Visual Basic 6.0 ke dalam bentuk form-form aplikasi berbasis GUI
64
(Graphical User Interface). Pada implementasi antar muka terdapat beberapa kelaskelas atau komponen yang merupakan bawaan dari Visual Basic 6.0, dan terdapat kelas bawaan tersebut yang dibuat menjadi satu kelas untuk memudahkan implementasi antarmuka SIDAMIBAYES. Hasil implementasi
antar muka
SIDAMIBAYES adalah sebagai berikut : 1. Antar muka Form Utama. Form ini merupakan tampilan antar muka yang pertama kali muncul ketika menjalankan SIDAMIBAYES. Form ini merupakan form induk tempat antar muka lainnya untuk tampil. Form ini juga berisi menu yang dapat dipilih oleh pengguna untuk menampilkan antar muka lainnya yang diinginkan. Hasil implementasi antar muka Form Utama dapat dilihat seperti Gambar 5.1
Gambar 5.1. Hasil Implementasi Antar Muka Form Utama
2. Antar Muka Form Konfigurasi Antar muka ini merupakan form yang berfungsi untuk memilih data yang akan menjadi target data mining dan memilih atribut-atribut data bank yang menjadi node dan kelas target. Form ini berfungsi sebagai pembangkit struktur Bayesian Network berdasarkan data yang dipilih, dimana form ini akan menghasilkan node-node pada struktur Bayesian Networks. Seperti yang telah disebutkan pada
65
awal-awal tulisan, batasan data utama untuk data mining dengan klasifikasi pada penelitian ini adalah data bank, walaupun demikian pada akhirnya, pada antar muka ini pengguna program, juga dapat memilih data lain selain data bank. Data lain tersebut merupakan data-data yang sudah umum dipakai untuk melakukan penelitian dibidang data mining
khususnya dengan metode klasifikasi yang
didata penulis dari dunia maya (internet). Data lain tersebut dapat dipakai jika pengguna ingin melihat visualisasi struktur Bayesian Network untuk data selain data bank. Alasan lain mengapa penulis menyertakan data selain data bank, adalah pada proses pengembangan perangkat lunak berlangsung, data-data selain data bank tersebut dipakai untuk menjadi data uji. Hasil implementasi antar muka form konfigurasi dapat dilihat pada Gambar 5.2.
Gambar 5.2. Implementasi antar muka Form Konfigurasi
66
3. Antar Muka Form Visualisasi Bayesian Networks Bar chart Antar muka ini merupakan form yang berfungsi untuk menampilkan struktur Bayesian Netoworks yang dihasilkan dari form konfigurasi. Node-node yang ditampikan adalah berisi bar chart, dimana setiap bar-bar yang terdapat pada node merepresentasi probabilitas distribusi setiap nilai yang terdapat pada node. Pada form ini pengguna dapat mengatur letak-letak node pada form sesuai dengan keinginan pengguna, jika dianggap letak posisi node-node tidak rapi. Hasil implementasi antar muka ini dapat dilihat pada Gambar 5.3.
Gambar 5.3. Implementasi Antar Muka Form Visualisasi BN Bar chart
Aplikasi dapat menampilkan distribusi probabilitas setiap nilai node dalam bentuk bar chart ketika struktur Bayesian Networks ditampilkan. tampilam ini diharapkan dapat memberikan pengetahuan awal kepada pengguna mengenai probabilitas suatu nilai node, yaitu probabilitas suatu nilai node jika tidak dipengaruhi oleh nilai node lain. Penggunaan bar chart dilakukan agar pengguna dapat langsung melihat perbedaan probabilitas untuk setiap nilai node tanpa harus melihat nilai/angka melainkan hanya dengan membandingkan panjang bar(batang).
67
4. Antar Muka Form Visualisasi Bayesian Networks Circle Antar muka ini adalah form yang berfungsi untuk menampilkan struktur Bayesian Networks yang dihasilkan oleh form konfigurasi. Antar muka ini hanya menampilkan node-node dalam bentuk lingkaran. Pada bagian antar muka, terdapat status bar yang menampilkan parent dan child node pada saat mouse berada pada salah satu node (lingkaran) . Hasil implementasi antar muka ini dapat dilihat pada Gambar 5.4.
Gambar 5.4. Implementasi Antar Muka Form Visualisasi BN Circle
5. Antar Muka Form Prediksi Kelas Antar muka ini adalah form yang berfungsi untuk melakukan prediksi klasifikasi kelas target yang telah di input pada form konfigurasi. Prediksi kelas dilakukan berdasarkan struktur Bayesian Networks yang dihasilkan. Hasil prediksi akan ditampilkan pada bagian bawah form. Pada form ini pengguna dapat memilih atribut-atribut yang digunakan untuk melakukan klasifikasi kelas target dengan memasukkan salah satu nilai yang terdapat pad node/atribut. Hasil Implementasi antar muka ini dapat dilihat pada Gambar 5.5.
68
Gambar 5.5. Implementasi Antar Muka Form Prediksi 6.
Antar Muka Form CPT (Conditional Probability Tabel). Antar muka ini berfungsi untuk menampilkan probabilitas bersyarat suatu node berdasarkan parent-nya. Form ini tidak otomatis ditampilkan di sekitar node melainkan disembunyikan. Untuk menampilkan form ini, pengguna terlebih dahulu memilih node yang akan di tampilkan CPT-nya. Contoh hasil implementasi ini antar muka ini dapat dilihat pada Gambar 5.6.
Gambar 5.6. Implementasi Antar Muka CPT
Dengan menampilkan CPT, diharapkan pengguna dapat mengetahui seberapa besar pengaruh suatu nilai node terhadap nilai node lainnya. CPT ditampilka dalam bentuk tabel, agar pengguna dapat dengan mudah melihat pengelompokan nilai probabilitas berdasarkan nilai-nilai node parent-nya. Gambar 5.6 menunjukkan CPT node Balance_Q1 berdasarkan Trans_Q3 untuk semua kombinasi nilai kedua atribut. Kolom paling kiri menunjukkan nilai-nilai atribut
69
yang
terdapat
pada
node
Balance_Q1,
sedangkan
kolom
berikutnya
menunjukkan nilai probabilitas bersyarat berdasarkan nilai atribut parent-nya.
V.2 Pengujian SIDAMIBAYES Ketika tahap implementasi telah dilakukan, selanjutnya adalah melakukan pengujian terhadap perangkat lunak yang dihasilkan. Tujuan dilakukan pengujian adalah untuk menemukan kesalahan yang terdapat pada perangkat lunak. Kesalahan dapat berupa error coding ataupun output yang dihasilkan. Pengujian juga dilakukan untuk melihat apakah program sudah sesuai dengan batasan-batasan perangkat lunak yang telah diuraikan pada Bab 3 (tiga) beserta perubahan batasan yang dilakukan selama proses pengembangan perangkat lunak. Jika ditemukan kesalahan akan akan segera dilakukan perbaikan dan hasil perbaikan akan diuji kembali. Adapun metode pengujian yang digunakan penulis adalah metode dengan pengujian black box testing dan white box testing. Black box testing adalah pengujian yang memfokuskan pada kebenaran input dan output yang dihasilkan sedangkan white box testing adalah pengujian yang dilakukan pada internal sistem yang difokuskan pada penemuan kesalahan struktur kode dan logika pemrograman selama perangkat lunak dikembangkan/dibangun. Pengujian dilakukan pada setiap use case yang ada pada perangkat lunak untuk mengetahui kesesuaian fungsi yang dimiliki.
V.2.1 Prosedur Pengujian Prosedur pengujian yang dilakukan pada SIDAMIBAYES adalah sebagai berikut : 1. Menentukan data yang digunakan untuk melakukan pengujian pada sistem SIDAMIBAYES, dimana yang di uji adalah kebenaran sistem dalam melakukan perhitungan-perhitungan berdasarkan teori yang diterapkan algoritma TPDA. 2. Menentukan metode pengujian dan kriteria evaluasi hasil untuk masing-masing use case dalam sistem. Daftar use case, metode uji dan kriteria evaluasi hasil sistem SIDAMIBAYES dinyatakan dalam Tabel 5.3. 3. Melakukan pengujian untuk masing-masing use case dalam Tabel 5.3 menggunakan data tes yang telah ditentukan, dan membandingkan hasilnya dengan kriteria evaluasi hasil uji.
70
Tabel 5.3. Rencana Pengujian Berdasarkan Fungsi (Use Case) No
Use Case
Pengujian
Metode Pengujian
U1. Konfigurasi
Skenario Normal
Black Box
U2. Bangun Struktur BN
Skenario Normal
Black Box
U3. Visualisasi Struktur BN
Skenario Normal
Black Box
U4. Prediksi Kelas
Skenario Normal
Black Box
V.2.2 Hasil Pengujian Untuk masing-masing pengujian berdasarkan fungsi (Use Case) dapat dilihat pada tabel-tabel berikut dibawah. Tabel 5.4. Hasil Pengujian Use Case Konfigurasi Id
Deskripsi
Prosedur Pengujian
U1
Memilih
• Pilih menu Menu>Konfigurasi
Data, field
• Dilihat apakah program
Hasil • Layar Form Konfigurasi
Status Ok, aplikasi
muncul
dan kelas
menampilkan layar Form
• Kolom daftar table terisi.
telah sesuai
target serta
Konfigurasi.
• Kelas target terisi.
dengan
• Field-field yang menjadi
fungsi Use
setting data
• Pilih data set dengan menekan tombol” Browse” (pilih file dengan format *.mdb) dengan mouse.
node telah terpilih. • Nilai threshold terisi.
Case Konfigurasi
• Pilih table sebagai training set. • Pilih field-field yang menjadi node. • Pilih field yang menjadi kelas target • Tentukan nilai threshold
Tabel 5.5. Hasil Pengujian Use Case Bangun Struktur BN Id U2
Deskripsi
Prosedur Pengujian • Setelah UI dilakukan,tekan tombol “Set Konfigurasi”
Hasil • Program mulai
Status Ok,
membangun struktur,
aplikasi
indikasinya progress bar
telah
menunjukkan tahapan/fase
sesuai
pembangunan struktur
dengan
• Hasil akhir Form
fungsi
Konfigurasi otomatis
Use
hilang.
Case
• Struktur BN terdefenisi
Bangun
71
disimpan dalam variabel
Struktur
ListNodeBN
BN
Tabel 5.6. Hasil Pengujian Use Case Visualisasi Struktur BN Id
Deskripsi
Prosedur Pengujian
U3-
Menampilkan
• Lakukan prosedur U1 dan U2
01
struktur
• Pilih menu
Hasil • Layar “Form
Status Ok, aplikasi
Visualisasi Bar Chart
dapat
Bayesian
Menu>Visualisasi>Visualisasi
muncul, dengan
menampilkan
Networks dalam
Struktur BN dalam Bar Chart
menampilkan struktur
struktur BN
bentuk Node
Node
Bayesian Networks
dengan
sesuai field-field
dapat
dasaset yang telah
menampilkan
dipilih dengan
probabilitas
tampilan bar chart
distribusi
yang menunjukkan
setiap nilai
distribusi probabilitas
node dalam
untuk setiap nilai
bentuk bar
node-node.
chart.
Bar chart
• Dilihat apakah “Form Visualisasi Bar Chart” muncul.
U3-
Menampilkan
02
table conditional probability
• Klik ganda pada salah satu node yang ditampilkan. • Dilihat apakah tampil layar
• Muncul layar CPT
Ok, aplikasi
untuk node yang
dapat
dipilih.
menampilkan CPT node
“CPT”
yang dipilih
pada visualisasi bar chart 03-
Menampilkan
• Lakukan prosedur U1 dan U2
03
struktur
• Pilih menu
• Layar “Form
Ok, aplikasi
Visualisasi Circle
dapat
Bayesian
Menu>Visualisasi>Visualisasi
muncul, dengan
menampilkan
Networks dalam
Struktur BN dalam Circle Node
menampilkan struktur
struktur BN.
bentuk Node Circle
• Dilihat apakah “Form Visualisasi Circle” muncul
Bayesian Networks sesuai field-field dasaset yang telah dipilih dalam bentuk circle
U3-
Menampilkan
04
table conditional probability pada visualisasi
• Klik ganda pada salah satu node yang ditampilkan. • Dilihat apakah tampil layar “CPT”
• Muncul layar CPT
Ok, aplikasi
untuk node yang
dapat
dipilih.
menampilkan CPT node yang dipilih.
circle
72
Tabel 5.7. Hasil Pengujian Use Case Prediksi Kelas Id
Deskripsi
Prosedur Pengujian
U4
Memprediksi
• Pilih menu Menu>Prediksi Kelas
kelas target
• Dilihat apakah program
sesuai
menampilkan layar Form
dengan nilai
Konfigurasi.
node-node
• Dilihat apakah layar berisi node-
yang
node yang telah dipilih pada
dimasukkan
prosedur UI.
Hasil
Status Ok, aplikasi
• Muncuk layar Form
dapat
Prediksi Kelas.
menampilkan
• Layar Form Prediksi Kelas berisi node-node
form
yang telah dipilih
Prediksi
sebelumnya
kelas dan
• Setiap node berisi nilai-
• Pilih nilai-nilai untuk masing-
melakukan
nilai state.
prediksi
• Output berupa hasil
masing node. • Tekan tombol “Prediksi Kelas” untuk menebak nilai kelas target.
dapat
prediksi ditampilka pada
kelas target
kolom “Hasil Prediksi”
yang dipilih.
V.3 Evaluasi Kinerja Model Klasifikasi Evaluasi kinerja model dilihat berdasarkan keakuratan model dalam memprediksi label kelas target menggunakan struktur Bayesian Networks yang dihasilkan.
Waktu tanggap aplikasi dianggap tidak perlu dievaluasi, mengingat
proses pembangunan struktur tergantung pada lingkungan perangkat keras ketika aplikasi digunakan. Adapun evaluasi kinerja model klasifikasi yang dihasilkan memakai skenario sebagai berikut : 1. Mengukur akurasi model yang dihasilkan dengan memakai berbagai ukuran testing data. Ukuran yang dipakai adalah 10%, 15%, 25%, 50% dari ukuran training data. 2. Data yang dipakai sebagai training data dan testing data adalah Data Bank (yang menjadi studi kasus). 3. Aplikasi akan memakai data Chest Clinic9 dan data Nursery9 membangun
struktur
Bayesian
yang
nantinya
akan
memjadi
pembanding kinerja model klasifikasi untuk data yang berbeda. Masing-masing data akan dipilih atribut yang menjadi kelas target yaitu
9
Data Bank : kelas target adalah atribut ”productive”.
Chest Clinic : kelas target adalah atribut ”cancer”.
Nursery : kelas target adalah atribut ”class”.
Data Chest Clinic dan Nursery diambil dari contoh data yang disertakan pada BN PowerSoft
73
Hasil yang diperoleh dapat dilihat pada Tabel 5.8.
Tabel 5.8 Hasil Evaluasi Kinerja Model Klasifikasi No
Data
1
Bank
2
Chest Clinic
3
Nursery
Akurasi Prediksi / Ukuran 10%
15%
25%
50%
100 %
100%
100%
100%
96%
94,667%
95,6%
95,2%
93,287%
93,981%
93,056%
93,356%
V.4 Analisa Visualisasi Hubungan Kausalitas Struktur yang Dihasilkan Pada tesis ini, tidak dilakukan analisa teori dan hasil visualisasi struktur Bayesian Networks, melainkan analisa dilakukan hanya untuk melihat kebenaran struktur DAG dalam menunjukkan hubungan kausalitas antar node.
V.4.1 Berdasarkan Hasil Evaluasi Kinerja Model Klasifikasi Kebenaran struktur DAG tersebut ditinjau berdasarkan tingkat akurasi model klasifikasi yang dihasilkan dalam memprediksikan label kelas target, dengan asumsi bahwa struktur yang dihasilkan akan berpengaruh pada kinerja model ketika digunakan untuk memprediksi label kelas target. Jika tingkat akurasi prediksi label kelas tinggi, berarti kebenaran hubungan kausalitas yang ditampilkan juga tinggi. Berdasarkan hasil evaluasi kinerja model klasifikasi pada Tabel 5.8, disimpulkan bahwa struktur telah menampilkan hubungan kausalitas antar node dengan benar.
V.4.2 Berdasarkan Aplikasi BN PowerConstructor Analisa dilakukan dengan membandingkan struktur yang dihasilkan oleh Aplikasi BN PowerConstructor dengan struktur yang dihasilkan oleh aplikasi yang dibuat pada tesis ini. Alasan memakai BN PowerConstructor sebagai aplikasi pembanding adalah karena aplikasi BN PowerConstructor adalah aplikasi yang menerapkan TPDA dan dikembangkan oleh author TPDA. Untuk membandingkan struktur Bayesian Networks yang dihasilkan masing-masing aplikasi, maka data yang digunakan adalah data Chest Clinic. Perbandingan struktur dapat dilihat pada Gambar 5.7 dan Gambar 5.8.
74
Berdasarkan Gambar 5.7 dan Gambar 5.8 terdapat perbedaan struktur yang ditampilkan oleh masing-masing aplikasi. Pada aplikasi BN PowerConstructor ( Gambar 5.7) terdapat garis penghubung yang tidak dapat ditentukan mana parent dan child, yaitu antara node Cancer dengan Smoking dan Bronchitis dengan Smoking. Sedangkan pada aplikasi yang dikembangkan pada tesis ini, Cancer menjadi parent Bronchitis dan Smoking. Selain itu pada aplikasi tesis ini, terdapat garis penghubung yang salah jika dibandingkan dengan garis yang dibuat oleh BN PowerConstructor, yaitu garis antara XRay dengan Dyspnea dimana garis yang benar adalah garis dari TbOrCa
ke
Dyspnea
dan
TbOrca
ke
XRay.
Dari
hasil
diatas
dapat
disimpulkan,bahwa aplikasi SIDAMIBAYES masih memerlukan perbaikan pada versi berikutnya.
Gambar 5.7. Struktur BN pada BN PowerConstructor
75
Gambar 5.8. Struktur BN pada SIDAMIBAYES
76