Vector Space Model VSM Extended Boolean Model EBM

no++; } } return list; } List Code 4. 24 similarity PM

4.5.2. Vector Space Model VSM

Berbeda dengan PM, VSM tidak memerlukan preprocessing. Untuk melakukan perhitungan, VSM akan menjalankan metode similarity. Metode tersebut akan menghitung nilai bobot tiap kata pada dokumen, serta bobot kata dalam query. Berikut pemaparan metode similarity. public LinkedListVSM similarityVectorKataDasar vector, HashMapInteger, HashMapInteger, IndexingController hash, Dokumen[] listDok, double nKata, Query query throws SQLException { vsm = new VSM; vsm.setPercentage0; int[] q = query.generateQquery; VSM[] vsms = new VSM[listDok.length]; double totalWQ = 0; for int i = 0; i q.length; i++ { int j = q[i]; double wQ = SearchController.getKoneksiKontrol.getIdfKatavector, j 1; totalWQ += Math.powwQ, 2; } for int i = 0; i listDok.length; i++ { double totalWT = 0; double totalWDWQ = 0; Dokumen d = listDok[i]; int idDok = d.getIdDok; for int j = 1; j = nKata; j++ { if hash.containsKeyj { HashMapInteger, IndexingController hashD = hash.getj; IndexingController idx = hashD.getidDok; double tf = 0; double wTperDok = 0; double idf = SearchController.getKoneksiKontrol.getIdfKatavector, j; ifidx=null{ tf = 1; } wTperDok = tf idf; cek term di query double wQ = 0; for int k = 0; k q.length; k++ { int idQT = q[k]; if j == idQT { wQ = idf; break; } else { wQ = 0; } } if wQ 0 {totalWDWQ += wTperDok wQ; } totalWT += Math.powwTperDok, 2; } } double pembagi = Math.sqrttotalWQ totalWT; double similarity = totalWDWQ pembagi; VSM vsmTemp = new VSM; vsmTemp.setDokumend; vsm.setPercentagevsm.getPercentage + similarity; vsmTemp.setSimilaritysimilarity; vsms[i] = vsmTemp; } Arrays.sortvsms; int no = 1; LinkedListVSM list = new LinkedListVSM; for int i = 0; i vsms.length; i++ { VSM vsmT = vsms[i]; vsmT.setPercentagevsmT.getSimilarity vsm.getPercentage 100; vsmT.setNono; if vsmT.getSimilarity 0 { list.addvsmT; no++; } } return list; } List Code 4. 25 similarity VSM

4.5.3. Extended Boolean Model EBM

Berbeda dengan PM, EBM memerlukan preprocessing tetapi pada bagian query. Query yang sudah diproses, kemudian digunakan untuk menghitung kemiripan query dengan dokumen. Operator yang digunakan adalah operator and. Untuk melakukan perhitungan, EBM akan menjalankan metode similarity. Berikut pemaparan metode similarity. public LinkedListEBM similarityVectorKataDasar vector, HashMapInteger, HashMapInteger, IndexingController hash, Dokumen[] listDok, double nKata, Query query throws SQLException { ebm = new EBM; ebm.setPercentage0; EBM[] ebms = new EBM[listDok.length]; int[] idKatas = query.generateQquery; double maxIDF = SearchController.getKoneksiKontrol.getMaxIDFvector; double p = 2; for int i = 0; i listDok.length; i++ { Dokumen d = listDok[i]; d.setEbmTempnull; int idDok = d.getIdDok; double jumlahTemp = 0; for int j = 0; j idKatas.length; j++ { int indexQ = idKatas[j]; double w = 0; if hash.containsKeyindexQ {jika query ada HashMapInteger, IndexingController hashD = hash.getindexQ; IndexingController idx = hashD.getidDok; if idx = null { w = SearchController.getKoneksiKontrol.getIdfKatavector, idx.getIdKata maxIDF; } else { w = 0; } } jumlahTemp += Math.pow1 - w, p; } double similarity = 1- Math.powjumlahTemp idKatas.length, 1 p; EBM ebmTemp = new EBM; ebmTemp.setSimilaritysimilarity; ebmTemp.setDokumend; ebm.setPercentageebm.getPercentage + similarity; ebms[i] = ebmTemp; } Arrays.sortebms; int no = 1; LinkedListEBM list = new LinkedListEBM; for int i = 0; i ebms.length; i++ { EBM ebmT = ebms[i]; ebmT.setPercentageebmT.getSimilarity ebm.getPercentage 100; ebmT.setNono; if ebmT.getSimilarity 0 { list.addebmT; no++; } } return list; } List Code 4. 26 similarity EBM

BAB V HASIL DAN PEMBAHASAN

Pada bab ini akan dipaparkan mengenai hasil dan analisa dari hasil percobaan yang telah dilakukan.

5.1. Hasil Pengukuran kuesioner

Hasil pengukuran ini didapatkan dengan mencocokkan hasil luaran sistem dengan kuesioner yang telah diisi. Kuesioner diisi oleh 4 empat orang dokter untuk mengetahui differential diagnose. Dokter tersebut kemudian melakukan pengujian sistem dengan menggunakan semua algoritma. Hasil luaran sistem dari setiap query dan model dicatat untuk dicocokkan dengan kuesioner. Dalam pengisian kuesioner dan pengujian sistem, terdapat 21 skenario query yang dilakukan. Contoh lembar kuesioner terlampir di dalam dokumen ini. Daftar 21 query yang dilakukan dalam penelitian ini adalah: 125