Evaluasi Algoritme Breadth First, Best First, Dan Page Rank Pada Web Crawler

EVALUASI ALGORITME BREADTH FIRST, BEST FIRST,
DAN PAGE RANK PADA WEB CRAWLER

ADE OFIK HIDAYAT

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2011

ABSTRACT
ADE OFIK HIDAYAT. The evaluation of Breadth First, Best First, and Page Rank algorithms on
Web Crawler. Under the guidance of SONY HARTONO WIJAYA, M.Kom.
Web crawling is a process by which we gather pages from the web, in order to index them and
support a search engine. The objective of crawling is to quickly and efficiently gather as many useful
web pages as possible, together with the link structure that interconnects them.
The objective of this research is to evaluate Breadth First, Breadth First with Time Constraint,
Best First and Page Rank algorithms. The process of collecting web pages consists of the initialization
process (keywords and starting URL), inserting a link to the frontier, stoping crawling, take\ing the
link from frontier, fetch, parsing and indexing. The focus of web crawler algorithm is determines the

next link that will be visited.
Based on the precision and opportunity of keywords per algorithm, the result of the evaluation
indicates that the page rank algorithm is better than three other algorithms. While based on the
complexity of algorithm, the result of the evaluation indicates that the page rank algorithm has higher
complexity as compared to three other algorithms. In addition, based on the average fetch time, the
result of the evaluation indicates that the best first algorithm is more stable than three other
algorithms.
Keywords : web crawler, web crawling, breadth first, breadth first with time constraint, best first,
page rank, cosine similarity, web crawler evalution, precision values of web crawler, complexity
algorithm of web crawler.

1

EVALUASI ALGORITME BREADTH FIRST, BEST FIRST,
DAN PAGE RANK PADA WEB CRAWLER

ADE OFIK HIDAYAT

Skripsi
Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2011

1

Judul

: Evaluasi Algoritme Breadth First, Best First, dan Page Rank pada Web Crawler

Nama

: Ade Ofik Hidayat

NRP


: G64086014

Menyetujui :

Pembimbing

Sony Hartono Wijaya, M.Kom
NIP 19810809 200812 1 002

Mengetahui :
Ketua Departemen

Dr. Ir. Sri Nurdiati, M.Sc
NIP 19601126 198601 2 001

Tanggal Lulus:

i


PRAKATA
Alhamdulilahirobbil’alamin, segala puji syukur penulis panjatkan kehadirat Allah SWT atas
segala karunia-Nya sehingga tugas akhir ini berhasil diselesaikan. Topik tugas akhir yang dipilih
dalam penelitian adalah Evaluasi Algoritme Breadth First, Best First, dan Page Rank pada Web
Crawler.
Penulis sadar bahwa tugas akhir ini tidak akan terwujud tanpa bantuan dari berbagai pihak. Pada
kesempatan ini penulis ingin mengucapkan terima kasih kepada :
1.

Ibunda tercinta, serta segenap keluarga besar, terima kasih atas doa dan dukungan yang tiada
henti.

2.

Bapak Sony Hartono Wijaya, M.Kom selaku dosen pembimbing tugas akhir. Terima kasih
atas kesabaran dan dukungan dalam penyelesaian tugas akhir ini.

3.

Bapak Firman Ardiansyah, S. Kom, M.Si., dan Bapak Ahmad Ridha, S. Kom, MS., selaku

dosen penguji.

4.

Teman-teman HIMAXILKOM angkatan 3. Terima kasih atas semangat dan kebersamaannya
selama penyelesaian tugas akhir ini.

5.

Seluruh pihak yang turut membantu baik secara langsung maupun tidak langsung dalam
pelaksanaan tugas akhir.

Penulis menyadari bahwa dalam penulisan tugas akhir ini masih terdapat banyak kekurangan dan
kelemahan dalam berbagai hal karena keterbatasan kemampuan penulis. Penulis berharap adanya
masukan berupa saran atau kritik yang bersifat membangun dari pembaca demi kesempurnaan tugas
akhir ini. Semoga tugas akhir ini bermanfaat.

Bogor, Juli 2011

Ade Ofik Hidayat


ii

RIWAYAT HIDUP
Penulis dilahirkan di Kuningan Jawa Barat pada tanggal 18 Desember 1984 dari ayah (Alm) Edi
Heryadi dan ibu Usih. Penulis merupakan putra ketiga dari empat bersaudara.
Riwayat pendidikan :
2000 – 2003
2004 – 2006

2008 – 2011

SMU Negeri 3 Kuningan
D3 Program Studi Informatika Sub Program Teknik Informatika,
Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian
Bogor.
S1 Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor.

Pengalaman Organisasi :

2002 – 2003
2004 – 2005

Ketua Umum OSIS SMU Negeri 3 Kuningan
Anggota Departemen Kewirausahaan BEM FMIPA IPB

Saat ini penulis juga adalah seorang karyawan di salah satu perusahaan swasta di Bogor.

iii

DAFTAR ISI
Halaman
DAFTAR ISI ................................................................................................................................... iv 
DAFTAR GAMBAR ........................................................................................................................ v 
DAFTAR TABEL ............................................................................................................................ v 
DAFTAR LAMPIRAN..................................................................................................................... v 
PENDAHULUAN ............................................................................................................................ 1 
Latar Belakang....................................................................................................................... 1 
Tujuan.................................................................................................................................... 1 
Ruang Lingkup ...................................................................................................................... 1 

Manfaat.................................................................................................................................. 1 
TINJAUAN PUSTAKA ................................................................................................................... 2 
Temu Kembali Informasi....................................................................................................... 2 
Web Crawling ........................................................................................................................ 2 
Algoritme Web Crawler ........................................................................................................ 2 
Analisis Algoritme................................................................................................................. 4 
Cosine Similarity ................................................................................................................... 5 
Stop Words ............................................................................................................................ 5 
Pembobotan Term Frequency (TF) ....................................................................................... 5 
Evaluasi Algoritme ................................................................................................................ 5 
METODE PENELITIAN ................................................................................................................. 5 
Kajian Literatur ..................................................................................................................... 5 
Analisis dan Implementasi Crawling..................................................................................... 5 
Evaluasi Algoritme ................................................................................................................ 6 
HASIL DAN PEMBAHASAN......................................................................................................... 6 
Penggunaan Cronjob ............................................................................................................. 6 
Memasukkan Link ke Frontier .............................................................................................. 6 
Pemberhentian Crawling ....................................................................................................... 6 
Mengambil Link dari Frontier Berdasarkan Algoritme Crawler........................................... 7 
Fetch ...................................................................................................................................... 7 

