• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PENGUJIAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV IMPLEMENTASI DAN PENGUJIAN"

Copied!
12
0
0

Teks penuh

(1)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Pada bagian ini, akan dijelaskan mengenai lingkungan implementasi dari sistem pakar ini.

4.1.1

Lingkungan Implementasi

Sistem pakar ini dibangun dengan spesifikasi perangkat keras sebagai berikut: 1. Tipe komputer : notebook Toshiba Portege M500

2. Prosesor : Intel Core 2 Duo T5300 3. Memori : 2 GB DDR2

4. Harddisk : 80 GB

Lingkungan pengembangan tersebut memiliki spesifikasi perangkat lunak sebagai berikut: 1. Sistem operasi Microsoft Windows Vista 32-bit

2. NetBeans 6.1 IDE 3. Notepad++

4. Microsoft Excel 2003

4.1.2

Batasan Implementasi

Implementasi sistem pakar ini memiliki beberapa batasan, yaitu: 1. Dataset masukan diasumsikan selalu benar.

2. Masukan pengguna diasumsikan selalu benar.

3. Sebaiknya pengguna sistem pakar adalah pakar sendiri karena ada intervensi langsung dengan basis pengetahuan.

4.1.3

Implementasi Kelas

Implementasi kelas dalam Tugas Akhir ini dapat dilihat pada gambar di bawah ini. Kelas MainFrame merupakan kelas antarmuka dan kelas MainMCRDR adalah kelas utama dalam pembangkitan pengetahuan Induct/MCRDR. Pembagian kelas-kelas tersebut berdasarkan

(2)

package dapat dilihat pada Subbab 3.5.5. Detil implementasi kelas ini dapat dilihat pada Lampiran F. +completeLevel() +completeTree() +traceNode() +tracePath() +traceTree() +printNode() +printNodePath() +printTree() +rule +divider Node +Condition() +add() +addCond() +get() +getAtt() +getMemAtt() +arrToCond() +meetReq() +balanceCond() +combineCond() +combineRule() +print() -cond +listsize Condition +Inisialisasi() +run() -parent Inisialisasi +getAtt() +getKelas() +attToCond() +print() -klasid ListAttrb +ListData() +copy() +getIdTerbanyak() +getTerbanyak() +getIdTarget() +getTarget() +countE() +countQTerbanyak() +countQ() +countS() +countPTerbanyak() +countP() +countCTerbanyak() +countC() +countRTerbanyak() +countR() +sameClass() +filterCov() +filterNotCov() +generateRoot() +generateRuleTerbanyak() +generateRule() +randoming() +breaking() +breakTraining() +breakTest() +print() -klasid ListData +MainMCRDR() +preprocessData() +generateTree() +printSummary() +printStatTraining() +printStatCross() +buildMCRDR() +Diagnosis() +Obat() +tulisDiagnosis() +tulisObat() +validasi() +isWanita() +cekKeluhanDiagnosis() +optimasi() +hitungKemunculanKelas() -listAtt -listData +stoprule +idnode +root +solusi +solusiDiagnosis +solusiObat +nbchild MainMCRDR +Rules() +setRule() +getCond() +getIdConcl() +getConcl() +print() -rules -cond -concl Rules +getRow() +get() +set() +addRow() +addRow() -rows +rowsize +colcount TwoDimArrList * * +MainFrame() +inisialisasiFile() +buildTree() -main -main2 -main3 -main4 MainFrame * *

Gambar IV-1 Diagram kelas sistem pakar kesehatan

4.1.4

Implementasi Antarmuka

Pembangunan antarmuka pada tugas akhir ini menggunakan IDE Netbeans 6.1. Berikut ini adalah tabel objek pada antarmuka yang diimplementasikan:

Tabel IV-1 Deskripsi objek pada layar utama

No Kelas Objek Keterangan

(3)

2. JFrame mainframe Jendela layar utama

panelDiagnosis Panel untuk menampung objek hasil

diagnosis

panelObat Panel untuk menampung objek hasil

terapi 3. JPanel

panelInput Panel untuk menampung objek untuk

input data pasien

tomboldiagnosis Tombol untuk melakukan diagnosis

berdasarkan input data pengguna

4. JButton tombolulangi Tombol untuk membersihkan semua

