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.
Judul : Pengembangan Sistem Pembentukan Word Graph Untuk Teks Berbahasa Indonesia Nama : Deni Romadoni
NRP : 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
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 adik-adik 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
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.
iv 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
v
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
1
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
2 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
masing-masing 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
antar-token. 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
3 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 relasi-relasi di antaranya, dengan maksud untuk memberikan definisi yang cukup terhadap ide-ide 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
4 dengan pohon”, dinyatakan seperti pada
Gambar 5.
Gambar 5 Contoh penggunaan relasi DIS. 6. ORD (ordering)
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 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.
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:
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 9 Contoh penggunaan frame FPAR.
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”.
Gambar 10 Contoh penggunaan frame NEGPAR.
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 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.
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.
5 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.
Gambar 14 Metode pengembangan evolusioner.
Deskripsi Perangkat Lunak
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.
6
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 fitur-fitur 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
7 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 topik-topik 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 fungsi-fungsi 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
8 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 relasi antara frame dengan token.
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
9 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
antar-token.
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.
10 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
antar-frame.
Suatu variabel berisi data koordinat garis yang menghubungkan antar-frame disimpan.
Penyimpanan label relasi ontologi
antar-frame.
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 antar-frame.
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 fungsi-fungsi 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
11 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 dan
modifikasi word graph
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 dan modifikasi kamus word graph
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
12
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.
Menu-menu 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.
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
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.
Gambar 15 Panel add relation.
13 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.
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
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
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
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
14
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.
16 Lampiran 1 Antarmuka DelftConStruct
a. Splash screen DelftConStruct
17 Lampiran 2 Dekomposisi fungsional pada modul pembentukan dan modifikasi word graph
Deskripsi Fungsi
(Nama Fungsi )
Input Output Keterangan
Menambahkan relasi antar-token ( addRelationToken ) Id token, tipe relasi ontologi Graph yang menghubungkan token dengan relasi ontologi tertentu
Kemungkinan penambahan relasi: 1. Exist token menuju exist
token
2. Exist token menuju
token baru
3. Token baru menuju exist
token
4. Token baru menuju
token baru
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
Kemungkinan penambahan relasi: 1. Exist text menuju exist
token
2. Exist text menuju token baru
3. Teks baru menuju exist
token
4. Teks baru menuju token baru
Menambahkan atau menghapus relasi fokus
token
( focusToken )
Id token
Pemberian warna pada
token sebagai penanda
fokus token
-
Menambahkan frame
relationship pada sebuah token
(makeFrameOntology)
Id token, id frame
Sebuah frame ontologi dengan anggota token dengan id tertentu - Menggabungkan atau melepaskan token terhadap frame (joinToken2Frame) Id token, id frame Token bergabung ke dalam frame - Hapus token (deleteToken) Id token
Token dihapus dari graph
Penghapusan token otomatis juga menghapus semua relasi ontologi dari dan atau ke token tersebut Mengganti teks
(renameText)
Id teks, kata
baru
Teks diganti dengan
kata baru -
Menghapus teks
(deleteText) Id teks
Teks dihapus dari
graph
Penghapusan teks secara otomatis juga menghapus relasi ontologi dari teks
18 Lampiran 2 Lanjutan
Deskripsi Fungsi
(Nama Fungsi ) Input Output Keterangan
Menambahkan relasi antar-frame (addFrameRelation) Id frame, tipe relasi ontologi Frame digambarkan mempunyai relasi tertentu terhadap frame lain
Menu ini muncul ketika sudah terdapat minimal 2
token pada graph
Menambahkan relasi antara frame dengan token (addTokenOntology)
Id frame, id token relasi
ontologi
Frame dihubungkan
dengan sebuah relasi ontologi terhadap sebuah frame lain
-
Mengubah ontologi frame (editFrameOntology) Id frame, relasi ontologi baru Ontologi frame relationship berubah - Menghapus frame (deleteFrame)
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
Menambahkan, mengubah, dan menghapus label pada
frame
(labelFrame)
Id frame, label frame
Label frame berhasil
dimodifikasi -
Mengubah relasi ontologi setiap elemen word graph yang terhubung (editRelationType) Id setiap elemen yang akan diubah relasinya
Relasi ontologi berhasil
19 Lampiran 3 Dekomposisi fungsional modul analisis word graph
Deskripsi Fungsi
(Nama Fungsi )
Input Output Keterangan
Analisis kata dengan ontologi tertentu terhadap
token
(analyzeToken)
Id kata, kata, id token
Hasil analisis ini bisa dilihat dengan cara dilakukan
double klik pada token,
maupun pada panel
relationship
-
Analisis antar-token dengan ontologi tertentu
(findInRelationship dan
findOutRelationship)
Id token, kata Hasil analisis ditampilkan
pada panel relationship -
Analisis terhadap token dalam suatu frame (analyzeFrame)
Id frame, id token
Hasil analisis dapat dilihat saat double klik maupun pada panel relationship
-
Analisis label ontologi terhadap frame (analyzeLabelFrame)
Id frame, label frame Ditampilkan pada saat
dilakukan double klik - Analisis frame dengan token
di luar anggota yang terhubung padanya (analyzeTokenFrame)
Id frame, id token Hasil analisis ditampilkan -
Analisis antar-frame
(analyzeFrameRelationship) Id frame
Hasil analisis ditampilkan pada saat dilakukan double klik
20 Lampiran 4 Dekomposisi fungsional pada modul pembentukan dan modifikasi kamus word graph
Deskripsi Fungsi
(Nama Fungsi )
Input Output Keterangan
Mengganti workspace
( newGraph ) - Workspace baru
Membangkitkan sebuah
token sebagai default
sistem Menyimpan word
graph
(saveGraph dan saveAsGraph )
saveGraph : Nama file word graph
saveAsGraph: Variabel
session bertipe struct
File word graph Masukkan nama file
melalui jendela dialog
Menampilkan dan mengubah word graph pada kamus word
graph
( viewOrEditGraph)
File word graph
dengan variabel
session bertipe struct
Word graph -
Mengubah nama file pada kamus word
graph
( renameDictionary)
Nama file word graph baru
File word graph
baru
Masukan nama file baru melalui jendela dialog
Menyalin file pada kamus word graph (copyDictionary)
File word graph File word graph
baru -
Menghapus file pada kamus word graph (deleteDictionary)