Parsing .................................................................................................................................. 7 
Pengideksan ........................................................................................................................... 8 
Evaluasi Algoritme ................................................................................................................ 9 
KESIMPULAN DAN SARAN....................................................................................................... 12 
Kesimpulan .......................................................................................................................... 12 
Saran .................................................................................................................................... 12 
DAFTAR PUSTAKA ..................................................................................................................... 12 
LAMPIRAN ................................................................................................................................... 13 

iv

DAFTAR GAMBAR
Halaman
1 Komponen mesin pencari. ............................................................................................................. 2 
2 Breadth First Crawler. .................................................................................................................. 2 
3 Algoritme Breadth First. ............................................................................................................... 2 
4 Algoritme Breadth First with Time Constraint............................................................................. 2 
5 Best First Crawler. ........................................................................................................................ 3 
6 Algoritme Best First. ..................................................................................................................... 3 
7 Ilustrasi link. .................................................................................................................................. 4 

8 Algoritme Page Rank..................................................................................................................... 4 
9 Tahapan implementasi. .................................................................................................................. 5 
10 Grafik nilai cosine similarity algoritme breadth first................................................................... 9 
11 Grafik nilai cosine similarity algoritme breadth first with time constraint .................................. 9 
12 Grafik nilai cosine similarity algoritme best first ........................................................................ 9 
13 Grafik nilai cosine similarity algoritme page rank ...................................................................... 9 
14 Grafik rata-rata fetch time. ......................................................................................................... 12 

 

DAFTAR TABEL
Halaman
1 Proses perhitungan page rank sampai iterasi ke empat.................................................................. 4 
2 Rekapitulasi lima kata atau frase paling banyak terdapat pada halaman web. ............................... 8 
3 Rekapitulasi kata atau frase sesuai dengan kata kunci. .................................................................. 8 
4 Peluang kata kunci per algoritme. .................................................................................................. 9 
5 Perbandingan nilai precision.......................................................................................................... 9 
6 Perbandingan kompleksitas. ........................................................................................................ 11 
7 Rata-rata fetch time. ..................................................................................................................... 11 


DAFTAR LAMPIRAN
Halaman 
1 Rancangan Tabel.......................................................................................................................... 14 
2 Daftar Stop List. ........................................................................................................................... 15 
3 Algoritme Cosine Similarity dan Perhitungan Nilai Cosine Similarity. ....................................... 16 
4 Algoritme Page Rank dan Implementasi Page Rank Menggunakan PHP. .................................. 18 
5 Karakter-karakter Khusus. ........................................................................................................... 19 
6 Data Mentah untuk Evaluasi. ....................................................................................................... 21 
7 Antar Muka Sistem. ..................................................................................................................... 41 

v

PENDAHULUAN
Latar Belakang
Sekitar tahun 1990-an hasil penelitian
menunjukkan bahwa orang lebih banyak
mencari dan mendapatkan informasi melalui
media cetak atau media lain, bukan dari sistem
temu kambali informasi. Dalam satu dekade
terakhir, optimasi dan efektivitas sistem temu
kembali informasi mencapai kualitas yang lebih
baik, sehingga membuat sebagian besar
pengguna internet lebih percaya mencari dan
mendapatkan informasi, menggunakan sistem
temu kembali informasi. Tahun 2004 survey
Pew Internet (Follow 2004, diacu dalam
Manning et al. 2009) menunjukkan bahwa 92%
pengguna
internet
menyatakan
internet
merupakan tempat yang baik untuk mencari dan
mendapatkan informasi.
Jumlah halaman web pada akhir Januari
2005 diperkirakan mencapai 11,5 miliar
halaman (Romero 2006), dengan jumlah
halaman web yang sangat banyak, maka dapat
digunakan oleh sistem pencarian web untuk
menemukembalikan informasi sesuai dengan
keinginan pengguna. Google yang merupakan
mesin pencari terbesar saat ini diperkirakan
telah melakukan pengindeksan halaman web
mencapai delapan miliar.
Salah satu strategi untuk mengumpulkan
halaman web yang tersebar di internet pada
domain berbeda, dan disesuaikan dengan kata
kunci yang diinginkan oleh pengguna yaitu
dengan membangun pengindeksaan halaman
web. Sejak akhir tahun 1990, banyak penelitian
yang membahas tentang strategi pengumpulan
halaman web, strategi yang paling populer
adalah web crawling.
Pada tahun 2006, Rafael Romero Trujillo
(Department of Information Technology Lund
University, Swedia) melakukan penelitian
tentang web crawling yang berjudul Simulation
Tool to Study Focused Web Crawling
Strategies. Hasil penelitian ini menunjukkan
nilai precision terhadap 100.000 dokumen yang
dikumpulkan, untuk algoritme breadth first,
best first, page rank, dan breadth first with time
constraint yaitu masing-masing 28,797%,
33,930%, 35,090%, dan 37,691%.

Web crawling adalah suatu proses untuk
mengumpulkan halaman web, kemudian
dilakukan pengindeksan halaman web yang
bertujuan untuk mendukung sistem pencarian
web. Aplikasi untuk web crawling biasa disebut
dengan web crawler.
Tujuan
Tujuan
penelitian
ini
adalah
mengimplementasikan beberapa algoritme web
crawling. Kemudian melakukan evaluasi
terhadap beberapa algoritme web crawling
tersebut.
Ruang Lingkup
Ruang lingkup penelitian ini yaitu :
1. Web crawler yang dibangun hanya
menjelajahi format standar halaman web,
dan tidak menjelajahi :
a. file dengan ekstensi .jpg, .png, .gif, .swf,
.doc, .docx, .ppt, .pptx, .xls, xlsx, .pdf,
.zip, .tar, .gz, dan .tar.gz.
b. sebuah halaman web yang menerapkan
Robot Exclusion Protocol, yaitu protocol
yang menyediakan mekanisme untuk
mengatur akses terhadap file. Protocol
ini menyebabkan file tidak bisa diambil
oleh web crawler.
2. Web crawler yang dibangun dikhususkan
untuk dokumen web berbahasa Indonesia.
3. Web crawler yang dibangun tidak
melakukan proses stemming terhadap kata
atau frase yang didapatkan.
Manfaat
Manfaat dari penelitian ini yaitu :
1. Web crawler yang dibangun mampu
mengumpulkan
halaman
web
dan
melakukan pengindeksan halaman web.
2. Mampu
melakukan evaluasi terhadap
beberapa algoritme web crawling.
3. Hasil pengindeksan halaman web dapat
digunakan untuk membangun sistem temu
kembali informasi, atau dapat juga
digunakan untuk penelitian lain di bidang
temu kembali informasi maupun di bidang
lainnya.

1

TINJAUAN PUSTAKA

Sedangkan untuk algoritme breadth first
dapat dilihat pada Gambar 3.

Temu Kembali Informasi
1

