PENGEMBANGAN SISTEM PEMBENTUKAN WORD GRAPH UNTUK TEKS BERBAHASA INDONESIA
DENI ROMADONI
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2009
PENGEMBANGAN SISTEM PEMBENTUKAN WORD GRAPH UNTUK TEKS BERBAHASA INDONESIA
DENI ROMADONI
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2009
ABSTRACT
DENI ROMADONI. The Development of Word Graph Formation System For Indonesian Text. Under the direction of SRI NURDIATI. Knowledge graph is a new method which is used to describe and model natural language or human language. A word is a basic unit of natural language processing. Word graph is a graph which has connected structure of words. Ontology between word and token in word graph is represented by a node, 8 binary relationships, 4 frame relationships, and a focus. In this research, a system to construct a word graph from Indonesian text is developed. The software was initially developed by Mark van Koningsveld, which is called DelftCoStruct. On the previous version, knowledge graph method is not fully implemented. The first step in this research is analyzing the outline description and the requirement system. There are three principal requirements: formation and modification of word graph, analyzing text in word graph, and saving the dictionary capabilities. The second step in this research is designing specification system. The third step is developing and implementing the system designed. And the last step is validating system, to ensuring that all the requirements is fully implemented on this system. Keywords : natural language processing, knowledge graph, word graph, token, ontology, frame
Judul Nama NRP
: Pengembangan Sistem Pembentukan Word Graph Untuk Teks Berbahasa Indonesia : Deni Romadoni : G64054032
Menyetujui:
Pembimbing
Dr. Ir. Sri Nurdiati, M.Sc NIP 19601126 198601 2 001
Mengetahui: Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Dr. drh. Hasim, DEA NIP 196103281986011002
Tanggal Lulus:
PRAKATA Puji dan syukur penulis panjatkan kepada Allah SWT, karena atas nikmat dan karunia-Nya penulis dapat menyelesaikan tulisan ini. Tulisan ini merupakan hasil penelitian penulis sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer di Fakultas Matematika dan Ilmu Pengetahuan Alam, IPB. Penulis mengucapkan terimakasih kepada semua pihak yang telah membantu penulis dalam menyelesaikan tulisan akhir ini, antara lain kepada orang tua penulis, Ayahanda Oyon Mulyana dan Ibunda Icih atas cinta kasih dan iringan doa yang tak ternilai. Terimakasih kepada kakak dan adikadik tersayang, Teh Henik, A’Iyus, Arie, dan Anne atas bimbingan dan motivasi serta canda tawa yang diberikan. Ucapan terima kasih dan penghargaan yang setinggi-tingginya disampaikan kepada Yth. Ibu Sri Nurdiati sebagai dosen pembimbing skripsi yang telah banyak membantu dan membimbing penulis selama penelitian berlangsung. Tidak lupa kepada semua dosen pengajar yang telah mendidik, membina, serta mengajar penulis selama menjadi civitas akademika Departemen Ilmu Komputer. Ucapan terima kasih juga diberikan kepada rekan-rekan ilkom42 IPB, atas bantuan, kerjasama, persahabatan, dan kehangatan persaudaraan serta kenangan indah kepada penulis. Penulis menyadari bahwa penelitian ini masih jauh dari kesempurnaan, namun besar harapan penulis bahwa apa yang telah dikerjakan dapat memberikan manfaat bagi semua pihak.
Bogor, September 2009
Deni Romadoni
RIWAYAT HIDUP
Penulis dilahirkan di Kuningan Jawa Barat pada tanggal 1 Juni 1986. Penulis merupakan anak kedua dari empat bersaudara dengan ayah bernama Oyon Mulyana dan ibu bernama Icih. Selama masa sekolah menengah, penulis aktif dalam organisasi dan kegiatan ekstrakurikuler, di antaranya Pramuka, Paskibra, dan Musyawarah Perwakilan Kelas (MPK). Pada tahun 2004 penulis menamatkan sekolah menengah di Sekolah Menengah Umum Negeri (SMUN) 2 Kuningan. Setahun kemudian penulis diterima di Institut Pertanian Bogor melalui jalur Seleksi Penerimaan Mahasiswa Baru (SPMB), dan pada tahun kedua masuk dalam Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam. Penulis aktif dalam Organisasi Mahasiswa Daerah tahun 2005-2008 dengan menjabat sebagai anggota tahun 2005-2006, sebagai staf Divisi Pengembangan Sumber Daya Anggota pada tahun 2006-2007, dan sebagai Sekretaris Umum pada tahun 2007-2008. Penulis bergabung pula dengan Komunitas Networking tahun 2006-2007 yang berada di bawah Himpunan Mahasiswa Ilmu Komputer IPB.
DAFTAR ISI Halaman DAFTAR GAMBAR .............................................................................................................................. v DAFTAR LAMPIRAN ........................................................................................................................... v PENDAHULUAN .................................................................................................................................. 1 Latar Belakang .................................................................................................................................. 1 Tujuan Penelitian .............................................................................................................................. 1 Ruang Lingkup Penelitian ................................................................................................................. 1 Manfaat Penelitian ............................................................................................................................ 1 TINJAUAN PUSTAKA ......................................................................................................................... 2 Graph ................................................................................................................................................ 2 Natural Language ............................................................................................................................. 2 Teori KG ........................................................................................................................................... 2 Pengetian KG............................................................................................................................... 2 Concept ........................................................................................................................................ 2 Relationship ................................................................................................................................. 2 Word Graph ................................................................................................................................. 3 Aspek Ontologi ............................................................................................................................ 3 METODE PENELITIAN ....................................................................................................................... 5 Deskripsi Perangkat Lunak ............................................................................................................... 5 Spesifikasi ......................................................................................................................................... 6 Pengembangan .................................................................................................................................. 6 Validasi ............................................................................................................................................. 6 HASIL DAN PEMBAHASAN............................................................................................................... 6 Deskripsi Umum Sistem ................................................................................................................... 6 Deskripsi Batasan Sistem .................................................................................................................. 7 Deskripsi Proses Sistem .................................................................................................................... 7 Spesifikasi dan Perancangan Fungsional .......................................................................................... 7 Spesifikasi dan Perancangan Struktur Data ....................................................................................... 9 Implementasi Fungsional ................................................................................................................ 11 Implementasi Struktur Data ............................................................................................................ 12 Implementasi Antarmuka ................................................................................................................ 12 Validasi ........................................................................................................................................... 13 KESIMPULAN DAN SARAN............................................................................................................. 13 Kesimpulan ..................................................................................................................................... 13 Saran ............................................................................................................................................... 13 DAFTAR PUSTAKA ........................................................................................................................... 14 LAMPIRAN ......................................................................................................................................... 15
iv
DAFTAR GAMBAR Halaman 1 Contoh penggunaan relasi ALI. ........................................................................................................... 3 2 Contoh penggunaan relasi CAU. ......................................................................................................... 3 3 Contoh penggunaan relasi EQU. .......................................................................................................... 3 4 Contoh penggunaan relasi SUB. .......................................................................................................... 3 5 Contoh penggunaan relasi DIS. ........................................................................................................... 4 6 Contoh penggunaan relasi ORD. ......................................................................................................... 4 7 Contoh penggunaan relasi PAR. .......................................................................................................... 4 8 Contoh penggunaan relasi SKO. .......................................................................................................... 4 9 Contoh penggunaan frame FPAR. ....................................................................................................... 4 10 Contoh penggunaan frame NEGPAR. ............................................................................................... 4 11 Contoh penggunaan frame POSPAR. ................................................................................................ 4 12 Contoh penggunaan frame NECPAR. ............................................................................................... 4 13 Contoh penggunaan ontologi F. ......................................................................................................... 5 14 Metode pengembangan evolusioner................................................................................................... 5 15 Panel add relation. ........................................................................................................................... 12 16 Panel dictionary. .............................................................................................................................. 12 17 Panel relationship. ........................................................................................................................... 13 18 Contoh word graph yang dibentuk dalam workspace. .................................................................... 13
DAFTAR LAMPIRAN Halaman 1 Antarmuka DelftConStruct ................................................................................................................ 16 2 Dekomposisi fungsional pada modul pembentukan dan modifikasi word graph .............................. 17 3 Dekomposisi fungsional modul analisis word graph ......................................................................... 19 4 Dekomposisi fungsional pada modul pembentukan dan modifikasi kamus word graph ................... 20 5 Implementasi struktur data setiap variabel data ................................................................................. 21 6 Antarmuka BogorDelftConStruct ...................................................................................................... 23 7 Menu pada BogorDelftConStruct ...................................................................................................... 24 8 Antarmuka jendela dialog BogorDelftConStruct ............................................................................... 26 9 Prosedur pengujian sistem ................................................................................................................. 29
v
PENDAHULUAN Latar Belakang Berkembangnya teknologi komputer semakin menarik minat para insan ilmiah untuk berkreasi dan berkarya. Berbagai penelitian yang dilakukan telah melahirkan metode atau teknologi baru yang dapat bermanfaat bagi kemajuan ilmu pengetahuan. Satu impian yang masih dalam angan-angan adalah penggunaan bahasa alami (bahasa manusia) untuk melakukan komunikasi dengan komputer atau mesin. Bahasa yang digunakan untuk komunikasi antara manusia dan komputer selama ini adalah “bahasa buatan”. Bahasa buatan yaitu bahasa yang dibuat untuk memenuhi suatu kebutuhan tertentu pengguna dan tidak dapat digunakan secara global dalam semua lingkungan implementasi perangkat lunak komputer. Bahasa buatan membutuhkan perangkat lunak yang disebut compiler, yang dapat mengonversi bahasa buatan tersebut menjadi bahasa mesin. Akan tetapi banyak kendala dalam penggunaan bahasa buatan tersebut, dikarenakan perlu waktu dan usaha untuk mempelajari bahasa buatan, sehingga tidak setiap orang dapat menggunakannya. Oleh karena itu usaha untuk mewujudkan bahasa alami sebagai bahasa yang dikenali komputer terus dilakukan. Penelitian dalam bahasa alami melahirkan bidang ilmu Natural Language Processing (NLP). Tantangan terbesar dalam NLP adalah adanya ambiguitas dalam bahasa alami. Hal ini membuat komputer tidak dapat dengan pasti memberikan output yang diharapkan. Banyak variabel yang harus dipertimbangkan untuk memahami bahasa alami sehingga sulit diinterpretasikan untuk dijadikan bahasa komunikasi antara manusia dan komputer. Teks merupakan bahasa alami berupa tulisan. Ambiguitas di dalam teks pun banyak dijumpai, sehingga pemahaman terhadap teks tersebut dapat bersifat subjektif. Metode yang digunakan untuk memecahkan masalah ambiguitas dalam teks salah satunya adalah dengan metode “Knowledge Graph” (KG). Metode KG merupakan satu jenis dari representasi NLP, yang mengarahkan pada cara baru dalam menjelaskan dan memodelkan NLP, dan juga sebagai langkah besar ke depan untuk pemahaman terhadap semantik (Zhang 2002). Dengan cara menganalisis teks diharapkan dapat dihasilkan sebuah pengetahuan baru. Berbagai penelitian KG yang dilakukan diharapkan mampu merancang suatu sistem
yang dapat melakukan pembacaan terhadap sembarang dokumen yang diinginkan dan menginterpretasikan informasi yang didapat dalam bentuk graph. Penelitian yang akan dilakukan merupakan sebagian dari proses untuk mewujudkan harapan tersebut. Penelitian yang akan dilakukan adalah mengembangkan perangkat lunak yang telah dibangun oleh Mark van Koningsveld pada tahun 2003-2008. Perangkat lunak tersebut bernama “DelftConStruct”. DelftConStruct adalah tools yang menganalisis teks bahasa Inggris dan menampilkan visualisasi dalam bentuk graph dengan menggunakan metode KG. DelftConStruct dibangun dengan menggunakan bahasa pemrograman MATLAB. DelftConStruct yang telah dibuat oleh Mark van Koningsveld mengimplementasikan sistem yang dapat menganalisis suatu kata dan membentuk suatu graph antara satu kata dengan kata lainnya (word graph). Namun pembentukan word graph tersebut belum sesuai dengan konsep KG. Sebagai contoh salah satu ketidaksesuaian konsep tersebut adalah tidak ada arah panah sebagai penunjuk relasi. Analisis yang dilakukan DelftConStruct ini terbatas hanya pada teks berbahasa Inggris. Sistem ini juga belum mendukung proses modifikasi edit dan hapus pada elemen graph (verteks atau edge). Sistem juga belum mendukung penyimpanan graph dan pembentukan graph baru. Keterbatasan sistem ini memberikan banyak peluang untuk melengkapi fitur pada perangkat lunak ini. Tujuan Penelitian Tujuan penelitian ini adalah mengembangkan perangkat lunak yang dapat menggunakan metode KG untuk membentuk word graph dari hasil analisis teks berbahasa Indonesia. Ruang Lingkup Penelitian Ruang lingkup untuk penelitian ini dibatasi pada pengembangan perangkat lunak DelftConStruct yang sesuai dengan konsep KG, dan bisa diimplementasikan untuk teks berbahasa Indonesia. Pengembangan DelftConStruct juga dilakukan dengan menambahkan fitur untuk modifikasi graph dan pembentukan kamus word graph. Sistem yang baru akan disebuat BogorDelftConStruct. Manfaat Penelitian Implementasi nyata dari manfaat jangka panjang penelitian ini yaitu terbentuknya suatu 1
sistem yang dapat membaca input (masukan) berupa teks dan menghasilkan output (keluaran) berupa ringkasan atau informasi lainnya dari teks tersebut (text summarization). Manfaat jangka pendek dari penelitian ini yaitu dapat memberikan pengetahuan tentang informasi yang diberikan oleh suatu kalimat, tanpa adanya kesalahan memaknai maksud dari kalimat yang disampaikan, dengan merepresentasikan teks tersebut ke dalam bentuk word graph.
TINJAUAN PUSTAKA Graph Dalam sistem diskret, graph menggambarkan suatu alat dasar untuk mempelajari hubungan antar unsur. Graph dikatakan terhubung jika untuk sembarang pasangan verteks x dan y terdapat sebuah barisan hingga, yang disebut suatu lintasan atau rantai (Granadi & Khatiza 2006). Barisan tersebut memiliki verteks awal yang tidak sama dengan verteks akhir. Menurut Supriyo (2006), suatu graph berarah G=(V,E) terdiri atas suatu himpunan V yang anggotanya disebut verteks dan himpunan E yang anggotanya disebut edge, yang masingmasing berarah dari suatu verteks ke verteks yang lain. Suatu edge menyatakan suatu ruas jalan, sedangkan verteks menyatakan titik pertemuan beberapa ruas jalan seperti misalnya pertigaan atau perempatan. Natural Language Secara umum, natural language atau bahasa alami adalah metode dan sistem simbol yang paling banyak digunakan untuk mengekspresikan pikiran manusia dan pertukaran informasi. Terdapat sebuah pemisah antara bahasa formal atau bahasa buatan dan bahasa alami. Komunikasi antara komputer dan manusia hanya dimungkinkan ketika banyak penelitian yang bertujuan untuk menjembatani pemisah di antara keduanya (Zhang 2002). Secara alami, menggambarkan dan memodelkan bahasa alami adalah dasar untuk perkembangan dari proses menganalisis dan memaknai bahasa alami, dan menentukan arah proses penelitian dari bahasa alami. Ada dua faktor yang diperhatikan dalam menganalisis sebuah kalimat, yaitu sintaksis dan semantik. Perbedaan sintaksis dan semantik adalah sintaksis melakukan analisis berdasarkan bentuk dari sebuah kalimat, sedangkan semantik menganalisis bagaimana mengartikan suatu kalimat (Hulliyah 2007).
Teori KG Pengetian KG Menurut Zhang (2002) teori KG adalah jenis sudut pandang baru, yang digunakan untuk menggambarkan bahasa manusia saat lebih memfokuskan pada aspek semantik daripada aspek sintaksis. KG mempunyai kemampuan lebih kuat untuk mengekspresikan dan menggambarkan lebih dalam semantic layers, untuk meminimumkan penggunaan relation set dan untuk menirukan pengertian dari jalan pikiran manusia. KG sebagai bagian dari metode baru yang merepresentasikan pengetahuan, tergolong pada kategori semantic network. Dalam prinsipnya, KG tersusun dari concept dan relationship (Zhang 2002). Concept terdiri atas token, type, dan name. relationship terdiri atas binary relationship dan multivariate relationship. Concept Token adalah sebuah node dalam KG yang disimbolkan dengan persegi “ “. Token mengekspresikan sesuatu dalam dunia nyata atau sebuah konsep dari dalam persepsi manusia (Zhang 2002). Token bersifat subjektif, karena merupakan konsep yang dipahami oleh bahasa manusia menurut persepsi masing-masing. Contoh sebuah token menurut Rusiyamti (2008), misalkan seseorang menemukan kata “apel”, orang tersebut dapat menghubungkan hal ini dengan informasi bentuk, warna, rasa, dan sebagainya. Demikian juga orang lain akan menghubungkan dengan hal berbeda. Seseorang dalam mengamati sesuatu, pada kenyataannya akan dibandingkan dan dihubungkan dengan dunia nyata. Type adalah suatu konsep yang masih bersifat umum dan merupakan hasil dari kesepakatan yang dibuat sebelumnya (Rusiyamti 2008). Contoh type misalnya buah, binatang, dan sebagainya. Suatu konsep yang bersifat individual dikategorikan ke dalam sebuah name. Sebagai contoh fuji adalah sebuah name yaitu nama dari sebuah apel. Type dan name dibedakan oleh jenis relasi yang menghubungkannya dengan token. Relationship Untuk menggambarkan dunia nyata, dibutuhkan hubungan yang membedakan antartoken. Sebuah relationship antara 2 concepts “a” dan “b” adalah sebuah graph yang di dalamnya terdapat kedua concepts “a” dan “b” tersebut. Dalam teori KG, sangat diperlukan prinsip penggunaan kumpulan relationship yang 2
sangat terbatas (Zhang 2002). Dengan demikian sangat diperlukan basic relationship atau disebut juga “ontologi”, untuk menghindari pertumbuhan relationship yang tidak terbatas dari semantic network. Menurut Zhang (2002), hubungan (relationship) yang dibentuk pada word graph tersebut direpresentasikan dengan sebuah node, 8 binary relationships, dan 4 frame relationships. Hoede dan Nurdiati (2008) menambahkan sebuah ontologi F, sebagai fokus token. Word Graph Kata adalah unit dasar dari NLP untuk mengekspresikan pikiran-pikiran manusia dan pertukaran informasi. Setiap natural language telah disusun ke dalam sebuah jenis sistem simbol tradisional, yang masing-masing mempunyai jenis-jenis kata, dan struktur kata yang di dalamnya terdapat perbedaan komponen relationship dan relasi komponen-komponen tersebut memainkan peran sebagai sebuah kesatuan yang mempunyai suatu makna. Untuk dapat mengerti makna dari sebuah kalimat terlebih dahulu harus dimengerti makna dari setiap kata yang terdapat dalam kalimat tersebut dengan demikian dapat memperoleh makna dari keseluruhan kalimat. Word graph adalah graph dari sebuah kata atau frase kata. Pada akhirnya dengan menggabungkan word graph dapat diperoleh makna dari kesatuan teks. Aspek Ontologi Ontologi adalah keterangan untuk mengambarkan beberapa konsep dan relasirelasi di antaranya, dengan maksud untuk memberikan definisi yang cukup terhadap ideide yang dituangkan dengan komputer untuk merepresentasikan ide-ide tersebut dan logikanya (Hulliyah 2007). Berdasarkan ontologi yang dimilki inilah maka KG dapat membangun sebuah model yang dapat digunakan untuk memahami bahasa alami. Hal ini diperlukan agar arti dari suatu kalimat dapat diekspresikan. Arti dari kata harus terlebih dahulu diketahui untuk dapat mengartikan sebuah kalimat. Ontologi word graph sampai saat ini direpresentasikan dengan sebuah node, 8 binary relationships, sebuah ontologi F, dan 4 frame relationships. Berikut ini adalah gambaran dari 8 types relationship (Zhang 2002): 1. ALI (alikeness) Relasi ALI digunakan di antara type dan token atau antara 2 token yang memiliki unsur-
unsur yang sama. Contoh : “binatang adalah type”, maka dinyatakan seperti pada Gambar 1.
Gambar 1 Contoh penggunaan relasi ALI. 2. CAU (causality) Relasi CAU mengekspresikan hubungan antara sebab dan akibat, atau sesuatu hal mempengaruhi sesuatu yang lain. Contoh : “kucing makan nasi”. Representasi word graph untuk kalimat tersebut dapat dilihat pada Gambar 2.
Gambar 2 Contoh penggunaan relasi CAU. 3. EQU (equality) Relasi ini digunakan di antara name dan token atau antara 2 token yang mengekspresikan keduanya adalah sama dan sederajat. Relasi EQU juga digunakan untuk menyatakan kata hubung seperti “adalah” dan “merupakan”. Contoh : “Fuji adalah name dari apel”. Gambar 3 adalah contoh dari penggunaan relasi EQU.
Gambar 3 Contoh penggunaan relasi EQU. 4. SUB (subset) Bila terdapat 2 token yang mengekspresikan dua rangkaian secara berurutan, dan 1 token adalah bagian dari token yang lainnya, maka di antara kedua token tersebut terdapat relasi SUB. Contoh : “pintu adalah bagian dari rumah”. Gambar 4 merupakan representasi kalimat tersebut.
Gambar 4 Contoh penggunaan relasi SUB. 5. DIS (dissparatness) Relasi DIS digunakan untuk mengekspresikan bahwa 2 token tidak memiliki hubungan satu dengan yang lainnya. Contoh relasi DIS digunakan juga untuk menunjukkan kata “berbeda”, misalnya “binatang berbeda
3
dengan pohon”, Gambar 5.
dinyatakan
seperti
pada
Gambar 5 Contoh penggunaan relasi DIS. 6. ORD (ordering)
2. NEGPAR : Negation of a situation NEGPAR mengekspresikan peniadaan atau pengingkaran terjadinya isi dari frame. Misalkan untuk menyatakan pengingkaran terhadap preposisi a, maka dapat dilihat pada Gambar 10. Gambar tersebut menunjukkan bahwa “tidak benar adik bahagia”.
Relasi ORD mengekspresikan bahwa 2 hal mempunyai urutan satu sama lain. Contoh penggunaan relasi ORD untuk menyatakan “pagi sebelum sore”, ditunjukkan oleh Gambar 6. Gambar 10 Contoh penggunaan frame NEGPAR. Gambar 6 Contoh penggunaan relasi ORD. 7. PAR (attribute) Relasi PAR mengekspresikan bahwa sesuatu adalah sebuah atribut dari sesuatu yang lain. Contohnya untuk menyatakan frase “buku baru”, dinyatakan seperti pada Gambar 7.
3. POSPAR : Possibility of a situation POSPAR mengekspresikan kemungkinan terjadi dari isi frame. Misalkan untuk menyatakan kemungkinan terjadinya peristiwa pada preposisi a, digunakan sebuah frame relationship POSPAR, seperti ditunjukkan oleh Gambar 11. Gambar tersebut berarti menyatakan “mungkin saja adik bahagia”.
Gambar 7 Contoh penggunaan relasi PAR. 8. SKO (informational dependency) Relasi SKO digunakan, jika suatu token informasinya bergantung pada token yang lainnya. Contohnya digunakan untuk menyatakan “harga bergantung kualitas”, dapat dinyatakan seperti pada Gambar 8.
Gambar 8 Contoh penggunaan relasi SKO. Sebuah frame adalah sebuah node yang diberikan label (Zhang 2002). Adapun untuk 4 frame relationships dapat dijelaskan sebagai berikut:
Gambar 11 Contoh penggunaan frame POSPAR. 4. NECPAR : Necessity of a situation NECPAR mengekspresikan perlu, butuh atau keharusan terjadi dari isi frame. Misalkan kalimat “seharusnya adik bahagia” direpresentasikan oleh frame NECPAR terhadap preposisi a, maka dapat dinyatakan seperti pada Gambar 12.
1. FPAR : Focusing on a situation FPAR mengekspresikan bahwa sekumpulan subgraph dari graph adalah bagian dari seluruh graph yang telah dibentuk. Misalkan a adalah preposisi yang menyatakan “adik bahagia”, maka bisa direpresentasikan dengan frame FPAR seperti yang ditunjukkan oleh Gambar 9.
Gambar 12 Contoh penggunaan frame NECPAR. Ontologi F digunakan untuk menunjukkan fokus dari suatu graph. Penggunaan ontologi ini, misalnya untuk menyatakan word graph “gempa merusak bangunan”, dapat dinyatakan pada Gambar 13. Gambar tersebut menunjukkan bahwa token gempa menjadi fokus dari graph tersebut.
Gambar 9 Contoh penggunaan frame FPAR. 4
Deskripsi Perangkat Lunak
Gambar 13 Contoh penggunaan ontologi F.
METODE PENELITIAN Penelitian ini diawali dengan mengkaji lebih dalam tentang konsep dan cara mengimplementasikan KG dalam teks berbahasa Indonesia. Beberapa literatur yang digunakan dalam mengkaji penggunaan konsep KG dalam teks berbahasa Indonesia di antaranya tesis Rusiyamti (2008) yang berjudul “Analisis Teks Berbahasa Indonesia Menggunakan Teori Knowledge Graph”, dan tesis Khodijah Hulliyah (2007) dengan judul “Rekayasa Memahami Teks Menggunakan Metode Knowledge Graph”. Hasil pengkajian ini kemudian digunakan untuk membangun sistem untuk teks berbahasa Indonesia sesuai dengan konsep KG. Metode yang dilakukan dalam tahap pengembangan BogorDelftConStruct adalah metode pengembangan Evolusioner dengan jenis eksploratory. Menurut Sommerville (2001), pengembangan evolusioner berdasarkan pada ide untuk mengembangkan implementasi awal, memperlihatkannya pada pengguna untuk dikomentari, dan memperbaikinya versi demi versi sampai sistem memenuhi persyaratan. Pengembangan dimulai dengan bagian-bagian sistem yang dipahami. Sistem berubah dengan adanya tambahan fitur-fitur baru sesuai dengan usulan pengguna. Kegiatan spesifiksi, pengembangan dan validasi dilakukan pada saat yang bersamaan dengan umpan balik yang cepat untuk masing-masing kegiatan. Gambar 14 menunjukkan kegiatan-kegiatan pada pengembangan evolusioner. Versi awal dan menengah pada gambar merupakan prototype untuk perangkat lunak yang dikembangkan sebelum versi akhir atau dengan kata lain sebelum seluruh persyaratan dipenuhi.
Pendeskripsian perangkat lunak dilakukan dengan cara melakukan analisis terhadap kebutuhan, batasan dan tujuan perangkat lunak. Analisis dilakukan terhadap DelftConStruct dengan melihat fungsi apa saja yang sudah relevan maupun yang harus diperbaiki kembali. Analisis dilanjutkan dengan mendefinisikan apa saja yang dibutuhkan dan seharusnya ada pada BogorDelftConStruct. Analisis kebutuhan sistem dilakukan yaitu dengan melihat fungsi dari BogorDelftConStruct sendiri sebagai tools yang menggunakan konsep KG untuk menganalisis teks dalam bentuk word graph. Hal utama yang dibutuhkan adalah kemampuan sistem untuk membuat dan memodifikasi graph sesuai konsep KG dan melakukan analisis teks. Konsep penting dari graph sendiri adalah terdapatnya verteks dan edge. Verteks merepresentasikan sebagai sebuah token, sedangkan edge sendiri merepresentasikan relasi antar-token atau teks dari word graph. Pada DelftConStruct setiap token direpresentasikan memiliki nama unik, dan token belum bisa digunakan sebagai representasi banyak kata. Penambahan relasi antar-token bisa dilakukan, namun relasi antara token dengan teks belum bisa dilakukan. Proses edit dan hapus pada token dan teks pun belum bisa dilakukan. Dengan demikian dapat dikatakan bahwa DelftConStruct belum memenuhi konsep KG. Pada pengembangan BogorDelftConStruct kali ini, dilakukan penambahan fungsi untuk proses memodifikasi graph, yaitu proses tambah, edit, dan hapus terhadap token, kata maupun relasi pada word graph. Token yang dibentuk dapat merepresentasikan relasi terhadap banyak kata. Kebutuhan sistem dalam melakukan analisis teks pada word graph merupakan fungsi dari sistem ini. DelftConStruct menganalisis teks yang berbahasa Inggris. Pada BogorDelftConStruct yang dikembangkan ini, analisis teks dilakukan terhadap teks berbahasa Indonesia, dengan menggunakan konsep KG. Kebutuhan lainnya dari BogorDelftConStruct yaitu mampu untuk menyimpan setiap word graph yang telah dibentuk, sehingga dapat terbentuk sebuah kamus word graph dari kumpulan word graph yang telah disimpan tersebut. Proses modifikasi kamus word graph pun didefinisikan sebagai kebutuhan dari BogorDelftConStruct.
Gambar 14 Metode pengembangan evolusioner. 5
Spesifikasi Tahap spesifikasi ini mencakup proses perancangan dan pemrograman perangkat lunak secara keseluruhan. Tahap ini juga melibatkan perbaikan terhadap spesifikasi sebelumnya. Perancangan BogorDelftConStruct berdasarkan pendefinisian kebutuhan sistem adalah sebagai berikut: 1. Perancangan Fungsional Perancangan fungsional pada BogorDelftConStruct meliputi tiga modul utama yang merupakan penambahan maupun perbaikan dari DelftConStruct, yaitu: a. Pembentukan dan modifikasi word graph. Graph dibentuk berdasarkan konsep KG yaitu terdiri atas token dan kata yang saling terhubung oleh sebuah relasi. Proses tambah, edit, dan hapus dapat dilakukan terhadap token, kata, maupun relasi, baik binary relationship, ontologi F maupun frame relationship. b. Analisis graph. Analisis word graph merupakan fungsi utama dari BogorDelftConStruct. Analisis yang dikembangkan yaitu analisis terhadap teks berbahasa Indonesia. Analisis dilakukan dengan membaca tiap kata yang terhubung pada graph. c. Pembentukan dan modifikasi kamus word graph. Word graph yang berhasil dibentuk seyogyanya dapat disimpan menjadi sebuah word graph dengan topik tertentu. Kumpulan dari word graph yang disimpan tersebut akan membentuk sebuah kamus graph. Proses modifikasi yaitu tambah, edit, dan hapus terhadap kamus graph menjadi satu kesatuan dalam modul ini. 2. Perancangan Struktur Data Aliran data yang ada pada BogorDelftConStruct merupakan data titik koordinat dari setiap token atau kata, data tipe relasi antar-titik koordinat yang dihubungkan, serta data kata dari graph. 3. Perancangan Antarmuka Perancangan antarmuka BogorDelftConStruct yang dikembangkan tidak memiliki perbedaan signifikan dari antarmuka DelftConStruct. Antarmuka DelftConStruct dapat dilihat pada Lampiran 1. Perancangan antarmuka utama BogorDelftConStruct yang akan ditampilkan
yaitu: axis sebagai media visualisasi graph, form tambah relasi, form pemilihan kamus graph, dan antarmuka yang menampilkan hasil analisis dari graph. Toolbar dan menubar disediakan pula untuk mempermudah pengguna menggunakan BogorDelftConStruct. Pengembangan Pada tahap ini, perancangan perangkat lunak diimplementasikan sebagai serangkaian program atau unit program. Perangkat lunak dikembangkan dengan menggunakan bahasa pemrograman MATLAB. Hal tersebut dikarenakan DelftConStruct juga dikembangkan dalam MATLAB. MATLAB juga dirasa cukup representatif digunakan untuk pengembangan algoritme dan visualisasi. BogorDelftConStruct dikembangkan dalam lingkungan implementasi perangkat keras dan perangkat lunak dengan spesifikasi sebagai berikut:
Perangkat keras Intel® Pentium M Processor @1.8 GHz Memori DDR 512 MB Harddisk 60 GB Monitor Keyboard dan mouse
Perangkat lunak Windows XP SP2 Operating System MATLAB 7.0.1.24704 (R14) SP1 2004
Validasi Validasi bertujuan untuk menunjukkan bahwa sistem sesuai dengan spesifikasinya dan memenuhi harapan pengguna. Validasi mencakup proses integrasi, uji dan pemeliharaan sistem. Pada tahap ini, unit program diintegrasikan dan diuji sebagai suatu sistem yang sudah utuh. Pengujian dilakukan untuk mendeteksi kesalahan dan memastikan bahwa seluruh persyaratan yang telah didefinisikan sudah dipenuhi. Pengujian yang dilakukan menggunakan metode black box. Pemeliharaan terhadap sistem mencakup koreksi dari berbagai error, penambahan fiturfitur sistem, perbaikan implementasi dan pengembangan, sementara itu spesifikasi baru yang dianggap relevan ditambahkan kembali.
HASIL DAN PEMBAHASAN Deskripsi Umum Sistem BogorDelftConStruct merupakan perangkat lunak berbasis desktop yang dikembangkan dengan menggunakan bahasa pemograman 6
MATLAB. BogorDelftConStruct adalah sebuah tools yang digunakan untuk pembentukan word graph dan melakukan analisis terhadap teks menggunakan metode KG. Pada awalnya, DelftConStruct dikembangkan untuk teks berbahasa Inggris. Pada penelitian kali ini BogorDelftConStruct diimplementasikan dalam teks berbahasa Indonesia. Pengguna BogorDelftConStruct adalah mereka yang memahami konsep KG. Hal tersebut dikarenakan BogorDelftConStruct merupakan sistem pembentukan word graph, sehingga pengguna hendaknya mempunyai pengetahuan untuk membentuk word graph sesuai konsep KG. Deskripsi Batasan Sistem BogorDelftConStruct dikembangkan dengan berbagai fitur tambahan yang mendukung terbentuknya word graph yang sesuai dengan konsep KG. Beberapa perintah mungkin saja tidak sesuai dengan konsep KG, sehingga sistem akan menolak proses untuk perintah tersebut. Berikut ini dijelaskan batasan-batasan sistem dan beberapa kondisi yang akan ditolak sistem: a. Sistem tidak membedakan huruf kapital atau bukan. b. Pembuatan relasi antar teks tidak dapat dilakukan pada BogorDelftConStruct. c. Pembentukan relasi ontologi F hanya diperkenankan untuk sebuah token saja dalam sebuah word graph. d. Sistem akan menolak penyimpanan sebuah word graph menjadi kamus word graph, apabila masih terdapat sebuah token atau lebih yang belum terhubung dalam graph. e. Sistem akan menolak penyimpanan sebuah word graph apabila ada minimal sebuah kata yang yang belum terhubung dengan minimal sebuah token. Deskripsi Proses Sistem Keadaan default BogorDelftConStruct hasil pengembangan pada saat dibuka adalah sebuah lembar kerja (workspace) dengan sebuah token telah tergambar dan siap untuk dibentuk menjadi sebuah word graph. Operasi modifikasi terhadap token tersebut dapat dilakukan melalui form add relation yang tersedia, maupun dengan cara klik kanan mouse pada token tersebut, maka menu untuk modifikasi token dapat dipilih. Proses penambahan, hapus token dan lain-lain dapat dilakukan dengan klik kanan, maupun melalui menubar. Operasi
modifikasi terhadap teks maupun relasi dapat pula dilakukan dengan cara yang sama. Analisis teks dilakukan dengan membaca setiap kata yang terbentuk pada word graph, sehingga makna dari kalimat yang dimaksud dapat tersampaikan melalui word graph tersebut. Hasil analisis terhadap word graph dapat diketahui ketika salah satu token diklik, maka keterangan makna relationship token tersebut dengan token yang lainnya dapat dilihat pada panel relationship yang berada di sebelah kiri jendela aplikasi. Pengguna dapat mengatur kedalaman level graph yang akan dianalisis pada panel tersebut. Hasil analisis terhadap word graph yang ditampilkan merupakan makna dari inward relationship dan outward relationship. Setelah word graph berhasil dibentuk, maka dapat disimpan dan ditambahkan ke dalam kamus word graph. File-file yang telah tersimpan dalam kamus dapat dilihat di panel dictionary. Dalam panel tersebut dapat dilakukan modifikasi langsung terhadap topiktopik pada kamus word graph. Modifikasi tersebut dapat pula dilakukan melalui menubar. Pada saat keluar dari sistem BogorDelftConStruct, maka sistem otomatis meyimpan hasil kerja terakhir, dan menampilkannya pada saat BogorDelftConStruct dijalankan kembali suatu waktu. Spesifikasi dan Perancangan Fungsional Tiga modul yang dibutuhkan sebagai sebuah perancangan fungsional sistem memiliki fungsifungsi sebagai berikut: 1. Modul pembentukan dan modifikasi word graph Berdasarkan konsep KG, word graph yang dibentuk mempunyai sebuah edge sebagai relasi yang menghubungkan antar-token, dan juga menghubungkan antara token dengan kata. Berikut ini adalah fungsi-fungsi yang digunakan untuk melakukan penambahan 8 binary relationships dan 4 frame relationships pada graph: a. Penambahan dan modifikasi relasi pada token Menambahkan relasi antar-token. Fungsi ini melakukan penambahan relasi dari suatu token menuju token yang lain, ataupun sebaliknya. Token asal maupun token tujuan dapat berupa token yang
7
telah tergambar, maupun sebuah token baru yang belum tergambar. Menambahkan relasi antara token dengan teks. Fungsi ini melakukan penambahan relasi pada suatu token dari sebuah teks. Teks dan token dapat merupakan token atau teks yang telah ada sebelumnya, maupun token atau teks yang baru. Menambahkan atau menghapus relasi fokus token. Fungsi ini melakukan penambahan relasi ontologi F pada suatu token sebagai fokus token. Menambahkan frame relationship pada sebuah token. Fungsi ini membuat sebuah frame baru pada sebuah token yang dipilih dalam graph. Menggabungkan atau melepaskan token terhadap frame. Fungsi ini menggabungkan sebuah token yang dipilih untuk masuk pada sebuah frame yang telah ada, dan sistem dapat pula melepaskan token tersebut dari frame. Hapus token. Fungsi ini melakukan penghapusan sebuah token yang diinginkan. b. Penambahan dan modifikasi relasi pada teks Menambahkan relasi antara teks dengan token. Fungsi ini melakukan penambahan relasi dari sebuah kata menuju sebuah token, baik kata atau token tersebut telah ada pada graph, maupun kata atau token yang baru. Mengganti (rename) teks. Fungsi ini melakukan penggantian suatu kata yang telah ada pada graph, dengan sebuah kata baru. Menghapus teks. Fungsi ini melakukan penghapusan kata yang telah ada pada graph. c. Penambahan dan modifikasi relasi pada frame Menambahkan relasi antar-frame. Fungsi ini melakukan penambahan relasi antar-frame yang telah terbentuk pada graph. Menambahkan dengan token.
relasi
antara
frame
Fungsi ini melakukan penambahan antara frame dengan sebuah token baik token yang telah ada pada graph maupun token baru. Relasi dapat menuju ke frame, maupun berasal dari frame. Menambahkan anggota token baru terhadap frame. Fungsi ini menambahkan sebuah token sebagai anggota suatu frame. Token yang dimaksud dapat merupakan token yang telah ada, maupun token baru. Mengeluarkan anggota token yang ada pada frame. Fungsi ini mengeluarkan sebuah token sebagai anggota dari sebuah frame. Mengubah ontologi frame. Fungsi ini melakukan perubahan terhadap ontologi frame relationship pada sebuah frame yang dipilih. Menghapus frame. Fungsi ini melakukan penghapusan terhadap frame yang ada pada graph, tetapi tidak menghapus token yang menjadi anggotanya. Menambahkan, mengubah, dan menghapus label pada frame. Setiap frame mempunyai sebuah label yang menunjukkan suatu aktivitas atau peristiwa dari word graph dalam fame tersebut. Fungsi ini melakukan modifikasi yang mencakup tambah, edit, dan hapus pada label tersebut. Terdapat satu fungsi yang berlaku untuk semua relasi yang menghubungkan setiap elemen pada word graph, baik token, teks, maupun frame yaitu fungsi untuk mengubah ontologi dari setiap relasi yang berhasil dibentuk pada word graph. 2. Modul analisis graph Analisis word graph dilakukan dengan membaca elemen-elemen pada word graph yang mempunyai relasi ontologi. Analisis word graph meliputi : a. Analisis suatu token yang mempunyai relasi ontologi terhadap setiap kata pada token tersebut. b. Analisis antar-token yang mempunyai relasi ontologi tertentu. c. Analisis tehadap frame dengan relationship frame tertentu, yang mempunyai sejumlah anggota token di dalamnya.
8
d. Analisis suatu label dengan relasi ontologi tertentu terhadap frame. e. Analisis antara frame dengan token yang terhubung padanya. f. Analisis antar-frame yang mempunyai relasi ontologi tertentu. g. Kedalaman level graph yang dianalisis dapat ditentukan oleh pengguna melalui form input pada panel relationship. Hasil analisis graph memberikan makna dari word graph yang terbentuk. Hasil analisis tersebut ditampilkan dalam panel relationship yang berada di samping kiri. Selain itu dapat pula dilakukan double klik pada token maupun pada frame yang dimaksud untuk ditampilkan hasil analisis pada jendela dialog. 3. Modul pembentukan dan modifikasi kamus word graph Modul pembentukan kamus word graph membutuhkan fungsi-fungsi pendukung sebagai berikut: a. Mengganti workspace. Fungsi ini menyediakan workspace baru, dengan menghapus graph yang sebelumnya terbentuk pada workspace BogorDelftConStruct. Sistem memberikan konfirmasi untuk memastikan bahwa pengguna memang ingin membuka workspace baru dan secara otomatis menghapus graph yang sebelumnya ada pada workspace. b. Menyimpan word graph. Fungsi ini menyimpan word graph yang telah dibentuk pada workspace. Bila word graph tersebut ternyata belum pernah disimpan sebelumnya, maka sistem meminta pengguna memasukkan nama file dari word graph tersebut. c. Menampilkan dan mengubah word graph pada kamus word graph. Fungsi ini menampilkan word graph dari suatu file yang terdapat dalam kamus word graph. Word graph yang ditampilkan telah otomatis siap untuk dilakukan proses edit. d. Mengubah nama file pada kamus word graph. Fungsi ini mengganti nama file dari suatu file dalam kamus word graph. e. Menyalin file pada kamus word graph. Fungsi ini melakukan duplikasi atau penggandaan terhadap file yang terdapat pada kamus word graph.
f. Menghapus file pada kamus word graph. Fungsi ini menghapus suatu file dalam kamus word graph yang tersedia. Spesifikasi dan Perancangan Struktur Data Token, kata, frame, dan semua elemen pada graph yang terbentuk dalam sebuah word graph menyimpan titik-titik koordinat masing-masing elemen. Melalui koordinat tersebut, maka semua token, kata, dan frame dapat dihubungkan dengan sebuah relasi yang menghubungkan antar-koordinat tersebut. Relasi yang digunakan pun meyimpan data sebuah id tipe ontologi untuk setiap koordinat yang dihubungkan. Graph dapat dianalisis dengan membaca tiap kata yang terhubung, sehingga data pada sistem ini juga berisi tentang kata yang terdapat pada word graph. Stuktur data pada BogorDelftConStruct yang dikembangkan ini dapat dijelaskan sebagai berikut: a. Data mengenai token Berikut ini merupakan perancangan tempat penyimpanan data mengenai token : Penyimpanan data token. Data mengenai token, yaitu data koordinat persegi dan titik koordinat pusat persegi token itu sendiri disimpan dalam suatu variabel. Penyimpanan data relasi ontologi antartoken. Suatu variabel digunakan untuk menyimpan relasi ontologi antar-token. Penyimpanan data label relasi ontologi antar-token. Suatu variabel menangani koordinat dari label ontologi tersebut digambarkan, dan id dari ontologi yang digunakan. Penyimpanan data garis relasi (edge). Suatu variabel digunakan untuk menyimpan data koordinat garis digambarkan. Garis tersebut menghubungkan antar-token dengan relasi tertentu. Penyimpanan data tanda panah. Suatu variabel digunakan untuk menyimpan data koordinat tanda panah pada graph, sebagai simbol arah terhadap relasi antar-token. Penyimpanan data fokus token. Suatu variabel digunakan untuk menyimpan id token yang merupakan sebuah fokus token.
9
b. Data mengenai teks Berikut ini merupakan perancangan tempat penyimpanan data mengenai teks: Penyimpanan data teks. Data mengenai teks, yaitu data mengenai kata itu sendiri dan koordinat teks disimpan dalam suatu variabel. Penyimpanan data relasi ontologi antara teks dan token. Suatu variabel digunakan untuk menyimpan id dari relasi ontologi antara suatu teks dengan token. Penyimpanan data label relasi ontologi antar-token. Label relasi ontologi yang digunakan untuk menghubungkan antara teks dan token beserta koordinat label tersebut disimpan dalam sebuah variabel. Penyimpanan data garis relasi (edge). Koordinat garis yang menghubungkan antara teks dan token disimpan dalam sebuah variabel. Penyimpanan data tanda panah. Suatu variabel digunakan untuk menyimpan data koordinat tanda panah pada graph, sebagai simbol arah relasi ontologi teks dan token tersebut. c. Data frame Berikut ini merupakan perancangan tempat penyimpanan data mengenai frame : Penyimpanan data frame. Semua data mengenai frame, berupa koordinat, frame ontologi, label frame, maupun id token yang termasuk pada relasi frame ini disimpan pada suatu variabel. Penyimpanan relasi ontologi binary relationship antar-frame. Suatu variabel berisi data mengenai id frame dan id relasi ontologi yang menghubungkan antar-frame. Penyimpanan ontologi binary relationship antara frame dengan token. Semua data mengenai ontologi frame menuju ke sebuah token maupun sebaliknya disimpan dalam variabel penyimpanan. Penyimpanan data garis relasi antarframe. Suatu variabel berisi data koordinat garis yang menghubungkan antar-frame disimpan.
Penyimpanan label relasi ontologi antarframe. Suatu variabel berisi id label ontologi yang menghubungkan antar-frame dan koordinat label tersebut digambarkan dalam graph. Penyimpanan data tanda panah relasi ontologi antar-frame. Suatu variabel berisi id frame yang mempunyai relasi dengan frame yang lain. Variabel juga berisi koordinat arrow sebagai penanda arah relasi antarframe. Penyimpanan data garis relasi antara frame dengan token. Suatu variabel berisi data koordinat garis yang menghubungkan antara frame dengan token. Penyimpanan label relasi ontologi antara frame dengan token. Suatu variabel berisi id label ontologi yang menghubungkan antara frame dengan token dan koordinat label tersebut. Penyimpanan data tanda panah relasi ontologi antar-frame. Suatu variabel berisi id frame yang mempunyai relasi antara frame dengan token, dan juga berisi koordinat arrow sebagai penanda arah relasi antara frame dengan token tersebut. d. Data Relasi Ontologi Data mengenai semua hal menyangkut ontologi, baik itu tipe ontologi, maupun makna dari ontologi itu sendiri disimpan dalam dua buah file dan fungsi getOntology dan getFrameOntology. Fungsi getOntology menyimpan data 8 binary relationships, dan fungsi getFrameOntology menyimpan data 4 frame relationships. Fungsi-fungsi inilah yang kemudian dipakai sebagai penanda tipe ontologi pada tiap relasi token, teks, dan frame. Analisis teks juga diambil dari makna tiap ontologi yang tersimpan dalam fungsifungsi ini. Semua variabel yang menyimpan data token, data teks, data garis dan data panah disimpan dalam variabel bertipe struct. Variabel tersebut diberi nama “session”. Variabel session inilah yang setiap saat digunakan untuk menggambar word graph. Begitu pula pada saat penyimpanan word graph, variabel session inilah yang disimpan ke dalam sebuah file sebagai data dari word graph. Namun khusus pada saat 10
penyimpanan word graph, variabel yang menyimpan data garis dan panah dihapus, dan dibangkitkan kembali ketika word graph ditampilkan atau dilakukan proses edit. Implementasi Fungsional Implementasi fungsional BogorDelftConStruct adalah sebagai berikut: 1. Implementasi modul pembentukan modifikasi word graph
dan
Fungsi untuk pembentukan dan modifikasi graph disediakan pada toolbar, menubar dan pada panel add relation yang ada pada jendela aplikasi sebelah kiri. Panel add relation dapat dilihat pada Gambar 15. Gambar toolbar dan menubar dapat dilihat pada Lampiran 7. Fungsi penambahan relasi antar-token maupun relasi antara token dengan teks dapat dilakukan dengan mengakses menu dari form add relation atau dengan melakukan klik kanan pada token atau kata yang diinginkan. Bila fungsi penambahan relasi tersebut dilakukan dari form add relation, maka pengguna mengisi form popup menu, dengan memilih token atau teks mana yang akan ditambahkan relasi, dan token mana yang akan menjadi tujuan dari relasi tersebut, kemudian memilih tipe relasi ontologi yang akan ditambahkan. Setelah tombol “add relation” ditekan, maka akan muncul jendela dialog untuk memasukkan data dari penambahan relasi tersebut. Bila fungsi penambahan relasi diakses melalui klik kanan, maka pengguna dapat langsung memilih menu yang dimaksud, setelah itu memasukkan data pada jendela dialog yang muncul untuk penambahan relasi. Fungsi yang menangani penambahan semua kemungkinana relasi ontologi antara token dan teks dilakukan oleh fungsi-fungsi pendukung seperti fungsi addRelationToken dan addRelationTeks. Pembuatan frame relationship dapat dilakukan melalui menubar maupun klik kanan pada token. Fungsi yang digunakan adalah fungsi makeFrameOntology. Fungsi modifikasi word graph, baik proses edit maupun hapus dan fungsi-fungsi modifikasi lainnya dapat dilakukan dari menu klik kanan pada token, kata, frame maupun relasi yang akan dimodifikasi. Fungsi modifikasi tersebut juga disediakan di dalam menubar. Setelah menu dari fungsi ini dipilih, maka akan muncul jendela dialog untuk memasukkan informasi tentang token, teks, frame maupun relasi yang akan dimodifikasi tersebut. Dekomposisi
fungsional modul penambahan dan modifikasi relasi dapat dilihat pada Lampiran 2. 2. Implementasi modul analisis word graph Dengan melakukan klik terhadap token atau frame pada graph, maka sistem secara otomatis menganalisis token atau frame yang dipilih, terhadap token dan frame lainnya. Sistem akan melakukan analisis terhadap graph dengan membaca relasi ontologi tiap kata yang terhubung pada sebuah token yang dipilih. Analisis terhadap tiap kata pada token lainnya pun dilakukan, sehingga akan didapatkan makna untuk setiap token pada word graph tersebut. Selanjutnya analisis relasi ontologi dilanjutkan terhadap token yang terhubung langsung dengan token yang dipilih tersebut, dan dinyatakan sebagai analisis level 1. Token lainnya yang tidak terhubung langsung dengan token yang dipilih dinyatakan sebagai analisis token pada level 2, level 3 dan seterusnya. Pengguna dapat menentukan kedalaman level graph yang akan dianalisis, kedalaman default pada sistem sebanyak 3 level. Dengan demikian akan didapatkan sebuah makna dari word graph tersebut atas analisis terhadap semua token pada berbagai level token. Hal yang sama pun dilakukan pada analisis sebuah frame. Pada saat dilakukan double klik sebuah frame, maka sistem akan melakukan analisis terhadap semua anggota token yang terdapat dalam frame tersebut. Setelah mendapatkan hasil analisis dari semua token maka sistem akan membaca ontologi frame relationship tersebut terhadap hasil analisis tersebut. Kemudian dilanjutkan dengan membaca label pada frame (jika terdapat label pada frame tersebut). Hasil analisis dapat dilihat pada panel relationship. Gambar 17 menunjukkan form relationship. Dekomposisi fungsional Implementasi modul analisis word graph dapat dilihat pada Lampiran 3. 3. Implementasi modul pembentukan modifikasi kamus word graph
dan
Fungsi untuk pembentukan dan modifikasi kamus word graph disediakan pada toolbar, menubar dan pada panel dictionary yang ada pada jendela aplikasi sebelah kiri. Dengan penempatan posisi menu tersebut, harapannya dapat memudahkan pengguna mengakses dan menggunakannya. Gambar 16 menunjukkan gambar dari panel dictionary. Pada toolbar disediakan jalan pintas untuk menu pembuatan workspace baru (fungsi new 11
graph) dan menu untuk menyimpan graph menjadi kamus word graph. Pada saat pengguna menekan icon new graph maka muncul dialog konfirmasi untuk memastikan bahwa pengguna menginginkan workspace baru dan secara otomatis menghapus graph yang ada pada workspace pada saat itu. Pada panel dictionary yang dapat dilakukan terhadap kamus word graph yang terdapat disana adalah proses modifikasi, yaitu rename file, view and edit, copy, dan hapus file. Menumenu modifikasi pada panel tersebut dapat diakses setelah pengguna memilih (klik kiri) pada nama file di dalam kamus tersebut, kemudian melakukan klik kanan pada nama file yang telah dipilih tadi. Untuk beberapa fungsi yaitu rename dan hapus, jika menu ini diakses maka jendela dialog konfirmasi akan muncul untuk mengonfirmasi perintah yang diinginkan pengguna. Hal tersebut untuk memastikan bahwa pengguna akan melakukan modifikasi terhadap kamus word graph. Pada menubar, yaitu pada menu workspace dan menu dictionary, semua fungsi dari modul pembentukan dan modifikasi kamus word graph dapat diakses. Dekomposisi fungsional modul pembentukan dan modifikasi kamus word graph dapat dilihat pada Lampiran 4. Sebagai catatan, bahwa setelah melakukan salah satu fungsi dari modul ini kecuali fungsi “view and edit graph”, maka disarankan untuk mengakses menu “restart system” pada menubar workspace. Hal tersebut dimaksudkan untuk melihat hasil dari proses yang telah dikerjakan oleh modul ini.
dahulu menghapus isi dari variabel yang menangani data garis dan panah. Kemudian setelah dilakukan modifikasi, maka data teks, token, dan frame digunakan untuk menggambar dan membangkitkan ulang data garis dan panah yang menghubungkannya. Dengan demikian proses memperbaharui koordinat setiap elemen selalu dilakukan ketika ada proses menggambar graph (plot pada axis). Implementasi dari struktur data dalam setiap variabel data dapat dilihat pada Lampiran 5. Implementasi Antarmuka Ada beberapa perbedaan antarmuka BogorDelftConStruct dengan antarmuka DelftConStruct. Pada antarmuka BogorDelftConStruct, semua panel ditempatkan di sebelah kiri jendela aplikasi. Panel-panel yang disediakan yaitu, panel form add relation, panel dictionary, dan panel relationship. Gambar ketiga panel tersebut dapat dilihat pada Gambar 15, Gambar 16, dan Gambar 17. Ada penambahan panel dictionary, dan perbedaan form add relation dengan DelftConStruct. Form add relation DelftConStruct terdiri atas textfield dan popup menu, sedangkan form add relation BogorDelftConStruct semuanya merupakan popup menu. Antarmuka DelftConStruct dapat dilihat pada Lampiran 1, sedangkan antarmuka BogorDelftConStruct dapat dilihat pada Lampiran 6. Lampiran 7 adalah antarmuka menu BogorDelftConStruct, baik menu pada klik kanan, pada toolbar, maupun pada menubar.
Implementasi Struktur Data Setiap proses yang dilakukan pada BogorDelftConStruct selalu berhubungan dengan data yang disimpan dalam variabel session bertipe struct. Hal tersebut dikarenakan penggambaran word graph dalam axis selalu menggunakan titik koordinat. Pergerakan suatu elemen word graph sekecil apapun selalu mengubah koordinat seluruh elemen pada word graph tersebut. Variabel yang bersifat dinamis ini menyebabkan token dan teks dapat dengan bebas digerak-gerakkan atau ditarik ke sana kemari, dan relasi yang menghubungkannya bisa mengikuti pergerakan tersebut. Pada saat sistem melakukan penambahan atau modifikasi terhadap word graph yang ada pada workspace, maka koordinat dari elemen graph tersebut berubah. Namun ada perbedaan dengan pada saat graph digerak-gerakkan. Sebelum dilakukan modifikasi, sistem terlebih
Gambar 15 Panel add relation.
Gambar 16 Panel dictionary. 12
seharusnya dengan hasil pengujian. Prosedur pengujian dapat dilihat pada Lampiran 9. Kelebihan dari sistem ini yaitu dapat membentuk dan melakukan modifikasi word graph sesuai dengan konsep KG, dan dapat melakukan penyimpanan terhadap word graph yang telah dibentuk. Sistem ini belum dilengkapi dengan beberapa modul, sehingga menjadi suatu kekurangan sistem, yaitu modul untuk membuka dan menutup sebuah frame, modul pembangkitan word graph dari masukan berupa sebuah frase atau kalimat, dan modul untuk penggabungan word graph dari file yang ada pada kamus word graph.
KESIMPULAN DAN SARAN Kesimpulan Gambar 17 Panel relationship. Workspace untuk membuat graph berada di sebagian besar jendela aplikasi BogorDeldtConStruct. Gambar 18 memperlihatkan contoh sebuah word graph yang berhasil dibentuk pada workspace.
BogorDelftConStruct yang dikembangkan dalam penelitian ini merupakan aplikasi yang telah sesuai dengan konsep KG. Proses penambahan dan modifikasi pada setiap elemen word graph telah dapat dilakukan dan sesuai konsep KG. Analisis word graph terhadap teks berbahasa Indonesia yang dilakukan oleh sistem ini telah cukup relevan dengan makna teks yang dimaksud. Word graph yang telah dibentuk dapat disimpan, sehingga dapat terbentuk kumpulan word graph yang disebut kamus word graph. Saran
Gambar 18 Contoh word graph yang dibentuk dalam workspace. Beberapa gambar dari jendela dialog BogorDelftConStruct, baik yang berupa konfirmasi, informasi, peringatan, kesalahan, input dialog, maupun list dialog disertakan pada Lampiran 8.
Validasi Pada proses validasi ini, dilakukan proses integrasi unit fungsi dan subfungsi yang telah dibuat ke dalam sistem BogorDelftConStruct, dengan mendefinisikan fungsi ”callback” yang tepat untuk setiap menu dari fungsi-fungsi tersebut. Fungsi-fungsi tersebut merupakan fungsi yang sesuai dengan spesifikasi sistem itu sendiri. Pengujian yang dilakukan menggunakan metode black box. Hasil pengujian menunjukkan kesesuaian antara hasil yang
Untuk pengembangan BogorDelftConStruct selanjutnya, ada beberapa saran yang dapat ditambahkan ke dalam sistem, di antaranya: 1. Melengkapi modul untuk membuka dan menutup sebuah frame. 2. Melengkapi modul pembangkitan word graph dari masukan teks berupa frase atau kalimat. 3. Melengkapi modul untuk penggabungan word graph dari file-file yang ada pada kamus graph. 4. Melengkapi sistem dengan modul analisis word graph yang lebih optimal dan menghasilkan analisis yang lebih sederhana, namun tepat sesuai dengan makna yang dimaksud oleh word graph. 5. Memperbaiki tipe data dalam penggunaan variabel menjadi tipe data yang lebih hemat dalam penggunaan memori. 6. Memberikan pilihan format penyimpanan file, tidak hanya dalam format “.mat”. 13
DAFTAR PUSTAKA Granadi A D, Khatiza E. 2006. Masalah Variasional untuk Persamaan Beda dalam Graf Terboboti. Bogor: Departemen Matematika FMIPA IPB. Hoede C, Nurdiati S. 2008. A Graph Theoritical Analysis of Certain Aspects of Bahasa Indonesia. Memorandum No. 1870, Departement of Applied Mathematics, University of Twente, Enschede, The Netherlands, ISSN 1874-4850. Hulliyah K. 2007. Rekayasa Memahami Teks Menggunakan Metode Knowledge Graph. [Tesis]. Bogor: Sekolah Pascasarjana, Institut Pertanian Bogor. Rusiyamti. 2008. Analisis Teks Berbahasa Indonesia Mengunakan Teori Knowledge Graph. [Tesis]. Bogor: Sekolah Pascasarjana, Institut Pertanian Bogor. Sommerville I. 2001. Software Engineering. 6th Ed. United Kingdom: Pearson Education. Supriyo P T. 2006. Algoritma Rute Terpendek Berbasis Teori Graph. JMA, VOL. 5, No.1. Bogor: Departemen Matematika FMIPA IPB Zhang L. 2002. Knowledge Graph Theory And Structural Parsing. [Disertasi]. ISBN 9036518350. Netherlands: Twente University.
14
LAMPIRAN
Lampiran 1 Antarmuka DelftConStruct
a. Splash screen DelftConStruct
b. Antarmuka halaman utama DelftConStruct
16
Lampiran 2 Dekomposisi fungsional pada modul pembentukan dan modifikasi word graph Deskripsi Fungsi (Nama Fungsi )
Input
Output
Keterangan Kemungkinan penambahan relasi:
Menambahkan relasi antar-token ( addRelationToken )
Id token, tipe relasi ontologi
Graph yang menghubungkan token dengan relasi ontologi tertentu
1. Exist token menuju exist token 2. Exist token menuju token baru 3. Token baru menuju exist token 4. Token baru menuju token baru Kemungkinan penambahan relasi: 1. Exist text menuju exist token
Menambahkan relasi antara token dengan teks (addRelationText)
Id token, tipe relasi ontologi, sebuah kata
Graph yang menghubungkan token dengan teks dan dihubungkan dengan relasi ontologi tertentu
2. Exist text menuju token baru 3. Teks baru menuju exist token 4. Teks baru menuju token baru
Menambahkan atau menghapus relasi fokus token
Id token
Pemberian warna pada token sebagai penanda fokus token
-
Id token, id frame
Sebuah frame ontologi dengan anggota token dengan id tertentu
-
Id token, id frame
Token bergabung ke dalam frame
-
Id token
Token dihapus dari graph
Penghapusan token otomatis juga menghapus semua relasi ontologi dari dan atau ke token tersebut
Id teks, kata baru
Teks diganti dengan kata baru
-
Id teks
Teks dihapus dari graph
( focusToken ) Menambahkan frame relationship pada sebuah token (makeFrameOntology) Menggabungkan atau melepaskan token terhadap frame (joinToken2Frame) Hapus token (deleteToken) Mengganti teks (renameText) Menghapus teks (deleteText)
Penghapusan teks secara otomatis juga menghapus relasi ontologi dari teks
17
Lampiran 2 Lanjutan Deskripsi Fungsi (Nama Fungsi ) Menambahkan relasi antar-frame (addFrameRelation) Menambahkan relasi antara frame dengan token (addTokenOntology) Mengubah ontologi frame (editFrameOntology)
Menghapus frame (deleteFrame)
Menambahkan, mengubah, dan menghapus label pada frame
Input
Output
Keterangan
Id frame, tipe relasi ontologi
Frame digambarkan mempunyai relasi tertentu terhadap frame lain
Menu ini muncul ketika sudah terdapat minimal 2 token pada graph
Id frame, id token relasi ontologi
Frame dihubungkan dengan sebuah relasi ontologi terhadap sebuah frame lain
-
Id frame, relasi ontologi baru
Ontologi frame relationship berubah
-
Id frame
Frame terhapus dari graph
Dengan menghapus frame secara otomatis menghapus semua relasi baik token mapun teks terhadap frame tersebut, namun tidak menghapus token yang dimaksud
Id frame, label frame
Label frame berhasil dimodifikasi
-
Id setiap elemen yang akan diubah relasinya
Relasi ontologi berhasil diubah
-
(labelFrame) Mengubah relasi ontologi setiap elemen word graph yang terhubung (editRelationType)
18
Lampiran 3 Dekomposisi fungsional modul analisis word graph Deskripsi Fungsi (Nama Fungsi ) Analisis kata dengan ontologi tertentu terhadap token
Input
Output
Keterangan
Id kata, kata, id token
Hasil analisis ini bisa dilihat dengan cara dilakukan double klik pada token, maupun pada panel relationship
-
Id token, kata
Hasil analisis ditampilkan pada panel relationship
-
Id frame, id token
Hasil analisis dapat dilihat saat double klik maupun pada panel relationship
-
Id frame, label frame
Ditampilkan pada saat dilakukan double klik
-
Id frame, id token
Hasil analisis ditampilkan
-
Id frame
Hasil analisis ditampilkan pada saat dilakukan double klik
-
(analyzeToken) Analisis antar-token dengan ontologi tertentu (findInRelationship dan findOutRelationship) Analisis terhadap token dalam suatu frame (analyzeFrame) Analisis label ontologi terhadap frame (analyzeLabelFrame) Analisis frame dengan token di luar anggota yang terhubung padanya (analyzeTokenFrame) Analisis antar-frame (analyzeFrameRelationship)
19
Lampiran 4 Dekomposisi fungsional pada modul pembentukan dan modifikasi kamus word graph Deskripsi Fungsi (Nama Fungsi ) Mengganti workspace ( newGraph )
Input
-
Output
Keterangan
Workspace baru
Membangkitkan sebuah token sebagai default sistem
File word graph
Masukkan nama file melalui jendela dialog
Menyimpan word graph
saveGraph : Nama file word graph
(saveGraph dan saveAsGraph )
saveAsGraph: Variabel session bertipe struct
Menampilkan dan mengubah word graph pada kamus word graph
File word graph dengan variabel session bertipe struct
Word graph
Nama file word graph baru
File word graph baru
File word graph
File word graph baru
-
( viewOrEditGraph) Mengubah nama file pada kamus word graph
Masukan nama file baru melalui jendela dialog
( renameDictionary) Menyalin file pada kamus word graph (copyDictionary) Menghapus file pada kamus word graph
File word graph
-
-
-
(deleteDictionary)
20
Lampiran 5 Implementasi struktur data setiap variabel data Variabel
Tipe
Data yang ditangani
Isi
token
Cell
Data token
Id token, koordinat persegi token, koordinat pusat token
tokenOntology
Double
Data tipe relasi ontologi antar-token
Dua id token yang dihubungkan, tipe relasi ontologi
tokenLine
Double
Data garis relasi antar-token
Kedua id token yang dihubungkan, koordinat garis
tokenLabel
Double
Data label relasi antar-token
Kedua Id token yang dihubungkan, koordinat label relasi
tokenArrow
Double
Data arah panah token
Kedua id token yang dihubungkan, koordinat arah panah
tokenFocus
Double
Id token
Id token
Teks
Cell
Data teks
Kata, koordinat kata
textOntology
Double
Data tipe relasi ontologi antara teks dengan token
Id token, id kata, tipe relasi ontologi
textLine
Double
Data tipe relasi ontologi antara teks dengan token
Id token, id teks, koordinat garis
textLabel
Double
Data label relasi ontologi antara teks dengan token
Id token, id teks, koordinat label relasi
textArrow
Double
Data arah panah relasi teks ke token
Id token, id teks, koordinat arah panah
frame
Cell
Data koordinat frame
Id frame, ontologi frame relationship, label frame, relasi ontologi, koordinat frame, koordinat label
frameOntology
Double
Data tipe relasi ontologi antar-frame
Id frame dan id ontologi
frameLine
Double
Data garis pada relasi antar-frame
Id frame, koordinat garis antar-frame pada graph
frameLabel
Double
Data label relasi antar-frame
Id frame, koordinat label ontologi pada graph
frameArrow
Double
Data tanda panah pada relasi antarframe
Id frame, koordinat tanda panah pada relasi antarframe
frameOntology_From
Double
Data tipe relasi ontologi dari frame ke token
Id frame dan id ontologi
Keterangan
21
Lampiran 5 Lanjutan Variabel
Tipe
Data yang ditangani
Isi
frameLine_From
Double
Data garis pada relasi dari frame ke token
Id frame, koordinat garis antara frame dengan token pada graph
frameLabel_From
Double
Data label relasi dari frame ke token
Id frame, koordinat label ontologi pada graph
frameArrow_From
Double
Data tanda panah pada relasi dari frame ke token
Id frame, koordinat tanda panah pada relasi frame dengan token
frameOntology_To
Double
Data tipe relasi ontologi dari token ke frame
Id frame dan id ontologi
frameLine_To
Double
Data garis pada relasi dari token ke frame
Id frame, koordinat garis antara frame dengan token pada graph
frameLabel_To
Double
Data label relasi dari token ke frame
Id frame, koordinat label ontologi pada graph
frameArrow_To
Double
Data tanda panah pada relasi dari token ke frame
Id frame, koordinat tanda panah pada relasi frame dengan token
Keterangan
22
Lampiran 6 Antarmuka BogorDelftConStruct
23
Lampiran 7 Menu pada BogorDelftConStruct a.
Menubar dan toolbar BogorDelftConStruct
b.
Menu klik kanan pada token
c.
Menu klik kanan pada kata
d.
Menu klik kanan pada relasi
e.
Menu klik kanan pada frame
24
Lampiran 7 Lanjutan f.
Menu klik kanan pada kamus word graph
25
Lampiran 8 Antarmuka jendela dialog BogorDelftConStruct a. Dialog konfirmasi new graph
b. Dialog input nama file yang akan disimpan
c. Dialog peringatan bahwa tak ada input nama file yang akan disimpan
d. Dialog list memilih file word graph dari kamus untuk dilakukan modifikasi
26
Lampiran 8 Lanjutan e. Dialog konfirmasi penghapusan suatu file pada kamus
f. Dialog konfirmasi perubahan nama suatu file pada kamus
g. Dialog list id token yang telah terdaftar
h. Dialog list kata yang telah terdaftar
27
Lampiran 8 Lanjutan i. Dialog list relasi ontologi
j.
Dialog input penggantian nama suatu kata
k. Dialog konfirmasi penghapusan suatu token
l. Dialog konfirmasi penghapusan suatu relasi
m.
Dialog konfirmasi penghapusan suatu kata
28
Lampiran 9 Prosedur pengujian sistem Kasus Uji ( Nama Fungsi )
Masukan Nilai
Skenario / Prosedur Uji
Hasil yang Diharapkan
Hasil Uji
Terbentuk relasi antar-token
Sukses
Proses berhenti, dan tidak terbentuk relasi antar-token
Sukses
Terbentuk relasi antara teks dan token
Sukses
Proses berhenti, dan tidak terbentuk relasi antara teks dan token
Sukses
a. Memilih exist token asal dan memilih relasi
Menambah relasi antar-token a. Exist token ke new token b. Exist token ke exist token c. New token ke new token d. New token ke exist token (addRelationToken)
Benar
b. Memilih exist token asal dan tujuan, serta memilih relasi c. Memilih relasi d. Memilih exist token tujuan dan memilih relasi a. Tidak memilih exist token asal atau tidak memilih relasi
Salah
b. Tidak memilih exist token asal atau tujuan, atau tidak memilih relasi c. Tidak memilih relasi d. Tidak memilih exist token tujuan atau tidak memilih relasi a. Memilih exist teks dan memilih relasi
Benar Menambah relasi antara teks dan token a. Exist teks ke new token b. Exist teks ke exist token c. New teks ke new token d. New teks ke exist token (addRelationText)
b. Memilih exist teks, memilih exist token, dan memilih relasi c. Input teks dan memilih relasi d. Input teks, memilih exist token, dan memilih relasi a. Tidak memilih exist teks atau tidak memilih relasi
Salah
b. Tidak memilih exist teks atau tidak memilih token, atau tidak memilih relasi c. Tidak memasukkan teks atau tidak memilih relasi d. Tidak memasukkan teks atau tidak memilih exist token atau tidak memilih relasi
Melakukan ubah relasi a. Ubah relasi antartoken b. Ubah relasi antara teks dan token c. Ubah relasi antarframe d. Ubah relasi antara frame dan token (editRelationType)
Benar
Memilih relasi yang akan diubah, kemudian memilih relasi baru
Relasi berhasil diubah
Sukses
Salah
Tidak memilih relasi yang akan diubah atau tidak memilih relasi baru
Muncul warning dialog dan tidak ada perubahan relasi
Sukses
29
Lampiran 9 Lanjutan Kasus Uji ( Nama Fungsi )
Masukan Nilai
Skenario / Prosedur Uji
Hasil yang Diharapkan
Hasil Uji
Benar
Memilih teks yang akan diganti, kemudian memasukkan teks baru melalui input dialog
Teks berhasil diubah
Sukses
Salah
Tidak memilih teks yang akan diganti atau tidak memasukkan teks baru pada input dialog
Tidak ada perubahan pada teks
Sukses
Benar
Memilih token yang akan dijadikan fokus token
Token yang dipilih berubah warna
Sukses
Salah
Tidak memilih token
Proses berhenti
Sukses
Benar
Memilih token yang akan dihapus, kemudian muncul jendela konfirmasi sebelum di hapus
Sesuai perintah pada jendela konfirmasi
Sukses
Salah
Tidak memilih token yang akan dihapus
Tidak ada token yang dihapus
Sukses
Benar
Memilih teks yang akan dihapus, kemudian muncul jendela konfirmasi sebelum di hapus
Sesuai perintah pada jendela konfirmasi
Sukses
Salah
Tidak memilih teks yang akan dihapus
Tidak ada teks yang dihapus
Sukses
Benar
Memilih relasi yang akan dihapus, kemudian muncul jendela konfirmasi sebelum di hapus
Sesuai perintah pada jendela konfirmasi
Sukses
Salah
Tidak memilih relasi yang akan dihapus
Tidak ada relasi yang dihapus
Sukses
Benar
Memilih jenis frame ontology, kemudian memilih sebuah token sebagai anggota dalam frame
Frame berhasil terbentuk
Sukses
Salah
Tidak memilih token
Frame tidak terbentuk
Sukses
Memasukkan dan mengeluarkan token terhadap frame
Benar
Memilih sebuah frame yang dimaksud, kemudian memilih token
Token berhasil bergabung atau keluar dari frame
Sukses
(joinToken2Frame)
Salah
Tidak memilih frame, atau tidak memilih token yang dimaksud
Tidak ada proses bergabung atau keluar dari frame
Sukses
Mengubah frame ontologi (editFrameOntology)
Benar
Memilih frame yang akan diubah, kemudian memilih frame ontologi baru
Frame ontologi berubah
Sukses
Salah
Tidak memilih frame atau tidak memilih frame ontologi baru
Frame ontologi tidak berubah
Sukses
Mengganti teks (renameText)
Membuat fokus token (fokusToken)
Menghapus token (deleteToken)
Menghapus teks (deleteText)
Menghapus relasi (deleteRelation)
Membuat sebuah frame (makeFrameOntology)
30
Lampiran 9 Lanjutan Kasus Uji ( Nama Fungsi )
Masukan Nilai
Skenario / Prosedur Uji
Hasil yang Diharapkan
Hasil Uji
Benar
Memilih frame asal dan frame tujuan, kemudian memilih relasi antar-frame
Terbentuk relasi antar-frame
Sukses
Salah
Tidak memilih frame asal atau tujuan, atau tidak memilih relasi
Tidak terbentuk relasi antar-frame
Sukses
Benar
Memilih frame, memilih token, dan memilih relasi
Terbentuk relasi antara frame dan token
Sukses
Salah
Tidak memilih frame, atau tidak memilih token, atau tidak memilih relasi
Proses berhenti, dan tidak ada relasi yang terbentuk
Sukses
Benar
Memilih frame yang akan dihapus
Frame dihapus
Sukses
Salah
Tidak memilih frame yang akan dihapus
Tidak ada frame yang dihapus
Sukses
Benar
Muncul question dialog untuk menyimpan word graph yang ada terlebih dahulu, atau langsung menghapus word graph tersebut
Sesuai dengan perintah pada question dialog
Benar
Bila sebelumnya belum disimpan maka akan muncul input dialog untuk memasukkan nama file
Word graph tersimpan dalam sebuah file
Salah
Tidak memasukkan nama file pada input dialog
Muncul warning dialog, word graph belum tersimpan
Mengganti nama file pada kamus word graph
Benar
Memilih file yang akan diganti, memasukkan nama file baru pada input dialog
Nama file diganti
(renameDictionary)
Salah
Tidak memilih file yang akan diganti, atau tidak memasukkan nama file baru
Tidak ada perubahan nama file
Benar
Memilih file pada kamus word graph
File terduplikasi
Benar
Memilih file pada kamus word graph
Word graph ditampilkan
Benar
Memilih file pada kamus word graph, kemudian muncul jendela konfirmasi
Sesuai dengan perintah pada jendela konfirmasi
Menambahkan relasi antar-frame (addRelationFrame)
Menambahkan relasi antara frame dan token (addToken_Frame)
Menghapus frame (deleteFrame)
Membuka workspace baru (newGraph)
Menyimpan word graph (saveDictionary)
Menyalin file pada kamus word graph (copyDictionary) Menampilkan file pada kamus word graph (viewEditDict) Menghapus file pada kamus word graph (deleteDictionary)
Sukses
Sukses
Sukses
Sukses
Sukses
Sukses
Sukses
Sukses
31
32