Focused Web Crawler Dengan Sistem Terdistribusi

FOCUSED WEB CRAWLER DENGAN

SISTEM TERDISTRIBUSI
SKRIPSI

ATRAS NAJWAN
121402060

PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

FOCUSED WEB CRAWLER DENGAN

SISTEM TERDISTRIBUSI
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Teknologi Informasi
ATRAS NAJWAN
121402060

PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

iii

PERSETUJUAN

Judul

: FOCUSED WEB CRAWLER DENGAN SISTEM
TERDISTRIBUSI


Kategori

: SKRIPSI

Nama

: ATRAS NAJWAN

Nomor Induk Mahasiswa

: 121402060

Program Studi

: S1 TEKNOLOGI INFORMASI

Departemen

: TEKNOLOGI INFORMASI


Fakultas

: FAKULTAS ILMU KOMPUTER DAN EKNOLOGI
INFORMASI

Komisi Pembimbing

:

Pembimbing 2

Pembimbing 1

Dani Gunawan, ST., M.T

Amalia, ST., M.T

NIP. 19820915 201212 1 002


NIP. 19791221 201404 2 001

Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,

Muhammad Anggia Muchtar, ST., MM.IT
NIP. 19800110 200801 1 010

Universitas Sumatera Utara

iv

PERNYATAAN

FOCUSED WEB CRAWLER DENGAN

SISTEM TERDISTRIBUSI

SKRIPSI


Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 27 Agustus 2016

Atras Najwan
121402060

Universitas Sumatera Utara

v

UCAPAN TERIMA KASIH

Puji dan syukur penulis sampaikan ke hadirat Allah SWT yang telah memberikan
rahmat serta restu-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat
untuk memperoleh gelar Sarjana Teknologi Informasi.
Pertama, penulis ingin mengucapkan terima kasih kepada Ibu Amalia S.T., M.T.
selaku pembimbing pertama dan Bapak Dani Gunawan, S.T., M.T. selaku pembimbing

kedua yang telah meluangkan waktu dan tenaganya untuk membimbing penulis dalam
penelitian serta penulisan skripsi ini. Tanpa inspirasi serta motivasi yang diberikan dari
kedua pembimbing, tentunya penulis tidak akan dapat menyelesaikan skripsi ini.
Penulis juga mengucapkan terima kasih kepada Bapak Prof. Dr. Opim Salim Sitompul,
M.Sc. sebagai dosen pembanding pertama dan Ibu Dr. Elviawaty Muisa Zamzami, S.T.,
M.T., M.M. sebagai dosen pembanding kedua yang telah memberikan masukan serta
kritik yang bermanfaat dalam penulisan skripsi ini. Ucapan terima kasih juga ditujukan
kepada semua dosen serta pegawai di lingkungan program studi Teknologi Informasi,
yang telah membantu serta membimbing penulis selama proses perkuliahan.
Penulis tentunya tidak lupa berterima kasih kepada orang tua penulis, yaitu
Bapak Dr. Jamaludin, M.A., Ibu Tansa Trisna SHB, S.Pd.I. dan Ibu Almh. Khairani
yang telah membesarkan penulis dengan sabar dan penuh kasih sayang, serta doa dari
mereka yang selalu menyertai selama ini. Terima kasih juga penulis ucapkan kepada
kakak penulis Rizka Zulhaini, S.S. dan adik penulis Nabilah Alwani yang selalu
memberikan dukungan kepada penulis.
Terima kasih juga penulis ucapkan kepada teman-teman yang telah memberikan
dukungan, khususnya Indra Charisma, Maliki Khoirul Ilman, M. Imam Muthaqin,
Daniel Bonoffi, M. Wardana, Reza Ramadiansyah, dan abangda Reza Taqyuddin.

Universitas Sumatera Utara


vi

ABSTRAK

Salah satu teknik untuk mengumpulkan informasi berupa artikel dari Internet adalah
dengan menggunakan mesin crawler . Salah satu algoritma untuk mengumpulkan artikel
hanya untuk topik tertentu pada sebuah mesin crawler dapat menggunakan Focused
Crawling Algorithm dengan metode pengklasifikasian seperti naive bayes. Tahapan

pengumpulan artikel meliputi algoritma ekstraksi dan pengklasifikasian artikel.
Ekstraksi artikel dilakukan untuk dapat mengetahui isi kandungan artikel sehingga
artikel dapat di klasifikasikan apakah termasuk artikel dengan topik tertentu atau bukan.
Untuk mempercepat waktu yang dibutuhkan dalam pengumpulan informasi maka dapat
dirancang dengan sistem terdistribusi dan dikombinasikan dengan metode
multithreading dan pemakaian algoritma larger site first dalam pengurutan situs yang

akan di-crawl pertama kali. Penelitian dilakukan dengan menggunakan thread dan
bandwith yang berbeda. Selain menghitung hasil dari crawling, peneliti juga


