FOCUSED CRAWLER
UNTUK MENGOPTIMALKAN
PENCARIAN JURNAL MENGGUNAKAN
METODE PORTER
STEMMER
SKRIPSI
CYNTHIA ARILLA SEMBIRING 091402124
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
FOCUSED CRAWLER
UNTUK MENGOPTIMALKAN
PENCARIAN JURNAL MENGGUNAKAN
METODE PORTER
STEMMER
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
CYNTHIA ARILLA SEMBIRING 091402124
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGIINFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : FOCUSED CRAWLER UNTUK
MENGOPTIMALKAN PENCARIAN JURNAL MENGGUNAKAN METODE PORTER STEMMER
Kategori : SKRIPSI
Nama : CYNTHIA ARILLA SEMBIRING
Nomor Induk Mahasiswa : 091402124
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 29 Agustus 2014
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dani Gunawan, S.T., M.T. M. Andri Budiman,ST.,M.Comp.Sc., M.E.M. NIP 198209152012121002 NIP 197510082008011011
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
PERNYATAAN
FOCUSED CRAWLER UNTUK MENGOPTIMALKAN
PENCARIAN JURNAL MENGGUNAKAN METODE PORTER STEMMER
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 29 Agustus 2014
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan kehadirat Tuhan Yesus Kristus yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh ijazah Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Untuk itu penulis mengucapkan terima kasih kepada:
1. Skripsi ini penulis persembahkan untuk kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi, ayah penulis Drs. Pancaria Sembiring, M.BA dan ibu penulis Lasmaria Sitorus yang selalu sabar dalam mendidik dan membesarkan penulis. Adik penulis Yudhistira Sembiring dan Yudhawira Sembiring yang selalu memberikan dorongan dan dukungan kepada penulis.
2. Bapak M. Andri Budiman, ST., M.Comp.Sc., M.E.M. dan Bapak Dani Gunawan, S.T., M.T. selaku dosen pembimbing penulis yang telah meluangkan waktu, pikiran, saran, dan kritiknya untuk penulis dalam menyelesaikan skripsi ini.
3. Bapak Dedy Arisandi, S.T., M.Kom. dan Ibu Sarah Purnamawati, S.T., M.Sc. yang telah bersedia menjadi dosen penguji dan memberikan saran dan kritik yang membangun dalam penyelesaian skripsi ini.
4. Ketua dan Sekretaris Program Studi S1 Teknologi Informasi, Bapak M. Anggia Muchtar, S.T., MM.IT. dan Bapak Mohammad Fadly Syahputra, B.Sc., M.Sc.IT.
5. Seluruh dosen Departemen Teknologi Informasi dan Ilmu Komputer USU yang telah memberikan ilmu, dukungan, arahan dan bantuannya selama proses perkuliahan, serta Ibu Delima dan Bang Faisal, sebagai staf Tata Usaha Program Studi Teknologi Informasi Universitas Sumatera Utara.
6. Erwin Sitorus yang telah memberikan dukungan kepada penulis selama ini. 7. Sahabat-sahabat yang selalu mendukung dan memberi semangat kepada
penulis, Fida Elvi Anderia Sebayang, S.TI., Stella Maris Harefa, S.TI., Ade Chania Sion Sagala, S.TI., Riska Vinesia Butarbutar, S.TI., Jihan Meutia Fauzen, S.TI., Annifa Iqramitha, S.TI., dan semua teman angkatan 2009. 8. Sahabat penulis Yustira Sinaga, S.E., Rotua Panjaitan, S.E. dan Venta Sitorus
S.E., yang selalu mendoakan dan memberi semangat.
9. Seluruh rekan kuliah sejawat yang tidak dapat disebutkan satu persatu.
ABSTRAK
Maraknya perkembangan media online seperti jurnal ilmiah membuat seseorang sulit untuk menemukan jurnal yang sesuai dengan yang diinginkan. Oleh sebab itu, dibutuhkan sebuah aplikasi pencarian jurnal dengan menampilkan jurnal terkait (related post) dari jurnal yang dicari sehingga dapat mengoptimalkan pencarian jurnal. Penelitian ini menggunakan teknik focused crawler yaitu teknik untuk mengunduh url dan konten yang ada pada suatu halaman website tertentu dan algoritma Porter stemmer untuk mengubah kata berimbuhan ke bentuk kata dasar. Focused crawler
juga digunakan untuk menghitung nilai bobot dan relevansi. Nilai relevansi dibutuhkan agar dapat diketahui jurnal yang memiliki nilai terdekat dengan jurnal yang lainnya (related post). Hasil Pengujian menyimpulkan bahwa semakin banyak data jurnal maka akan semakin dekat nilai relevansi masing-masing jurnal, sehingga dapat mengoptimalkan pencarian jurnal.
FOCUSED CRAWLER TO OPTIMIZE SEARCHING OF JOURNAL USING PORTER STEMMER ALGORITHM
ABSTRACT
The plethora of online media such as scientific journals, can make people really get difficulties to find the appropriate journals as they need. Therefore, an application of journal searching which searching related journal or related post is needed. This research uses focused crawler technique as a technique to download url and content in certain pages of a website and the Porter stemmer algorithm to transmute the affix word to become basic words. Focused crawler technique is also used to the weight of the stemmed word and its relevancy. Relevant value is needed to know the closest
journal which has the closest values to the other journals (related post). The result of the research concludes that more journals are searched the more relevant the value we get and thus the search is optimized.
DAFTAR ISI
1.4. Tujuan Penelitian 3
1.5. Manfaat Penelitian 3
1.6. Metodologi Penelitian 3
1.7. Sistematika Penulisan 4
BAB 2 TINJAUAN PUSTAKA 5
2.1. Search Engine 5
2.1.1. Sejarah Search Engine 5
2.1.2. Prinsip Umum Search Engine 6
2.1.3. Cara Kerja Search Engine 7
2.1.4. Sifat Search Engine 8
2.1.5. Algoritma Umum dalam Search Engine 9
2.2. Focused Crawler 10
2.3. Algoritma Porter Stemmer 12
2.4. Bahasa Pemrograman PHP 17
2.5. DatabaseMySQL 18
2.6. Penelitian Terdahulu 18
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 21
3.1. Analisis Data 21
3.1.1. Data Konten (Data Jurnal) 21
3.1.2. Tabel_Keyword 22
3.1.3. Tabel_Relevansi 23
3.2. Analisis Sistem 23
3.2.1. Admin 23
3.2.1.1. Text Preprocessing 25
3.2.1.2. Penghapusan Stopwords 26
3.2.1.3. StemmingPorter Stemmer 27
3.2.1.4. Focused Crawler 30
3.2.2. User 39
3.3.1. DiagramUse Case 40
3.3.2. Definisi Use Case 40
3.3.3. General Architecture 42
BAB 4 IMPLEMENTASI DAN PENGUJIAN 43
4.1. Implementasi Sistem 43
4.1.1. Spesifikasi Perangkat Keras dan 43 Perangkat Lunak yang Digunakan
4.1.2. Tampilan Halaman Utama User 43
4.1.3. Tampilan Halaman Pencarian 44
4.1.4. Tampilan Halaman Baca 45
4.1.5. Tampilan Halaman Proses Crawling 45
4.1.6. Tampilan Halaman Stemming 46
4.1.7. Tampilan Halaman Bobot dan Normalisasi 46 4.1.8. Tampilan Halaman Tabel Relevansi 47
4.2. Pengujian Sistem 47
4.2.1. Pengujian Sistem Tahap Crawling 47 4.2.2. Hasil Pengujian Proses Stemming 48 4.2.3. Hasil Pengujian Bobot dan Normalisasi 49 4.2.4. Hasil Pengujian Nilai Relevansi 49
4.2.5. Hasil Pengujian Pencarian 50
BAB 5 KESIMPULAN DAN SARAN 55
5.1. Kesimpulan 55
5.2. Saran 55
DAFTAR TABEL
Halaman
Tabel 2.1.Aturan Stemming Step 1a 13
Tabel 2.2.Aturan Stemming Step 1b 14
Tabel 2.3.Continued for –ed and –ing rules 14
Tabel 2.4.Aturan Stemming Step 1c 15
Tabel 2.5.Aturan Stemming Step 2 15
Tabel 2.6. Aturan Stemming Step 3 16
Tabel 2.7. Aturan Stemming Step 4 16
Tabel 2.8. Aturan Stemming Step 5a 17
Tabel 2.9. Aturan Stemming Step 5b 17
Tabel 2.10. Penelitian Terdahulu 20
Tabel 3.1. Tabel_Konten 21
Tabel 3.2. Tabel_Keyword 22
Tabel 3.3. Tabel_Relevansi 23
Tabel 3.4. Proses Normalisasi 32
Tabel 3.5. Tabel Menentukan Nilai relevansi 34
Tabel 3.6. Nilai Relevansi = 0 37
Tabel 3.7. Definisi Use case 41
DAFTAR GAMBAR
Halaman
Gambar 2.1. Tampilan dari Arhie 5
Gambar 2.2. Hasil Pencarian dari Archie 6
Gambar 2.3. Arsitektur Search Engine 8
Gambar 2.4. Arsitektur Focused Crawler 10
Gambar 3.1. Flowchart Sistem 24
Gambar 3.2. Flowchart Text Preprocessing 25
Gambar 3.3. Flowchart Proses Stopwords 26
Gambar 3.4. Flowchart Proses Stemming 28
Gambar 3.5. Flowchart Proses Normalisasi 31
Gambar 3.6. Flowchart Menghitung Relevansi 33
Gambar 3.7. Flowchart Pencarian 39
Gambar 3.8. Diagam Use case 40
Gambar 3.9. General Architecture 42
Gambar 4.1. Tampilan Halaman Utama User 44
Gambar 4.2. Tampilan Halaman Pencarian 44
Gambar 4.3. Tampilan Halaman Baca 45
Gambar 4.4. Tampilan Halaman Proses Crawling 45
Gambar 4.5. Tampilan Halaman Stemming 46
Gambar 4.6. Tampilan Halaman Bobot dan Normalisasi 47
Gambar 4.7. Tampilan Halaman Relevansi 47
Gambar 4.8. Database Tabel_Konten 48
ABSTRAK
Maraknya perkembangan media online seperti jurnal ilmiah membuat seseorang sulit untuk menemukan jurnal yang sesuai dengan yang diinginkan. Oleh sebab itu, dibutuhkan sebuah aplikasi pencarian jurnal dengan menampilkan jurnal terkait (related post) dari jurnal yang dicari sehingga dapat mengoptimalkan pencarian jurnal. Penelitian ini menggunakan teknik focused crawler yaitu teknik untuk mengunduh url dan konten yang ada pada suatu halaman website tertentu dan algoritma Porter stemmer untuk mengubah kata berimbuhan ke bentuk kata dasar. Focused crawler
juga digunakan untuk menghitung nilai bobot dan relevansi. Nilai relevansi dibutuhkan agar dapat diketahui jurnal yang memiliki nilai terdekat dengan jurnal yang lainnya (related post). Hasil Pengujian menyimpulkan bahwa semakin banyak data jurnal maka akan semakin dekat nilai relevansi masing-masing jurnal, sehingga dapat mengoptimalkan pencarian jurnal.
FOCUSED CRAWLER TO OPTIMIZE SEARCHING OF JOURNAL USING PORTER STEMMER ALGORITHM
ABSTRACT
The plethora of online media such as scientific journals, can make people really get difficulties to find the appropriate journals as they need. Therefore, an application of journal searching which searching related journal or related post is needed. This research uses focused crawler technique as a technique to download url and content in certain pages of a website and the Porter stemmer algorithm to transmute the affix word to become basic words. Focused crawler technique is also used to the weight of the stemmed word and its relevancy. Relevant value is needed to know the closest
journal which has the closest values to the other journals (related post). The result of the research concludes that more journals are searched the more relevant the value we get and thus the search is optimized.
BAB 1
PENDAHULUAN
1.1.Latar Belakang
Perkembangan teknologi internet saat ini semakin pesat.Hal ini tidak terlepas dari banyaknya ketersediaan search engine(mesin pencari) yang memungkinkan untuk melakukan penjelajahan ke dunia internet. Kebanyakan orang ketika hendak mencari informasi di internet, yang dilakukan adalah membuka situs layanan search engine
(Wahana Komputer, 2009). Terdapat ratusan bahkan ribuan search engine (mesin pencari) yang ada di internet dan kapasitasnya selalu tumbuh dari waktu ke waktu
(Febrian, 2007).
Perkembangan internet yang eksplosif membuat seseorang sulit untuk menemukan informasi yang sesuai dengan apa yang diinginkan. Dalam related post (postingan terkait) juga tidak jarang menyarankan informasi yang tidak sesuai dengan apa yang dicari oleh seseorang. Pada penelitian ini dilakukan penghitungan nilai relevansi pada jurnal untuk menentukan postingan terkait (related post) pada masing-masing jurnal yaitu dengan menggunakan focused crawler. Sehingga dengan adanya related post (jurnal terkait), diharapkan dapat mengoptimalkan pencarian jurnal dan membantu seseorang dalam mencari jurnal dengan mudah.
Focused crawler adalah sebuah pendekatan untuk melakukan proses crawling.Focused crawler ini berfungsi untuk mengunduhurldan konten yang ada
pada suatu halaman.Urldan konten yang sudah diunduhakan otomatis masuk ke dalam database.Proses untuk mengumpulkan informasi mengenai halaman web dilakukan
oleh sebuah software yang disebut crawler (wahana Komputer, 2009).
1980). Proses stemming dilakukan untuk mendapatkan kata dasar dari kata berimbuhan dan bobot term dari setiap kata.
Beberapa penelitian tentang focused crawler yang pernah dibuat sebelumnya yaitu Reinforcement Learning dalam Proses Pembelajaran Penentuan Strategi Penelusuran pada Focused Crawler (Maimunah & Kuspriyanto, 2008), FocusedCrawler Optimization Using Genetic Algorithm (Yohanes et al., 2011), Concept based Focused Crawling using Ontology (Thenmalar & Geetha, 2011),
Implementasi Focused Crawler dengan Menggunakan Content Similarity dan Link Structure Analysis (Rendy, 2012), Effective Focused Crawling Based on Content and
Link Structure Analysis (Pal Anshika et al., 2009). Penelitian terdahulu mengenai
PorterStemmer yaitu Perbandingan Algoritma Stemming Porter dengan Algoritma Nazief & Asriani untuk Stemming Dokumen Teks Bahasa Indonesia (Agusta, 2009), Algoritma Porter StemmerFor Bahasa Indonesia untuk Pre-Processing Text Mining Berbasis Metode Market Basket Analysis (Budhi et al., 2006).
1.2.Rumusan Masalah
Teknologi internet sangat memudahkan seseorang dalam mendapatkan informasi. Hal tersebut tidak terlepas dari banyaknya ketersediaan search engine yang
memungkinkan untuk melakukan penjelajahan ke dunia internet. Seiring dengan perkembangan internet yang eksplosif dimana membuat seseorang sulit menemukan informasi yang sesuai dengan apa yang diinginkan. Berdasarkan hal tersebut, rumusan masalahnya yaitu bagaimana mengoptimalkan pencarian jurnal (judul dan abstrak), sehingga dapat mengakomodasi pencarian dengan 1 keyword atau lebih dengan memperhatikan nilai relevansi,
1.3.Batasan Masalah
Adapun yang menjadi batasan masalah pada tugas akhir ini, yaitu: 1. Khusus untuk pencarian jurnal yang berbahasa Inggris. 2. Bagian yang di-crwaling adalah judul jurnal dan abstrak. 3. Proses crawling bersifat online.
1.4.Tujuan Penelitian
Tujuan dari penelitian ini yaitumengoptimalkan pencarian jurnal dengan menampilkan nilai relevansi antara jurnal menggunakan focused crawler dan algoritma Porter stemmer.
1.5.Manfaat Penelitian
Manfaat dari penelitian ini adalah memudahkan seseorang untuk mendapatkan sebuah jurnal yang sesuai dengan topik yang diinginkan.
1.6.Metodologi Penelitian
Tahapan-tahapan metodologi penelitian: 1. Studi Literatur
Studi literatur dilakukan dengan mengumpulkan bahan-bahan referensi baik daribuku, artikel, paper, jurnal, makalah, maupun situs-situs internet.
2. Analisis Sistem
Pada tahap ini dilakukan analisispendekatan focused crawler dan algoritma Porter stemmerdalam menentukan related post.
3. Perancangan dan Implementasi Sistem
Pada tahap ini dilakukan perancangan sesuai dengan hasil dari analisis sistem
dan melakukan implementasi dari hasil analisis dan perancangan yang dibuat. 4. Pengujian Sistem
Pada tahap ini dilakukan proses pengujian dan percobaan terhadap sistem sesuaidengan kebutuhan yang ditentukan sebelumnya serta memastikan program yangdibuat berjalan seperti yang diharapkan.
5. Dokumentasi
1.7.Sistematika Penulisan
Bagian utama dari sistematika penulisan skripsi ini yaitu:
BAB 1. PENDAHULUAN
Bab ini berisi tentang dasar-dasar pemikiran yang meliputi permasalahan yang melatar belakangi dibuatnya aplikasi ini, merumuskan masalah-masalah untuk mendukung dibuatnya aplikasi ini, maksud dan tujuan yang harus dicapai dari pembuatan aplikasi ini, batasan-batasan untuk untuk memfokuskan pembuatan aplikasi ini, metode-metode penelitian untuk pengumpulan data, metode-metode pembangunan perangkat lunak dan sistematika penulisan yang menjelaskan garis besar dari setiap bab nya.
BAB 2. TINJAUAN PUSTAKA
Bab ini menjelaskan tentang teori-teori yang menunjang dan berhubungan dengan pembuatan dan perancangan serta sebagai acuan dalam pembuatan sistem, sehingga perancangan tersebut sesuai dengan teori yang sudah ada.
BAB 3. ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisikan langkah-langkah penelitian yang dilakukan, serta analisis terhadap fokus permasalahan penelitian.
BAB 4. IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi pembahasan tentang implementasi berdasarkan perancangan yang disusun pada bab 3 dan pengujian terhadap sistem yang dibangun.
BAB 5. KESIMPULAN DAN SARAN
BAB 2
TINJAUAN PUSTAKA
Pada bab ini akan dibahas tinjauan pustaka untuk mendukung penulisan skripsi ini. Teori yang dibahas yaitu mengenai search engine, focused crawler, stemming, Porter stemmer, bahasa pemrograman PHP dan databaseMySQL dan beberapa subpokok pembahasan lainnya yang menjadi landasan teori pada skripsi ini.
Semua dasar teori dalam tinjauan pustaka ini, diambil dari buku, jurnal, laporan dan internet.
2.1.Search Engine
Search engine (mesin pencari)merupakan fasilitas yang digunakan untuk mengeksplorasi berbagai data, informasi, dan pengetahuan yang ada di internet. Search engine adalah sebuah program yang dapat diakses melalui internet yang
berfungsi untuk membantu pengguna komputer dalam mencari berbagai hal yang ingin diketahuinya (Indrajit R.E. et al.). TheAmerican Heritage Dictionary
mendefinisikan search engine sebagai sebuah program perangkat lunak (software) yang menelusur, menjaring, dan menampilkan informasi dari pangkalan data.
2.1.1.Sejarah search engine
Search engine pertama kali diciptakan pada tahun 1990 oleh Emtage mahasiswa Universitas McGill di Montreal Canada. Dia menciptakan alat bantu untuk melakukan pencarian bernama Archie.Aplikasi berguna untuk mencari file saja.
Gambar 2.2 Hasil pencarian dari Archie (Sumber: archie.icm.edu.pl)
Pada tahun 1991, Mark McCahilldari Universitas Minnesota menemukan search engine yang lebih canggih.Aplikasi ini bernama Gopher dan berguna untuk mencari teks di internet.Gopher mengindeks dokumen teks yang akhirnya berkembang menjadi dunia website atau www. Kemudian diciptakan sebuah program bernama Veronica singkatan dari software bernama Very Easy Rodent Oriented Net-wide Index to Computerized Archieves.Setelah Veronica, diciptakan website yang
disebut Jungheadyang merupakan singkatan dari Jony’z Universal Gopher Hierarchy Excavation and Display yang merupakan software untuk mencari teks yang tersimpan
di sistem indeks dari Gopher.
Tahun 1993, munculsearch engine baru bernama wandex yang dikembangkan oleh Matthew Gray.Wandex bekerja dengan cara mengindeks dan mencari index dari halaman. Semenjak saat itu muncul search engine seperti Excite, Yahoo!, Google,Lycos, Ask.com dan yang lainnya (Wahana Komputer, 2009).
2.1.2.Prinsip umum search engine
Prinsip umum dari search engine (Febrian, 2007), yaitu: 1. Spider
Spider mirip dengan browser.Perbedaannya, browser menampilkan secara
halaman yang dikunjungi untuk disimpan ke dalam database yang dimiliki oleh search engine.
2. Crawler
Crawler merupakan program yang dimiliki oleh search engine untuk melacak dan
menemukan link yang terdapat dari setiap halaman yang ditemuinya. Crawler berfungsi untuk menentukan spider harus pergi kemana dan mengevaluasi link berdasarkan alamat yang ditentukan dari awal.
3. Indexer
Indexer berfungsi untuk melakukan aktivitas untuk menguraikan masing-masing
halaman dan meneliti berbagai unsur seperti teks, header, struktur, atau fitur dari gaya penulisan, tag HTML khusus, dan yang lainnya.
4. Database
Database merupakan tempat standar untuk menyimpan data-data dari halaman
yang telah dikunjungi, diunduh dan sudah dianalisis. 5. Result Engine
Result engine merupakan mesin yang melakukan penggolongan dan penentuan
peringkat dari hasil pencarian pada search engine. Result engine berfungsi untuk menentukan halaman mana yang menemui kriteria terbaik dari hasil pencarian berdasarkan permintaan penggunaannya dan bagaimana bentuk penampilan yang akan ditampilkan.
6. Web Server
Web Server merupakan komputer yang melayani permintaan dan memberikan
respon balik dari permintaan tersebut. Web Server menghasilkan informasi atau dokumen dalam format HTML.
2.1.3.Cara kerja search engine
Pencarian oleh Search engine dilakukan dalam database yang menyimpan text dari masing-masing halaman.Text dari halaman demi halaman disimpan ke dalam server database.Ketika melakukan pencarian, search engineakan melakukan pencarian
Untuk menentukan halaman potensial, mereka mengacu pada link yang terdapat pada halaman yang telah disimpan di dalam database. Jika suatu halaman web tidak pernah di-link dari halaman lainnya, maka spider dari search engine tidak
akan menemukan halaman tersebut. Mereka hanya memantau dari database yang dimiliki.Seperti pada Gambar 2.3.
Gambar 2.3 Arsitektur Search Engine (Falani, 2010)
2.1.4.Sifat search engine
Ditinjau dari mekanisme kerjanya, search engine dibagi menjadi 3 tipe (Wahana Komputer, 2009), yaitu:
1. Search Engine Bersifat Crawler
Google menggunakan software agen otomatis yang disebut crawler untuk mengunjungi website, membaca, dan mengindeks website tersebut.Semua informasi yang dikumpulkan oleh crawlerakandisimpan di lokasi terpusat.Crawlerakan mengunjungi website berulang kali secara periodik dengan periode yang ditentukan oleh administratorsearch engine.
2. Search Engine dengan Campur Tangan Manusia
Search engine ini mengindeks dengan cara campur tangan manusia. Dimana,
pemilik situs mengirimkan data yang akan diindeks dan setelah diindeks akan ditampilkan sebagai hasil pencarian. Contoh: Yahoo!.
3. Search Engine Hibrida
mengirimkan crawler untuk mengindeks website. Dengan menggunakan campur tangan manusia maka search engine bisa menghindari spammer.
2.1.5.Algoritma umum dalam search engine
Algoritma menentukan bagaimana prosedur pengambilan data dan pengumpulannya. Algoritma umum yang dipakai oleh search engine (Wahana Komputer, 2009), yaitu: 1. Pencarian List
Algoritma yang melakukan pencarian dengan cara mencari satu kunci, dan pencarian dilakukan secara linier. Kekurangan dari algoritma ini yaitu sangat lama karena pencariannya yang linier.Kelebihannya yaitu hasilnya sedikit sehingga lebih tersaring yang benar-benar relevan terhadap hasil pencarian. 2. Pencarian Tree
Algoritma ini mencari data dari dataset yang paling luas kemudian menyempit hingga sampai ke bagian yang lebih detail.Satu dataset bisa memiliki cabang yang lebih kecil dan menyempit.Pencarian tree lebih bagus hasilnya dari pencarian list.Kekuranganya yaitu pencariannya bertingkat sehingga untuk bisa
melakukan pencarian harus dari akar, batang, dan ranting sesuai dengan ranking yang dimiliki dataset.
3. Pencarian SQL
Pencarian SQL menggunakana databasestructured query language yang memungkinkan data untuk diambil secara tidak linier. Data langsung bisa diambil dari subset dari keseluruhan dataset yang ada.
4. Pencarian Informed
Algoritma ini bertujuan mencari jawaban yang spesifik dari dataset. Pencarian ini tidak selalu jadi solusi terbaik karena umumnya yang dicari oleh pengunjung search engine adalah jawaban dari pencarian.
5. Pencarian Adversarial
Algoritma yang mencari semua solusi dari masalah. Algoritma ini kurang efektif untuk pencarian web karena jumlah solusinya akan sangat banyak di www sehingga boros sumber daya yang ada.
6. Pencarian Berdasar Batasan
2.2.Focused Crawler
Pada tahun 1999, Soumen Chakrabarti memperkenalkan focused crawler. Focused crawler berfungsi untuk menelusuri link yang mengarah pada page target dan
berusaha semaksimal mungkin menghindari link yang tidak mengarah padapagetarget (Maimunah & Kuspriyanto, 2008). Focused crawler adalah teknik untuk mengunduhurldan konten dari halaman web. Pada penelitian ini url dan konten yang sudah diunduh akan secara otomatis masuk ke dalam database.
Setelah selesai proses crawling,focused crawler juga akan menghitung bobot dan relevansi. Relevansi yang didapat akan menentukan jurnal terkait masing-masing jurnal. Hal tersebut akan menghemat penggunaan waktu dan sumber daya ketika melakukan pencarian jurnal. Apabila dalam suatu halaman web terdapat kata yang sesuai dengan kata kunci, maka halaman dianggap memiliki kecocokan dengan apa yang dicari oleh user (Sulastri & Zuliarso, 2010).
Relevant Page Database Seed URL
URL Queue
Web Page Downloader
Irrelevant Table
Parser & Extractor
Relevance Calculator
Topic Filter
Topic Spesific Weight Table
Irrelevant Relevant
Internet
Keterangan :
1. SeedURLs dan URL Queue
Seed URLs (bibit URL) akan dimasukkan ke dalam antrian URL yang disebut
URLQueue. Dalam antrian (URL Queue) akan dilakukan proses pengurutan
berdasakan nilai link tertinggi pada URL yang didapat. URLakan dihapus jika proses crawling selesai. Proses ini berlanjut hingga URL dan URL Queue kosong. 2. Web Page Downloader
Halaman yang ada pada URL Queue akan diunduh olehweb page downloader melalui internet. Halaman tersebut akan disimpan sementara di dalam cache. 3. Parser dan Extractor
Halaman yang tersimpan dalam cache akan mengalami proses penguraian (parser) yaitu penghapusan tag html. Setelah itu dilakukan proses penghilangan imbuhan bentuk kata dasar oleh Porter Stemmer. Kata yang memiliki kata dasar yang sama kan digabungkan.
4. Topic Spesific Weight Table
Topic Spesific Weight Table berfungsi sebagai pembanding untuk mendapatkan
relevansi suatu halaman.Rumus menghitung bobot stem untuk mendapatkan Topic Spesific Weight Table yaitu:
w (weight) = Bobot keyword
wi= Bobot dari stem
wmax= Nilai tertinggi dari bobot stem
5. Relevance Calculator
Rumus untuk menghitung relevansi suatu halaman, yaitu:
√ √
Keterangan :
6. Topic Filter
Jika suatu halaman relevant, maka akan dimasukkan ke dalam relevant page database. Jika tidak relevant maka akan masuk ke dalam irrelevant table.
7. Relevant Page Database
Relevant Page Database berisi halaman URL yang relevant. Halaman yang relevant akan dimasukkan ke dalam URLqueue.Bobot atau nilai dari URL yaitu nilai dari relevansi halaman tersebut.
8. Irrelevant Table
Jika suatu halaman tidak relevant, maka akan dimasukkan ke dalam irrelevant table. Halaman yang tidak memiliki relevansi pada irrelevant table tidak akan
melakukan proses crawling lagi.
2.3.Algoritma Porter Stemmer
Stemming adalah proses menghapus variasi kata untuk mendapatkan kata dasar yang
mengacu pada morfologi kata. Stemming khusus bahasa Inggris ditemukan oleh Martin Porter pada tahun 1980.
Algoritma Porter stemmer adalah proses penghilangan akhiran morphological dan inflexional yang umumnya terdapat dalam bahasa Ingris (Porter, 1980). Algoritma
ini mencari kata dasar dari suatu kata yang berimbuhan dengan membuang imbuhan-imbuhan (akhiran) pada kata-kata bahasa Inggris karena bahasa Inggris tidak mengenal awalan.
Kondisi stem (akar kata) pada algoritma Porterstemmer:
1. Ukuran (measure), dinotasikan dengan m, dari sebuah stem berdasarkan pada urutan vokal-konsonan.
m = 0, contoh : TR, EE, TREE, Y, BY
2. *<X>berarti stem berakhir dengan huruf X 3. *v*berarti stem mengandung sebuah vokal 4. *d berarti stem diakhiri dengan konsonan double
5. *o berarti stem diakhiri dengan konsonan – vokal – konsonan secara berurutan dimana konsonan akhir bukan w, x, atau y.
Pada sebagian kondisi mungkin juga terdapat ekspresi dengan, and, or and not, seperti:
1. (m>1 and (*S or *T)) Pada bagian m>1 dengan berakhir di s atau t.
2. (*d and not (*L or *S or *Z))stem diakhiri dengan konsonan double, tidak akhiran L atau S atau Z
Aturan-aturan dalam proses stemming pada algoritma Porterstemmer(http://tartarus.org/martin/PorterStemmer/def.txt):
1. Langkah 1
Langkah 1a: remove plural suffixation, yaitu mengganti atau menghapus
akhiran kata berbentuk jamak hingga mendapatkan stem.
Tabel 2.1 Aturan Stemming Step 1a(http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
NULL SSES SS caresses caress
NULL IES I ponies poni
ties ti NULL SS SS caress caress
NULL S NULL cats cat
Langkah 1b: remove verbal inflection. Jika kata mengandung huruf vokalkonsonan berurutan, maka akhiran eed berubah ee. Pada akhiran ed dan
-ing, kata tidak akan mengalami perubahan jika kata tersebut hanya memiliki
satu huruf vokal, dan jika lebih dari satu huruf vokal, akhiran -ed dan -ing akan
Tabel 2.2 Aturan Stemming Step
1b(http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
(m>0) EED EE feed feed
agreed agree
(*v*) ED NULL plastered plaster
bled bled
(*v*) ING NULL motoring motor
singing sing
Continued for ed and ing rules, merupakan tahap selanjutnya pada akhiran
-ed dan -ing. Kata yang diakhiri oleh double konsonan (tidak berakhir oleh huruf l, s, z) maka kata tersebut akan diganti dengan satu huruf konsonan saja. Suatu kata akan ditambahkan e, jika kata diakhiri oleh huruf konsonan-vokal-konsonan secara berurutan (konsonan-vokal-konsonan akhir bukan w ,x, y) dan hanya memiliki satu urutan vokal-konsonan didalamnya.
Tabel 2.3 Continued for –ed and –ing
rules(http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
NULL AT ATE conflate(ed) conflate
NULL BL BLE trouble(ed) trouble
NULL IZ IZE size(ed) size
(*d* and not (*L or *S or *Z))
NULL Single letter hopp(ing) hop tann(ed) tan fall(ing) fall hiss(ing) hiss
fizz(ed) fizz (m=1 and *o) NULL E fail(ing) fail
Langkah 1c: -y dan -i, jika dalam sebuah kata terdapat huruf vokal, maka
akhiran y diganti dengan -i.
Tabel 2.4 Aturan Stemming Step 1c(http://tartarus.org/martin/PorterStemmer/def.txt) Conditions Suffix Replacement Examples
(*v*) Y I happy happi
sky sky
2. Langkah 2: peel one suffix off for multiple suffixes yaitu sebuah kata memiliki
sebuah huruf vokal-konsonan secara berurutan.
Tabel 2.5 Aturan Stemming Step 2
(http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
(m>0) ATIONAL ATE relational relate (m>0) IXATION IZE vietnamization vietnamize (m>0) ATION ATE predication predicate menjadi ic, kata berakhiranative, ful, ness akan dihapus, dan kata berakhiran -alize akan menjadi -al. Dimana, kata tersebut harus memiliki sebuah
Tabel 2.6 Aturan Stemming Step
3(http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
(m>0) ICATE IC triplicate triplic memiliki dua huruf vokal-konsonan secara berurutan.
Tabel 2.7 Aturan Stemming Step 4
(http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
(m>1) AL NULL revival reviv
Tabel 2.7 Aturan Stemming Step 4 (lanjutan) (http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
(m>1) OUS NULL homologous homolog (m>1) IVE NULL effective effect (m>1) IZE NULL bowdlerize bowdler
5. Langkah 5 :
Langkah 5a: remove e. Akhiran –eakan dihapus jika kata tersebut memiliki dua
vokal-konsonan berurutan (konsonan akhir tidak w, x, y) dan tidak diakhiri konsonan-vokal-konsonan secara berurutan.
Tabel 2.8 Aturan Stemming Step 5a
(http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
(m>1) E NULL probate probat
rate rate (m=1 and not *o) E NULL cease ceas
Langkah 5b: reduction. Akhiran akan diganti menjadi satu huruf konsonan
jika, kata memiliki sebuah vokal-konsonan berurutan dan tidak berakhir dengan double konsonan.
Tabel 2.9 Stemming Step 5b
(http://tartarus.org/martin/PorterStemmer/def.txt)
Conditions Suffix Replacement Examples
(m>1 and *d an *L) NULL Single Letter controll control roll roll
2.4.Bahasa Pemrograman PHP
PHP merupakan software open sourceyang disebarkan dan dilisensikan secara gratis serta dapat diunduhsecara bebas dari system resminya.Penggunaan PHP
memungkinakan web dapat dibuat dinamis sehingga maintenance situs web tersebut menjadi lebih mudah dan efisien (Kasiman, 2006).
PHP dapat digunakan pada semua sistem operasi, yaitu Linux, Unix, Microsoft
Windows, Mac OS X, RISC OS.PHP juga mendukung banyak Web Server seperti Apache, Microsoft Internet Information Server, Personal Web Server, Netscape and
Databaseyang dapat didukung oleh PHP, yaitu MySQL, Adabas D, d Base, Direct
MS-SQL, Empress, FilePro, FrontBase, Hyperwave, IBM DB2, Informx dan lain sebagainya.
2.5.DatabaseMySQL
MySQL termasuk dalam kategori database management system, yaitu suatu database yang terstruktur dalam pengolahan dan penampilan datanya.MySQL merupakan database yang bersifat client server.MySQL dapat juga dikatakan sebagai Relational Database Management System (RDBMS), yaitu hubungan antar tabel yang berisi
data-data pada suatu data-database sehinga mempercepat pencaria suatu data-data. Kelebihan database MySQL (Sugiri dan Harris, 2008), yaitu :
1. MySQL merupakan database yang memiliki kecepatan tinggi dalam pemrosesan data, dapat diandalkan, mudah digunakan dan mudah dipelajari.
2. MySQL mendukung banyak bahasa pemrograman seperti C, C++, Perl, Phython, Java dan PHP. Bahasa pemrograman tersebut dapat digunakan untuk berinteraksi
maupun berkomunikasi dengan dengan MySQL server.
3. Koneksi, kecepatan, dan keamanannya membuat MySQL sangat cocok diterapkan untuk pengaksesan database melalui internet dengan menggunakan bahasa pemrograman Perl atau PHP sebagai interfacenya.
4. MySQL dapat menangani database dengan skala sangat besar, dengan jumlah record lebih dari 50 juta, 60 ribu tabel, dan bisa menampung 5 milyar basis data.
5. Multiuser, yaitu dalam satu databaseserver pada MySQL dapat diakses oleh beberapa user dalam waktu yang sama tanpa mengalami konflik atau crash.
6. MySQL merupakan software database yang bersifat free atau gratis.
2.6.Penelitian Terdahulu
Penelitian yang dilakukan oleh Pal Anshika et al. (2009) yaitu Effective Focused Crawler Based on Content and Link Structure Analysis.Hasil dari penelitian
ini yaitu pendekatan yang diteliti memiliki kinerja yang lebih baik daripada Breadth-FirstSearch (BFS) crawler.
Focused Crawler Optimization Using Genetic Algorithm oleh Yohannes et al.
(2011). Hasil dari penelitian ini menunjukkan bahwa Genetic Algorithm (GA) dalam proses crawling dapat melintasi ruang pencarian web yang lebih komprehensif dibandingkan focused crawler tradisional.
Thenmalar & Geetha (2011) melakukan penelitian mengenai Concept Based Focused Crawling Using Ontology.Pada penelitian ini, algoritma ontology memiliki kemampuan untuk memecahkan masalah utama dari proses crawling dalam menentukan relevant pages. Penggunaan dari gabungan seed concept vector untuk menentukan peringkat masing-masing dokumen.
Implementasi Focused Crawler dengan Menggunakan Content Similarity dan Link Structure Analysis oleh Herdiansyah Rendy (2012). Penelitian yang dilakukan
yaitu mengimplementasikan focused crawler dengan menggunakan metode cosine similarity, link score, dantraverse irrelevant page. Hasil dari penelitian ini
menunjukkan bahwa focused crawlerakan mendapatkan nilai precision rate yang optimal dengan menggunakan metode traverse irrelevant page dengan kedalaman
level 0.
digunakan sangat mempengaruhi hasil stemming. Semakin lengkap kamus yang digunakan maka semakin akurat pula hasil stemming.
Algoritma Porter Stemmer for bahasa Indonesia untuk Pre-ProcessingText Mining Berbasis Metode Market Basket Analysis oleh Budhi et al. (2006). Hasil dari penelitian ini yaitu algoritma Porter Stemmer for Bahasa Indonesia dapat digunakan pada proses stemmer saat merubah sebuah data teks dalam bahasa Indonesia menjadi bentuk Compact Transaction. Pada penelitian ini, hasil dari proses tidak selalu benar sehingga masih diperlukan pemeriksaan manual.
Tabel 2.10 Penelitian Terdahulu
Nama Penelitian Tahun
Maimunah & Kuspriyanto
Reinforcement Learning dalam Proses
Pembelajaran Penentuan Strategi Penelusuran pada Focused Crawler.
2008
Pal Anshika et al. Effective Focused Crawler Based on Content and Link Structure Analysis.
2009
Yohannes et al. Focused Crawler Optimization Using Genetic Algorithm.
2011
Thenmalar & Geetha
Concept Based Focused Crawling Using Ontology. 2011
HerdiansyahRendy Implementasi Focused Crawler dengan Menggunakan Content Similarity dan Link Structure Analysis.
2012
Agusta Ledy Perbandingan Algoritma Stemming Porter dengan Algoritma Nazief & Andriani untuk Stemming Dokumen Teks Bahasa Indonesia.
2009
Budhi et al Algoritma Porter Stemmer for bahasa Indonesia untuk Pre-ProcessingText Mining Berbasis Metode Market
Basket Analysis.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1.Analisis Data
Dalam penelitian ini, terdapat beberapa jenis data utama yaitu data konten (data jurnal), keyword, dan relevansi.
3.1.1.Data konten (data jurnal)
Data konten (jurnal) yang digunakan diambil dari berbagai situs di internet (media online) yang akan dimasukkan ke dalam database. Jurnal yang diambil merupakan
jurnal berbahasa Inggris. Dalam database data konten (data jurnal) terdapat pada tabel_konten. Seperti pada gambar Tabel 3.1.
Tabel 3.1 Tabel_Konten
Id_kon ten
url Judul Konten_html Konten_
teks
intratumoral FDG and Cu-ATSM distributions in cancer tissue originated spheroid (CTOS) xenografts, a tumor model retaining the original
tumor properties
2-amino-5-(4-Jurnal yang sudah di-crwalingakan dimasukkan otomatis ke dalam databasecrawler yaitu pada tabel_konten yaitu pada Tabel 3.1. Tabel_konten
memiliki 6field yaitu id_konten, url, judul, konten_html, konten_teks, dan kategori.
3.1.2.Tabel_keyword
Tabel_keyword memiliki 4 field yaitu id_keyword, id_konten, keyworddan kategori. Field keyword berisi kata dasar dari setiap jurnal yang sudah di-crwaling. Pada field
keyword, “a” adalah jumlah keywordyang terdapat pada suatu jurnal. “i” adalah frekuensi term kata dan “s” adalah jumlah huruf dalam satu kata.Seperti pada Tabel 3.2.
Tabel 3.2Tabel_Keyword
Id_key word
Id_konten Keyword kategori
1 1 a:30:{s:14:"adenocarcinoma";i:9;s:4:"cell";i:9;s:3:"scc";i:8;s: 9:"xenograft";i:8;s:6:"region";i:7;s:9:"distribut";i:6;s:3:"cto"; i:5;s:3:"fdg";i:4;s:6:"cuatsm";i:4;s:6:"necrot";i:4;s:6:"origin"; i:3;s:10:"intratumor";i:3;s:4:"high";i:3;s:6:"compar";i:3;s:7:"
overlap";i:3;s:7:"accumul";i:3;s:4:"live";i:3;s:5:"deriv";i:2;s: 6:"adduct";i:2;s:5:"colon";i:2;s:6:"cancer";i:2;s:8:"cucuatsm" ;i:2;s:12:"characterist";i:2;s:11:"pimonidazol";i:2;s:5:"tumor" ;i:2;s:5:"occur";i:2;s:5:"studi";i:2;s:6:"observ";i:2;s:4:"lung";i :2;s:8:"dualtrac";i:1;}
Biology and Medical
2 2 a:30:{s:6:"ffphpa";i:12;s:5:"uptak";i:10;s:5:"amino";i:8;s:4:" acid";i:8;s:9:"radiotrac";i:5;s:4:"ffet";i:4;s:4:"imag";i:4;s:5:"s tudi";i:4;s:6:"prepar";i:3;s:6:"cancer";i:3;s:3:"pet";i:3;s:3:"em t";i:3;s:6:"compar";i:3;s:3:"min";i:2;s:10:"crosscoupl";i:2;s:3: "asc";i:2;s:8:"pdmediat";i:2;s:6:"suvmin";i:2;s:7:"maximum" ;i:2;s:9:"transport";i:2;s:5:"reach";i:2;s:4:"cell";i:2;s:5:"evalu ";i:2;s:5:"small";i:2;s:4:"anim";i:2;s:8:"reaction";i:2;s:4:"high ";i:2;s:9:"radiochem";i:2;s:7:"inhibit";i:2;s:8:"cellular";i:2;}
3.1.3.Tabel_relevansi Pada tabel_relevansi terdapat 10 field yaitu id, id_topik, id_page, keyword_topik_ sama, keyword_page_sama, wkt_sama, wkp_sama, wkt, wkp, relevansi. Seperti Tabel 3.3.
Tabel 3.3Tabel_relevansi
Pada Tabel 3.3, akan dibandingkan satu halaman dengan halaman yang lainnya. Halaman yang memiliki kesamaan kata, akan ditentukan wkt (weight keyword topik) dan wkp (weight keyword page). Setelah hasil didapatkan akan ditentukan
relevansinya. Sehingga diketahui seberapa besar keterkaitan halaman jurnal satu dengan yang lainnya.
3.2.Analisis Sistem
Pada penelitian ini akan dilakukan analisis sistem yaitu mencakup proses crawling dan metode Porter Stemmer. Proses dalam sistem ini dilakukan oleh admin dan user.
3.2.1.Admin
Tahapan-tahapan yang dilakukan oleh admin yaitu:
1. Memasukkan link ke dalam textbox yang ada pada halaman proses crawling. 2. Dalam proses crawling, url dan konten yang ada akan di download dan akan
masuk otomatis ke dalam tabel_konten
3. Setelah selesai proses crawling, akan dilakukan penghapusan stopword.
id id_
page_ sama wkt_sama wkp_sama wkt wkp relevansi
4. Setelah penghapusan stopword, maka akan dilakukan proses stemming. Pada proses ini semua imbuhan dihapus, dan yang tinggal berupa kata dasar saja. 5. Selanjutnya akan dilakukan penghitungan bobot dan normalisasi. Pada proses ini
akan didapatkan bobot keyword.
6. Kemudian dilakukan perbandingan antara wkt (weight keyword topic) dan wkp (weight keyword page). Setelah dilakukan perbandingan, maka akan dihitung nilai relevansinya. Flowchart dapat dilihat pada Gambar 3.1.
Mulai
3.2.1.1. Text preprocessing
Tahapan-tahapan yang dilakukan dalam text preprocessing diantaranya yaitu :
1. Memasukkan link ke dalam halaman proses crawling dan akan dilakukan proses crawling.
2. Kemudian dilakukan penggabungan judul dan konten yang ada pada tabel_konten.
3. Lalu dilakukan pengubahan semua huruf menjadi huruf kecil. 4. Menghapus semua tanda baca.
5. Semua kata yang sudah diproses dapat ditampilkan. Seperti pada Gambar 3.2.
Mulai
Penggabungan judul dan konten
toLowerCase
Data jurnal yang sudah mengalami
proses text preprocessing
Selesai Mengahapus
tanda baca Data Jurnal
3.2.1.2. Penghapusan
Stopwords(http:/dev.mysql.com/doc/refman/5.1/en/fulltextstopwords.html)
Tahapan-tahapan dalam penghilangan stopwords diantaranya yaitu :
1. Yang diproses adalah kata-kata yang telah melewati proses text preprocessing. 2. Kata diubah ke dalam bentuk array.
3. Membandingkan kata yang ada di array dengan kata pada stopwords.
4. Proses penghilangan akan dilakukan jika ditemukan kata yang sama pada array dengan yang ada di stopwords. Sedangkan penghilangan stopwords tidak dilakukan jika tidak terdapat kesamaan kata pada array dan pada stopwords. 5. Proses penghilangan stopwords selesai. Seperti pada Gambar 3.3.
Mulai
Data Jurnal yang telah melewati
proses text processing
Mengubah kata yang ada ke dalam bentuk array
Membandingkan kata yang ada di array dengan
yang ada di stopwords
Sesuai? Tidak
dihapus Hapus
Sisa kata
Selesai
tidak ya
3.2.1.3. Stemming Porter Stemmer
Pada penelitian ini algoritma yang dipakai yaitu algoritma Porter Stemmer.Adapun langkah-langkah atau aturan yang ada dalam algoritma ini yaitu (http://tartarus.org/martin/PorterStemmer/def.txt) :
1. Kata-kata yang sudah mengalami penghilangan stopwords.
2. Remove plural suffixation yaitu menghapus dan mengganti akhiran kata berbentuk jamak (-sses -> ss, -ies -> i, -ss -> ss, -s -> null) kebentuk tunggal. 3. Remove verbal inflection.
a) Mengubah kata dalam bentuk continues atau participle kebentuk dasarnya. Akhiran –eed akan berubah menjadi ee jika kata mengandung huruf vokal konsonan berurutan. Pada akhiran –ed dan –ing, kata tidak akan mengalami perubahan jika kata tersebut memiliki satu huruf vokal. Akhiran –ed dan –ing akan dihapus jika kata memiliki lebih dari satu huruf vokal.
b) Continued for –ed and –ing rules. Tahap selanjutnya untuk akhiran –ed dan – ing.
Kata yang diakhiri oleh double letter akan diganti dengan single letter
(tidak berakhir dengan huruf l, s, z).
Jika kata diakhiri oleh huruf konsonan-vokal-konsonan secara berurutan
(bukan konsonan akhir w, x, y) dan memiliki satu urutan vokal konsonan didalamnya, maka kata tersebut akan ditambahkan –e.
4. Akhiran -y diganti dengan –i jika dalam kata tersebut memiliki huruf vokal. 5. Peel one suffix off for multiple suffixes. Jika suatu kata memiliki akhiran ganda,
maka kata tersebut akan diubah dengan akhiran tunggal. Pada langkah ini, akan dilakukan penghapusan akhiran jika pada kata tersebut memiliki huruf vokal-konsonan secara berurutan. Contohnya: relational -> relate, conditional -> condition.
6. Kata yang memiliki akhiran –icate, -icitii, -ical akan diubah menjadi –ic. Kata berakhiran –alize akan diganti menjadi –al. Kata berakhiran –active, -ful, -nes akan dihapus. Kata tersebut harus memiliki vokal-konsonan secara berurutan. 7. Delete last suffix. Sebuah akhiran akan dihapus jika kata tersebut memiliki dua
8. Remove –e. Jika sebuah kata memiliki dua vokal-konsonan secara berurutan (konsonan akhir bukan w, x, y) dan tidak diakhiri konsonan-vokal-konsonan secara berurutan, maka akhiran –e akan dihapus.
9. Reduction. Akhiran akan diganti menjadi satu huruf konsonan jika kata tersebut memiliki vokal-konsonan secara berurutan. Contohnya: controll -> control. Seperti pada Gambar 3.4.
Mulai continues atau participle (“-eed”, “-ed”, “-ing”)
tidak
Sesuai?
Penghapusan dan mengganti term ke bentuk
dasar ( -eed -> -ed,
-ed -> null, -i g -> null)
Cek jika ada akhiran
double letter dan
pe a baha -e u tuk
beberapa suffix
tidak
ya
Ganti akhiran double letter
ke single letter dan
P1 P2
Sesuai? Hapus huruf terakhir -e
Sesuai? Hapus satu huruf
terakhir ya
Kata dasar tidak
Selesai
3.2.1.4. Focused Crawler
Pada penelitian ini, focused crawler berfungsi untuk melakukan proses crawling dari sebuah halaman, menghitung bobot stem dan menghitung relevansi dari masing-masing jurnal.
Jurnal yang sudah di-crawlingakan dimasukkan ke dalam tabel konten agar dapat melewati proses selanjutnya. Setelah proses crawling selesai, maka proses selanjutnya adalah melakukan pembobotan stem seperti pada Tabel 3.2.
Pada Tabel 3.2, semua kata akan melewati proses stemming, dan akan memiliki bobot stem pada setiap kata. Contohnya, pada id_keyword nomor 1, kata „cell‟ memiliki bobot 9. Bobot stem tersebut didapat dari jurnal yang ada pada id_konten dimana kata „cell‟ dapat ditemukan sebanyak 9 kata. Kata yang ada pada keyword, diambil dari kata yang dimana memiliki bobot stem 30 tertinggi. Setelah
proses pembobotan stem selesai, maka selanjutnya akan dilakukan proses normalisasi seperti pada Tabel 3.4. Flowchart proses normalisasi dapat dilihat pada Gambar 3.2.
Pada Tabel 3.4, akan dilakukan proses normalisasi untuk menentukan bobot. Bobot dapat dicari dengan rumus yaitu :
Contoh kata „cell‟ dapat dihitung :
Mulai
Kata dasar (keyword) setelah
melewati proses
Stemming
Hitung frekuensi kata (wi)
Tentukan jumlah nilai kata terbesar
(wmax)
Hitung nilai bobot kata (w=wi/wmax)
Bobot kata (keyword)
Selesai
Tabel 3.4 Proses Normalisasi
No Id Konten Normalisasi
Jika bobot keyword dari suatu kata sudah dihitung, maka selanjutnya akan ditentukan nilai relevansinya seperti pada tabel 3.5. Flowchart relevansi dapat dilihat pada Gambar 3.6.
Mulai
Nilai pada proses normalisasi
Membandingkan masing-masing
jurnal
Ambil kata yang sama beserta nilai
bobotnya
Hitung total bobot dari masing-masing jurnal (wkt dan wkp)
Hitung relevansi
Nilai relevansi
Selesai
Tabel 3.5 Tabel menentukan nilai relevansi
Keyword Topik 1 adenocarcinoma=9 cell=9 scc=8 xenograft=8 region=7 distribut=6
cto=5 fdg=4 cuatsm=4 necrot=4 origin=3 intratumor=3 high=3 compar=3 overlap=3 accumul=3 live=3 deriv=2 adduct=2 colon=2
cancer=2 cucuatsm=2 characterist=2 pimonidazol=2 tumor=2 occur=2 studi=2 observ=2 lung=2 dualtrac=1
Keyword Page2 Ffphpa=12 uptak=10 amino=8 acid=8 radiotrac=5 ffet=4 imag=4 studi=4 prepar=3 cancer=3 pet=3 emt=3 compar=3 min=2
crosscoupl=2 asc=2 pdmediat=2 suvmin=2 maximum=2 transport=2 reach=2 cell=2 evalu=2 small=2 anim=2 reaction=2 high=2
radiochem=2 inhibit=2 cellular=2 Keyword Topik
Sama
cell=9 high=3 compar=3 cancer=2 studi=2
Keyword Page
Sama
cell=2 high=2 compar=3 cancer=3 studi=4
sama 2.1111111111111
sama 1.1666666666667
12.222222222222
148.84
8.6666666666667
75.099
√ 105.7252
Relevansi 0.023251748251748
Pada Tabel 3.5, akan diketahui nilai relevansi dengan membandingkan masing-masing jurnal. Contohnya jurnal dengan id konten satu (keyword topik 1) dengan id konten dua (keyword page 2). Masing-masing jurnal akan diambil keyword yang sama yaitu:
Keyword topik sama : cell=9 high=3 compar=3 cancer=2 studi=2
Keyword page sama : cell=2 high=2 compar=3 cancer=3 studi=4
yang sama, maka akan dihitung bobot keyword topik dan bobot keyword page yang sama.
Bobot maksimal dari keyword topik yaitu 5
= 2.1111111111
Setelah diketahui weight keyword topik sama sebesar 2.1111111111, maka akan dihitung juga weight keyword page sama.
Bobot maksimal dari keyword page yaitu 12
1.16666666666667
Selanjutnya, untuk mendapatkan nilai relevansi, terlebih dahulu akan dihitung total dari weight keyword topik dengan total dari weight keyword page.
Jumlah seluruh bobot term dari keyword topik yaitu:
Weight maksimal dari keyword topik yaitu 9
Jumlah bobot term dari keyword page yaitu :
ffphpa(12) + uptak(10) + amino(8) + acid(8) + radiotrac(5) + ffet(4) + imag(4) + studi(4) + prepar(3) + cancer(3) + pet(3) + emt(3) + compar(3) + min(2) + crosscoupl(2) + asc(2) + pdmediat(2) + suvmin(2) + maximum(2) + transport(2) +
reach(2) +cell(2) + evalu(2) + small(2) + anim(2) + reaction(2) + high(2) + radiochem(2) + inhibit(2) + cellular(2) = 104
Weight maksimal dari keyword page yaitu 12
Kemudian, setelah total dari masing-masing wkt (weight keyword topic) dan wkp (weight keyword page) dihitung, maka langkah selanjutnya akan dihitung nilai relevansinya.
√
√
√
jika dalam melakukan suatu perbandingan, konten tidak memiliki nilai relevansi. Seperti pada Tabel 3.6.
Tabel 3.6Nilai relevansi = 0
Keyword Topik 1 droplet=5 structur=4 surfac=4 contactfre=3 process=3 review=2
discuss=2 probe=2 materi=2 deposit=2 evapor=2 quasi=2 tempor=1 resolv=1 rasterscan=1 spatial=1 assembl=1 artifici=1 biolog=1 conform=1 nucleat=1 diffract=1 techniqu=1 site=1 facilit=1 interpret=1 data=1 pin=1 solidif=1 orient=1
Keyword Page 2 larger=1 wavelength=1 narrow=1 order=1 interv=1 microstructur=1
modul=1 factor=1 dispers=1 gap=1 reson=1 develop=1 freeelectron=1 laser=1 uniqu=1 region=1 shorterwavelength=1 clarifi=1 contribut=1 characterist=1 studi=1 spectrum=2 observ=2 emiss=3 spontan=3 klystron=3 optic=3 harmon=5 higher=5
Keyword Topik
Sama
-
Keyword Page
Sama
-
sama 0
sama 0
10.2
104.4
9.4
88.36
√ 95.88
Relevansi 0
Pada Tabel 3.6, dilakukan perbandingan antara id konten satu dengan id konten dua. Hasil dari perbandingannya tidak memiliki keyword topik sama dan keyword page sama. Hal tersebut disebabkan karena kata yang ada pada keyword
keyword tidak ditemukan persamaan kata. Sedangkan untuk total weight keyword
topic dan weight keyword page dapat dihitung sebagai berikut.
Jumlah seluruh bobot term dari keyword topik yaitu :
droplet(5) + structur(4) +surfac(4) + contactfre(3)+ process(3) + review(2) + discuss(2) + probe(2) + materi(2) + deposit(2) + evapor(2) + quasi(2) + tempor(1) + resolv(1) + rasterscan(1) + spatial(1) + assembl(1) + artifici(1) + biolog(1) + conform(1) + nucleat(1) + diffract(1) + techniqu(1) + site(1) + facilit(1)+ interpret(1) + data(1) + pin(1) + solidif(1) + orient(1) = 51
Weight maksimal dari keyword topik yaitu 5
Jumlah bobot term dari keyword page yaitu :
Larger(1) + wavelength(1) + narrow(1) order(1) + interv(1) + microstructur(1) + modul(1) + factor(1) + dispers(1) + gap(1) + reson(1) + develop(1) + freeelectron(1) + laser(1) + uniqu(1) + region(1) + shorterwavelength(1) + clarifi(1) + contribut(1) + characterist(1)+ studi(1) + spectrum(2) + observ(2) + emiss(3) + spontan(3) + klystron(3) + optic(3) + harmon(5) + higher(5) = 46
Weight maksimal dari keyword page yaitu 5
√
Jadi, jika dibandingkan keyword topik satu dengan keyword page dua tidak
memiliki hubungan (relevansi = 0). Semakin tinggi nilai relevansi maka semakin dekat hubungan antara topik satu dengan topik yang lainya.
3.2.2.User
Pada sistem ini, user akan melakukan pencarian dengan memasukkan keyword pada halaman pencarian.User dapat membaca jurnal dan mendapatkan jurnal yang memiliki relevansi dengan jurnal yang dibaca.Flowchart pencarian dapat dilihat pada Gambar 3.7.
Mulai
Pilih Judul jurnal
Selesai
Input keyword
Jurnal dan relevansi
Gambar 3.7 Flowchart Pencarian
3.3.1.Diagram UseCase
Pada sistem ini terdapat 2 pengguna sistem yaitu admin dan user (pengunjung). Diagram use casenya dapat dilihat pada Gambar 3.8.
Gambar 3.8 Diagram Use Case
3.3.2.Definisi use case
Tabel 3.7 Definisi Use Case
No. Use Case Deskripsi
1. Login Proses yang diperuntukkan untuk
admin, supaya dapat masuk ke dalam sistem.
2. Input Url Proses yang dilakukan admin untuk memulai proses crawling
3. Stemming Proses yang dilakukan admin untuk memperoleh kata dasar
4. Hitung Bobot dan Normalisasi
Proses untuk menghitung bobot dari kata yang sudah distemming.
5. Hitung Relevansi Proses untuk menghitung nilai relevansi.
6. Tampil Hasil Stemming Berfungsi untuk menampilkan hasil stemming yaitu berupa kata dasar.
7. Tampil Bobot dan Normalisasi
Berfungsi untuk menampilkan bobot dari kata yang sudah di stemming terlebih dahulu.
8. Tampilan Tabel Relevansi
Berfungsi untuk menampilkan nilai relevansi dari sebuah jurnal.
9. Logout Proses yang dilakukan admin untuk keluar dari sistem.
3.3.3.General architecture
General architecture keseluruhan sistem dapat dilihat pada Gambar 3.9.
Admin
Crawling Url
Text Processing
Feature Selection
Bobot dan Relevansi
Result
Input Url
Focused Crawling
Porter Stemmer
Focused Crawling
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
Setelah dilakukan analisis pada bab sebelumnya, maka akan dilakukan proses implementasi dan pengujian sistem. Pada bab ini akan dijelaskan proses implemetasi algoritma yang digunakan pada sistem untuk mengetahui rancangan aplikasi dan pengujian sistem agar diketahui sistem berhasil atau tidak.
4.1.Implementasi Sistem
Implementasi pengoptimalan pencarian jurnal dengan metode Porter Stemmer dan focused crawler dengan menggunakan bahasa pemrograman php.
4.1.1.Spesifikasi perangkat keras dan perangkat lunak
Adapun spesifikasi perangkat lunak yang digunakan dalam sistem ini yaitu : 1. Processor Intel® Core™2 Duo CPUP7350 @ 2.00GHz
2. Memory RAM 3.00 GB 3. Hard Disk 186 GB
Spesifikasi Perangkat Lunak yang digunakan yaitu:
1. Windows 7 Ultimate 2. Netbeans IDE 7.0 3. Xampp 1.8.1
4.1.2.Tampilan halaman utama user
Halaman ini merupakan halaman utama yang digunakan oleh user untuk melakukan
Gambar 4.1 Tampilan Halaman Utama User (Pengunjung)
4.1.3.Tampilan halaman pencarian
Tampilan halaman pencarian jika user memasukkan kata pada textbox pencarian.. Tampilannya dapat dilihat pada Gambar 4.2.
4.1.4.Tampilan halaman baca
Halaman ini digunakan oleh user untuk melihat isi dari jurnal yang dipilih. Pada tampilan ini juga terdapat judul jurnal yang memiliki relevansi dengan jurnal yang dipilih. Tampilannya seperti Gambar 4.3.
Gambar 4.3 Tampilan Halaman Baca
4.1.5.Tampilan halaman proses crawling
Halaman ini digunakan admin untuk melakukan proses crawling. Tampilannya seperti Gambar 4.4.
4.1.6.Tampilan halaman stemming
Tampilan ini adalah tampilan hasil stemming setelah dilakukan proses crawling. Tampilannya seperti Gambar 4.5.
Gambar 4.5Tampilan Halaman Stemming
4.1.7.Tampilan halaman bobot dan normalisasi
Setelah dilakukan proses stemming, maka proses selanjutnya adalah proses penghitungan bobot dan normalisasi. Tampilannya seperti Gambar 4.6.
4.1.8.Tampilan halaman tabel relevansi
Setelah dilakukan proses penghitungan bobot dan normalisasi, selanjutnya akan dihitung relevansi masing-masing jurnal. Tampilannya seperti Gambar 4.7.
Gambar 4.7 Tampilan Halaman Relevansi
4.2.Pengujian Sistem
Setelah implementasi sistem selesai, maka tahap selanjutnya yang akan dilakukan adalah pengujian sistem. Hal ini dilakukan untuk mengetahui apakah sistem berjalan sesuai dengan rancangan sebelumnya.
4.2.1.Pengujian Sistem Tahap Crawling
Pengujian yang dilakukan adalah proses crawling. Proses crawling dilakukan secara online. Data jurnal yang ada pada sebuah halaman website, akan diunduhdan akan
masuk secara otomatis ke dalam database tabel_konten. Tabel_konten memiliki 6field
Gambar 4.8 Database Tabel_Konten
4.2.2.Hasil pengujian proses stemming
Pada Gambar 4.9 kata yang sudah di stemming, ditentukan jumlah bobot per kata.
Contohnya, jika ada kata yang sama pada satu jurnal tersebut, maka bobot stemnyaadalah jumlah dari kata yang sama.
4.2.3.Hasil pengujian bobot dan normalisasi
Hasil dari pengujian ini akan didapatkan bobot dari kata yang sudah mengalami proses stemming seperti pada Gambar 4.10.
Gambar 4.10 Hasil Pengujian Bobot dan Normalisasi
4.2.4.Hasil pengujian nilai relevansi
Gambar 4.11 Hasil Pengujian Nilai Relevansi
Pada Gambar 4.11 diketahui bahwa, id_topik satu (jurnal nomor satu) dibandingkan dengan seluruh jurnal yang ada pada database. Contohnya, jurnal
dengan id_topik 1dengan id_page 10. Hasil dari pengujiannya yaitu, kedua jurnal tersebut memiliki nilai relevansi sebesar 0.030952380952381.
4.2.5.Hasil pengujian pencarian
Tabel 4.1 Tabel Perbandingan Jurnal
No 1 10
Judul Jurnal
Comparison of intratumoral FDG and
Cu-ATSM distributions in cancer tissue originated
spheroid (CTOS) xenografts, a tumor model
retaining the original tumor properties
In Vivo Detection of
Hyperoxia-Induced Pulmonary Endothelial Cell
Death Using 99mTc-Duramycin
Konten The intratumoral distributions of [18F]FDG and [64Cu]Cu-ATSM have been reported to
be similar in adenocarcinomas but different in
squamous cell carcinoma (SCC) in clinical
studies. In the present study, we compared the
intratumoral distributions of these two tracers
in cancer tissue originated spheroid(CTOS)
Introduction 99mTc-duramycin, DU, is
a SPECT biomarker of tissue injury
identifying cell death. The objective of
this study is to investigate the potential
of DU imaging to quantify capillary
endothelial cell death in rat lung injury