Anda di halaman 1dari 6

31

Preprocessing Data Web Log Untuk Kluster Pengguna Web


Menggunakan Algoritma K-Means
Yuhefizar1) Yoyon K Suprapto2) Mochamad Hariadi3) I Ketut Eddy P.4)
1)

Prodi Manajemen Informatika, Jurusan Teknologi Informasi, Politeknik Negeri Padang,


Kampus Limau Manis, Padang, 25136
Telp : 0751-72590, Fax : 0751-72576
email: yuhefizar@polinpdg.ac.id1), {yoyonsuprapto2), mochar3), ketut4)}@ee.its.ac.id

Abstrak - Preprocessing data web log merupakan langkah


terpenting dalam kegiatan web usage mining untuk
mendapatkan pola tingkah laku pengunjung website.
Tahapan ini sangat menentukan kualitas hasil dari sebuah
web usage mining, oleh karena itu harus dilakukan secara
baik dan benar. Dalam paper ini dilakukan preprocessing
dengan menggunakan pendekatan query untuk mendapat
data web log yang valid dan kemudian dilakukan kluster
user menggunakan algoritma K-Means. Kami telah menguji
metoda ini pada website e-commerce dan mampu
mengurangi data tidak valid hingga 88,8% dan hasil
penerapan algoritma K-Means dapat memberikan
pengetahuan baru dalam mengelompokan pengguna website
serta dapat digunakan untuk berbagai aplikasi website.

algoritma K-Means. 80% kegiatan web usage mining


digunakan untuk tahap ini[12].
Data valid adalah data yang merujuk langsung ke
sebuah halaman website yang mengandung informasi. Item
data yang terkandung dalam halaman website yang otomatis
direkam sebagai log sewaktu user mengakses sebuah
halaman web seperti file gambar, audio, video, status akses
selain berawalan 2 (3xx,4xx,5xx) dan lainnya disebut data
tidak valid dalam paper ini.
Paper ini membahas tentang teknik dalam melakukan
preprocessing data web log menggunakan pendekatan
structure query language untuk penerapan algoritma Kmeans.
II. PENELITIAN TERKAIT

Kata Kunci: Preprocessing, data web log, Query, web usage


mining, K-Means
I. PENDAHULUAN
Website merupakan bagian yang terpenting dalam era
informasi saat ini. Hampir 80% [1] layanan di Internet
tersedia dalam bentuk website sebagai media dalam
menyebarkan informasi. Ini menandakan bahwa peran
website sangat penting. Dilain pihak, statistik pengguna
internet didunia terus naik secara signifikan, seperti terlihat
dalam laporan internet world stats [2], pengguna internet
dunia hingga maret 2011 telah mencapai 2.095.006.005
pengguna dan berdasarkan laporan www.domaintools.com
[3], website yang aktif hingga 28 Oktober 2011 sejumlah
134,296,564 website
Tingginya jumlah pengunjung sebuah website,
mengakibatkan website tersebut mempunyai data log yang
sangat besar dan data tersebut perlu di olah lebih lanjut (web
mining) guna mendapat pola pengunjung website untuk
berbagai keperluan. Data log yang besar tersebut
mengandung hal-hal yang tidak diperlukan (irrelevant data)
dalam proses mining sehingga perlu upaya untuk
memperbaiki kualitasnya.
Oleh karena itu topik penelitian dibidang web mining
menjadi kajian menarik dan terus berkembang saat ini. Salah
satu kajian tersebut adalah web usage mining untuk
menganalisa data log sebuah website, baik berdasarkan log
pada web server, proxy server ataupun disisi client (browser
log) [4].
Tahapan terpenting dalam web usage mining adalah
melakukan preprocessing [5] terhadap data web log yang
jumlahnya sangat besar menjadi data log yang valid, dalam
hal ini dilakukan kluster pengguna web menggunakan

Data Log berisi informasi penting tentang tingkah laku


