Mashup Informasi pada Situs Blog Institut Pertanian Bogor Berbasis Wordpress Menggunakan Web Service

MASHUP INFORMASI PADA SITUS BLOG INSTITUT
PERTANIAN BOGOR BERBASIS WORDPRESS
MENGGUNAKAN WEB SERVICE

NATAN PURNAWAN PARDOMUAN MANULLANG

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 Mashup Informasi pada
Situs Blog Institut Pertanian Bogor Berbasis Wordpress Menggunakan Web
Service adalah 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, November 2013
Natan Purnawan Pardomuan Manullang
NIM G64090099

ABSTRAK
NATAN PURNAWAN PARDOMUAN MANULLANG. Mashup Informasi pada
Situs Blog Institut Pertanian Bogor Berbasis Wordpress Menggunakan Web
Service. Dibimbing oleh FIRMAN ARDIANSYAH.
Wordpress merupakan salah satu content management system (CMS) untuk
pengembangan aplikasi web. Situs web Institut Pertanian Bogor (IPB) memiliki
subdomain bagi mahasiswa, dosen, atau lembaga kemahasiswaan untuk memiliki
sebuah blog berbasiskan Wordpress. Isi dari Wordpress biasanya memiliki
struktur yang sama dan isinya dapat dipanggil dalam format tertentu melalui web
service yang sudah tersedia di dalamnya. Pada penelitian ini akan diintegrasikan
isi dari total 20 blog Wordpress di situs IPB, yang terdiri dari lima blog
mahasiswa dan lima blog lembaga kemahasiswaan, serta sepuluh blog dosen. Web
service yang digunakan yaitu JSON API, sebuah API yang tersedia untuk
Wordpress. JSON API mengijinkan sisi klien mendapatkan dan memanipulasi isi

wordpress menggunakan HTTP request. Isi dikembalikan dalam data berstruktur
JSON yang akan mengalami praproses sehingga dapat diindeks oleh Sphinx
Search, sebuah library tambahan untuk membangun sebuah sistem pencari. Hasil
evaluasi sistem pencari yang didapatkan yaitu nilai mean average precision dari 9
query yang diuji sebesar 0.48, yang berarti sekitar 48% dokumen yang didapatkan
oleh sistem berdasarkan query, relevan terhadap query.
Kata kunci: JSON RESTful API, mashup, web service, wordpress

ABSTRACT
NATAN PURNAWAN PARDOMUAN MANULLANG. Information Mashup on
Bogor Agricultural University‟s Wordpress-Based Blog using Web Service.
Supervised by FIRMAN ARDIANSYAH.
Wordpress is one type of Content Management System (CMS) in web
application development. Bogor Agricultural University (IPB) website has
subdomains for every student, faculty, or student organization to have a blog
using Wordpress. Wordpress contents usually have standardized structure and the
contents can be called in a particular format via a web service plugin that is
installed in it. This research will integrate the contents of total 20 blogs of IPB, 5
blog each belong to students and student organizations, and the remaining 10
belong to lecturers. Web service that is used is JSON API, an API available for

Wordpress. JSON API allows the client to obtain and manipulate Wordpress
content using HTTP requests. The content is returned in JSON structured data
which will be pre-processed so that it can be indexed by Sphinx Search, an
additional library to develop a search engine. The result of the search engine
evaluation is the mean average precision of 9 queries tested to the system, which
is 0.48. That means approximately 48% of the documents retrieved by the system
based on the query, are relevant to the query.
Keyword : JSON RESTful API, mashup, web service, wordpress

MASHUP INFORMASI PADA SITUS BLOG INSTITUT
PERTANIAN BOGOR BERBASIS WORDPRESS
MENGGUNAKAN WEB SERVICE

NATAN PURNAWAN PARDOMUAN MANULLANG

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 Irman Hermadi, SKom MS
2 Ir Meuthia Rachmaniah, MSc

