ISSN : e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7721

dokumen-dokumen yang mirip
Kata kunci: graph, graph database, GIndex, subgraph query, size-increasing support constraint, discriminative fragments, index, subgraph matching

Abstrak. Kata kunci: graph, graph database, graph indexing, GraphGrep, subgraph matching, backtrack, Ullman. Abstract

Analisis Sub-Graph Query pada Jaringan Komunikasi dengan Pendekatan GraphREL

Analisis dan Implementasi Graph Indexing Pada Graph Database Menggunakan Algoritma Lindex

Analisis dan Implementasi Graph Clustering pada Berita Digital Menggunakan Algoritma Star Clustering

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI

PELABELAN AKAR RATA-RATA KUADRAT PADA GRAF LADDER DAN GRAF CORONA. Universitas Diponegoro Semarang Jl.Prof. H.Soedarto,SH, Tembalang, Semarang

Implementasi Metode Document Oriented Index Pruning pada Information Retrieval System

PENERAPAN ALGORITMA KRUSKAL PADA JARINGAN LISTRIK PERUMAHAN KAMPOENG HARMONI DI UNGARAN BARAT

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

PENGGALIAN TOP-K CLOSED FREQUENT ITEMSETS BERBASIS ALGORITMA PEMETAAN TRANSAKSI

PENERAPAN DECISION TREE UNTUK PENENTUAN POLA DATA PENERIMAAN MAHASISWA BARU

PENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI

1. mampu menampilkan bobot dari data yang ada sehingga hasil pencarian lebih akurat dan cepat

Pencocokan Citra Berbasis Graph untuk Pengenalan dan Pemilihan Kembali (Retrieval) Oleh: Yureska Angelia ( )

Penerapan Algoritma GRAC (Graph Algorithm Clustering) untuk Graph Database Compression

PERBANDINGAN METODE NEAREST NEIGHBOR DAN ALGORITMA C4.5 UNTUK MENGANALISIS KEMUNGKINAN PENGUNDURAN DIRI CALON MAHASISWA DI STMIK AMIKOM YOGYAKARTA

SISTEM INFORMASI PEGAWAI BERBASIS WEB DENGAN METODE WATERFALL PADA SMA AISYIYAH 1 PALEMBANG

PERANCANGAN APLIKASI PENCARIAN RUTE TERPENDEK MENEMUKAN TEMPAT PARIWISATA TERDEKAT DI KEDIRI DENGAN METODE FLOYD- WARSHALL UNTUK SMARTPHONE

DETEKSI MARKA JALAN DAN ESTIMASI POSISI MENGGUNAKAN MULTIRESOLUTION HOUGH TRANSFORM

Analisis Business Process Model Similarity Checking Menggunakan Teknik Greedy Graph Matching

Penerapan Fungsi Data Mining Klasifikasi untuk Prediksi Masa Studi Mahasiswa Tepat Waktu pada Sistem Informasi Akademik Perguruan Tinggi

BILANGAN DOMINASI DAN BILANGAN KEBEBASAN GRAF BIPARTIT KUBIK. Jl. Prof. H. Soedarto, S. H, Tembalang, Semarang

VERIFIKASI TANDA TANGAN DENGAN METODE JARINGAN SYARAF TIRUAN HETEROASSOCIATIVE MEMORY ABSTRAK

PERBANDINGAN ALGORITMA DSATUR DAN ALGORITMA VERTEX MERGE UNTUK MENENTUKAN CHANNEL WLAN. Handrizal

Search Engine. Text Retrieval dan Image Retrieval YENI HERDIYENI

ABSTRAK. Kata kunci : Information Retrieval system, Generalized Vector Space Model. Universitas Kristen Maranatha

PATH KUAT TERKUAT DAN JARAK KUAT TERKUAT DALAM GRAF FUZZY. Lusia Dini Ekawati 1, Lucia Ratnasari 2. Jl. Prof. H. Soedarto, S. H, Tembalang, Semarang

RANCANG BANGUN APLIKASI MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

BAB I PENDAHULUAN. 1.1 Latar Belakang

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik

Penerapan Pewarnaan Titik pada Graf dalam Penyusunan Lokasi Duduk Menggunakan Algoritma Greedy Berbantuan Microsoft Visual Basic 6.

APLIKASI PEWARNAAN GRAF PADA MASALAH PENYUSUNAN JADWAL PERKULIAHAN DI UNIVERSITAS KUNINGAN

BILANGAN DOMINASI EKSENTRIK TERHUBUNG pada GRAF

SIMULASI DAN ANALISIS KLASIFIKASI GENRE MUSIK BERBASIS FFT DAN CONTINOUS DENSITY HIDDEN MARKOV MODEL

KLASIFIKASI KARAKTERISTIK MAHASISWA UNIVERSITAS COKROAMINOTO PALOPO MENGGUNAKAN METODE NAÏVE BAYES DAN DECISION TREE. Yuli Hastuti

SISTEM PAKAR MENDIAGNOSA PENYAKIT UMUM YANG SERING DIDERITA BALITA BERBASIS WEB DI DINAS KESEHATAN KOTA BANDUNG

Perbandingan Kompleksitas Algoritma Prim, Algoritma Kruskal, Dan Algoritma Sollin Untuk Menyelesaikan Masalah Minimum Spanning Tree

8. Algoritma Greedy. Oleh : Ade Nurhopipah

PELABELAN TOTAL TITIK AJAIB PADA GRAF LENGKAP DENGAN METODE MODIFIKASI MATRIK BUJURSANGKAR AJAIB DENGAN n GANJIL, n 3

