Abstract:
World Wide Web merupakan sebuah wadah informasi yang sangat luas dan dapat diakses dimana saja. Penggunaan umum dari web crawler yaitu terkait search engine. Search engine menggunakan web crawler untuk mengumpulkan informasi apa saja yang ada pada halaman web publik di internet dan melihat trend pasar atas dasar pencarian kata. Ketika pengguna internet mengetik topik pencarian pada search engine, search engine dapat mengembalikan halaman web yang relevan. Focused web crawler merupakan web crawler yang memiliki tugas untuk menyimpan halaman yang relevan dengan topik pencarian. Focused web crawler menghitung nilai relevansi antara halaman web dan topik yang pengguna ingin cari. Sehingga ketika pengguna ingin mencari sebuah topik, web crawler akan mengembalikan halaman web yang relevan dengan apa yang pengguna inginkan.
Jumlah halaman web yang disimpan pada saat crawling dapat berukuran sangat besar. Untuk itu diperlukan wadah penyimpanan yang besar. Hadoop merupakan sebuah framework yang menangani data yang berukuran raksasa. Komponen utama dari Hadoop yaitu Hadoop Distributed File System (HDFS), yang dapat menghubungkan beberapa komputer agar dapat saling bekerja sama dalam menyimpan dan mengolah suatu data. Sehingga jika ada salah satu komputer yang mati, data tetap terjaga karena HDFS membuat replika data pada masing-masing komputer. Hadoop sendiri memiliki HBase(Hadoop Database) yang berbasis NoSQL(Not Only SQL). Hasil crawling kemudian disimpan pada tabel penyimpanan HBase yang berjalan pada Hadoop.
Tahapan crawling dimulai dengan penelusuran halaman web menggunakan algoritma pencarian Breadth-First Search (BFS). BFS dimulai dari akar (atau halaman web) dan mengunjungi node tetangga terlebih dahulu sebelum mengunjungi node tetangga pada level berikutnya. Sedangkan untuk menghitung nilai relevansi menggunakan Vector Space Model. Vector Space Model merepresentasikan halaman web dan topik sebagai vektor, yang kemudian jarak antar vektor tersebut disimpan sebagai nilai relevansi. Untuk meningkatkan nilai relevansi maka digunakan algoritma stemming untuk menghapus imbuhan kata pada bahasa Indonesia, meskipun masih banyak kata dalam bahasa Indonesia yang tidak dapat di-stemming menggunakan aturan stemming Bahasa Indonesia. Perangkat lunak yang dibangun yaitu antarmuka berupa situs induk dan agen crawler. Situs induk dibangun agar pengguna dapat memasukkan informasi url yang ingin di-crawl dan dapat memantau hasil dan status url tersebut. Sedangkan agen crawler bertugas untuk menelusuri url yang disimpan sebelumnya oleh pengguna.
Pengujian fungsional perangkat lunak dilakukan untuk menguji fitur-fitur pada aplikasi situs induk dan agen crawler. Berdasarkan hasil pengujian fungsional, dapat disimpulkan bahwa aplikasi berhasil dibangun dan seluruh fungsi dapat berjalan dengan baik. Pengujian eksperimen dilakukan untuk melihat performa agen crawler pada saat dijalankan pada lingkungan terdistribusi Hadoop. Pengujian dilakukan dengan menggunakan empat komputer. Dari hasil pengujian yang didapatkan semakin banyak komputer dan agen crawler dipakai, maka crawling semakin cepat. Semakin banyak komputer yang aktif, waktu pencarian semakin kecil.