Sabtu, 13 Agustus 2011

Search Engine Data MySql


Apa yang akan kita lakukan kalau ada seorang teman yang mengarahkan kalimat itu kepada kita ?
Tentunya manusia yang hidup dijaman sekarang, ga akan bingung alias repot untuk “melayani” kalimat tersebut.  Why ??  karena telinga kita sudah ga asing lagi dengan yang namanya internet dengan salah satu layanannya yaitu Search  Engine.
Apa itu Search Engine ?? Search Engine adalah tool yang dirancang untuk kegiatan pencarian informasi di dunia maya. Cukup dengan kita memasukan kata kunci maka hasil pencarian akan ditampilkan secara listing yang umumnya disebut sebagai hits.
Gimana sich koq search engine bisa menemukan informasi  berdasarkan kata kunci yang kita masukan ? konsep kerja dari search engine sebetulnya bisa dibagi menjadi 3 tahap garis besar :


  1. Web Crawling atau sering disebut dengan spider  –  search engine akan menelusuri setiap link yang ada pada website, maka itu direkomendasikan agar kita membuat robots.txt atau sitemap yang berisi ringkasan link dari website. Tujuannya agar saat search engine melakukan web crawling, website kita akan masuk kedalam list hasil pencarian
  2. Searching –  data yang ada pada setiap page dalam website kita, akan dianalisis oleh search engine apakah ada kesesuaian dengan kata kunci yang dicari. Maka itu direkomendasikan setiap page diberikan title, heading, atau meta tags hasil dari extracting dari content
  3. Indexing -   tahap ini adalah lastest query, yaitu hasil dari crawling dan searching akan dirangking berdasarkan prosentase kemiripan page yang ditemukan dengan kata kunci yang dimasukan.
Baru dech setelah 3 tahap itu dilalui, kita dapat melihat hasil pencarian yang berupa list di web browser kita. Listing itu bukan sekedar penampilan biasa, tetapi menggambarkan tingkat ke akuratan hasil pencarian atau biasa digunakan juga sebagai indicator ke populeran website yang bersangkutan.
OC…setelah ngobrol ngalor ngidul (jowo red), kita bisa membayagkan betapa rumitnya script yang berada dibelakang search engine. Kalo sudah bisa menggambarkan betapa rumitnya script pembangun search engine, pertanyaan selanjutnya yang muncul Apa iya kita bisa membangun search engine dengan script yang sederhana ??
Nah untuk njawab pertanyaan itu, monggo dicoba script sederhana ini dan dikembangkan lagi…
Contoh table (running aja langsung di phpmyadmin) :
CREATE TABLE IF NOT EXISTS `tm_katalog` (
`id` int(11) NOT NULL auto_increment,
`kelas` varchar(255) NOT NULL,
`no_induk` varchar(255) NOT NULL,
`judul` varchar(255) NOT NULL,
`pengarang` varchar(255) NOT NULL,
`penerbit` varchar(255) NOT NULL,
`tahun` varchar(255) NOT NULL,
`sumber` varchar(255) NOT NULL,
`jumlah` varchar(255) NOT NULL,
`kondisi` varchar(255) NOT NULL,
PRIMARY KEY  (`id`),
FULLTEXT KEY `judul` (`judul`,`pengarang`,`penerbit`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10091 ;
INSERT INTO `tm_katalog` (`id`, `kelas`, `no_induk`, `judul`, `pengarang`, `penerbit`, `tahun`, `sumber`, `jumlah`, `kondisi`) VALUES
(1, ’000′, ’50241′, ‘Air Dan Kehidupan’, ‘Rafael Candel Vila’, ‘Balai Pustaka’, ’1982′, ‘DEP P DAN K’, ’1 EKS’, ”),
(2, ’000′, ’48638′, ‘Ensiklopedia Ekonomi, Keuangan Dan Perdagangan Inggris – Indonesia’, ‘Drs. Ek. A. Abdurrochman’, ‘Pradnya Paramita’, ’1982′, ‘MEMBELI’, ’1 EKS’, ”),
(3, ’000′, ’68730′, ’7 Kebiasaan Manusia Yang Sangat Efektif ‘, ‘Stephen R Covey’, ‘Binarupa Aksara’, ’1994′, ‘SUMBANGAN’, ’1 EXS’, ‘BAIK’),
(4, ’000′, ’82741′, ‘Buku Paling – Paling’, ‘Tim Redaksi Arena’, ‘Arena’, ’2005′, ‘MEMBELI’, ’1  EXS’, ‘BAIK’),
(5, ’000′, ’81757′, ‘Buletin Ilmiah Instiper’, ‘Institut Pertanian Stiper Yogyakarta’, ‘Instiper Yogya’, ’1996′, ‘SUMBANGAN DARI INSTIPER’, ’1 EKS’, ”),
(6, ’000′, ’82311′, ‘Daftar Judul Buku Sekolah Terbitan Swasta Yang Disahkan Dirjen  Pen. Dasar Dan Menengah C 6′, ‘Dep P Dan K’, ‘Dep P Dan K’, ’1993′, ‘DROPING’, ’1 EXS’, ‘BAIK’),
(7, ’000′, ’48639′, ‘Kamus Management’, ‘Drs.moekijat’, ‘Alumni’, ’1984′, ‘MEMBELI’, ’1 EKS’, ”);
Form_Keyword.php :

Cari Buku   :     
Cari.php :
$database= “nama_db”;
$connect=mysql_connect($host,$user,$passwd)or die (“Database tidak dapat dihubungkan!”);
mysql_select_db($database,$connect);
$keyword = mysql_real_escape_string($txtkriteria);
$res=mysql_query(“SELECT id, judul, pengarang, penerbit FROM tm_katalog WHERE MATCH(judul, pengarang,penerbit) AGAINST (‘$keyword’) “);
if (mysql_num_rows($res) > 0) {
while ($row = mysql_fetch_array($res)) {
echo “
$row[1]
Pengarang : $row[2]  – Penerbit : $row[3]
”;
}
} else {
printf(“No results found”);
}
Contoh script diatas akan berjalan pada web server dengan status register global = ON , untuk kondisi OFF  tinggal sesuaikan saja script penerimaan parameter dari Form.