NILAI EKSAK BILANGAN DOMINASI COMPLEMENTARY TREE TERHUBUNG-3 PADA GRAF CYCLE, GRAF LENGKAP DAN GRAF WHEEL. Jl.Prof. H.Soedarto,SH, Tembalang, Semarang

Kata kunci: Sistem Informasi, poin of sale, aplikasi data mining, algoritma apriori, Borland Delphi, SQL 2000, Association rules.

PELABELAN GRACEFUL SISI-GANJIL PADA GRAF WEB W(2,n) Jl. Prof. H. Soedarto, S.H. Semarang 50275

GRAF DIVISOR CORDIAL

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

Algoritma Penentuan Graf Bipartit

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Riau Kampus Binawidya Pekanbaru (28293), Indonesia

Penggunaan Deep Learning untuk Prediksi Churn pada Jaringan Telekomunikasi Mobile Fikrieabdillah

RANCANG BANGUN APLIKASI MARKET BASKET ANALYSIS (MBA) PADA MINIMARKET UD. DIANI DENGAN ALGORITMA CT-PRO

ANALISA POLA DATA HASIL PEMBANGUNAN KABUPATEN MALANG MENGGUNAKAN METODE ASSOCIATION RULE

PENENTUAN PENERIMA BEASISWA PENINGKATAN PRESTASI AKADEMIK DENGAN ALGORITME C5.0

BAB I PENDAHULUAN 1.1 Latar Belakang

PELABELAN PRIME CORDIAL PADA BEBERAPA GRAF YANG TERKAIT DENGAN GRAF SIKEL

G : ( σ, µ ) dengan himpunan titik S yaitu

ABSTRAK. Kata kunci: material control, supplier, proyek, quality control, material, user. vii Universitas Kristen Maranatha

METODE ADAPTIVE-SECTING DIVISIVE CLUSTERING DENGAN PENDEKATAN GRAF HUTAN YANG MINIMUM

BAB IV HASIL PENELITIAN DAN PEMBAHASAN

ANALISA PENCARIAN FREQUENT ITEMSETS MENGGUNAKAN ALGORITMA FP-MAX

ANALISIS DAN IMPLEMENTASI CLUSTER-SMOOTHED PADA COLLABORATIVE FILTERING ANALYSIS AND IMPLEMENTATION OF CLUSTER-SMOOTHED FOR

Latar Belakang Masalah Masing-masing algoritma hanya dapat bekerja pada pada data lengkap (algoritma CB) dan data tidak lengkap (algortima BC) untuk m

Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer

PERANCANGAN DAN PEMBUATAN APLIKASI PENCARIAN INFORMASI BEASISWA DENGAN MENGGUNAKAN COSINE SIMILARITY

Analisis Performansi Metode Graph Decomposition Index pada Graph Database Isjhar Kautsar Fakultas Informatika Telkom University Bandung, Indonesia

ISSN : e-proceeding of Engineering : Vol.2, No.2 Agustus 2015 Page 6665

BAB II TINJAUAN PUSTAKA

LIPATAN GRAF DAN KAITANNYA DENGAN MATRIKS INSIDENSI PADA BEBERAPA GRAF

REKAYASA PERANGKAT LUNAK DETEKSI DINI KECENDERUNGAN GANGGUAN KESEHATAN MASYARAKAT TERTINGGAL DAN PESISIR DENGAN BAYESIAN NETWORK

Penggunaan Algoritma Kruskal yang Diperluas untuk Mencari Semua Minimum Spanning Tree Tanpa Konstren dari Suatu Graf

EFISIENSI PHRASE SUFFIX TREE DENGAN SINGLE PASS CLUSTERING UNTUK PENGELOMPOKAN DOKUMEN WEB BERBAHASA INDONESIA

TEOREMA CAYLEY DAN PEMBUKTIANNYA

FREQUENT ITEMSET MINING MENGGUNAKAN ALGORITMA PIE

PERBAIKAN INISIALISASI K-MEANS MENGGUNAKAN GRAF HUTAN YANG MINIMUM. Achmad Maududie 1 Wahyu Catur Wibowo 2. Abstrak

PANDUAN PENCARIAN RUTE GEDUNG DAN RUANGAN PADA FAKULTAS DI UNIVERSITAS HALU OLEO MENGGUNAKAN ALGORITMA DIJKSTRA BERBASIS MACROMEDIA FLASH

APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN

JURNAL TEKNIK ITS Vol. 6, No. 2, (2017) ISSN: ( Print) A-534

PELABELAN TOTAL TITIK AJAIB PADA COMPLETE GRAPH K DENGAN N GENAP

PENGENALAN HURUF HASIL DARI TULISAN TANGAN MENGGUNAKAN ALGORITMA FORWARD-ONLY COUNTER PROPAGATION

ANALISA HASIL PERBANDINGAN IDENTIFIKASI CORE POINT PADA SIDIK JARI MENGGUNAKAN METODE DIRECTION OF CURVATURE DAN POINCARE INDEX

Bab 1 PENDAHULUAN 1.1 Latar Belakang Masalah

PENGELOMPOKAN DOKUMEN MENGGUNAKAN ALGORITMA DIG (DOCUMENT INDEX GRAPH)

ANALISIS IMPLEMENTASI SYNTATIC LABEL MATCHING SIMILARITY UNTUK MEMERIKSA KEMIRIPAN LABEL PADA MODEL PROSES BISNIS

ALGORITMA NEAREST NEIGHBOR

Penerapan Logika Samar dalam Peramalan Data Runtun Waktu

Implementasi Teori Graf Dalam Masalah Fingerprint Recognition (Pengenalan Sidik Jari)

PERTEMUAN 3 MODEL DATA JUM AT,

PELABELAN SIGNED PRODUCT CORDIAL PADA GRAF PATH, CYCLE, DAN STAR

