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
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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 Data 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 Data
Data Cleaning
User Identification
Data Base of Clean Log
Session Identification
Gambar 3.1. Proses penyiapan data web log [7]
3.2.1. Raw Web Log Data Raw web log merupakan proses penyiapan data web log yang terdapat pada web server. Data 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.
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
21
Data 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. Data 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
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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. Database 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 Data 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 Data (*.txt)
Ubah ke Format *.csv
Masukkan ke Database MySQL
Gambar 3.3. Memasukkan data web log ke dalam Database MySQL
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
23
3.3.1. Tampilan Awal Program Aplikasi untuk Data 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 Data 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 Data dalam Format .csv
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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 Database MySQL
3.3.2. Data Cleaning Data 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 Data 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.
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
25
Mulai Data Weblog (MySQL)
Baca Data Hapus data yang tidak relevan Tampilkan Data
eof ?
Selesai
Gambar 3.7. Flowchart Data Cleaning
Gambar 3.8. Tampilan Program Hasil Proses Data Cleaning
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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 Data 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 Data Clean
Baca Data Catat IP Address dan Jumlahnya Tampilkan Data
eof ?
Selesai
Gambar 3.9. Flowchart Jumlah Pengunjung Berdasarkan IP Address
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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 Data 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.
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
28
Mulai Data Clean
Baca Data Catat Halaman dan Jumlahnya Tampilkan Data
eof ?
Selesai
Gambar 3.11. Flowchart Frekuensi Akses berdasarkan Halaman yang Dikunjungi
Gambar 3.12. Tampilan Program Frekuensi Akses berdasarkan Halaman yang Dikunjungi
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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 Data 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 Data Clean
Baca Data Catat Kode Status dan Jumlahnya Tampilkan Data
eof ?
Selesai
Gambar 3.13. Flowchart Frekuensi Kode Status yang terjadi
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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 Data 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.
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
31
Mulai Data Clean
Baca Data Catat Halaman & Kapasitas File Tampilkan Data
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 :
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
32
Step 1
: Input data hasil proses Data Cleaning.
Step 2
: Baca data web log yang telah disaring.
Step 3
: Catat rujukan (referrer) dan jumlah yang terbaca pada field referrer.
Step 4
: 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.
Step 5
: 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 Data Clean
Baca Data Catat Rujukan dan Jumlahnya Tampilkan Data
eof ?
Selesai
Gambar 3.17. Flowchart Frekuensi Akses berdasarkan Rujukan (Referrer)
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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 Data 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).
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
34
Mulai Data Clean
Baca Data Catat User Agent & Jumlahnya Tampilkan Data
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)
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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.
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.
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.
Universitas Indonesia
Pengembangan program..., Benny Nixon, FT UI, 2010.