Pembentukan Kalimat Pembentukan Passages Pemrosesan Passages

8 Hasil dari perolehan n dokumen teratas disimpan dalam arraytempcontent[data[attrs][docno]].Cu plikan implementasi untuk mengambil 10 dokumen teratas dapat dilihat pada Gambar 8.Gambar 9 adalah contoh dari dokumen teratas dengan query, “Siapa saja pejabat yang menjadi tersangka kasus ilegal logging?” [suarakarya000000-016.txt] = Maraknya praktek illegal logging penebangan liar di wilayah provinsi [LOCATION]Kalimantan Tengah[LOCATION] yang terkenal dengan emas hijau hingga kini terus berlangsung, bahkan sampai merambah kawasan Taman Nasional [LOCATION]Tanjung Puting[LOCATION] [LOCATION]TNTP[LOCATION] yang merupakan pusat rehabilitasi orangutan. ……… Gambar 9 Dokumen teratas

5. Pembentukan Kalimat

Sepuluh dokumen teratas yang ditemukembalikan oleh SPHINX kemudian diproses menjadi kalimat. Dalam wujud tulisan Latin, kalimat dimulai dengan huruf kapital dan diakhiri dengan tanda ., tanda tanya?, atau tanda seru . Kalimat disimpan dalam variabel arraykalimat.Cuplikan kalimat dapat dilihat pada Gambar 11 sedangkan fungsi yang digunakan dalam pembentukan kalimat dapat dilihat pada Gambar 10. Function pemisahkalimat paragraf{ tempkalimat = preg_split [.?]+[\s]+,paragraf; return tempkalimat; } Gambar 10 Fungsi pembentuk kalimat Array [suarakarya.txt] = Array [0] =Maraknya praktek illegal.. [1] = Kerusakan hutan yang semakin parah dan.. [2] = Bahkan tekanan untuk menyelamatkan hutan.. ………… Gambar 11 Hasil pembentukan kalimat

6. Pembentukan Passages

Pembentukan passages dilakukan dengan cara menggabungkan dua kalimat dari masing-masing dokumen, yaitu kalimat pada indeks sebelumnya dengan kalimat pada indeks sesudahnya. Dengan demikian, satu kalimat akan terdapat pada dua passages hal ini tidak berlaku pada kalimat pertama dan terakhir. Fungsi yang digunakan untuk membentuk passage dapat dilihat pada Gambar 12. function createpassage arraykalimat{ total= countarraykalimat; arrayhasil=array; forindeks=0;indekstotal-1; indeks++{ arrayhasil[]=arraykalimat[ind eks].. .arraykalimat[indeks+1]..;} return arrayhasil;} Gambar 12 Fungsi pembentuk passage Hasil pembentukan passages disimpan dalam arrayarraypassagesdengan indeks asosiatif berupa nama dokumen. Ilustrasi pembentukan passages ditunjukkan oleh Gambar 13. Array [doc1] = Array [0] = kalimat 1. kalimat 2 [1] = kalimat 2.kalimat 3 . Gambar 13 Pembentukan passage 9

7. Pemrosesan Passages

Tidak semua passages dalam dokumen digunakan dalam proses pembobotan passages, namun hanya passages yang mengandung tag name entity yang sesuai dengan kata tanya. Tag yang sesuai tersebut disimpan dalam arrayarrayTag, misalkan kata tanya “Siapa” maka tag yang disimpan didalam arrayTag adalah ORGANIZATION dan PERSON. Sebagai contoh dengan menggunakan query “Siapa saja pejabat yang menjadi tersangka kasus ilegal logging?” dari 1 dokumen teratas diperoleh passagessebanyak 30. Kemudian dilakukan seleksi berdasarkan named entity sesuai kata tanya. Dalam contoh queryini passages diseleksi dengan tag ORGANIZATON dan PERSON, sehingga diperoleh passages sebanyak 14passages.

8. Pembobotan Passages