menghitung penggunaan heap memory dan cpu pada saat proses crawling. Hasil yang
didapat adalah hasil crawling menggunakan algoritma larger site first lebih tinggi
dibandingkan dengan tidak menggunakannya. Begitu juga dengan penggunaan thread
dan bandwith, semakin besar maka semakin besar juga hasilnya. Akan tetapi ada berapa
faktor yang menyebabkan menurunnya performa walaupun thread yang digunakan
banyak. Untuk itu thread yang efektif digunakan pada penelitian kali ini adalah dengan
500 thread.

Kata kunci: focused crawler, sistem terdistribusi, naive bayes, multithreading, larger
site first

Universitas Sumatera Utara

vii

FOCUSED WEB CRAWLER WITH DISTRIBUTED SYSTEM

ABSTRACT

One technique for collecting information in the form of articles on the Internet is to use

web crawler. One of algorithm to collect articles only for particular topics on web
crawler can be use Focused Crawling Algorithm with classification method such as
Naive Bayes. The stages collection of articles covering the extraction content and
classification. Article extraction is to determine the contents of the articles, so that the
article can be classified if the articles is on a specific topic or not. To speed up the time
of collecting information, then can be designed with distributed systems and combined
with multithreading method and larger site first algorithm in the sequencing of the site
will be crawled first. The research was conducted by using a different thread and
internet bandwidth. In addition to calculating the results of the crawling, the researchers
also calculated the use of heap memory and cpu while crawling process. The results
obtained are the result of usage larger site algorithm is higher compared to not using it.
Likewise with the use of thread and bandwidth higher then the higher the results. But
many factors can be decreased performance although the thread used a lot. Therefore
the effective thread used in this research is the 500 threads.

Keywords: focused crawler, distributed system, naive bayes, multithreading, larger site
first

Universitas Sumatera Utara


viii

DAFTAR ISI

PERSETUJUAN

iii

PERNYATAAN

iv

UCAPAN TERIMA KASIH

v

ABSTRAK

vi


ABSTRACT

Error! Bookmark not defined.

DAFTAR ISI

viii

DAFTAR TABEL

x

DAFTAR GAMBAR

xi

BAB 1 PENDAHULUAN

1

1.1.

Latar Belakang

1

1.2.

Rumusan Masalah

3

1.3.

Tujuan Penelitian

3

1.4.

Batasan Masalah

3

1.5.

Manfaat Penelitian

3

1.6.

Metodologi Penelitian

4

1.7.

Sistematika Penulisan

4

BAB 2 LANDASAN TEORI

7

2.1.

Web Crawler

7

2.2.

Multithreading

8

2.3.

Boilerpipe

9

2.4.

Text Prepocessing

10

2.5.

Naïve Bayes Classifier

10

2.6.

Sistem Terdistribusi

11

2.7.

Apache Ignite

13

2.8.1. In-Memory Compute Grid

13

2.8.2. In-Memory Data Grid

14

Penelitian Terdahulu

14

2.8.

BAB 3 ANALIIS DAN PERANCAGAN SISTEM

16

Universitas Sumatera Utara

ix

3.1.

Analisis Sistem

16

3.2.

Perancangan Sistem

17

3.2.1. Tahapan Perancangan Sistem

18

3.2.1.1. Perancangan Crawler Master

18

3.2.1.2. Perancangan Crawler Slaves

21

3.2.2. Tahapan Percobaan Sistem

23

3.2.3. Perancangan Sistem Bagian Depan (Front End)

23

BAB 4 IMPLEMENTASI DAN PENGUJIAN

27

4.1.

Hasil Site Ordering

27

4.2.

Hasil Crawling

29

4.3.

Hasil Content Extraction

29

4.4.

Hasil Pengujian

31

4.5.

Implementasi Sistem Bagian Depan (Front-End)

41

4.5.1. Tampilan Antarmuka

41

4.5.1.1. Tampilan Crawler Master

41

4.5.1.2. Tampilan Crawler Slaves

43

4.5.2. Prosedur Operasional

44

4.5.2.1. Single Mode (Non Distributed)

44

4.5.2.2. Distributed Mode

45

BAB 5 KESIMPULAN DAN SARAN

47

5.1.

Kesimpulan

47

5.2.

Saran

48

DAFTAR PUSTAKA

49

Universitas Sumatera Utara

x

DAFTAR TABEL

Tabel 2.1 Jenis Boilerpipe Extraction

9

Tabel 3.1 Daftar seeds URL

18

Tabel 3.2 Kata kunci bidang kesehatan

21

Tabel 3.3 Kata kunci bidang bukan kesehatan

21

Tabel 3.4 Rancangan percobaaan thread dan bandwith

23

Tabel 4.1 Hasil Site Ordering menggunakan Larger Site First Algorithm

27

Tabel 4.2. Hasil percobaan akurasi klasifikasi

31

Tabel 4.3. Hasil Crawling dengan LSF pada bandwith 2 Mbps (jumlah file)

31

Tabel 4.4. Hasil Crawling tidak dengan LSF pada bandwith 2 Mbps (jumlah file)