Judul Sl(J ipsi: Mashup InfolTlla:;i pada Situs Blog Institut Pertanian Bogor
Berbasis Wordpress Menggllnakall Web 8etvice
Nama
: N2..tan Pumawar, PardoInuan l';1anullang
NIM
: G64090099

Disetujui okh


Firman A:diansyah_ SKorn MSi

Pembimbing

Tanggal Lulus:

Judul Skripsi : Mashup Informasi pada Situs Blog Institut Pertanian Bogor
Berbasis Wordpress Menggunakan Web Service
Nama
: Natan Purnawan Pardomuan Manullang
NIM
: G64090099

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 Tuhan Yang Maha Esa atas kasih
karunia-Nya sehingga karya ilmiah yang berjudul Mashup Informasi pada Situs
Blog Institut Pertanian Bogor Berbasis Wordpress Menggunakan Web Service ini
berhasil diselesaikan. Penelitian ini dilaksanakan mulai April 2013 sampai dengan
September 2013 dan bertempat di Departemen Ilmu Komputer Institut Pertanian
Bogor.
Terima kasih penulis ucapkan kepada Bapak Firman Ardiansyah, SKom,
MSi selaku pembimbing. Ucapan terima kasih tak lupa penulis ucapkan kepada
semua pihak yang telah membantu penulisan skripsi ini, terutama rekan-rekan
satu departemen yang mendukung secara moral maupun ide-ide dalam
menyelesaikan skripsi ini, dan juga kepada Bapak Hanif Affandi Hartanto dan
Bapak Priyo Puji Nugroho dari Direktorat Komunikasi dan Sistem Informasi
Institut Pertanian Bogor. Ungkapan terima kasih juga disampaikan kepada ayah,
ibu, serta seluruh keluarga, atas segala doa dan dukungannya.

Semoga penelitian ini dapat bermanfaat.

Bogor, November 2013
Natan Purnawan Pardomuan Manullang

DAFTAR ISI
DAFTAR TABEL

vi

DAFTAR GAMBAR

vi

DAFTAR LAMPIRAN

vi

PENDAHULUAN


1

Latar Belakang

1

Perumusan Masalah

1

Tujuan Penelitian

1

Ruang Lingkup Penelitian

2

METODE


2

Analisis

2

Pemilihan dan Pemasangan Web Service

2

Akuisisi dan Transformasi Data

2

Implementasi

3

Evaluasi


4

HASIL DAN PEMBAHASAN

5

Analisis Kebutuhan

5

Pemasangan Web Service

6

Akuisisi dan Transformasi Data

6

Implementasi


8

Evaluasi

9

SIMPULAN DAN SARAN

10

Simpulan

10

Saran

11

LAMPIRAN

12

RIWAYAT HIDUP

20

DAFTAR TABEL
1 Struktur data dari JSON API
2 Struktur data XML
3 Perhitungan AVP dan MAP dari kesembilan query

7
8
10

DAFTAR GAMBAR
1
2
3
4
5
6

Diagram metode penelitian hasil analisis
Ilustrasi dan rumus perhitungan precision dan
Arsitektur sistem mashup blog IPB
Contoh potongan data artikel berstruktur JSON
Contoh dokumen hasil konversi dari JSON ke XML
Tampilan pencarian sistem

3
4
5
7
8
9

DAFTAR LAMPIRAN
1
2
3
4
5

Daftar blog yang digunakan sebagai sumber data penelitian
Lima teratas hasil pencarian API
Potongan dokumen akhir siap untuk diindeks oleh Sphinx
Daftar stopwords
Relevance set dari kueri yang diuji coba terhadap sistem

12
13
14
15
18

PENDAHULUAN
Latar Belakang
Institut Pertanian Bogor (IPB) adalah salah satu perguruan tinggi terbesar
dan terkemuka di Indonesia. IPB memiliki 36 departemen yang tersebar ke dalam
sembilan fakultas. Setiap departemen memiliki 80 sampai 130 mahasiswa dan
puluhan dosen. Selain itu IPB memiliki berbagai macam Lembaga
Kemahasiswaan (LK) resmi seperti Badan Eksekutif Mahasiswa (BEM) di setiap
fakultas, Unit Kegiatan Mahasiswa (UKM), Himpunan Kemahasiswaan, dan LK
lainnya.
Pada situs utama IPB (http://ipb.ac.id), sudah disediakan subdomain berupa
situs blog berbasis Wordpress untuk setiap mahasiswa, dosen, dan LK. Apabila
setiap mahasiswa, dosen, dan LK memiliki sebuah blog, tentu betapa banyaknya
informasi (isi) yang tersebar oleh setiap pengguna blog tersebut. Berdasarkan
observasi pada penelitian ini, diketahui terdapat 13 330 blog mahasiswa, 114 blog
lembaga kemahasiswaan, dan 1 458 blog staff/dosen di situs IPB. Oleh sebab itu
sangat dibutuhkan suatu sistem yang dapat membantu pengguna mendapatkan
informasi yang dibutuhkan secara cepat dari blog-blog tersebut.
Mashup menggabungkan berbagai produk dari suatu aplikasi menggunakan
layanan yang tersedia pada aplikasi, menjadi produk yang baru (Griffin 2008).
Produk dari suatu aplikasi mashup harapannya dapat menghasilkan informasi
yang lebih bermanfaat. Pada penelitian ini, produk yang digunakan yaitu isi dari
blog-blog pada situs IPB. Oleh karena itu dalam penelitian ini akan dikembangkan
aplikasi mashup informasi atau isi dari blog-blog yang ada di situs Institut
Pertanian Bogor. Diharapkan dengan aplikasi ini, pengguna mendapatkan
informasi yang relevan dengan kebutuhan informasi yang diinginkan pengguna.

Perumusan Masalah
Rumusan masalah pada penelitian ini yakni bagaimana cara
mengintegrasikan isi dari situs-situs blog IPB berbasis Wordpress yang berjumlah
banyak. Setelah isi berhasil diintegrasikan, masalah lainnya yakni bagaimana
mengatasi kesulitan pengguna dalam mencari suatu informasi dikarenakan jumlah
blog sebagai sumber informasi yang sangat banyak.

Tujuan Penelitian
Penelitian ini bertujuan untuk membuat suatu sistem mashup yang mampu
mengintegrasikan isi dari berbagai blog mahasiswa, dosen, maupun lembaga
kemahasiswaan yang terdapat di situs IPB. Hasil akhir dari sistem ini ditampilkan
dalam bentuk website sistem pencari.

2
Ruang Lingkup Penelitian
Ruang lingkup penelitian ini terfokus kepada pengembangan sistem yang
mampu mengintegrasikan isi/informasi yang tersebar di blog-blog pada situs IPB
sebagai sumber data. Penelitian ini menggunakan total 20 blog sebagai sampel
data penelitian, yang terdiri dari 5 blog mahasiswa, 5 blog lembaga
kemahasiswaan, dan 10 blog dosen/staff.

METODE
Metode yang digunakan dalam penelitian ini dapat dilihat pada Gambar 1.
Metode yang digunakan terdiri atas analisis, pemilihan dan pemasangan web
service, akuisisi dan transformasi data, implementasi, dan evaluasi.
Analisis
Pada tahap ini, dilakukan analisis kebutuhan pengembangan sistem.
Berdasarkan kebutuhan tersebut, diperoleh tahapan proses pembuatan sistem ini
(Gambar 1), spesifikasi kebutuhan sumber data dan arsitektur sistem mashup yang
akan dikembangkan. Sumber-sumber yang didapatkan berupa jurnal, buku, dan
informasi–informasi lain yang relevan dengan penelitian.
Pemilihan dan Pemasangan Web Service
Pada tahap ini dilakukan pemilihan dan pemasangan web service yang
merupakan plugin tambahan bagi blog-blog berbasis Wordpress. Pemilihan
dilakukan melalui observasi apakah web service tersebut dapat mengembalikan
data (isi) dari blog atau tidak. Pemasangan suatu plugin ke suatu blog hanya dapat
dilakukan oleh pemilik blog tersebut (administrator), yakni melalui sistem admin
blog yang akan ditambahkan plugin.
Akuisisi dan Transformasi Data
Pada tahap ini dilakukan proses akuisisi data yang dibutuhkan sesuai dengan
hasil analisis kebutuhan sistem. Data mentah berformat plain text dengan struktur
JavaScript object notation (JSON) diperoleh dengan melakukan pemanggilan data
melalui web service ke setiap blog (Wordpress) yang dituju, dengan kondisi di
mana plugin web service pada setiap blog sudah terpasang.
Pada transformasi data, data yang sudah didapatkan dibersihkan dari
atribut/tag-tag yang tidak diperlukan. Data yang sebelumnya berstruktur JSON
dikonversi menjadi struktur extensible markup language (XML) yang memiliki
tag–tag sesuai kebutuhan sistem.

3
Analisis

Pemilihan dan
Pemasangan Web Service

Akuisisi dan
Transformasi Data

Implementasi

Evaluasi
Gambar 1 Diagram Implementasi
metode penelitian hasil analisis
Survey di internet (Fallows 2004) menemukan bahwa 92% pengguna
internet mengatakan bahwa internet adalah tempat yang baik untuk mencari
informasi setiap hari. Fakta tersebut menunjukkan bahwa perkembangan teknologi
information retrieval (IR) semakin dibutuhkan untuk mempermudah pencarian
informasi oleh pengguna.
IR adalah kegiatan mencari materi (biasanya dokumen) dari suatu teks yang
memberi jawaban terhadap suatu kebutuhan informasi dari koleksi data yang
besar (biasanya terdapat pada komputer) (Manning et al. 2008). Sistem IR tidak
melakukan perubahan pada dokumen. Sistem IR hanya melakukan pemanggilan
informasi yang berkaitan dengan informasi yang diinginkan. Representasi dari
informasi yang diinginkan berupa kata atau frasa yang biasanya disebut query.
Query dimasukkan ke dalam sistem sebagai input, kemudian sistem menampilkan
dokumen–dokumen yang relevan dengan query.
Pada tahap ini dilakukan implementasi pembangunan sistem pencari.
Implementasi meliputi pembangunan antarmuka sistem untuk pengguna,
penentuan variabel penyimpanan data, dan mengindeks (indexing) data
menggunakan Sphinx Search.
Indexing adalah sebuah proses di mana dilakukan pengindeksan terhadap
suatu kumpulan dokumen maupun query. Indexing dapat dilakukan otomatis oleh
sistem maupun manual. Berikut ini tahapan mengindeks di antaranya,
1 Tokenisasi
Tokenisasi adalah proses memotong teks input menjadi unit-unit terkecil yang
disebut token dan pada saat yang sama dimungkinkan untuk membuang
karakter tertentu, seperti tanda baca (Manning et al. 2008). Tokenisasi
melakukan pemisahan terhadap isi dokumen menjadi unit yang paling kecil
atau biasa disebut juga kata. Tokenisasi dapat menangani pengolahan linguistik
tambahan seperti normalisasi tanggal, stemming, dan lain-lain. Tokenisasi

4
dapat diperluas untuk menangani sumber data baru, jenis file baru dan bahasa
baru (Dumais S et al. 2003).
2 Pembuangan Stopwords
Stopwords merupakan kata umum yang biasanya sering muncul dalam jumlah
besar pada suatu dokumen, tetapi tidak memiliki makna. Kata-kata seperti “ke”,
“yang”, “untuk” dan kata-kata umum lainnya hanya akan membuat sistem tidak
efektif dalam mencari karena kata-kata tersebut biasanya selalu ada dan
berfrekuensi besar dalam dokumen. Stopwords lebih baik tidak digunakan agar
meningkatkan akurasi dan efektivitas pencarian sebuah sistem pencari.
3 Pembobotan
Pembobotan adalah proses pemberian bobot pada suatu term yang ada pada
suatu dokumen. Pembobotan dilakukan untuk memberi nilai pada suatu term di
mana nilai tersebut digunakan sebagai penciri term tersebut. Nilai bobot
tersebut akan membentuk peringkat, yang akan mengurutkan term terhadap
dokumen dengan query yang diberikan pengguna.
Evaluasi
Pada tahap ini dilakukan evaluasi terhadap sistem mashup. Di evaluasi
seberapa baik hasil pencarian sistem dengan melihat hubungan antara query dan
informasi yang diperoleh. Pada sistem mashup ini hasil akhirnya akan berbentuk
sistem pencari, dan sebuah sistem pencari sangat berkaitan dengan ilmu
information retrieval (IR). Dalam IR, salah satu teknik evaluasi paling umum
yang digunakan adalah mean average precision (MAP). Nilai MAP merupakan
rataan aritmatik dari average precision (AVP) atau rata-rata precision suatu
pencarian query (Manning et al. 2008). Precision adalah pembagian dari dokumen
relevan terhadap query yang ditemukan dengan dokumen yang ditemukan oleh
sistem pencari (Gambar 2).

Gambar 2 Ilustrasi dan rumus perhitungan precision dan
(Baeza-Yates dan Ribeiro-Neto 1999)
Kemudian dihitung nilai MAP menggunakan rumus :




(1)

5
MAP(Q) adalah hasil evaluasi MAP dari kumpulan query sebanyak Q.
adalah nilai precision pada hasil dokumen yang ditampilkan
mulai dari dokumenj sampai dokumenk. Nilai
dibagi dengan
jumlah dokumen relevan yang ditampilkan ( ) untuk mendapatkan nilai AVP.

HASIL DAN PEMBAHASAN
Analisis Kebutuhan
Data yang digunakan dalam penelitian ini berupa isi dari beberapa blog-blog
berbasis Wordpress yang merupakan subdomain dari situs Institut Pertanian
Bogor (IPB). Blog-blog IPB tersebut diantaranya http://lk.ipb.ac.id,
http://student.ipb.ac.id, http://staff.ipb.ac.id. Dari setiap subdomain blog tersebut
diambil masing-masing sampel lima blog mahasiswa, lima blog lembaga
kemahasiswaan, dan sepuluh blog dosen/staff, sehingga terdapat 20 blog sebagai
sumber data yang isinya akan diintegrasikan (daftar ke-20 blog terdapat pada
Lampiran 1). Blog-blog yang dipilih sebagai sampel penelitian adalah blog-blog
yang isinya minimal memiliki tiga artikel sehingga memiliki data untuk
diintegrasikan.
Pada tahap analisis didapatkan arsitektur sistem mashup yang
dikembangkan pada penelitian ini. Arsitektur sistem dapat dilihat pada Gambar 3.
Sistem mashup blog-blog di situs IPB menggabungkan isi dari blog-blog di situs
IPB, kemudian menampilkan informasi yang dibutuhkan sesuai informasi yang
dibutuhkan pengguna. Informasi yang dibutuhkan pengguna direpresentasikan
sebagai suatu query, yang dapat berupa kata atau frasa.

Gambar 3 Arsitektur sistem mashup blog IPB

6
Pemilihan Pemasangan Web Service
Web service pada Wordpress menggunakan plugin yang dipasang ke setiap
blog-blog subdomain dari situs IPB. Plugin yang digunakan yaitu JSON
application programming interface (API) yang dikembangkan oleh Dan Phiffer
(Phiffer 2009). JSON API dipilih berdasarkan observasi pada penelitian ini.
Observasi yang dilakukan dalam pemilihan web service yakni mencari
menggunakan keyword “JSON API” pada pencarian plugin di situs
http://wordpress.org/plugins/. Dari lima teratas hasil pencarian plugin API yang
didapatkan, dipasang dan diuji satu-persatu ke blog Wordpress di server lokal,
apakah plugin API tersebut menghasilkan data yang merepresentasikan isi dari
blog. Lima teratas hasil pencarian plugin API beserta alasan penggunaannya,
dapat dilihat pada Lampiran 2.
JSON API mengijinkan penggunanya untuk mendapatkan dan
memanipulasi isi dari Wordpress melalui hypertext transfer protocol (HTTP)
request. HTTP request adalah protokol antara komputer klien dan server, di mana
komputer klien melakukan permintaan suatu file atau halaman web ke server, dan
komputer server merespon terhadap apa yang diminta oleh komputer klien.
Pada tahap ini, pemasangan plugin hanya dapat dilakukan oleh
administrator pada blog yang akan diambil datanya. Dalam penelitian ini
administrator adalah pihak Direktorat Komunikasi dan Sistem Informasi (DKSI)
IPB, sehingga pemasangan web service harus dilakukan bersama pihak DKSI IPB.
Pemasangan yang dilakukan yaitu memasang plugin JSON API ke subdomain
blog http://lk.ipb.ac.id, http://student.ipb.ac.id, dan http://staff.ipb.ac.id.
Akuisisi dan Transformasi Data
Data yang digunakan pada penelitian ini diperoleh dari blog-blog yang akan
diambil isinya. Isi didapatkan dan ditransformasi dengan menggunakan program
crawler yang dibuat pada penelitian ini. Crawler atau dikenal dengan nama web
spider adalah sebuah program yang melakukan crawling atau proses
mengumpulkan halaman-halaman dari internet (Castillo 2004). Crawler
tersebutlah yang melakukan parsing dari data JSON, hingga data akhir berupa
XML. Pada pengembangan sistem mashup ini, crawler hanya melakukan akuisisi
dan transformasi terhadap data yang akan digunakan. Berikut tahap-tahap dalam
membuat crawler untuk mengakuisisi hingga mentransformasi data:
1 Input query ke web service (API) blog
Pertama diberikan query ke web service melalui Uniform Resource Locator
(URL) blog yang dituju, misalnya untuk situs blog http://bemfkh.lk.ipb.ac.id/,
URL-nya menjadi:
http://bemfkh.lk.ipb.ac.id/?json=get_posts
URL tersebut dapat digunakan untuk mendapatkan seluruh isi di halaman
utama blog BEM FKH IPB dalam struktur JSON. Contoh satu artikel
berstruktur JSON dapat dilihat pada Gambar 4 dan struktur datanya dapat
dilihat pada Tabel 1.

7

Gambar 4 Contoh potongan data artikel berstruktur JSON
Query yang akan digunakan pada web service JSON API sudah disediakan oleh
JSON API, tergantung kebutuhan informasi seperti apa yang dibutuhkan
pengguna. Query „get_posts‟ yang digunakan pada URL merupakan query
yang sudah ditentukan oleh API jika ingin mendapatkan seluruh artikel dari
halaman situs blog yang dituju.
Tabel 1 Struktur data dari JSON API
Nama parameter
id
type
slug
url
title
title_plain
content
excerpt
date
modified

Tipe
Integer
Varchar
Varchar
Varchar
Varchar
Varchar
Text
Text
Varchar
Varchar

Nama parameter
Categories
tags
author
comments
attachments
comment_count
comment_status
thumbnail
custom_fields
taxonomy_

Tipe
Varchar
Varchar
Varchar
Varchar
Varchar
Integer
Varchar
Varchar
Varchar
Varchar

2 Konversi data JSON menjadi XML
Dari data berstruktur JSON pada Tabel 1, kemudian dilakukan pembersihan
data terhadap atribut-atribut yang tidak diperlukan sistem, lalu dikonversi
menjadi struktur XML. Pembersihan data yang dilakukan yaitu melakukan
pembuangan atribut-atribut selain atribut url, title, dan content. Hasil konversi
data JSON menjadi XML dapat dilihat pada Gambar 5.

8

Gambar 5 Contoh dokumen hasil konversi dari JSON ke XML
Hasil konversi data JSON menjadi XML dari satu blog kemudian disimpan
menjadi satu file XML. Akuisisi dan konversi data JSON diterapkan bagi setiap
blog yang akan dijadikan sumber data.
3 Menggabungkan setiap file XML
Setiap file XML dari setiap blog kemudian digabung menjadi satu file XML
dengan atribut-atribut yang sesuai agar bisa diindeks menggunakan Sphinx
Search. Tabel 2 menunjukkan struktur data XML hasil praproses dan contoh
potongan dokumen dapat dilihat pada Lampiran 3.
Tabel 2 Struktur data XML
Nama Parameter
Tipe
Document id
Integer
title
Varchar
link
Varchar
content
Text
Implementasi
Data akhir pada penelitian ini merupakan kumpulan dokumen yang akan
digunakan sistem pencari bagi pengguna. Data atau kumpulan dokumen disimpan
menjadi satu file untuk mempermudah proses indexing oleh Sphinx. Crawler
dijalankan pada 8 September 2013, dan dari sumber data berupa 20 blog
didapatkan 144 dokumen-dokumen yang menjadi kumpulan dokumen.
Pada tahap ini tampilan antarmuka bagi pengguna dibuat setelah service dari
Sphinx sudah aktif. Tampilan antarmuka bagi pengguna dibuat dalam bentuk
sistem pencari. Berikut langkah-langkah dalam mengindeks dokumen yang
dilakukan oleh Sphinx Search:
1 Tokenisasi
Tokenisasi merupakan proses untuk mendapatkan unit terkecil dari suatu teks.
Hasil tokenisasi berupa token-token yang dapat berupa suatu suatu kata atau
angka. Sphinx Search dapat melakukan tokenisasi terhadap data XML. Pada
penelitian ini, tokenisasi dilakukan oleh Sphinx Search juga karena tokenisasi
oleh Sphinx Search tergolong mudah dan cepat prosesnya. Kata yang diindeks
adalah kata yang memiliki jumlah minimal 3 huruf, sehingga untuk kata yang
kurang dari 3 huruf tidak akan diindeks. Pada akhir tokenisasi didapatkan 9895
kata atau angka sebagai kumpulan token yang berasal dari 144 dokumen.

9
2 Pembuangan Stopwords
Stopwords adalah kata-kata umum yang biasanya sering dipakai sehingga
muncul dalam jumlah besar pada dokumen. Pada penelitian kali ini, daftar
stopwords yang akan dihilangkan didapat dari laboratorium Temu Kembali
Informasi Ilmu Komputer IPB. File stopwords tersebut memiliki sekitar 732
kata. Daftar stopwords yang digunakan dapat dilihat pada Lampiran 4.
3 Pembobotan
Pada penelitian ini, pembobotan dilakukan dengan menggunakan model
peluang BM25 (Best Match 25) dengan bantuan Sphinx. BM25 pada Sphinx
mencari peluang relevansi terbesar suatu dokumen dapat relevan dengan query
yang diberikan pengguna. Tahapannya, kepada setiap komponen kata pada
query diberikan nilai peluang, kemudian nilai-nilai tersebut disatukan untuk
menghitung nilai peluang akhir yang akan menunjukkan besar atau kecilnya
relevansi query dan dokumen.
Evaluasi
Tahap evaluasi dilakukan dengan melakukan pencarian sembilan query
terpilih yang hasil pencariannya akan digunakan untuk mengevaluasi sistem.
Query yang dipilih berdasarkan jumlah minimal dokumen hasil pencarian yang
relevan terhadap query. Pada penelitian ini, setiap query ditentukan memiliki
minimal dua dokumen relevan yang ditampilkan dari pencarian oleh sistem.
Daftar query beserta dokumen yang relevan terhadap query dapat dilihat pada
Lampiran 5. Hasil pencarian query ditampilkan pada Gambar 6, berupa:
1 Pilihan judul dokumen yang memiliki tautan ke blog sumber,
2 String URL tautan ke blog sumber,
3 Kutipan isi dari dokumen terkait, namun hanya ditampilkan 50 kata pertama
saja.

Gambar 6 Tampilan pencarian sistem
Proses evaluasi dilakukan dengan menghitung nilai MAP dari sembilan
query yang dievaluasi terhadap hasil pencarian oleh sistem. Nilai MAP
merupakan rataan dari AVP kesembilan query yang diujikan terhadap sistem.
Perhitungan MAP yaitu misalnya pada query 1, dokumen-dokumen relevan
yang ditampilkan sistem terdapat pada urutan pertama, kelima, dan kedelapan.
Dengan demikian nilai precision dari query tersebut adalah 1/1, 2/5, dan 3/8. Nilai
tersebut dihitung rataannya agar mendapatkan nilai AVP bagi query 1. Proses

10
perhitungan tersebut dilakukan terhadap kedelapan query lainnya. Kemudian
kesembilan nilai AVP tersebut dijumlahkan dan dihitung rataannya sehingga
mendapatkan nilai MAP. Dari perhitungan didapatkan nilai MAP sebesar 0.48.
Nilai AVP dari setiap query dapat dilihat pada Tabel 3.
Tabel 3 Perhitungan AVP dan MAP dari kesembilan query
Query
1
2
3
4
5
6
7
8
9
MAP

AVP
0.59
0.21
0.34
0.74
0.83
0.21
0.57
0.19
0.66
0.48

Dari pengujian yang diakukan terhadap sembilan query didapatkan nilai
MAP sebesar 0.48. Dapat dikatakan 48% dokumen dari keseluruhan dokumen
yang ditampilkan oleh sistem relevan terhadap query yang diuji.
Nilai AVP tersebut dapat dipengaruhi kumpulan dokumen yang digunakan
sistem. Kumpulan dokumen didapatkan dari blog-blog yang isi/artikel-artikelnya
tidak memiliki topik yang sama, tidak semua bahasa yang digunakan baku, dan
terdapat artikel-artikel berbahasa inggris, sehingga kumpulan term yang diindeks
sangat bervariasi. Term merupakan kata-kata penciri dari suatu dokumen dari
proses mengindeks. Kata term yang sangat bervariasi akan membuat sistem
kesulitan mencari kata-kata pada query yang sama dengan kata term yang
mewakili dokumen yang relevan dengan query. Sebagai contoh terdapat kata
“social” dan “sosial” yang keduanya memiliki makna yang sama, namun karena
perbedaan bahasa, sistem menganggap kedua kata tersebut berbeda. Hal tersebut
dapat mengakibatkan saat dilakukan pencarian query “dunia sosial”, sistem tidak
mengembalikan dokumen yang memiliki kata “social”.

SIMPULAN DAN SARAN
Simpulan
Hasil penelitian menunjukkan bahwa penelitian ini telah berhasil membuat
aplikasi mashup bagi situs-situs blog IPB berbasis Wordpress menggunakan
plugin JSON API, dan hasilnya ditampilkan dan dievaluasi menggunakan search
engine dengan bantuan library Sphinx Search. Dari evaluasi didapatkan nilai
MAP sebesar 0.48. Kekurangan pada sistem ini adalah crawler yang digunakan
untuk melakukan mashup tidak dapat membaca keseluruhan isi dari suatu user’s

11
blog karena web service yang tidak menyediakan fitur mengambil keseluruhan isi,
melainkan hanya dari satu halaman web saja.
Saran
Terdapat beberapa hal yang dapat ditambahkan ataupun diperbaiki untuk
penelitian selanjutnya, di antaranya menggunakan stopwords untuk bahasa Inggris
pada sistem mashup blog IPB berbasis Wordpress ini, karena terdapat artikelartikel pada blog yang menggunakan bahasa Inggris sehingga kata-kata yang
terlalu umum tidak perlu menjadi term bagi dokumen.

DAFTAR PUSTAKA
Baeza-Yates R, Ribeiro-Neto B. 1999. Modern Information Retrieval. New York
(US): Addison Wesley.
Castillo C. 2004. Effective web crawling [tesis]. Santiago (CL): University of
Chile.
Dumais S, Cutrell E, Cadiz JJ, Jancke G, Sarin R, Robbins DC. 2003. Stuff I've
seen: a system for personal information retrieval and re-use. Di dalam: 26th
Annual International ACM SIGIR Conference on Research and
Development in Informaion Retrieval; 2003 Jul; Redmond, USA. hlm 7279.
Fallows D. 2004. The internet and daily life [Internet]. [diunduh 2013 Okt 3].
Tersedia pada: http://www.pewinternet.org/pdfs/PIP_Internet_and_Daily
_Life.pdf.
Griffin E. 2008. Foundations of Popfly Rapid Mashup Development. New York
(US): Apress.
Manning CD, Raghavan P, Schütze H. 2008. Introduction to Information
Retrieval. Cambridge (GB): Cambridge University Press.
Phiffer D. 2009. JSON API [Internet]. [diunduh 2013 Okt 15]. Tersedia pada:
http://wordpress.org/plugins/json-api/.

12

LAMPIRAN
Lampiran 1 Daftar blog yang digunakan sebagai sumber data penelitian
No

URL

1

http://forces.lk.ipb.ac.id

2

http://bemfkh.lk.ipb.ac.id

3

http://ruminansia.lk.ipb.ac.id

4

http://himagizi.lk.ipb.ac.id

5

http://hmit.lk.ipb.ac.id

6

http://lenis11s.student.ipb.ac.id

7

http://habiba09.student.ipb.ac.id

8

http://wahyuni_sri12u.student.ipb.ac.id

9

http://cynthia_rizki12u.student.ipb.ac.id

10

http://dietrich_gerry12u.student.ipb.ac.id

11

http://anuragaja.staff.ipb.ac.id

12

http://beginersubhan.staff.ipb.ac.id

13

http://totoharyanto.staff.ipb.ac.id

14

http://hsarifin.staff.ipb.ac.id

15

http://bbarus.staff.ipb.ac.id

16

http://beginersubhan.staff.ipb.ac.id

17

http://phariyadi.staff.ipb.ac.id

18

http://kseminar.staff.ipb.ac.id

19

http://ono.suparno.staff.ipb.ac.id

20

http://ratihde.staff.ipb.ac.id

13
Lampiran 2 Lima teratas hasil pencarian API
Rank
pencarian
1

Nama web
service
(API)
JSON API

Digunakan

Alasan digunakan / tidak digunakan

Ya

JSON API menghasilkan output yang merupakan isi
dari suatu blog Wordpress. JSON API menampilkan
isi dari blog Wordpress dengan struktur JSON. JSON
API memiliki 16 query yang dapat digunakan untuk
memanggil isi dari blog, tergantung isi seperti apa
yang dibutuhkan pengembang. Misalnya query
'get_recent_posts' digunakan untuk memanggil isi dari
blog yang terakhir diperbaharui, kemudian 'get_posts'
untuk memanggil keseluruhan isi dari halaman suatu
blog. Query-query lainnya dapat dilihat pada
http://wordpress.org/plugins/json-api/other_notes/.

2

IdeaPress
JSON API

Tidak

IdeaPress merupakan plugin JSON API yang
dimodifikasi. Hasil yang ditampilkan sama seperti
pada JSON API, hanya memiliki query tambahan yaitu
'get_recent_posts_on_hub'.

3

JSON-APIforBuddyPress

Tidak

JSON-API-for-BuddyPress merupakan plugin JSON
API yang dimodifikasi. BuddyPress menambahkan
fitur agar isi dari blog Wordpress dapat diintegrasikan
dengan isi dari BuddyPress

4

WPML
JSON API

Tidak

5

Foliodock
API

Tidak

WPML JSON API melakukan modifikasi terhadap
hasil dari plugin JSON API. WPML JSON API dapat
menerjemahkan hasil yang ditampilkan dari plugin
JSON API.
Foliodock digunakan untuk membuat online portfolio
dari isi suatu blog Wordpress. Hasil dari API
Foliodock hanya dapat ditampilkan pada situs web
Foliodock.

14
Lampiran 3 Potongan dokumen akhir siap untuk diindeks oleh Sphinx








“Syuhada Rabaa” Foto Pengantin Baru Paling Menyedihkan di Mesir
Menurut Reuters


http://anuragaja.staff.ipb.ac.id/2013/08/21/syuhada-rabaa-foto-pengantin-baru-palingmenyedihkan-di-mesir-menurut-reuters/


Foto diatas adalah salah satu syuhada diantara ribuan yang gugur pada pembantaian junta
militer Mesir saat pembumihangusan Medan Rabi’ah Al-Adawiyah (14/8/2013). Dengan
membawa mushaf, sang istri memeluknya untuk yang terakhir kali. Foto ini oleh Reuters disebut
foto pengantin baru yang paling menyedihkan di Mesir. Para syuhada telah menunaikan dan
membuktikan janjinya dihadapan Allah, mereka hidup disisiNya dengan penuh kebahagiaan. Yang
ditinggal pun tetap tegar dengan keyakinan bahwa kelak mereka akan dipertemukan kembali di
jannahNYa. Berikut, salah satu ungkapan istri syuhada, Asmaa Hussein, yang suaminya Amr
Mohammed Kassem diantara ribuan syuhada Mesir. Gambarannya mirip dengan foto
diatas… Suamiku, Amr Mohamed Kassem kembali ke pangkuan Tuhannya pada usia 26
tahun.




Analisa Sosok Dzulqarnain, Ya’juj Ma’juj dan Negeri Zionis | Tafsir


http://anuragaja.staff.ipb.ac.id/2013/08/14/analisa-sosok-dzulqarnain-yajuj-majuj-dan-negerizionis-tafsir/


Oleh Nur Ihsan Jundulloh
Mahasiswa Ummul Quro, Mekah
*** Siapakah sosok Dzulqarnain yang disebut dalam surat Al-Kahfi? Syarat sosok Dzulqarnain :
1. Penguasa (innaa makkannaa lahuu fil ardhi)
2. Daerah kekuasaannya membentang dari barat (balagha maghribasy syamsi) sampai timur
(balagha mathli’asy syamsi)
3. Penganut monotheis/tauhid (haadzaa rahmatun min rabbii)
“The ram that you saw, the one with the horns, represents the king of Media and
Persia”
-ed). Muncul beberapa kemungkinan jawaban: 1. Perintah Allah untuk tidak menyerang
Yajuj dan Majuj



15
Lampiran 4 Daftar stopwords
acapkali
ada
adakah
adakan
adalah
adanya
adapun
aduh
agak
agaknya
agar
aja
akalan
akan
akankah
akhir
akhirnya
akibat
akibatkan
akibatnya
aku
ala
alangkah
alasan
alasannya
alih
alihkan
amat
amatlah
ambil
anda
andai
anggap
anggapan
antar
antara
antaranya
apa
apabila
apakah
apalagi
apalah
apanya
apapun
arti
artian
artinya
asalan
asalkan
asumsi
asumsinya
atas
atasnya
atau
ataukah
ataupun
awal

bagai
bagaikan
bagaimana
bagaimanakah
bagaimanapun
bagi
baginya
bagus
bagusnya
bahkan
bahwa
baik
baiknya
balik
banding
bandingkan
banyak
banyaknya
barangkali
baru
bawah
bawahnya
beberapa
begini
beginilah
begitu
begitulah
begitupula
begitupun
belakang
belakangan
belum
belumlah
benar
benarkah
benarnya
berada
berakhir
berakhirnya
berakibat
berakibatkan
beralasan
beralih
beralihnya
beranggapan
berapa
berapanya
berapapun
berarti
berasumsi
berbagai
berbagi
berbanding
berbeda
berdampak
berdasarkan
berhadapan

berharap
berhubung
berhubungan
beri
berikan
berikanlah
berikut
berikutnya
berjumlah
berkat
berkenaan
berkesan
berkesempatan
berkesimpulan
berlalu
berlalunya
berlama
berlangsung
bermula
bersama
bersamaan
bertepatan
beruntun
berupa
besarnya
beserta
besok
besoknya
betapa
biar
biarlah
biasa
biasanya
bicarakan
bicaranya
bila
bilamana
bilang
bisa
bisakah
bisanya
boleh
boro
buat
buatnya
bukan
bukankah
bukanlah
bukannya
buktikan
cara
cerita
ceritanya
contoh
contohkan
contohnya
cukup

cuma
daerah
dahulu
dalam
dan
dapat
dapatkah
dapatkan
dapatlah
dari
darinya
daripada
dekat
dekatnya
demi
demikian
demikianlah
dengan
dengannya
depan
depannya
dia
dialah
dialami
dialihkan
diambil
diambilkan
diambilnya
dianggap
diantara
diantaranya
diapakan
dibagi
dibagikan
dibeberapa
diberbagai
diberi
diberikan
diberinya
dibiarkan
dibiasakan
dibilang
dicontoh
dicontohkan
dicontohkannya
didapat
didapati
didapatkan
didapatnya
didasarkan
digolongkan
digunakan
diharapkan
dijadikan
dijadikannya
dikarenakan
dikasih

dikata
dikatakan
dikatakannya
dikategorikan
dikembangkan
diketahui
diketahuinya
dilaksanakan
dilakukan
dimana
dimulai
dimulailah
dimulainya
dimungkinkan
dipaparkan
dipersilahkan
disaat
disebabkan
disejumlah
diseluruh
disertai
disertakan
disimpulkan
disitulah
ditanggapi
ditanya
ditanyakan
dituturkan
diucapkan
dkk
dll
dsb
dua
dulu
dulunya
empat
enggak
engkau
esok
gimana
habis
habisan
habiskan
habisnya
hal
hampir
hanya
hanyalah
hari
harus
haruskah
haruslah
harusnya
hendak
hendaklah
hendaknya
hingga

how
ialah
ingin
ini
inilah
inipun
itu
itulah
itupun
iya
jadi
jadikan
jadilah
jadinya
jangan
jarang
jauh
jelaskan
jika
jikalau
juga
jumlah
jumlahnya
justru
juta
kabupaten
kadang
kalau
kalaupun
kali
kalian
kami
kamu
kan
kapan
karena
karenanya
kata
katakan
katakanlah
katanya
kau
kayak
kayaknya
kebanyakan
kebetulan
kebiasaan
kecil
kecuali
kemana
kemanakah
kembali
kemudian
kemungkinan
kemungkinannya
kenapa
kenapakah

16
Lampiran 4 Lanjutan
kepada
kepadanya
kepala
ketika
ketimbang
khususnya
kini
kita
kondisi
kurang
lagi
lagian
lagipula
lain
lainnya
laksana
lakukan
lalu
lalui
lama
lanjut
lantaran
lantas
lebih
lepas
lewat
lokasi
maka
makin
mampu
mampukah
mampunya
mana
manakala
manalagi
manapun
masa
masih
masihkah
masing
masuk
masyarakat
mau
maupun
melainkan
melakukan
melalui
melihat
memang
memaparkan
membagi
membagikan
memberi
memberikan
memberinya
membiarkan
membolehkan

membuat
memeperoleh
memiliki
meminta
memperbolehkannya
mempersilahkan
mempunyai
memungkinkan
menanggapi
menanggapinya
menanyakan
mencapai
mencontohkan
mendapat
mendapati
mendapatkan
mendapatkannya
menerus
mengada
mengaku
mengalami
mengalihkan
mengambil
mengambilnya
menganggap
menganggapnya
mengapa
mengatakan
mengembangkan
mengenai
menggunakan
mengungkapkan
meningkat
meningkatkan
menjadi
menjadikan
menjadikannya
menjelang
menjelaskan
menuju
menunjukkan
menurut
menurutnya
menuturkan
menyatakan
menyebabkan
menyebutkan
menyia
mereka
merupakan
meski
meskipun
mesti
mestinya
misal
misalkan
misalnya

mudah
mula
mulai
mulainya
mulanya
muncul
mungkin
mungkinkah
namun
nanti
negara
nilai
nyaris
nyiakan
oleh
orang
pada
padahal
padanannya
paling
panjangnya
papar
paparan
paparkan
paparnya
para
pasti
pastilah
pastinya
pelak
pelbagai
pemaparan
pembagian
pembagiannnya
pendapat
pengalihan
pengambil
pengambilan
pengandaian
per
peralihan
percuma
peri
perihal
perlahan
perlu
pernah
persen
pertamanya
pinggir
pula
pulalah
pun
rata
relevankah
rendah
saat

saatnya
saatnyalah
saja
salah
sama
sambil
sambutannya
sampai
sana
sang
sangat
sangatlah
satunya
saya
sayangnya
seakan
seandainya
seantero
sebab
sebabkan
sebabnya
sebagai
sebagaimana
sebagainya
sebagian
sebaik
sebaiknya
sebaliknya
sebanyak
sebelum
sebelumnya
sebenarnya
seberapa
seberat
sebesar
sebetulnya
sebuah
secara
sedalam
sedang
sedangkan
sedapat
sedemikian
sedikit
sedikitnya
segera
sehabis
seharusnya
seharusnyalah
sehingga
sehubungan
sejak
sejauhmana
sejumlah
sekalian
sekaligus
sekalipun

sekarang
sekata
sekedar
sekeliling
seketika
sekian
sekitar
selagi
selain
selalu
selama
selanjutnya
selesai
selesaikah
seluruh
seluruhnya
semakin
semampunya
semenjak
sementara
semestinya
semisal
semoga
semua
semuanya
semula
seolah
seorang
seorangpun
sepadan
sepanjang
separah
sepasang
sepele
sependapat
seperti
sepertinya
seputar
seraya
serba
serentak
sering
seringkali
seringkalinya
seringlah
seringnya
serta
sertanya
sesaat
sesama
sesamamu
sesedikit
seseorang
sesuai
sesuatu
sesuatunya
sesudah

sesudahnya
sesukanya
sesungguhnya
setelah
setelahnya
seterusnya
setiap
setidak
setidaknya
seusai
sewaktu
seyogyanya
sia
sialnya
siap
siapa
siapakah
siapapun
silahkan
singkatnya
sini
sinilah
situ
sosok
sosoknya
suatu
sudah
sulit
sungguh
sungguhpun
supaya
tak
tambahnya
tanggapan
tanggapannya
tanggapnya
tanpa
tapi
tatkala
telah
tempat
tengah
tentang
tentu
tentunya
tepatnya
terbagi
terbalik
terbiasa
terbilang
terdapat
tergolong
terhadap
terjadi
terjadilah
terjadinya
terkadang

17
Lampiran 4 Lanjutan
terkait
terkecuali
terlalu
terlebih
termasuk
ternyata
tersebut
tertentu

terus
tetap
tetapi
tiap
tiba
tidak
tidaklah
tidaknya

tiga
tinggi
tutur
tuturnya
ucap
ucapan
ucapannya
ucapkan

ucapnya
ujar
ujarnya
umpamanya
umum
umumnya
ungkap
ungkapan

ungkapkan
ungkapnya
untuk
usah
usahlah
usai
usianya
waktu

waktulah
waktunya
walau
walaupun
warga
yaitu
yakni
yang

18
Lampiran 5 Relevance set dari kueri yang diuji coba terhadap sistem
No

Kueri

Gugus Jawaban (id document)

1

pangan indonesia

122, 44, 110

2

lomba pertanian

49, 48

3

gizi indonesia

60, 59

4

seminar pertanian

48, 98, 102, 68, 101, 49, 100

5

departemen kelautan

23, 25

6

inovasi dalam penelitian

15, 100, 22, 126, 20, 11, 45, 46, 97, 122,

7

teknologi pertanian

44, 93, 79, 97, 98, 99, 100, 102, 111

8

wisata laut indonesia

26, 94, 21, 27

9

kondisi sawah indonesia

44, 14 , 71

19

RIWAYAT HIDUP
Penulis dilahirkan di Bogor. Penulis merupakan anak pertama dari tiga
bersaudara. Tahun 2006 penulis lulus dari SMP BPK Penabur Bogor, lalu pada
tahun 2009 penulis lulus dari SMA Negeri 3 Bogor dan pada tahun yang sama
penulis diterima di Institut Pertanian Bogor (IPB) melalui jalur Ujian Talenta
Mandiri (UTM) program studi Ilmu Komputer, Fakultas Matematika dan Ilmu
Pengetahuan Alam.
Pada tanggal 1 Juli 2012, penulis melaksanakan praktik kerja lapang di PT.
Murni Solusindo sampai dengan 14 Agustus 2012. Penulis aktif dalam kegiatan
dan organisasi keagamaan di IPB yaitu pada Komisi Kesenian Persekutuan
Mahasiswa Kristen IPB dan menjadi anggota pengurus pada tahun 2012. Penulis
merupakan seorang pecinta musik (menyanyi dan bermain gitar) dan olahraga
(futsal dan sepakbola).