user selama berkunjung pada sebuah web. Krishnamoorthi
[8] mengajukan 2 teknik preprocessing data web log, yaitu
data cleaning dengan menghapus item data gambar dari log
dan user identification dengan menggunakan 3 attribut (IP
Address, Operating System dan User Agent).
Wahab [9] menggunakan pendekatan programming
(algoritma) untuk memindahkan data log menjadi sebuah
database dan menghapus item data log yang tidak berguna.
Metode hampir sama juga dilakukan oleh Theint Theint Aye
[13] dengan penekanan preprocessing data log pada field
ekstraksi, menghapus data yang tidak berguna dan reduksi
data. Data yang valid disimpan dalam sebuah DBMS.
Dalam paper ini, dilakukan pola terbalik dari metode
yang diajukan oleh Wahab [9] dan Theint Thein Aye [13],
yaitu dengan mengkonversi langsung data log menjadi
database dengan tanpa programming dan melakukan proses
preprocessing, meliputi ekstraksi data, data cleaning,
pageview identification, dengan pendekatan query kemudian
dilakukan proses penentuan kelompok pengguna website
menggunakan algoritma K-Means.
III. TINJAUAN PUSTAKA
3.1 Web Mining
Web mining [6] merupakan topik khusus dari ranah
data mining untuk menemukan knowledge dari data web.
Web mining terdiri atas tiga kategori [7], Perhatikan gambar
1, yaitu :
1. Web Content Mining
2. Web Structure Mining
3. Web Usage Mining
Web Content Mining adalah proses untuk menemukan
knowledge dari konten sebuah website, yaitu dari teks,

JAVA Journal of Electrical and Electronics Engineering, Vol. 8, No.1, Apr . 2010, ISSN 1412-8306

32

gambar, data audio, data video maupun data lainnya. Area


web content mining ini sering juga disebut dengan text
mining karena konten berupa teks yang paling banyak di
teliti.
Web Structure Mining adalah kegiatan untuk
menemukan knowledge dari data link (hyperlink) sebuah
website. Kajian web structure mining banyak ke arah web
graph sehingga menghasilkan semacam
ringkasan
terstruktur tentang informasi dari sebuah halaman web.
Web Usage Mining merupakan kegiatan untuk
memperoleh knowledge dari data web log sebuah website.
Data web log ini berisi informasi transaksi dari pengguna
sebuah website. Data transaksi ini tersimpan secara otomatis
pada web server, proxy server atau browser log.

Gambar 1 : Kategori Web Mining


3.2. Web Usage Mining
Secara umum, web usage mining adalah teknik data
mining untuk menemukan pola-pola dari tingkah laku
pengunjung sebuah website [6]. Setiap klik (clickstream)
yang dilakukan oleh seorang pengguna web akan otomatis
direkam oleh web server sebagai data log.
Data log secara umum berisi informasi :

IP Address dan user ID


Tanggal dan jam akses
Metode akses
Halaman web yang sedang diakses
Protokol dan versi yang digunakan
Status Ukuran halaman web
Referer
User agent, dan lainnya.

IV. PEMBAHASAN
4.1 Peta Sistem
Tahapan preprocessing dan klusterisasi dilakukan
seperti terlihat pada gambar 2.
4.2 Format Data Web Log
Data web log yang dibahas pada paper ini adalah data
web log yang berasal dari web server. Format standar data
web log dari apache web server [8][9] seperti berikut :
223.255.224.12 - - [23/Oct/2011:19:06:52 +0700] "GET
/katalog.html
HTTP/1.1"
200
19109
"http://etokobuku.com/penulis.html" "Mozilla/5.0 (Windows NT
6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
1. 223.255.224.12 merupakan IP Address dari pengguna
website.
2. - -, user ID,dalam hal ini kosong (anonim).
3. [23/Oct/2011:19:06:52 +0700], informasi tanggal dan
jam akses serta zona waktu yang digunakan.
4. "GET /katalog.html HTTP/1.1", metode akses,
halaman yang diakses serta protokol yang digunakan.
5. 200, status akses.
6. 19109, ukuran dari halaman web yang sedang diakses.
7. http://e-tokobuku.com/penulis.html, halaman web
referer
8. "Mozilla/5.0
(Windows
NT
6.1;
rv:7.0.1)
Gecko/20100101 Firefox/7.0.1", user agent, termasuk
didalamnya browser yang digunakan, sistem operasi
serta versinya.
Data web log ini tersimpan pada sebuah single file
dengan jumlah data mencapai ribuan bahkan lebih
tergantung kepada statistik kunjungan dari sebuah website.

3.3. Algoritma K-Means


K-Means merupakan salah satu metode data clustering
dengan mempartisi data yang ada menjadi beberapa
cluster/kelompok, sehingga data yang memiliki karakteristik
yang sama dikelompokkan ke dalam satu cluster yang sama
dan data yang mempunyai karakteristik yang berbeda
dikelompokkan ke dalam cluster yang lain[10].
Konsep dasar algoritma K-Means adalah[10] :
1.
2.
3.
4.
5.

