• Tidak ada hasil yang ditemukan

The Recommendation System of Hyperlink Addition on a Website based on Website's Data Log.

N/A
N/A
Protected

Academic year: 2017

Membagikan "The Recommendation System of Hyperlink Addition on a Website based on Website's Data Log."

Copied!
66
0
0

Teks penuh

(1)

i

ABSTRACT

KURNIAWAN AJI SAPUTRA. The Recommendation System of Hyperlink Addition on a Website based on Website's Data Log. Supervised by ANNISA S.Kom, M.Kom.

A good website structure is needed by the website visitors. The website structure which is created by the website developer should be in accordance with user preferences. The easier the user can find the target page, the better the website structure is. However if the user still get some difficulties in finding the location of the target page, website developer must change the website structure. Data logs from the website can help developers to improve the structure of the website. Data log should pass through the process of data preprocessing which are data cleaning, user identification, session identification, path completion and transaction identification. After that, expectation location will be searched in the data log by using Find Expectation Location algorithm. Location expectations are then processed using the optimization algorithm (FirstOnly and OptimizeBenefit) to get the recommendation of adding a page link. Finally the improved structure will be displayed using a scalable vector graphic (SVG).

(2)

SISTEM REKOMENDASI PENAMBAHAN

LINK

PADA

WEBSITE

BERDASARKAN DATA

LOG

WEBSITE

KURNIAWAN AJI SAPUTRA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

SISTEM REKOMENDASI PENAMBAHAN

LINK

PADA

WEBSITE

BERDASARKAN DATA

LOG

WEBSITE

KURNIAWAN AJI SAPUTRA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(4)

SISTEM REKOMENDASI PENAMBAHAN

LINK

PADA

WEBSITE

BERDASARKAN DATA

LOG

WEBSITE

KURNIAWAN AJI SAPUTRA

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(5)

i

ABSTRACT

KURNIAWAN AJI SAPUTRA. The Recommendation System of Hyperlink Addition on a Website based on Website's Data Log. Supervised by ANNISA S.Kom, M.Kom.

A good website structure is needed by the website visitors. The website structure which is created by the website developer should be in accordance with user preferences. The easier the user can find the target page, the better the website structure is. However if the user still get some difficulties in finding the location of the target page, website developer must change the website structure. Data logs from the website can help developers to improve the structure of the website. Data log should pass through the process of data preprocessing which are data cleaning, user identification, session identification, path completion and transaction identification. After that, expectation location will be searched in the data log by using Find Expectation Location algorithm. Location expectations are then processed using the optimization algorithm (FirstOnly and OptimizeBenefit) to get the recommendation of adding a page link. Finally the improved structure will be displayed using a scalable vector graphic (SVG).

(6)

i

Judul : Sistem Rekomendasi Penambahan Link Pada Website Berdasarkan Data LogWebsite

Nama : Kurniawan Aji Saputra NRP : G64052249

Menyetujui:

Pembimbing,

Annisa S.Kom., M.Kom. NIP 197907312005012002

Mengetahui :

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor

Dr. Drh. Hasim, DEA NIP 196103281986011002

(7)

ii

KATA PENGANTAR

Puji Syukur penulis panjatkan kepada Allah SWT atas segala rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer di Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor

Ucapan terima kasih penulis sampaikan kepada pihak yang telah membantu penyelesaian tugas akhir ini, antara lain kepada Bapak Muhaeni MS dan Ibu Sumilah sebagai kedua orang tua penulis, dan kepada Henny Dwi Kurniawati sebagai adik penulis yang selalu memberikan motivasi, moril, materiil dan kasih sayang yang diberikan. Terima kasih dan penghargaan setinggi-tingginya kepada Ibu Annisa S.Kom, M.Kom selaku pembimbing skripsi penulis yang telah memberikan saran dan bimbingan selama penelitian berlangsung dan penulisan tugas akhir ini. Selanjutnya ucapan terima kasih saya sampaikan kepada semua civitas Departemen Ilmu Komputer yang telah mendidik, mengajar dan membina penulis. Selanjutnya penulis juga ingin mengucapkan terima kasih kepada teman-teman satu bimbingan yaitu Mega, Mirna, Karin, dan Agnes, terima kasih atas kerjasamanya. Terima kasih kepada teman-teman satu angkatan Ilmu Komputer angkatan 42 yang telah memberikan semangat dan kebersamaan dalam pengerjaan tugas akhir ini.

Penulis menyadari masih banyak kekurangan di dalam penyusunan tugas akhir ini. Oleh karena itu, saran dan kritik yang membangun sangat diharapkan sehingga tugas akhir ini akan lebih baik dan lebih bermanfaat. Amin

Bogor, Juli 2009

(8)

iii

RIWAYAT HIDUP

Penulis dilahirkan di Purworejo pada tanggal 06 Februari 1987 sebagai anak pertama dari dua bersaudara dari pasangan Muhaeni MS dan Sumilah. Penulis beralamatkan di Desa Panggeldlangu RT 02 RW I kecamatan Butuh, Kabupaten Purworejo, Jawa Tengah.

(9)

iv

DAFTAR ISI

Halaman

DAFTAR ISI ... iv

DAFTAR GAMBAR ... v

DAFTAR LAMPIRAN ... v

PENDAHULUAN ... 1

Latar Belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat ... 1

TINJAUAN PUSTAKA ... 1

Web Mining ... 1

Struktur Website ... 1

Data Log ... 2

Data Preprocessing ... 2

Penentuan Halaman Target ... 4

Model Pencarian Pengguna ... 4

Scalable Vector Graphic (SVG) ... 5

METODE PENELITIAN ... 5

Penambahan Tabel Database ... 6

Pengambilan Data Log asli Website ... 6

Data Preprocessing ... 6

Data Processing ... 7

Visualisasi ... 7

Lingkungan Pengembangan Sistem ... 8

Batasan Sistem ... 8

HASIL DAN PEMBAHASAN... 8

Penambahan Tabel Database ... 8

Pengambilan Data Log asli Website ... 9

Data Preprocessing ... 10

Data Processing ... 11

Visualisasi ... 12

KESIMPULAN DAN SARAN... 13

Kesimpulan ... 13

Saran ... 13

DAFTAR PUSTAKA ... 13

(10)

v

DAFTAR GAMBAR

Halaman

1 Struktur Berurut (Veer et al. 2004) ... 1

2 Struktur Bertingkat dua (Veer et al. 2004) ... 2

3 Struktur Bertingkat tiga (Veer et al. 2004) ... 2

4 Struktur Kombinasi Berurut dan Bertingkat (Veer et al. 2004) ... 2

5 Struktur Jaringan (Veer et al. 2004) ... 2

6 Data Preprocessing (Cooley et al. 1999) ... 4

7 Model Pencarian Pengguna (Srikant & Yang 2001) ... 5

8 Metode Penelitian ... 5

DAFTAR LAMPIRAN Halaman 1 Atribut-atribut tabel database tambahan ... 15

2 Contoh baris di dalam data log asli website ... 16

3 Halaman Target... 17

4 Halaman yang diminta pengunjung ... 18

5 Alamat IP Pengunjung... 19

6 Session identification... 20

7 Path Completion ... 21

8 Transaction Identification ... 22

9 Lokasi Harapan ... 23

10 Visualisasi Struktur Website hasil penelitian ... 24

11 Hasil dan Visualisasi algoritme FirstOnly ... 25

(11)

1

PENDAHULUAN

Latar Belakang

Website yang baik adalah yang mampu menyediakan layanan yang baik kepada setiap pengunjungnya. Pengunjung akan tetap bertahan pada website tersebut sampai sesuatu yang mereka inginkan sudah berhasil didapatkan. Pembangunan sebuah website yang baik harus memperhatikan tujuan dari pengembangan website tersebut. Layanan apa saja yang nantinya akan diberikan kepada pengunjungnya. Sedapat mungkin layanan yang ditujukan sebagai layanan utama ini diletakkan di halaman yang mudah ditemukan. Jika tidak ditampilkan pada halaman utama maka sebaiknya diberikan jalan pintas ataupun

hyperlink ke halaman tujuan tersebut.

Pada penelitian Nurdian Setyawan (2008) yang berjudul Rekomendasi Penambahan Link

pada Web Berdasarkan Pola Akses Pengguna sudah berhasil mengimplementasikan algoritme yang tepat untuk menentukan halaman target yang pengguna cari. Namun hasil penelitian tersebut masih berupa tabel-tabel yang sulit dimengerti oleh pengembang ataupun pengguna biasa. Penelitian ini akan memvisualisasikan hasil rekomendasi penambahan hyperlink

tersebut dengan menggunakan website yang sederhana sehingga mudah dimengerti oleh pengguna maupun pengembang website.

Data yang digunakan pada penelitian sebelumnya masih menggunakan data dummy,

maka pada penelitian ini akan menggunakan data log asli website yang sebenarnya. Dengan demikian, sistem hasil penelitian ini diharapkan dapat dimanfaatkan oleh pengembang website

