Analisisis dan Rancangan Proses Sistem

3.5 Analisisis dan Rancangan Proses Sistem

Gambar 3.9 memperlihatkan diagram konteks sistem QA. Pengguna memberikan pertanyaan kepada sistem QA dan mendapatkan jawaban dari sistem. Sistem QA yang akan dibangun terdiri atas dua modul utama, yakni modul Question Processing (QP) dan modul Query Retrieval (QR). Modul QP bertugas menentukan validitas kalimat dan kata kunci berdasarkan pertanyaan yang dimasukkan pengguna. Modul QR bertugas menentukan variabel query, statement query dan melakukan query jawaban ke ontologi serta memberikan jawaban kepada pengguna. Gambar 3.10 memperlihatkan Diagram Alir Data (DAD) Tingkat 1 untuk sistem QA.

Gambar 3.9 Diagram Konteks Sistem QA

Gambar 3.10 DAD Sistem QA Tingkat 1

3.5.1 Analisis dan Rancangan Modul QP

Modul QP melakukan dua tugas utama yakni menentukan validitas kalimat pertanyaan, dan menentukan kata kunci yang terdapat dalam kalimat pertanyaan yang dimasukkan pengguna. Gambar 3.11 memperlihatkan DAD tingkat 2 untuk subsistem QP.

Gambar 3.11 DAD Tingkat 2 untuk subsistem QP

Untuk menentukan validitas pertanyaan, hal pertama yang dilakukan adalah menghilangkan semua kata-kata yang termasuk dalam stopwords dari kalimat pertanyaan. Tabel 3.11. memperlihatkan kata-kata yang tergolong sebagai stopwords. Setelah itu kalimat pertanyaan akan dibagi (parsing) dalam satuan- satuan kata. Kemudian akan dilakukan pengecekan dari kata pertama. Kata pertama harus berupa kata tanya. Kata tanya yang dapat dikenali oleh sistem adalah kata: siapa, apa, bagaimana, kapan, dimana dan berapa. Kata berikutnya ditentukan berdasarkan kata tanya yang telah ditemukan. Gambar 3.12 merupakan flowchart untuk menentukan validitas kalimat pertanyaan.

Tabel 3.11 Kata-kata stopwords

yang film oleh pada tahun dalam skenario utama menjadi syuting di

sebagai orang jalan tentang dimulai mulai termasuk sering saja asli

Gambar 3.12 Flowchart untuk menentukan validitas kalimat

Gambar 3.12 Flowchart untuk menentukan validitas kalimat (lanjutan)

Setelah kalimat pertanyaan dinyatakan valid, langkah selanjutnya adalah menentukan kata-kata kunci, termasuk kata kunci tambahan. Kata-kata kunci tersebut akan digunakan pada modul QR untuk menentukan variabel query dan statement -statement query. Apa bila kata tanya yang ditemukan adalah siapa dan apakah, dibutuhkan tiga buah kata kunci. Dua kata kunci mewakili datatype property (dp1 dan dp2) dan satu kata kunci mewakili object property (op). Sedangkan untuk kata tanya lainnya dibutuhkan dua buah kata kunci yang mewakili datatype property.

Untuk kalimat pertanyaan yang sesuai dengan pola I dan pola V, kata-kata kunci telah ditentukan pada saat menentukan validitas kalimat. Namun untuk pola

II, III, IV dan VI perlu ditambahkan kata kunci yang bersesuaian. Gambar 3.13 merupakan flowchart untuk menambahkan kata kunci yang bersesuaian.

3.5.2 Analisis dan Rancangan Modul QR

Modul QR melakukan tiga tugas utama yakni, menentukan variabel query, menentukan statement-statement query dan melakukan query jawaban. Gambar

3.14 memperlihatkan DAD tingkat 2 untuk susbsistem QR. Variabel query berfungsi untuk menampung jawaban pertanyaan yang diperoleh dari ontologi untuk kemudian diteruskan ke pengguna. Variabel query ditentukan berdasarkan kata kunci yang mewakili datatype property.

Gambar 3.13 Flowchart untuk menentukan kata kunci tambahan

2.1P

Kata kunci yang sesuai

Menentukan

Variabel query

variabel

query

Data variabel query

2.3P

1 jawaban Data

jawaban Pengguna

ontologi

Menentukan

jawaban Data statement query

2.2P

Kata kunci yang sesuai

Menentukan

Statement query

statement

query

Gambar 3.14 DAD Tingkat 2 untuk subsistem QR