Temu kembali informasi (information
retrieval) yaitu mencari bahan (biasanya
dokumen) yang bersifat tidak terstruktur
(biasanya teks) untuk memenuhi kebutuhan
informasi dari dalam koleksi dokumen yang
besar (tersimpan dalam komputer) (Manning et
al. 2009).

2

Web Crawling
Web crawling adalah suatu proses untuk
mengumpulkan halaman web, kemudian
dilakukan pengindeksan untuk mendukung
sebuah mesin pencari. Tujuan dari web
crawling adalah mengumpulkan halaman web
dengan cepat dan efisien, bersamaan dengan
struktur link yang terhubung antar halaman web
tersebut (Manning et al. 2009).
Komponen pendukung mesin pencari salah
satunya yaitu web crawler dapat dilihat pada
Gambar 1.

Breadth-First(starting_urls) {
for each link (starting_urls){

3

enqueue(frontier, link);

4

}

5

while (visited < MAX_PAGES ){

6

start_time;

7

link = dequeue_link(frontier);

8

page = fetch(link);

9

visited = visited + 1;

10

enqueue(frontier,

11

end_time;

extract_links(page));
12
}
13 }

Gambar 3 Algoritme Breadth First.
2. Breadth First with Time Constraint
Breadth
first with time constraint
merupakan perluasan dari algoritme breadth
first. Algoritme ini didasarkan pada gagasan
tidak mengakses server yang sama selama
jangka waktu tertentu dengan tujuan agar tidak
membebani server. Dengan demikian, halaman
diambil jika dan hanya jika batas waktu tertentu
telah berlalu sejak terakhir akses ke server
(Romero 2006).
Algoritme breadth first with time constraint
dapat dilihat pada Gambar 4.

Gambar 1 Komponen mesin pencari.

1

Breadth-First(starting_urls) {

2

for each link (starting_urls){

Algoritme Web Crawler

3
4

}

enqueue(frontier, link);

Algoritme web crawler yang dianalisis dan
dievaluasi yaitu :

5

url = first(frontier);

6

while (visited < MAX_PAGES){

1. Breadth First

7

if(Now()-timeLastAccessToServer(url)
> timeThereshld){

Algoritme breadth first merupakan strategi
sederhana untuk mengumpulkan halaman web.
Algoritme ini tidak menggunakan pendekatan
heuristik untuk menentukan Uniform Resource
Locator (URL) berikutnya yang akan
dikunjungi. Proses pengambilan URL dari
frontier hanya menggunakan First In First Out
(FIFO) Queue (Romero 2006).
Ilustrasi breadth first crawler dapat dilihat
pada Gambar 2.

8

start_time;

9

page = fetch(url);

10

visited = visited + 1;

11

enqueue(frontier,

12

url = first(frontier);

extract_links(page));
13

end_time;

14

}else{

15

url = nextElement(frontier);

16
17
18

}
}
}

Gambar 4 Algoritme Breadth First
with Time Constraint.

Gambar 2 Breadth First Crawler.
2

3. Best First
Ide dasar dari algoritme ini memberikan
nilai estimasi pada setiap link di frontier,
dimana nilai estimasi terbaik akan digunakan
sebagai dasar untuk menjelajahi setiap link pada
frontier. Untuk mendapatkan nilai estimasi
tersebut dengan cara menghitung kesamaan
antara halaman web dengan kata kunci yang
diinginkan (Romero 2006).
Ilustrasi best first crawler dapat dilihat pada
Gambar 5.

halaman
tersebut.
Pendekatan
tersebut
digunakan, sehingga page rank dari link masuk
(inbound link) tidak langsung didistribusikan ke
halaman yang dituju, melainkan dibagi dengan
jumlah link keluar (outbound link) yang ada
pada halaman tersebut.
Sebuah halaman web akan semakin populer,
jika semakin banyak halaman web lain yang
meletakan link yang mengarah ke halaman web
tersebut. Sedangkan sebuah halaman web akan
semakin penting jika halaman lain yang
memiliki nilai page rank tinggi mengacu ke
halaman web tersebut, dengan asumsi isi dari
halaman web tersebut lebih penting dari
halaman web yang lain.
Proses perhitungan nilai page rank
dilakukan secara rekursif sampai konvergen.
Sebuah rangking halaman web akan ditentukan
oleh rangking halaman web lain yang memiliki
link ke halaman web tersebut.

Gambar 5 Best First Crawler.

Terdapat dua persamaan page rank yaitu:

Sedangkan untuk Algoritme best first dapat
dilihat pada Gambar 6.
1

Best-First(keyword,starting_urls){

2

for each link (starting_urls){

3

enqueue(frontier,link, 1);

4

}

5

while (visited < MAX_PAGES){

6

start_time;

7

link=dequeue_top_link(frontier);

8

page = fetch(link);

9

score = sim(keyword, page);

10

visited = visited + 1;

11

enqueue(frontier,

12

end_time;

extract_links(page),score);
13

}

14

}

(1)
N
(2)
dengan PR(p) adalah page rank halaman p,
PR(d) adalah page rank halaman d yang
mengacu ke p, in(p) adalah kumpulan halaman
yang menunjuk ke p, out(d) adalah kumpulan
link yang keluar dari d, dan N adalah jumlah
dokumen. Nilai γ (damping factor) merupakan
peluang bahwa random surfer meminta
halaman lain secara acak, nilai konstanta γ
kurang dari satu (umumnya digunakan nilai
0.85).

Page rank diperkenalkan oleh Sergey Brin
dan Larry Page, merupakan model probabilitas
dari prilaku surfing pengguna. Skor halaman
web tergantung secara rekursif dari skor
halaman web yang mengarah ke halaman web
tersebut (Romero 2006).

Penentuan nilai page rank halaman p tidak
langsung diberikan, tetapi sebelumnya dibagi
dengan jumlah link yang ada pada halaman d
(outbound link), nilai page rank tersebut akan
dibagi rata ke setiap link yang ada pada halaman
tersebut. Setelah semua nilai page rank didapat
dari halaman lain yang mengacu ke halaman p
dijumlahkan, nilai itu kemudian dikalikan
dengan konstanta γ. Hal ini dilakukan agar tidak
keseluruhan nilai page rank halaman d
didistribusikan ke halaman p.

Page rank menggunakan konsep random
surfer model, merupakan pendekatan yang
menggambarkan seorang pengunjung di depan
sebuah halaman web. Hal ini berarti peluang
seseorang mengklik sebuah link sebanding
dengan jumlah link yang ada pada

Perbedaan antara kedua persamaan tersebut
yaitu persamaan pertama jumlah page rank
sama dengan satu, sedangkan persamaan ke dua
jumlah page rank sama dengan jumlah halaman
web. Menurut Brin dan Page (1998)
mengatakan bahwa page rank membentuk