32

Tabel 4.5. Hasil Crawling dengan LSF pada bandwith 2 Mbps (ukuran file (KB))

32

Tabel 4.6. Hasil Crawling tidak dengan LSF pada bandwith 2 Mbps (ukuran file
(KB))

32

Tabel 4.7. Hasil Crawling dengan LSF pada bandwith 3 Mbps (jumlah file)

32

Tabel 4.8. Hasil Crawling tidak dengan LSF pada bandwith 3 Mbps (jumlah file)

33

Tabel 4.9. Hasil Crawling dengan LSF pada bandwith 3 Mbps (ukuran file (KB))

33

Tabel 4.10. Hasil Crawling tidak dengan LSF pada bandwith 3 Mbps (ukuran file
(KB))

33

Tabel 4.11. Hasil Crawling dengan LSF pada bandwith 5 Mbps (jumlah file)

33

Tabel 4.12. Hasil Crawling tidak dengan LSF pada bandwith 5 Mbps (jumlah file) 34
Tabel 4.13. Hasil Crawling dengan LSF pada bandwith 5 Mbps (ukuran file (KB)) 34
Tabel 4.14. Hasil Crawling tidak dengan LSF pada bandwith 5 Mbps (ukuran file
(KB))

34

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Gambar 2.1 Arsitektur Web Crawler

8

Gambar 2.2 Ilustrasi Boilerpipe

9

Gambar 2.3 Klasifikasi Naïve Bayes sebagai jaringan bayes dengan atribut prediksi
(P1, P2, …….Pk) dan kelas (C)

10

Gambar 2.4 Fitur Apache Ignite

13

Gambar 2.5 In-Memory Compute Grid

14

Gambar 2.6 In-Memory Data Grid

14

Gambar 3.1. Arsitektur Umum

17

Gambar 3.2. Pseudocode pembagian seeds URL

19

Gambar 3.3. Ilustrasi pembagian job pada Apache Ignite

19

Gambar 3.4. Konfigurasi database (Crawler master )

24

Gambar 3.5. Konfigurasi distributed mode (Crawler master )

24

Gambar 3.6. Ilustrasi crawler depth

25

Gambar 3.7. Konfigurasi Crawler (Crawler master )

25

Gambar 3.8. Konfigurasi Seeds (Crawler master )

26

Gambar 3.9. Konfigurasi pada crawler slaves

26

Gambar 4.1. Contoh hasil filter menggunakan boilerpipe

29

Gambar 4.2. Contoh hasil Tokenizing

30

Gambar 4.3. Contoh hasil Case Folding

30

Gambar 4.4. Contoh hasil Filtering

30

Gambar 4.5. Grafik perbandingan hasil jumlah crawling menggunakan LSF dan
tidak (2 Mbps)

35

Gambar 4.6. Grafik perbandingan hasil jumlah crawling menggunakan LSF dan
tidak (3 Mbps)

35

Gambar 4.7. Grafik perbandingan hasil jumlah crawling menggunakan LSF dan
tidak (5 Mbps)

36

Gambar 4.8. Grafik perbandingan jumlah hasil dengan bandwith yang berbeda
menggunakan LSF

36

Gambar 4.9. Grafik perbandingan jumlah hasil dengan bandwith yang berbeda tidak
menggunakan LSF

37

Universitas Sumatera Utara

xii

Gambar 4.10. Grafik perbandingan jumlah hasil (ukuran file) dengan bandwith yang
berbeda menggunakan LSF

37

Gambar 4.11. Grafik perbandingan jumlah hasil (ukuran file) dengan bandwith yang
berbeda tidak menggunakan LSF

38

Gambar 4.12. Error yang didapatkan pada percobaan menggunakan 2000 thread

38

Gambar 4.13. Grafik penggunaan heap memory di komputer A menggunakan LSF 39
Gambar 4.14. Grafik penggunaan heap memory di komputer B tidak menggunakan
LSF

39

Gambar 4.15. Grafik penggunaan CPU di komputer C menggunakan LSF

40

Gambar 4.16. Grafik penggunaan CPU di komputer C tidak menggunakan LSF

40

Gambar 4.17. Tampilan ‘DB Config’ pada crawler master

42

Gambar 4.18. Tampilan ‘Distributed Mode’ pada crawler master

42

Gambar 4.19. Tampilan ‘Crawler Config’ pada crawler master

43

Gambar 4.20. Tampilan ‘Seeds’ URL pada crawler master

43

Gambar 4.21. Tampilan ‘Crawler Config’ pada crawler master

44

Gambar 4.22. Tampilan ‘Edit VM Argument’ pada crawler master

44

Gambar 4.23. Contoh tampilan menjalankan node pada crawler slaves

45

Gambar 4.24. Contoh tampilan informasi node yang aktif

45

Gambar 4.25. Contoh tampilan menjalankan crawler master pada ‘Distributed
Mode’
Gambar 4.26. Contoh tampilan sedang melakukan crawling

46
46

Universitas Sumatera Utara