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 kode-
kode 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
64
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 Nama Kelas Nama File
1 - frmKonfigurasi
- PairNode frmKonfigurasi.frm
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 ber-
ekstension 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
65
(Graphical User Interface). Pada implementasi antar muka terdapat beberapa kelas-
kelas 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
66
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
67
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).
68
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.
69
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
70
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.
71
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 Hasil Status
U1 Memilih
Data, field
dan kelas
target serta
setting data
• Pilih menu Menu>Konfigurasi
• Dilihat apakah program
menampilkan layar Form
Konfigurasi.
• Pilih data set dengan menekan
tombol” Browse” (pilih file dengan
format *.mdb) dengan mouse.
• Pilih table sebagai training set.
• Pilih field-field yang menjadi node.
• Pilih field yang menjadi kelas
target
• Tentukan nilai threshold
• Layar Form Konfigurasi
muncul
• Kolom daftar table terisi.
• Kelas target terisi.
• Field-field yang menjadi
node telah terpilih.
• Nilai threshold terisi.
Ok,
aplikasi
telah sesuai
dengan
fungsi Use
Case
Konfigurasi
Tabel 5.5. Hasil Pengujian Use Case Bangun Struktur BN
Id Deskripsi Prosedur Pengujian Hasil Status
U2 • Setelah UI dilakukan,tekan tombol
“Set Konfigurasi”
• Program mulai
membangun struktur,
indikasinya progress bar
menunjukkan tahapan/fase
pembangunan struktur
• Hasil akhir Form
Konfigurasi otomatis
hilang.
• Struktur BN terdefenisi
Ok,
aplikasi
telah
sesuai
dengan
fungsi
Use
Case
Bangun
72
disimpan dalam variabel
ListNodeBN
Struktur
BN
Tabel 5.6. Hasil Pengujian Use Case Visualisasi Struktur BN
Id Deskripsi Prosedur Pengujian Hasil Status
U3-
01
Menampilkan
struktur
Bayesian
Networks dalam
bentuk Node
Bar chart
• Lakukan prosedur U1 dan U2
• Pilih menu
Menu>Visualisasi>Visualisasi
Struktur BN dalam Bar Chart
Node
• Dilihat apakah “Form Visualisasi
Bar Chart” muncul.
• Layar “Form
Visualisasi Bar Chart
muncul, dengan
menampilkan struktur
Bayesian Networks
sesuai field-field
dasaset yang telah
dipilih dengan
tampilan bar chart
yang menunjukkan
distribusi probabilitas
untuk setiap nilai
node-node.
Ok, aplikasi
dapat
menampilkan
struktur BN
dengan
dapat
menampilkan
probabilitas
distribusi
setiap nilai
node dalam
bentuk bar
chart.
U3-
02
Menampilkan
table
conditional
probability
pada visualisasi
bar chart
• Klik ganda pada salah satu node
yang ditampilkan.
• Dilihat apakah tampil layar
“CPT”
• Muncul layar CPT
untuk node yang
dipilih.
Ok, aplikasi
dapat
menampilkan
CPT node
yang dipilih
03-
03
Menampilkan
struktur
Bayesian
Networks dalam
bentuk Node
Circle
• Lakukan prosedur U1 dan U2
• Pilih menu
Menu>Visualisasi>Visualisasi
Struktur BN dalam Circle Node
• Dilihat apakah “Form Visualisasi
Circle” muncul
• Layar “Form
Visualisasi Circle
muncul, dengan
menampilkan struktur
Bayesian Networks
sesuai field-field
dasaset yang telah
dipilih dalam bentuk
circle
Ok, aplikasi
dapat
menampilkan
struktur BN.
U3-
04
Menampilkan
table
conditional
probability
pada visualisasi
circle
• Klik ganda pada salah satu node
yang ditampilkan.
• Dilihat apakah tampil layar
“CPT”
• Muncul layar CPT
untuk node yang
dipilih.
Ok, aplikasi
dapat
menampilkan
CPT node
yang dipilih.
73
Tabel 5.7. Hasil Pengujian Use Case Prediksi Kelas
Id Deskripsi Prosedur Pengujian Hasil Status
U4 Memprediksi
kelas target
sesuai
dengan nilai
node-node
yang
dimasukkan
• Pilih menu Menu>Prediksi Kelas
• Dilihat apakah program
menampilkan layar Form
Konfigurasi.
• Dilihat apakah layar berisi node-
node yang telah dipilih pada
prosedur UI.
• Pilih nilai-nilai untuk masing-
masing node.
• Tekan tombol “Prediksi Kelas”
untuk menebak nilai kelas target.
• Muncuk layar Form
Prediksi Kelas.
• Layar Form Prediksi
Kelas berisi node-node
yang telah dipilih
sebelumnya
• Setiap node berisi nilai-
nilai state.
• Output berupa hasil
prediksi ditampilka pada
kolom “Hasil Prediksi”
Ok, aplikasi
dapat
menampilkan
form
Prediksi
kelas dan
dapat
melakukan
prediksi
kelas target
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 Nursery
9
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
� Data Bank : kelas target adalah atribut ”productive”.
� Chest Clinic : kelas target adalah atribut ”cancer”.
� Nursery : kelas target adalah atribut ”class”.
9 Data Chest Clinic dan Nursery diambil dari contoh data yang disertakan pada BN PowerSoft
74
Hasil yang diperoleh dapat dilihat pada Tabel 5.8.
Tabel 5.8 Hasil Evaluasi Kinerja Model Klasifikasi
No Data Akurasi Prediksi / Ukuran
10% 15% 25% 50%
1 Bank 100 % 100% 100% 100%
2 Chest Clinic 96% 94,667% 95,6% 95,2%
3 Nursery 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.
75
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
Top Related