Anda di halaman 1dari 5

MAKALAH SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2009

PERANCANGAN DAN PEMBUATAN WEB CRAWLER


APLIKASI PANDUAN PEMBELIAN SPESIFIKASI
KOMPUTER RAKITAN ONLINE DENGAN
MEMANFAATKAN GOOGLE GEARS
Pawestri Dwi Utami – Royyana Muslim I – Henning T.C
Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember,
email: pawestridwiutami@gmail.com, roy@if.its.ac.id, henning@its-sby.edu

Abstrak Semakin berkembangnya 1. PENDAHULUAN


teknologi dan cepatnya aliran data serta Perkembangan teknologi yang cukup
informasi yang tersebar di internet menuntut pesat saat ini memungkinkan untuk
masyarakat untuk mengetahui informasi yang mendapatkan aliran data dan informasi
up to date. Untuk mendapatkan informasi dengan mudah dan cepat. Karena data dan
tersebut, umumnya masyakarat menggunakan informasi tersebut semakin dibutuhkan, maka
search engine atau mesin pencari yang dapat manusia berusaha untuk mengembangkan
memudahkan dalam pencarian informasi. teknologi yang mendukung agar pertukaran
Beberapa search engine yang tersedia di data semakin cepat dan akurat. Dengan
internet memanfaatkan web crawler untuk berbagai teknologi yang tersedia, sedikit
mendapatkan informasi yang dibutuhkan oleh banyak telah membantu dalam memenuhi
user. Web crawler merupakan sebuah aplikasi kebutuhan akan informasi.
yang akan berjalan menjelajahi halaman- Sebagian besar data dan informasi yang
halaman situs di internet kemudian didapat berasal dari internet dimana informasi
mengambil informasi yang tersedia di tersebut terus berkembang dan mengalami
masing-masing halaman tersebut. perubahan setiap waktu. Hal tersebut
Aplikasi yang akan dibuat kali ini adalah menyebabkan banyaknya data dan informasi
aplikasi web crawler yang akan mencari yang tersebar di internet. Untuk memudahkan
informasi tentang komputer rakitan yang user dalam mencari data, pada umumnya
tersedia di beberapa situs di internet. Situs- digunakan search engine untuk mencari data
situs yang akan dikunjungi telah ditentukan dan informasi yang dibutuhkan. Dengan
sebelumnya. Data-data yang diperoleh dari menggunakan search engine, user dapat
proses crawling tersebut akan disimpan di menentukan data apa yang akan dicari dan
database yang kemudian dapat digunakan batasannya sehingga hanya data yang sesuai
oleh user untuk melakukan kombinasi kriteria saja yang akan ditampilkan.
spesifikasi komputer sesuai dengan yang Beberapa search engine telah
diinginkan. memanfaatkan web crawler untuk
Pemanfaatan Google Gears dalam memperoleh informasi tersebut. Web crawler
aplikasi ini digunakaan agar web dapat merupakan sebuah perangkat lunak yang
berjalan secara offline tanpa adanya koneksi digunakan untuk menjelajahi halaman-
dengan jaringan internet. Google Gears halaman di internet dan akan mengambil
memungkinkan aplikasi untuk berjalan di informasi-informasi yang tersedia di halaman
komputer lokal sehingga proses pencarian web tersebut. Web crawler juga dapat
semakin lebih mudah dan cepat. digunakan untuk mencari informasi dengan
Kebutuhan spesifikasi komputer setiap topik tertentu sehingga disebut dengan topical
individu berbeda-beda. Dengan adanya web crawler.
aplikasi ini, diharapkan mampu membantu Aplikasi yang dibangun menggunakan
pengguna dalam mencari spesifikasi komputer web crawler untuk melakukan pencarian ke
rakitan sesuai dengan kebutuhannya. halaman-halaman web yang terdapat di
internet untuk mencari data-data mengenai
Kata Kunci: Search engine, Crawler, komputer rakitan. Tidak semua website akan
Google Gears. dikunjungi oleh web crawler ini, hanya web-
web yang telah ditentukan sebelumnya yang
1 PAWESTRI DWI UTAMI – 5105 100 085
MAKALAH SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2009