Gambar 6 Algoritme Best First.
4. Page Rank

3

distribusi peluang, jadi jumlah semua nilai page
rank halaman web sama dengan satu.
Berdasarkan
penjelasan
tersebut
maka
persamaan satu lebih direkomendasikan, karena
page rank berbasis peluang. Berdasarkan dua
persamaan tersebut dapat dilihat bahwa page
rank ditentukan untuk setiap halaman, bukan
keseluruhan website.
Ilustrasi link antar halaman dapat dilihat
pada Gambar 7.

A

1

PageRank (keyword,starting_url){

2

for each link (starting_urls){

3

enqueue(frontier, link, 1);

4

}

5

while (visited < MAX_PAGES){

6

start_time;

7

if(multiplies-X (visited)){

8

for each link (frontier){

9

PR(link) = compute_score_PR;

10

}

11

}

12

link = dequeue_max_PR(frontier);

13

if(link not found){

14

B

C

Gambar 7 Ilustrasi link.
Proses perhitungan page rank dari ilustrasi
pada Gambar 7 sebagai berikut :
misal nilai γ = 0.5
PR (B) = 0.5/3 + 0.5 ( PR(A) / 2 )
PR (C) = 0.5/3 + 0.5 ( PR(A) / 2 + PR(B))
Tabel 1 menujukkan proses iterasi
perhitungan nilai page rank sampai dengan
iterasi ke empat, terlihat bahwa halaman C lebih
populer dibandingkan dengan halaman A dan
halaman B, karena memiliki page rank yang
lebih besar. Halaman A lebih populer
dibandingkan dengan halaman B walaupun
jumlah inbound link sama, karena halaman A
diacu oleh halaman C yang memiliki page rank
yang besar.
Tabel 1 Proses perhitungan page rank sampai
iterasi ke empat.
Iterasi
0
1
2
3
4

PR(A)
0
0,167
0,250
0,313
0,333

PR(B)
0
0,167
0,208
0,229
0,245

}

16

page = fetch(link);

17

score = sim(keyword, page);

18

visited = visited + 1;

19

enqueue(frontier,

20

end_time;

extract_links(page),score);
21
22

PR (A) = 0.5/3 + 0.5 PR(C)

PR (C)
0
0,167
0,292
0,333
0,359

Algoritme web crawler menggunakan page
rank dapat dilihat pada Gambar 8.

link = dequeue_top_link(frontier);

15

}
}

Gambar 8 Algoritme Page Rank.
Web crawler dengan menggunakan page
rank merupakan varian dari best first crawler.
Berbeda pada evaluasi link yang dikunjungi
berikutnya menggunakan dua pendekatan, yaitu
nilai page rank dan cosine similarity (Menczer
et al. 2004).
Analisis Algoritme
Secara informal, algoritme adalah prosedur
komputasional yang didefinisikan dengan jelas
untuk mengambil beberapa nilai atau satu set
nilai sebagai input, dan menghasilkan beberapa
nilai atau satu set nilai sebagai output.
Algoritme adalah urutan langkah komputasi
yang mengubah input menjadi output (Cormen
et al. 2002).
Analisis algoritme dibutuhkan untuk
memprediksi sumber daya yang dibutuhkan
oleh suatu algoritme. Sumber daya komputer
seperti memori, bandwidth, atau perangkat
keras komputer lainnya menjadi perhatian
utama dalam menganalisis algoritme, tetapi
umumnya yang diukur adalah waktu komputasi
suatu algoritme. Metode matematika secara
efektif dapat digunakan, untuk memprediksi
banyaknya ruang dan waktu yang diperlukan
oleh
suatu
algoritme,
tanpa
harus
mengimplementasikan
dalam
bahasa
pemrograman tertentu (Cormen et al. 2002).

4

Cosine Similarity
Cosine Similiarity digunakan oleh web
crawler untuk mendapatkan nilai estimasi
antara kata kunci dengan setiap halaman web
yang dikunjungi. Nilai estimasi ini akan
dijadikan nilai kesamaan untuk setiap link yang
didapat dari web yang dikunjungi.
Perhitungan cosine similarity dapat dilihat
pada persamaan :

METODE PENELITIAN
Kajian Literatur
Kajian literatur pada penelitian ini yaitu
mengkaji beberapa algoritme web crawler,
strategi web crawler, serta teknik yang
berkaitan dengan web crawler. Literatur yang
digunakan diambil dari buku, jurnal, dan
artikel-artikel dari internet.
Analisis dan Implementasi Crawling

dengan q merupakan topik, p adalah halaman,
Vq dan Vp merupakan vektor term frequency
dari p dan q, dan || Vq || & || Vp || merupakan
panjang vektor Vp dan Vq.
Stop Words

Hasil dari kajian literatur didapat beberapa
algoritme seperti yang telah dijelaskan pada
tinjauan pustaka. Beberapa algoritme web
crawler
tersebut
dianalisis
kemudian
diimplementasikan.
Tahapan implementasi dapat dilihat pada
Gambar 9.
Start

Terkadang kata-kata yang sering muncul dan
umum merupakan kata-kata yang kurang
bermakna jika dijadikan penciri sebuah
dokumen. Kata-kata tersebut akan dibuang dari
himpunan kata yang akan diindeks dan katakata tersebut termasuk dalam stop words
(Manning et al. 2009).
Kata-kata yang akan dibuang akan disimpan
dalam sebuah daftar kata yang disebut stop list.
Stop list akan berbeda-beda tergantung bahasa
yang digunakan, dalam konteks bahasa
indonesia beberapa kata yang termasuk dalam
stop list di antaranya ‘yang’, ‘sehingga’ dan
‘dengan’.
Pembobotan Term Frequency (TF)
Menurut Manning (2009) term frequency
adalah frekuensi kemunculan kata pada
dokumen. Untuk menghitung skor antar kueri
dengan dokumen, pendekatan sederhana dengan
menghitung frekuensi kata pada kueri dengan
dokumen. Nilai frekuensi tersebut adalah bobot
dari dokumen, yang memiliki bobot terbesar
merupakan dokumen yang paling dekat dengan
kueri.
Evaluasi Algoritme
Romero (2006) menjelaskan bahwa untuk
mengukur kinerja algoritme web crawler
menggunakan
nilai
precision,
yaitu
membandingkan antara jumlah halaman relevan
yang dikunjungi dengan total halaman yang
dikunjungi. Persamaan untuk menghitung nilai
precision yaitu :
Jumlah halaman relevan dikunjungi
precision =
Total halaman dikunjungi

Inisialisasi
(kata kunci dan starting URL)

Memasukan links ke
frontier

End

Pemberhentian crawling

Mengambil link
dari frontier berdasarkan
algoritme crawler

Fetch

Parsing

Pengindeksan

Memasukan links
ke frontier