pilihan pengguna dan solusi yang dihasilkan

kelaminlaki Pilihan kelamin laki-laki

kelaminperempuan Pilihan kelamin perempuan

umuranak Pilihan umur anak-anak

umurdewasa Pilihan umur dewasa

suhurendah Pilihan suhu tubuh rendah

suhunormal Pilihan suhu tubuh normal

suhutinggi Pilihan suhu tubuh tinggi

tekananrendah Pilihan tekanan darah rendah

tekanannormal Pilihan tekanan darah normal

tekanantinggi Pilihan tekanan darah tinggi

riwayatNone Pilihan tidak ada riwayat penyakit

6. JRadioButton

riwayatYes Pilihan ada riwayat penyakit

labelKelamin Label untuk menuliskan kelamin

labelUmur Label untuk menuliskan umur

labelSuhu Label untuk menuliskan suhu tubuh

labelTekanan Label untuk menuliskan tekanan darah

labelRiwayat Label untuk menuliskan riwayat penyakit

labelKeluhan Label untuk menuliskan keluhan

7. JLabel

labelStatus Label untuk menuliskan status sistem

pakar

listriwayat List yang menampung kemunculan

riwayat penyakit dari dataset

listkeluhan List yang menampung kemunculan

keluhan dari dataset

listdiagnosis List yang menampung hasil diagnosis

8. JList

listobat List yang menampung anjuran terapi

(4)

Rincian objek pada layar utama dapat dilihat pada gambar berikut:

Gambar IV-2 Antarmuka utama sistem pakar kesehatan abel IV-2 Deskripsi objek pada layar validasi

T

No Kelas Objek Keterangan

1. JFrame jFrame1 Jendela layar validasi

panelscreen Panel untuk menampung layar validasi

panelValidasi Panel untuk menampung objek validasi

2. JPanel

panelClrScr Panel untuk menampung komponen yang

berhubungan dengan layar validasi

3. JTextField jumlahFold Input jumlah fold untuk validasi cross

mainscreen Area untuk menampilkan pohon

pengetahuan dan hasil validasi 3. JTextArea

tombolValidasi Tombol untuk menjalankan validasi

terhadap pengetahuan 4. JButton

tombolClrScr Tombol untuk membersihkan layar

radioValDataset Pilihan validasi dataset

6. JRadioButton

(5)

Gambar IV-3 Antarmuka validasi sistem pakar

4.2 Pengujian

Subbab ini akan membahas hal-hal yang berkaitan dengan pengujian dari sistem pakar kesehatan ini, termasuk analisis terhadap hasil pengujian.

4.2.1 Lingkungan

Pengujian

Lingkungan pengujian dalam pengujian sistem pakar ini sama dengan lingkungan implementasi pada Subbab 4.1.1. Proses pengujian ini menggunakan perangkat lunak WEKA (Waikato Environment for Knowledge Analysis) versi 3.6.0.

4.2.2 Tujuan

Pengujian

Pengujian sistem pakar kesehatan ini mempunyai tujuan:

1. Memeriksa apakah hasil implementasi sistem pakar kesehatan ini berjalan dengan baik dan sesuai dengan hasil analisis dan perancangan. Pengujian ini merupakan pengujian fitur-fitur sistem pakar.

2. Memeriksa akurasi basis pengetahuan dari sistem pakar.

3. Memeriksa apakah ranah masalah dalam Tugas Akhir ini lebih cocok diakuisisi oleh Induct/MCRDR atau Induct/RDR.

(6)

4.2.3 Bahan

Pengujian

Bahan pengujian yang digunakan adalah file dataset diagnosis dan file dataset obat. Kedua file ini merupakan dataset yang digunakan untuk membentuk basis pengetahuan, dan diperoleh dari pakar melalui kartu pasien.

4.2.4

Skenario dan Kriteria Pengujian

Pengujian sistem pakar kesehatan ini dibagi dalam dua bagian, yaitu:

1. Pengujian fitur sistem pakar, terdiri dari pengujian implementasi kelas. Pengujian ini dilakukan untuk memenuhi poin nomor 1 pada Subbab 4.2.2.

