BAB I PENDAHULUAN
1.1
Latar Belakang dan Permasalahan Berkembang pesatnya dunia internet dan kebebasan dari sesorang
untuk membuat suatu halaman web maka mengakibatkan halaman web bekembang jumlahnya dengan sangat pesat dan hal tersebut menjadi suatu permasalahan untuk seseorang melakukan pencarian data
yang memang
dibutuhkan dari suatu halaman web. suatu web juga dapat dikatakan kaya apabila konten konten yang ada pada halaman web tersebut dapat dilihat ataupun tersedia sehingga terdapat akses terhadap konten tersebut oleh pengguna. konten pada halaman web bisa terdiri dari artikel maupun sebuah dokumen yang diunggah pada halaman web tersebut. Pemindaian suatu halaman web dapat difokuskan dengan mencari dokumen apa saja yang tersimpan dalam web tersebut yang dapat diakses oleh publik. Web crawling atau terkadang juga disebut spidering merupakan proses mengunjungi halaman web dari satu halaman ke halaman yang lain secara otomatis oleh sistem. Dengan melakukan web crawling, baik pengguna internet ataupun mesin pencari dapat melakukan pengindeksan setiap halaman web beserta halaman dibawah domain utama dari halaman web tersebut sehingga dapat diketahui web baru dan dapat dilakukan pencarian melalui suatu mesin pencari karena digunakan untuk memperbaharui database dari mesin pencari tersebut. Web crawling sendiri merupakan suatu program bot yang bekerja secara otomastis mengunjungi satu persatu halaman web tanpa harus dikunjungi secara manual oleh pengguna. Web crawling juga dapat digunakan untuk melakukan pemeliharaan suatu halaman web, dengan cara memvalidasi kode html sebuah halaman web. Web crawling juga dapat digunakan untuk memperoleh data yang khusus seperti mengumpulkan alamat e-mail. Algoritma pencarian merupakan suatu metode yang digunakan untuk mencari dengan cara atau teknik tertentu. Algoritma pencarian dapat diterapkan 1
2
pada web crawling, salah satu algoritma yang dapat digunakan ialah algoritma Breadth-First Search yang merupakan salah satu algoritma dasar dalam pencarian. Dengan penerapan algoritma ini halaman yang dikunjungi dilakukan secara melebar, yaitu pada satu level kedalaman terlebih dahulu. Kemudian dilanjutkan dengan level di bawahnya, dan seterusnya hingga semua halaman web yang bersangkutan selesai dikunjungi. Penerapan algoritma Breadth-First Search pada aplikasi web crawler mempunyai implementasi dengan menjadikan satu titik acuan halaman web sebagai awal untuk melakukan pencarian. Pada halaman web tersebut, web crawler mencari tautan yang terdapat pada halaman tersebut, kemudian mencatatnya dan diantrikan sebagai halaman berikutnya yang dilakukan crawling. Dengan pemanfaatan web crawling maka dapat digunakan untuk menjelajah suatu web beserta halaman-halaman dibawahnya yang kemudian dapat mencatat dokumen yang tersimpan dalam suatu halaman web yang kemudian dapat disimpan tautan dari dokumen tersebut dan menampilkan keseluruhan dari daftar dokumen yang tersimpan pada web tersebut. Hasil dari crawling bisa dilakukan untuk memetakan web dan merangking web berdasarkan konten yang dimiliki oleh web. 1.2
Perumusan Masalah Berdasarkan permasalahan yang telah dipaparkan di latar belakang,
penelitian akan dititik beratkan pada pengembangan aplikasi
yang
dapat
melakukan crawling dengan menggunakan algoritma Breath-First Seach terhadap suatu halaman web dan mengumpulkan tautan dokumen dokumen yang dapat diakses oleh publik pada halaman web tersebut yang kemudian dirangking serta dipetakan. 1.3
Batasan Masalah Adapun batasan masalah dalam penelitian ini agar lebih mudah dipahami
dan tidak terlalu luas dalam penulisannya yaitu sebagai berikut: 1. Sistem menampilkan konten yang berisikan jumlah halaman dan jumlah tautan yang dimiliki web yang telah dilakukan crawl,
3
2. Tautan yang ditampilkan merupakan tautan yang dapat diunduh pada web tersebut yang memiliki tipe file .pdf, .ppt, .odp, .odt dan .doc, 3. Aplikasi berbasis web yang dikembangkan dengan menggunakan bahasa pemrograman php, dan menggunakan penerapan algoritma Breadth-First Search, 4. konten yang ditampilkan merupakan konten dapat diakses oleh publik tanpa otentikasi terlebih dahulu, 5. Database yang digunakan adalah MySQL, 6. Perangkingan halaman web berdasarkan berapa banyak konten yang dimiliki dalam suatu halaman web, 7. Aplikasi hanya melakukan crawl terhadap halaman web yang tidak menggunakan AJAX, 8. Aplikasi melakukan crawl pada web UGM dan web fakultas di UGM. 1.4
Tujuan Penelitian Tujuan penelitian ini adalah mengembangkan aplikasi web crawling
menggunakan algoritma Breadth-First Search yang mampu membantu seorang pengguna internet khususnya admin web untuk melihat konten dari yang terkandung dalam suatu web tanpa harus membuka satu persatu satu halaman web yang ada. Dari hasil crawling tersebut juga dapat digunakan oleh pemilik halaman web untuk memetakan web dan analisis perangkingan kualitas suatu halaman web. 1.5
Manfaat Penelitian Manfaat penelitian ini adalah membantu instansi atau seorang admin
halaman web melihat data atau informasi yang dimiliki oleh web yang mereka buat sehingga instansi tersebut lebih peduli pada isi konten pada halaman web yang mereka miliki.
4
1.6
Metode Penelitian Metode yang digunakan dalam penelitian ini sebagai berikut: 1. Studi Literatur Pengumpulan data informasi dan teori mengenai web crawling, algoritma Breadth First Search, dan metode perangkingan dari buku, journal, dan internet. 2. Siklus Hidup Pengembangan Aplikasi Pengembangan aplikasi dilakukan berdasarkan metode rekayasa perangkat lunak Waterfall/ Linear Sequential Model. Model ini merupakan metode pengembangan perangkat lunak klasik dengan pendekatan sistematis dan sekuensial dalam pengembangan aplikasi yang terdiri dari beberapa tahap. Tahap-tahap tersebut dalam penelitian ini dijelaskan sebagai berikut: a. Analisis Kebutuhan Aplikasi Analisis berupa aktifitas pengumpulan kebutuhan aplikasi, perkiraan ukuran pengembangan, dan perkiraan sumber daya. Hasil dari tahapan ini adalah spesifikasi dari karakteristik operasional aplikasi, jadwal pengembangan, dan batasan yang harus dipenuhi aplikasi. b. Perancangan Perancangan terdiri dari dua bagian antara lain perancangan data, perancangan model, dan perancangan layanan. Perancangan basis data meliputi penyusunan arsitektur basis data serta bentuk data yang akan dimasukkan dan diolah oleh aplikasi saat data terkumpul. Perancangan model meliputi pembuatan model aplikasi web crawling
menggunakan
algoritma
Breadth
First
Search.
Perancangan layanan meliputi pembuatan diagram alir data, arsitektur aplikasi, layanan yang tersedia , dan sebagainya. c. Implementasi Aplikasi dibuat berbasis web menggunakan teknologi javascript , html, dan PHP. Sistem basis data menggunakan mysql.
5
d. Pengujian Pengujian dilakukan dengan melakukan crawling terhadap suatu halaman web dan melakukan perbandingan beberapa halaman web untuk melakukan perangkingan. 3. Pembahasan Pembahasan dilakukan dengan membahas hasil penelitian yang didapat dari pengujian yang telah dilakukan. Semua hasil penelitian dicatat dan dibahas secara logis sesuai dengan teori yang sudah ada. 1.7
Sistematika Penulisan Sistematika dalam penulisan tugas akhir ini terdiri dari tujuh bab, yaitu:
BAB I
PENDAHULUAN Berisi mengenai latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
BAB II
TINJAUAN PUSTAKA Bab ini memuat pembahasan mengenai penelitian terdahulu yang digunakan sebagai bahan referensi dalam penulisan penelitian ini. Selain itu juga memuat penjelasan yang membedakan penelitian ini dengan peneltian sejenis yang pernah ada sebelumnya.
BAB III
LANDASAN TEORI Bab ini berisi teori-teori yang menjadi landasan dalam penulisan penelitian ini yaitu mengenai sistem web crawler, algoritma breadth-first search perangkingan dan pemetaan web.
BAB IV ANALISIS DAN PERANCANGAN SISTEM Bab ini berisi analisis terhadap sistem yang akan dikembangkan, serta penjelasan mengenai perancangan sistem berdasarkan hasil analisis yang telah dilakukan. BAB V
IMPLEMENTASI Pada bab ini akan dijelaskan hasil implementasi dari sistem yang telah dibangun berdasarkan perancangan yang telah dilakukan sebelumnya.
6
BAB VI HASIL DAN PEMBAHASAN Pada bab ini akan dijelaskan hasil yang diperoleh setelah sistem selesai diimplementasikan. Disertai pula pembahasan hasil implementasi tersebut. BAB VII KESIMPULAN DAN SARAN Bab ini berisi mengenai kesimpulan dari penelitian yang telah dilakukan dan saran untuk pengembangan penelitian selanjutnya.