PERANCANGAN DAN IMPLEMENTASI SISTEM REKOMENDASI PENCARIAN BUKU PERPUSTAKAAN MENGGUNAKAN METODE VECTOR SPACE MODEL

ABSTRAK. : strategi bisnis, penjualan online, CRM, interaksi. Universitas Kristen Maranatha

BAB III ANALISA DAN PERANCANGAN SISTEM

KLASTERISASI BERDASARKAN KESAMAAN POLA DENGAN MENGGUNAKAN ALGORITMA PCLUSTER (Kata kunci: Penggalian Data, Klasterisasi Kesamaan Pola)

ABSTRAK. Universitas Kristen Maranatha

Aplikasi Graf pada Deskripsi Sistem Lokalisasi Robot Humanoid dengan Metode Monte Carlo Localization dan K Means Clustering

TEKNIK DATA MINING UNTUK MEMPREDIKSI MASA STUDI MAHASISWA MENGGUNAKAN ALGORITMA K-NEAREST NEIGHBORHOOD

ANALISIS ALGORITMA RP-GD DALAM KUALITAS PERINGKASAN GRAF DARI BASISDATA GRAF

SISTEM REKOMENDASI PENENTUAN JUDUL SKRIPSI MENGGUNAKAN ALGORITMA DECISION TREE

ABSTRAK. Kata kunci: Google Maps, travelling salesman problem, pencarian rute, Branch and Bound. vi Universitas Kristen Maranatha

Model Prediksi Berbasis Neural Network untuk Pengujian Perangkat Lunak Metode Black-Box

PENERAPAN METODE POHON KEPUTUSAN DENGAN ALGORITME ITERATIVE DYCHOTOMISER 3 (ID3) PADA DATA PRODUKSI JAGUNG DI PULAU JAWA

KLASIFIKASI PADA DATA MINING MENGGUNAKAN NAIVE BAYESIAN CLASSIFIER CLASSIFICATION FOR DATA MINING USING NAIVE BAYESIAN CLASSIFIER