untuk dapat memperbaiki struktur web-nya agar sesuai dengan harapan pengguna yaitu dengan menambahkan hyperlink dari lokasi harapan ke lokasi target.

Tujuan

Tujuan dari penelitian ini adalah membuat halaman rekomendasi website yangditerapkan ke dalam sebuah website artificial dengan menggunakan data log asli website.

Ruang Lingkup

Penelitian ini dibatasi pada data path

halaman dari sebuah website yang dikunjungi oleh pengguna yang diperoleh dari data log asli

website yang menggunakan apache-server.

Manfaat

Simulasi hasil rekomendasi penambahan

hyperlink pada website berdasarkan data log

website ini diharapkan mampu membantu para pengembang website untuk membuat struktur

web yang baik sehingga dapat meningkatkan kepuasan terhadap pengguna website itu sendiri.

TINJAUAN PUSTAKA Web Mining

Pada penelitian web mining sebelumnya Nurdian Setyawan (2008) telah berhasil menerapkan Algortime Find Expectation Location dan Algoritme Optimasi (FirstOnly, OptimizeBenefit, dan OptimizeTime) untuk menentukan lokasi-lokasi harapan yang ditambahkan hyperlink untuk mencapai halaman target sebagai upaya memperbaiki struktur website agar sesuai dengan harapan pengunjung. Penelitian yang mengacu pada penelitian dengan judul Mining Web Logs to Improve Website Organization (Srikant & Yang 2001) ini juga menggunakan pendekatan waktu untuk menghitung optimasi dari masing-masing algoritme optimasi yang digunakan.

Struktur Website

Struktur website perlu diorganisasikan dengan baik agar pengunjung puas terhadap layanan yang diberikan dan memudahkan dalam pencarian informasi yang diperlukan. Struktur

website tergantung dari tujuan pengembangannya seperti berikut ini (Veer et al. 2004)

a. Struktur Berurut

Pada halaman utama hanya terdapat

hyperlink ke halaman berikutnya dan untuk halaman yang lainnya terdapat hyperlink ke halaman sebelumnya, hyperlink ke halaman selanjutnya dan hyperlink ke halaman utama. Bentuk struktur berurut seperti pada Gambar 1.

Halaman 1

Halaman 1 Halaman 2Halaman 2 Halaman 3 Halaman 3 Halaman 4Halaman 4

Gambar 1 Struktur Berurut (Veer et al. 2004)

b. Struktur Bertingkat

(12)

2

Halaman isi 1 Halaman isi 1 Halaman isi 2 Halaman isi 2 Halaman isi 3 Halaman isi 3 Halaman isi 4 Halaman isi 4 Halaman Menu Halaman Menu

Gambar 2 Struktur Bertingkat dua (Veer et al.

2004) Halaman isi 1 Halaman isi 1 Halaman isi 2 Halaman isi 2 Halaman Menu Halaman Menu Halaman isi 3 Halaman isi 3 Halaman isi 4 Halaman isi 4 Halaman isi 5 Halaman isi 5 Halaman Menu Halaman Menu Halaman isi 6 Halaman isi 6 Halaman Menu Halaman Menu

Gambar 3 Struktur Bertingkat tiga (Veer et al.

2004)

c. Struktur Kombinasi Berurut dan Bertingkat

Struktur ini perpaduan atau gabungan antara struktur berurut dengan struktur bertingkat. Perpaduan struktur ini dapat dilihat pada Gambar 4 berikut ini.

Halaman isi 1-1 Halaman isi 1-1 Halaman isi 1-2 Halaman isi 1-2 Halaman Menu Halaman Menu Halaman isi 1-3 Halaman isi 1-3 Halaman isi 2-1 Halaman isi 2-1 Halaman isi 2-2 Halaman isi 2-2 Halaman isi 2-3 Halaman isi 2-3

Gambar 4 Struktur Kombinasi Berurut dan Bertingkat (Veer et al. 2004)

d. Struktur Jaringan

Pada struktur ini hyperlink suatu halaman tidak teratur penempatannya dan setiap halaman pasti terdapat hyperlink dengan halaman lainnya. Struktur jaringan ini menyulitkan pengembang website untuk menelusuri tingkah laku pengunjung. Struktur ini dapat dilihat seperti pada Gambar 5 berikut ini.

Halaman isi 1 Halaman isi 1 Halaman isi 4 Halaman isi 4 Halaman isi 2 Halaman isi 2 Halaman isi 3 Halaman isi 3 Halaman isi 5 Halaman isi 5 Halaman isi 6 Halaman isi 6

Gambar 5 Struktur Jaringan (Veer et al. 2004)

Data Log

Data log adalah data yang mencatat setiap

request halaman website oleh pengguna saat membuka suatu website tertentu. Data log ini dihasilkan oleh website atau server proxy

berupa berkas untuk masing-masing transaksi HTTP. Biasanya nama file data log ini adalah

access.log. Data log ini terdiri dari tiga jenis yaitu data log yang tersimpan di apache-server,

client , dan server proxy. Format data log ini berbeda-beda untuk setiap jenis informasi yang disimpan di dalamnya. Perbedaan ini biasanya tergantung pada web server yang digunakan (Ivancy & Vajk 2006).

Sebagai contoh berikut ini adalah format yang lebih dikenal dengan CLF (Common Log Format) data log yang menggunakan Apache-server :

114.4.12.15 - - [29/Jul/2009:15:05:58 +0700] "GET /index.php?page=detail&id=25 HTTP/1.0" 200 12493

Dari data log tersebut ada beberapa informasi yang bisa didapatkan. Informasi yang pertama adalah IP pengguna yang melakukan

request terhadap halaman website tersebut yaitu 114.4.12.15. Kemudian setelah itu dapat terlihat informasi yang diberikan adalah mengenai waktu pengguna melakukan request yaitu tanggal 29 Juli tahun 2009 pada pukul 15:05:58.

GET menunjukkan metode request, /index.php?page=detail&id25 menunjukkan halaman yang diminta, sedangkan HTTP/1.0

menunjukkan protokol yang digunakan. 200 menunjukkan status request (200 berarti status setuju), 12493 adalah respon yang dikirimkan ke client dalam satuan byte.

Data Preprocessing

Beberapa yang dilakukan pada tahap data preprocessing ini dapat dilihat pada Gambar 6. Tahap-tahap yang dilakukan yaitu (Cooley et al. 1999):

1. Data Cleaning

Langkah pertama yang harus dilakukan pada data awal adalah data cleaning. Data mentah yang didapatkan masih banyak mengandung baris-baris yang tidak bersangkutan dengan web mining yang akan dilakukan. Baris-baris tersebut harus dihapus sebelum kita mengaplikasikan teknik untuk mining data.

(13)

3

gambar yang dihilangkan antara lain gif, jpeg, jpg, GIF, JPEG, JPG (Cooley et al. 1999). Misalkan di dalam satu halaman memuat 4 buah gambar, maka yang terjadi pada data log

terdapat 5 baris di dalam data log. Baris-baris yang memuat gambar ini yang harus dihapus. Karena pada umumnya pengguna tidak meminta semua grafik pada satu halaman

website. Grafik-grafik tersebut secara otomatis ter-download karena dicantumkan pada kode HTML halamannya. Format multimedia seperti

file-file video tidak dihilangkan, karena ada kemungkinan file-file video ini tidak

ter-download otomatis tetapi karena memang diminta oleh pengguna.

Modul lainnya yang digunakan untuk data cleaning antara lain (Castellano et al. 2007):

a. Request dengan metode selain GET. Metode selain GET di dalam data log tidak menunjukkan permintaan dari pengguna. Biasanya metode selain GET dilakukan oleh

server itu sendiri dan oleh robots. Karena

request dengan metode selain GET tidak signifikan maka harus dihapus dari data log.

b. Request yang gagal atau tidak lengkap. Hal ini dapat diindikasikan dengan baris yang mengandung kode HTTP error. Status dengan nilai 200 menunjukkan berhasil. Maka yang perlu dihapuskan adalah permintaan dengan status nilai tidak sama dengan 200.

c. Request gambar-gambar multimedia. Setiap permintaan halaman juga akan secara otomatis meminta berkas, gambar , dan multimedia yang terkandung di dalamnya. Permintan beberapa berkas dapat dengan mudah diidentifikasi dengan melihat ekstensi dari berkas tersebut. Berkas dengan ekstensi gif, jpg, jpeg akan dihapus dari baris data log karena permintaan berkas ini tidak mewakili aktivitas pengunjung. Format multimedia seperti file-file video tidak dihilangkan, karena ada kemungkinan file-file

video ini tidak ter-download otomatis tetapi karena memang diminta oleh pengguna.

d. Request yang dilakukan oleh robots. Web robots atau biasa dikenal dengan web crawlers

atau web spiders ini dapat diidentifikasi dengan melihat seluruh baris pada data log. Jika ada

baris yang mengandung berkas “robot.txt”

dihapus dari baris data log.

2. User Identification

Setelah tahap data cleaning, muncul masalah baru yaitu bagaimana kita menentukan halaman permintaan dari pengguna yang sama. Banyak metode yang dapat digunakan, namun