2. Eksperimen pembentukan model data, meliputi pengujian akurasi basis pengetahuan dan perbandingan pengujian antara Induct/MCRDR dengan Ridor pada WEKA. Eksperimen ini dilakukan untuk memenuhi poin nomor 2 dan 3 pada Subbab 4.2.2.

Pengujian akurasi pengetahuan oleh sistem meliputi dua metode pengujian, yaitu pengujian akurasi pelatihan dan pengujian k-fold cross validation, di mana validasi dilakukan dengan iterasi sebanyak k kali. Selain itu, pada pengujian k-fold cross validation juga dilakukan pengacakan baris-baris dataset. Kedua pengujian ini dilakukan masing-masing pada pohon diagnosis penyakit dan pada pohon pemberian terapi.

4.2.5 Metode

Pengukuran

Metode pengukuran yang digunakan dalam pengujian ini adalah sebagai berikut: 1. Pengujian implementasi kelas

Pengujian implementasi kelas dilakukan dengan melihat apakah semua fitur yang dimiliki oleh sistem dapat berjalan dengan baik tanpa ada kesalahan.

2. Pengujian akurasi basis pengetahuan Induct/MCRDR

Metode pengukuran yang digunakan dalam pengujian akurasi basis pengetahuan Induct/MCRDR adalah menggunakan precision, recall, dan F-measure [SIE05]. Rumus dari ketiga metode pengukuran adalah sebagai berikut:

ive falsePosit correct correct precision + = (4.1) ive falseNegat correct correct recall + = (4.2)

recall

precision

recall

precision

measure

F

+

×

×

=

2

(4.3)

(7)

dengan correct adalah jumlah slot yang terisi benar, falsePositive adalah jumlah slot yang terisi namun salah, dan falseNegative adalah jumlah slot yang tidak terisi. Ketiga metode tersebut digunakan untuk menghitung akurasi dari setiap baris dataset (jika digunakan 100 baris dataset, maka akan terdapat 100 nilai precision, recall, dan F-measure).

Untuk menggabungkan nilai-nilai precision, recall, dan, F-measure dari sekumpulan dataset yang digunakan dalam pengujian ini ke dalam sebuah nilai tunggal, digunakan metode microaverage dan macroaverage. Pada microaverage, semua correct, falsePositive, dan falseNegative untuk setiap dataset dijumlahkan, kemudian precision, recall, dan F-measure dihitung berdasarkan penjumlahan tersebut. Pada macroaverage, nilai F-measure dihitung dengan merata-rata nilai F-measure setiap baris dataset.

Pada pengujian k-fold cross validation, nilai microaverage dan macroaverage dihitung dengan menghitung nilai rata-rata microaverage dan macroaverage dari setiap iterasi.

Contoh perhitungan akurasi microaverage dan macroaverage dapat dilihat pada perhitungan di bawah ini:

Tabel IV-3 Contoh kasus dan perhitungan akurasinya Solusi yang Diharapkan Solusi Sistem Correct False Positive False

Negative Precision Recall F-Measure [a, b,c] [a, b, c] 3 [a, b, c] 0 [-] 0 [-] 3 3 3 3 1 [d, e, f] [a, b, e, f] 2 [e, f] 2 [a,b] 1 [d] 4 2 3 2

7

4

[a, b] [-] 0 [0] 0 [-] 0 [-] 0 0 0 [c, d] [a, b] 0 [-] 2 [a, b] 2 [c, d] 0 0 0

Nilai microaverage dihitung dengan menjumlahkan setiap kolom correct, falsePositive, dan falseNegative. Berdasarkan tabel di atas, maka nilai dari ketiga atribut tersebut berturut-turut adalah 5, 4, dan 3. Dengan demikian, didapatkan nilai precisionmicro sebesar 9 5 , recallmicro sebesar 8 5

(8)

% 8 . 58 17 10 =

. Nilai F-measuremicro ini digunakan sebagai nilai dari microaverage. Perhitungan nilai macroaverage dilakukan dengan merata-rata nilai F-measure dari

setiap dataset, yaitu: 39,28%

28 11 4 0 0 7 4 1 = = + + + .

4.2.6 Hasil

Pengujian

Berikut adalah hasil pengujian dari sistem pakar ini: 1. Pengujian fitur sistem pakar