akan menjadi tujuan crawling. Setelah data dengan sekumpulan URL, kemudian men-
yang diinginkan telah ditemukan, maka data download setiap halamannya, mendapatkan
tersebut akan disimpan di database dan akan link dari setiap page yang dikunjungi
digunakan untuk proses selanjutnya. kemudian mengulangi kembali proses
Selain itu, aplikasi ini juga memanfaatkan crawling pada setiap link halaman tersebut.
Google Gears agar web berjalan secara offline
sehingga web tetap dapat diakses walaupun 3. Google Gears
tanpa koneksi internet. Dengan menggunakan Google Gears adalah sebuah open source
Google Gears, aplikasi akan berjalan lebih untuk browser yang memungkinkan seorang
cepat sehingga proses pencarian informasi developer dapat membuat web yang mampu
semakin cepat pula karena proses crawling berjalan secara offline. Yang dimaksud
akan dijalankan di background process. dengan berjalan secara offline adalah sebuah
web tetap dapat diakses di komputer lokal
2. Web Crawler tanpa terhubung dengan koneksi internet.
Web Crawler merupakan program yang Tidak semua aplikasi dapat dijalankan secara
pengumpul informasi yang hasilnya akan offline, hanya website yang telah didesain
disimpan pada sebuah database. Sebuah web secara khusus untuk google gears yang dapat
crawler akan berjalan menelusuri halaman menggunakan seluruh fitur dan kemampuan
web dan mengumpulkan dokumen-dokumen gears ini secara maksimal. Google gears
atau data-data di dalamnya. Selanjutnya web merupakan software open source yang berada
crawler akan membangun sebuah daftar dibawah lisensi New BSD, dimana dengan
indeks untuk memudahkan proses pencarian. lisensi ini memungkinkan seorang user untuk
meng-install gears ke software milik pribadi
tanpa ada batasan apapun. Ada 2 cara yang
dapat dilakukan dalam menggunakan aplikasi
gears, yang pertama adalah dengan
menambahkan API atau software yang
tersedia pada aplikasi yang akan
didistribusikan kepada end user. Cara yang
kedua adalah dengan menulis sebuah web
yang memerlukan instalasi gears pada
komputer user.
Gambar 2.1 Arsitektur Web Crawler

Gambar 2.1 merupakan arsitektur dari


sistem crawler. Crawler diawali dengan
adanya daftar URL yang akan dikunjungi,
disebut dengan seeds. Setelah crawler
mengunjugi URL tersebut, kemudian
mengidentifikasi semua hyperlink dari
halaman itu dan menambahkan kembali ke
Gambar 3.1 Arsitektur Google Gears
dalam seeds. Hal ini dinamakan crawl
frontier. Setelah web crawler mengunjungi Dari gambar 3.1 terlihat bahwa adanya
halaman-halaman web yang ditentukan di sinkronisasi dari client jika terhubung dengan
dalam seeds, maka web crawler membawa internet. Ketika proses sinkronisasi ini
data-data yang dicari oleh user kemudian berjalan, maka akan diperoleh data-data yang
menyimpanya ke sebuah storage. Web kemudian disimpan ke database lokal dan
crawler dapat dibuat untuk mencari informasi akhirnya dapat ditampilkan melalui user
yang berhubungan dengan topik tertentu saja. interface.
Web crawler yang hanya mengumpulkan
topik tertentu saja disebut dengan topical web 3.1. LocalServer
crawler. Modul ini digunakan untuk membuat
Proses crawling merupakan proses aplikasi web agar dapat dijalankan dan di-
dimana web crawler mengumpulkan data-data cache secara offline, sehingga dapat diakses
dari halaman web. Web crawler dimulai tanpa terhubung dengan jaringan internet.
2 PAWESTRI DWI UTAMI – 5105 100 085
MAKALAH SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2009

