BAB 2 TINJAUAN PUSTAKA
Pada bab ini akan dibahas tinjauan pustaka untuk mendukung penulisan skripsi ini. Teori yang dibahas yaitu mengenai search engine, focused crawler, stemming, Porter
stemmer, bahasa pemrograman PHP dan databaseMySQL dan beberapa subpokok pembahasan lainnya yang menjadi landasan teori pada skripsi ini.
Semua dasar teori dalam tinjauan pustaka ini, diambil dari buku, jurnal, laporan dan internet.
2.1. Search Engine
Search engine mesin pencarimerupakan fasilitas yang digunakan untuk mengeksplorasi berbagai data, informasi, dan pengetahuan yang ada di internet.
Search engine adalah sebuah program yang dapat diakses melalui internet yang berfungsi untuk membantu pengguna komputer dalam mencari berbagai hal yang
ingin diketahuinya Indrajit R.E. et al.. TheAmerican Heritage Dictionary mendefinisikan search engine sebagai sebuah program perangkat lunak software
yang menelusur, menjaring, dan menampilkan informasi dari pangkalan data.
2.1.1. Sejarah search engine
Search engine pertama kali diciptakan pada tahun 1990 oleh Emtage mahasiswa Universitas McGill di Montreal Canada. Dia menciptakan alat bantu untuk melakukan
pencarian bernama Archie.Aplikasi berguna untuk mencari file saja.
Gambar 2.1 Tampilan dari Archie Sumber: archie.icm.edu.pl
6
Gambar 2.2 Hasil pencarian dari Archie Sumber: archie.icm.edu.pl
Pada tahun 1991, Mark McCahilldari Universitas Minnesota menemukan search engine yang lebih canggih.Aplikasi ini bernama Gopher dan berguna untuk
mencari teks di internet.Gopher mengindeks dokumen teks yang akhirnya berkembang menjadi dunia website atau www. Kemudian diciptakan sebuah program
bernama Veronica singkatan dari software bernama Very Easy Rodent Oriented Net- wide Index to Computerized Archieves.Setelah Veronica, diciptakan website yang
disebut Jungheadyang merupakan singkatan dari Jony’z Universal Gopher Hierarchy
Excavation and Display yang merupakan software untuk mencari teks yang tersimpan di sistem indeks dari Gopher.
Tahun 1993, munculsearch engine baru bernama wandex yang dikembangkan oleh Matthew Gray.Wandex bekerja dengan cara mengindeks dan mencari index dari
halaman. Semenjak saat itu muncul search engine seperti Excite, Yahoo, Google,Lycos, Ask.com dan yang lainnya Wahana Komputer, 2009.
2.1.2. Prinsip umum search engine
Prinsip umum dari search engine Febrian, 2007, yaitu: 1.
Spider Spider mirip dengan browser.Perbedaannya, browser menampilkan secara
langsung informasi yang ada untuk kebutuhan manusia.Spidermemiliki kegunaanuntuk mesin bukan untuk manusia. Spider berfungsi mengambil
7
halaman yang dikunjungi untuk disimpan ke dalam database yang dimiliki oleh search engine.
2. Crawler
Crawler merupakan program yang dimiliki oleh search engine untuk melacak dan menemukan link yang terdapat dari setiap halaman yang ditemuinya. Crawler
berfungsi untuk menentukan spider harus pergi kemana dan mengevaluasi link berdasarkan alamat yang ditentukan dari awal.
3. Indexer
Indexer berfungsi untuk melakukan aktivitas untuk menguraikan masing-masing halaman dan meneliti berbagai unsur seperti teks, header, struktur, atau fitur dari
gaya penulisan, tag HTML khusus, dan yang lainnya. 4.
Database Database merupakan tempat standar untuk menyimpan data-data dari halaman
yang telah dikunjungi, diunduh dan sudah dianalisis. 5.
Result Engine Result engine merupakan mesin yang melakukan penggolongan dan penentuan
peringkat dari hasil pencarian pada search engine. Result engine berfungsi untuk menentukan halaman mana yang menemui kriteria terbaik dari hasil pencarian
berdasarkan permintaan penggunaannya dan bagaimana bentuk penampilan yang akan ditampilkan.
6. Web Server
Web Server merupakan komputer yang melayani permintaan dan memberikan respon balik dari permintaan tersebut. Web Server menghasilkan informasi atau
dokumen dalam format HTML.
2.1.3. Cara kerja search engine
Pencarian oleh Search engine dilakukan dalam database yang menyimpan text dari masing-masing halaman.Text dari halaman demi halaman disimpan ke dalam server
database.Ketika melakukan pencarian, search engineakan melakukan pencarian salinan halaman yang disimpan pada database yang berisi salinan halaman pada saat
terakhir dikunjungi. Ketika link yang disediakan diklik maka alamat akan diberikan dari serversearch engine. Database yang ada pada search engine dipilih dan dijaring
oleh program robot yang disebut spider.
8
Untuk menentukan halaman potensial, mereka mengacu pada link yang terdapat pada halaman yang telah disimpan di dalam database. Jika suatu halaman
web tidak pernah di-link dari halaman lainnya, maka spider dari search engine tidak akan menemukan halaman tersebut. Mereka hanya memantau dari database yang
dimiliki.Seperti pada Gambar 2.3.
Gambar 2.3 Arsitektur Search Engine Falani, 2010
2.1.4. Sifat search engine
Ditinjau dari mekanisme kerjanya, search engine dibagi menjadi 3 tipe Wahana Komputer, 2009, yaitu:
1. Search Engine Bersifat Crawler
Google menggunakan software agen otomatis yang disebut crawler untuk mengunjungi website, membaca, dan mengindeks website tersebut.Semua
informasi yang
dikumpulkan oleh
crawlerakandisimpan di
lokasi terpusat.Crawlerakan mengunjungi website berulang kali secara periodik dengan
periode yang ditentukan oleh administratorsearch engine. 2.
Search Engine dengan Campur Tangan Manusia Search engine ini mengindeks dengan cara campur tangan manusia. Dimana,
pemilik situs mengirimkan data yang akan diindeks dan setelah diindeks akan ditampilkan sebagai hasil pencarian. Contoh: Yahoo.
3. Search Engine Hibrida
Merupakan metoda campuran antara search engine bertenaga mesin dan bertenaga manusia. Dimana, pemilik website dapat mengirimkan datanya ke
search engine untuk ditampilkan ke search engine namun search engine juga
9
mengirimkan crawler untuk mengindeks website. Dengan menggunakan campur tangan manusia maka search engine bisa menghindari spammer.
2.1.5. Algoritma umum dalam search engine
Algoritma menentukan bagaimana prosedur pengambilan data dan pengumpulannya. Algoritma umum yang dipakai oleh search engine Wahana Komputer, 2009, yaitu:
1. Pencarian List
Algoritma yang melakukan pencarian dengan cara mencari satu kunci, dan pencarian dilakukan secara linier. Kekurangan dari algoritma ini yaitu sangat
lama karena pencariannya yang linier.Kelebihannya yaitu hasilnya sedikit sehingga lebih tersaring yang benar-benar relevan terhadap hasil pencarian.
2. Pencarian Tree
Algoritma ini mencari data dari dataset yang paling luas kemudian menyempit hingga sampai ke bagian yang lebih detail.Satu dataset bisa memiliki cabang
yang lebih kecil dan menyempit.Pencarian tree lebih bagus hasilnya dari pencarian list.Kekuranganya yaitu pencariannya bertingkat sehingga untuk bisa
melakukan pencarian harus dari akar, batang, dan ranting sesuai dengan ranking yang dimiliki dataset.
3. Pencarian SQL
Pencarian SQL menggunakana databasestructured query language yang memungkinkan data untuk diambil secara tidak linier. Data langsung bisa diambil
dari subset dari keseluruhan dataset yang ada. 4.
Pencarian Informed Algoritma ini bertujuan mencari jawaban yang spesifik dari dataset. Pencarian ini
tidak selalu jadi solusi terbaik karena umumnya yang dicari oleh pengunjung search engine adalah jawaban dari pencarian.
5. Pencarian Adversarial
Algoritma yang mencari semua solusi dari masalah. Algoritma ini kurang efektif untuk pencarian web karena jumlah solusinya akan sangat banyak di www
sehingga boros sumber daya yang ada. 6.
Pencarian Berdasar Batasan Dengan algoritma ini, search engine akan memasang batasan-batasan dimana
hasil yang diambil adalah yang memenuhi batasan-batasan yang ada.
10
2.2. Focused Crawler