Transkripsi:

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7721 Analisis dan Implementasi Graph Indexing Pada Graph Database Menggunakan Algoritma Closure Tree Analysis and Implementation of Graph Indexing for Graph Database Using Closure Tree Algorithm Riche Julianti Wibowo 1, Kemas Rahmat Saleh 2, Adiwijaya 3 1.2.3 Fakultas Informatika, Telkom Engineering School, Telkom University Jalan Telekomunikasi No.1, Dayeuh Kolot, Bandung 40257 richewibowo@gmail.com 1, bagindok3m45@gmail.com 2, kang.adiwijaya@gmail.com 3 Abstrak Graph menjadi populer untuk pemodelan data terstruktur seperti senyawa kimia. Teknologi basisdata seperti relational database kurang efektif menangani data yang terstruktur. Maka, graph database dibutuhkan. Untuk menangani pencarian informasi terhadap data yang terstruktur pada graph database digunakan metode graph indexing agar lebih cepat dan efisien. Dari beberapa metode graph indexing yang ada, Closure tree (C-tree) adalah metode graph indexing yang paling tepat digunakan karena menggunakan konsep graph closure dimana setiap simpul merangkum informasi dari simpul-simpul keturunannya dan membangun tree sebagai index. Pada tugas akhir ini diharapkan mampu menerapkan algoritma C-tree pada graph indexing dengan dataset bertipe molekul serta menganalisis answer set, tree construction, dan query time yang dihasilkan. Kata kunci : graph, graph database, graph indexing, graph closure, C-tree. Abstract Graphs have become popular for modeling structured data such as chemical coumpounds. Database technologies such as relational databases are less effective to handling structured data. then, graph database is needed.to handle the information search against structured data in databases used graph indexing methods for more quickly and efficiently. Of the several methods of indexing the existing graph, tree Closure (C-tree) is a graph indexing method most appropriate to use as it uses the concept of closure in which each node graph summarizes information from nodes offspring, and build tree as a index. In this final project is expected to implement the C -tree algorithm on the graph indexing with the dataset type of molecule and analyze answer set, tree construction, and query time. Keywords: graph, graph databases, graph indexing, graph closure, C-tree. 1

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7722 1. Pendahuluan Perkembangan zaman telah berpengaruh pada pertumbuhan data yang makin meningkat dan bervariasi. Untuk menanganinya, perusahaanperusahaan menggunakan relational database karena mudah dan mendukung banyak tipe data. Namun ada suatu tipe data yang berbeda dari tipe data pada umunya, yaitu tipe data graf yang memiliki simpul dan sisi. Dalam tipe data graf, relational database kurang efektif untuk menanganinya karena tipe data nya yang saling terkait. Graf dan pemrosesan graph query pun telah berkembang pesat dikarenakan penggunaannya yang terbilang cukup sering. Secara umum, graf telah digunakan untuk memodelkan senyawa kimia[5], struktur protein[9], dan social networks[3]. Dari semua kasus tersebut, penggunaan graph database dapat mendukung memodelkan suatu data yang terstruktur. Pengimplementasian graph database untuk menangani tipe data yang terstruktur dinilai lebih efektif daripada menggunakan relational database[14]. Dalam melakukan pencarian query pada graph database dibutuhkan suatu metode yang berbeda dari relational database. Maka, untuk menangani pencarian query terhadap data yang terstruktur pada graph database digunakan metode graph indexing agar lebih cepat. Beberapa metode graph indexing yaitu GIndex[1], C-tree[4], Graphgrep[2], dan Gstring[7]. Dari sekian banyak metode graph indexing yang ada, Closure tree (C-tree) dianggap paling tepat. Hal ini disebabkan tahapan-tahapannya cukup sederhana yaitu menggunakan konsep graph closure untuk menggabungkan beberapa simpul dan/atau sisi sehingga membentuk suatu graf baru yang didasarkan pada pemetaannya, melakukan search phase untuk menghasilkan candidate answer set, dan melakukan verification phase untuk mencari answer set. Pada tugas akhir ini, dataset yang digunakan adalah bertipe molekul. Karakteristik dari tipe data molekul yaitu tidak berarah dan tidak berbobot dianggap cocok dalam penggunaan tahapan graph closure. Karena tahapan graph closure tidak memerhatikan arah dan bobot dari dataset. Tujuan melakukan graph closure pada dataset adalah untuk membangun index yang berbentuk tree sehingga memudahkan dalam melakukan pemrosesan dan pencarian query. Karena index yang dibangun adalah berbetuk tree, maka tahapan dari graph closure akan membuat query time yang dibutuhkan menjadi lebih cepat. 2. Landasan Teori 2.1 Graph Database Graph database adalah teknologi basis data yang seperti pada graf terdiri atas kumpulan sisi (edges) dan simpul (vertices) yang dapat diakses secara langsung [6]. Graph database[11] didasarkan pada teori graf. Secara umum, simpul mewakili entitas, properti mewakili atribut, dan sisi mewakili hubungan. Gambar 2-1: Contoh graf database 2.2 Closure Tree Closure Tree merupakan salah satu teknik graph indexing yang berbasis tree. Setiap simpul berisi informasi dari simpul-simpul keturunannya yang direpresentasikan dengan graph closure [12]. Algoritma C-tree terbagi menjadi tiga fase yaitu index construction, search phase, dan verification phase. 2.2.1 Teknik Graph Closure Index construction pada C-tree dibuat dengan menggunakan teknik graph closure. Graph closure menggabungkan kedua graf menjadi suatu graf baru sesuai dengan atribut dari setiap simpul dan sisi yang sama. Graf yang baru ini menangkap informasi struktural dari tiap graf sebelumnya. Keterkaitan antar dua graf bergantung kepada graph mapping yang mendasarinya. Sehingga dapat disimpulkan bahwa graph closure dari dua graf G1 dan G2 akan menghasilkan suatu graf baru yang dilambangkan C1 = closure(g1, G2)[4] dimana simpul dari C1 merupakan gabungan dari simpul G1 dan G2 yang memiliki informasi yang sama dan sisi dari C1 merupakan gabungan dari sisi G1 dan G2 yang memiliki informasi yang sama pula. Namun sebelum melakukan teknik graph closure, dari dataset yang ada akan dibandingkan antara satu graf dengan graf lainnya untuk diketahui nilai similarity yang dimilikinya. Hal ini bertujuan untuk memudahkan dalam melakukan teknik graph closure. 2.2.2 Search Phase Mengunjungi semua C-tree dari atas (root) hingga ke bawah (leaf). Pada search phase ini akan menghasilkan candidate answer set. 2

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7723 2.2.3 Verification Phase Candidate answer set yang telah dihasilkan oleh search phase di verifikasi pada fase ini. Hasil dari fase ini yaitu answer set. 2.3 Teorema Closure Tree Dalam tugas akhir ini dijabarkan tentang teorema dari C-tree, yaitu: 2.3.1 Teorema 1 Tingkat similarity antara dua graf G1 dan G2 berdasarkan pemetaannya adalah jumlah dari kecocokan antara simpul dan sisi di G1terhadap G2. si ( 1, 2) = (, ( )) + (, ( )) - sisi AC pada G1 yang cocok dengan sisi AC pada G2 Maka dari itu (, ( )) = 3 Berdasarkan dari rumus (2.1) dan gambar 2-10, maka sim(g1,g2) = 6. 2.3.2 Teorema 2 Closure dari seperangkat simpul adalah gabungan dari nilai-nilai atribut simpul. Demikian juga dengan sisi, closure dari seperangkat sisi adalah gabungan dari nilai-nilai atribut sisi. 2.3.3 Teorema 3 Closure dari dua graf G1 dan G2 berdasarkan V1 (2.1) E1 pemetaannya adalah G(V,E) dimana V adalah himpunan vertex closure yang sesuai dan E adalah hinpunan edge closure yang sesuai. Dilambangkan dengan closure(g1, G2). 2.3.4 Teorema 4 Volume dari graph closure C adalah hasil dari jumlah vertex closure VC dan edge closure EC. ( ) = v VC (2.2) e EC Gambar 2-2: Similarity G1 terhadap G2 (, ( )) adalah jumlah dari kecocokan simpul antar graf. Jika dilihat dari gambar 2-2 antara G1 dan G2, maka jumlah kecocokan simpul adalah 3 yaitu : - simpul A pada G1 yang cocok dengan simpul A pada G2 - simpul B pada G1 yang cocok dengan simpul B pada G2 - simpul C pada G1 yang cocok dengan simpul C pada G2 Maka dari itu (, ( )) = 3 Kemudian (, ( )) adalah jumlah dari kecocokan sisi antar graf. Jika dilihat dari gambar 2-2 antara G1 dan G2, maka jumlah kecocokan sisi adalah 3 yaitu : - sisi AB pada G1 yang cocok dengan sisi AB pada G2 - sisi BC pada G1 yang cocok dengan sisi BC pada G2 Gambar 2-3: C1=closure(G1,G2) Vertex closure adalah simpul yang merupakan hasil dari graph closure dari dua graf sebelumnya. Begitupun dengan edge closure adalah sisi yang merupakan hasil dari graph closure dari dua graf sebelumnya. Sebagai contoh jika ada dua graf G1 dan G2 seperti pada gambar 2-3, simpul A pada C1 merupakan hasil graph closure dari simpul A pada G1 dan simpul B pada G2. Maka simpul A merupakan vertex closure. Dan sisi AB pada C1 merupakan hasil 3

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7724 graph closure dari sisi AB pada G1 dan sisi AB pada G2. Maka sisi AB merupakan edge closure. 4

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7725 adalah hasil dari jumlah vertex closure. Jika dilihat dari gambar 2-11maka = 4 = 4 - simpul A pada C1 merupakan hasil graph closure dari simpul A di G1 dan G2 - simpul B pada C1 merupakan hasil graph closure dari simpul B di G1 dan G2 - simpul C pada C1 merupakan hasil graph closure dari simpul C di G1 dan G2 simpul {D, } pada C1 merupakan hasil graph closure dari simpul { } di G1 dan D di Start Stop Tampilkan Answer Set Input Graph Graph Dataset Dataset Index Construction No Ada Candidate Answer Set? Yes Verifikasi Phase Input Graph Query Search Phase G2 Dari persamaan i I X = {f : I i I X ( )( (i ) X ) } (2.3) Maka v VC 4 = v VC 4 adalah hasil dari jumlah edge closure. Jika dilihat dari gambar 2-11maka = 4 = 4 - sisi AB pada C1 merupakan hasil graph closure dari sisi AB di G1 dan G2 - sisi BC pada C1 merupakan hasil graph closure dari sisi BC di G1 dan G2 - sisi AC pada C1 merupakan hasil graph closure dari sisi AC di G1 dan G2 sisi BD pada C1 merupakan hasil graph closure dari sisi { } di G1 dan D di G2 Dari persamaan (2.3) maka e EC 4 = e EC 4 Berdasarkan dari rumus (2.2) pada teorema 4 dan dapat dilihat pada gambar 2-3, maka v V 4 e EC 4 = v VC 4 X e EC 4 = 4 Jadi volume (C1) = 4 3. Analisis Perancangan dan Implementasi Berikut ini adalah gambaran umum sistem yang akan dibangun pada Tugas Akhir ini Gambar 3-1: Gambaran sistem Secara umum sistem akan menerima dua file, yang pertama berupa dataset graph database dengan format yang telah ditentukan dan yang kedua berupa query graph yaitu file berisi graf yang digunakan untuk mendapatkan answer set. Pertama user akan memasukkan dataset. Sistem lalu memproses dataset untuk membangun index dengan cara membuat graph closure dari dataset setelah itu sistem akan membuat tree dari graph closure yang telah dibuat. Masukkan yang kedua adalah query graph. Tahap selanjutnya yaitu search phase. Pada tahap search phase, sistem akan menghasilkan candidate answer set. Jika candidate answer set tidak ditemukan maka sistem akan langsung selesai untuk menyatakan bahwa graph query tidak ditemukan di dataset. Tapi jika candidate answer set ditemukan, maka sistem akan melanjutkan ke tahap selanjutnya yaitu melakukan verification phase. Pada tahap ini, sistem memverifikasi antara graph query dengan setiap graf dari candidate answer set untuk mendapatkan answer set. 4. Pengujian dan Analisis 4.1 Skenario Pengujian Skenario pengujian dilakukan untuk melakukan langkah-langkah dalam melakukan pengujian dengan dataset berjumlah 750 graf bertipe molekul. Jumlah skenario pengujian dilakukan sebanyak empat. Berikut skenario yang akan dilakukan : 1. Pengaruh ukuran nilai threshold terhadap jumlah candidate answer set 2. Pengaruh ukuran nilai threshold terhadap jumlah answer set 3. Pengaruh ukuran nilai threshold terhadap waktu seluruh proses query 4. Pengaruh ukuran nilai threshold terhadap akurasi dari algoritma C-tree 5

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7726 4.1.1 Pengaruh Ukuran Nilai Threshold terhadap Jumlah Candidate Answer Set Pengujian dilakukan untuk menghitung jumlah candidate answer set dari proses search phase menggunakan 3 nilai threshold dari skala 0 sampai 1 yaitu, 5, dan untuk setiap jumlah dataset yang telah ditentukan yaitu data reference 150, 300, 450, 600, dan 750 serta data testing 375. Dan juga menggunakan 2 jenis query yaitu query yang memiliki 1 siklik dan yang tidak memiliki siklik. 4.1.2 Pengaruh Ukuran Nilai Threshold terhadap Jumlah Answer Set Pengujian dilakukan untuk menghitung jumlah answer set dari proses verification phase menggunakan 3 nilai threshold dari skala 0 sampai 1 yaitu, 5, dan untuk setiap jumlah dataset yang telah ditentukan yaitu data reference 150, 300, 450, 600, dan 750 serta data testing 375. Dan juga menggunakan 2 jenis query yaitu query yang memiliki 1 siklik dan yang tidak memiliki siklik. 4.1.3 Pengaruh Ukuran Nilai Threshold terhadap Waktu Seluruh Proses Query Pengujian dilakukan untuk mengukur waktu seluruh proses query menggunakan 3 nilai threshold dari skala 0 sampai 1 yaitu, 5, dan untuk setiap jumlah dataset yang telah ditentukan yaitu data reference 150, 300, 450, 600, dan 750 serta data testing 375. Waktu seluruh proses query sudah termasuk waktu hasil search phase dan verification phase. Dan juga menggunakan 2 jenis query yaitu query yang memiliki 1 siklik dan yang tidak memiliki siklik. 4.1.4 Pengaruh Ukuran Nilai Threshold terhadap Akurasi Dari Penggunaan Algoritma C- tree Pengujian dilakukan untuk mengukur waktu seluruh proses query menggunakan 3 nilai threshold dari skala 0 sampai 1 yaitu, 5, dan untuk setiap jumlah dataset yang telah ditentukan yaitu data reference 150, 300, 450, 600, dan 750 serta data testing 375. Nilai akurasi adalah nilai dengan skala 0 sampai 1 yang berarti semakin tinggi nilai akurasi, maka algoritma C- tree yang digunakan adalah makin bagus. Dan nilai akurasi didapatkan dengan membagi jumlah answer set dan jumlah candidate answer set. Dan juga menggunakan 2 jenis query yaitu query yang memiliki 1 siklik dan yang tidak memiliki siklik. 4.2 Analisis Hasil Pengujian Bagian ini memaparkan hasil implementasi yang dilakukan berdasarkan skenario yang sudah di laksanakan 4.2.1 Analisis Hasil Pengaruh Ukuran Nilai Threshold terhadap Jumlah Candidate Answer Set Pengujian dilakukan dengan menggunakan 4 query untuk masing-masing pengujian, yaitu: TH Tabel 4-1: Tabel Query No Query Jumlah Simpul Siklik 1 BrC(Br)=Cc1ccccc1 10 Ya 2 O=C(OCC)CNNCC 10 Tidak 3 BrCCc1ccc(cc1)CCBr 12 Ya 4 OC(C)(C#CC(O)(C)CC)CC 12 Tidak Berikut merupakan hasil pengujian yang telah didapatkan Tabel 4-2: Tabel analisis jumlah candidate answer set Jumlah Candidate Answer Set 20 27 133 42 46 5 12 15 92 22 24 3 4 40 4 5 49 89 36 175 220 5 37 62 18 111 140 13 26 4 48 59 20 27 36 43 47 5 14 17 21 25 27 4 6 6 6 7 69 128 199 262 315 5 53 97 144 184 219 32 51 76 103 118 6

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7727 J U M L A H C A N D I DAT E SET 27 133 46 15 22 24 92 3 4 5 40 48 9 9 36 17 2 5 20 3 6 7 2 18 11 1 4 1 0 1 2 3 6 44 5 8 9 27 3 4 6 47 3 17 25 27 4 6 315 7 69121 8 9 2962 53 971 14844 219 3 5 2 7 1 6 118 03 bahwa ukuran threshold sangat mempengaruhi jumlah candidate answer set hingga melebihi 50%. 4.2.2 Analisis Hasil Pengaruh Ukuran Nilai Threshold terhadap Jumlah Answer Set Answer set didapatkan dari candidate anwer set yang telah di verifikasi. Berikut merupakan hasil pengujian yang telah didapatkan Tabel 4-3: Tabel analisis jumlah answer set Gambar 4-1: Diagram jumlah candidate answer set Analisis yang dapat diambil berdasarkan data tabel 4-2 bahwa semakin besar nilai threshold maka semakin kecil jumlah candidate answer set yang didapatkan untuk masing-masing jumlah dataset. Dan semakin besar nilai threshold maka semakin besar jumlah candidate answer set yang didapatkan untuk jumlah dataset yang semakin membesar juga. Hal ini dikarenakan semakin besar nilai threshold maka akan memperkecil kemungkinan jumlah candidate set yang didapatkan. Artinya, yang diambil hanya graf yang memiliki tingkat kemiripan tinggi dengan query. Karena jika nilai threshold semakin besar, maka hanya nilai similarity tertinggi saja yang diambil untuk menjadi candidate answer set. Semakin tinggi nilai similarity antar graf maka akan semakin tinggi kemiripan antar graf. Kesimpulan lain yang didapatkan yaitu bahwa nilai threshold dapat mempengaruhi jumah dataset jika DR Jumlah Answer Set 1 1 1 1 1 5 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 5 0 0 1 1 1 0 0 1 1 1 1 1 1 1 2 5 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 5 1 1 1 1 1 1 1 1 1 1 2.5 2 Jumlah Answer Set 2 2 2 dataset yang digunakan semakin besar. Hal ini dikarenakan semakin besar jumlah dataset, maka akan semakin tinggi kemungkinan untuk menemukan lebih banyak candidate answer set. Dari data tabel 4-2 juga didapatkan terdapat perbedaan antara keempat query. Secara keseluruhan, query 2 dan query 4 menghasilkan jumlah candidate answer set yang lebih besar dibandingkan query 1. Karena query 2 dan query 4 merupakan query yang sederhana maka sebagian besar dataset memiliki nilai similarity yang tinggi terhadap query 2 sehingga memiliki candidate answer set yang berjumlah lebih besar. Jika diambil contoh dari dataset 750 pada query 2, maka perbedaan jumlah candidate answer set adalah rata-rata sebesar 55.801%. Hal ini menunjukkan 1.5 0.5 0 11111 11111 11111 111 5 00 00 111 5 00 111 1111 1111 1111 11111 11111 11111 5 5 Gambar 4-2: Diagram jumlah answer set Berdasarkan hasil pengujian pada tabel 4-3 dapat disimpulkan bahwa nilai threshold tidak mempengaruhi hasil answer set. Hal ini dibuktikan pada hampir keseluruhan dataset memiliki jumlah answer set yang sama walaupun nilai threshold berbeda. Hal ini dikarenakan answer set hanya 7

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7728 dipengaruhi oleh candidate answer set dan query itu sendiri yaitu dengan membandingkan antara candidate answer set yang telah didapatkan sebelumnya pada pengujian 4.2.1 dengan query yang diinginkan untuk menghasilkan nilai similarity yang memiliki nilai 1. Itu sebabnya, hasil answer set pada tabel 4-3 adalah bernilai 1 atau 0. Nilai 0 yang ditujukkan pada query 2 di data 150 dan 300 hasil answer set menunjukan kosong, ini dikarenakan query yang diminta tidak ditemukan didalam dataset. 4.2.3 Analisis Hasil Pengaruh Ukuran Nilai Threshold terhadap Waktu Seluruh Proses Query Berikut merupakan hasil yang didapat berdasarkan pengujian: Q U E R Y T I M E 2.37 3 9. 7 0 8 5065 3.756 4 0. 4 7372 5.14547 2.37 3 6.0 7 2 3 995 3.739 4 6. 4 7065 5.13341 2.37 3 1.0 5 1 5 776 3.726 4 8.55 7.1 3 2 037 2.4 2 8. 6 9 7 3 7 3.5833 992 4 6.58789 4.92311 2.4 2 0. 2 9 1 3 7 3.582 272 4 4.4 3 4.86657 1315 2.3 2 9. 0 9 7 3 9 3.57 112 4 0. 6 3 5 4.85788 0678 2.8951 3 9.9854 0. 1 9 57.85505339 6.45942 2.87 3 8.5 2 1 9 734 6.587 54.467072 6.36654 2.72 3 7. 3 4 4 383 46.517 5 2. 6 45635 6.28684 3.02 3 5. 2 7 9 0745 4.429 5 2. 9 3316 2. 6 25158 2.84 3. 4 5 4 384 6.4 3 19 50.340591 6.22107 2.676 3 9.5 3 064 1. 7 409 58.29799 6.21844 DR 5 5 5 5 Tabel 4-4: Tabel waktu seluruh proses query Query Time (detik) 2.37978 3.05065 3.75604 4.7372 5.14547 2.37673 3.02995 3.73964 4.7065 5.13341 2.37155 3.01776 3.7268 4.55732 5.12037 2.48677 2.93992 3.58336 4.58789 4.92311 2.40217 2.93272 3.58243 4.41315 4.86657 2.39079 2.93112 3.57065 4.30678 4.85788 2.89519 3.98501 4.97855 5.50339 6.45942 2.87829 3.51736 4.58746 5.47072 6.36654 2.72734 3.43836 4.51726 5.45635 6.28684 3.02529 3.70745 4.42929 5.33126 6.25158 2.84344 3.53863 4.41904 5.30591 6.22107 2.67693 3.50617 4.4098 5.29799 6.21844 Gambar 4-3: Diagram waktu seluruh proses query Berdasarkan hasil pengujian pada tabel 4-4 dapat disimpulkan bahwa nilai threshold dapat mempengaruhi waktu seluruh proses query. Proses query yang dimaksud adalah waktu dalam melakukan perhitungan nilai similarity, pencarian candidate answer set, pencarian answer set, dan mengukur akurasi. Dalam satu dataset, semakin besar nilai threshold maka semakin kecil query time yang dibutuhkan. Hal ini dapat dilihat dari banyaknya candidate answer set yang dihasilkan sebelumnya pada pengujian 4.2.1 karena dari data pengujian candidate answer set yang dihasilkan semakin banyak maka akan membutuhkan query time yang lebih lama. Hal ini juga sama dengan jumlah dataset, dapat dilihat pada diagram 4-3 semakin besar jumlah dataset dan semakin besar nilai threshold maka semakin membutuhkan query time yang lebih lama pula. Hal ini dikarenakan, semakin besar jumlah dataset maka akan membutuhkan waktu lebih lama pada perhitungan nilai similarity karena harus dilakukan pada tiap dataset yang ada. 4.2.4 Analisis Hasil Pengaruh Ukuran Nilai Threshold terhadap Akurasi Dari Penggunaan Algoritma C-tree Berikut merupakan hasil yang didapat berdasarkan pengujian: 8

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7729 DR 5 5 5 5. 0 3 5 0. 023 7 0.0217 8. 6 8 7 0. 0 4 5 5 4 33 0.04167 6 5 0.2 0 5 0.25.333 0.2 Tabel 4-5: Tabel akurasi Akurasi 0.05 0.037 0.0278 0.0238 0.0217 0.0833 0.067 0.0556 0.04545 0.04167 0.333 0.25 0.25 0.25 0.2 0 0 0.0075 0.0057 0.0045 0 0 0.0108 0.009 0.0071 0 0 0.025 0.0208 0.0169 0.05 0.037 0.2778 0.0233 0.04255 0.714 0.0588 0.0476 0.04 0.074 0.25 0.167 0.167 0.167 0.2857 0.0145 0.0078 0.005 0.0038 0.0032 0.01886 0.0103 0.0069 0.0054 0.0045 0.03125 0.0196 0.0131 0.0097 0.0084 A K U R A S I 150 300 450 0 0.0045 0.005 7 7 5 0 0.0071 1 9 08 0 0. 020 5 0.0169 8.. 3 5 7 0 0.2778.. 0 2 4 3 2 3 55 0.714 0 0.0.0 4 74 0.1 0 6. 7 0.167 25 0.2857 0 0.. 0 0 4 5 7 8 6 8 Gambar 4-4 : Diagram akurasi 0.. 00 1 7 4 8 5 8 5 0.0032 0. 0 1 0 8 3 0.005 6 86 0.0045 4 9 0. 0 6 1 9 3 7 1 25 0.0084 Pada hasil pengujian pada tabel 4-5 dapat disimpulkan bahwa nilai threshold dapat mempengaruhi nilai akurasi dari algoritma C-tree. Nilai threshold dapat mempengaruhi jumlah candidate answer set, dan jumlah candidate answer set merupakan salah satu faktor yang mempengaruhi nilai akurasi. Dari data yang didapatkan, dalam satu dataset semakin besar nilai threshold maka semakin besar pula nilai akurasi. Nilai akurasi didapatkan dengan membagi antara jumlah answer set dengan jumlah candidate answer set. Sebagai contoh pada threshold di dataset 150 dengan query 1, candidate answer set yang dihasilkan adalah 20, dan answer set yang dihasilkan adalah 1. Maka akurasi yang didapatkan adalah 1/20 = 0.05. Jika diukur dengan skala 0 sampai 1 maka tingkat akurasi algoritma C-tree kurang bagus. Hal ini karena dari 20 candidate answer set yang didapat hanya bisa menghasilkan 1 answer set yang didapat. Dari diagram 4-4 juga dapat dilihat dengan jelas perbedaan pada masing-masing threshold terutama pada nilai threshold yang memiliki jumlah jauh lebih tinggi dibanding dengan nilai threshold. Hal tersebut menunjukkan bahwa semakin tinggi nilai threshold maka hasil yang didapat akan lebih akurat dalam penggunaan algoritma C-tree. 5. Kesimpulan dan Saran 5.1 Kesimpulan Berdasarkan pengujian yang telah dilakukan pada tugas akhir ini, maka dapat diperoleh kesimpulan sebagai berikut: 1. Semakin besar nilai threshold maka semakin kecil jumlah candidate answer set yang didapatkan untuk masing-masing jumlah dataset. 2. Nilai threshold tidak mempengaruhi hasil answer set. Karena answer set dipengaruhi oleh candidate answer set dan query yaitu dengan membandingkan antara candidate answer set yang telah didapatkan sebelumnya dengan query untuk menghasilkan nilai similarity yang memiliki nilai 1. 3. Nilai threshold dapat mempengaruhi waktu seluruh proses query. Dalam satu dataset, semakin besar nilai threshold maka semakin kecil query time yang dibutuhkan. Hal ini juga sama dengan jumlah dataset, semakin besar nilai threshold maka semakin membutuhkan query time yang lebih lama pula. 4. Nilai threshold dapat mempengaruhi nilai akurasi dari algoritma C-tree. Dalam satu dataset semakin besar nilai threshold maka semakin besar pula nilai akurasi. Dan semakin besar jumlah dataset ternyata 9

ISSN : 2355-9365 e-proceeding of Engineering : Vol.2, No.3 Desember 2015 Page 7730 membuat nilai akurasi beragam, ada yang bertambah besar nilai akurasi nya dan ada yang semakin mengecil jumlah akurasi nya. 5. Dari pengujian yang telah dilakukan, semakin besar nilai threshold yang digunakan maka akan lebih optimal untuk menghasilkan candidate answer set, query time, dan nilai akurasi 6. Dari pengujian yang didapatkan, dapat disimpulkan bahwa algoritma C-tree memiliki kelebihan yaitu kecepatannya dalam proses query dapat dilihat dari hasil uji yang hanya membutuhkan waktu beberapa detik. Namun untuk akurasi dari penggunaan algoritma C-tree dalam pengujian ini kurang begitu bagus. 5.2 Saran Berdasarkan kesimpulan yang didapatkan dari analisis dan pengujian dari pengerjaan tugas akhir ini, maka berikut ini beberapa saran sebagai pertimbangan untuk penelitian selanjutnya yaitu: 1. Dataset pada tugas akhir ini menggunakan molekul yang memiliki sisi tidak berarah dan tidak berbobot. Untuk penelitian selanjutnya bisa menggunakan dataset yang struktur graf nya berbeda seperti social network, peta, dan lain-lain yang memiliki sisi berbobot dan berarah. 2. Untuk penelitian selanjutnya dapat menggunakan dataset dengan ukuran yang lebih besar misalnya hingga mencapai 2000 atau lebih dan menggunakan lebih banyak unsur molekul dalam dataset. 3. Untuk penelitian selanjutnya, dapat memberikan solusi untuk tingkat akurasi yang lebih baik. 4. Untuk penelitian selanjutnya dapat menerapkan algoritma lain pada proses Verification Phase untuk mencari answer set [4] H. He and A. K. Singh. Closure-tree: An index structure for graph queries. In ICDE, page 38, 2006. [5] J. Wilson, Robin, and J. Watkins, John. 1990. Graphs An Introduction Approach. [6] I Robinson, J Webber, E Eifrem. 2013. Graph databases. [7] Jiang, H., Wang, H., Yu, P. S., & Zhou, S. (2007). GString: A novel approach for efficient search in graph databases. In Proceedings of the 23rd International Conference on Data Engineering (ICDE) (pp. 566-575). [8] Dickson, Allen. 2006. Introduction to Graph Theory. [9] H. Berman et al. The protein data bank. Nucleic Acids Research, (28):235 242, 2000. [10] Ian R.,J. W.(2013). Graph Databases. O Reilly Media. [11] Sherif Sakr and Ghazi Al-Naymat. 2012. An overview of graph indexing and querying techniques. [12] Jain R., Iyengar S., Arora A. 2013. Overview of Popular Graph Databases. [13] Chad Vicknair et al. 2010. A Comparison of a Graph Database and a Relational. in ACM Southeast Regional Conference, New York. [14] Adamchick, V. 2005. Graph Theory. [15] Weininger, D. 1988. SMILES, a Chemical and Information System. 1. Introduction to Methodology and Encoding Rules. J. Chem. Inf. Comput. Sci Daftar Pustaka [1] Yan, X., P. S. Yu, & J. Han. 2004. Graph indexing: A frequent structure-based approach. In SIGMOD. [2] D. Shasha, J. T. Wang, and R. Giugno. Algorithmics and applications of tree and graph searching. In PODS, pages 39 52, 2002. [3] S. Whiteand P. Smyth. Algorithms for estimating relative importance in networks. In Proc. SIGKDD, 2003. 1 0