Rancang Bangun Sistem Pencarian Produk Halal Dalam Aplikasi Halal Nutrition Food Menggunakan Algoritma Okapi BM25F - ITS Repository
TUGAS AKHIR - 141501
RANCANG BANGUN SISTEM PENCARIAN DALAM APLI-
KASI HALAL NUTRITION FOOD MENGGUNAKAN AL-
DESIGN IN-APP SEARCH SYSTEM IN HALAL NUTRI-
TION FOOD APPLICATIONS USING OKAPI BM25F AL- GORITHM ADNAN MAULUDIN FAJRIYADI NRP 5213100103 Dosen Pembimbing Nur Aini Rakhmawati, S.Kom., M.Sc.Eng., Ph.D DEPARTEMEN SISTEM INFORMASI Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya, 2017 ii
Halaman ini sengaja dikosongkan TUGAS AKHIR - 141501
RANCANG BANGUN SISTEM PENCARIAN DALAM APLI-
KASI HALAL NUTRITION FOOD MENGGUNAKAN AL-
ADNAN MAULUDIN FAJRIYADI NRP 5213100103 Dosen Pembimbing Nur Aini Rakhmawati, S.Kom., M.Sc.Eng., Ph.D DEPARTEMEN SISTEM INFORMASI Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya, 2017 iv
Halaman ini sengaja dikosongkan UNDERGRADUATE THESIS - 141501
DESIGN IN-APP SEARCH SYSTEM IN HALAL NUTRI-
TION FOOD APPLICATIONS USING OKAPI BM25F AL-
GORITHMADNAN MAULUDIN FAJRIYADI NRP 5213100103 Supervisor Nur Aini Rakhmawati, S.Kom., M.Sc.Eng., Ph.D DEPARTMENT OF INFORMATION SYSTEM Faculty of Information Technology Institut Teknologi Sepuluh Nopember Surabaya, 2017 vi
Halaman ini sengaja dikosongkan
viii
Halaman ini sengaja dikosongkan
x
Halaman ini sengaja dikosongkan xi RANCANG BANGUN SISTEM PENCARIAN DALAM APLI- KASI HALAL NUTRITION FOOD MENGGUNAKAN AL- GORITMA OKAPI BM25F
Nama : ADNAN MAULUDIN FAJRIYADI NRP : 5213100103 Departemen : Sistem Informasi FTIf Pembimbing I : Nur Aini Rakhmawati, S.Kom., M.Sc.Eng., Ph.D
Abstrak
Di Indonesia, Lembaga Pengkajian Pangan Obat-obatan dan Kos-
metika (LPPOM) MUI adalah lembaga resmi yang menyediakan
informasi mengenai halal atau tidaknya suatu produk. Namun in-
formasi tersebut masih sulit diakses oleh pengguna yang termasuk
masyarakat awam. Halal Nutrition Food adalah aplikasi yang me-
miliki fungsi untuk memudahkan pencarian produk halal yang disa-
tukan dalam database yang terintegrasi dalam bentuk Linked Open
Data. Untuk melakukan pencarian produk pada aplikasi meng-
gunakan kueri SPARQL. Namun hasil yang didapatkan dari hasil
pencarian kurang maksimal jika data yang dimiliki besar. Salah
satu metode pencarian yang populer adalah BM25. BM25 membe-
rikan ranking pada dokumen dengan menghitung kemunculan tiap
term dalam kueri dalam setiap dokumen sehingga hasil yang dida-
patkan lebih relevan dengan kueri pencarian. Sementara itu pene-
litian ini menggunakan metode ekstensi dari BM25 yaitu BM25F.
BM25F dapat memproses dokumen terstruktur seperti instance pa-
da RDF. Penelitian ini berfokus pada penambahan fungsi pencari-
an menggunakan algoritma BM25F sehingga didapatkan hasil pen-
carian produk yang relevan dengan kueri yang dimasukkan peng-
guna. Perhitungan BM25F dilakukan dalam Apache Solr yang di
dalamnya menghitung nilai pencarian suatu produk didasarkan pa- da nilai bobot tiap term dalam dokumen. xii
Kata kunci: Produk Halal, Perangkat lunak, Linked Data, BM25F, Apache Solr. xiii DESIGN IN-APP SEARCH SYSTEM IN HALAL NUTRITION FOOD APPLICATIONS USING OKAPI BM25F ALGORITHM
Name : ADNAN MAULUDIN FAJRIYADI NRP : 5213100103 Major : Information System FTIf Supervisor I : Nur Aini Rakhmawati, S.Kom., M.Sc.Eng., Ph.D
Abstract
In Indonesia, the Institute of Food and Drug Administration (LP-
POM) MUI is an official institution that provides information abo-
ut whether or not a product is legal. But the information is still
difficult to access by users in general. Halal Nutrition Food is an
application that has a function to facilitate the search for halal pro-
ducts that are incorporated in an integrated database in the form of
Linked Open Data. To search a product in an app using a SPARQL
query. But the results obtained from search results less than the
maximum if the data held large. One of the popular search methods
is BM25. BM25 ranks the document by calculating the appearan-
ce of each term in the query in each document so that the results
obtained are more relevant to the search query. Meanwhile, this
research use extension method from BM25 that is BM25F. BM25F
can process structured documents such as instances in RDF. This
study focuses on adding search functionality using the BM25F al-
gorithm to obtain relevant product search results with user-entered
queries. The calculation of BM25F is done in Apache Solr which it
calculates the search value of a product based on the weight value of each term in the document. Keywords: Halal Product, Software, Linked Data, BM25F. xiv
Halaman ini sengaja dikosongkan
KATA PENGANTAR Puji syukur kehadirat Allah SWT yang telah memberikan nikmat, anugerah, serta hidayah kepada penulis sehingga dapat menyelesa- ikan tugas akhir dengan judul “Rancang Bangun Sistem Pencari-
an Dalam Aplikasi Halal Nutrition Food Menggunakan Algoritma
Okapi BM25F”sebagai salah satu syarat kelulusan pada Departe- men Sistem Informasi, Fakultas Teknologi Informasi, Institut Tek- nologi Sepuluh Nopember Surabaya. Shalawat serta salam semoga tercurahkan kepada Nabi Muhammad SAW beserta keluarga, para sahabat dan umatnya yang setia hingga akhir zaman.
Penyusunan tugas akhir ini senantiasa mendapatkan dukungan dari berbagai pihak. Untuk itu, secara khusus penulis ingin menyampa- ikan ucapan terima kasih yang sedalam-dalamnya kepada:
1. Segenap keluarga besar terutama kedua orang tua dan adik- adik penulis, Bapak Agus Mulyadi, Ibu Supriyaningsih, Mu- tiara Nur Rahmadhanty, dan Muhammad Hafizhul Haq yang senantiasa mendoakan, memberikan motivasi sehingga penu- lis mampu menyelesaikan pendidikan S1 ini dengan baik.
2. Bapak Dr. Ir. Aris Tjahyanto, M.Kom., selaku Kepala Depar- temen Sistem Informasi ITS, Bapak Nisfu Asrul Sani, S.Kom, M.Sc selaku KaProdi S1 Sistem Informasi ITS serta seluruh dosen pengajar beserta staf dan karyawan di Departemen Sis- tem Informasi, FTIF ITS Surabaya selama penulis menjalani kuliah
3. Ibu Nur Aini Rakhmawati, S.Kom., M.Sc., Eng. Ph.D sela- ku dosen pembimbing yang telah banyak meluangkan waktu untuk membimbing, mengarahkan, dan mendukung dengan memberikan ilmu, petunjuk, dan motivasi dalam penyelesai- xvi an Tugas Akhir.
4. Ibu Mahendrawathi ER, ST., MSc., PhD. sebagai dosen wali penulis selama menempuh pendidikan di Departemen Sistem Informasi.
5. Bapak Radityo Prasetianto Wibowo, S.Kom, M.Kom serta Ibu Renny Pradina Kusumawardani, S.T., M.T. selaku dosen penguji yang telah memberikan kritik, saran, dan masukan yang dapat menyempurnakan Tugas Akhir ini.
6. Keluarga Majelis Dzikrullah ”Assalamu’alaikum” yang sela- lu mendoakan dan memberikan motivasi kepada penulis se- lama perkuliahan dan penyusunan tugas akhir.
7. Teman-teman Sistem Informasi angkatan 2013 (13ELTRA- NIS) yang senantiasa menemani dan memberikan motivasi bagi penulis selama perkuliahan hingga dapat menyelesaikan tugas akhir.
8. Rekan-rekan Badan Eksekutif Mahasiwa (BEM) ITS mulai dari kepengurusan Kolaborasi 2014/2015, Berani 2015/2016, dan Wahana Juang 2016/2017 yang telah memberikan sema- ngat serta motivasi.
9. Rekan-rekan Kementerian Kominfo BEM ITS selama 3 per- iode mulai dari Kominfun, Kominstrong, dan Kominrangers.
10. Serta pihak-pihak lain yang tidak dapat disebutkan satu per satu yang telah banyak membantu penulis selama perkuliah- an hingga dapat menyelesaikan tugas akhir ini. Terima kasih atas segala bantuan, dukungan, serta doanya. Semo- ga Allah SWT senantiasa melimpahkan anugerah serta membalas kebaikan yang telah diberikan kepada penulis. Penulis menyadari bahwa masih terdapat kekurangan dalam penyu- sunan tugas akhir ini, oleh karena itu penulis mengharapkan saran dan kritik yang membangun demi kebaikan penulis dan tugas akhir ini. Akhir kata, penulis berharap agar tugas akhir ini dapat membe- rikan kebermanfaatan.
DAFTAR ISI
xi
xiii
xv xvii
xxi xxii xxiii
1 . . . . . . . . . . . . . . . . . . .
1 . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . .
4 xviii
14 . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
28
24 . . . . . . . . . . . . . . . . . .
24 . . . . . . . . . . . . . .
24 . . . . . . . . . . . . .
24 . . . . . . . . . . . . .
23 . . . . . . . . . . . . . . . .
23 . . . . . . . . . .
19
19 . . . . . . .
18 . . . . . . . . . . . . . .
16 . . . . . . . . . . . . . . . . . . .
14 . . . . . .
5 . . . . . . . . . . . . . . .
13 . . . . . . . . . . . . . .
12 . . . . . . . . . . . . . . . . . . . . .
11 . . . . . . . . . . . . . . . . .
10 . . . . . . . . . . . . . . .
9 . . . . . . . . . . . . . . .
8 . . . . . . . . . . . . . . . .
8 . . . . . . . . . . . . . . . . . . . . .
7 . . . . . . . . .
. . . . . . . . . . . . . . . . .
6
6 . . . .
5
. . . . . . . . . . . .
5
29 xix . . . . . . .
29 . . . . . . . . . . . . . . . . . .
47 . . . . . .
63 . . . . . . . . . . . . . . . . . . . . .
62
61 . . . . . . . . . .
61 . . . .
60 . . . . . . . . . . . . . . . . . . . . .
55 . . . . . . . . . . . . . .
55 . . . . . . . .
55 . . . . . . . . . . . . . . . . . . .
52
49 . .
45 . . . . . . . . . . . . . .
30
44 . . . . . . . .
44 . . . . . . . . . . . . .
43 . . . . . . . . . . . . . . . . . . . .
43 . . . . . . . . . . . . .
39
37 . . . . . . . . . . . .
35 . . . . . . . . . . . .
33 . . . . . . . . . . . . . . . . . .
33 . . . . . . . . . . . . . . . . . . . .
33 . . . . . . . . . . . . . . .
63 xx . . . . . . . . . . . . . . . . . . . . . . . .
64
65
67
71
DAFTAR TABEL 2.1 Matriks AHP awal . . . . . . . . . . . . . . . .
48 . . . .
61
60
56 . . . . . . . .
48
20 . .
21 . . . . . . . . .
43 . . . . . . . . . . . . .
29 . . . . . . . . . . . . .
28 . . . . . . . .
25 . . . . . . . . . . .
22 . . . . . . .
22 . . . . . . . . . . . .
21 . . .
44 . . . . . . . . . . . .
DAFTAR GAMBAR 2.1 Layer aplikasi dengan Lucene . . . . . . . . . .
15 . . . . . . . . . . .
17 . . . . . . . . . . . . . .
23 . . . . . . . . . . . .
34 .
36 . . . . . . . . . . . .
38 . . .
40 . . . . . .
41 . . . . . . . . . .
41 . . . . .
56 .
59
. . . . . . . . . . . . . . . .
45 . .
46 . . . . . . . . . . . . . . . . .
46 . . . . . . . . . . . . .
49 . . . . . . .
50 . . . . . . . . . . .
51 . . . . . . . . . . . . . . . . . .
52 . . . . . . . . .
52 . . . . . . . .
53 . . . . . . . .
57 xxiv
Halaman ini sengaja dikosongkan
BAB 1 PENDAHULUAN Pada bab pertama ini akan dibahas mengenai dasar utama menga- pa tugas akhir ini dibuat yaitu membahas mengenai latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, dan relevansi terhadap pengerjaan tugas akhir.
1.1 Latar Belakang Indonesia merupakan salah satu negara dengan mayoritas penduduk muslim terbesar di dunia. Prosentase Muslim Indonesia mencapai hingga 12,7 persen dari populasi dunia. Dari 205 juta penduduk Indonesia, dilaporkan sedikitnya 88,1 persen beragama Islam, Dalam agama islam terdapat hal-hal yang mengikat penganutnya salah satunya adalah mengenai makanan dan minuman yang dikon- sumsi. Dalam agama islam makanan yang boleh di konsumsi ada- lah makanan yang halal, sehingga pemerintah Indonesia memben- tuk lembaga khusus untuk mengawasi produk makanan halal untuk masyarakat penganut agama islam di Indonesia. Lembaga Pengawasan Pangan, Obat-obatan, dan Komestika Maje- lis Ulama Indonesia (LPPOM MUI) adalah lembaga dibawah na- ungan departemen agama yang mengeluarkan sertifikat halal ba- gi barang-barang yang dikonsumsi oleh penduduk Indonesia. Se- lain mengeluarkan sertifikat, LPPOM MUI juga bertanggung ja- wab atas penyediaan informasi produk halal baik melalui media cetak maupun elektronik. Saat ini LPPOM MUI sudah menyedi- akan informasi produk halal melalui website yang dapat di akses di dan juga melalui sms gateway.
2 Dari situs web LPPOM MUI, pengguna dapat mencari sertifikat ha- lal sesuai dengan produk ataupun perusahaan yang mengajukan ser- tifikat halal dan juga mengunduhnya dalam bentuk portable docu-
ment format (pdf) . Namun permasalahannya hasilnya masih kurang
bagus untuk diberikan kepada masyarakat. Dalam penggunaannya, pengguna hanya dapat melihat nomor sertifikat, produsen, dan masa berlaku sertifikat produk halal sesuai dengan kategori yang disedi- akan oleh MUI.
Halal Nutrition Food adalah sebuah aplikasi yang dibuat oleh Jau- har Fatawi yang berfungsi untuk memberikan kemudahan kepa- da pengguna dalam melakukan pencarian produk halal yang telah disertifikasi oleh MUI. Aplikasi ini menampung data produk halal dalam bentuk RDF. Dalam melakukan pencarian data produk ha- lal, aplikasi ini mengirimkan kueri SPARQL ke database sehingga hasil yang didapatkan masih belum relevan sesuai dengan maksud dari kueri yang dimasukkan oleh pengguna.
Salah satu metode pencarian yang populer adalah Okapi BM25. Al- goritma BM25 mengurutkan dokumen berdasarkan term kueri yang muncul pada setiap koleksi dokumen. Dari nilai ranking tersebut di- dapatkan dokumen yang paling relevan ditampilkan di urutan awal hasil pencarian. Dengan cara ini pencarian produk halal yang re- levan akan mudah didapatkan.
Tugas akhir ini akan memberikan penambahan fungsi pada aplikasi Halal Nutrition Food yaitu fungsi pencarian produk halal menggu- nakan metode ranking dengan BM25F. BM25F sendiri adalah algo- ritma ekstensi dari BM25 yang memiliki kelebihan untuk mempro- ses dokumen terstruktur, contohnya adalah dokumen dengan format RDF. Sehingga penambahan fungsi ini akan bermanfaat untuk men- dapatkan informasi produk halal yang relevan sesuai dengan kueri dari pengguna.
3
1.2 Perumusan Masalah Berdasarkan uraian latar belakang, maka rumusan permasalahan yang menjadi fokus dan akan diselesaikan dalam Tugas Akhir ini antara lain :
1. Bagaimana pengguna mendapatkan informasi mengenai kom- posisi gizi serta karakteristik zat pada produk halal secara re- levan?
2. Bagaimana menerapkan algoritma BM25F untuk memudahk- an pencarian produk halal?
1.3 Batasan Masalah Batasan-batasan dalam pembuatan Usulan Tugas Akhir adalah se- bagai berikut:
1. Hasil akhir dari penelitian ini adalah pengembangan aplikasi web berbasis linked open data yang memiliki fitur pencarian data produk.
2. Jumlah sampel data hanya dibatasi 150 produk halal yang telah mendapatkan sertifikat halal dari LPPOM MUI.
3. Metode pencarian data pada aplikasi web menggunakan al- goritma BM25F.
1.4 Tujuan Tugas Akhir Tujuan dari penelitian ini adalah membuat sistem pencarian produk halal dari aplikasi web yang sudah dibuat pada penelitian sebelum- nya yaitu Halal Nutrition Food. Sistem pencarian akan menggu-
4 nakan metode ranking BM25F yang akan memudahkan dalam me- nemukan hasil pencarian yang relevan yaitu data produk yang telah diberi label halal oleh MUI.
1.5 Manfaat Tugas Akhir Manfaat yang diharapkan dapat diperoleh dari tugas akhir ini ada- lah:
1. Bagi pengguna, dapat dengan mudah mengetahui karakteris- tik, komposisi, dan gizi dari produk halal pada yang disetujui oleh MUI.
2. Bagi peneliti, penelitian ini akan menghasilkan perangkat lu- nak berbasis Linked Open Data yang mana ke depannya bisa dikembangkan menjadi lebih baik lagi.
1.6 Relevansi Tugas Akhir Tugas akhir ini berkaitan dengan pembangunan perangkat lunak de- ngan metode penyimpanan dan publikasi data berupa Linked Open Data ditambah dengan metode pencarian menggunakan algoritma BM25F. Pengerjaan tugas akhir ini berkaitan dengan mata kuliah Pemrograman Integratif, Pemrograman Berbasis Objek dan Pem- rograman Berbasis Web di Departemen Sistem Informasi, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember. Tugas akhir ini layak dijadikan sebagai tugas akhir pada tingkat S1, karena memecahkan masalah yaitu dalam mempermudah pencarian informasi terkait produk makanan atau minuman yang halal.
BAB 2 TINJAUAN PUSTAKA Bab ini akan menjelaskan mengenai penelitian sebelumnya dan da- sar teori yang dijadikan acuan atau landasan dalam pengerjaan tu- gas akhir ini. Dasar teori akan memberikan gambaran secara umum dari landasan penjabaran tugas akhir ini.
2.1 Penelitian Sebelumnya Pada subbab ini dijelaskan tentang referensi dari penelitian-penelitian yang berkaitan dengan tugas akhir.
2.1.1 Rancang Bangun Perangkat Lunak Linked Open Data Halal Dan Gizi Pada Produk Makanan Dan Minuman
Penelitian ini berjudul ”Rancang Bangun Perangkat Lunak Linked
Open Data Halal Dan Gizi Pada Produk Makanan Dan Minum-
an” oleh Jauhar Fatawi Dalam penelitian ini, peneliti mem-
buat sebuah aplikasi web yang bernama Halal Nutrition Food yang memberikan rekomendasi tentang status gizi dari produk makanan atau minuman yang halal. Pada penelitian ini didapatkan dataset produk halal, dataset zat aditif, dan perangkat lunak ”Linked Open Data Halal dan Gizi”. Dataset produk halal menghimpun data-data produk halal secara detail berserta dengan komposisi produk, nutri- si produk, status halal, dan detail zat aditif bila terkandung dalam produk.
Tugas akhir ini akan melanjutkan penelitian tentang aplikasi Ha-
6 lal Nutrition Food dengan memberikan penambahan fungsi pada sistem pencarian produk halal di dalamnya agar lebih relevan dan akurat.
2.1.2 Tuning Parameter dalam Fungsi Okapi BM25 pada Me- sin Pencari Teks Bahasa Indonesia Penelitian ini berjudul ”Tuning Parameter dalam Fungsi Okapi BM25
pada Mesin Pencari Teks Bahasa Indonesia” oleh Tedy Saputra
Dalam penelitian ini, peneliti melakukan analisis tuning pa- rameter terhadap parameter bebas dari metode BM25. Tuning pa- rameter sendiri merupakan suatu variabel yang dapat diubah-ubah nilainya sesuai dengan kebutuhan dengan tujuan untuk mendapatk- an hasil pencarian yang lebih baik. Tujuan dari penelitian ini ada- lah seberapa besar pengaruh modifikasi nilai dari tuning parameter yang ada dalam fungsi kesamaan Okapi BM25 terhadap evaluasi dari hasil pencarian.
Keterkaitannya dengan tugas akhir ini adalah pada proses pencarian kesamaan yang menggunakan Okapi BM25 yang juga digunakan sebagai metode pencarian dalam tugas akhir ini.
2.1.3 Using BM25F for Semantic Search Penelitian ini berjudul ”Using BM25F for Semantic Search” oleh Perez-Aguera et al Dalam penelitian ini, peneliti menjabark- an tentang sistem information retrieval pada Semantic Web Search. Tujuan utama penelitian ini adalah menganalisa tantangan untuk menerapkan information retrieval pada RDF dalam proses pencari- an data. Penelitian ini melakukan pendekatan inverted index pada RDF. Con-
7 toh penggunaannya adalah sebagai berikut: Entri pada DBpedia:
The Godfather http://dbpedia.org/page/The Godfather
http://dbpedia.org/page/Francis Ford Coppola
Francis Ford Coppola
Penjelasan Triples: The Godfather (Subject) - dbpprop:director (Predicate)- Francis Fo- rd Coppola (Object) Kata kunci indeks: Kata ”director” dapat digunakan sebagai keyword untuk meng-indeks entri yang dijelaskan dengan URI: http://dbpedia.org/page/Francis Ford Coppola. Keterkaitan dengan tugas akhir ini adalah penggunaan algoritma BM25F dan menerapkannya dalam Semantic Search yang menjadi metode utama dalam tugas akhir.
2.1.4 Integrating the Probabilistic Model BM25/BM25F into Lucene
Penelitian ini berjudul ”Integrating the Probabilistic Model BM25/BM25F oleh P´erez-Iglesias et al Dalam penelitian ini,
into Lucene”
peneliti menjelaskan tentang penggunaan formula BM25 dalam memp- roses dokumen teks biasa dan BM25F yang memproses dokumen terstruktur kemudian mengimplementasikannya ke dalam Lucene Java Framework.
8 Keterkaitan dengan tugas akhir ini adalah penggunaan algoritma BM25F dengan mengimplementasikannya ke Lucene Java Frame- work, dimana tugas akhir ini juga menggunakan Lucene untuk pem- rosesan data.
2.1.5 Sindice at semsearch 2010 Penelitian ini berjudul ”Sindice at semsearch 2010” oleh Rena- ud Delbru, Nur Aini Rakhmawati, Giovanni Tummarello Da- lam penelitian ini, peneliti membandingkan dua metode ranking pada SIREn (Semantic Information Retrieval Engine) yaitu query-
dependent dan query-independent serta menggabungkan kedua me- tode tersebut di dalamnya.
Metode yang penulis soroti pada penelitian ini adalah query-independent yaitu metode ranking entitas menggunakan algoritma analisis link hirarki yang didasarkan pada dua lapisan model dari Web Da- ta. Lapisan atas (dataset layer) terdiri dari kumpulan antar dataset yang terhubung sedangkan yang lapisan lebih rendah (entitas layer) berisi grafik independen entitas.
Keterkaitan dengan tugas akhir ini adalah penerapan IR pada RDF dimana di dalamnya digunakan metode query-independent dan ran- king Weighted Entity Ranking yang keduanya akan digunakan da- lam tugas akhir.
2.2 Dasar Teori Pada subbab ini akan dijelaskan tentang teori-teori dan istilah yang digunakan dalam penelitian tugas akhir.
9
2.2.1 Produk Halal Kata halal berasal dari bahasa Arab yang berarti disahkan, diizink- an, dan diperbolehkan. Pada prinsipnya semua makanan dan mi- numan yang ada di dunia ini halal untuk dimakan dan diminum kecuali ada larangan dari Allah SWT yaitu yang terdapat dalam Al Qur’an dan yang terdapat dalam hadist Nabi Muhammad SAW. Dalam sebuah hadits Rasulullah SAW pernah ditanya para sahabat tentang hukum minyak sapi (samin), keju, kulit binatang beserta bulunya untuk perhiasan maupun untuk tempat duduk. Dalam Al- Qur’an anjuran untuk memakan makanan di jelaskan sebagai beri- kut: ”Dan (Allah) menghalalkan bagi mereka segala yang baik dan meng- haramkan bagi mereka segala yang buruk.” (QS al-A’raf [7]: 157). ”Hai sekalian manusia, makanlah yang halal lagi baik dari apa yang terbaik di bumi.” (QS al-Baqarah [2]: 168).
Kriteria makanan halal ada 3, yaitu :
- Halal karena dzatnya. Artinya, enda itu memang tidak dila- rang oleh hukum syara’, seperti nasi, susu, telur, dan lainlain.
- Halal cara mendapatkannya. Artinya sesuatu yang halal itu harus diperoleh dengan cara yang halal pula. Sesuatu yang halal tetapi cara medapatkannya tidak sesuatu dengan hukum syara’ maka menjadi haramlah ia. Sebagaimana, mencuri, menipu, dan lain-lain.
- Halal karena proses/cara pengolahannya. Artinya selain se- suatu yang halal itu harus diperoleh dengan cara yang halal pula. Cara atau proses pengolahannya juga harus benar. He- wan, seperti kambing, ayam, sapi, jika disembelih dengan cara yang tidak sesuai dengan hukum Islam maka dagingnya menjadi haram.
10
2.2.2 OKAPI BM25F OKAPI (Online Keyword Access to Public Information) BM25 ada- lah model pembobotan hasil pencarian yang dikembangkan oleh City University London berdasarkan pada model probabilistik da- sar yang mengurutkan dokumen dalam urutan menurun terhadap nilai relevansi sebuah dokumen terhadap informasi yang dibutuhk- an. Okapi BM25 meranking dokumen berdasarkan probabilitas dan menggunakan term frequency untuk meranking similarity. Pengerjaan Tugas Akhir ini menggunakan BM25F, yaitu algoritma ekstensi dari BM25. BM25F memiliki kelebihan yaitu fungsi per- ingkat yang disesuaikan untuk dokumen terstruktur (seperti instan- ce pada RDF). Penggunaan BM25F juga dikarenakan dari hasil pe- nelitian yang sudah ada, probabilitas relevansi dokumen meningkat sebagaimana frekuensi istilah dalam kueri yang semakin banyak. Untuk itu diperlukan fungsi peringkat paling terkini yang menggu- nakan peningkatan saturasi yang berfungsi untuk pembobotan isti- lah dalam dokumen yang muncul dalam kueri Rumus peringkat pada BM25F berdasarkan P´erez-Iglesias ada- lah sebagai berikut:
X
weight (t, d) R idf (2.1) (q, d) = (t) . k + weight(t, d)
1 t in q
Penjelasan:
2. t adalah term yang didapatkan dari query. 3. d adalah dokumen, dalam RDF dokumen berarti instance.
11 4. idf
(t) adalah nilai idf yang diperoleh dari perhitungan: N − df (t) + 0.5 idf (2.2)
(t) = log df (t) + 0.5 Penjelasan: • N adalah jumlah seluruh dokumen.
- df (t) adalah jumlah dokumen yang memiliki term t. 5. weight (t, d) adalah bobot term t dalam dokumen d yang di- peroleh dari perhitungan:
d X occurs . boost c t,c
weight (2.3) (t, d) =
l c . c ) + b c )
((1 − b
c in d avl c
Penjelasan:
- c adalah field pada dokumen yang terdiri dari subyek- .
predikat-obyek
- d adalah dokumen, dalam RDF dokumen berarti instan- ce.
d
adalah kemunculan term t pada field c dalam
- occurs t,c dokumen d.
adalah faktor boost yang diberikan ke field c.
c
- boost c adalah konstanta berdasarkan panjang field c.
- b adalah panjang dari field c.
c
- l adalah rata-rata panjang dari field c.
c
- avl 6. k 1 adalah konstanta yang dapat mengatur pertumbuhan fre- kuensi term non-linier.
2.2.3 Semantic Web Secara etimologi Semantic Web terdiri dari dua kata yaitu Semantic yang menurut Kamus Besar Bahasa Indonesia (KBBI) artinya ada- lah ilmu tentang makna kata dan kalimat; pengetahuan mengenai
12 seluk-beluk dan pergeseran arti kata. Juga kata Web yang berarti World Wide Web (WWW). Semantic web adalah sebuah fungsi tambahan dari sebuah web di- mana memberikan cara yang lebih mudah untuk menemukan, ber- bagi, menggunakan kembali, dan menggabungkan informasi. Ke- mampuan ini dibentuk dengan menggabungkan kemampuan tek- nologi XML untuk membentuk tagging schemes dan RDF’s (Re- source Descripton Framework) sebagai pendekatan fleksible yang mewakili data. Semantic web menyediakan format umum untuk pertukaran data. Selain itu Semantic web juga menyediakan baha- sa umum untuk merekam bagaimana data berelasi dengan obyek- obyek dunia nyata, memungkinkan orang atau sebuah mesin me- mulai pada satu database kemudian berhubungan degan database lain dan terkonseksi satu sama lain
2.2.4 Linked Data adalah langkah yang baik untuk menampilkan dan
Linked Data
menghubungkan data terstruktur di dalam Web menggunakan stan- dar yang berlaku menurut World Wide Web (WWW) Consortium. Linked Data memperkenalkan cara untuk mengambil, menggunak- an kembali dan menampilkan data di Web. Sementara itu penger- tian Linked Data menurut W3C, “Untuk membuat Web Data dapat diakses secara mudah, penting untuk memiliki banyak data yang tersedia di Web dalam format standar, terjangkau dan dikelola oleh Semantic Web. Selain itu, tidak hanya akses data Semantic Web, te- tapi hubungan antara data yang harus tersedia untuk membuat Web Data. Koleksi dataset yang saling terkait di Web juga dapat disebut sebagai Linked Data” Linked Data secara umum adalah pe- nerbitan data secara terstruktur menggunakan RDF dengan meng- gunakan URI.
13 Ada 4 (empat) prinsip linked data :
- Semua item harus diidentifikasi menggunakan URI
- Semua URI harus dereference-able artinya dengan menggu- nakan HTTP, URI membolehkan siapapun (manusia atau me- sin) untuk mencari suatu item yang telah diidentifikasikan melalui URI
- Mencari suatu URI lebih mengarah kepada data lebih juga dikenal sebagai prinsip follow-your-nose
- Link ke URI dalam sekumpulan data lainnya harus dima- sukkan untuk mengaktifkan penemuan data (data discovery) lebih lanjut
2.2.5 RDF Resource Description Framework (RDF) adalah kerangka untuk meng- ambil informasi dari sumber-sumber data. Sumber-sumber tersebut dapat berupa apapun, termasuk dokumen, orang, benda fisik, dan konsep-konsep abstrak. RDF ini muncul saat ini dimana Web perlu di proses oleh aplikasi, bukan hanya untuk ditampilkan. RDF me- nyediakan framework umum untuk menginformasikan data sehing- ga dapat dilakukan pertukaran data antar aplikasi tanpa kehilangan makna sebenarnya
RDF data model mirip dengan model konseptual sederhana seper- ti entity relationship model atau class diagram, namun pada RDF didasarkan pada pembuatan model berdasarkan pernyataan tentang sumber daya / resources (pada web) ke dalam bentuk subyek-predikat- obyek. Bentuk ini dikenal dengan nama triples pada terminologi RDF. Subyek menunjukkan sumber daya / resources, predikat me- nunjukkan ciri-ciri atau aspek sumber daya dan menghubungkan antara subyek dan obyek Untuk lebih jelasnya dapat dilihat
14 ilustrasi di bawah ini: Adnan mengerjakan tugas akhir
(subyek) (predikat) (obyek) Subyek merupakan suatu hal yang dideskripsikan. Sedangkan obyek merupakan data berupa angka, string, tanggal, ataupun URI dari suatu hal atau benda lain yang memiliki hubungan dengan subjek. Predikat merupakan merupakan suatu URI yang digunakan untuk mendeskripsikan hubungan antara subjek dengan objek. URI da- ri predikat diambil dari vocabularies, suatu kumpulan URI yang dapat digunakan untuk merepresentasikan informasi terkait bidang tertentu
2.2.6 Semantic Search
Semantic Search adalah teknik data pencarian di mana permintaan
pencarian bertujuan untuk tidak hanya menemukan kata kunci, teta- pi untuk menentukan maksud dan makna kontekstual dari kata-kata seseorang menggunakan untuk pencarian Hasil pencarian yang diberikan Semantic Search akan lebih ber- makna dengan memahami maksud frase pencarian dan menemukan hasil yang paling relevan dalam repositori data yang dituju. Seman- tic Search akan memperhatikan sinonim dari istilah, variasi kata dan unsur bahasa alami lainnya sebagai bagian dari pencarian.
2.2.7 Apache Lucene dan Apache Solr Apache Lucene adalah library pencarian teks di Java yang memper- mudah fungsi pencarian dalam aplikasi atau situs web Lucene
15 melakukannya dengan menambahkan konten ke indeks pada teks. Lalu dari indeks tersebut memungkinkan untuk melakukan query, kemudian hasil yang didapatkan akan diurutkan berdasarkan per- ingkat relevansi untuk query atau diurutkan menurut bidang acak seperti tanggal terakhir perubahan pada dokumen. Lucene mampu melakukan pencarian dengan cepat karena sistem kerjanya bukan mencari teks secara langsung, tetapi mencari indeks dari tiap dokumen. Seperti halnya mencari halaman dalam sebuah buku yang berhubungan dengan kata kunci dengan mencari indeks di bagian belakang buku. Skema Lucene dengan aplikasi dijelaskan pada Gambar
Layer aplikasi dengan Lucene Gambar 2.1:
16 Apache Solr adalah salah satu enterprise search platform yang be- sifat open source dari Apache. Fitur utamanya adalah pencarian berbasis teks, highlight, faceted search, dynamic clustering, data-
base integration , dan penanganan terhadap rich document (word,
pdf dsb).Pencarian menggunakan solr bisa menggunakan URL dan hasil pen- cariannya bisa berupa xml maupun JSON. Sehingga memudahkan programmer untuk menggunakannya dalam berbagai bahasa pem- rograman.
Apache Solr sendiri merupakan peningkatan fungsi dari Apache Lucene yang artinya Apache Solr membutuhkan Apache Lucene untuk melakukan proses di dalamnya. Apache Solr dibuat menggu- nakan bahasa pemrograman java dan menggunakan lucene untuk fitur indexing dan pencarian.
2.2.8 Plugin BM25F Plugin BM25F yang digunakan dalam aplikasi Halal Nutrition Fo- od menggunakan kode yang dibuat oleh Diego Cecarelli Pa- da project plugin BM25F tersebut terdapat 9 class yang memiliki fungsi masing-masing. Struktur dari project Plugin BM25F yang digunakan dalam aplikasi dapat dilihat pada gambar Penjelasan untuk masing-masing class adalah sebagai berikut:
- BM25FParserPlugin.java
Class ini berfungsi sebagai class utama yang menghubungk- an plugin dengan collection data halal dalam Solr.
- BM25FQueryParser.java
Class ini berfungsi untuk melakukan parsing dari kueri yang dimasukkan pengguna, untuk kemudian diproses ke class-
17 Struktur Project Plugin BM25F Gambar 2.2: class lain.
- BM25FParameters.java
Class ini berfungsi untuk menampung parameter pada plugin yaitu nilai K1, nilai boost, nilai bobot, isi tiap field, dan field utama yang didefinisikan pada collection.
- BM25FSimilarity.java
Class ini berfungsi untuk melakukan perhitungan BM25F, yaitu perhitungan TF/IDF, perhitungan weight, perhitungan rata-rata penjang field, dan perhitungan lain yang menunjang algoritma BM25F. Selanjutnya dari hasil perhitungan terse- but akan dihasilkan score relevansi pencarian.
- BM25FSimilarityFactory.java Class ini berisi method aksesor dari class BM25FSimilarity.
- BM25FBooleanQuery.java
Class ini berfungsi untuk memroses query yang sesuai de-
18 ngan dokumen dan cocok dengan kombinasi boolean dari qu- ery lain.
- BM25FBooleanScorer.java
Class ini berfungsi untuk melakukan Scoring pada Boolean Query dan menghitungnya menggunakan persamaan BM25F.
- BM25FBooleanTermQuery.java
Class ini berfungsi untuk memroses query yang hanya meng- andung satu term.
- BM25FBooleanTermScorer.java
Class ini berfungsi untuk melakukan Scoring pada query yang hanya mengandung satu term dan menghitungnya menggu- nakan persamaan BM25F.
2.2.9 Laravel Laravel adalah salah satu framework pempograman PHP yang di- buat oleh Taylor Otwell. Seperti kebanyakan framework PHP lain- nya, Laravel di kembangkan dengan menggunakan struktur Model- View-Controller (MVC). Menurut Sitepoint.com merukapan fra- mework terpopular pada survey yang dilakukannya pada tahun 2015. Pada penelitian ini menggunakan framework ini dikarenakan bebe- rapa alasan berikut:
1. RESTful routing RESTful adalah cara baru dalam mengelola request. Dengan REST dapat dengan mudal mengelola metode-metode requ- est seperti GET, POST, PUT, PATCH, DELETE, STORE, dll.
2. Composer ready Composer sendiri adalah Depedency Management PHP yang membantu kita untuk mencari library yang akan dipakai dan menginstalnya. Dalam melakukan installasi laravel pun juga perlu menggunakan Composer.
19
3. Template engine adalah program yang mengubah sintaks
Templating engine template engine tersebut ke HTML. Laravel sendiri memiliki templating engine bernama Blade.
4. Selain itu laravel memiliki beberapa fitur lain seperti SSH, authentication, pagination, session, schema suilder, validator, dan session.
2.2.10 Solarium Package Solarium adalah package PHP untuk Laravel yang digunakan un- tuk menghubungkan aplikasi web yang dibuat menggunakan PHP dengan Apache Solr. Beberapa kelebihan penggunaan Solarium antara lain:
1. Meringankan developer untuk melakukan koneksi dengan So- lr, misalnya untuk pengaturan parameter, membangun string, mengonfigurasikan API yang mudah digunakan.
2. Model kueri dapat diperluas penggunaannya dan bebas untuk memodifikasinya.
3. Fleksibel, maksudnya model kueri dan hasil tidak terkait de- ngan penerapan klien Solr tertentu.
4. Dapat digunakan di berbagai aplikasi PHP tanpa bergantung pada suatu framework.
5. Memungkinkan developer untuk berfokus pada logika bisnis.
2.2.11 Analytical Hierarchial Process
Analytical Hierarchial Process (AHP) merupakan suatu proses yang
melakukan proses justifikasi terhadap beberapa kriteria. AHP di-
20 kembangkan oleh Thomas Saaty pada tahun 1980 dengan pende- katan yang memecah masalah kompleks menjadi masalah yang ter- susun secara hierarki. AHP dapat digunakan untuk melakukan penilaian terhadap bebe- rapa criterion yang dapat membantu dalam pengambilan keputus- an nantinya. Pada penelitian ini, penggunaan AHP digunakan un- tuk menentukan nilai boost untuk setiap field yang ada dalam Solr collection, mana yang memiliki boost tertinggi ke boost terendah. Langkah-langkah yang dilakukan untuk menghitung AHP adalah sebagai berikut:
- Identifikasi kriteria yang akan digunakan dalam penelitian.
Pada penelitian ini, terdapat 4 kriteria yang akan dilakukan perhitungan. Empat kriteria tersebut adalah nama field yang ada, yaitu Kode Produk, Nama Produk, Nama Produsen, dan Nama Bahan Makanan.
- Membuat matriks sebesar n x n.
Pada tahap ini, dibuat sebuah matriks dengan dimensi n x ndi- mana n merupakan kriteria yang akan dilakukan pembobotan nantinya. Contoh matriks perhitungan dapat dilihat pada ta- bel
Tabel 2.1: Matriks AHP awal Criteria food code food name food man food ing food code
1 food name 1 food man
1 food ing 1 • Melakukan proses pairwise-comparison.
Selanjutnya, menggunakan hasil survey, dilakukan perhitung- an pairwise-comparison dimana kolom dibandingkan dengan
21 baris. Baris dan kolom memiliki hubungan ”Kriteria mana yang lebih penting, antara baris dengan kolom dari nilai 1 hingga 9 dimana 1 merupakan sangat tidak penting dan 9 sa- ngat penting”. Misalkan pada baris 1 dan kolom 2 memiliki nilai 5.00, maka kriteria 1 lebih penting daripada kriteria 2. Apabila dilihat dari baris 2 dan kolom satu maka nilainya ak- an terbalik menjadi 0.20 dimana artinya adalah kriteria 2 ti- dak terlalu penting dibanding kriteria 1. Contoh perhitungan terlihat pada tabel
pairwise-comparison
Tabel 2.2: Contoh hasil perhitungan pairwise-comparison Criteria food code food name food man food ing food code
1
0.14
0.14
0.14 food name
7.00
1
7.00
7.00 food man
7.00
0.14
1
0.14 food ing
7.00
0.14
7.00
1 • Jumlahkan setiap kolomnya. Penjumlahan nilai dilakukan pada semua kolom tiap kriteria. Hasil penjumlahan ini akan dijadikan acuan untuk dilakukan normalisasi di tahap berikutnya. Contoh hasil penjumlahan terlihat pada tabel Tabel 2.3: Contoh hasil penjumlahan kriteria food code food name food man food ing
SUM
22
1.42
15.14
8.28 • Melakukan normalisasi matriks yang telah dibuat. Pada tahap selanjutnya, dilakukan proses normalisasi matriks sesuai tabel dengan cara membagi nilai tiap kolom kri- teria dengan jumlah tiap kolom yang telah dihitung ditahap sebelumnya.
22 Tabel 2.4: Contoh hasil normalisasi pairwise-comparison
0.07
0.12 4 food ing
0.4 2 food name 0.7 3 food man
AHP hasil prioritas field awal Kriteria Nama Rata-rata/Bobot Kriteria 1 food code
0.12 • Tentukan strategi dari hasil kriteria yang didapatkan. Untuk mengetahui pembobotan akhir menggunakan metode AHP, semua baris dirata-rata dan akan didapatkan hasil se- perti pada tabel . Pada tabel tersebut, angka yang paling tinggi merupakan kriteria yang dianggap paling penting dan angka yang paling rendah merupakan kriteria yang dianggap tidak terlalu penting. Tabel 2.5:
0.46
0.09
0.32
0.02 food ing
0.09
Criteria food code food name food man food ing food code
0.32
0.84 food man
0.46
0.70
0.32
0.02 food name
0.01
0.09
0.04
0.9 BAB 3 METODOLOGI Bab ini menjelaskan tentang tahapan – tahapan yang dilakukan da- lam pengerjaan tugas akhir beserta penjelasan tiap tahapan tersebut. Lalu disertakan jadwal pengerjaan tiap tahapnya.
3.1 Tahapan Pengerjaan Tugas Akhir Pada sub bab ini akan dijelaskan mengenai metodologi dalam pe- laksanaan tugas akhir. Metodologi tersebut dapat dilihat pada Gam- bar
Metodologi Tugas Akhir Gambar 3.1:
24
3.1.1 Studi literatur Studi literatur dilakukan untuk memahami konsep, teori dan tek- nologi yang digunakan dalam penelitian. Pada tahap ini dilakukan pengumpulan literatur terkait yang mendukung dalam menyelesa- ikan tugas akhir. Literatur yang dipelajari adalah hasil penelitian yang membahas tentang Semantic Web khususnya Semantic Sear- ch dengan metode pencarian menggunakan algoritma BM25.
3.1.2 Pengumpulan data Pengumpulan data adalah proses mengumpulkan data-data produk halal. Data sebelumnya sudah ada dalam aplikasi Halal Nutrition Food yang berjumlah 100 entri. Dalam penelitian ini akan ditam- bahkan 50 entri produk halal sehingga berjumlah 150 entri produk halal.
3.1.3 Pengindeksan data Data produk halal yang tersimpan dalam database masih berupa data mentah yang harus diolah lagi supaya mempermudah dalam melakukan pencarian. Data produk halal yang akan dilakukan pen- carian harus berada dalam Apache Solr yang sebelumnya telah di- lakukan pengindeksan dari basis data. Oleh karena itu proses pe- ngindeksan ini penting dalam aktifitas pencarian data produk halal.
3.1.4 BM25F Ranking Proses Ranking sebelumnya dijelaskan pada subbab BM25F adalah ekstensi dari fungsi ranking BM25 yang digunakan untuk
25 menilai dokumen yang terstruktur. Contoh implementasi metode ranking pada dokumen RDF adalah sebagai berikut: Instance RDF Pengujian dilakukan pada 2 buah instance yang ada pada Tabel
Tabel 3.1: Dua instances RDF data produk halal Subyek Predikat Obyek halalv:FoodProduct Serena Snack halalf:1 halalv:certificate 00100039300306 halalv:manufacture PT Nissin Biscuit
Indonesia halalv:FoodProduct Nissin Wafers Co- klat halalf:2 halalv:certificate 00290047180208 halalv:manufacture PT Monde Mahko- ta Biskuit
Query Query yang dimasukkan adalah: Nissin Serena Query ini terdiri dari 2 kata, sehingga bisa dilakukan tokenisasi menjadi Nissin (t1) dan Serena (t2) Perhitungan weight (t, d) Dokumen disini terdapat 2 instance yaitu halalf:1 dan halalf:2. Ni- lai weight dihitung berdasarkan token query yang ada di dalam se-
26 tiap dokumen. Nilai boost untuk setiap field adalah FoodProduct = 3, certificate = 1, dan manufacture = 2. Nilai boost ini dibuat ber- dasarkan perkiraan kemunculan term dalam fieldnya. Perhitungan menggunakan rumus
0 . 3