MEMBANGUN APLIKASI WEB STATISTIK UNTUK MENGANALISA

advertisement
MEMBANGUN APLIKASI WEB STATISTIK UNTUK MENGANALISA TRAFIK WEB
MENGGUNAKAN PHP DAN MYSQL
Catur Iswahyudi dan Erma Susanti
Jurusan Teknik Informatika, Fakultas Teknologi Industri, IST AKPRIND
Email: 1)[email protected], 2)[email protected]
ABSTRACT
The level and complexity of the provision of web pages usually depend on the needs and
services that are most visited by visitors on the web. Reflection of interest to present information on a
web-based on the collection of information from visitors who see the information web. Raw data can
be collected dynamically from a web page and stored in a database. From this data, statistics can be
generate in real time and updated for each visitor. These statistics can be used to increase traffic or
the ratio of visitors. Web traffic statistics provide various details about the sites monitored, including IP
address, proxy server, client operating system, browser used, the existence and location of visitors
who access the web page. Besides, it is also used to know the reference page (referrer). Referrer is a
reference to visitors from entering the target web page or site that it's correct (could directly or through
a search engine). To get all the information, necessary designed a special application. This application
is often referred to as the web statistics, which is a program that consists of PHP functions that are
stored in several files, where the combination of these functions can perform various processes, such
as access data from web visitors, to store data in the database, and displays statistical data in the
form of number of visitors, tables and graphs. Analysis of web traffic to refer specifically to see the
data that comes from user activity on a specific website, using the browser sniffing (methods without
down-submit the form). From here will be known whether the web published more popular and many
had visited or vice versa.
Keywords: web statistics, web-based application, web traffic analizer
INTISARI
Tingkat dan kompleksitas penyediaan halaman web biasanya bergantung pada kebutuhan dan
layanan apa yang paling banyak diminta atau dikunjungi. Pencerminan kepentingan untuk menyajikan
informasi pada sebuah web disasarkan pada pengumpulan informasi dari pengunjung yang melihat
informasi web, dalam rangka untuk meneliti keefektifan dari isi web yang disajikan. Data mentah dapat
dikumpulkan secara dinamis dari sebuah halaman web dan disimpan dalam sebuah basis data. Dari
data ini, statistik dapat di-generate secara real time dan di-update untuk tiap pengunjung. Statistik ini
dapat digunakan untuk menunjukkan peningkatan trafik/lalu-lintas atau rasio kunjungan pengunjung.
Statistik trafik web menyajikan berbagai detail mengenai situs yang dipantau, mulai dari informasi
pengunjung terakhir hingga ke ringkasan kunjungan per bulan sejak web dipublikasikan. Adapun
detail yang dimaksud antara lain alamat IP (Internet Protocol), proxy server, sistem operasi klien,
browser yang digunakan, dan lokasi keberadaan pengunjung yang mengakses halaman web. Selain
itu juga digunakan untuk mengetahui halaman acuan (referrer). Referrer adalah acuan dari
pengunjung untuk memasuki halaman web target atau situs yang dituju (bisa secara langsung atau
melalui search engine). Untuk mendapatkan semua informasi tersebut, perlu dirancang sebuah
aplikasi khusus. Aplikasi ini sering disebut sebagai web statistik yang merupakan suatu program yang
terdiri dari fungsi-fungsi PHP yang tersimpan dalam beberapa file, dimana gabungan fungsi-fungsi
tersebut bisa melakukan berbagai proses, seperti mengakses data-data dari pengunjung web,
menyimpan data ke dalam basis data, dan menampilkan data statistik pengunjung dalam bentuk
angka, tabel dan grafik. Analisis trafik web mengacu secara spesifik untuk melihat data yang berasal
dari aktivitas pemakai pada website tertentu, dengan menggunakan metode browser sniffing (metode
tanpa men-submit form). Dari sini akan diketahui apakah web yang dipublikasikan semakin populer
dan ramai dikunjungi atau sebaliknya.
Kata kunci: statistik web, aplikasi berbasis web, analisis lalu-lintas web
234
PENDAHULUAN
Pencerminan kepentingan untuk menyajikan informasi pada sebuah web adalah berdasar
pada pengumpulan informasi dari pengunjung yang melihat informasi web, dalam rangka untuk
meneliti keefektifan dari isi web yang disajikan. Ini berarti dapat diidentifikasi berapa banyak
pengunjung yang mengunjungi situs, sebaik seperti kepentingan informasi yang akan mempengaruhi
cara dalam mendesain sebuah halaman web. Pada prinsipnya, administrasi web tidak hanya sebatas
pada pengelolaan data secara dinamis. Pengelolaan data pengunjung merupakan hal penting yang
perlu diperhatikan (Prasetyo, 2005). Data mentah dapat dikumpulkan secara dinamis dari sebuah
halaman web dan disimpan dalam sebuah basis data. Dari data ini, statistik dapat di-generate secara
otomatis, di-update untuk tiap pengunjung dan disajikan secara real time. Statistik ini dapat digunakan
untuk menunjukkan peningkatan trafik / lalu-lintas atau rasio kunjungan pengunjung. Statistik trafik
web menyajikan berbagai detail mengenai situs yang dipantau, mulai dari informasi pengunjung
terakhir hingga ke ringkasan kunjungan per bulan sejak web dipublikasikan. Adapun detail yang
dimaksud antara lain alamat IP (Internet Protocol), proxy server, sistem operasi klien, browser yang
digunakan, dan lokasi keberadaan pengunjung yang mengakses halaman web. Selain itu juga
digunakan untuk mengetahui halaman acuan (referrer). Referrer adalah acuan dari pengunjung untuk
memasuki halaman web target atau situs yang dituju (bisa secara langsung atau melalui search
engine).
Untuk mendapatkan semua informasi tersebut, perlu dirancang sebuah aplikasi khusus.
Aplikasi ini sering disebut sebagai web statistik yang merupakan suatu program yang terdiri dari
fungsi-fungsi PHP yang tersimpan dalam beberapa file, dimana gabungan fungsi-fungsi tersebut bisa
melakukan berbagai proses, seperti mengakses data-data dari pengunjung web, menyimpan data ke
dalam basis data, dan menampilkan data statistik pengunjung dalam bentuk angka, tabel dan grafik.
Analisis trafik web mengacu secara spesifik untuk melihat data yang berasal dari aktivitas pemakai
pada website tertentu (Diamond, 2003). Dari sini akan diketahui apakah web yang dipublikasikan
semakin populer dan ramai dikunjungi atau sebaliknya. Pemantauan sebuah web menjadi hal penting
dan wajib diperhatikan oleh setiap web developer (pengembang web). Kelangsungan sebuah web
sangat tergantung dari keseriusan pengelolanya. Pekerjaan pemantauan web pada kenyataannya
sangat kompleks dan tidak bisa dilakukan secara manual, dibutuhkan berbagai tools
(alat/aplikasi/program) pembantu yang dapat melakukan tugas ini secara otomatis (Rafiudin, 2004).
Berdasarkan latar belakang permasalahan di atas, maka permasalahan yang akan dibahas
dirumuskan sebagai berikut: (1). Bagaimana mengumpulkan informasi yang berguna (alamat IP,
tanggal, waktu, browser, sistem operasi, referrer) dari pengunjung web menggunakan metode
browser sniffing (metode tanpa men-submit form). (2) Bagaimana mengkalkulasi total kunjungan
harian, bulanan, tahunan dan membedakan kunjungan yang berasal dari sebuah alamat IP unik. (3)
Bagaimana membangkitkan image (gambar) gif/jpeg menggunakan PHP untuk menampilkan grafik
secara dinamis. (4) Bagaimana berinteraksi dengan sebuah basis data untuk menganalisa data-data
yang berasal dari kunjungan pengunjung sehingga menghasilkan sesuatu yang bermanfaat.
Tujuan yang ingin dicapai dalam penelitian ini antara lain (1) Untuk mengumpulkan informasi
dari masing-masing pengunjung web untuk dibuat statistik pengunjung dalam rangka untuk meneliti
keefektifan dari isi web yang disajikan, (2) Untuk membantu pengelola web dalam mengumpulkan
informasi log pengunjung dan membuat statistik pengunjung. Dari identifikasi berapa banyak
pengunjung yang mengunjungi situs, akan mempengaruhi cara dalam mendesain sebuah halaman
web. Ini dapat sangat membantu dalam mengoptimasi sebuah halaman web.
Metoda analisa yang digunakan dalam penelitian ini adalah dengan cara mengumpulkan datadata yang berhubungan dengan informasi pengunjung web dan data-data dari program sejenis yang
sudah ada di internet. Data yang dibutuhkan dan akan dikoleksi antara lain informasi browser, proxy
server, alamat ip, tanggal dan waktu kunjungan, sistem operasi, dan referensi alamat. Informasi
browser dan sistem operasi adalah satu kesatuan data yang diletakkan dalam kolom basis data yang
sama dan diterima sebagai variabel yang sama. Sedangkan informasi yang lain, masing-masing
merupakan satu variabel tersendiri.
Tinjauan Pustaka
Penelitian lain yang telah dilakukan sebelumnya tentang trafik web pernah dilakukan oleh
Ghaleb Abdulla pada tahun 1998 melalui disertasi yang berjudul “Analysis and Modelling of World
Wide Web Traffic”. Disertasi tersebut dilakukan sebagai syarat untuk memenuhi gelar doktor ilmu
filosofi komputer pada Virginia Polytechnic Institute and State University. Penelitian ini menguraikan
tentang pemantauan, pengoleksian, penelitian, dan pemodelan interaksi klien dan trafik World Wide
Web (WWW) secara luas. Pembahasan dipusatkan pada proxy karena menyediakan suatu medium
yang baik untuk caching, filtering (penyaringan) informasi, metode pembayaran, dan hak cipta
235
manajemen. Selain itu juga dipusatkan pada caching, analisis log, WWW, scalability, dan time series
(seri waktu).
Pekerjaan pemantauan website pada kenyataannya sangat kompleks dan tidak bisa dilakukan
secara manual. Sebenarnya sudah ada berbagai tools pembantu yang dapat melakukan tugas ini
secara otomatis (Rafiudin, 2004). Beberapa tools aplikasi pemantauan website yang sudah tersedia di
Internet antara lain Siege, Wusage, Analog, Awstats, Webalizer, dan lain-lain.
World Wide Web
Definisi World Wide Web (Purbo, 2001) adalah: “kumpulan semua sumber atau informasi
yang dihubungkan dengan hyperlinks yang dapat diakses, ditransfer atau dieksekusi secara remote
dari mana saja dalam internet melalui server HTTP (HyperText Transfer Protocol) oleh klien HTTP
menggunakan HTTP sebagai protocol transfer utama”.
Klien HTTP yang disebutkan dalam definisi di atas dapat berupa browser atau aplikasi lain
yang didesain sendiri dan menggunakan HTTP sebagai protokol transfer utama. Jika klien HTTP
adalah browser, sumber yang disebutkan dalam definisi di atas, utamanya terdiri atas dokumen HTML
(HyperText Markup Language). Ketika dokumen HTML ditransfer melalui internet, dokumen tersebut
akan di-encode dalam format MIME (Multipurpose Internet Mail Extentions).
HyperText Transfer Protocol
Protokol transfer utama yang digunakan oleh WWW adalah HTTP. Ini adalah protokol aplikasi
berbasis klien server sederhana yang dibangun di atas TCP (Transmission Control Protocol).
Transaksi yang khas dari HTTP ini adalah klien melakukan koneksi dengan server HTTP, dan
melakukan permintaan untuk sumber yang diinginkan dan menunggu respon dari server. Setelah
menerima permintaan dari klien, server akan memproses permintaan klien dan mengirimkan respon
dan menutup koneksi. Respon dapat berupa sumber yang diinginkan atau dapat juga hasil dari
eksekusi dalam kasus resource yang diminta adalah sumber yang dapat dieksekusi . Klien
mengalamatkan sumber yang dibutuhkan dengan URL (Uniform Resource Locator), yaitu alamat fisik
dari objek yang dapat diambil menggunakan protokol jaringan seperti HTTP. URL terdiri atas nama
server (DNS atau alamat IP) dan nama dari sumber yang diminta. Nama server (DNS) dan nama
sumber dipisah dengan tanda “/”. Sebagai contoh di bawah ini menunjukkan permintaan HTTP yang
berisi
URL
dari
sumber
yang
diminta.
http://erma.akprind.ac.id/~erma/index.html;
erma.akprind.ac.id adalah nama DNS dari server, dan ~erma/index.html adalah nama dari sumber.
Ada beberapa operasi HTTP yang salah satu contohnya adalah GET dan POST. Operasi
GET digunakan untuk meminta sumber dari server. Operasi POST digunakan untuk mengirim
informasi ke sumber yang ada di server. Server akan merespon dengan header HTTP yang diikuti
dengan bagian data. Pada kasus operasi permintaan GET, respon dari server akan berisi sumber
yang diminta klien. Jika server menerima operasi POST, server akan melewatkan data yang ada pada
operasi POST ke sumber yang dapat dieksekusi. Setelah server menerima kembali hasil dari sumber
tersebut, server akan memasukkan hasil tersebut ke HTTP respon yang dikirim kembali ke klien.
PHP
PHP (PHP Hypertext Preprocessor) adalah sebuah bahasa scripting yang bersifat lintas
platform, menyatu dengan HTML dan berada di server (server-side HTML-embedded scripting)
(Atkinson, 1999). Dalam istilah lain, PHP memberikan suatu mekanisme peletakan instruksi-instruksi
dalam file HTML untuk membuat halaman web yang dinamis. Instruksi-instruksi PHP di dalam file
HTML dibaca dan diuraikan oleh web server dan diserahkan ke interpreter PHP. Hasil interpretasi
terhadap instruksi-instruksi tersebut dikembalikan oleh PHP ke web server dan selanjutnya dikirim ke
web browser pada komputer klien.
Kemampuan PHP dalam mendukung grafik tidak terlepas dari hasil kerja proyek GD.
Berkaitan dengan pengolahan data grafik, PHP menyediakan kumpulan fungsi image yang
mendukung berbagai format gambar menggunakan fungsi-fungsi untuk pembuatan grafik, baik secara
statis maupun dinamis dengan dukungan MySQL (Prasetyo, 2005). Seiring berkembangnya rilis baru
PHP, versi library GD juga mengalami peningkatan. Sampai pada versi 5.0.2 dalam PHP telah terbuilt-in library GD versi 2.0.28. Versi ini mendukung format gambar lebih luas, yaitu format GIF,
JPG/JPEG, PNG, WBMP, dan XBM. Agar dapat membuat dan memanipulasi gambar melalui fungsi
image, instalasi harus disertakan library GD. Untuk lingkungan Unix, sertakan option --with-gd[=dir]
ketika melakukan kompilasi. Jika menggunakan Windows, aktifkan php_gd2.dll yang berada dalam
file php.ini.
236
MySQL
MySQL adalah sebuah Database Management System (DBMS). Basis data adalah suatu
koleksi data terstruktur (MySQL Reference Manual, 2000). MySQL merupakan sebuah Relational
Database Management System (RDBMS). Basis data relasional menyimpan data dalam tabel-tabel
terpisah, bukan meletakkan semua data dalam sebuah ruang simpan yang besar. Ini menambah
kecepatan dan fleksibilitas. Tabel-tabel dihubungkan oleh relasi-relasi yang didefinisikan dan
memungkinkan kombinasi data dari beberapa tabel. Bagian SQL dari MySQL mengacu kepada
“Structured Query Languange” bahasa yang telah distandarkan untuk digunakan dalam mengakses
basis data.
Statistik Website
Untuk melakukan pemantauan website ada beberapa hal yang perlu diperhatikan (Rafiudin,
2004): (1) Memeriksa dan mempelajari file-file log, (2) Menguji ketahanan website dalam menghadapi
beban berat, (3) Memeriksa konektivitas link-link, (4) Memeriksa apakah image-image tersedia
dengan benar, (5) Memeriksa apakah layanan-layanan dinamis dan interaktif tidak mengalami error,
(6). Mempelajari statistik pengunjung, (7) Memeriksa apakah pasword-pasword sudah diatur dengan
benar, dan (8) Memeriksa apakah permisi-permisi file skrip dan dokumen sudah diatur dengan benar.
HASIL DAN PEMBAHASAN
Bahan Penelitian
Bahan penelitian ini meliputi data-data mentah yang dikumpulkan secara dinamis dari
halaman web target dan disimpan dalam sebuah basis data. Pengisian data ke dalam tabel suatu
basis data akan dilakukan secara otomatis oleh suatu program logger. Selain itu dalam penelitian ini
juga menggunakan predefined variable (variabel khusus yang sudah didefinisikan secara global)
program PHP 4.0 atau versi yang lebih tinggi, library PHP GD untuk men-generate grafik, dan
menggunakan basis data MySQL. Berikut ini adalah bahan-bahan yang diperlukan untuk penelitian
ini: Library PHP GD, Graphic Generation Page, Browser Sniffing, Target Web Page, Primary Key.
Data yang dibutuhkan dan akan dikoleksi adalah informasi browser, proxy server, alamat ip,
tanggal dan waktu kunjungan, sistem operasi, dan referensi alamat. Informasi browser dan sistem
operasi adalah satu kesatuan data yang diletakkan dalam kolom basis data yang sama dan diterima
sebagai variabel yang sama. Sedangkan informasi yang lain, masing-masing merupakan satu variabel
tersendiri.
Analisa Proxy Server
Keberadaan proxy sering diperlukan pada jaringan yang memiliki koneksi internet. Proxy
tersedia untuk berbagai aplikasi internet, akan tetapi yang paling sering dibutuhkan adalah proxy
untuk layanan HTTP. Pada umumnya, pengguna internet hanya mengunjungi halaman web yang
sama dengan waktu kunjungan yang singkat dan terjadi berulang-ulang. Proxy server bertugas
menyimpan halaman web maupun gambar yang sebelumnya diminta oleh pengguna ketika
melakukan browsing. Ketika ada pengunjung lain mengunjungi alamat web yang sama, maka proxy
akan memberikan terlebih dahulu halaman web yang telah disimpan, jadi tanpa melakukan koneksi ke
internet lagi.
Analisa Browser dan Sistem Operasi
Secara default PHP menyediakan fungsi get_browser(). Namun untuk menggunakan fungsi
ini perlu dilakukan konfigurasi browscap pada php.ini dan untuk dapat mengubah file php.ini pada
server, sehingga solusi lainnya adalah akan lebih mudah untuk menggunakan variabel
HTTP_USER_AGENT. Variabel ini akan menghasilkan string yang menunjukkan user agent ketika
mengakses halaman web.
Analisa Trafik Web
Spesifikasi mengenai aplikasi web statistik ini adalah melakukan penyimpanan informasi
kunjungan ke dalam basis data. Pengisian data ke dalam basis data akan dilakukan secara otomatis
oleh program logger. Logger ini nantinya di-include oleh halaman-halaman web yang akan dideteksi
atau dianalisis. Adapun di dalam program tersebut berisi informasi penting dari klien yang
menjalankannya. Variabel PHP akan menggunakan data yang berasal dari super-global array
$_SERVER (Stargeek) seperti $_SERVER[REQUEST_URI], $_SERVER [HTTP_REFERER],
$_SERVER [HTTP_USER_AGENT], $_SERVER [REMOTE_ADDR].
Data yang perlu diperhatikan adalah halaman yang diacu menggunakan variabel
237
HTTP_REFERER. Variabel ini menghasilkan alamat dari halaman yang diacu oleh user agent (jika
ada). Sedangkan variabel REQUEST_URI digunakan untuk halaman yang diakses atau dikunjungi.
Variabel REMOTE_ADDR untuk menghasilkan alamat IP. Sedangkan untuk menghasilkan sistem
operasi dan browser menggunakan satu variabel yaitu HTTP_USER_AGENT. Bagian-bagian
informasi yang dihasilkan oleh HTTP_USER_AGENTbisa dipecah-pecah menjadi informasi yang lebih
detail.
Diagram Alir Sistem
Diagram alir di bawah ini menyajikan formasi skrip yang perlu dijalankan untuk dapat
mencerna angka-angka yang dihasilkan dari program logger menjadi suatu format tampilan dalam
bentuk tabel-tabel dan grafik image (Delin, 2001).
Gambar 1: Diagram Alir Sistem
Diagram alir di atas, menggambarkan alur kerja sistem. Pertama tempelkan logger ke dalam web
target yang akan dikoleksi datanya. Program logger (log.php) akan memasukkan beberapa informasi
pengunjung ke dalam basis data. Selanjutnya dari data log tersebut diolah menjadi berbagai informasi
dalam bentuk statistik seperti angka, tabel dan grafik. Selanjutnya dibuat program (contohnya gd.php)
untuk men-generate image jpeg/gif secara dinamis.
Rancangan Basis Data
Statistik yang dibutuhkan dan akan dikoleksi dalam basis data adalah informasi browser, informasi
alamat ip, referrer, tanggal kunjungan dan informasi sistem operasi. Tampilan di bawah ini adalah
definisi tabel MySQL.
Gambar 2: Definisi Basis Data
Penjelasan:
Kolom
ID
IP
Referer
DateFlag
Timestamp
User_Agent
FileName
Deskripsi
IP unique, incremental number
Alamat IP yang ditugaskan untuk mengidentifikasi pengunjung
Alamat yang diacu oleh pengunjung untuk memasuki web target
Tanggal kunjungan pengunjung
Waktu kunjungan pengunjung
Browser yang dipakai pengunjung, termasuk platform sistem operasi
Nama file yang dikunjungi
Rancangan Teknologi Perangkat Keras dan Perangkat Lunak
Sistem yang dibuat tidak memerlukan spesifikasi perangkat keras yang tinggi. Cukup dengan
seperangkat PC (Personal Computer), baik yang terhubung ke jaringan/internet atau tidak terhubung
jaringan (menggunakan localhost), sistem sudah dapat dijalankan. Bahkan untuk klien, sistem dapat
diakses dengan menggunakan browser sekelas Lynx yang menggunakan mode teks saja. Selain itu
238
sistem juga tidak bergantung pada platform sistem operasi yang digunakan, dengan catatan untuk
server telah terinstal Web Server Apache dan MySQL serta space (ruang penyimpanan) yang
memadai, maka sistem sudah dapat berjalan.
Hasil
Pembahasan ini menyediakan instruksi untuk mengembangkan suatu aplikasi web statistik
untuk menganalisa trafik web menggunakan PHP. Skrip aplikasi dapat dijalankan pada PHP 4.0 atau
versi lebih tinggi dan penyimpanan data ke dalam basis data menggunakan MySQL. Untuk studi
kasus pengujian, telah dicobakan pada situs target http://www.virologi.info.
Aplikasi web statistik merupakan sebuah aplikasi berbasis web untuk menganalisa aktifitas
pengunjung pada suatu situs web tertentu. Analisa trafik web mengacu pada data yang berasal dari
aktifitas pemakai pada situs tersebut. Dengan melihat pada data apa yang dilakukan user pada suatu
situs dapat diperoleh informasi yang merepresentasikan jumlah nyata perilaku dan ketertarikan user
pada suatu situs. Dengan melihat informasi tersebut akan didapatkan gambaran lengkap dari perilaku
user sehingga dapat menghasilkan manfaat terukur. Ini dapat mentransformasikan peran desainer
web sebagai peneliti ke dalam sebuah posisi strategis untuk dapat menyediakan data secara
kuantitatif. Data kuantitatif tersebut diperoleh dari program penganalisa trafik web yang membaca dan
dan menginterpretasikan browser request yang dituangkan ke dalam situs server setiap detik setiap
hari.
Semua request user ke sebuah website akan dicatat ke dalam basis data. Program
menerjemahkan kode request ke dalam tabel, chart dan grafik yang memberikan gambaran dari apa
yang dilakukan user pada suatu situs. Pada kasus ini data berasal dari log file, yang secara original
digunakan oleh webmaster untuk memantau level dari trafik pada server.
Implementasi File Logger
File logger digunakan untuk mencatat aktifitas pengunjung web target ke dalam basis data
secara otomatis. File logger ini dapat diletakkan pada setiap halaman web yang akan dimonitor. Pada
implementasi yang sudah dilakukan, file logger diletakkan (di-include-kan) pada index.php dari situs
target. File logger yang akan dibuat diberi nama log.php. File ini dapat diletakkan secara terpisah
dengan program web statistik. Seringkali lokasi antara pengunjung tidak sama dengan lokasi server
tempat meletakkan program. Sebagai solusi digunakan variabel $timezone_offset yang nilainya
adalah selisih jam untuk mengatur perbedaan tersebut.
<?php
/* log.php */
// Perbedaan waktu/jam server dg waktu lokal
$timezone_offset = 0;
$db = "virologi";
$tabel = $db .".";
$tabel .= "traffic";
mysql_connect("localhost", "root", "");
// waktu dalam detik
$tz_adjust = ($timezone_offset * 60 * 60);
// kalkulasi waktu lokal
$local_date = date("Y",time() + $tz_adjust)
."-". date("m",time() + $tz_adjust)
."-". date("d",time() + $tz_adjust);
if (@mysql_select_db($db)) {
$data = "NULL";
$data .= ", '". addslashes($_SERVER["REMOTE_ADDR"]) ."'";
$data .= ", '". addslashes($_SERVER["HTTP_REFERER"]) ."'";
$data .= ", '". (time() + $tz_adjust) ."'";
$data .= ", '". addslashes($local_date) ."'";
$data .= ", '". addslashes($_SERVER["HTTP_USER_AGENT"]) ."'";
$data .= ", '". addslashes($_SERVER["REQUEST_URI"]) ."'";
$sql = "INSERT INTO $tabel VALUES ($data)";
$result = mysql_query($sql);
if (!$result) {
echo "<font color='red'> <b>
Log Tidak Bekerja <p>".mysql_error()."</font>";
}
}
?>
239
Alur kode dari program log.php tersebut adalah:
1.
2.
3.
4.
5.
6.
Melakukan koneksi dengan basis data MySQL.
Mendefinisikan variabel IP untuk mengumpulkan informasi dari REMOTE_ADDR.
Mendefinisikan variabel referrer untuk mengumpulkan informasi dari HTTP_REFERER.
Mendefinisikan variabel browser untuk mengumpulkan informasi dari HTTP_USER_AGENT.
Mendefinisikan variabel nama file untuk mengumpulkan informasi dari REQUEST_URI.
Memasukkan data ke dalam tabel basis data melalui suatu query SQL.
Tabel 1: Data Log Pengunjung
Implementasi Halaman Utama
Gambar 3: Implementasi Halaman Utama
240
Implementasi Ringkasan Kunjungan
Gambar 4: Implementasi Ringkasan Kunjungan
Implementasi Ringkasan Statistik
Gambar 5: Implementasi Ringkasan Statistik
Implementasi Halaman Sistem Operasi
Gambar 6: Implementasi Halaman Sistem Operasi
241
Implementasi Halaman Browser
Gambar 7: Implementasi Halaman Browser
KESIMPULAN
Aplikasi web statistik untuk menganalisa trafik web ini dikembangkan menggunakan metode
browser sniffing, yaitu dengan mengumpulkan informasi pengunjung dari sebuah browser klien tanpa
men-submit melalui form input. Informasi Informasi yang disajikan dikelompokkan ke dalam beberapa
kategori, seperti: (a) When berisi statistik berdasarkan waktu kunjungan, seperti tahun, bulan, hari dan
jam. (b) Who berisi statistik tentang halaman populer, dan pengunjung terakhir. (c) Navigasi berisi
statistik tentang sistem operasi dan web browser. (d) Referensi berisi statistik tentang lewat jalur mana
pengunjung sampai ke halaman website yang dipantau, misalnya langsung atau melalui search
engine, dan (e) Others berisi statistik selain empat hal di atas. Informasi yang masih perlu
ditambahkan diantaranya adalah (a) fasilitas untuk menampilkan informasi bandwidth yang
dikonsumsi website dengan menyertakan penghitungan trafik HTTP men-download dan meng-upload
file, (b) penambahan untuk pencatatan error log dari situs target, (c) penambahan untuk menampilkan
informasi pengunjung berdasarkan negara yang ditampilkan dalam bentuk peta pengunjung.
DAFTAR PUSTAKA
Achour, M., Betz, F., Dovgal, A., Lopes, N., Olson, P., Richter, G., Seguy, D., Vrana, J., 2005, PHP
Manual, PHP Documentation Group
Atkinson, L., 1999, Core PHP Programming, Prentice Hall PTR
Abdulla, G., 1998, Analysis and Modeling of World Wide Web Traffic, Virginia Polytechnic Institute and
State University, Virginia
Bakken, S. S., Aulbach, A., Schmid, E., Winstead, J., Wilson, L. T., Lerdorf, R., Suraski, Z., Zmiecski,
A., 2000, PHP Manual, PHP Documentation Group
Delin, P., 2001, Generating Web Page Statistics using PHP,
http://www.zend.com/zend/tut/statistics.php
Delin, P., 2001, Generating Advanced Web Page Statistics using PHP,
http://www.zend.com/zend/tut/gen-adv-web-stats.php
Diamon, F., 2003, Web Traffic Analytics and User Experience, http://www.boxesandarrows.com
Husni, 2004, Solusi Web Service Berbasis Linux, Graha Ilmu, Yogyakarta
MySQL.com, 2000, MySQL Reference Manual, TcX AB, Detron HB and MySQL Finland AB
Prasetyo, D. D., 2005, Solusi Menjadi Web Master Melalui Manajemen Web dengan PHP, PT Elex
Media Komputindo, Jakarta
Purbo, O. W., Taufan, R., 2001, Manajemen Jaringan TCP/IP, PT Elex Media Komputindo, Jakarta
Rafiudin, R., 2004, Panduan Menjadi Seorang Webmaster, Andi, Yogyakarta
Siswoutomo, W., 2004, Seri Penuntun Praktis Meng-upload dan Mengelola Website di Webhosting,
PT Elex Media Komputindo, Jakarta
Siswoutomo, W., 2005, Kolaborasi Pemrograman Flash, PHP, dan Database, PT Elex Media
Komputindo, Jakarta
Siswoutomo, W., 2005, PHP Undercover Mengungkap Rahasia Pemrograman PHP, PT Elex Media
Komputindo, Jakarta
Stargeek, Analyzing Site Usage Statistics with PHP, http://www.stargeek.com/usage_stats.php
242
Download