Secara umum, pengujian fitur sistem pakar berhasil. Sistem pakar dapat memenuhi spesifikasi kebutuhan sistem pada Subbab 3.1.1. Detil dari pengujian dapat dilihat pada Lampiran G.

2. Eksperimen pembentukan model data

a. Pengujian akurasi basis pengetahuan Induct/MCRDR oleh sistem. Hasil dan detil dari pengujian ini dapat dilihat pada Lampiran H.

b. Perbandingan pengujian akurasi basis pengetahuan antara Ridor dan Induct/MCRDR. Hasil dan detil lampiran ini dapat dilihat pada Lampiran I.

4.2.7

Analisis Hasil Pengujian

Subbab ini akan menjelaskan analisis hasil pengujian pada Subbab 4.2.4.

4.2.7.1 Analisis Hasil Pengujian Akurasi Basis Pengetahuan Induct/MCRDR Oleh Sistem

Basis pengetahuan yang terbentuk menggunakan Induct/MCRDR dapat dilihat pada lampiran H. Dari 150 dataset masukan, terbentuk dua buah pohon MCRDR, yaitu pohon diagnosis penyakit dan pohon pemberian terapi. Pohon diagnosis penyakit merupakan pohon 2 level yang mempunyai 99 buah rule, sedangkan pohon pemberian terapi merupakan pohon 3 level yang mempunyai 130 buah rule.

Pada lampiran H, dapat dilihat bahwa Induct/MCRDR dapat mengklasifikasikan dataset diagnosis penyakit dengan cukup baik. Hal ini terlihat dari akurasi microaverage sebesar 78.65% dan akurasi macroaverage sebesar 82.98%. Untuk klasifikasi dataset pemberian

(9)

terapi, performa Induct/MCRDR masih kurang. Hal ini terlihat dari akurasi microaverage sebesar 48.46% dan akurasi macroaverage sebesar 53.05%.

Pada pengujian cross validation, akurasi microaverage dan macroaverage selalu berubah-ubah. Hal ini dikarenakan adanya pengacakan dataset dan kemunculan data yang sedikit pada dataset. Jika data yang kemunculannya sedikit termasuk pada partisi data uji dan tidak ada yang berada pada partisi data latih, maka akurasinya akan kecil karena pada pohon pengetahuannya yang terbentuk, tidak terdapat data uji tersebut. Berikut adalah ringkasan hasil akurasi dari pengujian cross validation:

Tabel IV-4 Akurasi kedua basis pengetahuan pada pengujian 10-fold cross validation Basis pengetahuan microaverage (%) macroaverage (%)

diagnosis penyakit 55.34 57.12

pemberian terapi 24.83 25.06

Selanjutnya, untuk memastikan bahwa Induct/MCRDR sudah berjalan dengan baik, setiap kelas diagnosis pada dataset diagnosis penyakit yang kemunculannya hanya berjumlah satu akan dihapus beserta baris datanya. Dataset pemberian terapi mengikuti dataset diagnosis penyakit, yaitu menghapus baris data yang dihapus pada dataset diagnosis penyakit. Hal ini bertujuan untuk meningkatkan kemungkinan terpilihnya sebuah kelas solusi minimal 1 buah pada data latih dan data uji di saat yang bersamaan. Dengan demikian, diharapkan akurasi cross validation ini menjadi lebih baik.

Berikut ini adalah hasil pengujiannya:

Tabel IV-5 Akurasi kedua basis pengetahuan pada pengujian 10-fold cross validation sesudah dilakukan penghapusan pada dataset

Basis pengetahuan microaverage (%) macroaverage (%)

diagnosis penyakit 53.51 56.21

pemberian terapi 27.40 27.75

Akurasi pengujian di atas tetap rendah, karena masih banyak data yang jumlah kemunculannya tidak banyak. Hal ini membuat pembelajaran Induct/MCRDR menjadi kurang baik. Untuk itu, dilakukan pengujian pada dua kelas tertinggi pada dataset diagnosis penyakit. Kelas solusi yang bukan dua kelas tertinggi dianggap menjadi satu kelas solusi negatif. Data pada dataset pemberian terapi mengikuti dataset diagnosis penyakit. Berikut adalah hasil pengujiannya:

(10)