Sebuah aplikasi dapat me-manage cache digunakan antara worker dan halaman HTML.
dengan menggunakan 2 class, yaitu: HttpRequest API menyediakan fitur agar
• ResourceStore, untuk meng-capture ad- dapat mengakses objek dokumen dan
hoc URL dengan menggunakan kemampuan untuk mengirimkan request
JavaScript. Dengan class ini, secara sikron.
memungkinkan aplikasi untuk
mendapatkan data file user yang 4. Algoritma Greedy
dibutuhkan untuk dikirimkan bersamaan Algoritma greedy merupakan sebuah
dengan URL, seperti file PDF atau file algoritma untuk menentukan solusi optimum
image. dari sebuah persoalan. Solusi optimum adalah
• ManagedResourceStore, class yang sebuah solusi yang bernilai maksimum atau
digunakan untuk mengambil minimum dari sekumpulan alternatif solusi
sekumpulan URL yang dideklarasikan yang memungkinkan untuk dipilih. Algoritma
di manifest file. Manifest file adalah greedy menggunakan metode langkah per
sebuah file yang berisi data file yang langkah dimana pada setiap langkah akan
dapat diakses ketika aplikasi berjalan membentuk solusi. Setiap langkah solusi
offline. Data file tersebut bisa berupa memiliki banyak pilihan. Oleh karena itu,
link URL, image, PDF dan lainnya. harus dibuat keputusan yang terbaik dalam
menentukan pilihan di setiap langkahnya.
3.2. Database Keputusan yang telah diambil pada suatu
Modul ini digunakan untuk menyimpan langkah tidak dapat diubah lagi pada langkah
data-data aplikasi web pada komputer user. selanjutnya.
Setelah dilakukan sikronisasi dari internet ke Algoritma greedy memiliki 5 elemen
komputer lokal, maka data hasil sinkronisasi penting, antara lain:
akan disimpan ke database lokal komputer. 1. Himpunan kandidat, berisi elemen-
Database yang dibuat oleh aplikasi google elemen pembentuk solusi.
gears akan disimpan di direktori komputer 2. Himpunan solusi, berisi kandidat-
user dimana lokasi penyimpanannya kandidat yang terpilih sebagai solusi
tergantung pada browser dan platform yang persoalan.
digunakan. 3. Fungsi seleksi (selection function),
memilih kandidat yang paling
3.3. WorkerPool memungkinkan mencapai solusi
Modul ini digunakan untuk membuat web optimal. Kandidat yang sudah dipilih
dapat beroperasi di background proses, seperti pada suatu langkah tidak pernah
adanya sinkronisasi data antara server dengan dipertimbangkan lagi pada langkah
komputer user. Penggunaan WorkerPool selanjutnya.
memungkinkan user untuk menjalankan 4. Fungsi kelayakan (feasible function),
banyak file JavaScript secara bersamaan di memeriksa apakah suatu kandidat
background process tanpa menurunkan yang telah dipilih dapat memberikan
kinerja user interface. WorkerPool dapat solusi yang layak, yakni kandidat
diasumsikan sebagai sekumpulan proses. Jika tersebut bersama-sama dengan
ada perubahan variabel di salah satu proses, himpunan solusi yang sudah terbentuk
maka tidak akan mengubah variabel di proses tidak melanggar batasan (constraints)
yang lain. Dan jika sebuah worker di-create, yang ada. Kandidat yang layak
maka tidak akan secara otomatis mewarisi dimasukkan ke dalam himpunan
kode script dari parent-nya. Sekumpulan solusi, sedangkan kandidat yang tidak
proses dari WorkerPool saling berhubungan layak dibuang dan tidak pernah
satu dengan lainnya dengan cara mengirimkan dipertimbangkan lagi.
objek yang berisi pesan menggunakan fungsi 5. Fungsi obyektif (objective function),
sendMessage(). yaitu fungsi yang memaksimumkan
atau meminimumkan nilai solusi
3.4. HttpRequest API (misalnya panjang lintasan,
HttpRequest API mengimplementasikan keuntungan, dan lain-lain).
kumpulan XMLHttpRequest sehingga dapat

3 PAWESTRI DWI UTAMI – 5105 100 085


MAKALAH SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2009

5. DESAIN DAN IMPLEMENTASI jumlah dari ketiga komponen tersebut tidak


Tugas akhir ini dibuat untuk melebihi budget yang diinputkan oleh user.
mengaplikasikan konsep web crawler yang Selain itu, pencarian juga didasarkan pada
memudahkan seorang user melakukan kebutuhan masing-masing user. Kombinasi
pencarian spesifikasi komputer rakitan yang komputer rakitan yang dapat dipilih oleh user
tersedia online di internet. Web crawler antara lain:
merupakan aplikasi search engine yang • Kebutuhan untuk perkantoran, dimana
digunakan untuk mencari data-data yang komputer memiliki nilai yang hampir
dibutuhkan oleh user dengan cara menjelajahi sama di semua komponen baik
halaman-halaman web yang tersedia di motherboard, processor, memory dan
internet. graphic card.
• Kebutuhan untuk multimedia atau
5.1. Arsitektur Aplikasi gaming, dimana kombinasi dilakukan
Gambaran umum proses yang terjadi dengan mencari nilai graphic card
dalam aplikasi ini adalah: yang tertinggi.
• Kebutuhan untuk server, dimana
kombinasi yang didapat adalah
kombinasi komputer rakitan dengan
nilai processor yang paling tinggi.
• Kebutuhan standar, dimana kombinasi
komputer rakitan tidak memiliki
prioritas tertinggi pada salah satu
Gambar 5.1 Gambaran proses di dalam sistem komponen.
aplikasi web crawler Setiap kategori kombinasi komputer
Berdasarkan gambar 3.1, dapat dilihat rakitan diatas memiliki prioritas yang lebih
bahwa di dalam sistem aplikasi Web Crawler, pada salah satu komponen.
seorang user akan berinteraksi dengan sistem
melalui user interface. Dalam user interface 6. UJI COBA
tersebut, user akan diminta untuk melakukan Uji coba ini dilakukan untuk mengetahui
kombinasi terhadap komputer rakitan sesuai performa perangkat lunak jika terjadi
dengan kebutuhannya kemudian sistem akan perubahan data serta berbagai macam
melakukan pencarian ke dalam database lokal kombinasi yang dilakukan oleh user. Hasil uji
komputer. Data yang tersedia di dalam coba ditampilkan melalui sebuah alert yang
database adalah data hasil sikronisasi dari menunjukkan bahwa proses crawling telah
proses crawling yang berjalan saat sistem selesai beserta dengan waktu yang digunakan
sedang terhubung dengan internet pada selama proses crawling berjalan. Selain itu,
waktu-waktu yang ditentukan sebelumnya. uji coba performa juga dilakukan di waktu-
Ketika aplikasi sedang menjalankan proses waktu yang berbeda dengan tujuan untuk
crawling, maka aplikasi akan melakukan mengetahui pengaruh traffic jalur koneksi
sikronisasi data. Proses sinkronisasi akan internet. Skenario dilakukan untuk
menjalankan perintah crawling yang akan mengetahui seberapa lama waktu yang
menjelajahi halaman-halaman website yang dilakukan ketika crawling halaman-halaman
telah ditentukan dan hasilnya akan disimpan web dari awal hingga memasukkan ke
ke database komputer lokal. Proses ini akan database, waktu ketika meng-update 10
mengecek ada tidaknya perubahan data yang barang, 20 barang dan 50 barang.
tersedia di internet. Jika terdapat perubahan Tabel 6.1 Tabel perbandingan waktu crawling dan
harga, maka sistem akan melakukan update update
terhadap barang yang mengalami perubahan
tersebut. Ketika sudah tidak terhubung lagi
dengan jaringan (offline), maka user akan
mengakses database hasil sinkronisasi.
Pencarian kombinasi komputer rakitan
dilakukan dengan memilih kombinasi dari
processor, memory dan graphic card dimana
4 PAWESTRI DWI UTAMI – 5105 100 085
MAKALAH SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2009

