Visualisasi Keterhubungan Tanaman Obat dengan Khasiatnya Menggunakan Algoritme Fruchterman-Reingold
VISUALISASI KETERHUBUNGAN TANAMAN OBAT DENGAN
KHASIATNYA MENGGUNAKAN ALGORITME
FRUCHTERMAN-REINGOLD
NADYA ELSANOVIANY PUTRI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Visualisasi
Keterhubungan Tanaman Obat dengan Khasiatnya Menggunakan Algoritme
Fruchterman-Reingold ialah benar karya saya dengan arahan dari komisi
pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi
mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan
maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan
dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, Juli 2013
Nadya Elsanoviany Putri
NIM G64090009
ABSTRAK
NADYA ELSANOVIANY PUTRI. Visualisasi Keterhubungan Tanaman Obat
dengan Khasiatnya Menggunakan Algoritme Fruchterman-Reingold. Dibimbing
oleh FIRMAN ARDIANSYAH.
Suatu tanaman obat dapat memiliki berbagai macam khasiat dan satu khasiat
dapat dimiliki oleh lebih dari satu tanaman obat. Hal ini menunjukkan terdapat
pola keterhubungan antara tanaman obat dengan khasiatnya. Data tanaman obat
beserta khasiat merupakan data dalam bentuk teks, sehingga akan memakan waktu
lebih banyak untuk memahami dan menganalisis keseluruhan makna dari teks
tersebut. Oleh sebab itu, pendekatan visualisasi informasi digunakan untuk
menyelidiki lebih lanjut mengenai keterhubungan tersebut. Penelitian ini
menggunakan visualisasi dalam bentuk graf yang sering kali digunakan untuk
mewakili data keterhubungan. Tanaman obat dan khasiat dari tanaman obat
direpresentasikan dengan nodes yang dibedakan dengan warna dan keterhubungan
antartanaman obat dengan khasiatnya direpresentasikan dengan edges. Algoritme
yang diterapkan merupakan algoritme Fruchterman-Reingold. Algoritme tersebut
menghasilkan graf yang dapat memodelkan keterhubungan antara tanaman obat
dengan khasiatnya. Graf tersebut diimplementasikan dalam aplikasi berbasis web
untuk membantu pengguna mengeksplorasi data yang terdapat pada graf
keterhubungan tersebut dan menemukan pengetahuan.
Kata Kunci: graf keterhubungan, khasiat, tanaman obat, visualisasi.
ABSTRACT
NADYA ELSANOVIANY PUTRI. Visualization of Herb Plants-Efficacies
Relationships using Fruchterman-Reingold Algorithm. Supervised by FIRMAN
ARDIANSYAH.
Herb plants may have more than one efficacies and a certain efficacy may
belong to more than one herb plants. It shows a relationship among herb plants
and their efficacies. Data of herb plants and their efficacies are represented in the
text form, so it will take a lot of time to understand and analyse the meaning of
text data. This research applies graph visualization in order to investigate the
relationships of herb plants and their efficacies. Herb plants and efficacies are
represented in nodes which are represented in different colors and the
relationships between efficacies and herb plants are represented in edges. It is
determined by the weight of an edge connecting two nodes of efficacies. This
research applies Fruchertman-Reingold algorithm. This algorithm produced a
graph which can visualize the relationship among herb plants and their efficacies.
The graph was implemented in a web based application to help users exploring the
data on the graph and to uncover patterns.
Keywords: efficacies, herb plants, relationship graph, visualization.
VISUALISASI KETERHUBUNGAN TANAMAN OBAT DENGAN
KHASIATNYA MENGGUNAKAN ALGORITME
FRUCHTERMAN-REINGOLD
NADYA ELSANOVIANY PUTRI
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
2013
Penguji :
1 Dr. Yani Nurhadryani, SSi,MT
2 Rudi Heryanto, SSi, MSc
Judul Skripsi: Visualisasi Keterhubungan Tanaman Obat dengan Khasiatnya
Menggunakan Algoritme Fruchterman-Reingold
: Nadya Elsanoviany Putri
Nama
: 064090009
NIM
Disetujui oleh
ᄋMf
M ゥ Mc セ セ
Pembimbing
Tanggal Lulus:
3 0 JUL 2013
Judul Skripsi : Visualisasi Keterhubungan Tanaman Obat dengan Khasiatnya
Menggunakan Algoritme Fruchterman-Reingold
Nama
: Nadya Elsanoviany Putri
NIM
: G64090009
Disetujui oleh
Firman Ardiansyah, SKom MSi
Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom
Ketua Departemen
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan Oktober 2012 ini ialah
visualisasi informasi, dengan judul Visualisasi Keterhubungan Tanaman Obat
dengan Khasiatnya Menggunakan Algoritme Fruchterman Reingolf.
Terima kasih penulis ucapkan kepada Bapak Firman Ardiansyah, SKom,
MSi selaku pembimbing, serta Ibu Dr Yani Nurhadryani, SSi, MT dan Bapak
Rudi Heryanto, SSi, MSc yang telah banyak memberi saran. Ungkapan terima
kasih juga disampaikan kepada ayah dan ibu tersayang, Fadhila Meylinda Annisa,
Syakhrul Ambosaka Patompo, Fahrul Abdullah Hudri, Faiza Libby Shabira atas
doa dan dukungannya. Terima kasih juga disampaikan untuk rekan-rekan
tersayang di Pondok Nuansa Sakinah, yaitu Gina, Inka, Wenny, Husnul, Anisaul,
Ufiq, Nurifah, Lizza, Ambar dan Annisa. Selain itu, terima kasih juga penulis
sampaikan untuk rekan-rekan PKM KC Visualisasi, rekan-rekan ilmu komputer
angkatan 46 khususnya Bimo Setyawan dan Chusnul Arifin yang telah banyak
membantu, serta rekan-rekan lainnya atas segala doa dan kasih sayangnya.
Semoga karya ilmiah ini bermanfaat.
Bogor, Juli 2013
Nadya Elsanoviany Putri
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR
DAFTAR LAMPIRAN
PENDAHULUAN
Latar Belakang
Perumusan Masalah
Tujuan Penelitian
Manfaat Penelitian
Ruang Lingkup Penelitian
METODE
Tahapan Penelitian
Value
Data Transformation
Analytical Abstraction
Visualization Transformation
Visualization Abstraction
Visual Mapping Transformation
View
Lingkungan Pengembangan Sistem
HASIL DAN PEMBAHASAN
Value
Data Transformation
Analytical Abstraction
Visualization Transformation
Visualization Abstraction
Visual Mapping Transformation
View
SIMPULAN DAN SARAN
Simpulan
Saran
DAFTAR PUSTAKA
RIWAYAT HIDUP
vi
vi
vi
1
1
1
2
2
2
2
2
2
3
7
7
7
8
10
11
11
11
12
20
21
23
24
28
30
30
30
30
41
DAFTAR TABEL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Contoh data yang diperoleh
Contoh data hasil tokenisasi kalimat pada atribut effect
Contoh data hasil tokenisasi bagian tanaman pada atribut effect
Contoh data sebelum pencocokan field part_of_plant dengan
thesaurus dari field position
Contoh data setelah pencocokan field part_of_plant dengan
thesaurus dari field position
Contoh data sebelum tokenisasi frasa khasiat
Contoh data setelah tokenisasi frasa khasiat
Contoh data hasil pembuatan posting list frasa khasiat
Contoh data hasil tokenisasi kata di atribut effect
Contoh data hasil indexing khasiat per kata
Contoh data hasil perhitungan frekuensi kata
Contoh data sebelum penghapusan stopwords
Proses penghapusan stopwords
Contoh data hasil penghapusan records yang tidak lengkap
Contoh data sebelum penanganan kesalahan pengetikan
Contoh data hasil pengklusteran frasa khasiat dan perhitungan
frekuensi tanaman obat di setiap frasa khasiat
Contoh data hasil penerapan algoritme Levenshtein
Contoh data setelah penanganan kesalahan pengetikan
Contoh data sebelum indexing
Contoh data hasil indexing frasa khasiat
Contoh data hasil indexing frasa tanaman obat
Contoh data yang direpresentasikan sebagai nodes
Contoh data yang direpresentasikan sebagai edges
11
12
13
14
14
15
15
15
16
16
16
17
17
18
18
19
19
19
20
21
21
23
23
DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Metode Penelitian (Chi 1999)
Alur tahapan praproses data
Alur tahap modifikasi token pada praproses data
Alur tahapan visualization transformation
Alur tahapan pada visual mapping transformation
Bentuk visual dasar
Perbaikan bentuk visual dasar
Graf asal dengan random layout
Graf hasil algoritme Fruchterman-Reingold
Graf dengan penerapan kluster khasiat dan posisi tanaman
Graf dengan penerapan bobot nodes
Graf hasil penerapan algoritme Noverlap
Pemberian label pada nodes
Pemberian label pada nodes
3
5
6
8
9
22
22
24
25
26
26
27
27
28
DAFTAR LAMPIRAN
1
2
3
4
5
6
7
8
9
Thesaurus dari atribut position
Pseudocode algoritme layout Fruchterman Reingold
Komunitas yang terbentuk pada graf berdasarkan position
Tenik interaksi select pada graf visualisasi
Teknik interaksi explore pada graf visualisasi
Antarmuka teknik interaksi reconfigure pada graf visualisasi
Antarmuka teknik interaksi abstract pada graf visualisasi
Antarmuka teknik interaksi filter pada graf visualisasi
Antarmuka teknik interaksi connect
32
33
34
35
36
37
38
39
40
PENDAHULUAN
Latar Belakang
Jamu merupakan tanaman herbal Indonesia yang dibuat melalui
penggabungan beberapa jenis tanaman. Oleh sebab itu, komposisi tanaman yang
digunakan akan menentukan khasiat dari jamu tersebut (Afendi et al. 2010).
Tanaman yang digunakan merupakan tanaman yang berfungsi sebagai obat bagi
penyakit-penyakit tertentu sesuai dengan khasiat yang dikandungnya. Indonesia
memiliki sekitar 9600 spesies tanaman obat, namun baru sekitar 200 spesies yang
telah dimanfaatkan sebagai bahan baku pada industri obat tradisional dan dari
jumlah tersebut baru sekitar 4% yang dibudidayakan (BBPP 2012).
Data tanaman obat beserta khasiat merupakan data dalam bentuk teks. Hal
ini membuat data menjadi sulit untuk dianalisis karena akan memakan waktu lebih
banyak untuk memahami keseluruhan teks dalam data dan menganalisis makna
dari teks tersebut (Uchida et al. 2009). Oleh sebab itu, penyajian informasi dalam
bentuk tulisan dirasa kurang efektif dan dibutuhkan suatu cara agar seseorang bisa
menyelidiki lebih lanjut mengenai keterhubungan antartanaman obat dengan
khasiat yang dimilikinya.
Suatu tanaman obat dapat memiliki berbagai macam khasiat, sedangkan satu
khasiat dapat dimiliki oleh lebih dari satu tanaman obat. Oleh sebab itu, terdapat
keterhubungan antartanaman obat dengan khasiatnya. Visualisasi merupakan cara
mendapatkan informasi yang memanfaatkan kemampuan persepsi manusia dari
pemahaman visual. Umumnya seseorang tertarik pada struktur, fitur, pola, trends,
anomali dan keterhubungan pada sekumpulan data. Visualisasi mendukung hal
tersebut dengan merepresentasikan data dalam beberapa bentuk dengan interaksi
yang berbeda (Grinstein dan Ward 2002).
Penelitian ini mencoba merepresentasikan data keterhubungan tanaman obat
dengan khasiatnya dalam bentuk graf. Teknik visualisasi yang diterapkan dalam
penelitian ini ialah algoritme Fruchterman-Reingold. Teknik tersebut mencoba
menempatkan khasiat yang memiliki keterhubungan erat dalam letak yang
berdekatan. Hal ini disebabkan oleh seseorang cenderung menganggap hal-hal
yang ditempatkan secara berdekatan berada di dalam grup yang sama (Holloway
2010).
Perumusan Masalah
Setiap tanaman obat yang berada di Indonesia memiliki berbagai
khasiat yang berbeda-beda. Begitu pula, satu khasiat dapat dimiliki oleh
tanaman obat. Oleh sebab itu, terdapat keterhubungan tanaman obat
khasiatnya, sehingga muncul pertanyaan sebagai berikut:
1 bagaimana model visualisasi keterhubungan tanaman obat
khasiatnya?
2 apakah jenis khasiat yang paling banyak dimiliki oleh tanaman
Indoensia?
macam
banyak
dengan
dengan
obat di
2
Tujuan Penelitian
Penelitian ini bertujuan mengembangkan aplikasi visualisasi informasi yang
memodelkan keterhubungan antartanaman obat dengan khasiatnya guna
membantu masyarakat dalam melakukan pencarian dan penelusuran terkait
tanaman obat dan khasiatnya.
Manfaat Penelitian
Hasil dari penelitian ini diharapkan dapat digunakan oleh kalangan peneliti
jamu sekaligus masyarakat untuk melihat keterhubungan tanaman obat dengan
khasiatnya dan mendapatkan lebih banyak pengetahuan mengenai hal tersebut.
Ruang Lingkup Penelitian
Ruang lingkup penelitian ini ialah :
1 data penelitian yang digunakan dalam penelitian ini ialah data tanaman obat
yang telah digunakan pada industri jamu Indonesia, berasal dari PUSAT
STUDI BIOFARMAKA IPB.
2 visualisasi diterapkan dengan mencari keterhubungan antartanaman obat
Indonesia dengan khasiatnya.
3 pengguna dapat melakukan pencarian berdasarkan nama khasiat dalam
bahasa Inggris dan nama tanaman dalam bahasa Inggris disertai dengan
bagian tanamannya yang berkhasiat.
4 data yang digunakan dalam visualisasi ini masih bersifat statis, sehingga
belum dapat menangani penambahan data tanaman obat ke dalam database.
5 pengguna dapat mencetak hasil pencarian yang diperoleh dalam fail dengan
format CSV.
METODE
Tahapan Penelitian
Metode yang digunakan dalam penelitian ini merupakan kerangka metode
yang digunakan oleh Chi(1999). Metode ini dibagi ke dalam 4 tahap utama, yaitu
Data, Analytical Abstraction, Visualization Abstraction, and View. Selain itu,
terdapat 3 langkah pengolahan utama diantara 4 tahap tersebut, yaitu Data
Transformation. Visualization Transformation, dan Visual Mapping
Transformation (Chi 1999). Alur tahapan penelitian dapat dilihat pada Gambar 1.
Value
Tahap ini merupakan tahap pengumpulan data. Data yang digunakan pada
penelitian ini merupakan data tanaman obat dan khasiatnya yang berasal dari
3
Value
Data
Transformation
Analytical
Abstraction
Visualization
Transformation
Visualization
Abstraction
Visual Mapping
Transformation
View
Gambar 1 Metode Penelitian (Chi 1999)
PUSAT STUDI BIOFARMAKA IPB. Data yang diperoleh sudah dalam bentuk
database. Atribut data yang digunakan dalam penelitian ini, antara lain id dari
tanaman obat, nama ilmiah tanaman obat, nama tanaman obat dalam bahasa
Inggris, nama tanaman obat dalam bahasa Indonesia, posisi bagian tanaman yang
berkhasiat, dan deskripsi khasiat dari posisi tanaman obat yang berkhasiat.
Data Transformation
Data transformation merupakan proses transformasi tahap data menjadi
tahap analytical abstraction. Data transformation merupakan tahap pengolahan
data dengan melakukan ekstraksi data (Chi 1999). Pada tahap ini, dilakukan
proses pembersihan data dan praproses data agar diperoleh data yang sudah
memiliki informasi untuk dipetakan menjadi inverted index dari frasa khasiat.
Tahap pembersihan data meliputi penghapusan duplikasi data dan data yang tidak
lengkap. Atribut khas yang dibutuhkan pada penelitian ini ialah atribut yang
menyatakan nama tanaman obat dan khasiat dari tanaman obat tersebut, sehingga
data yang tidak memiliki nilai pada salah satu atau kedua atribut tersebut
dikatakan data yang tidak lengkap. Data yang digunakan dalam penelitian ini
merupakan data dalam bentuk teks yang memberikan deskripsi mengenai tanaman
obat dan khasiat yang dimiliki tanaman obat tersebut, sehingga harus dilakukan
praproses data terlebih dahulu.
Praproses data untuk data dalam bentuk teks meliputi tahapan-tahapan
dalam pembuatan inverted index. Menurut Manning et al. (2009), pembuatan
inverted index meliputi empat tahap utama, yakni pengumpulan data yang akan
4
diindeks, tahap tokenisasi, tahap memodifikasi token serta pengindeksan kata.
Alur tahapan praproses data yang dilakukan pada penelitian ini dapat dilihat pada
Gambar 2. Di samping itu, alur tahapan ketiga pada praproses data, yaitu
penghapusan stopwords dan koreksi kesalahan pengetikan pada atribut khasiat
ditunjukkan pada Gambar 3. Data transformation dilakukan dengan
menggunakan bahasa pemrograman PHP, Database Management System (DBMS)
MySQL, perangkat lunak Notepad++ dan Microsoft Excel 2010.
Pengumpulan Data yang Akan Diindeks
Tahap pembuatan inverted index yang pertama ini meliputi tokenisasi
kalimat pada atribut khasiat, tokenisasi kata bagian tanaman pada atribut khasiat,
pembuatan thesaurus atribut posisi bagian tanaman, penerapan thesaurus pada
atribut posisi bagian tanaman dan penghapusan records tanaman yang bagian
tanamannya tidak terdapat dalam thesaurus.
Tokenisasi Frasa Khasiat
Tahap selanjutnya ialah tokenisasi frasa khasiat. Tahap ini meliputi
tokenisasi khasiat per frasa dan pembuatan posting list frasa khasiat.
Modifikasi Token
Tahap berikutnya ialah modifikasi token, yaitu pembuatan stoplist,
penghapusan stopwords pada frasa khasiat dan penanganan kesalahan pengetikan
pada frasa khasiat. Pembuatan stoplist bertujuan mendaftarkan kata-kata pada
frasa khasiat yang dianggap tidak akan mengubah arti jika kata-kata tersebut
dihilangkan. Selain itu, pada data berupa teks sering kali terjadi kesalahan
pengetikan yang dapat mengubah makna dari kata tersebut, sehingga perlu
dilakukan penanganan kesalahan pengetikan pada frasa khasiat.
Pembuatan stoplist meliputi proses tokenisasi khasiat per kata, indexing
khasiat per kata, perhitungan frekuensi kata khasiat di seluruh records,
pemeriksaan kata khasiat terdapat atau tidak di dalam kamus kedokteran Medline
dan pencarian kata yang mengandung arti obat dan penyakit. Hasil dari proses ini
akan disimpan pada fail dengan format TXT.
Di samping itu, penanganan kesalahan pengetikan meliputi penghapusan
stopwords dari frasa khasiat, perhitungan frekuensi tanaman obat di setiap frasa
khasiat, pencarian frasa yang mengalami kesalahan pengetikan menggunakan
algoritme jarak Levenshtein dan dilakukan koreksi terhadap frasa khasiat yang
mengalami kesalahan pengetikan.
Indexing Frasa Khasiat dan Tanaman Obat
Pada proses pembuatan inverted index yang terakhir ialah dilakukan
indexing frasa khasiat dan tanaman obat. Pada proses indexing frasa khasiat
dilakukan pembuatan tabel yang berisi frasa khasiat beserta daftar tanaman obat
yang memiliki frasa khasiat tersebut. Selanjutnya, pada proses indexing tanaman
obat dilakukan pembuatan tabel yang berisi tanaman obat dan daftar khasiatnya.
5
Pengumpulan data
yang akan diindeks
Tokenisasi kalimat pada atribut khasiat
Tokenisasi kata bagian tanaman pada
atribut khasiat
Pembuatan thesaurus atribut posisi
bagian tanaman
Tidak terdapat
dalam thesaurus
Penghapusan records
tanaman obat
Penerapan
thesaurus pada atribut
posisi bagian tanaman
Terdapat
dalam thesaurus
Records tanaman
obat dipertahankan
Tokenisasi
frasa khasiat
Tokenisasi khasiat per frasa
Frasa khasiat
Pembuatan posting list frasa khasiat
Posting list frasa khasiat
Modifikasi token
Index frasa khasiat
tanaman obat
Frasa khasiat tanpa stopwords dan
kesalahan pengetikan
Indexing frasa khasiat
tanaman obat
Gambar 2 Alur tahapan praproses data
6
Posting list frasa khasiat
Penghapusan stopwords dari frasa
khasiat
Tokenisasi khasiat per kata
Khasiat per kata
Frasa khasiat tanpa stopwords
Pembuatan posting list
indexing khasiat per kata
Perhitungan frekuensi tanaman obat
di setiap frasa khasiat
Perhitungan frekuensi kata di
seluruh records tanaman obat
Kata dengan frekuensi tertinggi
dan kata dengan jumlah
huruf < 3 sebagai stopwords
Pemeriksaan kata terdapat atau
tidak di dalam kamus Medline
Kata yang tidak terdapat dalam
kamus Medline sebagai
stopwords
Frasa khasiat dan frekuensi
tanaman obat yang memiliki
frasa khasiat tersebut
Perhitungan jarak Levenshtein dari setiap
pasang frasa khasiat
Tidak
Jarak
Levenshtein = 1
Ya
Membandingkan frekuensi khasiat
dari pasangan frasa khasiat
tersebut
Pencarian kata yang mengandung
arti obat (drug, medicine) dan
penyakit (illness)
Koreksi pengetikan frasa khasiat
stopwords.TXT
Pembuatan stoplist
Frasa khasiat tanpa
stopwords dan
kesalahan pengetikan
Penanganan kesalahan pengetikan
Gambar 3 Alur tahap modifikasi token pada praproses data
7
Analytical Abstraction
Analytical transformation merupakan hasil dari pengolahan data yang
belum dipetakan namun sudah memiliki informasi yang diekstraksi dari data
mentah (Chi 1999). Pada tahap ini, diperoleh data hasil pembersihan data dan
praproses data dengan atribut yang sama dengan tahap value, namun memiliki
atribut tambahan berupa id khasiat. Data pada tahap ini merupakan inverted index
dari frasa khasiat yang terdapat di dalam database.
Visualization Transformation
Tahap ini merupakan tahap pengolahan visualisasi informasi yang
mengambil nilai dari analytical abstraction dan mengambil beberapa hal utama
yang nantinya akan menjadi bentuk visualization abstraction. Pada tahap ini
dilakukan perancangan visualisasi dan pengolahan data yang siap dipetakan. Alur
tahapan pada visualization transformation dapat dilihat pada Gambar 4.
Visualization abstraction dilakukan dengan menggunakan bahasa pemrograman
PHP, DBMS MySQL dan perangkat lunak Notepad++.
Perancangan Visualisasi
Perancangan visualisasi dilakukan untuk membuat visualisasi yang akan
digunakan untuk merepresentasikan keterhubungan tanaman obat dengan
khasiatnya. Visualisasi yang dibentuk harus dapat merepresentasikan
keterhubungan tanaman obat dengan khasiatnya, posisi tanaman obat yang
berkhasiat dan khasiat yang paling banyak dimiliki oleh tanaman obat Indonesia.
Pengolahan Data yang Akan Dipetakan
Pada proses pengolahan data yang akan dipetakan ini, dilakukan pencarian
keterhubungan tanaman obat dengan khasiatnya dan perhitungan bobot nodes
untuk tanaman obat dan khasiatnya. Hal ini dilakukan agar diperoleh representasi
visual seperti yang telah dirancang pada tahap perancangan visualisasi.
Visualization Abstraction
Visualization abstraction merupakan tahap di mana telah diperoleh
informasi yang siap dipetakan dan dapat divisualisasikan di layar menggunakan
minimal satu teknik visualisasi (Chi 1999). Pada tahap ini, dihasilkan tabel nodes
yang mengandung informasi frasa khasiat yang terdapat di dalam database dan
tabel edges yang mengandung informasi keterhubungan tanaman obat dengan
khasiatnya.
8
Inverted index
frasa khasiat
Perancangan visualisasi
Nodes
Edges
Pembuatan tabel nodes yang berisi
frasa khasiat dan tanaman obat
Frasa khasiat dan
tanaman obat
Pencarian keterhubungan
tanaman obat dengan khasiatnya
Keterhubungan
tanaman obat dengan khasiatnya
Perhitungan bobot nodes frasa
khasiat dan tanaman obat
Bobot nodes
Gambar 4 Alur tahapan visualization transformation
Visual Mapping Transformation
Tahap ini merupakan tahap pembuatan graf dengan menggunakan perangkat
lunak Gephi versi 0.8.2, open source software untuk mengeksplorasi dan
memanipulasi networks (Bastian et al. 2009). Visual mapping transformation
merupakan tahap pengambilan seluruh informasi dan menampilkannya dalam
bentuk tampilan grafis kepada pengguna (Chi 1999). Pada tahap ini diterapkan
algoritme layout Fruchterman Reingold untuk menentukan koordinat dari setiap
nodes di dalam graf agar dapat lebih mudah dipahami oleh pengguna. Kemudian,
diterapkan pewarnaan nodes berdasarkan posisi tanaman dan khasiat, serta
penempatan label pada graf visualisasi yang terbentuk. Alur tahapan visual
mapping transformation dapat dilihat pada Gambar 5.
9
Tabel nodes dan edges
Graf
Visualisasi graf dengan
random layout
Graf dengan
random layout
Layout
Algoritme layout Fruchterman
Reingold
Partition
Pewarnaan graf
Graf dengan layout baru
Graf dengan warna
bervariasi per kluster
Ranking
Pembobotan nodes
Algoritme Noverlap untuk
mengatasi nodes tumpang tindih
Graf dengan ukuran
nodes yang bervariasi
Graf dengan layout yang
renggang (tidak ada nodes
tumpang tindih)
Label
Pengaturan ukuran dan jenis
font untuk label di nodes
Graf akhir
Gambar 5 Alur tahapan pada visual mapping transformation
Graf
Tahap ini merupakan tahap memetakan informasi yang telah diperoleh dari
tahap sebelumnya ke dalam bentuk graf visualisasi. Graf yang terbentuk pada
10
tahap ini merupakan graf dengan posisi yang tidak beraturan atau random layout.
Oleh sebab itu, graf yang terbentuk akan sulit dibaca oleh pengguna.
Layout
Tahap selanjutnya merupakan penerapan algoritme layout untuk
menentukan posisi nodes dan edges. Algoritme layout yang diterapkan pada
penelitian ini merupakan algoritme Fruchterman Reingold.
Partition
Selanjutnya ialah tahap pencarian struktur komunitas di dalam graf atau
pengklusteran nodes di dalam graf. Pengklusteran nodes ditunjukkan dengan
menggunakan pewarnaan nodes berdasarkan nodes yang menunjukkan posisi
tanaman dan khasiat, sehingga pengguna dapat melihat dengan lebih jelas kluster
yang terbentuk.
Ranking
Tahap berikutnya ialah pemberian ranking atau pembobotan pada graf.
Pembobotan pada nodes dilakukan berdasarkan jumlah keterhubungan yang
dimiliki oleh setiap nodes. Oleh sebab itu, pembobotan nodes yang menunjukkan
posisi bagian tanaman didasarkan pada jumlah khasiat yang dimiliki oleh tanaman
obat tersebut, sedangkan nodes yang menunjukkan khasiat didasarkan pada
jumlah tanaman obat yang memiliki khasiat tersebut. Pembobotan ini akan
menyebabkan terjadinya nodes yang tumpang tindih sehingga diterapkan
algoritme Noverlap untuk merenggangkan nodes.
Label
Tahap terakhir pada visual mapping transformation ialah pemberian label
pada nodes. Pada tahap ini dilakukan pengaturan ukuran dan jenis font yang
dipasang di setiap nodes agar pengguna dapat lebih mudah dalam memahami graf
yang terbentuk dan melakukan penelusuran.
View
View merupakan produk akhir dari tahap visual mapping, di mana pengguna
dapat melihat dan menafsirkan gambar yang ditampilkan oleh sistem (Chi 1999).
Pada tahap ini, diterapkan beberapa fitur interaksi terhadap visualisasi yang
ditampilkan oleh sistem, antara lain memperbesar atau memperkecil ukuran
gambar visualisasi yang ditampilkan, menghilangkan nodes dan edges lain yang
tidak berhubungan langsung dengan informasi yang ingin didapatkan oleh
pengguna, dan menentukan nodes yang menjadi fokus penelusuran informasi.
View merupakan tahap mengimplementasikan fail graf dalam format GEXF
(graph exchange XML format) ke dalam aplikasi berbasis web menggunakan
Javascript, HTML, CSS, perangkat lunak Notepad++, XAMPP dan Google
Chrome browser.
11
Lingkungan Pengembangan Sistem
Spesifikasi beberapa perangkat lunak dan perangkat keras yang digunakan
dalam penelitian ini ialah sebagai berikut:
1 Perangkat lunak:
Sistem Operasi Microdoft Windows 8 Professional 32-bit,
Database Management System (DBMS) MySQL untuk penyimpanan
database tanaman obat dan khasiatnya,
XAMPP untuk mengkonfigurasikan Apache, MySQL dan bahasa
pemrograman PHP yang digunakan sampai dengan tahap visualization
abstraction,
Gephi sebagai tool pada tahap visual mapping transformation,
Google Chrome Browser untuk menampilkan halaman web yang
dihasilkan dalam penelitian ini,
Notepad++ digunakan sebagai Integrated Development Environment
(IDE),
Microsoft Excel 2010 digunakan untuk melihat hasil praproses data.
2 Perangkat Keras:
Processor Intel Core 2 Duo,
Memory 4 GB RAM,
VGA ATI Radeon HD 4300 Series.
HASIL DAN PEMBAHASAN
Value
Data yang digunakan pada penelitian ini diperoleh dari PUSAT STUDI
BIOFARMAKA IPB yang berisi 1133 records jenis tanaman obat yang
dimanfaatkan oleh industri obat tradisional di Indonesia. Contoh data dapat dilihat
pada Tabel 1. Data yang diperoleh menggunakan merupakan teks dalam bahasa
Tabel 1 Contoh data yang diperoleh
id_herb
herb_
name
herb_
name
_ id
herb_
name
_en
S0746 Pandanus Buah
Red
conoideus Merah Pandan
Fructus
S0001 Abelmoschus Waron muskmoschatus
mallo
Folium
w,
musk
okra
Science_
name
position
Pandanus Fruit
conoideus
Lamk
Abelmos- Leaf
chus
moschatus
Medik
effect
Reference
-
Leaf :
Center
cough
of
medicine. research
Seed :
cosmetic
raw
materials.
12
Inggris, sehingga penelitian ini menggunakan bahasa Inggris dalam proses
pengolahan data dan pengembangan sistem. Atribut dari data yang diperoleh ialah
sebagai berikut :
Id tanaman obat dengan nama field id_herb
Nama ilmiah dari tanaman obat ditambah satu kata yang menyatakan nama
ilmiah dari bagian tanaman yang berkhasiat dengan nama field herb_name
Nama tanaman obat dalam bahasa Indonesia dengan nama field herb_name_id
Nama tanaman obat dalam bahasa Inggris dengan nama field herb_name_en
Nama ilmiah tanaman obat dengan nama field science_name
Bagian tanaman obat yang memiliki khasiat dengan nama field position
Daftar khasiat yang dimiliki tanaman obat dengan nama field effect
Sumber informasi mengenai tanaman obat tersebut dengan nama field
reference.
Terdapat kesalahan-kesalahan dari data yang diperoleh, antara lain terdapat
tanaman obat yang tidak disebutkan khasiatnya atau atribut effect bernilai “-“,
sehingga dilakukan pembersihan data berupa penghapusan records tanaman obat.
Dari 1133 records tanaman obat terdapat 42 records (3.71%) yang tidak
disebutkan khasiatnya. Pembersihan data menghasilkan data yang lengkap tanpa
terdapat atribut effect yang bernilai “-“.
Selain itu, terdapat atribut effect yang masih berisi daftar khasiat dari setiap
bagian tanaman yang mengandung khasiat, sedangkan id dari tanaman obat pada
setiap record sudah berdasarkan pada atribut herb_name. Oleh sebab itu, perlu
dilakukan proses penghapusan pada sebagian isi dari atribut effect yang dianggap
tidak sesuai dengan nilai atribut position pada records tersebut. Proses tersebut
dilakukan pada tahap data transformation.
Data Transformation
Pengumpulan Data yang Akan Diindeks
Pengumpulan data yang akan diindeks merupakan tahap yang dilakukan
pada atribut effect dari 1091 records tanaman obat hasil pembersihan data. Tahap
ini diawali dengan tokenisasi kalimat pada atribut effect. Nilai atribut effect yang
terdapat dalam data mentah masih berupa daftar bagian tanaman dan khasiat yang
dimiliki tanaman obat per bagian. Daftar antarbagian tanaman dan khasiatnya
tersebut dipisahkan dengan tanda “.”, sehingga dilakukan tokenisasi kalimat pada
atribut effect. Setiap kali bertemu dengan tanda “.”, maka akan terbentuk record
Tabel 2 Contoh data hasil tokenisasi kalimat pada atribut effect
id_herb
herb_name
position
herb_name_en
effect
S0001
Abelmoschus
mochatus
Folium
Leaf
musk-mallow,
musk okra
Leaf : cough
medicine.
S0001
Abelmoschus
mochatus
Folium
Leaf
musk-mallow,
musk okra
Seed : cosmetic raw
materials.
13
Tabel 3 Contoh data hasil tokenisasi bagian tanaman pada atribut effect
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S0001
Abelmoschus
mochatus
Folium
Abelmoschus
mochatus
Folium
Leaf
muskmallow,
musk okra
muskmallow,
musk okra
Leaf
cough
medicine
Seed
cosmetic raw
materials
S0001
Leaf
baru yang memisahkan kalimat pada atribut effect. Setelah dilakukan pemisahan
kalimat pada atribut effect, data yang dihasilkan berjumlah 1356 records. Contoh
data hasil proses tokenisasi kalimat pada atribut effect dapat dilihat pada Tabel 2.
Selanjutnya, dilakukan tokenisasi kata bagian tanaman pada atribut khasiat.
Pemisahan bagian tanaman dengan khasiatnya dilakukan dengan menggunakan
token berupa tanda “:”. Hal ini dilakukan sebab setiap records menunjukkan
bahwa atribut effect terdiri atas bagian tanaman yang berkhasiat kemudian
dilanjutkan tanda “:” sebagai pemisah dengan khasiat dari bagian tanaman obat
tersebut. Kata-kata yang berada sebelum titik dua akan disimpan pada kolom
terpisah dengan khasiat, yakni pada kolom part_of_plant, sedangkan kata-kata
yang berada setelah tanda “:” akan tetap berada pada kolom effect. Contoh data
hasil dari proses tokenisasi kata bagian tanaman pada atribut effect dapat dilihat
pada Tabel 3.
Kemudian, dilakukan tahap pencocokan field part_of_plant dengan position.
Jika nilai kedua field tersebut sama, record tanaman obat tersebut dipertahankan.
Di samping itu, jika nilai kedua field tersebut berbeda, record tanaman obat
tersebut akan dihapus. Berdasarkan data hasil proses tersebut, atribut position
terdiri atas 17 nilai yang berbeda, namun atribut part_of_plant terdiri atas 76 nilai
yang berbeda. Oleh sebab itu, dilakukan pembuatan thesaurus untuk mencari nilai
atribut part_of_plant yang memiliki makna sama dengan nilai atribut position
pada record yang sama. Hal ini dilakukan sebab terdapat kemungkinan bahwa
kata yang terdapat pada nilai atribut part_of_plant merupakan persamaan kata dari
nilai position. Thesaurus yang dihasilkan pada proses tersebut ditunjukkan pada
Lampiran 1.
Proses berikutnya ialah penerapan thesaurus pada pencocokan nilai atribut
part_of_plant dengan atribut position. Jika kata pada atribut part_of_plant
terdapat dalam thesaurus nilai atribut position tersebut, record tersebut akan
dipertahankan. Namun, jika tidak terdapat dalam thesaurus, dilakukan
penghapusan terhadap record tanaman obat tersebut. Contoh data sebelum proses
pencocokan kedua field dengan thesaurus dapat dilihat pada Tabel 4.
Pada Tabel 4, record pertama menunjukkan atribut position bernilai “Leaf”,
sedangkan part_of_plant bernilai “Leaf” juga. Oleh sebab itu, record pertama
dipertahankan. Di samping itu, record kedua menunjukkan atribut position
bernilai “Leaf”, sedangkan atribut part_of_plant bernilai “Seed”. Kata “Seed”
tidak terdapat dalam thesaurus kata “Leaf”, sehingga dilakukan penghapusan
terhadap record tersebut. Jumlah data yang diperoleh dari proses pencocokan
14
Tabel 4 Contoh data sebelum pencocokan field part_of_plant dengan thesaurus
dari field position
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S0001
Abelmoschus
mochatus
Folium
Leaf
muskmallow,
musk okra
Leaf
cough
medicine
S0001
Abelmoschus
mochatus
Folium
Leaf
muskmallow,
musk okra
Seed
cosmetic raw
materials
S00974
Smilax
zeylanica
Tubera
Tuber
kepuh
Roots
Rheumatic
drugs,
gonorrhea,
dysentery
Tabel 5 Contoh data setelah pencocokan field part_of_plant dengan thesaurus
dari field position
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S0001
Abelmoschus
mochatus
Folium
Leaf
muskmallow,
musk okra
Leaf
cough
medicine
S00974
Smilax
zeylanica
Tubera
Tuber
kepuh
Roots
Rheumatic
drugs,
gonorrhea,
dysentery
kedua field dengan thesaurus ini ialah 949 records tanaman obat. Contoh data
hasil proses tersebut dapat dilihat pada Tabel 5.
Data hasil proses tersebut merupakan data yang akan diindeks pada proses
pembuatan inverted index berikutnya. Khasiat yang terdapat dalam database
merupakan gabungan kata yang mengandung arti atau biasa disebut frasa,
sehingga tokenisasi akan dilakukan dalam bentuk frasa khasiat.
Tokenisasi Frasa Khasiat
Tahap pembuatan inverted index yang kedua ialah tokenisasi khasiat per
frasa. Token yang digunakan pada tahap ini ialah “,;/\(){}[]”. Tokenisasi frasa
khasiat ini menghasilkan 3923 records tanaman obat. Contoh data sebelum
tokenisasi frasa khasiat ini dapat dilihat pada Tabel 6, sedangkan contoh data
setelah tokenisasi frasa khasiat dilakukan dapat dilihat pada Tabel 7.
15
Tabel 6 Contoh data sebelum tokenisasi frasa khasiat
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S00974
Smilax
zeylanica
Tubera
Tuber
kepuh
Rheumatic
drugs,
gonorrhea,
dysentery
Roots
Tabel 7 Contoh data setelah tokenisasi frasa khasiat
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S00974
Smilax
zeylanica
Tubera
Smilax
zeylanica
Tubera
Smilax
zeylanica
Tubera
Tuber
kepuh
Roots
Rheumatic
drugs
Tuber
kepuh
Roots
gonorrhea
Tuber
kepuh
Roots
dysentery
S00974
S00974
Tabel 8 Contoh data hasil pembuatan posting list frasa khasiat
id_effect
K0001
K0001
K0001
K0002
K0002
effect
rheumatic drugs
rheumatic drugs
rheumatic drugs
dysentery
dysentery
id_herb
S00974
S00010
S00028
S00974
S00989
Tahap tokenisasi frasa khasiat ini kemudian dilanjutkan dengan pembuatan
posting list dari frasa khasiat. Pada tahap ini dilakukan penambahan atribut berupa
id khasiat untuk membuat frasa khasiat menjadi atribut yang unik. Tahap ini
menghasilkan data yang menunjukkan suatu frasa khasiat dan daftar tanaman obat
yang memiliki frasa khasiat tersebut.
Data yang dihasilkan dari pembuatan posting list frasa khasiat masih
berjumlah 3923 records tanaman obat, sebab tidak ada pengulangan frasa khasiat
yang sama di dalam suatu record tanaman obat. Contoh posting list yang
terbentuk dapat dilihat pada Tabel 8. Contoh data tersebut menunjukkan bahwa
frasa khasiat “rheumatic drugs” dimiliki oleh tanaman obat dengan id S00974,
S00010 dan S00028, sedangkan “dysentery” dimiliki oleh tanaman obat dengan id
S00974 dan S00989.
16
Modifikasi Token
Tahap modifikasi token terbagi ke dalam dua proses yaitu pembuatan
stoplist dan penghapusan stopwords pada atribut effect, serta penanganan
kesalahan pengetikan nilai pada atribut effect. Hal ini dilakukan untuk
meminimalkan kesalahan dalam pencarian keterhubungan antarkhasiat akibat
kesalahan pengetikan yang menimbulkan perbedaan makna khasiat.
Pembuatan stoplist
Pembuatan stoplist pada atribut effect dimulai dengan langkah tokenisasi
kata pada atribut effect dengan token berupa spasi (“ “), koma (“,”), titik koma
(“;”), titik dua (“:”), dan tanda kurung (“( )”). Tahap ini menghasilkan 9593 kata.
Kemudian, seluruh kata diubah ke dalam lower case untuk mempermudah
praproses data. Contoh data hasil tokenisasi kata di atribut effect ini dapat dilihat
pada Tabel 9. Kemudian, dilakukan indexing kata pada atribut effect dan
menghasilkan 1251 daftar kata berbeda yang berada di dalam atribut effect.
Contoh data hasil indexing ini dapat dilihat pada Tabel 10.
Selanjutnya, dilakukan perhitungan frekuensi kata di seluruh records dalam
database, sehingga dapat diketahui bahwa terdapat 5 kata dengan frekuensi
tertinggi yang merupakan kata konjungsi, antara lain and, of, the, in, dan with.
Kata-kata konjungsi tersebut merupakan kata yang dimasukkan ke dalam stoplist.
1
Tabel 9 Contoh data hasil tokenisasi kata di atribut effect
effect
rheumatic
drugs
rheumatic
drugs
rheumatic
drugs
dysentery
dysentery
id_herb
S00974
S00974
S00010
S00010
S00028
S00028
S00974
S00989
Tabel 10 Contoh data hasil indexing khasiat per kata
effect
rheumatic
drugs
dysentery
id_herb
S00974, S00010, S00028
S00974, S00010, S00028
S00974, S00989
Tabel 11 Contoh data hasil perhitungan frekuensi kata
effect
rheumatic
drugs
dysentery
id_herb
S00974, S00010, S00028
S00974, S00010, S00028
S00974, S00989
frekuensi
3
3
2
17
Kemudian, kata-kata yang memiliki jumlah huruf kurang dari 3 dimasukkan pula
ke dalam stoplist. Contoh data hasil perhitungan frekuensi kata ini dapat dilihat
pada Tabel 11.
Selain itu, dilakukan pemeriksaan hasil token kata dengan kamus
kedokteran Medline. Hal ini dilakukan sebab tidak ditemukan pola struktur bahasa
yang dapat menentukan hasil token tersebut benar merupakan istilah penyakit atau
bukan. Kata-kata yang tidak terdapat pada kamus Medline dianggap sebagai
stopwords dan dimasukan ke dalam stoplist.
Kemudian, kata-kata yang berarti obat seperti medicine dan drug serta katakata yang berarti penyakit seperti illness dan disease juga dimasukkan ke dalam
stoplist, sebab ada atau tidaknya kata-kata tersebut tidak mengurangi maksud dari
khasiat tanaman obat tersebut.
Oleh sebab itu, kata-kata yang masuk ke dalam stoplist terdiri atas kata
konjungsi (kata penghubung), kata dengan jumlah huruf maksimal tiga, kata yang
berarti obat (medicine, drug), kata yang berarti penyakit (illness, disease), dan
kata-kata yang tidak terdapat pada Medline dictionary (kamus kedokteran).
Kemudian, dihasilkan 358 kata yang dijadikan sebagai stopwords dan dimasukkan
ke dalam stoplist. Stoplist tersebut dibuat dalam fail dengan format TXT.
Penghapusan stopwords dalam frasa khasiat
Setelah tahap pembuatan stoplist selesai, dilakukan proses penghapusan
stopwords dari 3923 records frasa khasiat yang dihasilkan dari tahap tokenisasi
frasa khasiat. Contoh data sebelum proses penghapusan stopwords ditunjukkan
pada Tabel 12, sedangkan contoh data setelah proses penghapusan stopwords
ditunjukkan pada Tabel 13. Proses ini akan menghasilkan frasa khasiat tanpa
terdapat stopwords di dalamnya, namun menimbulkan nilai NULL pada atribut
effect atau data menjadi tidak lengkap. Oleh sebab itu, dilakukan penghapusan
2
Tabel 12 Contoh data sebelum penghapusan stopwords
id_effect
K0001
K0001
K0002
K0005
K0007
K0010
effect
rheumatic drugs
rheumatic drugs
dysentery
cough medicine
impairment of yin
AP
id_herb
S00974
S00010
S00974
S00001
S00898
S00888
Tabel 13 Proses penghapusan stopwords
id_effect
K0001
K0001
K0002
K0005
K0007
K0010
effect
rheumatic
rheumatic
dysentery
cough
-
id_herb
S00974
S00010
S00974
S00001
S00898
S00888
18
records terhadap 452 records (11.52 %) yang memiliki nilai NULL pada atribut
effect. Hasil dari tahap ini menghasilkan 3471 records dengan nilai atribut effect
hanya berupa satu frasa khasiat. Contoh data hasil penghapusan records tanaman
obat yang memiliki nilai NULL pada atribut effect dapat dilihat pada Tabel 14.
3 Penanganan kesalahan pengetikan
Kesalahan pengetikan pada pemasukan data dapat menyebabkan perbedaan
makna dari kata yang dituliskan, misalnya coughs dan cough. Kedua kata tersebut
dapat dianggap berbeda arti karena memiliki satu huruf yang berbeda pada
pengejaannya. Oleh sebab itu, perlu dilakukan praproses data yang dapat
menangani masalah kesalahan pengetikan tersebut menggunakan algoritme
Levenshtein, sehingga coughs dan cough dapat tetap dianggap memiliki makna
yang sama.
Data yang digunakan ialah posting list frasa khasiat tanpa stopwords
berjumlah 3471 records. Kemudian dilakukan klusterisasi berdasarkan frasa
khasiat. Proses klusterisasi ini menghasilkan 1185 records khasiat, kemudian
dilakukan perhitungan jumlah tanaman obat yang memiliki khasiat tersebut.
Perhitungan jumlah tanaman obat yang memiliki suatu khasiat dianggap sebagai
frekuensi khasiat di dalam database. Contoh data sebelum penangan kesalahan
pengetikan dan pengklusteran khasiat dapat dilihat pada Tabel 15, sedangkan
contoh data hasil pengklusteran frasa khasiat dan perhitungan frekuensi tanaman
obat di setiap frasa khasiat dapat dilihat pada Tabel 16.
Selanjutnya, dilakukan pembentukan pasangan dari seluruh khasiat yang ada
dan diterapkan algoritme jarak Levenshtein untuk mendapatkan nilai kesalahan
pengejaan khasiat. Algoritme jarak Levenshtein mencocokkan setiap pasangan
khasiat yang terbentuk dan menghitung berapa banyak karakter yang berbeda dari
pengetikan pasangan khasiat tersebut. Pada penelitian ini diberikan threshold
Tabel 14 Contoh data hasil penghapusan records yang tidak lengkap
id_effect
K0001
K0001
K0002
K0005
effect
rheumatic
rheumatic
dysentery
cough
id_herb
S00974
S00010
S00974
S00001
Tabel 15 Contoh data sebelum penanganan kesalahan pengetikan
id_effect
K0005
K0008
K0008
K0005
K0005
K0005
K0090
K0045
effect
cough
lactagoga
lactagoga
cough
cough
cough
coughs
laktagoga
id_herb
S00001
S00198
S00509
S00676
S00345
S00021
S00852
S00567
19
jarak minimal untuk mengoreksi khasiat yang dianggap memiliki kesalahan
pengetikan. Hal tersebut diperlukan untuk meminimalisir kesalahan pengetikan.
Threshold yang digunakan pada penelitian ini ialah 1, sebab kesalahan pengetikan
diasumsikan hanya terjadi pada satu karakter. Selain itu, penggunaan threshold
lebih dari 1 ternyata menyebabkan perubahan makna dari khasiat, misalnya
penggunaan threshold 2 mendeteksi fever sebagai kesalahan pengetikan dari liver.
Oleh sebab itu, threshold lebih dari 1 tidak diterapkan dalam penelitian ini.
Contoh data hasil penerapan algoritme Levenshtein dapat dilihat pada Tabel 17.
Selanjutnya, dilakukan proses membandingkan frekuensi khasiat dari setiap
pasangan frasa khasiat untuk pasangan khasiat yang memiliki jarak Levenshtein
bernilai 1 berjumlah 25 records. Proses ini dimaksudkan untuk melakukan koreksi
pada kesalahan pengetikan yang terjadi. Frasa khasiat yang memiliki nilai
frekuensi kecil diganti dengan frasa khasiat yang memiliki nilai frekuensi lebih
tinggi. Hal ini dilakukan dengan asumsi bahwa frasa khasiat dengan frekuensi
kecil dianggap sebagai khasiat yang mengalami kesalahan pengetikan, sedangkan
frasa khasiat dengan frekuensi yang lebih besar dianggap sebagai frasa khasiat
yang benar dalam pengetikannya. Hasil dari proses tersebut merupakan 3471
records frasa khasiat yang tidak mengalami kesalahan pengetikan. Contoh data
hasil penanganan kesalahan pengetikan dapat dilihat pada Tabel 18.
Tabel 16 Contoh data hasil pengklusteran frasa khasiat dan perhitungan frekuensi
tanaman obat di setiap frasa khasiat
id_effect
K0005
effect
cough
K0008
K0090
K0045
lactagoga
coughs
laktagoga
id_herb
S00001,
S00676,
S00345, S00021
S00198, S00509
S00852
S00567
frekuensi
4
2
1
1
Tabel 17 Contoh data hasil penerapan algoritme Levenshtein
id_effect Effect_2
_1
K0005 cough
frekuensi_
1
4
id_effect
_2
K0090
K0008 lactagoga
2
K0045
effect_2 Frekuensi
_2
coughs
2
laktagoga
Levenshtein
1
1
Tabel 18 Contoh data setelah penanganan kesalahan pengetikan
id_effect
K0005
K0008
K0008
K0005
K0005
K0005
K0006
K0008
effect
cough
lactagoga
lactagoga
cough
cough
cough
cough
lactagoga
id_herb
S00001
S00198
S00509
S00676
S00345
S00021
S00852
S00567
1
20
Indexing Frasa Khasiat dan Indexing Tanaman Obat
Tahap pembuatan inverted index yang terakhir ialah indexing frasa khasiat
dan tanaman obat. Indexing frasa khasiat dan tanaman obat dilakukan terhadap
3471 records hasil tahap modifikasi token. Pada tahap indexing frasa khasiat, id
tanaman obat yang memiliki frasa khasiat yang sama akan ditempatkan di satu
record. Hasil dari tahap indexing ini merupakan inverted index yang berisi frasa
khasiat beserta daftar id tanaman obat yang memiliki frasa khasiat tersebut. Di
samping itu, pada tahap indexing tanaman obat, id khasiat yang dimiliki oleh satu
id tanaman obat yang sama akan ditempatkan di satu record berdasarkan id
tanaman obatnya. Hasil dari tahap indexing ini merupakan inverted index yang
berisi id tanaman obat beserta daftar id khasiat yang dimiliki oleh tanaman obat
tersebut.
Analytical Abstraction
Pada tahap ini telah diperoleh hasil dari data transformation, yaitu data
yang telah mengalami pembersihan dan praproses data. Data yang dihasilkan dari
proses tersebut berupa inverted index dari frasa khasiat dengan asumsi tanpa
stopwords dan kesalahan pengetikan.
Data yang dihasilkan dari proses tersebut merupakan inverted index dari
frasa khasiat berjumlah 1160 records dan inverted index dari tanaman obat
berjumlah 891 records. Contoh data sebelum pembuatan inverted index dapat
dilihat pada Tabel 19. Di samping itu, contoh data hasil indexing frasa khasiat
dapat dilihat pada Tabel 20 dan contoh data hasil indexing tanaman obat dapat
dilihat pada Tabel 21. Contoh data pada Tabel 20 tersebut menyatakan bahwa
frasa khasiat cough terdapat pada id tanaman obat S00001, S00676, S00345,
S00021, S00567 dan S00852. Selain itu, frasa khasiat lactagoga terdapat pada id
tanaman S00198, S00509 dan S00567. Contoh data pada Tabel 21 tersebut
menyatakan bahwa id tanaman obat S00567 memiliki khasiat cough, lactagoga
dan diarrhea.
Tabel 19 Contoh data sebelum indexing
id_effect
K0005
K0008
K0008
K0005
K0005
K0005
K0005
K0008
K0005
K0020
effect
cough
lactagoga
lactagoga
cough
cough
cough
cough
lactagoga
cough
diarrhea
id_herb
S00001
S00198
S00509
S00676
S00345
S00021
S00852
S00567
S00567
S00567
21
Tabel 20 Contoh data hasil indexing frasa khasiat
Id_effect
K0005
K0008
K0020
effect
cough
lactagoga
diarrhea
Id_herb
S00001, S00676, S00345,
S00021, S00852
S00198, S00509, S00567
S00567
Tabel 21 Contoh data hasil indexing frasa tanaman obat
Id_herb
S00001
S00198
S00509
S00676
S00345
S00021
S00852
S00567
Id_effect
K0005
K0008
K0008
K0005
K0005
K0005
K0005
K0008, K0005, K0020
effect
cough
lactagoga
lactagoga
cough
cough
cough
cough
lactagoga, cough, diarrhea
Visualization Transformation
Pada tahap ini dilakukan proses perancangan visualisasi untuk menentukan
hasil pengolahan data yang dibutuhkan untuk pembuatan aplikasi visualisasi.
Selain itu, dilakukan pencarian keterhubungan antartanaman obat dengan
khasiatnya.
Perancangan Visualisasi
Perancangan visualisasi dibagi menjadi dua tahap, yaitu pemilihan bentuk
visual dasar dan perbaikan bentuk visual. Graf sering kali digunakan untuk
mewakili data yang memiliki keterhubungan (Keim 2002). Oleh sebab itu,
penelitian ini mencoba menampilkan keterhubungan tanaman obat dengan
khasiatnya melalui representasi berupa graf. Sebuah graf terdiri atas sekumpulan
objek, yang disebut nodes, dan keterhubungan antara objek-objeknya disebut
edges (Keim 2002). Khasiat dan tanaman obat pada penelitian ini
direpresentasikan dengan nodes dan keterhubungan antartanaman obat dengan
khasiatnya direpresentasikan dengan edges (garis yang menghubungkan dua
nodes). Bentuk visual dasar dari keterhubungan tanaman obat dengan khasiatnya
ditunjukkan pada Gambar 6.
Tahap berikutnya pada perancangan visual merupakan perbaikan bentuk
visual dasar (Gambar 7). Perbaikan bentuk pada bentuk visual dasar tersebut,
yaitu:
1 ukuran node khasiat merepresentasikan bobot khasiat pada node tersebut.
Semakin besar ukuran node dibanding nodes yang lain maka semakin besar
bobot khasiat tersebut. Bobot khasiat ditentukan dengan banyaknya jumlah
edges yang dimiliki oleh suatu node. Hal tersebut berarti semakin banyak
keterhubungan node tersebut dengan nodes tanaman obat.
22
Gambar 6 Bentuk visual dasar
Gambar 7 Perbaikan bentuk visual dasar
2
3
ukuran node tanaman obat merepresentasikan bobot tanaman obat pada node
tersebut. Bobot tanaman obat merepresentasikan jumlah khasiat yang dimiliki
oleh suatu tanaman obat. Semakin besar ukuran suatu node dibandingkan
dengan nodes yang lain, maka semakin banyak khasiat yang dimiliki oleh
tanaman obat tersebut.
pemilihan warna untuk nodes berdasarkan pengklusteran posisi tanaman yang
berkhasiat dan node yang menunjukkan khasiat.
Pengolahan Data yang Akan Dipetakan
Pada tahap ini dilakukan pengolahan data untuk data yang akan dipetakan
pada proses pembuatan visual mapping transformation. Data yang digunakan
merupakan hasil indexing dari frasa khasiat dan hasil indexing dari tanaman obat.
Pada pembuatan tabel nodes, frasa khasiat dan tanaman obat hasil indexing
tersebut akan dimasukkan ke dalam tabel nodes untuk direpresentasikan sebagai
nodes.
23
Nodes pada perancangan visualisasi merepresentasikan frasa khasiat dan
tanaman obat yang te
KHASIATNYA MENGGUNAKAN ALGORITME
FRUCHTERMAN-REINGOLD
NADYA ELSANOVIANY PUTRI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Visualisasi
Keterhubungan Tanaman Obat dengan Khasiatnya Menggunakan Algoritme
Fruchterman-Reingold ialah benar karya saya dengan arahan dari komisi
pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi
mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan
maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan
dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, Juli 2013
Nadya Elsanoviany Putri
NIM G64090009
ABSTRAK
NADYA ELSANOVIANY PUTRI. Visualisasi Keterhubungan Tanaman Obat
dengan Khasiatnya Menggunakan Algoritme Fruchterman-Reingold. Dibimbing
oleh FIRMAN ARDIANSYAH.
Suatu tanaman obat dapat memiliki berbagai macam khasiat dan satu khasiat
dapat dimiliki oleh lebih dari satu tanaman obat. Hal ini menunjukkan terdapat
pola keterhubungan antara tanaman obat dengan khasiatnya. Data tanaman obat
beserta khasiat merupakan data dalam bentuk teks, sehingga akan memakan waktu
lebih banyak untuk memahami dan menganalisis keseluruhan makna dari teks
tersebut. Oleh sebab itu, pendekatan visualisasi informasi digunakan untuk
menyelidiki lebih lanjut mengenai keterhubungan tersebut. Penelitian ini
menggunakan visualisasi dalam bentuk graf yang sering kali digunakan untuk
mewakili data keterhubungan. Tanaman obat dan khasiat dari tanaman obat
direpresentasikan dengan nodes yang dibedakan dengan warna dan keterhubungan
antartanaman obat dengan khasiatnya direpresentasikan dengan edges. Algoritme
yang diterapkan merupakan algoritme Fruchterman-Reingold. Algoritme tersebut
menghasilkan graf yang dapat memodelkan keterhubungan antara tanaman obat
dengan khasiatnya. Graf tersebut diimplementasikan dalam aplikasi berbasis web
untuk membantu pengguna mengeksplorasi data yang terdapat pada graf
keterhubungan tersebut dan menemukan pengetahuan.
Kata Kunci: graf keterhubungan, khasiat, tanaman obat, visualisasi.
ABSTRACT
NADYA ELSANOVIANY PUTRI. Visualization of Herb Plants-Efficacies
Relationships using Fruchterman-Reingold Algorithm. Supervised by FIRMAN
ARDIANSYAH.
Herb plants may have more than one efficacies and a certain efficacy may
belong to more than one herb plants. It shows a relationship among herb plants
and their efficacies. Data of herb plants and their efficacies are represented in the
text form, so it will take a lot of time to understand and analyse the meaning of
text data. This research applies graph visualization in order to investigate the
relationships of herb plants and their efficacies. Herb plants and efficacies are
represented in nodes which are represented in different colors and the
relationships between efficacies and herb plants are represented in edges. It is
determined by the weight of an edge connecting two nodes of efficacies. This
research applies Fruchertman-Reingold algorithm. This algorithm produced a
graph which can visualize the relationship among herb plants and their efficacies.
The graph was implemented in a web based application to help users exploring the
data on the graph and to uncover patterns.
Keywords: efficacies, herb plants, relationship graph, visualization.
VISUALISASI KETERHUBUNGAN TANAMAN OBAT DENGAN
KHASIATNYA MENGGUNAKAN ALGORITME
FRUCHTERMAN-REINGOLD
NADYA ELSANOVIANY PUTRI
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
2013
Penguji :
1 Dr. Yani Nurhadryani, SSi,MT
2 Rudi Heryanto, SSi, MSc
Judul Skripsi: Visualisasi Keterhubungan Tanaman Obat dengan Khasiatnya
Menggunakan Algoritme Fruchterman-Reingold
: Nadya Elsanoviany Putri
Nama
: 064090009
NIM
Disetujui oleh
ᄋMf
M ゥ Mc セ セ
Pembimbing
Tanggal Lulus:
3 0 JUL 2013
Judul Skripsi : Visualisasi Keterhubungan Tanaman Obat dengan Khasiatnya
Menggunakan Algoritme Fruchterman-Reingold
Nama
: Nadya Elsanoviany Putri
NIM
: G64090009
Disetujui oleh
Firman Ardiansyah, SKom MSi
Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom
Ketua Departemen
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan Oktober 2012 ini ialah
visualisasi informasi, dengan judul Visualisasi Keterhubungan Tanaman Obat
dengan Khasiatnya Menggunakan Algoritme Fruchterman Reingolf.
Terima kasih penulis ucapkan kepada Bapak Firman Ardiansyah, SKom,
MSi selaku pembimbing, serta Ibu Dr Yani Nurhadryani, SSi, MT dan Bapak
Rudi Heryanto, SSi, MSc yang telah banyak memberi saran. Ungkapan terima
kasih juga disampaikan kepada ayah dan ibu tersayang, Fadhila Meylinda Annisa,
Syakhrul Ambosaka Patompo, Fahrul Abdullah Hudri, Faiza Libby Shabira atas
doa dan dukungannya. Terima kasih juga disampaikan untuk rekan-rekan
tersayang di Pondok Nuansa Sakinah, yaitu Gina, Inka, Wenny, Husnul, Anisaul,
Ufiq, Nurifah, Lizza, Ambar dan Annisa. Selain itu, terima kasih juga penulis
sampaikan untuk rekan-rekan PKM KC Visualisasi, rekan-rekan ilmu komputer
angkatan 46 khususnya Bimo Setyawan dan Chusnul Arifin yang telah banyak
membantu, serta rekan-rekan lainnya atas segala doa dan kasih sayangnya.
Semoga karya ilmiah ini bermanfaat.
Bogor, Juli 2013
Nadya Elsanoviany Putri
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR
DAFTAR LAMPIRAN
PENDAHULUAN
Latar Belakang
Perumusan Masalah
Tujuan Penelitian
Manfaat Penelitian
Ruang Lingkup Penelitian
METODE
Tahapan Penelitian
Value
Data Transformation
Analytical Abstraction
Visualization Transformation
Visualization Abstraction
Visual Mapping Transformation
View
Lingkungan Pengembangan Sistem
HASIL DAN PEMBAHASAN
Value
Data Transformation
Analytical Abstraction
Visualization Transformation
Visualization Abstraction
Visual Mapping Transformation
View
SIMPULAN DAN SARAN
Simpulan
Saran
DAFTAR PUSTAKA
RIWAYAT HIDUP
vi
vi
vi
1
1
1
2
2
2
2
2
2
3
7
7
7
8
10
11
11
11
12
20
21
23
24
28
30
30
30
30
41
DAFTAR TABEL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Contoh data yang diperoleh
Contoh data hasil tokenisasi kalimat pada atribut effect
Contoh data hasil tokenisasi bagian tanaman pada atribut effect
Contoh data sebelum pencocokan field part_of_plant dengan
thesaurus dari field position
Contoh data setelah pencocokan field part_of_plant dengan
thesaurus dari field position
Contoh data sebelum tokenisasi frasa khasiat
Contoh data setelah tokenisasi frasa khasiat
Contoh data hasil pembuatan posting list frasa khasiat
Contoh data hasil tokenisasi kata di atribut effect
Contoh data hasil indexing khasiat per kata
Contoh data hasil perhitungan frekuensi kata
Contoh data sebelum penghapusan stopwords
Proses penghapusan stopwords
Contoh data hasil penghapusan records yang tidak lengkap
Contoh data sebelum penanganan kesalahan pengetikan
Contoh data hasil pengklusteran frasa khasiat dan perhitungan
frekuensi tanaman obat di setiap frasa khasiat
Contoh data hasil penerapan algoritme Levenshtein
Contoh data setelah penanganan kesalahan pengetikan
Contoh data sebelum indexing
Contoh data hasil indexing frasa khasiat
Contoh data hasil indexing frasa tanaman obat
Contoh data yang direpresentasikan sebagai nodes
Contoh data yang direpresentasikan sebagai edges
11
12
13
14
14
15
15
15
16
16
16
17
17
18
18
19
19
19
20
21
21
23
23
DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Metode Penelitian (Chi 1999)
Alur tahapan praproses data
Alur tahap modifikasi token pada praproses data
Alur tahapan visualization transformation
Alur tahapan pada visual mapping transformation
Bentuk visual dasar
Perbaikan bentuk visual dasar
Graf asal dengan random layout
Graf hasil algoritme Fruchterman-Reingold
Graf dengan penerapan kluster khasiat dan posisi tanaman
Graf dengan penerapan bobot nodes
Graf hasil penerapan algoritme Noverlap
Pemberian label pada nodes
Pemberian label pada nodes
3
5
6
8
9
22
22
24
25
26
26
27
27
28
DAFTAR LAMPIRAN
1
2
3
4
5
6
7
8
9
Thesaurus dari atribut position
Pseudocode algoritme layout Fruchterman Reingold
Komunitas yang terbentuk pada graf berdasarkan position
Tenik interaksi select pada graf visualisasi
Teknik interaksi explore pada graf visualisasi
Antarmuka teknik interaksi reconfigure pada graf visualisasi
Antarmuka teknik interaksi abstract pada graf visualisasi
Antarmuka teknik interaksi filter pada graf visualisasi
Antarmuka teknik interaksi connect
32
33
34
35
36
37
38
39
40
PENDAHULUAN
Latar Belakang
Jamu merupakan tanaman herbal Indonesia yang dibuat melalui
penggabungan beberapa jenis tanaman. Oleh sebab itu, komposisi tanaman yang
digunakan akan menentukan khasiat dari jamu tersebut (Afendi et al. 2010).
Tanaman yang digunakan merupakan tanaman yang berfungsi sebagai obat bagi
penyakit-penyakit tertentu sesuai dengan khasiat yang dikandungnya. Indonesia
memiliki sekitar 9600 spesies tanaman obat, namun baru sekitar 200 spesies yang
telah dimanfaatkan sebagai bahan baku pada industri obat tradisional dan dari
jumlah tersebut baru sekitar 4% yang dibudidayakan (BBPP 2012).
Data tanaman obat beserta khasiat merupakan data dalam bentuk teks. Hal
ini membuat data menjadi sulit untuk dianalisis karena akan memakan waktu lebih
banyak untuk memahami keseluruhan teks dalam data dan menganalisis makna
dari teks tersebut (Uchida et al. 2009). Oleh sebab itu, penyajian informasi dalam
bentuk tulisan dirasa kurang efektif dan dibutuhkan suatu cara agar seseorang bisa
menyelidiki lebih lanjut mengenai keterhubungan antartanaman obat dengan
khasiat yang dimilikinya.
Suatu tanaman obat dapat memiliki berbagai macam khasiat, sedangkan satu
khasiat dapat dimiliki oleh lebih dari satu tanaman obat. Oleh sebab itu, terdapat
keterhubungan antartanaman obat dengan khasiatnya. Visualisasi merupakan cara
mendapatkan informasi yang memanfaatkan kemampuan persepsi manusia dari
pemahaman visual. Umumnya seseorang tertarik pada struktur, fitur, pola, trends,
anomali dan keterhubungan pada sekumpulan data. Visualisasi mendukung hal
tersebut dengan merepresentasikan data dalam beberapa bentuk dengan interaksi
yang berbeda (Grinstein dan Ward 2002).
Penelitian ini mencoba merepresentasikan data keterhubungan tanaman obat
dengan khasiatnya dalam bentuk graf. Teknik visualisasi yang diterapkan dalam
penelitian ini ialah algoritme Fruchterman-Reingold. Teknik tersebut mencoba
menempatkan khasiat yang memiliki keterhubungan erat dalam letak yang
berdekatan. Hal ini disebabkan oleh seseorang cenderung menganggap hal-hal
yang ditempatkan secara berdekatan berada di dalam grup yang sama (Holloway
2010).
Perumusan Masalah
Setiap tanaman obat yang berada di Indonesia memiliki berbagai
khasiat yang berbeda-beda. Begitu pula, satu khasiat dapat dimiliki oleh
tanaman obat. Oleh sebab itu, terdapat keterhubungan tanaman obat
khasiatnya, sehingga muncul pertanyaan sebagai berikut:
1 bagaimana model visualisasi keterhubungan tanaman obat
khasiatnya?
2 apakah jenis khasiat yang paling banyak dimiliki oleh tanaman
Indoensia?
macam
banyak
dengan
dengan
obat di
2
Tujuan Penelitian
Penelitian ini bertujuan mengembangkan aplikasi visualisasi informasi yang
memodelkan keterhubungan antartanaman obat dengan khasiatnya guna
membantu masyarakat dalam melakukan pencarian dan penelusuran terkait
tanaman obat dan khasiatnya.
Manfaat Penelitian
Hasil dari penelitian ini diharapkan dapat digunakan oleh kalangan peneliti
jamu sekaligus masyarakat untuk melihat keterhubungan tanaman obat dengan
khasiatnya dan mendapatkan lebih banyak pengetahuan mengenai hal tersebut.
Ruang Lingkup Penelitian
Ruang lingkup penelitian ini ialah :
1 data penelitian yang digunakan dalam penelitian ini ialah data tanaman obat
yang telah digunakan pada industri jamu Indonesia, berasal dari PUSAT
STUDI BIOFARMAKA IPB.
2 visualisasi diterapkan dengan mencari keterhubungan antartanaman obat
Indonesia dengan khasiatnya.
3 pengguna dapat melakukan pencarian berdasarkan nama khasiat dalam
bahasa Inggris dan nama tanaman dalam bahasa Inggris disertai dengan
bagian tanamannya yang berkhasiat.
4 data yang digunakan dalam visualisasi ini masih bersifat statis, sehingga
belum dapat menangani penambahan data tanaman obat ke dalam database.
5 pengguna dapat mencetak hasil pencarian yang diperoleh dalam fail dengan
format CSV.
METODE
Tahapan Penelitian
Metode yang digunakan dalam penelitian ini merupakan kerangka metode
yang digunakan oleh Chi(1999). Metode ini dibagi ke dalam 4 tahap utama, yaitu
Data, Analytical Abstraction, Visualization Abstraction, and View. Selain itu,
terdapat 3 langkah pengolahan utama diantara 4 tahap tersebut, yaitu Data
Transformation. Visualization Transformation, dan Visual Mapping
Transformation (Chi 1999). Alur tahapan penelitian dapat dilihat pada Gambar 1.
Value
Tahap ini merupakan tahap pengumpulan data. Data yang digunakan pada
penelitian ini merupakan data tanaman obat dan khasiatnya yang berasal dari
3
Value
Data
Transformation
Analytical
Abstraction
Visualization
Transformation
Visualization
Abstraction
Visual Mapping
Transformation
View
Gambar 1 Metode Penelitian (Chi 1999)
PUSAT STUDI BIOFARMAKA IPB. Data yang diperoleh sudah dalam bentuk
database. Atribut data yang digunakan dalam penelitian ini, antara lain id dari
tanaman obat, nama ilmiah tanaman obat, nama tanaman obat dalam bahasa
Inggris, nama tanaman obat dalam bahasa Indonesia, posisi bagian tanaman yang
berkhasiat, dan deskripsi khasiat dari posisi tanaman obat yang berkhasiat.
Data Transformation
Data transformation merupakan proses transformasi tahap data menjadi
tahap analytical abstraction. Data transformation merupakan tahap pengolahan
data dengan melakukan ekstraksi data (Chi 1999). Pada tahap ini, dilakukan
proses pembersihan data dan praproses data agar diperoleh data yang sudah
memiliki informasi untuk dipetakan menjadi inverted index dari frasa khasiat.
Tahap pembersihan data meliputi penghapusan duplikasi data dan data yang tidak
lengkap. Atribut khas yang dibutuhkan pada penelitian ini ialah atribut yang
menyatakan nama tanaman obat dan khasiat dari tanaman obat tersebut, sehingga
data yang tidak memiliki nilai pada salah satu atau kedua atribut tersebut
dikatakan data yang tidak lengkap. Data yang digunakan dalam penelitian ini
merupakan data dalam bentuk teks yang memberikan deskripsi mengenai tanaman
obat dan khasiat yang dimiliki tanaman obat tersebut, sehingga harus dilakukan
praproses data terlebih dahulu.
Praproses data untuk data dalam bentuk teks meliputi tahapan-tahapan
dalam pembuatan inverted index. Menurut Manning et al. (2009), pembuatan
inverted index meliputi empat tahap utama, yakni pengumpulan data yang akan
4
diindeks, tahap tokenisasi, tahap memodifikasi token serta pengindeksan kata.
Alur tahapan praproses data yang dilakukan pada penelitian ini dapat dilihat pada
Gambar 2. Di samping itu, alur tahapan ketiga pada praproses data, yaitu
penghapusan stopwords dan koreksi kesalahan pengetikan pada atribut khasiat
ditunjukkan pada Gambar 3. Data transformation dilakukan dengan
menggunakan bahasa pemrograman PHP, Database Management System (DBMS)
MySQL, perangkat lunak Notepad++ dan Microsoft Excel 2010.
Pengumpulan Data yang Akan Diindeks
Tahap pembuatan inverted index yang pertama ini meliputi tokenisasi
kalimat pada atribut khasiat, tokenisasi kata bagian tanaman pada atribut khasiat,
pembuatan thesaurus atribut posisi bagian tanaman, penerapan thesaurus pada
atribut posisi bagian tanaman dan penghapusan records tanaman yang bagian
tanamannya tidak terdapat dalam thesaurus.
Tokenisasi Frasa Khasiat
Tahap selanjutnya ialah tokenisasi frasa khasiat. Tahap ini meliputi
tokenisasi khasiat per frasa dan pembuatan posting list frasa khasiat.
Modifikasi Token
Tahap berikutnya ialah modifikasi token, yaitu pembuatan stoplist,
penghapusan stopwords pada frasa khasiat dan penanganan kesalahan pengetikan
pada frasa khasiat. Pembuatan stoplist bertujuan mendaftarkan kata-kata pada
frasa khasiat yang dianggap tidak akan mengubah arti jika kata-kata tersebut
dihilangkan. Selain itu, pada data berupa teks sering kali terjadi kesalahan
pengetikan yang dapat mengubah makna dari kata tersebut, sehingga perlu
dilakukan penanganan kesalahan pengetikan pada frasa khasiat.
Pembuatan stoplist meliputi proses tokenisasi khasiat per kata, indexing
khasiat per kata, perhitungan frekuensi kata khasiat di seluruh records,
pemeriksaan kata khasiat terdapat atau tidak di dalam kamus kedokteran Medline
dan pencarian kata yang mengandung arti obat dan penyakit. Hasil dari proses ini
akan disimpan pada fail dengan format TXT.
Di samping itu, penanganan kesalahan pengetikan meliputi penghapusan
stopwords dari frasa khasiat, perhitungan frekuensi tanaman obat di setiap frasa
khasiat, pencarian frasa yang mengalami kesalahan pengetikan menggunakan
algoritme jarak Levenshtein dan dilakukan koreksi terhadap frasa khasiat yang
mengalami kesalahan pengetikan.
Indexing Frasa Khasiat dan Tanaman Obat
Pada proses pembuatan inverted index yang terakhir ialah dilakukan
indexing frasa khasiat dan tanaman obat. Pada proses indexing frasa khasiat
dilakukan pembuatan tabel yang berisi frasa khasiat beserta daftar tanaman obat
yang memiliki frasa khasiat tersebut. Selanjutnya, pada proses indexing tanaman
obat dilakukan pembuatan tabel yang berisi tanaman obat dan daftar khasiatnya.
5
Pengumpulan data
yang akan diindeks
Tokenisasi kalimat pada atribut khasiat
Tokenisasi kata bagian tanaman pada
atribut khasiat
Pembuatan thesaurus atribut posisi
bagian tanaman
Tidak terdapat
dalam thesaurus
Penghapusan records
tanaman obat
Penerapan
thesaurus pada atribut
posisi bagian tanaman
Terdapat
dalam thesaurus
Records tanaman
obat dipertahankan
Tokenisasi
frasa khasiat
Tokenisasi khasiat per frasa
Frasa khasiat
Pembuatan posting list frasa khasiat
Posting list frasa khasiat
Modifikasi token
Index frasa khasiat
tanaman obat
Frasa khasiat tanpa stopwords dan
kesalahan pengetikan
Indexing frasa khasiat
tanaman obat
Gambar 2 Alur tahapan praproses data
6
Posting list frasa khasiat
Penghapusan stopwords dari frasa
khasiat
Tokenisasi khasiat per kata
Khasiat per kata
Frasa khasiat tanpa stopwords
Pembuatan posting list
indexing khasiat per kata
Perhitungan frekuensi tanaman obat
di setiap frasa khasiat
Perhitungan frekuensi kata di
seluruh records tanaman obat
Kata dengan frekuensi tertinggi
dan kata dengan jumlah
huruf < 3 sebagai stopwords
Pemeriksaan kata terdapat atau
tidak di dalam kamus Medline
Kata yang tidak terdapat dalam
kamus Medline sebagai
stopwords
Frasa khasiat dan frekuensi
tanaman obat yang memiliki
frasa khasiat tersebut
Perhitungan jarak Levenshtein dari setiap
pasang frasa khasiat
Tidak
Jarak
Levenshtein = 1
Ya
Membandingkan frekuensi khasiat
dari pasangan frasa khasiat
tersebut
Pencarian kata yang mengandung
arti obat (drug, medicine) dan
penyakit (illness)
Koreksi pengetikan frasa khasiat
stopwords.TXT
Pembuatan stoplist
Frasa khasiat tanpa
stopwords dan
kesalahan pengetikan
Penanganan kesalahan pengetikan
Gambar 3 Alur tahap modifikasi token pada praproses data
7
Analytical Abstraction
Analytical transformation merupakan hasil dari pengolahan data yang
belum dipetakan namun sudah memiliki informasi yang diekstraksi dari data
mentah (Chi 1999). Pada tahap ini, diperoleh data hasil pembersihan data dan
praproses data dengan atribut yang sama dengan tahap value, namun memiliki
atribut tambahan berupa id khasiat. Data pada tahap ini merupakan inverted index
dari frasa khasiat yang terdapat di dalam database.
Visualization Transformation
Tahap ini merupakan tahap pengolahan visualisasi informasi yang
mengambil nilai dari analytical abstraction dan mengambil beberapa hal utama
yang nantinya akan menjadi bentuk visualization abstraction. Pada tahap ini
dilakukan perancangan visualisasi dan pengolahan data yang siap dipetakan. Alur
tahapan pada visualization transformation dapat dilihat pada Gambar 4.
Visualization abstraction dilakukan dengan menggunakan bahasa pemrograman
PHP, DBMS MySQL dan perangkat lunak Notepad++.
Perancangan Visualisasi
Perancangan visualisasi dilakukan untuk membuat visualisasi yang akan
digunakan untuk merepresentasikan keterhubungan tanaman obat dengan
khasiatnya. Visualisasi yang dibentuk harus dapat merepresentasikan
keterhubungan tanaman obat dengan khasiatnya, posisi tanaman obat yang
berkhasiat dan khasiat yang paling banyak dimiliki oleh tanaman obat Indonesia.
Pengolahan Data yang Akan Dipetakan
Pada proses pengolahan data yang akan dipetakan ini, dilakukan pencarian
keterhubungan tanaman obat dengan khasiatnya dan perhitungan bobot nodes
untuk tanaman obat dan khasiatnya. Hal ini dilakukan agar diperoleh representasi
visual seperti yang telah dirancang pada tahap perancangan visualisasi.
Visualization Abstraction
Visualization abstraction merupakan tahap di mana telah diperoleh
informasi yang siap dipetakan dan dapat divisualisasikan di layar menggunakan
minimal satu teknik visualisasi (Chi 1999). Pada tahap ini, dihasilkan tabel nodes
yang mengandung informasi frasa khasiat yang terdapat di dalam database dan
tabel edges yang mengandung informasi keterhubungan tanaman obat dengan
khasiatnya.
8
Inverted index
frasa khasiat
Perancangan visualisasi
Nodes
Edges
Pembuatan tabel nodes yang berisi
frasa khasiat dan tanaman obat
Frasa khasiat dan
tanaman obat
Pencarian keterhubungan
tanaman obat dengan khasiatnya
Keterhubungan
tanaman obat dengan khasiatnya
Perhitungan bobot nodes frasa
khasiat dan tanaman obat
Bobot nodes
Gambar 4 Alur tahapan visualization transformation
Visual Mapping Transformation
Tahap ini merupakan tahap pembuatan graf dengan menggunakan perangkat
lunak Gephi versi 0.8.2, open source software untuk mengeksplorasi dan
memanipulasi networks (Bastian et al. 2009). Visual mapping transformation
merupakan tahap pengambilan seluruh informasi dan menampilkannya dalam
bentuk tampilan grafis kepada pengguna (Chi 1999). Pada tahap ini diterapkan
algoritme layout Fruchterman Reingold untuk menentukan koordinat dari setiap
nodes di dalam graf agar dapat lebih mudah dipahami oleh pengguna. Kemudian,
diterapkan pewarnaan nodes berdasarkan posisi tanaman dan khasiat, serta
penempatan label pada graf visualisasi yang terbentuk. Alur tahapan visual
mapping transformation dapat dilihat pada Gambar 5.
9
Tabel nodes dan edges
Graf
Visualisasi graf dengan
random layout
Graf dengan
random layout
Layout
Algoritme layout Fruchterman
Reingold
Partition
Pewarnaan graf
Graf dengan layout baru
Graf dengan warna
bervariasi per kluster
Ranking
Pembobotan nodes
Algoritme Noverlap untuk
mengatasi nodes tumpang tindih
Graf dengan ukuran
nodes yang bervariasi
Graf dengan layout yang
renggang (tidak ada nodes
tumpang tindih)
Label
Pengaturan ukuran dan jenis
font untuk label di nodes
Graf akhir
Gambar 5 Alur tahapan pada visual mapping transformation
Graf
Tahap ini merupakan tahap memetakan informasi yang telah diperoleh dari
tahap sebelumnya ke dalam bentuk graf visualisasi. Graf yang terbentuk pada
10
tahap ini merupakan graf dengan posisi yang tidak beraturan atau random layout.
Oleh sebab itu, graf yang terbentuk akan sulit dibaca oleh pengguna.
Layout
Tahap selanjutnya merupakan penerapan algoritme layout untuk
menentukan posisi nodes dan edges. Algoritme layout yang diterapkan pada
penelitian ini merupakan algoritme Fruchterman Reingold.
Partition
Selanjutnya ialah tahap pencarian struktur komunitas di dalam graf atau
pengklusteran nodes di dalam graf. Pengklusteran nodes ditunjukkan dengan
menggunakan pewarnaan nodes berdasarkan nodes yang menunjukkan posisi
tanaman dan khasiat, sehingga pengguna dapat melihat dengan lebih jelas kluster
yang terbentuk.
Ranking
Tahap berikutnya ialah pemberian ranking atau pembobotan pada graf.
Pembobotan pada nodes dilakukan berdasarkan jumlah keterhubungan yang
dimiliki oleh setiap nodes. Oleh sebab itu, pembobotan nodes yang menunjukkan
posisi bagian tanaman didasarkan pada jumlah khasiat yang dimiliki oleh tanaman
obat tersebut, sedangkan nodes yang menunjukkan khasiat didasarkan pada
jumlah tanaman obat yang memiliki khasiat tersebut. Pembobotan ini akan
menyebabkan terjadinya nodes yang tumpang tindih sehingga diterapkan
algoritme Noverlap untuk merenggangkan nodes.
Label
Tahap terakhir pada visual mapping transformation ialah pemberian label
pada nodes. Pada tahap ini dilakukan pengaturan ukuran dan jenis font yang
dipasang di setiap nodes agar pengguna dapat lebih mudah dalam memahami graf
yang terbentuk dan melakukan penelusuran.
View
View merupakan produk akhir dari tahap visual mapping, di mana pengguna
dapat melihat dan menafsirkan gambar yang ditampilkan oleh sistem (Chi 1999).
Pada tahap ini, diterapkan beberapa fitur interaksi terhadap visualisasi yang
ditampilkan oleh sistem, antara lain memperbesar atau memperkecil ukuran
gambar visualisasi yang ditampilkan, menghilangkan nodes dan edges lain yang
tidak berhubungan langsung dengan informasi yang ingin didapatkan oleh
pengguna, dan menentukan nodes yang menjadi fokus penelusuran informasi.
View merupakan tahap mengimplementasikan fail graf dalam format GEXF
(graph exchange XML format) ke dalam aplikasi berbasis web menggunakan
Javascript, HTML, CSS, perangkat lunak Notepad++, XAMPP dan Google
Chrome browser.
11
Lingkungan Pengembangan Sistem
Spesifikasi beberapa perangkat lunak dan perangkat keras yang digunakan
dalam penelitian ini ialah sebagai berikut:
1 Perangkat lunak:
Sistem Operasi Microdoft Windows 8 Professional 32-bit,
Database Management System (DBMS) MySQL untuk penyimpanan
database tanaman obat dan khasiatnya,
XAMPP untuk mengkonfigurasikan Apache, MySQL dan bahasa
pemrograman PHP yang digunakan sampai dengan tahap visualization
abstraction,
Gephi sebagai tool pada tahap visual mapping transformation,
Google Chrome Browser untuk menampilkan halaman web yang
dihasilkan dalam penelitian ini,
Notepad++ digunakan sebagai Integrated Development Environment
(IDE),
Microsoft Excel 2010 digunakan untuk melihat hasil praproses data.
2 Perangkat Keras:
Processor Intel Core 2 Duo,
Memory 4 GB RAM,
VGA ATI Radeon HD 4300 Series.
HASIL DAN PEMBAHASAN
Value
Data yang digunakan pada penelitian ini diperoleh dari PUSAT STUDI
BIOFARMAKA IPB yang berisi 1133 records jenis tanaman obat yang
dimanfaatkan oleh industri obat tradisional di Indonesia. Contoh data dapat dilihat
pada Tabel 1. Data yang diperoleh menggunakan merupakan teks dalam bahasa
Tabel 1 Contoh data yang diperoleh
id_herb
herb_
name
herb_
name
_ id
herb_
name
_en
S0746 Pandanus Buah
Red
conoideus Merah Pandan
Fructus
S0001 Abelmoschus Waron muskmoschatus
mallo
Folium
w,
musk
okra
Science_
name
position
Pandanus Fruit
conoideus
Lamk
Abelmos- Leaf
chus
moschatus
Medik
effect
Reference
-
Leaf :
Center
cough
of
medicine. research
Seed :
cosmetic
raw
materials.
12
Inggris, sehingga penelitian ini menggunakan bahasa Inggris dalam proses
pengolahan data dan pengembangan sistem. Atribut dari data yang diperoleh ialah
sebagai berikut :
Id tanaman obat dengan nama field id_herb
Nama ilmiah dari tanaman obat ditambah satu kata yang menyatakan nama
ilmiah dari bagian tanaman yang berkhasiat dengan nama field herb_name
Nama tanaman obat dalam bahasa Indonesia dengan nama field herb_name_id
Nama tanaman obat dalam bahasa Inggris dengan nama field herb_name_en
Nama ilmiah tanaman obat dengan nama field science_name
Bagian tanaman obat yang memiliki khasiat dengan nama field position
Daftar khasiat yang dimiliki tanaman obat dengan nama field effect
Sumber informasi mengenai tanaman obat tersebut dengan nama field
reference.
Terdapat kesalahan-kesalahan dari data yang diperoleh, antara lain terdapat
tanaman obat yang tidak disebutkan khasiatnya atau atribut effect bernilai “-“,
sehingga dilakukan pembersihan data berupa penghapusan records tanaman obat.
Dari 1133 records tanaman obat terdapat 42 records (3.71%) yang tidak
disebutkan khasiatnya. Pembersihan data menghasilkan data yang lengkap tanpa
terdapat atribut effect yang bernilai “-“.
Selain itu, terdapat atribut effect yang masih berisi daftar khasiat dari setiap
bagian tanaman yang mengandung khasiat, sedangkan id dari tanaman obat pada
setiap record sudah berdasarkan pada atribut herb_name. Oleh sebab itu, perlu
dilakukan proses penghapusan pada sebagian isi dari atribut effect yang dianggap
tidak sesuai dengan nilai atribut position pada records tersebut. Proses tersebut
dilakukan pada tahap data transformation.
Data Transformation
Pengumpulan Data yang Akan Diindeks
Pengumpulan data yang akan diindeks merupakan tahap yang dilakukan
pada atribut effect dari 1091 records tanaman obat hasil pembersihan data. Tahap
ini diawali dengan tokenisasi kalimat pada atribut effect. Nilai atribut effect yang
terdapat dalam data mentah masih berupa daftar bagian tanaman dan khasiat yang
dimiliki tanaman obat per bagian. Daftar antarbagian tanaman dan khasiatnya
tersebut dipisahkan dengan tanda “.”, sehingga dilakukan tokenisasi kalimat pada
atribut effect. Setiap kali bertemu dengan tanda “.”, maka akan terbentuk record
Tabel 2 Contoh data hasil tokenisasi kalimat pada atribut effect
id_herb
herb_name
position
herb_name_en
effect
S0001
Abelmoschus
mochatus
Folium
Leaf
musk-mallow,
musk okra
Leaf : cough
medicine.
S0001
Abelmoschus
mochatus
Folium
Leaf
musk-mallow,
musk okra
Seed : cosmetic raw
materials.
13
Tabel 3 Contoh data hasil tokenisasi bagian tanaman pada atribut effect
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S0001
Abelmoschus
mochatus
Folium
Abelmoschus
mochatus
Folium
Leaf
muskmallow,
musk okra
muskmallow,
musk okra
Leaf
cough
medicine
Seed
cosmetic raw
materials
S0001
Leaf
baru yang memisahkan kalimat pada atribut effect. Setelah dilakukan pemisahan
kalimat pada atribut effect, data yang dihasilkan berjumlah 1356 records. Contoh
data hasil proses tokenisasi kalimat pada atribut effect dapat dilihat pada Tabel 2.
Selanjutnya, dilakukan tokenisasi kata bagian tanaman pada atribut khasiat.
Pemisahan bagian tanaman dengan khasiatnya dilakukan dengan menggunakan
token berupa tanda “:”. Hal ini dilakukan sebab setiap records menunjukkan
bahwa atribut effect terdiri atas bagian tanaman yang berkhasiat kemudian
dilanjutkan tanda “:” sebagai pemisah dengan khasiat dari bagian tanaman obat
tersebut. Kata-kata yang berada sebelum titik dua akan disimpan pada kolom
terpisah dengan khasiat, yakni pada kolom part_of_plant, sedangkan kata-kata
yang berada setelah tanda “:” akan tetap berada pada kolom effect. Contoh data
hasil dari proses tokenisasi kata bagian tanaman pada atribut effect dapat dilihat
pada Tabel 3.
Kemudian, dilakukan tahap pencocokan field part_of_plant dengan position.
Jika nilai kedua field tersebut sama, record tanaman obat tersebut dipertahankan.
Di samping itu, jika nilai kedua field tersebut berbeda, record tanaman obat
tersebut akan dihapus. Berdasarkan data hasil proses tersebut, atribut position
terdiri atas 17 nilai yang berbeda, namun atribut part_of_plant terdiri atas 76 nilai
yang berbeda. Oleh sebab itu, dilakukan pembuatan thesaurus untuk mencari nilai
atribut part_of_plant yang memiliki makna sama dengan nilai atribut position
pada record yang sama. Hal ini dilakukan sebab terdapat kemungkinan bahwa
kata yang terdapat pada nilai atribut part_of_plant merupakan persamaan kata dari
nilai position. Thesaurus yang dihasilkan pada proses tersebut ditunjukkan pada
Lampiran 1.
Proses berikutnya ialah penerapan thesaurus pada pencocokan nilai atribut
part_of_plant dengan atribut position. Jika kata pada atribut part_of_plant
terdapat dalam thesaurus nilai atribut position tersebut, record tersebut akan
dipertahankan. Namun, jika tidak terdapat dalam thesaurus, dilakukan
penghapusan terhadap record tanaman obat tersebut. Contoh data sebelum proses
pencocokan kedua field dengan thesaurus dapat dilihat pada Tabel 4.
Pada Tabel 4, record pertama menunjukkan atribut position bernilai “Leaf”,
sedangkan part_of_plant bernilai “Leaf” juga. Oleh sebab itu, record pertama
dipertahankan. Di samping itu, record kedua menunjukkan atribut position
bernilai “Leaf”, sedangkan atribut part_of_plant bernilai “Seed”. Kata “Seed”
tidak terdapat dalam thesaurus kata “Leaf”, sehingga dilakukan penghapusan
terhadap record tersebut. Jumlah data yang diperoleh dari proses pencocokan
14
Tabel 4 Contoh data sebelum pencocokan field part_of_plant dengan thesaurus
dari field position
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S0001
Abelmoschus
mochatus
Folium
Leaf
muskmallow,
musk okra
Leaf
cough
medicine
S0001
Abelmoschus
mochatus
Folium
Leaf
muskmallow,
musk okra
Seed
cosmetic raw
materials
S00974
Smilax
zeylanica
Tubera
Tuber
kepuh
Roots
Rheumatic
drugs,
gonorrhea,
dysentery
Tabel 5 Contoh data setelah pencocokan field part_of_plant dengan thesaurus
dari field position
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S0001
Abelmoschus
mochatus
Folium
Leaf
muskmallow,
musk okra
Leaf
cough
medicine
S00974
Smilax
zeylanica
Tubera
Tuber
kepuh
Roots
Rheumatic
drugs,
gonorrhea,
dysentery
kedua field dengan thesaurus ini ialah 949 records tanaman obat. Contoh data
hasil proses tersebut dapat dilihat pada Tabel 5.
Data hasil proses tersebut merupakan data yang akan diindeks pada proses
pembuatan inverted index berikutnya. Khasiat yang terdapat dalam database
merupakan gabungan kata yang mengandung arti atau biasa disebut frasa,
sehingga tokenisasi akan dilakukan dalam bentuk frasa khasiat.
Tokenisasi Frasa Khasiat
Tahap pembuatan inverted index yang kedua ialah tokenisasi khasiat per
frasa. Token yang digunakan pada tahap ini ialah “,;/\(){}[]”. Tokenisasi frasa
khasiat ini menghasilkan 3923 records tanaman obat. Contoh data sebelum
tokenisasi frasa khasiat ini dapat dilihat pada Tabel 6, sedangkan contoh data
setelah tokenisasi frasa khasiat dilakukan dapat dilihat pada Tabel 7.
15
Tabel 6 Contoh data sebelum tokenisasi frasa khasiat
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S00974
Smilax
zeylanica
Tubera
Tuber
kepuh
Rheumatic
drugs,
gonorrhea,
dysentery
Roots
Tabel 7 Contoh data setelah tokenisasi frasa khasiat
id_herb
herb_name
position
herb_name_ part_of
en
_plant
effect
S00974
Smilax
zeylanica
Tubera
Smilax
zeylanica
Tubera
Smilax
zeylanica
Tubera
Tuber
kepuh
Roots
Rheumatic
drugs
Tuber
kepuh
Roots
gonorrhea
Tuber
kepuh
Roots
dysentery
S00974
S00974
Tabel 8 Contoh data hasil pembuatan posting list frasa khasiat
id_effect
K0001
K0001
K0001
K0002
K0002
effect
rheumatic drugs
rheumatic drugs
rheumatic drugs
dysentery
dysentery
id_herb
S00974
S00010
S00028
S00974
S00989
Tahap tokenisasi frasa khasiat ini kemudian dilanjutkan dengan pembuatan
posting list dari frasa khasiat. Pada tahap ini dilakukan penambahan atribut berupa
id khasiat untuk membuat frasa khasiat menjadi atribut yang unik. Tahap ini
menghasilkan data yang menunjukkan suatu frasa khasiat dan daftar tanaman obat
yang memiliki frasa khasiat tersebut.
Data yang dihasilkan dari pembuatan posting list frasa khasiat masih
berjumlah 3923 records tanaman obat, sebab tidak ada pengulangan frasa khasiat
yang sama di dalam suatu record tanaman obat. Contoh posting list yang
terbentuk dapat dilihat pada Tabel 8. Contoh data tersebut menunjukkan bahwa
frasa khasiat “rheumatic drugs” dimiliki oleh tanaman obat dengan id S00974,
S00010 dan S00028, sedangkan “dysentery” dimiliki oleh tanaman obat dengan id
S00974 dan S00989.
16
Modifikasi Token
Tahap modifikasi token terbagi ke dalam dua proses yaitu pembuatan
stoplist dan penghapusan stopwords pada atribut effect, serta penanganan
kesalahan pengetikan nilai pada atribut effect. Hal ini dilakukan untuk
meminimalkan kesalahan dalam pencarian keterhubungan antarkhasiat akibat
kesalahan pengetikan yang menimbulkan perbedaan makna khasiat.
Pembuatan stoplist
Pembuatan stoplist pada atribut effect dimulai dengan langkah tokenisasi
kata pada atribut effect dengan token berupa spasi (“ “), koma (“,”), titik koma
(“;”), titik dua (“:”), dan tanda kurung (“( )”). Tahap ini menghasilkan 9593 kata.
Kemudian, seluruh kata diubah ke dalam lower case untuk mempermudah
praproses data. Contoh data hasil tokenisasi kata di atribut effect ini dapat dilihat
pada Tabel 9. Kemudian, dilakukan indexing kata pada atribut effect dan
menghasilkan 1251 daftar kata berbeda yang berada di dalam atribut effect.
Contoh data hasil indexing ini dapat dilihat pada Tabel 10.
Selanjutnya, dilakukan perhitungan frekuensi kata di seluruh records dalam
database, sehingga dapat diketahui bahwa terdapat 5 kata dengan frekuensi
tertinggi yang merupakan kata konjungsi, antara lain and, of, the, in, dan with.
Kata-kata konjungsi tersebut merupakan kata yang dimasukkan ke dalam stoplist.
1
Tabel 9 Contoh data hasil tokenisasi kata di atribut effect
effect
rheumatic
drugs
rheumatic
drugs
rheumatic
drugs
dysentery
dysentery
id_herb
S00974
S00974
S00010
S00010
S00028
S00028
S00974
S00989
Tabel 10 Contoh data hasil indexing khasiat per kata
effect
rheumatic
drugs
dysentery
id_herb
S00974, S00010, S00028
S00974, S00010, S00028
S00974, S00989
Tabel 11 Contoh data hasil perhitungan frekuensi kata
effect
rheumatic
drugs
dysentery
id_herb
S00974, S00010, S00028
S00974, S00010, S00028
S00974, S00989
frekuensi
3
3
2
17
Kemudian, kata-kata yang memiliki jumlah huruf kurang dari 3 dimasukkan pula
ke dalam stoplist. Contoh data hasil perhitungan frekuensi kata ini dapat dilihat
pada Tabel 11.
Selain itu, dilakukan pemeriksaan hasil token kata dengan kamus
kedokteran Medline. Hal ini dilakukan sebab tidak ditemukan pola struktur bahasa
yang dapat menentukan hasil token tersebut benar merupakan istilah penyakit atau
bukan. Kata-kata yang tidak terdapat pada kamus Medline dianggap sebagai
stopwords dan dimasukan ke dalam stoplist.
Kemudian, kata-kata yang berarti obat seperti medicine dan drug serta katakata yang berarti penyakit seperti illness dan disease juga dimasukkan ke dalam
stoplist, sebab ada atau tidaknya kata-kata tersebut tidak mengurangi maksud dari
khasiat tanaman obat tersebut.
Oleh sebab itu, kata-kata yang masuk ke dalam stoplist terdiri atas kata
konjungsi (kata penghubung), kata dengan jumlah huruf maksimal tiga, kata yang
berarti obat (medicine, drug), kata yang berarti penyakit (illness, disease), dan
kata-kata yang tidak terdapat pada Medline dictionary (kamus kedokteran).
Kemudian, dihasilkan 358 kata yang dijadikan sebagai stopwords dan dimasukkan
ke dalam stoplist. Stoplist tersebut dibuat dalam fail dengan format TXT.
Penghapusan stopwords dalam frasa khasiat
Setelah tahap pembuatan stoplist selesai, dilakukan proses penghapusan
stopwords dari 3923 records frasa khasiat yang dihasilkan dari tahap tokenisasi
frasa khasiat. Contoh data sebelum proses penghapusan stopwords ditunjukkan
pada Tabel 12, sedangkan contoh data setelah proses penghapusan stopwords
ditunjukkan pada Tabel 13. Proses ini akan menghasilkan frasa khasiat tanpa
terdapat stopwords di dalamnya, namun menimbulkan nilai NULL pada atribut
effect atau data menjadi tidak lengkap. Oleh sebab itu, dilakukan penghapusan
2
Tabel 12 Contoh data sebelum penghapusan stopwords
id_effect
K0001
K0001
K0002
K0005
K0007
K0010
effect
rheumatic drugs
rheumatic drugs
dysentery
cough medicine
impairment of yin
AP
id_herb
S00974
S00010
S00974
S00001
S00898
S00888
Tabel 13 Proses penghapusan stopwords
id_effect
K0001
K0001
K0002
K0005
K0007
K0010
effect
rheumatic
rheumatic
dysentery
cough
-
id_herb
S00974
S00010
S00974
S00001
S00898
S00888
18
records terhadap 452 records (11.52 %) yang memiliki nilai NULL pada atribut
effect. Hasil dari tahap ini menghasilkan 3471 records dengan nilai atribut effect
hanya berupa satu frasa khasiat. Contoh data hasil penghapusan records tanaman
obat yang memiliki nilai NULL pada atribut effect dapat dilihat pada Tabel 14.
3 Penanganan kesalahan pengetikan
Kesalahan pengetikan pada pemasukan data dapat menyebabkan perbedaan
makna dari kata yang dituliskan, misalnya coughs dan cough. Kedua kata tersebut
dapat dianggap berbeda arti karena memiliki satu huruf yang berbeda pada
pengejaannya. Oleh sebab itu, perlu dilakukan praproses data yang dapat
menangani masalah kesalahan pengetikan tersebut menggunakan algoritme
Levenshtein, sehingga coughs dan cough dapat tetap dianggap memiliki makna
yang sama.
Data yang digunakan ialah posting list frasa khasiat tanpa stopwords
berjumlah 3471 records. Kemudian dilakukan klusterisasi berdasarkan frasa
khasiat. Proses klusterisasi ini menghasilkan 1185 records khasiat, kemudian
dilakukan perhitungan jumlah tanaman obat yang memiliki khasiat tersebut.
Perhitungan jumlah tanaman obat yang memiliki suatu khasiat dianggap sebagai
frekuensi khasiat di dalam database. Contoh data sebelum penangan kesalahan
pengetikan dan pengklusteran khasiat dapat dilihat pada Tabel 15, sedangkan
contoh data hasil pengklusteran frasa khasiat dan perhitungan frekuensi tanaman
obat di setiap frasa khasiat dapat dilihat pada Tabel 16.
Selanjutnya, dilakukan pembentukan pasangan dari seluruh khasiat yang ada
dan diterapkan algoritme jarak Levenshtein untuk mendapatkan nilai kesalahan
pengejaan khasiat. Algoritme jarak Levenshtein mencocokkan setiap pasangan
khasiat yang terbentuk dan menghitung berapa banyak karakter yang berbeda dari
pengetikan pasangan khasiat tersebut. Pada penelitian ini diberikan threshold
Tabel 14 Contoh data hasil penghapusan records yang tidak lengkap
id_effect
K0001
K0001
K0002
K0005
effect
rheumatic
rheumatic
dysentery
cough
id_herb
S00974
S00010
S00974
S00001
Tabel 15 Contoh data sebelum penanganan kesalahan pengetikan
id_effect
K0005
K0008
K0008
K0005
K0005
K0005
K0090
K0045
effect
cough
lactagoga
lactagoga
cough
cough
cough
coughs
laktagoga
id_herb
S00001
S00198
S00509
S00676
S00345
S00021
S00852
S00567
19
jarak minimal untuk mengoreksi khasiat yang dianggap memiliki kesalahan
pengetikan. Hal tersebut diperlukan untuk meminimalisir kesalahan pengetikan.
Threshold yang digunakan pada penelitian ini ialah 1, sebab kesalahan pengetikan
diasumsikan hanya terjadi pada satu karakter. Selain itu, penggunaan threshold
lebih dari 1 ternyata menyebabkan perubahan makna dari khasiat, misalnya
penggunaan threshold 2 mendeteksi fever sebagai kesalahan pengetikan dari liver.
Oleh sebab itu, threshold lebih dari 1 tidak diterapkan dalam penelitian ini.
Contoh data hasil penerapan algoritme Levenshtein dapat dilihat pada Tabel 17.
Selanjutnya, dilakukan proses membandingkan frekuensi khasiat dari setiap
pasangan frasa khasiat untuk pasangan khasiat yang memiliki jarak Levenshtein
bernilai 1 berjumlah 25 records. Proses ini dimaksudkan untuk melakukan koreksi
pada kesalahan pengetikan yang terjadi. Frasa khasiat yang memiliki nilai
frekuensi kecil diganti dengan frasa khasiat yang memiliki nilai frekuensi lebih
tinggi. Hal ini dilakukan dengan asumsi bahwa frasa khasiat dengan frekuensi
kecil dianggap sebagai khasiat yang mengalami kesalahan pengetikan, sedangkan
frasa khasiat dengan frekuensi yang lebih besar dianggap sebagai frasa khasiat
yang benar dalam pengetikannya. Hasil dari proses tersebut merupakan 3471
records frasa khasiat yang tidak mengalami kesalahan pengetikan. Contoh data
hasil penanganan kesalahan pengetikan dapat dilihat pada Tabel 18.
Tabel 16 Contoh data hasil pengklusteran frasa khasiat dan perhitungan frekuensi
tanaman obat di setiap frasa khasiat
id_effect
K0005
effect
cough
K0008
K0090
K0045
lactagoga
coughs
laktagoga
id_herb
S00001,
S00676,
S00345, S00021
S00198, S00509
S00852
S00567
frekuensi
4
2
1
1
Tabel 17 Contoh data hasil penerapan algoritme Levenshtein
id_effect Effect_2
_1
K0005 cough
frekuensi_
1
4
id_effect
_2
K0090
K0008 lactagoga
2
K0045
effect_2 Frekuensi
_2
coughs
2
laktagoga
Levenshtein
1
1
Tabel 18 Contoh data setelah penanganan kesalahan pengetikan
id_effect
K0005
K0008
K0008
K0005
K0005
K0005
K0006
K0008
effect
cough
lactagoga
lactagoga
cough
cough
cough
cough
lactagoga
id_herb
S00001
S00198
S00509
S00676
S00345
S00021
S00852
S00567
1
20
Indexing Frasa Khasiat dan Indexing Tanaman Obat
Tahap pembuatan inverted index yang terakhir ialah indexing frasa khasiat
dan tanaman obat. Indexing frasa khasiat dan tanaman obat dilakukan terhadap
3471 records hasil tahap modifikasi token. Pada tahap indexing frasa khasiat, id
tanaman obat yang memiliki frasa khasiat yang sama akan ditempatkan di satu
record. Hasil dari tahap indexing ini merupakan inverted index yang berisi frasa
khasiat beserta daftar id tanaman obat yang memiliki frasa khasiat tersebut. Di
samping itu, pada tahap indexing tanaman obat, id khasiat yang dimiliki oleh satu
id tanaman obat yang sama akan ditempatkan di satu record berdasarkan id
tanaman obatnya. Hasil dari tahap indexing ini merupakan inverted index yang
berisi id tanaman obat beserta daftar id khasiat yang dimiliki oleh tanaman obat
tersebut.
Analytical Abstraction
Pada tahap ini telah diperoleh hasil dari data transformation, yaitu data
yang telah mengalami pembersihan dan praproses data. Data yang dihasilkan dari
proses tersebut berupa inverted index dari frasa khasiat dengan asumsi tanpa
stopwords dan kesalahan pengetikan.
Data yang dihasilkan dari proses tersebut merupakan inverted index dari
frasa khasiat berjumlah 1160 records dan inverted index dari tanaman obat
berjumlah 891 records. Contoh data sebelum pembuatan inverted index dapat
dilihat pada Tabel 19. Di samping itu, contoh data hasil indexing frasa khasiat
dapat dilihat pada Tabel 20 dan contoh data hasil indexing tanaman obat dapat
dilihat pada Tabel 21. Contoh data pada Tabel 20 tersebut menyatakan bahwa
frasa khasiat cough terdapat pada id tanaman obat S00001, S00676, S00345,
S00021, S00567 dan S00852. Selain itu, frasa khasiat lactagoga terdapat pada id
tanaman S00198, S00509 dan S00567. Contoh data pada Tabel 21 tersebut
menyatakan bahwa id tanaman obat S00567 memiliki khasiat cough, lactagoga
dan diarrhea.
Tabel 19 Contoh data sebelum indexing
id_effect
K0005
K0008
K0008
K0005
K0005
K0005
K0005
K0008
K0005
K0020
effect
cough
lactagoga
lactagoga
cough
cough
cough
cough
lactagoga
cough
diarrhea
id_herb
S00001
S00198
S00509
S00676
S00345
S00021
S00852
S00567
S00567
S00567
21
Tabel 20 Contoh data hasil indexing frasa khasiat
Id_effect
K0005
K0008
K0020
effect
cough
lactagoga
diarrhea
Id_herb
S00001, S00676, S00345,
S00021, S00852
S00198, S00509, S00567
S00567
Tabel 21 Contoh data hasil indexing frasa tanaman obat
Id_herb
S00001
S00198
S00509
S00676
S00345
S00021
S00852
S00567
Id_effect
K0005
K0008
K0008
K0005
K0005
K0005
K0005
K0008, K0005, K0020
effect
cough
lactagoga
lactagoga
cough
cough
cough
cough
lactagoga, cough, diarrhea
Visualization Transformation
Pada tahap ini dilakukan proses perancangan visualisasi untuk menentukan
hasil pengolahan data yang dibutuhkan untuk pembuatan aplikasi visualisasi.
Selain itu, dilakukan pencarian keterhubungan antartanaman obat dengan
khasiatnya.
Perancangan Visualisasi
Perancangan visualisasi dibagi menjadi dua tahap, yaitu pemilihan bentuk
visual dasar dan perbaikan bentuk visual. Graf sering kali digunakan untuk
mewakili data yang memiliki keterhubungan (Keim 2002). Oleh sebab itu,
penelitian ini mencoba menampilkan keterhubungan tanaman obat dengan
khasiatnya melalui representasi berupa graf. Sebuah graf terdiri atas sekumpulan
objek, yang disebut nodes, dan keterhubungan antara objek-objeknya disebut
edges (Keim 2002). Khasiat dan tanaman obat pada penelitian ini
direpresentasikan dengan nodes dan keterhubungan antartanaman obat dengan
khasiatnya direpresentasikan dengan edges (garis yang menghubungkan dua
nodes). Bentuk visual dasar dari keterhubungan tanaman obat dengan khasiatnya
ditunjukkan pada Gambar 6.
Tahap berikutnya pada perancangan visual merupakan perbaikan bentuk
visual dasar (Gambar 7). Perbaikan bentuk pada bentuk visual dasar tersebut,
yaitu:
1 ukuran node khasiat merepresentasikan bobot khasiat pada node tersebut.
Semakin besar ukuran node dibanding nodes yang lain maka semakin besar
bobot khasiat tersebut. Bobot khasiat ditentukan dengan banyaknya jumlah
edges yang dimiliki oleh suatu node. Hal tersebut berarti semakin banyak
keterhubungan node tersebut dengan nodes tanaman obat.
22
Gambar 6 Bentuk visual dasar
Gambar 7 Perbaikan bentuk visual dasar
2
3
ukuran node tanaman obat merepresentasikan bobot tanaman obat pada node
tersebut. Bobot tanaman obat merepresentasikan jumlah khasiat yang dimiliki
oleh suatu tanaman obat. Semakin besar ukuran suatu node dibandingkan
dengan nodes yang lain, maka semakin banyak khasiat yang dimiliki oleh
tanaman obat tersebut.
pemilihan warna untuk nodes berdasarkan pengklusteran posisi tanaman yang
berkhasiat dan node yang menunjukkan khasiat.
Pengolahan Data yang Akan Dipetakan
Pada tahap ini dilakukan pengolahan data untuk data yang akan dipetakan
pada proses pembuatan visual mapping transformation. Data yang digunakan
merupakan hasil indexing dari frasa khasiat dan hasil indexing dari tanaman obat.
Pada pembuatan tabel nodes, frasa khasiat dan tanaman obat hasil indexing
tersebut akan dimasukkan ke dalam tabel nodes untuk direpresentasikan sebagai
nodes.
23
Nodes pada perancangan visualisasi merepresentasikan frasa khasiat dan
tanaman obat yang te