Tabel IV-6 Hasil pengujian dengan dataset pada dua kelas tertinggi pada dataset diagnosis penyakit

Basis pengetahuan microaverage (%) macroaverage (%)

diagnosis penyakit 98.34 98.44

pemberian terapi 48.36 52.99

Tabel IV-7 Hasil pengujian 10-fold cross validation pada dua kelas tertinggi pada dataset diagnosis penyakit

Basis pengetahuan microaverage (%) macroaverage (%)

diagnosis penyakit 90.39 90.44

pemberian terapi 25.64 25.38

Dari hasil eksperimen tersebut, dapat dilihat bahwa dataset masukan sangat mempengaruhi akurasi pengujian. Berikut ini adalah analisis dari dataset masukan:

1. Jumlah rule berbanding lurus dengan kelas solusi.

Semakin beragam nilai kelas solusi (contoh dalam diagnosis penyakit: ispa, rheumatism, tendinitis, dll), maka jumlah rule yang dihasilkan sistem pakar akan semakin banyak pula. Hal ini terjadi karena proses pembelajaran dilakukan terhadap masing-masing kelas solusi dan akan menghasilkan minimal satu buah rule untuk setiap nilai kelas solusi. Oleh sebab itu, jumlah rule akan bertambah jika nilai kelas solusi semakin beragam. Dalam Tugas Akhir ini, kelas solusi pada dataset cukup beragam sehingga rule yang dihasilkan relatif banyak jika dibandingkan dengan jumlah data pada dataset.

2. Kualitas dataset ditentukan dari distribusi kemunculan kelas solusi.

Sebuah dataset yang baik adalah sebuah dataset yang memiliki ketersebaran data yang baik dan kuantitas yang mencukupi untuk proses pembelajaran. Ketersebaran data yang baik dapat dilihat dari jumlah kemunculan kelas solusi yang merata dan banyak (lebih besar dari 30 kemunculan untuk setiap kelas solusi). Misalnya, sebuah dataset yang mengandung 100 buah data memiliki kelas solusi A, B, dan C. Dataset tersebut dapat dikatakan baik jika kemunculan A, B, dan C merata, seperti 32, 33, dan 35.

3. Kualitas pengetahuan yang dihasilkan ditentukan dari kualitas dataset

Karena proses pembelajaran Induct/MCRDR ini merupakan proses generalisasi dari kasus-kasus yang spesifik, maka kemunculan setiap kelas solusi yang banyak dan merata akan memudahkan Induct/MCRDR untuk mendapatkan pola pembelajaran. Kemunculan kelas solusi yang sedikit dapat menyebabkan kesalahan dalam

(11)

mendapatkan pola pembelajaran. Hal ini dikarenakan kelas solusi yang sedikit dianggap tidak dapat mewakili keseluruhan data untuk kelas solusi tersebut.

Dari pengujian yang dilakukan, pengetahuan terbaik yang dihasilkan Induct/MCRDR terdapat pada pengujian dua kelas yang terbanyak kemunculannya. Dari sini dapat disimpulkan bahwa akurasi atau kualitas pengetahuan ditentukan dari kualitas dataset. Kualitas dataset yang baik akan menghasilkan pengetahuan yang baik pula. Dataset yang digunakan dalam Tugas Akhir ini belum memenuhi kriteria sebagai dataset yang baik karena kemunculan kelas solusinya tidak merata dan masih banyak kemunculan kelas solusi yang berjumlah satu. Dengan demikian, kualitas pengetahuan yang terbentuk masih kurang baik.

4.2.7.2 Analisis Hasil Perbandingan Pengujian Antara Ridor dan

Induct/MCRDR

Perbandingan pengujian antara Ridor dan Induct/MCRDR ditujukan untuk membuktikan apakah Induct/MCRDR memiliki performansi yang lebih baik daripada Induct/RDR untuk permasalahan klasifikasi majemuk yang dijadikan klasifikasi tunggal. Ridor merupakan implementasi dari Induct/RDR yang menangani permasalahan klasifikasi tunggal. Dataset yang digunakan adalah dataset diagnosis penyakit dan dataset pemberian terapi yang telah diubah. Perubahan dataset ini terletak pada kelas solusi majemuk yang diubah menjadi kelas solusi tunggal dengan menggabungkan dua solusi atau lebih menjadi satu solusi. Contoh: “rheumatism, ispa” menjadi “rheumatism-dan-ispa”. Detil dari pengujian ini dapat dilihat pada Lampiran I.