kebanyakan membutuhkan tambahan informasi yang terkadang tidak ada di dalam data log Di dalam setiap baris data log terdapat alamat IP dan browser yang digunakan pengguna. Salah satu metode yaitu dengan menggunakan kombinasi alamat IP dan browser yang digunakan. Asumsinya adalah semua baris dalam data log dengan alamat IP dan browser

yang sama dilakukan oleh pengguna yang sama.

Akan tetapi kenyataannya alamat IP tidak selalu menjadi sebuah identitas yang unik untuk pengguna dan dalam data log CLF (Common Log Format) tidak tercatat browser yang digunakan pengguna. Kadang banyak pengguna saling berbagi satu alamat IP. Metode yang akan digunakan adalah jika pengguna-pengguna ini membuka website yang sama dengan satu alamat IP maka mereka dianggap satu pengguna yang sama.

3. Session Identification

Setelah data log dikelompokkan berdasarkan penggunanya, pada langkah ini data log akan dikelompokkan berdasarkan session

kunjungannya. Hal ini tidak mudah untuk mencari kapan pengunjung meninggalkan

website karena tidak ada informasi tersebut di dalam data log. Metode yang paling banyak digunakan untuk hal ini adalah metode yang berdasarkan pada time-out. Jika rentang waktu sangat lama diantara subbagian permintaan dari pengguna yang sama maka session baru telah dimulai. Pada penelitian Catledge dab Pitkow (1995), mereka menemukan time-out yang optimal adalah 25.5 menit dan menghasilkan waktu standar 30 menit.

4. Path Completion

Browser menyimpan halaman yang telah dikunjungi di dalam memori. Teknik ini disebut dengan caching dan tujuannya adalah mengurangi waktu respon ketika meminta sebuah berkas. Sebagai contoh, ketika pengguna memilih tombol back di browser maka versi

cached dari halaman akan ditampilkan dan tidak ada permintaan baru yang dikirim ke server

halaman. Hal ini menyebabkan request halaman yang dilakukan pengguna tidak tercatat di dalam data log. Tujuan path completion adalah untuk menambahkan request halaman yang tidak tercatat tersebut untuk setiap sesinya sehingga dihasilkan path perilaku pengguna yang lengkap.

5. Transaction Identification

(14)

4

langkah-langkah sebelumnya telah dilakukan. Contoh jika kita menganalisa sebuah website

berita maka bentuk dari transaksi yang ditangkap oleh setiap session misalkan hanya halaman dengan berita olahraga. Setiap transaksi kemudian akan mengandung semua halaman dengan berita internasional dan yang lainya. Untuk website e-commerce bentuk traksaksinya mengandung halaman dengan informasi produk yang ditawarkan atau semua halaman yang berkaitan dengan pembayaran dan pesanan.

Gambar 6 Data Preprocessing (Cooley et al.

1999)

Penentuan Halaman Target

Halaman target adalah halaman dari website

yang mengandung informasi yang dibutuhkan pengunjung. Beberapa website seperti Amazon dan Ebay, dapat dilihat dengan jelas perbedaannya antara halaman indeks dan halaman konten (Srikant & Yang 2001). Ada beberapa metode untuk menentukan halaman target diantaranya yaitu :

a. Jika perbedaan antara halaman indeks dan halaman konten sangat jelas maka halaman target dari website tersebut adalah halaman konten atau halaman isi. Sebagai contoh pada

website e-commerce pada halaman produk merupakan halaman isi sedangkan pada halaman kategori merupakan halaman indeks.

b. Jika perbedaan antara halaman isi dan halaman konten tidak begitu jelas maka untuk menentukan halaman target dapat menggunakan waktu kunjungan terhadap halaman tersebut. Dalam hal ini halaman yang dikunjungi dalam waktu yang lama maka dapat dikatakan sebagai halaman target.

c. Pada struktur bertingkat dua maupun lebih dari dua maka halaman isi dari website tersebut adalah leaf dari struktur website tersebut. Jadi halaman target pada struktur bertingkat seperti

ini adalah halaman yang berada pada level atau tingkat paling tinggi. Jika pada struktur bertingkat empat maka halaman pada level empat adalah halaman targetnya.

Model Pencarian Pengguna

Pola tingkah laku pengguna sangat berbeda-beda. Salah satu yang mempengaruhi adalah struktur website tersebut. Informasi atau halaman target yang dicari oleh pengguna bisa satu bisa juga banyak. Berikut ini model pencarian pengguna yang mencari informasi tanpa menggunakan mesin pencarian (Srikant & Yang 2001).

1. Pencarian Satu Halaman Target

Asumsikan pengguna mencari halaman target T dan lokasi sekarang C. Pengunjung akan melakukan strategi pencarian berikut :

1. mulai dari root struktur website.

2 selama lokasi sekarang (C) bukan halaman target (T), lakukan :

a. Jika ada hyperlink dari C ke halaman yang mirip dengan halaman target T, ikuti hyperlink tersebut sampai halaman T ditemukan.

b. Jika tidak, backtrack dan kembali ke

parent C.

Perlu diketahui bahwa bila pengunjung membuka halaman yang sama lagi pada langkah 2 (a), ia akan mengikuti hyperlink yang berbeda karena perkiraan bahwa hyperlink cenderung telah diperbarui.

2. Pencarian Beberapa Halaman Target

Asumsikan beberapa halaman target yang dicari pengguna T1,T2, … Tn. Pengunjung akan

melakukan strategi pencarian berikut :

Untuk i=1 sampai dengan n

a. Jika i=1, mulai dari root, jika tidak mulai dari lokasi sekarang C.

b. Selama lokasi sekarang bukan halaman target Ti, lakukan :

 Jika ada hyperlink dari lokasi sekarang C yang mirip dengan halaman target Ti, ikuti hyperlink tersebut sampai

halaman T ditemukan.

 Jika tidak, backtrack dan kembali ke

parent C. Mulai pencarian untuk halaman target Ti+1 pada langkah 1(a).

(15)

5

dan traversal path {1A, 2A, 3A, 2A, 3B, 2A, 1A, 2C, 9}. Pengunjung mencari satu halaman target 9. Dia mulai di root, berharap halaman 9 di bawah 2A, pergi ke 2A dan kemudian 3A, menyadari bahwa 9 tidak di bawah 3A,

backtracks ke 2A, mencoba 3B, menyadari bahwa 3B tidak berisi 9, semua backtracks jalan ke root, dan akhirnya menemukan 9 di bawah 2C. Lokasi yang diharapkan untuk halaman target 9 adalah di 3A dan 3B, dan ternyata lokasi yang sebenarnya di lokasi 2C.

Gambar 7 Model Pencarian Pengguna (Srikant & Yang 2001)

Scalable Vector Graphic (SVG)

Scalable Vector Graphic (SVG) merupakan format file baru untuk menampilkan grafik dalam pengembangan web yang berbasis XML (eXtensible Markup Language). Image SVG berekstensi svg yang hanya bisa dibaca oleh

browser yang sudah mendukung plugin SVG atau kontrol ActiveX. Fungsi SVG untuk menampilkan grafik 2 dimensi dalam kode XML dan juga dapat mengkreasikan sebuah grafik yang terdiri dari banyak vektor yang berbeda-beda. Pada dasarnya, SVG dapat digunakan untuk membuat tiga jenis objek grafik, yaitu path, gambar dan teks. Kelebihan yang paling utama adalah image tidak akan kehilangan kualitasnya apabila diperbesar atau diperkecil(scalable), karena dibuat berdasarkan metode vektor bukan pixel seperti pada format grafik umumnya yaitu GIF, JPEG dan PNG. Sehingga memungkinkan pengembangan web dan juga designer untuk membuat grafik dengan mutu tinggi.

Struktur penulisan dokumen SVG mempunyai sedikit aturan sederhana. Aturan dasar yang paling penting adalah dokumen SVG dimulai dengan elemen <SVG> dan diakhiri dengan elemen </SVG>. Contoh :

<svg width='800px' height='450'

viewBox='10 0 0 0'

xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xl ink'>

…..

</svg>

SVG menetapkan enam bentuk dasar, termasuk juga path dan teks, yang dapat digabungkan untuk membentuk image yang mungkin. Setiap bentuk ini mempunyai properti yang menjelaskan posisi dan ukuran dari bentuk. Warna dan garis ditentukan oleh properti fill dan stroke. Untuk membuat lingkaran contohnya :

<circle cx='15' cy='15' r='12'

fill='#000000' stroke='#000000'/>.

Elemen garis dapat dibentuk dengan :

<line x1 = '15' y1 = '15 ' x2 = '30' y2 = '30' stroke-width = '1' stroke = 'blue'/>.

Elemen teks dibentuk dengan :

<text transform='matrix(1 0 0 1 15

30)' fill='#FFFFFF'

font-weight='bold' font-family='verdana'

font-size='10'>.

Dapat juga dibentuk elemen elips dengan :

<ellipse cx=”40” cy=”40” rx=”35” ry=”25”/>

