4.5.2.1. Operator OR
Pengambilan bobot W_ij pada masing-masing term yang telah diperoleh, yang diimplementasikan pada kode program 4.35 berikut ini :
Kode Program 4.35 Implementasi Pengambilan W_ij pada Pencarian Kasus
public ListString TF_IDF_ORControl koneksi, InvertedIndexBasic ii, String cari {
try { StringTokenizercari, .,-[]{}|+=?:;;
while token2.hasMoreTokens { String nxtTkn2 = token2.nextToken;
Term_Kasus cr1 = koneksi.CariIdTermKasusnxtTkn2; String ID_TERM = cr1.getId_term_kasus;
String test = ii.printSearch2nxtTkn2; if test = null {
StringTokenizer tokenTest = new StringTokenizertest; while tokenTest.hasMoreTokens {
String hsl = tokenTest.nextToken.toString; Indeks_Kasus cr2 = koneksi.cariW_ij_KasusID_TERM, hsl;
Double W_ij = cr2.getW_ij; list_wij.addW_ij;
listDok.addhsl; }
} }
hasilOR = new InvertedIndexBasic.duplikasiList_CountWijlistDok, list_wij;
} catch SQLException ex{ Logger.getLoggerOperatorAND_OR.class.getName.logLevel.SEVERE,
null, ex; } } return hasilOR; }
Proses yang diperlukan untuk operasi OR adalah proses untuk menghilangkan duplikasi pada list id dokumen dan perhitungan W_ij, kemudian
akan diurutkan descending sebagai berikut :
Kode Program 4.36 Implementasi Penghilang Duplikasi
public ListString duplikasiList_CountWijLinkedListString list, LinkedListDouble list_wij {
LinkedListString ListDokBaru = new LinkedListString; LinkedListDouble ListWijBaru = new LinkedListDouble;
list_wij.size; for int i = 0; i list.size; i++ {
String currentDok = list.geti; Double currentWij = list_wij.geti;
if i == 0 { ListDokBaru.addcurrentDok;
ListWijBaru.addcurrentWij; } else if i = 0 {
if ListDokBaru.containscurrentDok { int indx = ListDokBaru.indexOfcurrentDok;
double wij = double ListWijBaru.getindx; Double wij_jumlah = list_wij.geti + wij;
ListWijBaru.setindx, wij_jumlah; } else if ListDokBaru.containscurrentDok {
ListDokBaru.addcurrentDok; ListWijBaru.addcurrentWij;
} }
} MapString, Double mp = new HashMapString, Double;
for int j = 0; j ListDokBaru.size; j++ { String dok_2 = ListDokBaru.getj;
Double wij_2 = ListWijBaru.getj; mp.putdok_2, wij_2;
} hasilDuplikasiList = this.sortByValuesDescendingmp;
return hasilDuplikasiList; }
Pada kode program 4.37 berikut ini merupakan implementasi pencarian dokumen kasus pada tabel Kasus berdasarkan id_kasus :
Kode Program 4.37 Implementasi Pencarian Dokumen Kasus Pada Tabel Kasus
public Kasus AmbilKasusString id_kasus throws SQLException { PreparedStatement statement = null;
ResultSet rs2 = null; conn.setAutoCommitfalse;
String sql = SELECT id_kasus, judul, dok_kasus from kasus + where id_kasus = + id_kasus + ;
statement = conn.prepareStatementsql; rs2 = statement.executeQuery;
Kasus kasus = new Kasus; while rs2.next {
kasus.setId_kasusrs2.getString1; kasus.setJudulrs2.getString2;
kasus.setDok_ksus_streamrs2.getBinaryStream3; }
conn.commit; return kasus;
}
4.6. Implementasi Antarmuka
4.6.1. Form Utama
Pada Form Utama ini pengguna dapat memilih menu Pencarian atau Undang-Undang. Menu Pencarian berfungsi untuk mencari pasal berdasarkan
query maupun dokumen kasus, dan menu Undang-Undang berfungsi untuk
menampilkan isi pasal yang ingin dicari. Pihak administrator dapat login dengan memilih menu Administrator.
Gambar 4.1 Antarmuka Form Utama