Kecepatan sistem dalam melakukan 4. Pengimplementasian algoritma greedy


proses crawling dan update berbeda-beda. Hal dalam mencari solusi yang optimum
tersebut bergantung pada banyak data dan memberikan hasil yang cukup
traffic yang ada pada saat itu. Tabel 6.1 maksimal dalam melakukan
memberikan perbandingan ketika crawling kombinasi komputer rakitan.
dan update dijalankan pada saat traffic sepi
dan traffic padat. 8. DAFTAR PUSTAKA
Pada gambar 5.22 dapat dilihat grafik
perbandingan waktu ketika traffic sedang sepi 1. [ACH99] Achour, Mehdi, dan Betz,
dan sedang padat. Dari gambar diatas Friedhelm, “PHP Manual”,
menunjukkan bahwa kecepatan crawling dan PH Documentation Group,
update data bergantung pada traffic koneksi 1999.
internet. Semakin sepi koneksi jaringan 2. [KHA07] Khanna, Rajiv A., dan
internet semakin cepat pula proses crawling Kasliwal, Sourabh,
dan update berjalan. “Designing a Web
Crawler”, 2007.
1600
3. [WIK01] Wikipedia, The Free
1400
Encyclopedia, Web
1200
1000
Crawler
800
<URL:http://en.wikipedia.o
traffic sepi
600
rg/wiki/Web_Crawler>
traffic padat
400 4 [WIK02] Wikipedia, The Free
200 Encyclopedia, Google
0 Gears
Crawling 10 data 20 data 50 data <URL:http://en.wikipedia.o
rg/wiki/Google_Gears>
5 [LEV03] Levitin, Anany V.,
Gambar 6.1 Grafik perbandingan traffic sepi dan “Introduction to the Design
traffic padat and Analysis of
Algorithms”, Addison-
Wesley, 2003.
7. SIMPULAN
Dari hasil pengamatan selama
perancangan, implementasi, dan proses uji
coba perangkat lunak yang dilakukan, dapat
diambil simpulan sebagai berikut :
1. Penggunaan crawling dalam aplikasi
web crawler ini merupakan solusi
yang efisien dalam panduan pencarian
spesifikasi komputer rakitan online.
Hal tersebut dikarenakan proses insert
serta update barang tidak dilakukan
secara manual, namun dilakukan
otomatis oleh crawling.
2. Berjalannya proses crawling di
background process tidak menganggu
kinerja user ketika mengakses
aplikasi web. Selain itu, dengan
lamanya proses crawling juga
membuat user interface dapat berjalan
dengan lancar.
3. Performa crawling dipengaruhi oleh
traffic koneksi internet. Jika traffic
sedang padat, maka proses crawling
berjalan semakin lama pula.
5 PAWESTRI DWI UTAMI – 5105 100 085

Anda mungkin juga menyukai