Gambar 9 Tahapan implementasi.
Berikut ini penjelasan untuk setiap tahapan
dari Gambar 9 :
1. Inisialisasi (kata kunci dan starting URL)
Starting URL adalah link yang pertama kali
menjadi acuan untuk dikunjungi, link ini
dianggap sebagai link yang paling mewakili
isi halaman web yang diinginkan untuk
dikumpulkan. Penentuan starting URL
sangat penting karena menentukan links

5

selanjutanya yang akan dikunjungi. Pada
kajian kali ini starting URL yang digunakan
yaitu http://www.deptan.go.id/news/.
Kata kunci pada kajian kali ini adalah
“pertanian agriculture tani petani padi
jagung agri agribisnis”, dengan tujuan untuk
mendapatkan
halaman
web
yang
berhubungan dengan pertanian.
2. Memasukkan link ke frontier
Frontier adalah daftar URL yang belum
dikunjungi oleh web crawler (unvisited
pages). Berdasarkan terminologi graf,
frontier adalah sebuah node yang belum
diekspan (unexpanded nodes). Aturan pada
frontier tidak boleh ada duplikasi URL,
untuk
memastikannya
digunakan
pengecekan secara kueri basis data.
Memasukkan link ke frontier adalah proses
memasukkan setiap link yang didapat dari
starting URL atau link dari sebuah halaman
web. Implementasi frontier pada kajian ini
yaitu menggunakan basis data, rancangan
struktur tabel pada basis data dapat dilihat di
Lampiran 1.
3. Pengecekan pemberhentian crawling
Pemberhentian crawling dilakukan jika total
halaman web yang dikunjungi mencapai
total maksimum yang ditentukan, atau jika
frontier telah mencapai batas maksimum
dalam sebuah penyimpanan.
4. Mengambil link dari frontier berdasarkan
algoritme crawler
Mengambil link dari frontier berdasarkan
aturan dari setiap algoritme yaitu algoritme
breadth first, breadth first with time
constraint, best first, dan page rank.
5. Fetch
Fetch adalah proses mengunjungi dan
mengambil isi halaman web.
6. Parsing
Parsing adalah proses mengekstrak link dan
kata atau frase dari sebuah halaman web.
Pada tahapan ini dilakukan pengecekan
apakah sebuah kata atau frase termasuk stop
list, jika stop list maka tidak dimasukkan
dalam penyimpanan.
Pada penelian ini menggunakan stop list
Bahasa Indonesia dan Bahasa Inggris, alasan
menggunakan stop list Bahasa Inggris
dikarenakan beberapa dokumen web
berbahasa Indonesia menggunakan istilah

Bahasa Inggris. Daftar stop list Bahasa
Indonesia dan Bahasa Inggris dapat dilihat
pada Lampiran 2.
7. Pengindeksan
Hasil dari tahapan fetch, dihitung bobot
setiap kata atau frase yang didapat dengan
term frequency (tf), kata atau frase dan
bobotnya disimpan dalam basis data.
Evaluasi Algoritme
Evaluasi algoritme merupakan proses
evaluasi terhadap algoritme web crawer yang
telah diimplementasikan. Evaluasi dilakukan
dengan tiga cara yaitu :
1. Menghitung nilai precision untuk setiap
algoritme.
2. Menghitung
algoritme.

kompleksitas

untuk

setiap

3. Menghitung rata-rata fetch time sebanyak
dua puluh iterasi untuk setiap algoritme.
HASIL DAN PEMBAHASAN
Penggunaan Cronjob
Cronjob adalah aplikasi yang digunakan
untuk penjadwalan, sehingga memungkinkan
pengguna melakukan eksekusi aplikasi atau
script program sesuai dengan waktu yang telah
ditentukan. Pada penelitan ini digunakan
aplikasi cronjob yang sudah terkonfigurasi
langsung dengan Cpanel pada sebuah hosting.
Tujuan dari penggunaan cronjob adalah untuk
mengatur proses crawling sesuai dengan waktu
yang ditentukan.
Memasukkan Link ke Frontier
Untuk mendapatkan link dari dokumen
HTML yaitu dengan mengambil semua tag
hyperlinks. Link yang benar (valid) harus
memenuhi aturan sebagai berikut :
1.

Sebuah link dengan nilai atribut href tidak
boleh bernilai #.

2.

Atribut href dari tidak mengandung
ekstensi file yang telah dijelaskan pada
ruang lingkup.

Pemberhentian Crawling
Pemberhentian crawling yaitu memberi nilai
kontanta MAX_PAGES pada setiap algoritme
dengan nilai tertentu, pada kajian ini
menggunakan nilai konstanta sepuluh. Tujuan
dari pemberhentian crawling yaitu agar

6

algoritme crawling tidak jalan terus menerus
yang akan menyebabkan membebani server.

Ketentuan proses algoritme page rank pada
web crawler yaitu sebagai berikut :

Mengambil Link dari Frontier Berdasarkan
Algoritme Crawler

a) Jika jumlah halaman web kelipatan dari
lima, maka dilakukan perhitungan nilai
page rank untuk setiap link yang didapat
dari frontier.

Proses ini merupakan pokok dari algoritme
crawler yang digunakan untuk menentukan link
mana saja yang didahulukan untuk dikunjungi.
Berikut ini penjelasan proses pengambilan link
dari frontier berdasarkan algoritme :
1. Breadth first
Proses penentuan link yang didahulukan
untuk dikunjungi sangat sederhana yaitu
menggunakan konsep FIFO, jika link yang
terlebih dahulu masuk ke frontier maka
akan dikunjungi terlebih dahulu.
2. Breadth first with time constraint
Proses penentuan link yang didahulukan
pada algoritme ini sama persis dengan
algoritme breadth first. Pada algoritme ini
terdapat pengecualian dengan melakukan
pengecekan, yaitu selisih antar waktu
sekarang (now) dengan waktu terakhir
sebuah link dikunjungi, selisih waktu
tersebut harus memenuhi time threshold
yang ditentukan.
Pada penelitian ini time threshold yang
digunakan yaitu 24 jam (86400 detik),
dengan alasan karena rata-rata sebuah
halaman web diperbaharui dalam waktu
sehari semalam.
3. Best first
Proses penentuan link yang didahulukan
untuk dikunjungi dengan menggunakan nilai
cosine similarity. Nilai cosine similarity
sebuah halaman web dihitung berdasarkan
kata kunci yang diberikan, nilai yang
didapat akan diberikan pada setiap link yang
ada pada halaman web tersebut. Untuk
melihat algoritme cosine similarity dan
perhitungan nilai cosine similarity secara
manual pada sebuah halaman web dapat
dilihat pada Lampiran 3.
4. Page rank
Proses penentuan link yang didahulukan
untuk dikunjungi menggunakan dua
pendekatan, yaitu nilai cosine similarity atau
nilai page rank dari sebuah halaman web.
Pertimbangan nilai cosine similarity
digunakan hanya pada iterasi satu sampai
lima, karena pada iterasi tersebut nilai page
rank belum dihitung.

