Halaman Edit Makalah Pembuatan Antarmuka Interface

Listing 4.26. Method untuk update inverted index pada database index ready ORDBMS

4.5.4 Halaman Edit Makalah

Listing 4.27. Method untuk create inverted index pada database index ready ORDBMS method untuk mengupdate table ORDBMS public static void updateInvertedIndexORDBMS { int id_document; Term term = new Term; ArrayListTerm dataTerm = new ArrayListTerm; ArrayListJurnal dataJurnal = getDataJurnalORDB; for int i = 0; i dataJurnal.size; i++ { System.out.printlni + | + dataJurnal.geti.getJudul + | + dataJurnal.geti.getJurnal_id; id_document = getIdDocumentServerdataJurnal.geti.getJudul; System.out.printlnid doc + id_document; dataTerm = getDataPostingRDBMSid_document; for int j = 0; j dataTerm.size; j++ { term.updateTermORBMSdataTerm.getj.getTerm, dataTerm.getj.getDfk, dataTerm.getj.getNidfk, dataTerm.getj.getTfik, dataTerm.getj.getNtfik, dataTerm.getj.getW, dataJurnal.geti.getJurnal_id; System.out.printlnupdate Term + dataTerm.getj.getTerm + | + dataJurnal.geti.getJurnal_id + | + dataJurnal.geti.getJudul + | + dataTerm.getj.getTfik; } } } method untuk membuat inverted index indeks public static void createInvertedIndexIndexORBDMS { Jurnal jurnal = new Jurnal; Term term = new Term; String judul, nama_penulis, path; int id_document = 0; int max_jurnal_id; ArrayListJurnal dataJurnal = getDataDocumentServer; ArrayListTerm dataTerm = new ArrayListTerm; for int i = 0; i dataJurnal.size; i++ { max_jurnal_id = jurnal.getMaxJurnalID; if max_jurnal_id == 0 { max_jurnal_id = 1; } else { max_jurnal_id = max_jurnal_id + 1; } jurnal.insertJurnalBarudataJurnal.geti; System.out.printlninsert jurnal | + dataJurnal.geti.getJudul + | + dataJurnal.geti.getNama_penulis + | + dataJurnal.geti.getUrl_directory + | + dataJurnal.geti.getMaxjhtij + | + dataJurnal.geti.getTahun; dataTerm = getDataPostingRDBMSdataJurnal.geti.getJurnal_id; for int j = 0; j dataTerm.size; j++ { term.insertTermORBMSdataTerm.getj.getTerm, dataTerm.getj.getDfk, dataTerm.getj.getNidfk, dataTerm.getj.getTfik, dataTerm.getj.getNtfik, dataTerm.getj.getW, max_jurnal_id; Pada proses update inverted index database index ready ORDBMS menggunakan stored procedure update_term_ordbms yang ditunjukkan pada Listing 4.28. Listing 4.28. Stored procedure update_term_ordbms untuk update inverted index pada database index ready ORDBMS create or replace PROCEDURE update_term_ORDBMS p_term IN VARCHAR2, p_dfk IN NUMBER, p_nidfk IN NUMBER, p_tfik IN NUMBER, p_ntfik IN NUMBER, p_w IN NUMBER, p_jurnal_id IN NUMBER IS v_count_term NUMBER; v_count_term_jurnal NUMBER; v_count_term_nested_ada NUMBER; --v_jurnal_id NUMBER; BEGIN --update table term whole term UPDATE term SET dfk = p_dfk, nidfk = p_nidfk WHERE term = p_term; -- update table posting nested table UPDATE TABLE SELECT posting_term FROM term WHERE term = p_term SET tfik = p_tfik, ntfik = p_ntfik, w = p_w WHERE jurnal_posting IN SELECT p.jurnal_posting FROM Jurnal J, Term T, Table T.posting_term p WHERE p.jurnal_posting = ref j AND j.jurnal_id = p_jurnal_id; COMMIT; END update_term_ORDBMS; term.insertTermBaruterm.getTerm, max_jurnal_id, term.getTfik; System.out.printlninsert Term + dataTerm.getj.getTerm + | + max_jurnal_id + | + dataJurnal.geti.getJudul + | + dataTerm.getj.getTfik; } updateStatusServerdataJurnal.geti.getJurnal_id; } System.out.printlnINDEXING SELESAI; } Proses create inverted index pada database index ready ORDBMS menggunakan stored procedure insert_term_ordbms seuai dengan algoritma Gambar 3.5 yang ditunjukkan pada Listing 4.29. Listing 4.29. Stored procedure insert_term_ordbms untuk create inverted index pada database index ready ORDBMS Listing 4.30. Method untuk mengambil kumpulan term pada tabel terms dan posting create or replace PROCEDURE insert_term_ORDBMS p_term IN VARCHAR2, p_dfk IN NUMBER, p_nidfk IN NUMBER, p_tfik IN NUMBER, p_ntfik IN NUMBER, p_w IN NUMBER, p_jurnal_id IN NUMBER IS v_count_term NUMBER; v_count_term_jurnal NUMBER; v_count_term_nested_ada NUMBER; --v_jurnal_id NUMBER; BEGIN -- cekTerm select COUNTterm INTO v_count_term from term where term = p_term; dbms_output.put_linecek jumlah term ||v_count_term; -- cekTermNestedJurnalAda SELECT countt.term INTO v_count_term_jurnal FROM Jurnal J, Term T, Table T.posting_term p WHERE p.jurnal_posting = ref j AND t.term = p_term AND j.jurnal_id= p_jurnal_id; dbms_output.put_linecek jumlah nested table ||v_count_term_jurnal; -- cek kata sudah ada atau belum, jk belum insert whole table IF v_count_term = 0 THEN insert_term_wholetablep_term,p_dfk,p_nidfk,p_tfik,p_ntfik,p_w,p_jurnal_id; ELSIF v_count_term_jurnal = 0 THEN insert_posting_nested_tablep_term,p_tfik,p_ntfik,p_w,p_jurnal_id; END IF; END insert_term_ORDBMS; public static ResultSet getDataPostingServerint id_document { String query; query = SELECT t.STEMMED_WORDS, p.frequency, d.title, t.dfk, t.nidfk, p.ntfik, p.w + FROM documents d, posting p, terms t + WHERE p. id_document = d.id_document + AND p. id_term = t. id_term + AND p.id_document = + id_document;

4.5.5 Halaman Edit Makalah