BAB IV IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan dibahas tentang implementasi aplikasi penghitungan pengunjung beserta faktor pendukung yang dibutuhkan oleh sistem, serta hasil pengujian terhadap sistem menggunakan beberapa jenis software yang digunakan untuk aplikasi ini.
4.1 Implementasi Implementasi di bagi 3 (tiga) bagian, yaitu implementasi program, basis data dan implementasi antar muka.
4.1.1 Implementasi Program Aplikasi ini merupakan aplikasi berbasis web dan menggunakan bahasa pemrograman PHP dengan basis data MySQL yang dapat diakses secara online. Pada bab ini, penulis akan membahas tentang beberapa proses utama yang ada di sistem yang menjadi titik berat penulisan tugas akhir ini, yaitu: 1.
Proses penampilan kode penghitungan pengunjung.
2.
Proses penghitungan dan pengambilan data pengunjung.
3.
Proses penampilan data pengunjung.
4.1.1.1 Proses penampilan kode penghitungan pengunjung Program ini akan tampil jika member telah berhasil login dan telah mengisi alamat situs web, sehingga program akan menampilkan kode yang akan dipasang di situs web pengguna (client) dengan cara menyalin code yang diberikan. Kode 4.1 Potongan Kode Penampilan Alamat Situs Web 1. 2. 3. 4. 5.
$sql5 = "SELECT * FROM dataweb where nama_member='$namases'"; $query5 = mysql_query($sql5); $rows1 = mysql_fetch_array($query5); $site = $rows1['website']; if($hasil['udah']=='1') { ?>
35
36
Kode 4.1 (Lanjutan) Potongan Kode Penampilan Alamat Situs Web 6.
8. }?>?>
Penjelasan Kode: Pada baris 1 kode yang dijalankan untuk menampilkan alamat situs web pertama kali adalah mengambil semua data yang ada dalam dataweb dimana baris yang dipilih berdasarkan namases yang disimpan dalam $sql5. Setelah itu pada baris 2 program akan menjalankan querry sql yang ada pada $sql5, tahap selanjutnya kode pada baris 3 mengambil semua data dalam bentuk array yang disimpan dalam $rows1. Baris 4 untuk mengambil hasil yang ada dalam kolom website pada array dan menyimpannya di dalam $site. Baris 5 merupakan kode untuk memeriksa apakah udah pada tabel member hasilnya sama dengan 1, jika benar maka jalankan baris 6 dan 7 yang akan menampilkan kode dari penghitungan pengunjung. 4.1.1.2 Proses Penghitungan dan Pengambilan Data Pengunjung Proses ini merupakan inti dari aplikasi penghitungan pengunjung, dimana terdapat pengambilan semua data yang diperlukan seperti alamat Ip, waktu kunjungan, referer, pramban, nama website yang dikunjungi, query dan idunik yang didapatkan dengan pengabungan antara ip, pramban dan waktu. Pada proses ini juga penambahan kunjungan yang akan disimpan ke dalam basis data. Jika pada jam 12.00 pengunjung mengakses proses ini pertama kali dan kunjungan kedua pada jam 12.14 dan kunjungan ketiga pada jam 12.10 maka akan dianggap satu kali kunjungan, karena pada setiap kunjungan yang dilakukan berada dibawah 15menit. Tetapi jika pengunjung mengakses proses ini pertama kali pada jam 12.00 dan mengakses kembali pada jam 12.16 maka akan dianggap dua kali kunjungan karena jarak antara kunjungan pertama dan kunjungan kedua lebih dari 15menit.
37
Kode 4.2 Potongan Kode Pengambilan Alamat IP Pengunjung : 1. function get_ip_address() { 2. foreach (array('HTTP_CLIENT_IP', 'HTTP_X_REAL_IP', 'REMOTE_ADDR', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED') as $key) { 3. if (array_key_exists($key, $_SERVER) === true) { 4. foreach (explode(',', $_SERVER[$key]) as $ip) { 5. if (filter_var($ip, FILTER_VALIDATE_IP) !== false) { 6. return $ip; 7. }}}}}
Penjelasan Kode: Function get_ip_address adalah untuk memeriksa nilai keabsahan dari ip address, pada baris 2 kode program untuk melakukan pengulanan untuk pencarian nilai dari ip dalam bentuk array yang disimpan dalam $key. Fungsi dari kode pada baris 3 adalah mengembalikan nilai true jika nilai dari $key ada di dalam $_SERVER dan membandingkan apakah nilai yang dihasilkan sama dengan true. Fungsi kode dari baris 4 untuk mengekstrak nilai dari $key dan disimpan dalam $ip. Jika hasil dari variabel ip tidak identik dengan false maka kembali ke $ip.
Kode 4.3 Potongan Kode Pengambilan Data Pengunjung 1. 2. 3. 4. 5.
$qs = $_SERVER['QUERY_STRING']; $sn = $_SERVER['SCRIPT_NAME']; $uagent = $_SERVER['HTTP_USER_AGENT']; $ip = get_ip_address(); if (isset($_GET[rf]) && ($_GET[rf] != "")) $rf=urldecode($_GET[rf]); else $rf = $_SERVER['HTTP_REFERER'];} 6. $url = "$rf"; 7. $r = parse_url($url, PHP_URL_HOST);
Penjelasan Kode: Baris 1 mempunyai fungsi untuk mengambil nilai dari query string dan disimpan dalam $qs, fungsi baris 2 untuk mengambil nilai dari script name dan simpan dalam $sn, baris 3 mengambil nilai dari user agent dan disimpan dalam $uagent, $ip merupakan nilai dari get ip address, pada baris 5 fungsinya untuk mengambil referer dan disimpan dalam $rf, di baris 6 nilai $rf di ambil oleh $url dan di baris 7 $r mengambil nilai host url dari $url
38
Kode 4.4 Potongan Kode Membuat Idunik : 1. 2. 3. 4. 5.
if (empty($idunik)) { $waktu = date("Y-m-d H:i:s"); $idunik = md5($ip . $uagent . $waktu); setcookie("idunik", $idunik); $qry = "INSERT INTO hitung (idunik, useragent, ipaddr) VALUES ('$idunik', '$uagent', '$ip')"; 6. mysql_query($qry) or die("INSERT `hitung` gagal"); }
Penjelasan Kode : Jika idunik kosong pada baris 1 maka ambil tanggal dengan format tahun – bulan – tanggal jam- menit – detik yang disimpan dalam $waktu, $idunik pada baris 3 merupakan gabungan dari nilai $ip, $uagent dan $waktu, pada baris 4 idunik dibuat sebagai cookie, pada fungsi kode pada baris 5 untuk masukkan data ke tabel hitung kolom idunik, useragent, ipaddr dengan value nya $idunik, $uagent dan $ip dan jalankan querry tersebut pada baris 6
Kode 4.5 Potongan Kode Membandingkan Nama Pramban 1. if($pos=strpos($uagent, "Firefox")) 2. {$uagent='Mozilla Firefox';} 3. else if ($pos=strpos($uagent, "MSIE")) 4. {$uagent='Windows Internet Explorer';} 5. else if ($pos=strpos ($uagent, "Opera")) 6. {$uagent='Opera';} 7. else if ($pos=strpos ($uagent, "Chrome")) 8. {$uagent='Google Chrome';} 9. else if ($pos=strpos ($uagent, "Safari")) 10. {$uagent='Safari';} 11. else $uagent='Other';
Penjelasan kode: Fungsi dari kode baris 1 dan baris 2 untuk memeriksa apakah kata firefox terdapat dalam hasil dari nilai $uagent, jika ia maka simpan $uagent dengan nama Mozilla Firefox, jika tidak pengecekan pada baris 3 jika kata MSIE terdapat pada $uagent maka simpan Windows Internet Explorer dalam $uagent, jika tidak terdapat maka lanjutkan pada baris 5 yaitu mencari kata Opera dalam $uagent, jika ada simpan Opera dalam $uagent, jika tidak jalankan baris 7 dengan pengecekan apakah kata Chrome terdapat dalam $uagent, jika benar simpan Google Chrome dalam $uagent, jika tidak lanjutkan baris 9 apa kata dalam
39
$uagent terdapat kata safari, jika benar simpan Safari dalam $uagent jika tidak simpan Other dalam $uagent
Kode 4.6 Potongan Kode Mengubah Ip Menjadi Ipnumber 1. $ipad = explode('.',$ip); 2. $ipne = 16777216*$ipad[0] + 65536*$ipad[1] + 256*$ipad[2] + $ipad[3]; 3. $sql4 = "SELECT negara2, negarafull FROM ipnegara WHERE kodeawal <= $ipne"; 4. $result4 = mysql_query($sql4); 5. while ($hasil = mysql_fetch_array($result4)){ 6. $ngra2 = $hasil['negara2']; 7. $ngrafull = $hasil['negarafull']; }
Penjelasan kode: Fungsi dari baris 1 adalah untuk mengekstrak nilai dari $ip dan simpan dalam $ipad, pada baris 2 hasil dari $ipad di ubah menjadi ipnumber, pada baris 3 kode untuk mengambil negara2, negara full dari tabel ipnegara dimana kodeawal kecil atau sama dengan $ipne, baris 4 untuk menjalankan perintah pada querry, pengulangan hasil dalam bentuk array dibaris 5, pada baris 6 pengambilan nilai dari array pada kolom negara2 dan simpan dalam $ngra2, pengambilan nilai dari kolom negarafull dan simpan dalam $ngrafull pada baris 7.
Kode 4.7 Potongan Kode Penyimpanan Data Pengunjung 1. if (is_null($rf)){ 2. $qry = "INSERT INTO conter (website, ipaddr, browser, idunik, namascript, que, negara2, negarafull) VALUES ('$site', '$ip', '$broser', '$idunik', '$sn', '$qs', '$ngra2', '$ngrafull') "; 3. } else { 4. $qry = "INSERT INTO conter (website, ipaddr, referer, browser, idunik, namascript, que, negara2, negarafull) VALUES ('$site', '$ip', '$r', '$broser', '$idunik', '$sn', '$qs', '$ngra2', '$ngrafull') ";} 5. mysql_query($qry) or die("INSERT `conter` gagal");
Penjelasan Kode: Pengecekan apakah nilai $rf bersifat null pada baris 1, baris 2 merupakan kode dari masukkan data ke dalam tabel conter kolom website, ipaddr, browser, idunik, namascript, que, negara2, negarafull dengan value $site, $ip, $brwser, $idunik, $sn, $qs, $ngra2 dan $ngrafull jika tidak jalankan kode data ke dalam tabel conter kolom website, ipaddr, referer, browser, idunik, namascript, que,
40
negara2, negarafull dengan value $site, $ip, $r, $brwser, $idunik, $sn, $qs, $ngra2 dan $ngrafull pada baris 4 dan jalankan querry pada baris 5
Kode 4.8 Pengecekan Waktu Kunjugan dan Simpan Penambahan Kunjungan : 1. $sql3 = "SELECT * FROM `conter` WHERE idunik ='$idunik' AND website='$site' AND TIME_TO_SEC( TIMEDIFF( Now( ) , waktu ) ) <900 ORDER BY waktu DESC"; 2. $result3 = mysql_query($sql3); 3. $jum = mysql_num_rows($result3); 4. if($jum == 1){ $sql2 = "update dataweb set counter = counter + 1 where website='$site'"; 5. $result2 = mysql_query($sql2);}
Penjelasan Kode: Kode pada baris 1 merupakan ambil semua data dari tabel conter dimana idunik = $idunik dan website =$site dengan pengurutan waktu di bawah 900 menit, baris 2 merupakan kode untuk menjalankan query dari baris 1, baris 3 merupakan pengambilan jumlah baris yang ada, baris 4 merupakan perbandingan jika $jum sama dengan 1 maka update tabel dataweb counter tambah 1 dimana website =$site, baris 5 untuk menjalankan query dari baris 4
Kode 4.9 Penampilan Gambar Penghitungan : 1. 2. 3. 4. 5. 6. 7.
$font = "Telegraphem.ttf"; $im = imagecreatefromjpeg('bg3.jpg'); $color = imagecolorallocate($im, 255, 10,10); imagettftext($im,20,0,5,27, $color, $font, $semu); header("content-type: image/jpeg"); imagejpeg($im); imagedestroy($im);
Penjelasan Kode: Baris 1 untuk pengambilan font, baris 2 fungsinya untuk membuat gambar dari file bertipe jpeg dan mengalokasikan warna dan menyimpan dalam variabel $im dengan komposisi warna R=255, G=10, B=10 seperti baris 3, baris 4 berfungsi untuk mencetak text yang mempunyai 8 struktur yaitu (gambar, besar font, posisi dalam derajat, posisi_x, posisi_y, warna, jenis font, string yang akan dicetak), baris 5 berfungsi untuk menciptakan gambar berformat jpeg dan menampilkan gambar pada baris 6, pada baris 7 berfungsi untuk mengosongkan variabel yang digunakan untuk menyimpan gambar.
41
Kode 4.10 Potongan Kode Penampilan Angka Hitungan : 1. $sql = "SELECT * FROM dataweb where website='$website'" 2. $result = mysql_query($sql); 3. $rows = mysql_fetch_array($result); 4. $counter = $rows['counter']; 5. $num = strlen($counter); 6. $num_0 = 7-$num; 7. $ab= ""; 8. for($i=0;$i<$num_0;$i++) { 9. $ab .= "0" ; 10. } 11. $ac= ""; 12. for($i=0;$i<$num;$i++) { 13. $ac .= substr($counter,$i,1); 14. } 15. $semu = $ab . $ac ;
;
Penjelasan Kode: Pengambilan semua data dari tabel dataweb dimana kolom website = $site yang disimpan dalam $sql pada baris 1 dan menjalankan query dari $sql pada baris 2, kode pada baris 3 merupakan pengambilan array yang ada pada kolom dari tabel dataweb dan disimpan dalam $rows, baris 4 mengambil hasil dari kolom counter dan simpan dalam $counter pada baris 5 penghitungan panjang dari $counter, $num_0 pada baris 6 mempunyai hasil dari panjang counter – 7, nilai awal $ab adalah kosong pada baris 7 Baris 8 berfungsi untuk menghitung angka 0 diawal counter, jika $i punya nilai 0 dan $i lebih kecil dari hasil $num dan $i melakukan pengulangan sebanyak hasil dari $i <$num_0, dibaris 8 $ab diisi dengan 0, baris 11 menerangkan bahwa nilai awal $ac adalah kosong, baris 12 menghitung angka pada counter, $i punya nilai 0 dan $i lebih kecil dari hasil $num dan $i melakukan pengulangan sebanyak $i<$num, dan masukkan nilai dari $counter ke dalam $ac, baris 15 berfungsi untuk menampilkan hasil dari $ab dan $ac.
4.1.1.3 Proses penampilan data pengunjung Pada proses ini memberikan hasil berupa data pengunjung yang pernah berkunjung dalam bentuk tabel. Tabel yang di tampilkan dibagi menjadi dua tampilan yaitu pada saat masuk ke halaman data maka akan di tampilkan tanggal, IP, negara dan nama situs dan jika nama situs yang di akses maka akan
42
ditampilkan nama situs web, referrer, pramban yang digunakan dan querry yang dipakai.
Kode 4.11 Penampilan Data Pengunjung : 1. $qry = "SELECT * FROM conter WHERE website = '$site' ORDER BY waktu DESC Limit $mulai, $_PERPAGE"; 2. $rs = mysql_query($qry); 3. while ($row = mysql_fetch_array($rs)){ 4. $id = $row[id]; 5. $tg = $row[waktu]; 6. $ns = $row[namascript]; 7. $ip = $row[ipaddr]; 8. $ngra = $row[negarafull]; 9. $site = $row[website]; 10. echo "
$tg | $ip | $ngra | $ns |
\n";
Penjelasan Kode: Ambil semua data dari tabel conter dimana website = hasil dari $site yang diurutkan melalui waktu terbesar dengan mulainya adalah $mulai dan batas maksimal 1 halaman adalah $_PERPAGE, baris 2 berfungsi untuk menjalankan querry yang ada pada baris 1 dan baris 3 untuk mengulangi hasil dari querry yang ditampilkan dalam bentuk array. Kode di baris 4 menjelaskan bahwa ambil nilai yang ada pada kolom id, ambil nilai dari kolom waktu di baris 5, ambil nilai dari kolom namascript, ambil nilai ip dari kolom ipaddr, nilai negara dari negarafull dan nilai website dari kolom website seperti yang di jelaskan pada baris 9, baris 10 berfungsi untuk menampilkan data yang telah diambil ke dalam tabel
Kode 4.12 Penampilan Data Nama Situs : 1. $qry = "SELECT * FROM conter WHERE id= '$id'"; 2. $rs = mysql_query($qry); 3. $row = mysql_fetch_array($rs); 4. $ns = $row[namascript]; 5. $brwser = $row[browser]; 6. $que = $row[que]; 7. $ids= $row[id]; 8. $re = $row[referer]; 9. if($id != $ids){ 10. echo "Data Tidak Ada!!";}else{ 11. echo "\n"; 12. echo "
Nama Situs Web:
$ns
\n
Browser yang digunakan:$brwser\n
Querry yang digunakan:$que\n
Referer :$re\n
\n-------
\n";}
43
Penjelasan Kode: Kode di baris 1 berfungsi untuk mengambil semua data dari tabel conter dimana id adalah hasil dari $id, baris 2 untuk menjalankan querry yang ada, baris 3 mengambil data yang ada dari tabel conter dengan hasil berupa array, baris 4 mengambil nilai dari kolom namascript, baris 5 ambil nilai dari kolom browser, ambil nilai dari kolom que, ambil nilai dari kolom id dan ambil nilai di kolom referer. Baris 8 membandingkan jika nilai dari $id tidak sama dengan nilai $ids maka tampilkan data tidak ada, jika ada maka akan di tampilkan nama situs web, browser yang digunakan, querry yang digunakan, dan referer.
4.1.2 Implementasi Basis Data Basis data pada aplikasi server ini mempunyai 4 tabel, yaitu tabel conter, dataweb, hitung dan member. berikut merupakan lampiran SQL (Structured Query Language) dari basis data program ini. Kode 4.13 Potongan Sql Tabel conter 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
CREATE TABLE IF NOT EXISTS `conter` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `waktu` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `website` varchar(80) CHARACTER SET latin1 NOT NULL, `ipaddr` varchar(15) CHARACTER SET latin1 NOT NULL, `referer` varchar(40) CHARACTER SET latin1 DEFAULT NULL, `browser` varchar(30) CHARACTER SET latin1 NOT NULL, `idunik` char(32) CHARACTER SET latin1 NOT NULL, `namascript` varchar(60) CHARACTER SET latin1 NOT NULL, `que` varchar(50) CHARACTER SET latin1 NOT NULL, `negara2` varchar(2) CHARACTER SET latin1 NOT NULL, `negarafull` varchar(60) CHARACTER SET latin1 NOT NULL, PRIMARY KEY (`id`) 14. )
Penjelasan Kode: Buat tabel conter meruapakan perintah dari baris 1, baris 2 menerangkan bahwa kolom id dengan tipe bigint dengan panjang karater 20 dan bersifat auto_increment agar dapat bertambah satu secara otomatis jika ada data yang disimpan, waktu bertipe timestamp dan berformat current_timestamp agar waktu yang dicatat merupakan waktu saat data disimpan, baris 4 menerangkan bahwa kolom website bertipe varchar dengan panjang 80 karakter dan bersifat tidak boleh kosong, ipaddr bertipe varchar dengan 15 karakter dan tidak boleh kosong.
44
Referer mempunyai tipe varchar dengan panjang 40 karakter, browser bertipe varchar dengan panjang 30 karakter, idunik bersifat char dengan panjang 32 karakter karena yang disimpan data bertipe md5, nama script bertipe varchar dengan panjang 60 karakter, que bertipe varchar dengan 50 karakter, negara 2 bertipe varchar dengan panjang 2 karakter, negarafull bertipe varchar dengan panjang 60 karakter seperti baris 12, dan id merupakan primary key nya
Kode 4.14 Potongan Sql Tabel dataweb 1. 2. 3. 4. 5. 6.
7.
CREATE TABLE IF NOT EXISTS `dataweb` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `nama_member` varchar(50) COLLATE latin1_general_ci NOT NULL, `website` varchar(100) COLLATE latin1_general_ci NOT NULL, `counter` int(9) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) )
Penjelasan Kode: Baris 1 merupakan perintah untuk membuat tabel dataweb dengan kolom id bertipe bigint dan bersifat auto_increment, nama member bertipe varchar dengan panjang 50 karakter dan counter bertipe int dengan panjang 9 karakter dengan isi awal 0 dan primary key adalah id
Kode 4.15 Potongan Sql Tabel hitung 1. 2. 3. 4. 5. 6.
7.
CREATE TABLE IF NOT EXISTS `hitung` ( `uid` bigint(20) NOT NULL AUTO_INCREMENT, `idunik` char(32) CHARACTER SET latin1 NOT NULL, `useragent` varchar(51) CHARACTER SET latin1 NOT NULL, `ipaddr` varchar(15) CHARACTER SET latin1 NOT NULL, PRIMARY KEY (`uid`) )
Penjelasan Kode: Buat tabel hitung dengan kolom uid bertipe bigint dengan panjang 20 karakter, idunik bertipe char dengan 32 karakter karena data yang disimpan bertipe md5, useragemt bertipe varchar dengan panjang 51 karakter, ipddr bertipe varchar dengan 15 karakter dan uid yang menjadi primary key
45
Kode 4.16 Potongan Sql Tabel member 1. 2. 3. 4. 5. 6.
7.
CREATE TABLE IF NOT EXISTS `member` ( `id` int(255) NOT NULL AUTO_INCREMENT, `email` varchar(100) COLLATE latin1_general_ci NOT NULL, `pword` varchar(32) COLLATE latin1_general_ci NOT NULL, `udah` varchar(1) COLLATE latin1_general_ci NOT NULL, PRIMARY KEY (`id`) )
Penjelasan Kode: Perintah untuk membuat tabel member di baris 1 dengan isi kolom id bertipe int dengan auto_increment agar dapat bertambah saat data dimasukkan, email bertipe varchar dengan panjang 100 karakter, pword bertipe varchar dengan panjang 32 karakter, dan udah bertipe varchar dengan panjang 1 karakter, dan id merupakan primary key
Kode 4.17 Potongan Sql Tabel Ipnegara 1. 2. 3. 4. 5. 6.
CREATE TABLE IF NOT EXISTS `ipnegara` ( `kodeawal` varchar(10) COLLATE latin1_general_ci NOT NULL, `kodeakhir` varchar(10) COLLATE latin1_general_ci NOT NULL, `negara2` varchar(2) COLLATE latin1_general_ci NOT NULL, `negarafull` varchar(60) COLLATE latin1_general_ci NOT NULL )
Penjelasan Kode: Buat tabel ipnegara dengan kolom kodeawal yang bertipe varchar dengan panjang 10 karakter, kodeakhir bertipe varchar dengan panjang 10 karakter, negara2 bertipe varchar dengan panjang 2 karakter karena isi dari kolom negara2 adalah singkatan 2 karakter dari nama negara, negarafull bertipe varchar dengan panjang 60 karakter.
4.1.3 Implementasi Antar Muka Antar muka merupakan gambaran tampilan sebuah situs web untuk menampilkan hasil dari kode yang telah dibuat. Berikut merupakan gambaran desain antar muka dari aplikasi penghitungan pengunjung ini, antara lain :
46
Gambar 4.1 Tampilan Antar Muka Halaman Home Jika Website Kosong
Tampilan gambar 4.1 ada jika situs web pengguna belum didaftarkan atau kosong, maka pengguna harus mendaftarkan alamat situs web untuk mendapatkan kode dari penghitungan pengunjung.
Gambar 4.2 Tampilan Antar Muka Halaman Home Jika Website Ada
47
Tampilan gambar 4.2 ada jika pengguna sudah mendaftarkan nama situs web dengan keterangan website anda yang terdaftar di situs kami dan kode penghitungan pengunjung.
Gambar 4.3 Tampilan Antar Muka Halaman Data
Tampilan gambar 4.3 merupakan tampilan dari halaman data yang menampilkan tanggal dan waktu kunjungan, alamat ip, negara dan nama situs yang digunakan oleh pengunjung. Nama situs dapat di akses untuk mengetahui data dari masing-masing pengunjung seperti nama situs web, pramban yang digunakan, querry dan referer dari pengunjung
48
Gambar 4.4 Tampilan Antar Muka Halaman Nama Situs
Gambar 4.4 merupakan tampilan detail dari nama situs, dimana data tersebut berupa nama situs, pramban , querry dan referer dari masing2 pengunjung 4.2 Pengujian Fungsionalitas Aplikasi Pengujian akan dilakukan dengan menggunakan metodek kotak hitam (blackbox) untuk lebih memfokuskan pada keperluan fungsional dari aplikasi. Dengan metode ini, maka validitas fungsi akan diuji, apakah menghasilkan keluaran yang sesuai dengan yang diharapkan atau tidak.
4.2.1 Lingkungan Pengujian Aplikasi server di hosting di http://statiscount.co.cc/cpanel/ sedangkan perangkat user menggunakan browser sebagai alat komunikasi server dengan client. Berikut spesifikasi kebutuhan dari sistem dimana aplikasi ini dibuat dan dijalankan. 1.
Perangkat keras (hardware): a.
Prosesor Intel(R) Core(TM) 2 Duo 2.53GHz
b.
RAM 2,00 GB
49
2.
Perangkat lunak (software): a. Windows 7 Ultimate (32-bit) b. Mozilla Firefox, Google Chrome, Opera, Safari dan Internet Explorer c. Xampp d. Macromedia Dreamweaver dan Notepad++
4.2.2 Skenario Pengujian Pengujian ini dilakukan pada tanggal 7 juli 2012, dengan menggunakan broser Mozilla Firefox, Google Chrome, Opera, Safari dan Internet Explorer.
Tabel 4.1 Skenario Pengujian. NO
1.
Item
yang
diuji
Halaman Login
Sifat
Normal
Tidak Normal
Cara Pengujian Memasukan email dan password yang benar
Aplikasi akan memberikan pesan
password tidak benar
“Username atau Password salah.”
2.
Email,
Password, Re Password dan centang rules
Halaman
Masuk ke halaman home
Memasukan email dan
Masukkan Normal
Hasil yang diharapkan
Akan
muncul
teks
registrasi
berhasil
Kosong semua, Email
Registrasi Tidak Normal
kosong, Password beda
Akan
dengan Re Password,
pemberitahuan.
muncul
alert
untuk
dan tidak di centang Akases pada halaman Normal
3
pramban
selama
15
menit satu kali
Penambahan
Akases pada halaman
Pengunjung Tidak Normal
pramban
selama
15
menit dua kali atau lebih
Normal 4
Penampilan Data
Mengakses link data Mengakses
Tidak Normal
link
data
dan mengubah id dan site pada address bar
Aplikasi
akan
menambahkan
angka +1 pada tampilan
Aplikasi
akan
menampilkan
angka yang sama pada setiap kunjungan Akan muncul tabel data Akan muncul teks “ Data Tidak Ada!!”
50
4.2.3 Hasil Pengujian Dari hasil pengujian yang dilakukan dapat diperoleh hasil pengujian. Dari tabel skenario pengujian dilakukan oleh penulis secara berulang-ulang. Maka diperoleh hasil pengujian tersebut sesuai dengan rumusan rancangan aplikasi program yang sudah ditentukan dan diterangkan dalam tabel hasil pengujian pada tabel 4.2.
Tabel 4.2 Hasil Pengujian NO
Item
yang
diuji
Sifat
Normal
1.
Halaman Login
Hasil
Cara Pengujian
yang
diharapkan
Memasukan email dan
Masuk
password yang benar
home
ke
Hasil Pengujian
halaman
Aplikasi
Sesuai
akan
Tidak
Memasukan email dan
memberikan
Normal
password tidak benar
“Username
pesan atau
Sesuai
Password salah.” Masukkan Normal
2.
Password, Re Password dan centang rules
Halaman Registrasi
Email,
Akan
muncul
teks
registrasi berhasil
Sesuai
Kosong semua, Email Tidak
kosong, Password beda
Akan
muncul
alert
Normal
dengan Re Password,
untuk pemberitahuan.
Sesuai
dan tidak di centang
Normal
3
15
angka
Aplikasi
Tidak
pramban
menampilkan
Normal
menit dua kali atau
yang sama pada setiap
lebih
kunjungan
Mengakses link data
Akan muncul tabel data
Tidak Normal
menambahkan
selama
Akases pada halaman
Penampilan Data
pramban
akan
+1 pada tampilan
Normal 4
Aplikasi
menit satu kali
Penambahan Pengunjung
Akases pada halaman
Mengakses
selama
link
15
data
dan mengubah id dan site pada address bar
Sesuai
akan angka
Akan muncul teks “ Data Tidak Ada!!”
Sesuai
Sesuai
Sesuai
51
4.2.4 Analisis Hasil Pengujian Setelah melakukan pengujian dan menjalankan program aplikasi, maka dari hasil tersebut dapat dianalisa sebagai berikut : 1.
Proses login berjalan dengan baik sehingga hanya email yang terdaftar saja yang bisa mengakses data dan dapat melihat isi dari data pengunjung
2.
Proses registrasi berjalan dengan baik sehingga dapat memberi peringatan jika ada file yang salah agar hanya data tertentu yang disimpan
3.
Proses pada setiap link berjalan dengan baik agar bisa saling terkoneksi dengan benar
4.
Data pengunjung dapat ditampilkan dengan baik karena mempermudah pengguna melihat data
5.
Proses koneksi ke basis data berjalan dengan baik agar penyimpanan data dapat disimpan dengan rapi dan baik
6.
Sistem berjalan dengan baik dan stabil Secara fungsionalitas program tidak ditemukan kesalahan dan sudah sesuai
dengan proses yang ada pada sistem dan prosedur yang sudah direncanakan. Hasil analisis terhadap aplikasi penghitungan pengunjung yang dibangun secara keseluruhan berfungsi dengan baik dan dapat digunakan sebagai sarana penghitungan pengunjung.
52