b) Untuk menentukan links yang akan
dihitung nilai page rank-nya, yaitu
dengan mengambil beberapa link dari
frontier yang memiliki nilai cosine
similarity tertinggi.
c) Jumlah links yang diambil dari frontier
yaitu sepuluh, dengan pertimbangan
jumlah MAX_PAGES sama dengan
sepuluh, jadi penentuan link yang
didahulukan untuk dikunjungi pada
iterasi berikutnya tetap menggunakan
nilai page rank.
d) Proses selanjutnya yaitu mendapatkan
link keluar (out link) dari setiap link yang
diambil dari frontier. Setelah diperoleh
link keluar, maka dilakukan proses
perhitungan nilai page rank.
Algoritme page rank dan implementasi page
rank menggunakan bahasa pemrograman
PHP dapat dilihat pada Lampiran 4.
Fetch
Implementasi fetch menggunakan library
PHP (Client URL) merupakan sebuah library
yang memungkinkan untuk terhubung dan
berkomunikasi antar berbagai macam tipe
server dengan berbagai macam protokol, salah
satunya adalah HTTP. Halaman HTML yang
didapat disimpan ke dalam basis data, kemudian
akan digunakan untuk proses parsing.
Parsing
Untuk mendapatkan kata atau frase pada
halaman web dilakukan pemrosesan HTML.
Tujuan pemrosesan HTML yaitu agar karakterkarakter khusus serta nilai di dalam tag style
dan tag script tidak dihitung sebagai kata atau
frase.
Proses untuk mendapatkan kata atau frase
yang benar (valid) dari sebuah halaman HTML,
dilakukan dengan menggunakan regular
expression, yaitu mengganti karakter-karakter
khusus, tag style dan tag script dengan karakter
kosong atau spasi. Implementasi regular
expression dengan menggunakan bahasa
pemrograman PHP dan karekter-karakter
khusus yang harus disaring dapat dilihat pada
Lampiran 5. 

7

Pengideksan
Setelah proses parsing selesai, maka proses
selanjutnya yaitu pengindeksan. Tabel 2
menunjukkan rekapitulasi lima kata atau frase
paling banyak terdapat pada halaman web, yang
didapat dari proses pengindeksan.
Tabel 2 Rekapitulasi lima kata atau frase paling
banyak terdapat pada halaman web.
Breadth First
Jumlah
Jumlah
Term
Kata
Dokumen
pertanian
2230
138
berita
1677
162
biro
806
124
indonesia
788
173
nasional
713
173
Total link : 1617
Total link yang dikunjungi : 200
Total link yang belum dikunjungi : 1417
Breadth First with Time Constraint
Jumlah
Jumlah
Term
Kata
Dokumen
pertanian
2800
152
berita
1549
180
biro
857
128
informasi
804
140
indonesia
779
174
Total link : 1612
Total link yang dikunjungi : 200
Total link yang belum dikunjungi : 1412
Best First
Jumlah
Jumlah
Term
Kata
Dokumen
pertanian
1984
158
berita
822
126
indonesia
604
145
biro
483
68
tanaman
482
86
Total link : 1646
Total link yang dikunjungi : 200
Total link yang belum dikunjungi : 1446
Page Rank
Jumlah
Jumlah
Term
Kata
Dokumen
pertanian
3386
161
gorontalo
2737
80
provinsi
1500
82
dinas
1022
75
berita
859
149
Total link : 1659
Total link yang dikunjungi : 200
Total link yang belum dikunjungi : 1459

Tabel 3 menunjukkan rekapitulasi kata atau
frase sesuai dengan kata kunci. Pada Tabel 3
terlihat bahwa kata “Pertanian” mempunyai
jumlah dokumen paling banyak untuk setiap
algoritme.
Tabel 3 Rekapitulasi kata atau frase sesuai
dengan kata kunci.
Breadth First
Jumlah
Jumlah
Term
Kata
Dokumen
pertanian
2230
138
agriculture
43
35
tani
130
87
petani
161
58
padi
105
41
jagung
40
21
agri
7
6
agribisnis
113
90
Breadth First with Time Constraint
Jumlah
Jumlah
Term
Kata
Dokumen
pertanian
2800
152
agriculture
64
50
tani
156
96
petani
193
76
padi
143
60
jagung
46
27
agri
7
6
agribisnis
152
124
Best First
Jumlah
Jumlah
Term
Kata
Dokumen
pertanian
1984
158
agriculture
36
30
tani
165
98
petani
164
57
padi
318
70
jagung
55
26
agri
3
3
agribisnis
98
73
Page Rank
Jumlah
Jumlah
Term
Kata
Dokumen
pertanian
3386
161
agriculture
97
78
tani
210
128
petani
633
97
padi
400
77
jagung
773
84
agri
1
1
agribisnis
102
73

8

Tabel 4 menunjukkan peluang kata kunci
per algoritme. Peluang dihitung dengan
membagi antara jumlah dokumen kata atau
frase dengan total dokumen yang didapat. Pada
Tabel 4 terlihat bahwa rata-rata peluang
algoritme page rank lebih baik dibanding
dengan ketiga algoritme lainnya yaitu 0,437.

tidak menggunakan nilai estimasi menunjukkan
semakin besar iterasi maka nilai cosine
similarity menuju ke nol.

Tabel 4 Peluang kata kunci per algoritme.
Term
pertanian
agriculture
tani
petani
padi
jagung
agri
agribisnis
Rata-rata

Peluang Algoritma ke1
2
3
4
0,690
0,760 0,790 0,805
0,175
0,250 0,150 0,390
0,435
0,480 0,490 0,640
0,290
0,380 0,285 0,485
0,205
0,300 0,350 0,385
0,105
0,135 0,130 0,420
0,030
0,030 0,015 0,005
0,450
0,620 0,365 0,365
0,298
0,369 0,322 0,437

Gambar 10 Grafik nilai cosine similarity
algoritme breadth first.

Keterangan : (1) Breadth First, (2) Breadth First with Time
Constraint, (3) Best First, dan (4) Page Rank.

Evaluasi Algoritme
Evaluasi algoritme menggunakan beberapa
pendekatan yaitu :
1.