Elemen persegi empat dibuat dengan :

<rect x=”40” y=”40” width=”75” height=”100”/>.

Sedangkan elemen lainnya yang dapat dibentuk dengan SVG ini adalah path, polyline, dan

polygon.

METODE PENELITIAN

Penelitian ini dilaksanakan dalam beberapa tahap yaitu : (1) Penambahan tabel database (2) Pengambilan Data Log asli Website (3) Data Preprocessing (4) Data Processing dan (5) Visualisasi dan Simulasi Sistem. Tahap-tahap yang dilakukan pada penelitian diilustrasikan pada Gambar 8 di bawah ini.

Mulai Selesai Visualisasi dan Simulasi Processing Data Preprocessing Pengambilan Data Log

Penambahan Tabel Database

Data Cleaning

Transaction Identification Path Completion Session Identification

User Identification

Algoritme Find Expectation Location Algoritme Optimasi (FirstOnly dan

OptimizeBenefit)

(16)

6

Pada gambar metode penelitian di atas tidak keseluruhan tahapnya dilakukan pada penelitian ini karena beberapa sudah dilakukan pada penelitian Nurdian Setyawan (2008). Tahap-tahap yang dilakukan pada penelitian ini adalah penambahan tabel database, pengambilan data

log, data preprocessing (data cleaning, user identification, session identification, path completion), visualisasi dan simulasi sistem.

Penambahan Tabel Database

Tabel-tabel database yang ada pada penelitian sebelumnya hanya digunakan untuk tahap data processing. Sedangkan untuk tahap

data preprocessing belum ada, sehingga perlu ditambahkan beberapa tabel database untuk

data preprocessing. Tabel-tabel yang ditambahkan ini juga harus menyesuaikan dengan tabel-tabel yang sudah ada sehingga memudahkan dalam menghubungkan keterkaitan antara tahap data preprocessing dan tahap data processing.

Pengambilan Data Log asli Website

Pada tahap pengambilan data log ini dibagi menjadi 2 langkah yaitu proses input data dan penentuan halaman target dari website.

1. Proses input data

Pada penelitian sebelumnya masih menggunakan data dummy atau data yang dihasilkan oleh suatu algoritme. Pada penelitian kali ini data yang akan digunakan adalah data

log asli website dari www.eramuslim.com yang merupakan data log apache-server.

Data ini pada awalnya berupa file

berekstensi log. Karena ukuran file ini sangat besar dan tidak mampu dibuka oleh teks editor maka untuk memperoleh informasi yang dibutuhkan dalam data log tersebut dapat menggunakan cara parsing data menggunakan

script bahasa pemrograman PHP. Tujuan lain dari penggunaan parsing data ini adalah untuk mengambil informasi yang dibutuhkan, tidak semua atribut yang ada di dalam data akan berguna dalam penelitian. Informasi yang diambil antara lain adalah alamat IP (Internet Protocol Address), waktu, dan path halaman

website yang dibuka oleh pengunjung. Informasi yang yang diperlukan tersebut akan disimpan ke dalam database yang sudah dibuat.

2. Penentuan halaman target.

Pada sebagian besar website yang disebut dengan halaman target adalah halaman-halaman isi yang mengandung informasi yang dibutuhkan oleh para pengunjung website.

Penentuan halaman target ini digunakan untuk menelusuri langkah-langkah yang dilakukan oleh pengunjung dalam mencari informasi yang dibutuhkan. Langkah yang dilakukan bisa saja langsung dapat menemukan halaman target, namun banyak langkah-langkah yang harus dilakukan pengunjung tersebut dan mungkin ada juga yang tidak dapat menemukan halaman target tersebut. Dalam penelitian ini untuk menentukan halaman menggunakan asumsi bahwa halaman target itu adalah leaf dari struktur website tersebut dan hanya diambil 15 halaman target yang paling banyak dikunjungi oleh pengunjung.

Data Preprocessing

Data yang diperoleh untuk penelitian ini masih berupa data mentah ataupun data yang belum terstruktur dengan jelas. Oleh sebab itu diperlukan data preprocessing agar data yang diperoleh dapat mendukung penelitian

1. Data Cleaning

Pada langkah pertama dalam data praprocessing ini data mentah yang sudah dimasukkan ke dalam tabel database melalui proses parsing kemudian akan diperiksa path

-path halaman tersebut. Path halaman yang mengandung informasi selain halaman website

akan dihapus. Path halaman yang dihapus diantaranya yang mengandung format gambar seperti jpg, jpeg, gif, JPG, JPEG, GIF (Cooley

et al. 1999). dan format lain yang tidak mengandung informasi yang dibutuhkan (misalnya : css, exe, js).

2. User Identification

Pada tahap ini akan diidentifikasi pengguna berdasarkan alamat IP pengguna di dalam setiap baris data log. Dalam hal ini digunakan asumsi bahwa permintaan dengan alamat IP yang sama maka informasi berasal dari pengguna yang sama. Sebagai contoh jika banyak pengguna membagi satu alamat IP maka dalam hal ini akan memberikan indikasi bahwa hanya ada satu pengguna.

Kelemahan pada metode ini adalah jika banyak pengguna yang mengunjungi sebuah

website dengan IP yang sama maka hanya dianggap hanya satu orang saja. Walaupun sebenarnya tingkah laku orang-orang tersebut berbeda-beda namun masih tetap dianggap hanya satu orang.

3. Session Identification

(17)

7

yang membuat karakteristik dari data log

tersebut juga pasti akan berbeda. Session dapat berarti menunjukkan lamanya pengunjung berada di dalam website dan juga dapat berarti banyaknya kunjungan yang dilakukan pengunjung.

Pada penelitian ini untuk menentukan

session dari setiap pengguna menggunakan asumsi bahwa setiap session dari pengguna berada pada rentang waktu 25,5 menit. Perhitungan rentang waktu dimulai saat pengguna melakukan request pertama kali pada

website sampai waktu 25,5 menit. Apabila waktu lebih dari 25,5 menit maka kemudian akan dihitung sebagai session yang baru sehingga pengunjung akan mempunyai lebih dari satu session. Jika rentang waktu kurang dari 25.5 menit maka pengunjung tersebut hanya memiliki satu session pada kunjungannya tersebut.

4. Path Completion

Setiap pengunjung mempunyai tingkah laku yang berbeda di dalam mengunjungi sebuah

website yang sama. Ada pengunjung yang hanya membuka satu halaman saja kemudian meninggalkan website tersebut. Namun ada juga yang membuka banyak halaman sampai menemukan halaman target yang dicarinya. Pada tahap ini akan diurutkan halaman yang diminta oleh pengunjung di dalam satu kali

session kunjungannya. Sehingga akan terlihat halaman dan urutan pencarian dari pengunjung dalam mencari informasi di dalam website

tersebut. Jika pengunjung sama namun session

berbeda maka pathcompletion yang dihasilkan akan berbeda pula.

5. Transaction Identification

Tahap selanjutnya adalah transaction identification yaitu akan dicari urutan halaman yang diminta oleh pengunjung sampai pengunjung tersebut menemukan halaman target yang sudah ditentukan pada tahap sebelumnya atau jika memang tidak menemukan halaman target yaitu sampai dengan path completion berakhir. Proses yang dilakukan pada tahap ini hampir sama dengan

path completion. Perbedaannya hanyalah pada

transaction identification berganti setelah ditemukan halaman target pada proses path completion.

Data Processing

Setelah data preprocessing selesai kemudian data akan diproses agar mendapatkan hasil rekomendasi hyperlink pada halaman

website. Pada tahap ini dilakukan 2 langkah yaitu pencarian lokasi harapan dan penentuan halaman rekomendasi.

1. Pencarian lokasi harapan

Lokasi harapan adalah lokasi atau path

halaman yang ada di dalam website yang diminta oleh pengunjung sebelum menemukan halaman targetnya namun tidak mempunyai

hyperlink dengan halaman target. Lokasi harapan yang dihasilkan dapat lebih dari satu karena perbedaan tingkah laku dari pengunjung tersebut. Pencarian lokasi harapan ini menggunakan algoritme Find Expectation Locations yang sudah digunakan pada penelitian sebelumnya yaitu oleh Nurdian Setyawan (2008). Pada penelitian ini hanyalah memasukkan data hasil preprocessing ke dalam algoritme tersebut. Algoritme ini membatasi jumlah lokasi harapan hanya 4 (empat) lokasi yaitu untuk lokasi pertama (E1), lokasi kedua (E2), lokasi ketiga (E3) dan lokasi keempat (E4).

2. Penentuan Halaman Rekomendasi

Pada penentuan halaman rekomendasi ini juga akan digunakan 2 (dua) buah algoritme optimasi yaitu FirstOnly dan OptimizeBenefit

yang juga sudah digunakan pada penelitian sebelumnya oleh Nurdian Setyawan (2008). Hasil dari tahap ini adalah halaman-halaman mana saja yang perlu ditambahkan sebagai

hyperlink ke dalam halaman targetnya. Pernambahan hyperlink ini disimpan dalam bentuk tabel database mysql.

