BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dibahas mengenai implementasi sistem berdasarkan analisis dan perancangan yang telah dilakukan pada bab sebelumnya, kemudian diteruskan dengan pengujian program dengan menggunakan metode blackbox. A.
Lingkungan Pemrograman Aplikasi Mesin Pencari Informasi ini dibuat dengan menggunakan bahasa pemograman PHP. Aplikasi ini terdiri dari modul-modul program yang berupa file dengan nama file-extention php.
B.
Rancangan Aplikasi Pembanding Adapun desain dari aplikasi yang menjadi pembanding aplikasi yang sedang dikembangkan adalah sebagai berikut :
Gambar 4.1 Hasil Searching Aplikasi Pembanding (0.04 second untuk keyword motor baru)
80
81
C.
Implementasi Sistem Berdasarkan
aplikasi
yang
menjadi
pembanding,
dapat
dilakukan
pengoptimalan code pada menu pencarian, dimana hasil pencarian menjadi lebih cepat, berikut merupakan perbandingan code nya. Tabel 4.1 Perbandingan Code Pencarian Code Aplikasi Bawaan
if (isset($_GET['query'])) $query = $_GET['query']; if (isset($_GET['search'])) $search = $_GET['search']; if (isset($_GET['domain'])) $domain = $_GET['domain']; if (isset($_GET['type'])) $type = $_GET['type']; if (isset($_GET['catid'])) $catid = $_GET['catid']; if (isset($_GET['category'])) $category = $_GET['category']; if (isset($_GET['results'])) $results = $_GET['results']; if (isset($_GET['start'])) $start = $_GET['start']; if (isset($_GET['adv'])) $adv = $_GET['adv'];
$include_dir = "./include"; $template_dir = "./templates"; $settings_dir = "./settings"; $language_dir = "./languages";
require_once("$settings_dir/database.ph p"); require_once("$language_dir/enlanguage.php"); require_once("$include_dir/searchfuncs.
Code Aplikasi Hasil Pengembangan
$include_dir = "./include"; $template_dir = "./templates"; $settings_dir = "./settings"; $language_dir = "./languages";
require_once("$settings_dir/database.php"); require_once("$language_dir/enlanguage.php"); require_once("$include_dir/searchfuncs.php ");
include "$settings_dir/conf.php"; include
82
php"); require_once("$include_dir/categoryfunc s.php");
"$template_dir/$template/header.html"; include "$language_dir/$languagelanguage.php";
include "$settings_dir/conf.php";
if ($type != "or" && $type != "and" && $type != "phrase") { $type = "and"; }
include "$template_dir/$template/header.html"; include "$language_dir/$languagelanguage.php";
if ($type != "or" && $type != "and" && $type != "phrase") { $type = "and"; } if (preg_match("/[^a-z0-9-.]+/", $domain)) { $domain=""; }
if ($results != "") { $results_per_page = $results; } if (get_magic_quotes_gpc()==1) { $query = stripslashes($query); } if (!is_numeric($catid)) { $catid = ""; } if (!is_numeric($category)) { $category = ""; }
if ($catid && is_numeric($catid)) { $tpl_['category'] = sql_fetch_all('SELECT category FROM '.$mysql_table_prefix.'categories WHERE category_id='.(int)$_REQUEST['catid']); } $count_level0 = sql_fetch_all('SELECT
if (preg_match("/[^a-z0-9-.]+/", $domain)) { $domain=""; }
if ($results != "") { $results_per_page = $results; } if (get_magic_quotes_gpc()==1) { $query = stripslashes($query); } require_once("$template_dir/$template/sea rch_form.html"); function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } function saveToLog ($query, $elapsed, $results) { global $mysql_table_prefix; if ($results =="") { $results = 0; } $query = "insert into ".$mysql_table_prefix."query_log (query, time, elapsed, results) values ('$query', now(), '$elapsed', '$results')"; mysql_query($query); echo mysql_error(); } switch ($search) { case 1:
83
count(*) FROM '.$mysql_table_prefix.'categories WHERE parent_num=0'); $has_categories = 0; if ($count_level0) { $has_categories = $count_level0[0][0]; }
require_once("$template_dir/$template/ search_form.html");
function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); }
function poweredby () { global $sph_messages; print $sph_messages[''];?>
function saveToLog ($query, $elapsed, $results) { global $mysql_table_prefix; if ($results =="") { $results = 0; } $query = "insert into ".$mysql_table_prefix."query_log (query, time, elapsed, results) values ('$query', now(), '$elapsed', '$results')"; mysql_query($query); echo mysql_error(); } switch ($search) { case 1:
if (!isset($results)) { $results = ""; } $search_results = get_search_results($query, $start, $category, $type, $results, $domain); require("$template_dir/$template/s earch_results.html"); break; default: if ($show_categories) { require("$template_dir/$template/c ategories.html"); } break; } include "$template_dir/$template/footer.html"; ?>
84
if (!isset($results)) { $results = ""; } $search_results = get_search_results($query, $start, $category, $type, $results, $domain); require("$template_dir/$templat e/search_results.html"); break; default: if ($show_categories) { if ($_REQUEST['catid'] && is_numeric($catid)) { $cat_info = get_category_info($catid); } else { $cat_info = get_categories_view(); } require("$template_dir/$templat e/categories.html"); } break; } include "$template_dir/$template/footer.html"; ?>
85
Berdasarkan desain/perancangan sistem yang telah dibuat pada bab sebelumnya, maka implementasinya disajikan dalam gambar-gambar di bawah ini.
Gambar 4.2 Hasil Searching (Dari gambar di atas terlihat hasil searching 0.02 second untuk keyword motor baru, lebih cepat dari aplikasi pembandingnya)
Gambar 4.3 Menu Searching
86
Gambar 4.4 Menu Login
Gambar 4.5 Menu Utama
Gambar 4.6 Menu Add Site
87
Gambar 4.7 Menu Index
Gambar 4.8 Menu Advanced Index
Gambar 4.9 Menu Statistik Seluruh Situs
88
Gambar 4.10 Menu Option Situs
Gambar 4.11 Menu Edit Situs
Gambar 4.12 Menu Browse Pages Situs
89
Gambar 4.13 Menu Statistic dari Satu Situs
Gambar 4.14 Proses Index Situs
D.
Pengujian Pengujian ini menggunakan metode pengujian Black Box. Pengujian ini berusaha menemukan kesalahan dalam beberapa kategori sebagai berikut : fungsifungsi yang tidak benar atau hilang, kesalahan interface, kesalahan kinerja, inisialisasi dan kesalahan terminasi. Adapun pengujian Aplikasi Mesin Pencari Informasi ini disajikan pada tabel di bawah ini :
90
Tabel 4.2 Pengujian Menu Login No 1
2
3
4
Deskripsi Pengujian Menguji validasi username dan password Menguji pemasukan username dan password yang salah Menguji pengisian data kosong
Menguji logout
Skenario Pengujian Masukkan username dan password yang benar Masukkan username dan password sembarang
Hasil yang Keterangan diharapkan Memasuki Sukses sistem
Form login merefresh dan kembali kosong
Sukses
Tekan tombol login tanpa mengisi username dan password Tekan tombol logout
Form login merefresh dan kembali kosong
Sukses
Keluar sistem
Sukses
Tabel 4.3 Pengujian Menu Sites No 1 2
3
Deskripsi Pengujian Menguji arah menu addsite Menguji fungsi add site suatu situs
Skenario Pengujian Tekan menu addsite Masukkan data situs pada form addsite
Menguji fungsi index over all
Tekan tombol index over all pada menu sites
Hasil yang diharapkan Memasuki menu addsite Data tersimpan, menampilkan pesan “site added” Memulai proses mengindex semua daftar situs
Keterangan Sukses Sukses
Sukses
91
Tabel 4.4 Pengujian Menu Option No 1 2
4
5
6
7
8
9
Deskripsi Pengujian Menguji arah menu option Menguji fungsi penghapusan daftar suatu situs
Skenario Pengujian Tekan menu option Tekan tombol delete
Menguji fungsi menghapus daftar suatu situs Menguji fungsi membatalkan menghapus daftar suatu situs Menguji fungsi statistic satu alamat situs Menguji fungsi edit situs
Tekan tombol ok setelah ada peringatan Tekan tombol cancel setelah ada peringatan
Menguji fungsi reindex/continue index Menguji fungsi browse pages
Tekan tombol stats
Hasil yang diharapkan Memasuki menu option Menampilkan pesan “Apakah anda yakin akan menghapus daftar situs ini? Seluruh data mengenai situs ini akan hilang” Situs telah dihapus dari daftar kembali ke menu option
Keterangan Sukses Sukses
Sukses
Sukses
Menampilkan Sukses statistic satu situs Tekan tombol Memasuki Sukses edit menu edit situs Tekan tombol Memasuki Sukses reindex/continue menu index index Tekan tombol Memasuki Sukses browse page menu browse pages
92
Tabel 4.5 Pengujian Menu Advanced Option No 1
2
Deskripsi Pengujian Menguji arah menu advanced option index Menguji fungsi advanced option index situs
Skenario Pengujian Tekan menu advanced option pada menu index Masukkan data situs pada form advanced option
Hasil yang diharapkan Memasuki menu advanced option Memulai proses mengindex situs
Keterangan Sukses
Sukses
Tabel 4.6 Pengujian Menu Browse Pages No 1
Deskripsi Pengujian Menguji fungsi url per page
2
Menguji fungsi url contains
3
Menguji fungsi penghapusan daftar url
4
Menguji fungsi menghapus daftar url Menguji fungsi pembatalan menghapus daftar url
5
Skenario Pengujian Masukkan jumlah url dan tekan tombol filter Masukkan kata kunci dan tekan tombol filter Tekan tombol delete di sampng url yang akan dihapus
Tekan tombol ok Tekan tombol cancel
Hasil yang Keterangan diharapkan Menampilkan Sukses url sesuai jumlah yang diinputkan Menampilkan Sukses url sesuai kata kunci Menampilkan Sukses pesan “Apakah anda yakin akan menghapus URL ini??” url terhapus Sukses
Kembali ke menu browse pages
Sukses
93
Tabel 4.7 Pengujian Menu Index No 1
2
Deskripsi Pengujian Menguji arah menu index
Skenario Pengujian Tekan menu index
Menguji index situs Masukkan data situs pada form index
Hasil yang diharapkan Memasuki menu index situs Memulai proses mengindex situs
Keterangan Sukses
Sukses
Tabel 4.8 Pengujian Menu Searching No 1
Deskripsi Pengujian Menguji fungsi searching
Skenario Pengujian Masukkan kata kunci lalu tekan tombol cari
Hasil yang Keterangan diharapkan Menampilkan Sukses alamat web yang mengandung informasi sesuai dengan kata kunci
Tabel 4.9 Pengujian Menu Statistic No 1
Deskripsi Pengujian Menguji arah menu statistic
Skenario Pengujian Tekan menu statistic
Hasil yang Keterangan diharapkan Memasuki Sukses menu statistic dan menampilkan statistic seluruh situs