Nilai Precision
Untuk mendapatkan halaman web yang
relevan sesuai dengan kata kunci dilakukan
secara manual, yaitu dengan membuka
setiap halaman web yang didapat,
kemudian dilihat apakah relevan atau tidak
dengan kata kunci.
Tabel 5 menunjukkan nilai precision untuk
setiap algoritme, data mentah setiap
algoritme untuk menghasilkan nilai
precision dapat dilihat pada Lampiran 6.
Berdasarkan evaluasi nilai precision,
terlihat
bahwa
algoritme
yang
mempertimbangkan nilai estimasi antara
kata kunci dengan halaman web lebih baik
dibandingkan dengan algoritme yang tidak
mempertimbangkan nilai estimasi.

Gambar 11 Grafik nilai cosine similarity
algoritme breadth first with time constraint.

Gambar 12 Grafik nilai cosine similarity
algoritme best first.

Tabel 5 Perbandingan nilai precision.
Algoritme
1
2
3
4

Halaman
200
200
200
200

Relevan
51
59
74
79

Precision
0,255
0,295
0,370
0,395

Keterangan : (1) Breadth First, (2) Breadth First with Time
Constraint, (3) Best First, dan (4) Page Rank.

Gambar 10 sampai dengan Gambar 13
menunjukkan grafik hubungan antara nilai
cosine similarity dengan urutan halaman web
yang dikunjungi. Algoritme breadth first yang

Gambar 13 Grafik nilai cosine similarity
algoritme page rank

9

T1(n) = 4n2 + 13n + 1 = O(n2)

Pada penelitian ini dihitung juga nilai ratarata cosine similarty terhadap dua ratus
dokumen yang dikumpulkan. Hasil yang
didapat untuk algoritme page rank, breadth first
with time constraint, best first dan breadth first
dan yaitu masing-masing 0,175, 0,146, 0,143
dan 0,110.
2.

Kompleksitas Algoritme

a.

Breadth first

T2(n) = 8n + 1 = O(n)
Jadi, kompleksitas algoritme breadth first
with time constraint yaitu O(n2) atau O(n).
O(n2) yaitu worst case, terjadi saat
pengecekan time threshold terpenuhi. O(n)
yaitu best case, terjadi saat pengecekan
time threshold tidak terpenuhi.
c.

Perhitungan
kompleksitas
breadth first sebagai berikut :

Best first

algoritme

Breadth-First(starting_urls) {
for each link (starting_urls)

Perhitungan kompleksitas algoritme best
first sebagai berikut :

Time

BestFirst(keyword,starting_urls){

Time

3n

for each link (starting_urls)

3n

{

{
enqueue(frontier, link);

n

}

enqueue(frontier,link, 1);

n

while (visited < MAX_PAGES){

n

}

while (visited < MAX_PAGES ){

n

start_time;

n

start_time;

n

link=dequeue_link(frontier);

n

link=dequeue_top_link(

n

page=fetch(link);

n

frontier);

visited = visited + 1;

2n

page = fetch(link);

enqueue(frontier,

4n2

score = sim(keyword, page);

extract_links(page));
end_time;

visited = visited + 1;
n

n
(F(n)) n
2n

enqueue(frontier,

}

extract_links(page),

}

4n2

score);
end_time;

T(n) = 4n2 + 11n = O(n2)

n

}
}

Jadi, kompleksitas algoritme breadth first
yaitu O(n2).
b.

Breadth first with time constraint
Perhitungan
kompleksitas
algoritme
breadth first with time constraint sebagai
berikut :
Breadth-First(starting_urls) {
for each link (starting_urls)

Time

F(n) = 18n + 11, maka

n

T(n) = 4n2 + 11n + (18n + 11) n

}
url = first(frontier);
while (visited < MAX_PAGES){

1
n
2n

if(Now()-

dengan
F(n)
merupakan
fungsi
kompleksitas untuk algoritme cosine
similarity.
Perhitungan
kompleksitas
algoritme cosine similarity dapat dilihat
pada Lampiran 3, dengan hasil sebagai
berikut :

3n

{
enqueue(frontier, link);

T(n) = 4n2 + 11n + (F(n)) n

T(n) = 22n2 + 22n = O(n2)
Jadi, kompleksitas algoritme best first
yaitu O(n2).

timeLastAccessToServer(url)
> timeThereshld){
start_time;

n

page = fetch(url);

n

visited = visited + 1;

2n

enqueue(frontier,

4n2

extract_links(page));
url = first(frontier);

n

end_time;

n

}else{
url = nextElement(frontier);

n

}
}
}

10

d.

Page rank
Perhitungan kompleksitas algoritme Page
Rank sebagai berikut :

PageRank (keyword,starting_url){

Time

for each link (starting_urls) {

3n

enqueue(frontier, link, 1);

n

}
while (visited < MAX_PAGES){

n

start_time;

n

if(multiplies-X (visited)){

3n
3n2

for each link (frontier){

(G(n)) n2

PR(link) = compute_score_PR;
}
}
link = dequeue_max_PR(frontier);

n

if(link not found){

n

link = dequeuetoplink(frontier);

n

}
page = fetch(link);

n

score = sim(topic, page);

(F(n)) n

visited = visited + 1;

2n

enqueue(frontier,

4n2

extract_links(page),score);
end_time;

n

}
}

T1(n) = 4n2 + 16n + (F(n)) n
dengan
F(n)
merupakan
fungsi
kompleksitas untuk algoritme cosine
similarity.
Perhitungan
kompleksitas
algoritme cosine similarity dapat dilihat
pada Lampiran 3, dengan hasil sebagai
berikut :
F(n)

= 18n + 11, maka

T1(n) = 4n2 + 16n + (18n + 11) n
T1(n) = 22n2 + 27n = O(n2)
T2(n) = T1 (n) + 3n2 + (G(n)) n2
dengan
G(n)
merupakan
fungsi
kompleksitas untuk algoritme page rank.
Perhitungan kompleksitas algoritme page
rank dapat dilihat pada Lampiran 4, dengan
hasil sebagai berikut :

Tabel 6 menunjukkan perbandingan
kompleksitas algoritme crawler. Algoritme
page rank menunjukkan nilai kompleksitas
lebih tinggi dibandingkan dengan algoritme
lainnya, sehingga algoritme page rank
membutuhkan sumber daya komputer yang
lebih baik.
Tabel 6 Perbandingan kompleksitas.
Algoritme
Breadth First
Breadth First with Time
Constraint
Best First
Page Rank
3.

T2(n) = 25n + 27n + (G(n)) n

2

T2(n) = 6n5 + 22n4 + 9n3 + 27n2 + 27n
Jadi, kompleksitas algoritme page rank
adalah O(n2) atau O(n5). O(n2) yaitu best
case, terjadi saat algoritme page rank tidak
dijalankan. O(n5) adalah worst case, terjadi
saat algoritme page rank dijalankan.

O(n2)
O(n5)

Fetch Time