Visualisasi

Untuk memperjelas hasil akhir penelitian ini maka perlu disimulasikan atau divisualisasikan hasil rekomendasi tersebut ke dalam web

artificial. Di dalam web artificial ini langkah-langkah pengguna untuk mendapatkan hasil rekomendasi hyperlink. Pertama, melalui form input pengguna memasukkan file data log.

Kedua, klik data preprocessing. Pada proses ini membutuhkan waktu proses yang tergantung dari ukuran file data log yang diberikan oleh pengguna. Ketiga, klik data processing. Pada proses ini data log yang sudah dilakukan

(18)

8

Proses visualisasi akan menggunakan gambar dengan format SVG (Scalable Vector Graphic) yang berbasis XML sehingga visualiasasi ini akan bersifat dinamis mengikuti data log website yang dimasukkan ke dalam sistem. Agar visualisasi ini mudah dipahami oleh pengunjung maka akan dibedakan struktur awal website dan halaman yang ditambahkan oleh sistem.

Lingkungan Pengembangan Sistem

Spesifikasi perangkat keras yang digunakan dalam pengembangan sistem dapat berpengaruh pada kinerja algoritme yang digunakan. Perangkat lunak pada komputer yang akan berpengaruh pada cara kerja sistem secara keseluruhan. Maka sistem akan berkerja dengan baik apabila digunakan pada perangkat lunak yang sama saat sistem ini dikembangkan. Perangkat keras dan perangkat lunak yang digunakan pada penelitian ini adalah :

1. Perangkat Keras

Processor : Intel Pentium Dual CPU T2390 1,86GHz

Memory : 1GB

Harddisk : 120 GB

Keyboard dan Mouse

2. Perangkat Lunak

 Sistem Operasi Microsoft® Windows Vista Ultimate

Apache 5.0.51a sebagai web server

 Notepad++ sebagai editor halaman web dan pemrogramannya

 MySQL 5.0.51a sebagai database managementserver

 PHPMyAdmin 2.11.4 sebagai tool

database MySQL

 Adobe Photoshop CS2 untuk membuat desain grafis

 Opera version 9.64 sebagai browser.

Batasan Sistem

Batasan-batasan sistem dibutuhkan agar sistem dapat bekerja sesuai dengan tujuan pengembangannya. Batasan-batasan ini yang nantinya akan digunakan untuk pengembangan sistem menjadi lebih kompleks. Batasan-batasan sistem rekomendasi penambahan link pada website berdasarkan data logwebsite yang sedang dikembangkan saat ini antara lain :

1. Data log yang digunakan sebagai input masih data log dari apache-server. Belum mendukung data log lainnya.

2. Format data log harus sesuai dengan CLF (Common Log Format) yaitu :

172.17.1.146- - [20/Mar/2006:00:25:12 +0700] "GET /ipb-bhmn HTTP/1.1" 301 324

3. Data log harus berupa file teks. Belum mendukung file hasil kompresi seperti .gz

atau .zip.

4. Sistem tidak dapat digunakan secara bersamaan oleh 2 pengguna atau lebih.

HASIL DAN PEMBAHASAN Penambahan Tabel Database

Pada penelitian yang menggunakan data log

asli dari website ini membutuhkan penambahan tabel pada database. Namun ada beberapa tabel

database yang digunakan pada penelitian sebelumnya oleh Nurdian Setyawan (2008) masih tetap akan digunakan pada penelitian kali ini. Database yang masih tetap akan digunakan antara lain : tb_exp_locations, tb_hsl_firstonly

dan, tb_hsl_optbenefit. Penambahan tabel yang dilakukan dapat dilihat pada Tabel 1.

Tabel 1 Tabel database tambahan

Nama Tabel Keterangan

data_cleaning Tabel untuk menyimpan data

log hasil tahap

data cleaning.

session_identifcation Tabel untuk menyimpan hasil tahap session identification

yaitu sesi kunjungan dari masing-masing pengunjung.

path_completion Tabel untuk menyimpan hasil dari proses path completion.

transaction_identification Tabel untuk menyimpan hasil

(19)

9

Tabel 1 Tabel database tambahan lanjutan

Nama Tabel Keterangan

path_url Tabel untuk menyimpan jenis-jenis halaman yang diminta oleh pengunjung dan jumlah total kunjungan terhadap halaman tersebut

struktur_web Tabel untuk menyimpan struktur awal website yang akan digunakan untuk visualisasi.

Atribut-atribut tabel tersebut dapat dilihat pada Lampiran 1. Sehingga total dari tabel

database yang digunakan dalam pengembangan sistem ini adalah 9 (sembilan) buah tabel. Namun dari kesembilan tabel tersebut saling berdiri sendiri atau tidak mempunyai

relationship antar tabel.

Pengambilan Data Log asli Website

1. Proses input data

Pada penelitian ini data log yang digunakan adalah data log website www.eramuslim.com. Data log ini merupakan data log hasil penyimpanan pada apache-server bulan januari 2009. Jumlah record yang ada pada data log ini adalah 112.219 baris. Jumlah data yang akan digunakan sebagai record di dalam ini dibatasi hanya 10.000 baris. Hal ini dikarenakan keterbatasan perangkat keras dalam pengembangan sehingga untuk data yang lebih besar dari itu akan membutuhkan waktu untuk

data processing yang sangat lama. Selanjutnya dilakukan partisi sesuai kebutuhan yaitu 10.000 baris per file yang akan digunakan sebagai data

input. Dengan demikian, rata-rata besarnya ukuran file input data tersebut adalah 1MB. Untuk penelitian ini hanya akan diambil 5 file

pertama hasil partisi. Contoh dari baris yang ada di dalam data log dapat dilihat pada Lampiran 2.

Sistem untuk pertama kali akan meminta

user untuk memasukkan file atau data tersebut untuk di-upload ke dalam sistem. Setelah proses

input data berhasil kemudian akan dilakukan

parsing terhadap data tersebut. Pada proses

parsing ini hanya beberapa informasi saja yang akan diambil yaitu alamat IP, path atau halaman dan waktu. Kode yang digunakan untuk parsing

yaitu sebagai berikut :

//menghapus tabel data_cleaning drop_table(data_cleaning);

//membuat tabel data cleaning create_table(data_cleaning);

//lokasi file datalog

$log_file = 'datalog/datalog.log';

//pattern untuk format data log apache server

$pattern = '/^([^ ]+) ([^ ]+) ([^ ]+) (\[[^\]]+\]) "(.*) (.*) (.*)" ([0-9\-]+) ([0-9\-([0-9\-]+)$/';

$patternGambar = array( 1 => "/jpg$/",2 => "/gif$/",3 => "/jpeg$/",4 => "/JPG$/",5 => "/GIF\$$/",6 => "/JPEG$/",7 => "/ico$/",8 => "/png$/",9 => "/js$/",10 => "/\.css$/");

$fh = fopen($log_file,'r') or die

($php_errormsg); $i = 1;

$requests = array(); $ip = array();