Statement-statement query ditentukan berdasarkan kata-kata kunci yang diperoleh dari modul QP. Sebuah statement terdiri atas tiga bagian yakni subject, predicate dan object (S, P, O). Setiap kata kunci mewakili properti tertentu dalam ontologi. Properti mewakili predicate sebuah statement, sedangkan domain dan range dari properti tersebut mewakili subject dan object sebuah statement. Tabel

3.12 memperlihatkan daftar kata kunci dan statement yang bersesuaian. Terdapat dua jenis properti yakni datatypeproperty dan objectproperty. Objectproperty merelasikan kelas-kelas dalam ontologi, sedangkan datatypeproperty merupakan atribut dari kelas-kelas domainnya. Untuk setiap object dari statement-statement yang bertipe datatypeproperty akan dikenakan operasi ekspresi reguler, kecuali pada object yang menjadi variabel query. Operasi ekspresi reguler dilakukan untuk mengetahui apakah nilai dari properti yang terkait terdapat dalam kalimat.

Tabel 3.12 Kata kunci dan statement query

no kata kunci

tipe properti

1 aktor

’pria’ datatypeproperty 2 aktris

?person gender

?person gender

’wanita’ datatypeproperty

3 nama

?person name

?pname datatypeproperty

4 judul

?movie title

?mtitle datatypeproperty

5 durasi, lama

?movie duration

?duration datatypeproperty

6 genre, jenis, kategori

?movie genres

?genre datatypeproperty

7 lokasi, tempat, kawasan

8 sinopsis, cerita, ceritera

9 perilisan, penayangan, ?movie releasedate

?mtime datatypeproperty

pemutaran 10 pembuatan

?movie year

?mtime datatypeproperty

11 bintang, membintangi,

?person objectproperty pemain, main bermain, artis, dibintangi, dimainkan

?movie cast

12 sutradara, menyutradarai, ?movie director

?person objectproperty

disutradarai 13 produser, memroduseri, ?movie producer

?person objectproperty

memroduksi, diproduseri 14 penulis, menulis, ditulis

15 meraih, memenangkan,

?movie movieaward ?award objectproperty

mendapat, memperoleh,

?award winner

?person objectproperty

peraih, pemenang, diraih dimenangkan, didapat, diperoleh

16 memiliki, terdapat

objectproperty 17 tokoh, karakter

?movie character

?role

?rname datatypeproperty 18 pemeran, berperan,

?role rolename

?role acted

?person objectproperty

memerankan, diperankan 19 peraih

?award winner

?person objectproperty

20 kategori penghargaan

?award awardcategory ?awcat datatypeproperty

21 penghargaan

?award awardname ?awname datatypeproperty

Misalnya pada pertanyaan ”siapa sutradara film yang berjudul Titanic?”, akan ditemukan kata tanya siapa(KT), kata kunci yang mewakili object property sutradara (OP) dan kata kunci yang mewakili datatype property judul (DP2) sehingga pola kalimat tersebut adalah KTOPDP2. Kalimat tersebut dinyatakan valid. Selanjutnya ditambahkan kata kunci nama (DP1). Berdasarkan kata kunci yang mewakili datatype property, variabel query yang ditemukan adalah ?pname dan ?mtitle. Kata kunci nama membentuk statement <?person<name><?pname>, Misalnya pada pertanyaan ”siapa sutradara film yang berjudul Titanic?”, akan ditemukan kata tanya siapa(KT), kata kunci yang mewakili object property sutradara (OP) dan kata kunci yang mewakili datatype property judul (DP2) sehingga pola kalimat tersebut adalah KTOPDP2. Kalimat tersebut dinyatakan valid. Selanjutnya ditambahkan kata kunci nama (DP1). Berdasarkan kata kunci yang mewakili datatype property, variabel query yang ditemukan adalah ?pname dan ?mtitle. Kata kunci nama membentuk statement <?person<name><?pname>,

Proses selanjutnya pada modul QR adalah melakukan query jawaban. Query jawaban membutuhan dua variabel query, sejumlah statement query dan sejumlah operasi ekspresi untuk menyaring (filter) informasi dalam ontologi. Query akan diterapkan menggunakan bahasa query SPARQL. Untuk penyederhanaan, dibentuk sebuah query yang bersifat umum dan berlaku untuk semua jenis pertanyaan. Bentuk umum query sebagai berikut

SELECT DISTINCT variabel query WHERE {

(Daftar statement)

<subject 1 ><predicate 1 ><object 1 >. <subject 2 ><predicate 2 ><object 2 >. dst...

(Daftar filter)

filter regex (pertanyaan, pola 1 ). filter regex (pertanyaan, pola 2 ). dst... }