Fetch time adalah waktu yang dibutuhkan
suatu algoritme crawler untuk mengunjungi dan
mengambil suatu halaman web. Setiap itarasi
yang menghasilkan sepuluh halaman web,
kemudian dihitung nilai rata-rata fetch time.
Tabel 7 menunjukkan rata-rata fetch time
berdasarkan urutan pengulangan untuk setiap
algoritme web crawler dijalankan. Untuk setiap
urutan pengulangan, terlihat bahwa algoritme
page rank sebelas kali mencapai nilai terbesar
dibandingkan dengan algoritme lain. Hal ini
terjadi dikarenakan proses perhitungan nilai
page rank membutuhkan waktu.
Selain itu, terlihat bahwa algoritme best first
lebih stabil dibanding dengan algoritme lain,
karena tidak mencapai fetch time maksimum
pada setiap iterasi. Pada iterasi ke sebelas
sampai ke delapan belas, terlihat bahwa
peningkatan fetch time yang tinggi untuk
algoritme breadth first dan breadth first with
time constraint. Hal ini terjadi karena akses ke
server mulai melambat, atau akses ke halaman
web tersebut memang lambat. Setelah dilakukan
pengecekan ulang dengan data mentah, yang
menyebabkan fetch time tinggi yaitu adanya
komponen flash dalam halaman web tersebut.
Tabel 7 Rata-rata fetch time.

G(n) = 6n3 + 22n2 + 9n + 2
2

Kompleksitas
O(n2)
O(n2)

Urutan
1
2
3
4
5
6
7

Rata-rata fetch time (detik)
algoritma ke1
2
3
4
0,005
0,005 0,005 1,622
0,005
0,005 0,006 28,36
6,373
7,080 7,656 29,66
0,004
0,003 0,004 93,02
6,867
5,839 5,176 71,36
18,556
8,227 0,005 55,24
23,053
0,006 11,29 30,87

11

Urutan
8
9
10
11
12
13
14
15
16
17
18
19
20

Rata-rata fetch time (detik)
algoritma ke1
2
3
4
13,922
0,006 7,851 0,006
0,005
9,086 6,722 36,12
0,005
6,352 6,362 65,68
204,65
32,846 0,006 0,005
450,83
0,005 0,003 6,805
926,14
0,005 0,002 5,456
299,40
34,473 0,001 7,567
0,008
264,34 0,003 1,107
0,009
513,67 0,003 3,727
0,011
936,22 402,4 81,92
0,008
556,65 9,699 32,66
10,50
0,007 16,86 49,51
6,353
0,008 15,34 96,08

Keterangan : (1) Breadth First, (2) Breadth First with Time
Constraint, (3) Best First, dan (4) Page Rank. Cell dengan latar
hitam menunjukkan nilai terbesar untuk setiap iterasi per algoritme.

Gambar 14 menunjukkan grafik hubungan
antara urutan pengulangan web crawler dengan
rata-rata fetch time, dengan data diambil dari
Table 7.

Saran
1. Implementasi
pada
penelitian
ini
menggunakan share hosting, sehingga tidak
leluasa dalam menggunakan resources
server. Perlu adanya server tersendiri untuk
web crawler agar pengambilan halaman web
lebih cepat.
2. Masih terdapat algoritme web crawler lain
selain ke-4 algoritme yang telah dikaji pada
penelitian ini, sehingga pada penelitian
selanjutnya diharapkan dapat mengkaji
algoritme web crawler yang lain.
3. Proses pengindeksan masih menggunakan
metode sederhana yaitu term frequency (tf),
diharapkan pada penelitian selanjutnya
menggunakan metode pengindeksan lain
yang lebih baik.
DAFTAR PUSTAKA
Brin, Page. 1998. The Anatomy of a LargeScale Hypertextual Web Search Engine.
http://infolab.stanford.edu/~backrub/google.
htm.
Cormen et al. 2002. Introduction to Algorithms
Second Edition. England. The MIT Press
Cambridge.
Manning et al. 2009. Introduction to
Information Retrieval. England. Cambridge
University Press.

Gambar 14 Grafik rata-rata fetch time.
KESIMPULAN DAN SARAN
Kesimpulan
Hasil penelitian berdasarkan nilai precision
dan peluang kata kunci per algoritme
menunjukkan bahwa algoritme page rank lebih
baik dibanding dengan algoritme lainnya. Hasil
penelitian berdasarkan kompleksitas algoritme,
menunjukkan bahwa algoritme page rank
memiliki
kompleksitas
lebih
tinggi
dibandingkan dengan algoritme lainnya. Selain
itu,
berdasarkan
rata-rata
fetch
time
menunjukkan bahwa algoritme best first lebih
stabil dibanding dengan algoritme lainnya.

Menczer et al. 2004. Topical Web Crawlers:
Evaluating Adaptive Algorithms. ACM
Transactions on Internet Technology.
http://dollar.biz.uiowa.edu/~pant/Papers/TO
IT.pdf.
Romero T, Rafael. 2006. Simulation tool to
study focused web crawling strategies.
http://combine.it.lth.se/CrawlSim/CrawlSim.
pdf.
Srinivasan. 2004. Target Seeking Crawlers and
their
Topical
Performance.
http://citeseerx.ist.psu.edu/viewdoc/downloa
d?doi=10.1.1.23.6092.

12

LAMPIRAN

13

Lampiran 1 Rancangan Tabel.
tbl_term
Nama field
id
term

Tipe data
int(11)
varchar(200)

Keterangan
primary key, auto increment
unique

Tipe data
int(11)
int(11)
int(11)
int(11)

Keterangan
primary key, auto increment

Tipe data
int(11)
text
varchar(250)
varchar(250)
longtext
int(1)
double
int(1)
float
int(11)
text
float

Keterangan
primary key, auto increment

tbl_tf
Nama field
id
id_term
id_url
tf

unique

tbl_webpage
Nama field
id
topic
link
link_teks
html
status
score
algorithm
fetch_time
access_time
link_graph
pagerank

unique

0 = belum dikunjungi, 1 = sudah dikunjungi
Menyimpan nilai cosing similarity
Jenis algoritme

14

Lampiran 2 Daftar Stop List.
Stop List Bahasa Indonesia
yang di dan itu dengan untuk tidak ini dari dalam akan pada juga saya ke karena tersebut bisa
ada mereka lebih kata tahun sudah atau saat oleh menjadi orang ia telah adalah seperti sebagai
bahwa dapat para harus namun kita dua satu masih hari hanya mengatakan kepada kami setelah
melakukan lalu belum lain dia kalau terjadi banyak menurut anda hingga tak baru beberapa
ketika saja jalan sekitar secara dilakukan sementara tapi sangat hal sehingga seorang bagi besar
lagi selama antara waktu sebuah jika sampai jadi terhadap tiga serta pun salah merupakan atas
sejak membuat baik memiliki kembali selain tetapi pertama kedua