Tentukan jumlah cluster


Alokasikan data ke dalam cluster secara random
Hitung centroid/rata-rata dari data yang ada di
masing-masing cluster
Alokasikan masing-masing data ke centroid/ratarata terdekat
Kembali ke Step 3, apabila masih ada data yang
berpindah cluster atau apabila perubahan nilai
centroid.

Gambar 2 : Peta Sistem


Berikut ini contoh data web log untuk 4 data.
180.254.140.182 - - [24/Oct/2011:00:06:03 +0700]
"GET
/
HTTP/1.1"
200
13604
"http://www.facebook.com/ " "Mozilla/5.0 (Windows
NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko)
Chrome/13.0.782.220 Safari/535.1"

JAVA Journal of Electrical and Electronics Engineering, Vol. 8, No.1, Apr . 2010, ISSN 1412-8306

33

180.254.140.182 - - [24/Oct/2011:00:06:04 +0700]


"GET /style.css HTTP/1.1" 200 1738 "http://etokobuku.com/" "Mozilla/5.0 (Windows NT 5.1)
AppleWebKit/535.1
(KHTML,
like
Gecko)
Chrome/13.0.782.220 Safari/535.1"
180.254.140.182 - - [24/Oct/2011:00:06:05 +0700]
"GET /images/tm_left.gif HTTP/1.1" 200 380 "http://etokobuku.com/" "Mozilla/5.0 (Windows NT 5.1)
AppleWebKit/535.1
(KHTML,
like
Gecko)
Chrome/13.0.782.220 Safari/535.1"
180.254.140.182 - - [24/Oct/2011:00:06:05 +0700]
"GET /images/tm_right.gif HTTP/1.1" 200 366
"http://e-tokobuku.com/" "Mozilla/5.0 (Windows NT
5.1) AppleWebKit/535.1 (KHTML, like Gecko)
Chrome/13.0.782.220 Safari/535.1"
4.3 Tahapan Preprocessing dan klusterisasi
Tujuan dari tahap preprocessing
adalah untuk
meningkatkan kualitas data dan meningkatkan keakuratan
hasil dari web usage mining. Tahapan preprocessing dan
klusterisasi yang dilakukan meliputi :
1. Ekstraksi data web log
2. Data cleaning,
3. Pageview identification,
4. Statistik user identification,
5. Penerapan algoritma K-Means

(.css, .js), file gambar (.jpg, .gif, .jpeg, dll), file audio video
(.wav, .avi, .wmf, dll). Item data tersebut tidak memberikan
informasi yang bermanfaat terhadap analisa pola tingkah
laku dari pengguna website.
Query yang diberikan pada tahap ini adalah :
DELETE FROM namatabel WHERE `target` LIKE
'%.ico' OR `URL Target` LIKE '%.gif' OR `URL
Target` LIKE '%.jpg' OR `URL Target` LIKE '%.jpeg'
OR `URL Target` LIKE '%.wav' OR `URL
Target`LIKE '%.avi' OR `URL Target` LIKE '%.wmf'
OR `URL Target` LIKE '%bot%' OR `URL Target`
LIKE '%.txt' OR `URL Target` LIKE '%.css';

4.3.3 Pageview Identification


Pageview identification adalah proses dalam
menentukan halaman web mana saja yang diakses dan
siapa saja yang mengakses halaman web tersebut. Dapat
dimodelkan dengan rumus (1).
  , , , 

Dengan P adalah pageview dan p1,p2...pn merupakan


jumlah halaman web.
Sedangkan untuk transaksi
pengguna web dapat dimodelkan dengan rumus (2).

,
 , ,

4.3.1 Ekstraksi Data Web Log


Data web log dari web server yang berbentuk single
file di ekstrak dan di konversi menjadi field -field database.
Proses konversi dilakukan dengan memanfaatkan software
pengolah data spreadsheet dan aplikasi PHPMyAdmin. Data
log diakses menggunakan software spreadsheet, kemudian
dilakukan proses memisahkan data menjadi kolom. Data ini
kemudian di impor ke aplikasi PHPMyAdmin menjadi
sebuah database.
Field -field yang tidak perlu, dihapus pada tahap ini,
sehingga menghasilkan sebuah database web log. Contoh
tampilan akhir tahap ekstraksi data dengan 6 field , terlihat
pada tabel 1.

