BAB. V. IMPLEMENTASI DAN PENGUJIAN -...

14
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

Transcript of BAB. V. IMPLEMENTASI DAN PENGUJIAN -...

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

76

Gambar 5.8. Struktur BN pada SIDAMIBAYES