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