(1)

(2)

Dengan T adalah transaksi user dan t1,t2...tm


merupakan jumlah transaksi user. Dimana setiap t,
adalah bagian dari P.

Query untuk menentukan jumlah pageview adalah


SELECT count(*)FROM namatabel
WHERE `target` = 'halamanweb';
Query untuk menentukan jumlah user unik per halaman
web :
SELECT count(DISTINCT(`ip`))
FROM namatabel
WHERE `target` = 'halamanweb';

Tabel 1: Field data web log


4.3.4 Statistik User Identification
User identification adalah proses menentukan interaksi
user pada website serta membedakan interaksi antar user.
Untuk keperluan cluster pengguna web, dilakukan user
identification dengan menghitung hits kunjungan user pada
halaman website dengan algoritma 1 :
Telah diambil 6 data penting dari data web log yaitu
field ip address, tanggal dan jam akses, URL target, referer
dan browser yang digunakan untuk keperluan penelitian ini.
4.3.2 Data Cleaning
Data cleaning adalah proses membersihkan data dari
item data yang tidak memberikan informasi berguna dalam
analisis selanjutnya. Item data yang dihapus adalah file style

Algoritma 1 :
Input : DB Log File
Output: File Excell statistik user identification
Mulai
1. buka koneksi ke database
2. lakukan perulangan sesuai jumlah data unik user
3. Siapkan variabel yang dibutuhkan
4. hitung hits user per halaman web, simpan ke
variabel

JAVA Journal of Electrical and Electronics Engineering, Vol. 8, No.1, Apr . 2010, ISSN 1412-8306

34

5. Kembali ke langkah 2
6. tampilkan output ke format file excell.
7. tutup database.
Selesai.

andil yang sangat besar dalam menentukan kevalidan dan


kecepatan proses web mining berikutnya.
Hasil dari proses pageview identification

4.3.5 Penerapan Algoritma K-Means

Halaman web

Berdasarkan data hit user pada setiap halaman web,


dapat dilakukan proses cluster menggunakan metode KMeans dengan terlebih dahulu melakukan percobaan untuk
menentukan jumlah k terbaik dalam proses ini, Semakin
tinggi nilai jarak antar cluster berarti nilai k yang diberikan
semakin tepat diterapkan. Ditetapkan nilai k=7 dengan jarak
antar cluster seperti terlihat pada tabel 2 :
Tabel 2 : Jarak antar cluster

Tabel 4 : Hasil pageview identification

A
B
C
D
E
F
G
H
I
J
K
L
M
N
Halaman web

V. PERCOBAAN
Berikut ini adalah hasil percobaan dari tahapan
preprocessing dan klusterisasi yang diuji pada data log
www.e-tokobuku.com sesuai dengan query dan algoritma 1.
Data log diambil dari tanggal 23 Oktober hingga 11
Nopember 2011.

O
P
Q
R
S
T

Jumlah
Pageview
497
51
66
54
80
68
75
74
46
74
51
115
38
25
Jumlah
Pageview
8
11
14
9
18
4

Jumlah Unik
User
363
46
59
45
76
64
69
68
44
66
49
106
36
25
Jumlah Unik
User
8
11
13
9
16
4

Dari tabel 4, dapat dilihat perbandingan jumlah hits


dari sebuah halaman web serta jumlah user unik yang
mengunjunginya.

Hasil dari proses data cleaning (lihat tabel 3)

Hasil dari proses statistik user identification

Tabel 3 : Perbandingan jumlah data sebelum dan sesudah


data cleaning

Jumlah halaman web disimbolkan dengan huruf A, B,


C hingga T, sedangkan Ip Address menandakan User
sejumlah 100 user. Nilai 9 pada baris pertama di kolom A
memberikan informasi bahwa user dengan IP 202.46.129.17
telah mengakses halaman web (A) sebanyak 9 kali dalam
periode waktu tertentu.

Jumlah Data

Sebelum
Cleaning
15.473 data

Setelah
Cleaning
1.378 data

Dari tabel 3 diperoleh kesimpulan bahwa terdapat 88,8


% dari data mentah yang tidak digunakan dalam proses
mining yang akan dilakukan, sehingga tahap ini memberikan

JAVA Journal of Electrical and Electronics Engineering, Vol. 8, No.1, Apr . 2010, ISSN 1412-8306

35

