BAB III IDENTIFIKASI DAN KLASIFIKASI WEB LOG Pengembangan website telah menjadi tuntutan pemiliknya seiring dengan dinamika dan kemajuan teknologi internet. Website yang tidak mempunyai informasi dan tampilan yang menarik dapat menyebabkan kinerja yang tidak bagus. Hal ini berefek pada kerugian bisnis bagi perusahaan yang mengandalkan marketing melalui internet. Web log merupakan data yang dipakai untuk mengetahui kinerja suatu website. Identifikasi dan klasifikasi data web log yang ada pada webserver Politeknik Negeri Jakarta digunakan untuk menganalisis pola akses pengunjung untuk perbaikan kinerja website. 3.1. Struktur Web log. Web log adalah file webserver tentang informasi pengunjung suatu website setiap kali pengunjung menggunakan sumber daya dari situs tersebut. Sebagian besar web log menggunakan struktur Combined Log Format. Berikut ini adalah contoh web log dari webserver Politeknik Negeri Jakarta [7]. 110.137.231.82 - - [22/Mar/2010:15:08:07 +0700] "GET /prodi/mice/image/banner-h.gif HTTP/1.1" 200 47000 "http://www.pnj.ac.id/prodi/mice.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-us; rv:1.9.2) Gecko/20100115 Firefox/3.6" Keterangan : 110.137.231.82 : Remote IP address atau domain name. Sebuah IP address adalah host dengan 32-bit yang sudah ditetapkan oleh Internet Protocol; domain name yang digunakan untuk menentukan Internet Protocol bersifat unik untuk setiap host di internet. IP address biasanya didefinisikan untuk satu nama domain. - - : Authuser (Username dan password) digunakan jika server memerlukan otentikasi pengguna. [22/Mar/2010:15:08:07 +0700] : Tanggal dan waktu akses pengunjung. 19
20 "GET /prodi/mice/image/banner-h.gif HTTP/1.1" : Mode permintaan: GET, POST atau metoda HEAD dari CGI (Common Gateway Interface). 200 : Kode status saat client mengunjungi suatu halaman website, misalnya, 200 adalah "OK" atau 404 adalah "tidak ditemukan". 47000 : Kapasitas dokumen yang ditransfer (Bytes). "http://www.pnj.ac.id/prodi/mice.php" : Baris permintaan yang berasal dari client. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-us; rv:1.9.2) Gecko/20100115 Firefox/3.6" : Remote log dan log agent. Format web log tersebut dapat dimodifikasi agar menampilkan informasi yang benar-benar dibutuhkan oleh administrator server. 3.2. Tahapan Persiapan Analisis Akses Web Server Tahapan ini dilakukan dengan menganalisis data akses pada web log Politeknik Negeri Jakarta untuk mengetahui tingkah laku pengunjung. Proses analisis ini dilakukan dalam beberapa tahap, yaitu raw web log data, data cleaning, user identification, session identification, dan database of clean log. Gambar 3.1. menunjukkan proses penyiapan data web log. Raw Web Log Cleaning User Identification Base of Clean Log Session Identification Gambar 3.1. Proses penyiapan data web log [7] 3.2.1. Raw Web Log Raw web log merupakan proses penyiapan data web log yang terdapat pada web server. yang terdapat pada web log tidak dapat langsung digunakan untuk proses analisis karena banyak terdapat informasi yang tidak relevan untuk mendapatkan pola akses pengunjung web server.
21 yang terdapat pada web log, seperti IP address, date, time, request mode, kode status, Byte, refferer dan user agent digunakan untuk mengidentifikasi user dan session. 3.2.2. Cleaning Proses ini dilakukan untuk menyaring informasi yang tidak relevan pada web log asli, sehingga web log hanya menyimpan data yang dibutuhkan saja untuk proses selanjutnya. Informasi yang dapat dibersihkan pada proses penyaringan ini antara lain, request terhadap file multimedia (gambar, icon, animasi, suara dan video), client-side script file, dan cascading style sheet file. Informasi tersebut diabaikan karena merupakan bagian dari suatu request terhadap sebuah halaman web [8] [9]. 3.2.3. Identifikasi User Identifikasi User adalah proses identifikasi setiap user yang mengakses website. Setiap user memiliki IP address yang unik dan masing-masing IP address tersebut merupakan salah satu user. Identifikasi user sangat rumit dengan adanya cache lokal dan proxy server didalam suatu jaringan. Aturan yang digunakan untuk identifikasi user dalam menanggulangi masalah adanya cache lokal dan proxy server adalah sebagai berikut: Jika ada alamat IP yang baru, maka dianggap ada user baru. Jika ada alamat IP yang sama, tapi sistem operasi atau browser berbeda, maka dianggap sebagai user baru. 3.2.4. Identifikasi Session Identifikasi suatu session pada web log dilakukan dengan mengelompokkan request-request dari alamat IP yang sama dalam suatu rentang waktu tertentu. Nilai default untuk waktu session pada webserver Apache adalah 1.440 detik atau 24 menit seperti ditunjukkan pada Gambar 3.2. Tujuan dari identifikasi session adalah untuk menemukan pola akses setiap pengguna dan halaman yang sering diakses. Metode yang paling sederhana adalah menggunakan timeout, di mana jika waktu antara permintaan halaman melebihi batas
22 tertentu, dianggap pengguna memulai session baru. Banyak produk komersial menggunakan waktu 30 menit sebagai nilai default timeout [11]. Gambar 3.2. Nilai default untuk lama waktu session pada webserver Apache 3.2.5. base of clean log Setelah tahapan raw web log data, data cleaning, identifikasi user, dan identifikasi session, data web log siap digunakan untuk menentukan pola akses pengunjung web server. 3.3. Perancangan Program Aplikasi untuk Cleaning Pembuatan program aplikasi untuk data cleaning menggunakan bahasa pemrograman berbasis web (PHP) yang merupakan bahasa pemrograman open source. Proses pembuatan program dibuat sesuai dengan tahapan untuk menganalisis data akses pada web log. Tahapan yang harus dilakukan adalah mengubah format file web log (.txt) menjadi format.csv. Hal ini perlu dilakukan untuk mempermudah memasukan data tersebut ke dalam tabel pada database MySQL, seperti ditunjukkan pada Gambar 3.3. Web Log (*.txt) Ubah ke Format *.csv Masukkan ke base MySQL Gambar 3.3. Memasukkan data web log ke dalam base MySQL
23 3.3.1. Tampilan Awal Program Aplikasi untuk Cleaning Tampilan awal program aplikasi untuk data cleaning ditunjukkan seperti pada Gambar 3.4. Tahapan awal adalah memilih file weblog (.txt) untuk diubah menjadi format file.csv dengan menekan tombol browse, kemudian menekan tombol OK. Gambar 3.4. Tampilan Awal Program Aplikasi untuk Cleaning Setelah menekan tombol OK, akan ditampilkan data weblog, kemudian simpan dalam format.csv. Gambar 3.5. menunjukan proses menyimpan data ke format.csv. Gambar 3.5. Menyimpan dalam Format.csv
24 Tahapan selanjutnya memasukan data format.csv ke dalam tabel weblog pada database MySQL, seperti ditunjukkan pada Gambar 3.6. Gambar 3.6. Tabel Weblog pada base MySQL 3.3.2. Cleaning weblog yang telah dimasukkan ke database MySQL telah siap digunakan untuk proses data cleaning terhadap informasi yang tidak relevan. Algoritma untuk menyaring informasi yang tidak relevan (data cleaning) adalah sebagai berikut : Step 1 : Input web log (MySQL) Step 2 : Baca data web log yang tersimpan dalam database MySQL Step 3 : Hapus data jika terdapat file berekstensi.jpg,.gif,.png,.ico,.css,.js, GET /HTTP, atau spasi pada bagian request method. Step 4 : Ulangi step 2 dan 3 untuk data selanjutnya sampai seluruh data web log selesai dibaca (eof). Step 5 : Proses selesai. Gambar 3.7. menunjukkan flowchart untuk menyaring informasi yang tidak relevan (data cleaning) dan Gambar 3.8. menunjukkan tampilan program hasil proses data cleaning.
25 Mulai Weblog (MySQL) Baca Hapus data yang tidak relevan Tampilkan eof? Selesai Gambar 3.7. Flowchart Cleaning Gambar 3.8. Tampilan Program Hasil Proses Cleaning
26 3.3.3. Jumlah Pengunjung Berdasarkan IP Address Jumlah pengunjung berdasarkan IP Address dilakukan setelah proses data cleaning. Algoritma untuk menentukan jumlah pengunjung adalah sebagai berikut : Step 1 : Input data hasil proses Cleaning. Step 2 : Baca data web log yang telah disaring. Step 3 : Catat IP address dan jumlah yang terbaca. Step 4 : Ulangi step 2 dan 3 untuk data selanjutnya sampai seluruh data web log selesai dibaca (eof). Catat sebagai IP address baru bila belum pernah terbaca atau jumlahkan jika IP address sudah pernah terbaca sebelumnya. Step 5 : Proses selesai. Gambar 3.9. menunjukkan flowchart jumlah pengunjung berdasarkan IP Address dan Gambar 3.10. menunjukkan tampilan program jumlah pengunjung berdasarkan IP Address. Mulai Clean Baca Catat IP Address dan Jumlahnya Tampilkan eof? Selesai Gambar 3.9. Flowchart Jumlah Pengunjung Berdasarkan IP Address
27 Gambar 3.10. Tampilan Program Jumlah Pengunjung Berdasarkan IP Address 3.3.4. Frekuensi Akses berdasarkan Halaman yang dikunjungi Frekuensi akses berdasarkan halaman yang dikunjungi dilakukan setelah proses data cleaning. Algoritma untuk menentukan jumlah pengunjung adalah sebagai berikut : Step 1 : Input data hasil proses Cleaning. Step 2 : Baca data web log yang telah disaring. Step 3 : Catat halaman yang diakses dan jumlah yang terbaca pada field request method. Step 4 : Ulangi step 2 dan 3 untuk data selanjutnya sampai seluruh data web log selesai dibaca (eof). Catat sebagai halaman baru bila belum pernah terbaca atau jumlahkan jika halaman sudah pernah terbaca sebelumnya. Step 5 : Proses selesai. Gambar 3.11. menunjukkan flowchart Frekuensi akses berdasarkan halaman yang dikunjungi dan Gambar 3.12. menunjukkan tampilan program Frekuensi akses berdasarkan halaman yang dikunjungi.
28 Mulai Clean Baca Catat Halaman dan Jumlahnya Tampilkan eof? Selesai Gambar 3.11. Flowchart Frekuensi Akses berdasarkan Halaman yang Dikunjungi Gambar 3.12. Tampilan Program Frekuensi Akses berdasarkan Halaman yang Dikunjungi
29 3.3.5. Kode Status yang terjadi pada saat Mengakses Halaman Website Kode status yang terjadi pada saat mengakses halaman website dilakukan setelah proses data cleaning. Algoritma untuk menentukan kode status adalah sebagai berikut : Step 1 : Input web log (MySQL) Step 2 : Baca data web log yang tersimpan dalam database MySQL Step 3 : Catat kode status dan jumlah yang terbaca pada field error. Step 4 : Ulangi step 2 dan 3 untuk data selanjutnya sampai seluruh data web log selesai dibaca (eof). Catat sebagai kode status baru bila belum pernah terbaca atau jumlahkan jika kode status sudah pernah terbaca sebelumnya. Step 5 : Proses selesai. Gambar 3.13. menunjukkan flowchart Kode status yang terjadi dan Gambar 3.14. menunjukkan tampilan program Kode status yang terjadi. Mulai Clean Baca Catat Kode Status dan Jumlahnya Tampilkan eof? Selesai Gambar 3.13. Flowchart Frekuensi Kode Status yang terjadi
30 Gambar 3.14. Tampilan Program Kode Status yang terjadi 3.3.6. Kapasitas File yang dikunjungi Kapasitas file yang dikunjungi dilakukan setelah proses data cleaning. Algoritma untuk menentukan jumlah pengunjung adalah sebagai berikut : Step 1 : Input data hasil proses Cleaning. Step 2 : Baca data web log yang telah disaring. Step 3 : Catat halaman yang diakses dan kapasitas file yang terbaca pada field bytes. Step 4 : Ulangi step 2 dan 3 untuk data selanjutnya sampai seluruh data web log selesai dibaca (eof). Catat sebagai halaman baru bila belum pernah terbaca atau jumlahkan kapasitas file jika halaman sudah pernah terbaca sebelumnya. Step 5 : Proses selesai. Gambar 3.15. menunjukkan flowchart kapasitas file yang dikunjungi dan Gambar 3.16. menunjukkan tampilan program kapasitas file yang dikunjungi.
31 Mulai Clean Baca Catat Halaman & Kapasitas File Tampilkan eof? Selesai Gambar 3.15. Flowchart Kapasitas File yang dikunjungi Gambar 3.16. Tampilan Program Kapasitas File yang dikunjungi 3.3.7. Frekuensi Akses Berdasarkan Rujukan (Referrer) Frekuensi akses berdasarkan rujukan (referrer) dilakukan setelah proses data cleaning. Algoritma untuk menentukan Frekuensi akses berdasarkan rujukan (referrer) adalah sebagai berikut :
32 Step 1 Step 2 Step 3 Step 4 Step 5 : Input data hasil proses Cleaning. : Baca data web log yang telah disaring. : Catat rujukan (referrer) dan jumlah yang terbaca pada field referrer. : Ulangi step 2 dan 3 untuk data selanjutnya sampai seluruh data web log selesai dibaca (eof). Catat sebagai rujukan (referrer) baru bila belum pernah terbaca atau jumlahkan jika rujukan (referrer) sudah pernah terbaca sebelumnya. : Proses selesai. Gambar 3.17. menunjukkan flowchart Frekuensi akses berdasarkan rujukan (referrer) dan Gambar 3.18. menunjukkan tampilan program Frekuensi akses berdasarkan rujukan (referrer). Mulai Clean Baca Catat Rujukan dan Jumlahnya Tampilkan eof? Selesai Gambar 3.17. Flowchart Frekuensi Akses berdasarkan Rujukan (Referrer)
33 Gambar 3.18. Tampilan Program Frekuensi Akses berdasarkan Rujukan (Referrer) 3.3.8. Frekuensi Akses Berdasarkan Penggunaan User Agent (Browser) Frekuensi akses berdasarkan penggunaan user agent (browser) dilakukan setelah proses data cleaning. Algoritma untuk menentukan Frekuensi akses berdasarkan penggunaan user agent (browser) adalah sebagai berikut : Step 1 : Input data hasil proses Cleaning. Step 2 : Baca data web log yang telah disaring. Step 3 : Catat user agent (browser) dan jumlah yang terbaca pada field browser. Step 4 : Ulangi step 2 dan 3 untuk data selanjutnya sampai seluruh data web log selesai dibaca (eof). Catat sebagai browser baru bila belum pernah terbaca atau jumlahkan jika browser sudah pernah terbaca sebelumnya. Step 5 : Proses selesai. Gambar 3.19. menunjukkan flowchart Frekuensi akses berdasarkan penggunaan user agent (browser) dan Gambar 3.20. menunjukkan tampilan program Frekuensi akses berdasarkan penggunaan user agent (browser).
34 Mulai Clean Baca Catat User Agent & Jumlahnya Tampilkan eof? Selesai Gambar 3.19. Flowchart Frekuensi Akses berdasarkan Penggunaan User Agent (Browser) Gambar 3.20. Tampilan Program Frekuensi Frekuensi Akses berdasarkan Penggunaan User Agent (Browser)
35 3.4. Tahapan Proses Analisis Pola Akses Pengunjung Web Server Proses analisis dimulai dengan membaca file web log yang telah melalui tahapan raw web log data, data cleaning, identifikasi user, dan identifikasi session. Proses dilanjutkan dengan menganalisis baris data untuk menentukan apakah baris data tersebut mengandung data yang merepresentasikan fungsi tertentu. Dari analisis diatas diharapkan pengelola website dapat mengetahui pola akses pengunjung web server untuk perbaikan kinerja website, berkaitan dengan : 1. Trafik pada website; Trafik atau biasa di sebut Bandwidth dapat diartikan dengan ukuran dari transfer data yang telah dilakukan oleh sebuah website. Bandwidth dipengaruhi dan ditentukan oleh jumlah pengunjung, banyaknya halaman yang dikunjungi dan juga besarnya file yang diakses. 2. Banyaknya kunjungan setiap halaman website; Informasi yang terdapat pada setiap halaman web menjadi hal yang penting untuk setiap pengunjung suatu website. Seberapa sering suatu halaman web diakses oleh pengunjung dapat menjadi perhatian bagi pengelola website. 3. Kesalahan yang terjadi pada saat mengakses halaman website; Ketika seseorang mengunjungi suatu halaman website, mengklik link, menulis URL atau submit form, browser akan mengirimkan permintaan ke server. Setiap permintaan akan menghasilkan respon HTTP yang berisi nomor kode. Berdasarkan nomor kode ini pengelola website dapat mengetahui kesalahan dan kegagalan yang terjadi. 4. User access pattern pada tiap halaman website; Berdasarkan trafik yang terjadi pada suatu website, pola akses dari pengunjung (User access pattern) pada tiap halaman website dapat ditentukan. Bagaimana cara user dapat menemukan informasi setiap halaman website. 5. Behaviour user pattern (waktu akses, halaman favorit dan sebagainya). Berdasarkan trafik yang terjadi pada suatu website, pola tingkah laku dari pengunjung (User access pattern) pada tiap halaman website dapat ditentukan. Bagaimana cara user melihat informasi setiap halaman website.
36 6. Browser yang banyak dipergunakan oleh user. Browser adalah perangkat lunak yang dipakai untuk menjelajahi internet. Browser yang paling banyak dipergunakan oleh pengunjung website dapat dijadikan sebagai referensi dalam mendesain halaman website. 3.5. Mengamati Web log menggunakan Software Webalizer. Webalizer adalah sebuah program untuk melakukan logging host yang mengakses ke HTTP server untuk dibuat statistiknya seperti ditunjukkan pada Gambar 3.21. Gambar 3.21. Webalizer logs [12] Dari gambar di atas, semua access dari http clients ke web server dicatat oleh program webalizer dan dibuatkan statistiknya dalam kurun waktu tertentu. Webalizer dapat mencatat halaman mana saja yang sering dikunjungi oleh http client dalam sebulan.