while (! feof($fh)) {

// read each line and trim off

leading/trailing whitespace

if ($s = trim(fgets($fh,1024))) { if

(preg_match($pattern,$s,$matches)) {

list($whole_match,$remote_host,$logname, $user,$time,$method,$request,$protocol,$

status,$bytes,$referer,$user_agent) =

$matches; $jumlahRaw++;

$time = convertTime($time); for($j=1;$j<=14;$j++){

if(preg_match($patternGambar[$j] ,$request,$a)){

$status = 'del'; }

}

if($status != 'del'){

$query = "INSERT INTO

data_cleaning VALUES

('$remote_host','$time','$request') ";

$hasil = mysql_query($query) or

die (mysql_error()); }

$msg = "<a4 id='main'>BERHASIL PARSING DATA</a4><br /><br /><br />

<p id='main'><a

href='index.php?page=dat&amp;sub=view'>L

ihat Data Log</a> || <a

href='index.php?page=pra&amp;sub=cle'>Pr aprocessing</a></p>";

(20)

10

}

else {

error_log("Can't parse line $i: $s"); echo "<a3 id='main'>FORMAT DATA LOG TIDAK SESUAI</a3><br /><br />";

echo " <p id='main'><a

href='index.php?page=dat&amp;sub=inpu t'><< Input Data Baru</a></p>"; return (1);

} $i++; }

fclose($fh) or die($php_errormsg);

2. Penentuan Halaman Target

Dalam penelitian ini untuk menentukan halaman menggunakan asumsi bahwa halaman target itu adalah leaf dari struktur website

tersebut dan hanya diambil 15 halaman target yang paling banyak dikunjungi oleh pengunjung. Untuk itu harus dilakukan penghitungan terhadap kunjungan website untuk masing-masing halaman website. Kode php yang digunakan untuk penghitungan ini adalah

$query = "SELECT request from

data_cleaning";

$result = mysql_query($query) or die (mysql_error()); while($row=mysql_fetch_array($result)){ extract($row); $path[$request] +=1; } arsort($path);

foreach ($path as $pathurl => $hits){

if($i<50){

mysql_query("UPDATE path_url SET hits

= '$hits' where request =

'$pathurl'");

$i++;

}

}

Dari tahap ini dihasilkan 15 halaman yang akan digunakan sebagai halaman target. Halaman target yang dihasilkan untuk file

partisi 1 (satu) dapat dilihat pada Lampiran 3. Dari hasil penentuan halaman target tersebut dapat dilihat dari 10.000 baris halaman yang paling banyak diminta oleh pengguna adalah

/berita/palestina/hamas-hancurkan-tujuh-tank-zionis.htm” dengan nilai kunjungan sebanyak

313 kali. Halaman yang paling banyak

dikunjungi kedua adalah

“/ berita/palestina/israel-gencatan-senjata-sepihak-gagal-tumbangkan-hamas.htm” dengan kunjungan sebanyak 253 kali. Begitu juga untuk 15 halaman target yang lainnya.

Data Preprocessing

1. Data Cleaning

Untuk tahap data cleaning ini sudah dilakukan secara sekaligus saat proses parsing

data. Sehingga sampai tahap ini data sudah dianggap bersih dari path yang diminta pengunjung yang formatnya bukan format halaman. Contoh data hasil data cleaning yang disimpan di dalam tabel database dapat dilihat pada Lampiran 4.

2. User Identification

Alamat IP dari data log yang diproses sudah mengalami proses pengkodean / enkripsi, sehingga alamat IP yang ditunjukkan bukan alamat IP yang sebenarnya dari pengunjung. Hal ini untuk menjaga kerahasiaan dari pengunjung website itu sendiri. Untuk melakukan simulasi percobaan pada sistem ini digunakan 5 bagian dari data log. Untuk bagian 1 terdapat 5.748 pengunjung yang berbeda. Sedangkan untuk bagian 2 terdapat 5.719 pengunjung. 5.722 pengunjung untuk bagian 3, 5.599 pengunjung untuk bagian 4 dan untuk bagian 5 terdapat 5.835 pengunjung yang mempunyai alamat IP berbeda. Contoh alamat IP yang sudah dikodekan dan disimpan di dalam database dapat dilihat seperti pada Lampiran 5.

3. Session Identification

Tahap session identification dilakukan dengan cara menghitung. Contoh session dan pengguna yang disimpan di dalam database

dapat dilihat pada Lampiran 6. Satu pengunjung dapat memiliki lebih dari satu session, Namun satu session hanya dimiliki oleh satu pengunjung. Seperti dapat dilihat pengguna dengan alamat IP 1022457008 mempunyai 2

sessionyaitu “1232266477” dan “1232266267”. Sedangkan untuk session 1231140272” hanya dimiliki oleh pengguna dengan alamat IP 1023754728. Tidak ada selain pengguna tersebut yang mempunyai session

“1231140272” walaupun pengguna tersebut mempunyai banyak session.

4. Path Completion

(21)

11

Kode php untuk mengelompokkan ini adalah sebagai berikut :

//menghapus tabel session_identification

drop_table(path_completion);

//membuat tabel session_identification

create_table(path_completion);

$query = "SELECT * from

session_identification order by

session";

$result = mysql_query($query) or

die (mysql_query(error));

while($row= mysql_fetch_array($result)){

extract($row);

if(empty($sessionNow)){

$sessionNow = $session;

$pathNow = $request;

}

else{

if($sessionNow == $session){

$pathNow = "$pathNow,$request";

}else{

mysql_query("INSERT INTO path_completion VALUES

('$user','$sessionNow','$pathNow')");

$sessionNow = $session;

$pathNow = $request;

}

}

}

Hasil dari path completion dapat dilihat pada Lampiran 7. Dari hasil tersebut dapat dilihat bahwa pengguna dengan alamat IP 2085692385 dengan session “1231140062” hanya membuka 1 (satu) saja pada website ini yaitu halaman /berita/dakwah- mancanegara/amira-mayorga-yesus-bahkan- tidak-menyuruh-umatnya-untuk-menyembah-dirinya.htm”. Sementara untuk pengguna dengan alamat IP 2107713143 dan session

“1231140066” membuka lebih dari satu halaman. Halaman yang dibuka yaitu /berita/dunia/mahasiswa-indonesia-di-mesir-gelar-aksi-solidaritas.htm” kemudian pengguna melanjutkan kunjungannya dengan membuka

“ /manhaj-dakwah/hujatan-terhadap-dakwah-al-banna.htm” dan “ berita/palestina/hamas-hancurkan-tujuh-tank-zionis.htm”.

5. Transaction Identification

Data dari hasil path completion akan diproses pada tahap selanjutnya yaitu tahap

transaction identification. Dari urutan-urutan

tingkah laku pengunjung pada path completion

akan dilihat halaman target pada urutan tersebut. Jika pengunjung sudah menemukan halaman target maka kemudian proses akan mulai dari awal namun proses pembacaan data hasil path completion tetap akan diteruskan.

Hasil dari tahap transaction identification

ini selanjutnya akan disimpan ke dalam tabel

transaction_identification yang nantinya akan menjadi data input untuk tahap processing

menggunakan algoritme optimasi. Contoh data yang disimpan di dalam database dapat dilihat pada Lampiran 8. Dari tabel ini dapat dilihat setiap transaksi yang terjadi begitu pendek. Pengunjung tidak perlu bersusah payah untuk menemukan halaman target yang dicarinya. Bahkan sering kali pengunjung dapat langsung menemukan halaman target tersebut. Hal ini dapat sebagai indikator awal bahwa struktur dari website ini sudah cukup baik yaitu dengan menempatkan hyperlink ke halaman target pada halaman utama atau halaman pertama pengunjung mengunjungi website tersebut.

Pengguna dengan alamat IP 1009985486

membuka halaman “

/berita/palestina/hari-ke- 21-22-pertemuan-doha-dunia-arab-bekukan-hubungan-dengan-israel.htm”. Halaman tersebut oleh sistem diidentifikasi sebagai halaman target. Maka pengguna ini sudah langsung dapat menemukan halaman target dengan mudah dan dengan satu kunjungan saja. Kemudian pengguna langsung meninggalkan

website. Berbeda dengan pengguna dengan alamat IP 1039598537. Pengguna ini membuka 5 (lima) halaman pada kunjungannya. Halaman pertama yang diminta adalah

“ /berita/dunia/yusuf-qardawi-teruslah-turun-ke-jalan.htm”. halaman berikutnya adalah

“ //nasihat-ulama/israel-harus-dihapus-dunia-islam-perlu-direformasi.htm,

/konsultasi/konspirasi/kontroversi-natal-25-desember-2.htm,

/berita/dunia/yahudi-menentang-yahudi.htm” dan

/berita/dunia/yordania-akan-bekukan-hubungan-diplomatik-dengan-israel.htm” karena akhir dari ketiganya tersebut adalah halaman target maka pengguna ini dapat dikatakan telah melakukan 3 (tiga) kali transaksi.

Data Processing

1. Pencarian Lokasi Harapan

Langkah pertama dari tahapan data processing adalah pencarian lokasi harapan. Lokasi harapan sebagai indikator awal ada atau tidaknya pengunjung yang tersesat di dalam

(22)

12

Semakin banyak lokasi harapan yang dihasilkan maka semakin banyak pula pengunjung yang tersesat. Hal ini berarti struktur dari website

tersebut masih kurang baik. Sebaliknya jika lokasi harapan yang dihasilkan sedikit atau tidak ada sama sekali maka artinya semakin sedikit pula pengunjung yang tersesat yang berarti ada indikasi bahwa struktur website

tersebut sudah baik.

Pada penelitian ini ditemukan beberapa halaman lokasi harapan. Contoh lokasi harapan dapat dilihat pada Lampiran 9. Pada baris pertama dapat dilihat bahwa halaman target

adalah “

/berita/dunia/iran-bantu-gaza-bentuk- pasukan-islam-dan-hentikan-ekspor-minyak-ke-as.htm” dan kolom E1 yaitu

“/konsultasi/sehat/alergi-kulit.htm”. Sedangkan

pada kolom aktual adalah

“ /konsultasi/sehat/dima-klinik-bekam-yang-baik.htm”. Hal ini berarti ada pengguna yang mengharapkan halaman target

“ /berita/dunia/iran-bantu-gaza-bentuk-pasukan-islam-dan-hentikan-ekspor-minyak-ke-as.htm”

pada lokasi harapan “

/konsultasi/sehat/alergi-kulit.htm” sedangkan hyperlink halaman target tersebut berada pada lokasi aktual

“ /konsultasi/sehat/dima-klinik-bekam-yang-baik.htm”. Begitu juga seterusnya untuk baris -baris yang lain dalam tabel tb_exp_locations.

2. Penentuan Halaman Rekomendasi

Penelitian ini tidak menemukan halaman rekomendasi walaupun ditemukan lokasi harapan. Hal ini dikarenakan perbedaan karakteristik data yang digunakan pada penelitian ini dengan data dummy pada penelitiaan sebelumnya. Karakteristik data yang digunakan pada saat ini masih susah membedakan halaman indeks dan halaman target. Sehingga untuk menentukan halaman target harus menggunakan asumsi bahwa halaman tersebut berada pada leaf struktur

website dan mempunyai jumlah kunjungan halaman paling banyak. Jika dilihat dari website

aslinya ternyata memang pada halaman awal sudah terdapat hyperlink menuju ke halaman target, sehingga pengunjung tidak perlu bersusah payah mencari halaman targetnya.

Apabila sistem tidak menghasilkan halaman rekomendasi hal ini dapat berarti struktur

website tersebut sudah baik atau bisa juga disebabkan oleh perbedaan karakteristik data pada algoritme Find expectation Location dan algoritme optimasi. Faktor lain yang dapat mempengaruhi halaman rekomendasi adalah panjang pendeknya path completion. Jika terlalu pendek kemungkinan sistem tidak akan

menghasilkan halaman rekomendasi. Kemudian faktor yang berikutnya adalah kemungkinan sudah ada hyperlink ke halaman target pada halaman utama.

Visualisasi

Sistem ini merupakan sebuah sistem yang berbasis web, sehingga tampilan atau visualisasi dari sistem ini juga berupa website yang di dalamnya menunjukkan proses-proses yang akan dilakukan terhadap data yang dimasukkan. Pertama kali pengguna sistem ini akan memasukkan data log website berupa file teks. Tahap selanjutnya adalah tahap data preprocessing. Di dalam tahapan ini terdapat banyak sub tahap data preprocessing.

Pada tahapan visualisasi struktur website

digunakan gambar dengan format SVG (Scalable Vector Graphic) sebagai salah satu format gambar yang bersifat dinamis. Visualisasi struktur website hanya dapat memperlihatkan struktur awal dari website

tanpa adanya penambahan hasil rekomendasi. Hal ini dikarenakan data pada penelitian ini tidak menghasilkan halaman rekomendasi. Visualisasi ini menggunakan simbol lingkaran (circle) untuk mewakili path atau halaman. Untuk hubungan keterkaitan atau hyperlink

antarhalaman disimbolkan dengan menggunakan lurus berwarna biru. Nama-nama halaman website disimbolkan dengan angka. Angka yang digunakan tergantung dari banyaknya halaman yang divisualisasikan. Sedangkan untuk hyperlink hasil rekomendasi akan digambarkan dengan garis putus-putus dengan warna merah.

Karena penelitian ini tidak menghasilkan halaman rekomendasi maka visualisasi hasil penelitian data log hanya menampilkan struktur awal website tanpa halaman rekomendasi seperti dapat dilihat pada Lampiran 10. Untuk menguji visualisasi struktur website awal dan struktur website yang sudah ditambahkan

hyperlink rekomendasi maka kemudian digunakan data dari hasil penelitian sebelumnya oleh Nurdian Setyawan (2008) yang menggunakan data dummy. Hasil dari kedua algoritme optimasi (FirstOnly, OptimizeTime) akan diambil untuk menguji visualisasi. Pada hasil algoritme FirstOnly nilai maksimal dari

threshold adalah 44 dengan nilai maksimal dari

minsup adalah 10%. Sedangkan untuk algoritme

OptimizeBenefit nilai maksimal threshold

adalah 52 dengan nilai maksimal minsup juga 10%. Parameter yang digunakan adalah

(23)

13

Visualisasi hasil algoritme FirstOnly dapat dilihat seperti pada Lampiran 11. Nilai

threshold 37 dan minsup 7% menghasilkan 5 halaman rekomendasi. Sedangkan pada algoritme OptimizeBenefit menghasilkan 20 halaman rekomendasi. Visualisasi hasil algoritme Optimizebenefit dapat dilihat pada Lampiran 12. Hasil kedua algoritme ini menunjukkan halaman rekomendasi yang berbeda-beda sehingga menghasilkan struktur

website yang berbeda juga. Perbedaan pada algoritme ini diantaranya adalah pada algorirme

FirstOnly lokasi harapan yang dilibatkan hanya 1 (satu) lokasi harapan yaitu E1. Sedangkan pada algoritme OptimizeBenefit melibatkan 4 (empat) lokasi harapan yaitu E1, E2, E3, dan E4. Sehingga waktu yang dibutuhkan oleh kedua algoritme sangat berbeda.

KESIMPULAN DAN SARAN Kesimpulan

Penelitian ini telah berhasil melakukan tahapan data preprocessing dengan menggunakan data log asli dari website yang disimpan dalam bentuk database mysql,

sehingga data yang nantinya akan diproses menggunakan algoritme optimasi (FirstOnly, OptimizeBenefit) harus melalui tahapan data preprocessing terlebih dahulu. Penelitian ini juga sudah dapat menampilkan struktur dari

website, baik struktur awal website maupun struktur yang sudah ditambahkan dengan halaman rekomendasi pada website tersebut. Visualisasi menggunakan SVG (Scalable Vector Graphic ) membuat visualisasi lebih dapat dimengerti oleh pengguna sistem dan lebih dinamis. Dengan demikian, jika dilakukan percobaan terhadap data log dari website lain, visualisasi ini tetap dapat digunakan.

Saran

Pada penelitian ini hanya digunakan data log

dari satu website. Untuk itu perlu dicoba menggunakan data dari beberapa website yang lain (dinamis maupun statis) yang sudah dapat dibedakan halaman target dan halaman indeks dari website tersebut.

DAFTAR PUSTAKA

Castellano G, Fanelli A M, Torsello M A. 2007.

Log Data Preparation For Mining Web Usage Patterns. maya.cs.depaul.edu/~classes/ect584/papers/ cms-kais.pdf [27 Maret 2009].

Catledge L, Pitkow JE. 1995. Characterizing Browsing Strategies in the World-Wide Web.

http://smartech.library.gatech.edu/dspace/bit stream/1853/3558/1/95-13.pdf [8 April 2008]

Cooley R, Mobasher B, Srivastava J. 1999.

Data Preparation for Mining World Wide Web Browsing Pattern.

http://citeseerx.ist.psu.edu/viewdoc/downloa d;jsessionid=ECF66FEC62532CF4833FIE2 AC36C5C93?doi=10.1.1.33.2792&rep=rep1 &type=pdf[8 April 2008]

Ivancy R, Vajk I. 2006. Frequent Pattern Mining in Web Log Data. Acta Polytechnica Hungarica, Vol. 3, No. 1.

Setyawan N. 2008. Rekomendasi Penambahan Link Pada Web Berdasarkan Pola Akses Pengguna [Skripsi]. Bogor. Program Studi Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam.

Srikant R, Yang Y. 2001. Mining Web Log to Improve Website Organization. http://www.almaden.ibm.com/quest/papers/ www10_weblog.pdf [22 September 2007].

(24)
(25)

15

Lampiran 1 Atribut-atribut tabel database tambahan

Atribut-atribut tabel data_cleaning

Nama Kolom Tipe Data Keterangan

user varchar (20)

time int (11)

request varchar (255)

Atribut-atribut tabel session_identification

Nama Kolom Tipe Data Keterangan

user varchar (20)

session int(11)

request varchar(255)

Atribut-atribut tabel path_completion

Nama Kolom Tipe Data Keterangan

user varchar (20)

session int(11)

path Text

Atribut-atribut tabel transaction_identification

Nama Kolom Tipe Data Keterangan

User varchar (20)

Path Text

Atribut-atribut tabel path_url

Nama Kolom Tipe Data Keterangan

request_id int (10)

Request varchar (255)

Level int(2)

Hits int(10)

Atribut-atribut tabel struktur_web

Nama Kolom Tipe Data Keterangan

request varchar (255)

level int(2)

(26)

16

Lampiran 2 Contoh baris di dalam data log asli website

2059964514 - - 1231135663 "GET /berita/palestina/hamas-hancurkan-tujuh-tank-zionis.htm HTTP/1.1" - -

3415103478 - - 1231135737 "GET /konsultasi/sehat/efek-negatif-onani.htm HTTP/1.1" - -

3232243716 - - 1231135737 "GET / HTTP/1.1" - -

2093159844 - - 1231135737 "GET /ustadz-menjawab/jama-atau-salat-di-bus.htm HTTP/1.1" - -

3395102040 - - 1231135737 "GET /suara-kita/pemuda-mahasiswa/palestina-dan-sesuatu-yang-lain-di-athena.htm HTTP/1.1" - -

3399357710 - - 1231135737 "GET /berita/dakwah-mancanegara/dari-seorang-aktivis-neo-nazi-menjadi-seorang-muslim.htm HTTP/1.1" - -

2107764664 - - 1231135738 "GET / HTTP/1.1" - -

3414354954 - - 1231135738 "GET /berita/analisa/kegagalan-israel-terhadap-palestina.htm HTTP/1.1" - -

3232250711 - - 1231135738 "GET / HTTP/1.1" - -

2107951477 - - 1231135738 "GET / HTTP/1.1" - -

3415809354 - - 1231135738 "GET /berita/palestina/hamas-hancurkan-tujuh-tank-zionis.htm HTTP/1.1" - -

3399445510 - - 1231135738 "GET / HTTP/1.1" - -

3415103294 - - 1231135738 "GET / HTTP/1.1" - -

3400082610 - - 1231135739 "GET /oase-iman/balada-kesabaran.htm HTTP/1.1" - -

3415829541 - - 1231135739 "GET /berita/dunia/khalid-mishaal-murka-allah-menanti-israel-di-gaza-hamas-akan-menang.htm HTTP/1.1" - -

3400086450 - - 1231135739 "GET /berita/analisa/kegagalan-israel-terhadap-palestina.htm HTTP/1.1" - -

2107713927 - - 1231135739 "GET /berita/ HTTP/1.1" - -

3397119054 - - 1231135739 "GET / HTTP/1.1" - -

2887128181 - - 1231135739 "GET /berita/palestina/prioritas-israel-tumbangkan-hamas.htm HTTP/1.1" - -

3399000550 - - 1231135739 "GET /berita/dunia/yahudi-menentang-yahudi.htm HTTP/1.1" - -

2107920306 - - 1231135739 "GET / HTTP/1.1" - -

2033469383 - - 1231135739 "GET /syariah/bercermin-salaf/kemenangan-islam-di-syam-iraq-dan-yaman.htm HTTP/1.1" - -

2107740713 - - 1231135740 "GET /konsultasi/keluarga/menghadapi-ibu-yang-terlalu-merongrong-anaknya.htm HTTP/1.1" - -

2093158645 - - 1231135740 "GET /berita/dunia/khalid-mishaal-murka-allah-menanti-israel-di-gaza-hamas-akan-menang.htm HTTP/1.1" - -

2107698740 - - 1231135740 "GET /berita/dunia/israel-bahas-skenario-serangan-darat.htm HTTP/1.1" - -

167772467 - - 1231135740 "GET

/MSOffice/cltreq.asp?UL=1&ACT=4&BUILD=4518&STRMVER=4&CAPREQ=0 HTTP/1.1" - -

3399000550 - - 1231135740 "GET /berita/palestina/tahanan-palestina-di-penjara-israel-ancam-mogok-makan.htm HTTP/1.1" - -

2107959821 - - 1231135740 "GET /berita/palestina/hamas-tak-ada-dialog-jika-masih-ada-blokade-dan-agresi-israel.htm HTTP/1.1" - -

2093162966 - - 1231135741 "GET / HTTP/1.1" - -

(27)

17

Lampiran 3 Halaman Target

No URL Hits

1 /berita/palestina/hamas-hancurkan-tujuh-tank-zionis.htm 313

2 /berita/palestina/israel-gencatan-senjata-sepihak-gagal-tumbangkan-hamas.htm 253

3

/berita/dunia/pejuang-hamas-fatah-bersatu-abbas-tolak-negosiasi-dengan-israel.htm 235

4 /berita/dunia/yusuf-qardawi-teruslah-turun-ke-jalan.htm 201

5

/berita/dunia/pejuang-hamas-fatah-bersatu-abbas-tolak-negosiasi-dengan-israel.htm 155

6

/berita/dunia/iran-bantu-gaza-bentuk-pasukan-islam-dan-hentikan-ekspor-minyak-ke-as.htm 148

7

/berita/palestina/hari-ke-21-22-pertemuan-doha-dunia-arab-bekukan-hubungan-dengan-israel.htm 117

8

/berita/palestina/hari-ke-21-22-pertemuan-doha-dunia-arab-bekukan-hubungan-dengan-israel.htm 91

9 /berita/dunia/lemparan-batu-anak-anak-palestina-gentarkan-israel.htm 87

10 /berita/dunia/petani-israel-rugi-besar-akibat-geraikan-boikot.htm 77

11 /berita/dunia/yahudi-menentang-yahudi.htm 75

12 /berita/rss/int 74

13 berita/dunia/mahasiswa-indonesia-di-mesir-gelar-aksi-solidaritas.htm 74

14 /berita/dunia/gaza-kebohongan-pertama-obama.htm 67

(28)

18

Lampiran 4 Halaman yang diminta pengunjung

Alamat IP Waktu Halaman

1009870417 1231140571 /fiksi/perempuan-dan-cincin-di-jarinya-bag-1.htm

1009985486 1232267570 /berita/palestina/israel-gencatan-senjata-sepihak-gagal-tumbangkan-hamas.htm

1010047370 1231140659 /berita/dunia/aktris-hollywood-boikot-pengusaha-yahudi-zionis-as.htm

1010168901 1232266544 /berita/palestina/israel-gencatan-senjata-sepihak-gagal-tumbangkan-hamas.htm

1010168901 1232266708 /berita/palestina/hari-ke-21-22-pertemuan-doha-dunia-arab-bekukan-hubungan-dengan-israel.htm

1010168901 1232267009 /berita/palestina/hari-ke-20-israel-makin-membuktikan-dirinya-sebagai-penjahat-perang.htm

1010168901 1232267243 /suara-langit/undangan-surga/merindukan-mati-syahid.htm

1010180875 1231140232 /berita/dunia/iran-bantu-gaza-bentuk-pasukan-islam-dan-hentikan-ekspor-minyak-ke-as.htm

1010180875 1231140346 /berita/rss/int

1010180875 1231140678 /berita/rss/int

1010181361 1231140454 /berita/palestina/hamas-hancurkan-tujuh-tank-zionis.htm

1010181361 1231140599 /oase-iman/hijrah-kedua-sang-musashi.htm

1022369949 1232266528 /berita/palestina/hari-ke-21-22-pertemuan-doha-dunia-arab-bekukan-hubungan-dengan-israel.htm

1022369949 1232266536 /berita/palestina/hari-ke-21-22-pertemuan-doha-dunia-arab-bekukan-hubungan-dengan-israel.htm

1022457008 1232266477 /oase-iman/nikmat-berhijab.htm

1022458758 1232266267 /berita/palestina/hari-ke-21-22-pertemuan-doha-dunia-arab-bekukan-hubungan-dengan-israel.htm

1023754728 1231140479 /berita/dunia/yahudi-menentang-yahudi.htm

1023754728 1231140565 /berita/dunia/yordania-akan-bekukan-hubungan-diplomatik-dengan-israel.htm

1023754728 1231140651 /berita/palestina/hamas-hancurkan-tujuh-tank-zionis.htm

1023755303 1232227255 /berita/palestina/hari-ke-21-22-pertemuan-doha-dunia-arab-bekukan-hubungan-dengan-israel.htm

1023769619 1231140068 /konsultasi/konspirasi/kiamat-2012.htm

(29)

19

Lampiran 5 Alamat IP Pengunjung

Alamat IP

1123631938

1591339728

3399020594

2107729223

2033469383

3399016549

3399668931

3732719634

1916426500

2108061929

2107701710

1094176879

3395101756

168558991

1123636613

3393814199

3732719507

2107763467

3399174276

2107762877

2107754121

2085705930

2107704149

974793278

2107964410

1920562491

1988653054

3393599237

2107688481

3411021270

(30)

20

Lampiran 6 Session identification

Alamat IP Session

Gambar

Gambar 1 Struktur Berurut (Veer et al. 2004)
Gambar 5 Struktur Jaringan (Veer et al. 2004)
Gambar 6 Data Preprocessing (Cooley et  al. 1999)
Tabel Database
+7

Referensi

Dokumen terkait

Puji syukur kehadirat Allah SWT yang telah melimpahkan kenikmatan untuk menikmati segala yang ada di bumi-Nya dan hanya dengan rahmat, karunia serta hidayah-Nya, sehingga

Selain Walhi, LSM lainnya yang menjadi penyelenggara dari kongres tersebut antara lain Komisi untuk Orang Hilang dan Korban Tindak Kekerasan (KontraS), Jaringan Advokasi

1-,3 Di Amerika Serikat dan banyak negara lainnya, pubertas pada perempuan diawali dengan pembesaran payudara pada usia 8–13 tahun, sedangkan pada laki-laki diawali dengan

Iklim organisasi yang baik telah terbangun di Biro Rektor Universitas Muhammadiyah Tapanuli Selatan dimana rata-rata responden penelitian memberikan jawaban yang

Hasil penelitian menunjukkan bahwa strategi yang dilakukan kepala madrasa yaitu melakukan pendekatan kepada masyarakat, silaturahmi dengan cara berkunjung kerumah-rumah warga untuk

Langkah awal dan mendasar untuk menghadapi dan memberantas segala bentuk korupsi adalah dengan memperkuat landasan hukum yang salah satunya adalah dengan melakukan amandemen pada

Dari hasil penelitian kode postur yang dapat dilihat bahwa semua pekerjaan perawat IGD dilakukan pada posisi berdiri, membungkuk, memutar dan miring, kedua lengan

Ada empat mengenai perlunya dibiasakan mengembangkan kemampuan berpikir reflektif, yakni: (1) tuntutan zaman yang menghendaki warga negara dapat mencari, memilih,