Tabel 5 : Jumlah hits user per halaman website.

Hasil dari Penerapan Al goritma K-Means (lihat gambar 4)

Gambar 4 : Hasil Cluster Pengguna Web Dengan final cluster center terlihat pada tabel 6.
Tabel 6 : Final Cluster Center

VI. KESIMPULAN
Data preprocessing merupakan bagian yang sangat
penting dalam proses website usage mining. Kualitas dari
proses website usage mining sangat ditentukan oleh
ketersediaan data yang valid dan akurat. Oleh karena itu
proses ini membutuhkan waktu yang lama.
Dalam paper ini, kami mengajukan metode
preprocessing data dengan pendekatan query (lihat
gambar 2), yaitu data web log (raw data) dikonversi
menjadi DBMS terlebih dahulu kemudian tahapan

berikutnya dilakukan berbasis query untuk keperluan


cluster pengguna web menggunakan algoritma K-Means.
Berdasarkan metode yang diusulkan, dapat
mengurangi data yang tidak valid dari data web log
mentah hingga mencapai 88,8% dan penerapan algoritma
K-Means dapat memberikan pengetahuan baru dalam
mengelompokan pengguna website serta dapat digunakan
untuk berbagai aplikasi website.

JAVA Journal of Electrical and Electronics Engineering, Vol. 8, No.1, Apr . 2010, ISSN 1412-8306

36

DAFTAR PUSTAKA
[1] Yuhefizar, 2008. 10 Jam Menguasai Internet dan
Aplikasinya. Jakarta. PT. Elexmedia Komputindo,
ISBN : 978-979-27-3470-6.
[2] Miniwatts Marketing Group, 2011. Internet Users In
The
World.
http://www.internetworldstats.com/stats.htm Tanggal
akses 25 Oktober 2011
[3] Domain Tools, 2011. Domain Counts & Internet
Statistics.
http://www.domaintools.com/internetstatistics. Tanggal Akses 28 Oktober 2011
[4] Chen H. W., Zong X, Wei L.C., Haw Y.J., 2004.
World Wide Web Usage Mining Systems and
Technologies. Journal Systemic, Cybernetic and
Informatics, Volume 1 No. 4. Pp 53 59.
[5] Raju G.T., Satyanarayana P.S., 2008. Knowledge
Discovery from Web Usage Data: Complete
Preprocessing Methodology. IJCSNS International
Journal of Computer Science and Network Security,
VOL.8 No.1. Pp 179 186.
[6] Bing Liu, 2007. Web Data Mining : Exploring
Hyperlinks, Contents, and Usage Data. Chicago.
Springer.
[7] Pani S.K., Panigrahy L., Sankar V.H., Ratha B.K.,
Mandal A.K., Padhi S.K., 2011. Web Usage
Mining: A Survey on Pattern Extraction from Web
Logs. International Journal of Instrumentation,

Control & Automation (IJICA), Volume 1, Issue 1.


Pp 15 23.
[8]
Suneetha K.R., Krishnamoorthi D.R., 2009.
"Identifying User Behavior by Analyzing Web
ServerAccess Log File." IJCSNS International
Journal of Computer Science and Network Security,
VOL.9 No.4, April 2009.
[9] Wahab M. H. A, Mohd M. N. H. et al. 2008. Data
Preprocessing on Web Server Logs for Generalized
Association Rules Mining Algorithm. World
Academy of Science, Engineering and Technology.
[10]
Agusta.Y,
2007.
K-Means-Penerapan,
Permasalahan dan Metode Terkait. Jurnal Sistem
dan Informatika, Vol. 3. Hal. 47 60.
[11] Jinhuaxu, Hongliu, 2010. Web User Clustering
Analysis based on Kmeans Algorithm, International
Conference on Information, Networking and
Automation (ICINA)
[12] Pabarskaite, Z. (2002). Implementing Advanced
Cleaning
and
End-User
Interpretability
Technologies in Web log Mining. 24th Int. Conf.
information Technology Interfaces/TI 2002, June 2427, 2002, Cavtat, Croatia.
[13] Aye, T.T, 2011. Web Log Cleaning For Mining of
Web Usage Patterns, International Conference on
Computer Research and Development (ICCRD), Vol. 2.
PP. 490-4

JAVA Journal of Electrical and Electronics Engineering, Vol. 8, No.1, Apr . 2010, ISSN 1412-8306

Anda mungkin juga menyukai