Berikut ini adalah ringkasan perbandingan akurasi pengujian antara Ridor dan Induct/MCRDR:

Tabel IV-8 Akurasi Ridor dan Induct/MCRDR pada pengujian menggunakan dataset Basis pengetahuan Ridor Induct/MCRDR

diagnosis penyakit 28% 60.67%

pemberian terapi 15.33% 53.33%

Tabel IV-9 Akurasi Ridor dan Induct/MCRDR pada pengujian 10-fold cross validation Basis pengetahuan Ridor Induct/MCRDR

diagnosis penyakit 27.33% 35.42%

(12)

Dari kedua tabel di atas, dapat dilihat bahwa Induct/MCRDR memiliki akurasi yang lebih baik daripada Ridor. Dengan demikian dapat disimpulkan bahwa pengetahuan lebih baik diakuisisi dengan Induct/MCRDR.

4.2.8 Kesimpulan

Pengujian

Dari hasil pengujian di atas, dapat disimpulkan beberapa poin berikut:

1. Fungsi dasar sistem pakar ini sudah berjalan dengan baik dan siap digunakan. 2. Kualitas dataset menentukan tingkat akurasi yang dihasilkan oleh sistem pakar. 3. Akurasi dataset diagnosis penyakit secara umum jauh lebih baik daripada akurasi

dataset pemberian terapi.

4. Penghapusan kelas diagnosis yang berjumlah satu beserta baris datanya tidak menaikkan akurasi pengujian.

5. Akurasi pengujian pada data diagnosis penyakit yang kelas kemunculannya dua terbesar cukup tinggi. Hal ini menunjukkan pembelajaran Induct/MCRDR dapat berjalan dengan baik jika kemunculan kelas solusi pada dataset merata dan banyak. 6. Pengetahuan diagnosis penyakit dan pemberian terapi lebih baik diakuisisi dengan

Gambar

Gambar IV-1 Diagram kelas sistem pakar kesehatan
Gambar IV-2 Antarmuka utama sistem pakar kesehatan   abel IV-2 Deskripsi objek pada layar validasi
Gambar IV-3 Antarmuka validasi sistem pakar
Tabel IV-3 Contoh kasus dan perhitungan akurasinya  Solusi yang  Diharapkan  Solusi  Sistem  Correct  False  Positive  False
+4

Referensi

Dokumen terkait

Secara singkat, Pimpinan Program Studi Magister Teknik Arsitektur USU telah melaksanakan upaya- upaya untuk menumbuhkan organisasi yang sehat, berdasarkan kebijakan normatif

Jenis penelitian yang digunakan dalam penelitian ini adalah deskriptif kualitatif. Deskripsi atau pemaparan merupakan kegiatan menentukan isi aturan hukum setepat

=ormula I, *an/ didapat dari urnal *an/ u/a membandin/)an sifat suspensi =ormula I, *an/ didapat dari urnal *an/ u/a membandin/)an sifat suspensi dari pen//unaan

data ragam bahasa tersebut terbagi menjadi 9 data ragam bahasa menggunakan kata sifat, 8 data berupa ragam bahasa dengan bentuk ungkapan halus, dan 15 data yang merupakan ragam

Erti juga memahami, sebagai guru yang sudah memiliki banyak pengalaman dalam mengurusi studi pascasekolah siswa, UNAIR merupakan salah satu kampus favorit yang diidamkan

Berdasarkan Pasal 39 ayat (2) UU No. 48 Tahun 2009 Tentang Kekuasaan Kehakiman, MA memiliki wewenang untuk melakukan pengawasan internal terhadap hakim. Pengawasan Hakim secara

Pada sesi selanjutnya materi oleh anggota polsek tempurejo yaitu Aiptu Sapuan SH, disampaikan bahwasanya secara prinsip pihak kepolisian mendukung upaya taman

Kebutuhan sarana membawa bahan makanan untuk lansia dengan posisi genggaman telapak tangan lebih menjangkau dan mencakup benda yang dibawa, agar lansia dapat dengan mudah