1
SISTEM ANALISIS KONTEN WEBSITE MENGGUNAKAN DATA CLICKSTREAM DAN ALGORITME APRIORI PADA REKAMAN SESI LOG (STUDI KASUS PADA KEMENTERIAN PERTANIAN INDONESIA)
SUPRIYADI
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2013
2
3 PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*
Dengan ini saya menyatakan bahwa tesis berjudul Sistem Analisis Konten Website Menggunakan Data Clickstream pada Rekaman Sesi Log adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apapun kepada perguruan tinggi manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam daftar pustaka di bagian akhir tesis ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, November 2013 Supriyadi NRP G651110581
* Pelimpahan hak cipta atas karya tulis dari penelitian kerja sama dengan pihak luar IPB harus didasarkan pada perjanjian kerjasama yang terkait
4
RINGKASAN SUPRIYADI. Sistem Analisis Konten Website Menggunakan Data Clickstream pada Rekaman Sesi Log. Dibimbing oleh YANI NURHADRYANI dan ARIF IMAM SUROSO Situs Web (Website) merupakan satu set halaman web yang saling berhubungan, biasanya meliputi sebuah homepage, umumnya terletak pada server yang sama, disiapkan dan dipelihara sebagai kumpulan informasi oleh perorangan, kelompok atau organisasi. Penggalian data (data mining) pada sebuah server website mengenai data clickstream biasanya dilakukan oleh pengembang dan pemilik web tersebut. Secara umum ada tiga tahap penting dalam penggalian data website yang perlu dilakukan, langkah pertama yaitu untuk membersihkan data sebagai iterasi awal dan mempersiapkan untuk mengambil data pola penggunaan oleh pengguna situs Web. Langkah ke dua adalah mengekstrak pola penggunaan dari data yang sudah diperoleh, dan langkah ke tiga adalah untuk membangun sebuah model prediktif didasarkan pada data yang sudah diekstrak sebelumnya. Penelitian dilakukan dengan mengambil data sekunder Website Kementrian Pertanian Republik Indonesia atau Departemen Pertanian Republik Indonesia (Deptan) dengan menggunakan interval waktu log server selama dua bulan yaitu bulan November 2012 s.d. Desember 2012. Pemilihan data tersebut hanya sebagai sampel untuk dianalisis guna pengembangan perangkat lunak yang bisa mengolah data access log untuk periode kapan pun. Pengolahan data dan proses preprocessing data log menggunakan perangkat lunak yang dikembangkan berbasis web dan disimpan dalam DBMS mysql. Pengembangan perangkat lunak komputer tersebut menggunakan analisis database dengan mengacu pada analisis keranjang belanja dengan minimum support dan confidence yang ditentukan sebesar 1% dan 0.2%. Dari hasil analisis diperoleh halaman yang memiliki akses tertinggi adalah halaman index1.php. Walaupun /index1.php merupakan halaman yang memiliki akses tertinggi hal tersebut tidak menunjukan halaman tersebut paling menarik kontennya karena /index1.php adalah defaultnya halaman utama website Deptan. Halaman yang memiliki hits tertinggi selain halaman utama (/index1.php) adalah halaman /event.php. /respon.php, /pengumuman/cover_es.htm, /wap/index.php, /tampil.php, /diralamatskpd/tampil.php dan /news/detail.php. Pada proses scan ke2 diperoleh tujuh kaidah assosiasi yang memenuhi. Untuk pengembangan konten yang berkaitan dengan link maka bisa ditempatkan sugesti link dari halamanhalaman yang memenuhi kaidah ke halaman yang memiliki hits yang rendah. Website Deptan memiliki ratarata kunjungan halaman web (hits) yang relatif merata untuk setiap halamnnya, hal tersebut dilihat dari rata-rata nilai support dan confidence yang kecil, dan yang tertinggi nilai support-nya adalah sekitar 8%. Kata kunci: Data clickstream, analisis keranjang belanja, analisis database.
5
SUMMARY SUPRIYADI. Sistem Analisis Konten Website Menggunakan Data Clickstream pada Rekaman Sesi Log. Supervised by YANI NURHADRYANI and ARIF IMAM SUROSO Website is a set of interconnected web pages, usually includes a homepage, generally located on the same server, prepared and maintained as a collection of information by an individual, group or organization . Data mining of clickstream data on a website server is usually done by the developer and owner of the web . In general there are three important stages in the data mining website that needs to be done, the first step is to clean up the data as the initial iteration and prepare to take the data usage patterns by users of our site. Step two is to extract usage patterns from the data obtained, and the third step is to build a predictive model based on the data that has been extracted earlier. The study was conducted by taking secondary data Website of Kementrian Pertanian Republik Indonesia atau Departemen Pertanian Republik Indonesia (Deptan) with the interval of time using server log for two months ie November 2012 sd December 2012. The selection of the data is only as a sample to be analyzed in order to develop software that can process data access logs for the period at any time. Data processing and process log data preprocessing software developed using webbased and stored in a MySQL DBMS. The computer software development using database analysis with reference to the market basket analysis with minimum support and confidence were set at 1 % and 0.2 %. From the results obtained by analysis of the page that has the highest access is index1.php page. Although /index1.php a page that has the highest access pages it does not reveal the most attractive because of its content / index1.php is the default main page of the Deptan Website. Page that has the highest hits in addition to the main page (/index1.php) is a page /event.php, /respon.php, /announcements /cover_es.htm, /wap/index.php, /tampil.php, /diralamatskpd/tampil.php and /news/detail.php . On the 2nd scan obtained seven rules of association that meets . For the development of content related to the link could be placed suggestion links from pages that meet the rule to a page that has a low hits. Deptan website has an average web page visits (hits) are relatively evenly distributed to each halamnnya, it is seen from the average value of support and confidence are small , and the highest value of his support is around 8 %. Keywords : Clickstream data, Market basket analysis, Database analysis.
6
@ Hak Cipta Milik IPB, Tahun 2013 Hak Cipta Dilindungi Undangundang
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik atau tinjauan suatu masalah ; dan pengutipan tidak merugikan kepentingan IPB Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini dalam bentuk apapun tanpa izin IPB
7
SISTEM ANALISIS KONTEN WEBSITE MENGGUNAKAN DATA CLICKSTREAM DAN ALGORITME APRIORI PADA REKAMAN SESI LOG (STUDI KASUS PADA KEMENTRIAN PERTANIAN INDONESIA)
SUPRIYADI
Tesis Sebagai Salah Satu Syarat untuk Memperoleh Gelar Magister Komputer pada Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR 2013
8
Penguji Luar Komisi pada Ujian Tesis : Dr Irman Hermadi, MS
9 Judul Penelitian
: Sistem Analisis Konten Website Menggunakan Data Clickstream dan Algoritme Apriori Pada Rekaman Sesi Log.
Nama NIM
: Supriyadi : G651110581
Disetujui oleh Komisi Pembimbing
Dr Yani Nurhadryani, SSi, MT Ketua
Dr Arif Imam Suroso, MSc Anggota
Diketahui oleh,
Ketua Program Studi Ilmu Komputer
Dekan Sekolah Pascasarjana
Dr Yani Nurhadryani, SSi, MT
Dr Ir Dahrul Syah, MScAgr
Tanggal Ujian : 26 September 2013
Tanggal Lulus:
PRAKATA Puji syukur penulis panjatkan kehadirat Allah SWT atas segala karuniaNya sehingga tesis ini berhasil diselesaikan. Tema yang diambil dalam penelitian ini adalah rekaman data sesi log web server, dengan judul Sistem Analisis Konten Website Menggunakan Data Clickstream dan Algoritme Apriori Pada Rekaman Sesi Log. Tesis ini disusun sebagai salah satu syarat untuk memperoleh gelar Magister Komputer pada Program Ilmu Komputer Sekolah Pascasarjana Institut Pertanian Bogor. Pada kesempatan ini penulis menyampaikan penghargaan dan ucapan terima kasih kepada : 1. Ibu Dr Yani Nurhadryani, SSi, MT dan Bapak Dr Arif Imam Suroso, MSc selaku komisi pembimbing yang telah meluangkan waktu, tenaga dan pikiran sehingga tesis ini dapat diselesaikan. 2. Bapak Dr Irman Hermadi, MS selaku dosen penguji yang telah memberikan arahan dan masukan untuk perbaikan tesis ini. 3. Kedua orangtuaku Bapak (alm) dan Ibu tercinta, yang selalu tak kenal lelah mendukung dan mendoakan siang dan malam. 4. Keluargaku tercinta yang selalu membantu dan berdoa siang dan malam untuk kelancaran penyusunan laporan tesis ini. 5. Staff Pengajar Program Studi Ilmu Komputer 6. Staff Administrasi Departemen Ilmu Komputer atas kerja samanya membantu kelancaran proses administrasi hingga akhir studi. 7. Pimpinan dan staff Pusdatin Kementerian Pertanian Indonesia yang telah membantu dalam memberikan arahan di tempat penelitian dan menyediakan data utama dalam penelitian ini. 8. Rekan-rekan di STMIK Kharisma Karawang 9. Rekan-rekan MKOM13 yang setia berdiskusi dan membantu dengan ikhlas. Penulis menyadari bahwa masih banyak kekurangan dalam penulisan tesis ini, namun demikian penulis berharap tesis ini dapat bermanfaat untuk bidang ilmu komputer, bidang pendidikan dan bidang umum lainnya. Bogor, November 2013
Supriyadi
DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR DAFTAR LAMPIRAN
ix x xi
1
PENDAHULUAN Latar Belakang Perumusan Masalah Tujuan Penelitian Manfaat Penelitian Ruang Lingkup
1 1 2 2 2 3
2
TINJAUAN PUSTAKA Data Clickstream Web Mining Analisis Keranjang Belanja SDLC Model
5 5 5 7 8
3
METODE PENELITIAN Bahan Penelitian Alur Penelitian Memilih Data Log Pra Proses Transformasi Data Penemuan dan Analisis Pola
9 9 9 10 11 18 24
4
HASIL DAN PEMBAHASAN Pemecahan data Log dan Konversi ke file .csv Membersihkan Data dan Pemilihan String Struktur Data Pohon dan Membentuk Node Analisis Database Analisis Asosiasi Pengembangan Sistem Komputer untuk Pengolahan Data
31 31 31 32 34 34 37
5
SIMPULAN DAN SARAN Simpulan Saran
46 46 46
DAFTAR PUSTAKA LAMPIRAN
47 49
DAFTAR TABEL Halaman 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Spesifikasi berkas bahan penelitian Penjelasan format string log Web Server Apache Pengelompokan data log dan penggunaannya Jenisjenis status HTP Contoh format data log yang akan diteliti Penguraian String Request Contoh kumpulan file yang diakses oleh pegguna (host) Pengkodean struktur direktori file dalam halaman web sebagai node Rangkaian (sequential) akses halaman Web Sebaran frekuensi akses halaman web Pemisahan string dengan spasi kosong Pemisahan string useragent dengan spasi kosong Daftar subdomain situs web Deptan Keterangan penulisan url Contoh transaksi akses node Data hasil pemecahan file access_log Tahapan pembersihan data transaksi web Deptan Daftar node Hasil scan/prunning pertama kandidat 1itemset Hasil scan/prunning kedua kandidat 2itemset Hasil perhitungan support dan confidence kaidah asosiasi 2itemset Definisi Use Case Uraian Skenario Impor Data Log Uraian Skenario Bersihkan Data Log Uraian Skenario Membuat Node Uraian Skenario Membuat Node Uraian Skenario Membuat 1Itemset Node Uraian Skenario Membuat 2Itemset Node
9 11 13 15 17 19 20 22 22 23 24 25 25 26 28 31 31 33 35 36 37 38 39 40 40 41 42 42
DAFTAR GAMBAR Halaman 1 2 3 4 5 6 7 8 9
Tahapan utama proses penelitan Tahapan rinci proses penelitan Ilustrasi Proses Pemecahan data log Ilustrasi Proses konversi ke file csv Contoh representasi struktur pohon Web Deptan Struktur data Pohon Skema pembentukan tabel log Use Case Diagram Class Diagram
9 10 11 12 24 30 37 43 44
DAFTAR LAMPIRAN Halaman 1 2 3 4
Sequence Diagram Tampilan antarmuka aplikasi Struktur data tabel Panduan menjalankan Aplikasi
50 53 56 58
1
1 PENDAHULUAN Latar Belakang Situs Web (Website) merupakan satu set halaman web yang saling berhubungan, biasanya meliputi sebuah homepage, umumnya terletak pada server yang sama, disiapkan dan dipelihara sebagai kumpulan informasi oleh perorangan, kelompok atau organisasi. Semakin hari semakin banyak pengguna yang mengakses Website, hal tersebut mengakibatkan terjadinya globalisasi informasi. Pengguna bisa dengan bebas mengunggah dan mengunduh data dalam berbagai bentuk berkas digital melalui jaringan internet sesuai dengan kemampuan dan kebutuhan informasi yang dicari. Hal utama yang melatarbelakangi penelitian ini adalah perilaku pengunjung sangat bervariasi tapi keseluruan aktifitasnya terekam semua oleh Web Server dan disimpan dalam bentuk file offline. File tersebut dikenal dengan dama file access.log atau session.log yang isinya terdiri dari data aktifitas log suatu server web. Data tersebut merupakan rekaman setiap kali pengguna melakukan perubahan proses klik (clickstream) terhadap link yang ada dalam halaman web, dapat dianalisis, digali (mining) menjadi suatu informasi bagi pengembang web dalam mengembangkan webnya. Penggalian data (data mining) pada sebuah server website mengenai kontennya biasanya dilakukan oleh pengembang dan pemilik web tersebut. Secara umum ada tiga tahap penting dalam penggalian data website yang perlu dilakukan (Srivastava et al. 2000), langkah pertama yaitu untuk membersihkan data sebagai iterasi awal dan mempersiapkan untuk mengambil data pola penggunaan oleh pengguna situs Web. Langkah ke dua adalah mengekstrak pola penggunaan dari data yang sudah diperoleh, dan langkah ke tiga adalah untuk membangun sebuah model prediktif didasarkan pada data yang sudah diekstrak sebelumnya. Seperti yang dilakukan oleh Montgomery et al. (1999) yang dalam penelitiannya lebih menekankan pada rute (path) klik yang dilakukan oleh pengguna Website dengan melakukan penambangan data (mining) secara real time. Kemudian Sule Gunduz dan Tamer Ozsu (2003) juga melakukan analisis Clickstream untuk mengembangkan model prediksi dengan merepresentasikan prilaku pengguna situs Web dalam bentuk pohon prilaku (tree). Penelitian tersebut lebih menekankan pada penelahan data yang berkaitan dengan prilaku pengguna situs web, sehingga data rekaman prilaku pengguna situs Web tersebut dapat digunakan pihak pengembang web. Dengan memadukan analisis empiris, Tingliang Huang (2012) memanfaatkan analisis Clickstream untuk melakukan penelitian pada bidang Management Inventory dengan fokus bahasan pada manfaat penelaahan pengguna Web untuk mengelola data persediaan barang dengan menggunakan analisis empiris. Analisis Clickstream yang berkaitan dengan prilaku pengguna merupakan
2 bagian dari teknik dalam Web Usage Mining (WUM), yang bisa dikembangkan sebagai Business Intelligence (BI) dengan melakukan klasifikasi pengguna (Abdurrahman et al. 2009). Sehingga mendorong para peneliti untuk ikut berpartisipasi dalam mengembangakan perangkat lunak untuk menganalisis data clickstream. Ada yang menggunakan Pemrograman Java (Dinucă 2012) dan algoritme apriori untuk mengembangkan aplikasi komputer yang bisa menggali informasi dari data clickstream. Karena besarnya data teks yang diolah dibutuhkan banyak teknik untuk mereduksi waktu pengolahan data access log, seperti menggunakan teknik komputasi paralel (Wang Tong et al. 2005). Perumusan Masalah Proses pembentukan data clickstream terjadi secara kontinyu tanpa henti selama web server dinyalakan, dan semua aktifitas log direkam semua walaupun sebenarnya bisa diatur sesuai kebutuhan, sehingga data yang akan dijadikan bahan kajian akan bercampur dengan data lainnya. Dengan melihat data clickstream tersebut dapat diperoleh rumusan masalah seperti berikut: 1. Proses perekaman data clickstream dilakukan tanpa henti dalam kurun waktu pengujian tertentu, sehingga file teks yang terbentuk sangat banyak. 2. Bagaimana mengelompokan dan membersihkan data clickstream sesuai dengan kebutuhan? 3. Bagaimana memetakan file dan folder yang ada dalam website ke dalam bentuk struktur data pohon (tree)?
Tujuan Penelitian Penelitian ini merupakan salah satu penelitian pada bidang Web Usage Mining, yang bertujuan untuk : 1. Menghasilkan data yang akurat sebagai acuan untuk mengembangkan konten Website agar pada pengembangan berikutnya bisa menjadi lebih efisien sesuai dengan kebutuhan user.. 2. Mengembangkan perangkat lunak yang dapat membantu mengelola data Clickstream menjadi data statistik yang mudah dimengerti dan bermanfaat untuk melihat tingkat frekuensi akses terhadap halaman Web. Manfaat Penelitian Hasil akhir penelitian ini diharapkan dapat bermanfaat bagi beberapa pihak terkait yaitu: 1. Pengembang Website Dalam mengelola dan mengembangkan isi dari halaman web nya agar memudahkan user dalam melakukan navigasi.
3 2. Pihak manajemen atau pengelola suatu instansi Data statistik mengenai konten web yang dihasilkan bisa dijadikan acuan dalam mengambil kebijakan untuk pengembangan konten website institusinya. 3. Peneliti bidang Web Mining Bisa dijadikan bahan informasi tambahan bagi para peneliti tentang implementasi Algoritme Apriori dalam menganalisis keterhubungan antar halaman Website.
Ruang Lingkup Penelitian dan Bahan Penelitian Berkaitan dengan rentang waktu pelaksanaan penelitian ini, maka perlu dibatasi ruang lingkup penelitiannya supaya lebih terarah, yaitu sebagai berikut: 1. Penelitian difokuskan pada satu area Web Mining yaitu Web Usage Mining (WUM). 2. Aplikasi yang dikembangkan hanya untuk melakukan proses preprocessing dan pemodelan data untuk WUM menggunakan algoritme Apriori. 3. Bahan data yang akan diolah hanya untuk data clickstream dari Apache Web Server. 4. Hasil akhirnya berupa data statistik yang bisa dijadikan acuan dalam pengembangan isi dari Website 5. Menganalisis data offline yakni bukan menganalisis data realtime secara langsung. Data berasal dari file yang diambil dari file akses log (access.log) yang diambil dari Web Server Departemen Pertanian Indonesia (Deptan). 6. Dalam pelaksanaannya penelitian ini akan menggunakan bahan dan alat sebagai berikut: a. Data dasar adalah file access.log b. Perangkat pengolah data menggunakan satu set sistem komputer dengan menggunakan Processor Intel Atom N450(1.66Ghz) c. Web Server yang digunakan adalah yang berbasis Open Source yaitu Apache Web Server d. Editor teks menggunakan Open Office, Blue Fish dan Geany e. Bahasa Pemrograman bebasis Web (HTML, XML, JavaScript, AJAX, PHP dan CSS) f. Data Base Management System (DBMS) menggunakan MySql
4
5
2 TINJAUAN PUSTAKA Data Clickstream Clickstream yaitu proses pencatatan atau perekaman data klik pada layar komputer yang dilakukan oleh pengguna pada saat browsing web atau menggunakan aplikasi perangkat lunak dengan lokasi analisis pada area halaman web atau aplikasi, login pada klien atau di dalam web server, router, atau server proxy (Moe WW et al. 2004), atau Clickstream adalah serangkaian link yang sudah diklik oleh pengguna ketika mengakses halaman web (freedictionary 2013). Data clickstream ini biasanya disimpan dalam sebuah file access.log yang berada di web server. Setiap pengguna melakukan proses klik terhadap menu yang ada di monitor dalam hal ini halaman web, maka Web server akan merekamnya dan disimpan dalam file access.log. Sehingga akan banyak informasi dan data yang tersiimpan di dalamnya dan bisa dianalisis menggunakan metode yang ada dalam data mining. Proses menganalisis data clickstream merupakan bagian dari Web Usage Mining (WUM) yang melakukan discovery data dengan menggunakan data sekunder yang ada pada web server, yaitu meliputi data access log, browser log, user profiles, registration data, user session, cookies, user queries dan juga data mouse click (Abdurrahman et al. 2006). Web Mining Dengan adanya Website kita bisa menyampaikan informasi kepada khalayak ramai dengan mudah dan cepat tanpa batas wilayah, sehingga siapapun bisa mengasksesnya dengan bebas pula, kecuali yang menyertakan beberapa syarat akses. Sedangkan cara atau teknik data mining untuk mengekstrak data dari data Web dikenal dengan istilah Web Mining (Srivastava 2005). Ada tiga kelompok yang termasuk ke dalam Web Mining, yaitu : 1. Web Content Mining (WCM) Merupakan kelompok Web Mining dengan melakukan proses ekstraksi menggunakan data yang berasal dari isi suatu dokumen Website (J. Srivastava 2005). isi suatu dokumen web tersebut bisa berupa teks, gambar, audio, video dan data record dalam bentuk list dan tabel. Hasil dari penelitian bidang WCM biasanya berupa klasifikasi Website dan implementasi pada mesin pencarian seperti Google. 2. Web Structure Mining (WSM) Merupakan teknik dalam Web Mining dengan mengambil atau melakukan ekstraksi data yang berasal dari struktur halaman atau struktur dokumen sebuah Website (Srivastava, 2005). Halaman dianggap sebagai node dan hyperlink dianggap sebagai edge, sehingga membentuk struktur data graph
6 G={V,E}, dengan G adalah graph, V adalah verteks dan E adalah edge. Penelitian bidang WSM sangat bermanfaat untuk mengetahui pola prilaku pengguna atau pengunjung suatu Website. 3. Web Usage Mining (WUM) Merupakan teknik analisis dan pencarian pola dalam clickstream dan keterhubungan data yang terkumpul atau terbentuk pada saat terjadi interaksi pengguna dengan sumber daya Website (Mobaser 2007). Secara umum ada tiga tahapan proses yang dilakukan dalam WUM, yaitu: a. Pengumpulan data dan pra proses (data collection and preprocessing) Pada tahap ini data Clickstream dibersihkan dan dipecah ke dalam beberapa kumpulan data transaksi pengguna yang menggambarkan aktifitas pengguna ketika mengakses Website. Pada tahapan ini yang diperhatikan adalah sumber dan tipe data (penggunaan data, isi data, struktur data dan pengguna data), tahapan pra proses (pembersihan data, identifikasi pageview, identifikasi pengguna, sessionization, pelengkapan jalur atau path dan integrasi data) b. Pemodelan data untuk WUM Untuk memudahkan dalam menentukan dan menganalisis pola maka perlu dilakukan proses pemodelan data yang sudah dibersihkan ke dalam bentuk yang lebih mudah dikerjakan dengan menggunakan teknik data mining, biasanya dimodelkan dalam bentuk matriks, yaitu matriks transaksi dan matriks pageview. c. Penemuan Pola (pattern discovery) dan Analisis Pola (pattern analysis) Pada tahap ini dilakukan pencarian dan analisis pola biasanya menggunakan perumusan analisis yang ada dalam ilmu statistik yang meliputi analisis session, analisis klaster, analisis assosiasi dan korelasi menggunakan algoritme Apriori. Adapun fungsi dari WUM dapat dijelaskan sebagai berikut (Pramudiono 2004): 1. Personalisasi Melakukan personalisasi website sesuai dengan kebutuhan dan keinginan pengguna 2. Meningkatkan performa website WUM menyediakan fasilitas untuk mendeteksi kepuasan pengguna, analisis trafik data, transmisi jaringan serta distribusi data, sehingga apabila dianalisis dengan baik akan dihasilkan bahan rujukan untuk meningkatkan performa website menjadi lebih baik. 3. Modifikasi dan pengembangan situs Untuk mengembangkan website dibutuhkan data yang akurat mengenai kekurangan dan kelebihan suatu website, timbal balik informasi (feed back) yang diberikan oleh pengguna website sangat berguna dalam mengambil keputusan rancang ulang website. 4. Karakteristik penggunaan Menyediakan informasitentang prilaku interaksi pengguna website.
7
Analisis Keranjang Belanja (Market Basket Analysis) Fungsi association rules seringkali disebut dengan analisis keranjang belanja (Market Basket Analysis) yang digunakan untuk menemukan relasi atau korelasi diantara himpunan itemitem. Analisis keranjang belanja adalah analisis dari kebiasaan membeli customer dengan mencari asosiasi dan korelasi antara itemitem berbeda yang diletakan customer dalam keranjang belanjanya. Analisis keranjang belanja dapat digunakan secara efektif pada bidang Web Mining terutama untuk mengilustrasikan aturan assosiasi yang terdapat pada data log, misalnya terdapat aturan sebagai berikut: Halaman X and Halaman Y implies Halaman Z (X and Y => Z), memiliki nilai confidence 90%, hal ini berarti jika seirang pengguna atau pengunjung mengunjungi halaman A dan B maka terdapat kemungkinan 90% pengguna tersebut akan mengunjungi halaman Z, sehinnga perlu disediakan link langsung dari halaman A taau B ke C. Salahsatu algoritme yang umum digunakan dalam analisis keranjang belanja adalah Algoritme Apriori, yaitu algoritme analisis keranjang pasar yang digunakan untuk menghasilkan aturan asosiasi (Goswami et al. 2010) dengan tujuan utama adalah untuk mencari maksimal frequent itemset (didapatkan juga frequent itemset yang tidak maksimal). Istilah penting dalam Algoritme Apriori : a. Itemset adalah himpunan dari itemitem (dalam hal ini adalah halaman web) yang terekam pada data log. Itemset I = {I1, I2, I3,... In} b. Transaksi atau Kejadian N merupakan sekumpulan n transaksi N = {T1, T2, T3,... Tn}; T∈ N, T ⊆ I. c. Kaidah asosiasi adalah peluang bahwa itemitem tertentu hadir bersama sama. X > Y dimana X dan Y adalah itemset d. Support, supp(X) dari suatu itemset X adalah rasio dari jumlah transaksi dimana suatu itemset muncul dengan total jumlah transaksi. Supp(X) =
TX TN
;
TX adalah Transaksi atau kemunculan X, X ⊆ I; TN adalah jumlah total transaksi.
Setiap itemset X diasosiasikan dengan himpunan transaksi TX ={T∈N | T ⊇ X} yang merupakan himpunan transaksi yang memuat itemset X. f. Confidence (keyakinan) adalah nilai probabilitas adanya itemset X pada suatu transaksi, maka juga ada itemset Y pada transaksi tersebut. e.
Conf(X → Y) =
Supp X ∪Y ; Supp X
atau dalam terminologi peluang bersyarat Conf(X → Y) = P(Y|X) =
P X ∩Y ; P X
8 System Development Life Cycle (SDLC ) Model Bahan dan data yang akan diolah dalam penelitian ini merupakan data teks yang berukuran besar dan ada kemungkinan banyak variasi untuk beberapa Web Server yang berbeda. Agar hasil penelitian ini bisa berkelanjutan maka perlu dikembangkan sebuah sistem yang terkomputerisasi untuk menggantikan pengolahan data manual ke dalam bentuk terkomputerisasi, sehingga sistem yang dikembangkan bisa berlaku untuk data yang berasal dari berbagai Web Server Apache yakni bukan hanya yang berasal dari Web Server Departemen Pertanian. Akan tetapi dalam pengembangannya Sistem ini menggunakan data sampel yang berasal dari data akses log Web Server departemen Pertanian Indonesia. Pengembangan sistem dilakukan dengan mengimplementasikan tahapan pengembangan perangkat lunak yaitu SDLC Model (System Development Life Cycle). Adapun tahapannya terdapat 5 fase (Satzinger et al 2007) yaitu: 1. Tahap Perencanan (Project Plannnng Phase) 2. Tahap Analisis (Analysis Phase) 3. Tahap Desain (Design Phase) 4. Tahap Implementasi (Implementation Phase) 5. Tahap Dukungan/Perawatan (Support Phase)
Gambar 2.2 Tahapan pengembangan sistem
9
3 METODE PENELITIAN Bahan Penelitian Penelitian dilakukan dengan mengambil data sekunder Website Kementerian Pertanian Republik Indonesia atau Departemen Pertanian Republik Indonesia (Deptan) dengan menggunakan interval waktu log server selama dua bulan yaitu bulan November 2012 s.d. Desember 2012. Pemilihan data tersebut hanya sebagai sampel untuk dianalisis guna pengembangan perangkat lunak yang bisa mengolah data access log untuk periode kapan pun. Data clickstream disimpan oleh web server dalam berkas access.log dengan spesifikasi data seperti berikut: Tabel 1. Spesifikasi berkas bahan penelitian Identitas
Keterangan
Nama berkas Jenis berkas Sifat berkas Jenis Web server Lokasi penyimpanan Ukuran berkas Alamat url
access_log Teks Offline Apache 2 /log/apache2/access_log 632,15 MB http://www.deptan.go.id
Alur penelitian Secara umum penelitian ini dilakukan dengan mengikuti tiga tahapan utama seperti yang tertera pada gambar 3.1 berikut (Mobasher 2007): Pengumpulan data dan pra proses (Data collection and preprocessing) Pemodelan data untuk WUM (Data Modeling for Web Usage Mining) Penemuan dan Analisis Pola (Pattern discovery and analysis)
Gambar 1. Tahapan utama proses penelitan Gambar 3.1 hanya mememuat tahapan umum dalam metodologi penelitian ini, tahapan yang lebih khusus akan dijelaskan secara lebih rinci pada bagianbagian selanjutnya dengan mengikuti tahapan rinci seperti tertera pada gambar 3.2 berikut ini yang merupakan penjabaran dari tahapan umum penelitian di atas:
10
Gambar 2. Tahapan rinci proses penelitan Berikut ini akan diuraikan dan dijelaskan tahapan yang ada pada gambar 2. 1. Memilih data Log Server yang dianalsis adalah menggunakan Opensource Web Server yaitu Apache. Web Server Apache menyimpan semua data log dalam file access.log seperti contoh berikut: 66.249.73.7 - - [04/Nov/2012:04:08:33 +0700] GET /bpsdm/spp-kupang/index.php HTTP/1.1 200 37803 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; )" 66.249.73.7 - - [04/Nov/2012:04:08:35 +0700] "GET /pengumuman/LombaHPS30_bkp/PANDUAN_LOMBA_POSTER.pdf HTTP/1.1" 200 97568 "-" "DoCoMo/2.0 N905i(c100;TB;W24H16) )"
String log di atas mengikuti format log pada web server Apache (http://httpd.apache.org) dengan penjelasan sebagai berikut : Log sederhana : LogFormat "%h %l %u %t \"%r\" %>s %b" Kombinasi Log : LogFormat "%h %l %u %t \"%r\" %>s %b \"% {Referer}i\" \"%{User-agent}i\""
11 Tabel 2. Penjelasan format string log Web Server Apache No String
Penjelasan
Keterangan
1 %h
IP Address client atau remote host yang meminta layanan ke server
host
2 %l
Merupakan proses identifikasi log user atau client
log identification
3 %u
Merupakan userid dari seseorang yang meminta dokumen berdasarkan otentikasi HTTP
userid
4 %t
Waktu ketika permintaan diterima oleh server
time
5 \"%r\"
Berisi sebaris permintaan yang ditulis oleh client, diapit dalam tanda petik dua
request line
6 %>s
Kode status yang diberikan oleh server kepada client
status
7 %b
Ukuran data atau dokumen yang diberikan kepada client
byte
8 \%"{Referer}i"%\
Rujukan HTTP request header yang telah dirujuk atau diikutsertakan oleh client
referer identification
9 \"%{User-agent}i\" Identifikasi browser yang digunakan oleh client
user agent identification
2. Pra Proses a. Memecah data log Data access log merupakan file teks yang berukuran sangat besar, apalagi jika Website yang dianalisis jumlah transaksinya cukup tinggi. Besarnya data teks tersebut menyebabkan waktu untuk membuka data sangat lama, bahkan ada beberapa teks editor yang tidak bisa membuka file access.log tersebut karena terlalu banyaknya baris yang akan dibaca. Sebagai bahan pembanding jumlah maksimum baris data yang bisa ditampung oleh openoffice spreadsheet dan Microsoft Excel adalah 1024x1024 = 10242 = 220 = 1048576 baris, sedangkan data log jumlah barisnya bisa melebihi 2 jutaan baris. Teknik pemecahan data ini tidak seperti memotong file terkompresi rar atau teknik spliter (seperti HJSplit) yang tidak melihat isi file tersebut yang penting file dipotong-potong dengan ukuran tertentu dan untuk membukanya harus disatukan terlebih dahulu. Teknik yang dilakukan disini adalah dengan cara membuka terlebih dahulu keseluruhan file teks dengan editor khusus, kemudian untuk beberapa baris tertentu dipotong (cut) dan dipindahkan ke file yang baru untuk disimpan, berikut ini gambaran prosesnya: Baris 1 Baris 2 Baris 3 Baris 4 Baris 5 Baris 6 access.log
Baris 1 Baris 2
access.log_1
Baris 3 Baris 4
access.log_2
Baris 5 Baris 6
access.log_3
Gambar 3. Ilustrasi Proses Pemecahan data log
12 b. Konversi ke file .csv (Comma Separated Value) Agar data bisa diolah lebih fleksibel, maka diubah terlebih dahulu ke dalam bentuk .csv, karena dari format csv bisa dikonversi kebentuk lain, seperti format sql atau spreadsheet.
access.log
access.log_1
access.log_1.csv
access.log_2
access.log_2.csv
access.log_3
access.log_3.csv
Gambar 4. Ilustrasi Proses konversi ke file csv c. Membersihkan data Pada tahapan ini dilakukan proses pembuangan string atau variabel yang tidak dibutuhkan dalam penelitian, hal ini sangat diperlukan karena data yang dianalisis merupakan data string yang cukup besar, sehingga apabila variabel yang tidak dibutuhkan dibuang maka waktu untuk pemrosesan data bisa lebih efisien. Data yang akan dibersihkan merupakan data log yang sudah dipecah dan sudah dalam bentuk csv. Karkteristik dari file csv adalah hanya memiliki satu string pemisah (sparator) dan satu string penutup tiap fields. Contoh baris data yang belum bersih :
$string= 66.249.73.7 04/Nov/2012:04:11:40] GET /wap/index.php? option="component" HTTP/1.1
Seanjutnya apabila dengan kode PHP kita akan memisahkan string diatas berdasarkan sparator spasi kosong maka kodenya seperti berikut : $data = str_getcsv($string ,' ');
Artinya data $string akan dipisahkan dengan spasi kosong menjadi array $data berikut ini: 0
1
2
3
66.249.73. 04/Nov/2012:04:11:40] GET /wap/index.php? 7 option="component"
4 HTTP/1.1
Akan tetapi yang akan jadi masalah adalah pada indek yang ke3 yaitu $data[3] = /wap/index.php?option="component", yaitu adanya tanda petik ganda dan hal ini akan menyebabkan intruksi str_ getcsv menolaknya karena tanda petik ganda (") dan tanda petik(') adalah default penutup (enclosed) fields dari file csv. Oleh karena itu maka perlu dilakukan pembersihan tanda petik ganda dan tanda petik sebelum dimuat ke dalam database.
13 Selain berdasarkan tanda petik di atas, data log juga dibersihkan berdasarkan kelompok atau tipe dari berkas (file) sebagai berikut: Tabel 3. Pengelompokan data log dan penggunaannya No Jenis berkas Keterangan
Penggunaan
1
.css (teks)
Cascading Style Sheet, merupakan kelompok file untuk mempercantik tampilan halaman web.
diabaikan
2
.js (teks)
Javascript, merupakan client side script yang berfungsi untuk membuat halaman web lebih interaktif, contohnya untuk membuat fungsi zoom gambar atau mesagebox ketika mau menghapus email.
diabaikan
3
.xml (teks)
eXtensible Markup Language, merupakan berkas atau bahasa untuk mengatur struktur data web dalam susunan tag yang independen.
diabaikan
4
.bmp (gambar)
Bitmap, merupakan file gambar yang sering disertakan dalam halaman web
diabaikan
5
.gif (gambar) Graphics Interchange Format, merupakan file gambar yang sering disertakan dalam halaman web
diabaikan
6
.jpg (gambar) Join Photographis, merupakan file gambar yang sering disertakan dalam halaman web
diabaikan
7
.png (gambar)
Portable Network Graphics, merupakan file gambar yang sering disertakan dalam halaman web
diabaikan
8
.odt/.doc (teks)
Open Document Text/ Document, dokumen teks (words).
merupakan file
digunakan
9
.ods/.xls (teks)
Open Document Sheet / Excels, merupakan file sheet (Spread sheet).
digunakan
Portable Data Format, merupakan file teks portable yang biasanya readonly.
digunakan
10 .pdf (teks)
11 .mp3 (audio) Media Player 3, file audio untuk melengkapi halaman web
diabaikan
12 .mp4/.mpeg (.video)
Media Player 4/ Media Player Expert Graphics, file video untuk melengkapi halaman web
diabaikan
13 .swf Flash file, merupakan berkas audio video biasanya (multimedia) dalam bentuk animasi
diabaikan
14 .jsp (teks)
Java Server Page, merupakan Server Side Script untuk mengembangkan Website.
digunakan
15 .asp (teks)
Active Server Page, merupakan Server Side Script untuk mengembangkan Website.
digunakan
16 .html (teks)
Hypertext Markup Language, merupakan Client Side Script untuk mengembangkan Website.
digunakan
17 .php (teks)
PHP Hypertext Preprocessor, merupakan Server Side Script untuk mengembangkan Website.
digunakan
14 No Jenis berkas Keterangan 18 .sql (teks)
Penggunaan
Structured Query Language, file backup database dalam bentuk teks
19 .ico (gambar) Icon, merupakan file gambar untuk dijadikan ikon setiap halaman web
logo
diabaikan diabaikan
Keterangan: digunakan = digunakan sebagai data atau bahan penelitian diabaikan = tidak digunakan sebagai data atau bahan penelitian d. Pemilihan String Pada penelitian ini berfokus pada proses penelusuran frekuensi kunjungan terhadap setiap halaman Web yang ada pada halaman web http://www.deptan.go.id, sehingga dari data log yang ada hanya akan diambil beberapa data yang dibutuhkan. Seperti sudah dijelaskan sebelumnya bahawa dalam rangkaian format string log sederhana terdapat susunan seperti berikut : LogFormat "%h %l %u %t \"%r\" %>s %b \ %"{Referer}i"%\ \"%{User-agent}i\"" Dari format string log di atas tidak semua blok string diambil, hanya beberapa saja yang digunakan sesuai dengan kebutuhan penelitian ini maka yang digunakan sebagai bahan adalah: LogFormat "%h %t \"%r\" %>s Pengambilan empat kelompok string di atas berdasarkan keperluan data yang akan diolah, yaitu: a) %h merupakan kelompok string yang menggambarkan host yang mengakses web server, adapun identitas yang dicatat adalah berupa alamat host atau IP Address. data ini sangat bermanfaat untuk mengetahui siapa yang mengakses halaman web. b) %t merupakan runtunan waktu (time series) yang dilakukan oleh tiap host dalam satu sesi log, data ini sangat bermanfaat untuk membentuk satu rangkaian graph per sekali log untuk tiap host. c) %r adalah sekumpulan string yang berisi metode transfer data (POST/GET) dan permintaan (request) halaman web oleh pengguna, data ini akan dijadikan sebagai bahan dasar untuk dijadikan node dalam rangkaian graph. d) %s adalah status yang dihasilkan oleh protokol HTTP (Hyper Text Transfer Protocol) mengenai berhasil tidaknya proses komunikasi antara peminta layanan (client) dan pemberi layanan web (web server). Secara garis besar terdapat lima kelompok kode status HTTP, yaitu: 1) Kelompok 1xx (Provisional response) merupakan keolmpok kode status yang menyatakan status sementara ketika sedang terjadi proses permintaan 2) Kelompok 2xx (successful) Menyatakan bahwa permintaan bisa diterima oleh server.
15 3) Kelompok 3xx (Redirected) Menyatakan bahwa permintaan tidak error atau secara umum bisa diterima, akan tetapi lokasi yang dituju tidak ada atau sedang dialihkan. 4) Kelompok 4xx (Request Error) Permintaan yang diberikan tidak bisa diproses. 5) Kelompok 5xx (Server Error) Permintaan tidak bisa diproses karena server yang dituju sedang error. Berikut ini adalah daftar kode status HTTP secara detil yang diambil dari sumber http://support.google.com/webmasters dan http://hc.apache.org : Tabel 4. Jenis-Jenis status HTTP No Kode
Deskripsi
1
100 (Continue)
Mengindikasikan bagian permintaan pertama sudah diterima, dan menunggu untuk istirahat, dan client harus melanjutkan permintaannya.
2
101 (Switching protocols)
client meminta untuk bertukar protolol dan server mengetahunya untuk merealisasikan.
3
200 (Successful)
Server berhasil memroses permintaan dari client.
4
201 (Created)
Server berhasil memroses permintaan dari client kemudian server membuat resource baru
5
202 (Accepted)
Permintaan diterima oleh server tapi tidak dapat diproses.
6
203 (Non-authoritative information)
Server berhasil diproses, akan tetapi iformasi yang diberikan berasal dari sumber atau server lain.
7
204 (No content)
Permintaan berhasil diproses, akan tetapi server tidak memberikan hasil apa-apa.
8
205 (Reset content)
Permintaan berhasil diproses, akan tetapi server tidak memberikan hasil apa-apa, perbedaan dengan 204, status 205 membutuhkan reset page oleh client, contoh membersihkan form input.
9
206 (Partial content)
Server berhasil memroses sebagaian dari GET request.
10 300 (Multiple choices) 11
301 (Moved permanently)
Server memiliki beberapa cara untuk menyelelesaikan permintaan, Server bisa meilih sendiri atau memeberikan pilihan kepada client dalam meyelesaikan proses permintaannya. Permintaan dari client dialihkan secara permanen ke sumber lain.
Server merespon permintaan dengan mengalihkan ke sumber lain, akan 12 302 (Moved temporarily) tetapi untuk selanjutnya client harus melakukan permintaan ke lokasi aslinya. 13 303 (See other location)
14 304 (Not modified) 15 305 (Use proxy)
Memberikan respon bahwa seharusnya client melakukan GET request tersendiri ke lokasi lain untuk memperoleh informasi. Halaman yang diminta belum dimodifikasi sejak permintaan terakhir, pada saat terjadi seperti ini server tidak memberikan hasil apa-apa, sangat berguna untuk mennghemat bandwith. Client harus menggunakan proxy agar bisa mengkases halaman yang
16 No Kode
Deskripsi diminta.
Server merespon permintaan dengan mengalihkan ke sumber lain, akan tetapi untuk selanjutnya client harus melakukan permintaan ke lokasi 16 307 (Temporary redirect) aslinya tapi untuk permintaan GET dan HEAD request akan otomatis dialhkan ke lokasi lain. 17 400 (Bad request)
Server tidak memahapi perintah atau permintaan dari client.
18 401 (Not authorized)
Permintaan yang diberikan membutuhkan otorisasi.
19 403 (Forbidden)
Permintaan terkena blok (refusing), biasanya berkaitan dengan hak akses folder web
20 404 (Not found)
Server tidak menemukan halaman yang diminta.
21
405 (Method not allowed)
22 406 (Not acceptable) 23
407 (Proxy authentication required)
The method specified in the request is not allowed. The requested page can't respond with the content characteristics requested. Mirip dengan 401, akan tetapi otentikasinya menggunakan proxy.
24 408 (Request timeout)
Server kehabisan waktu tunggu untuk satu permintaan.
25 409 (Conflict)
Server memiliki konflik ketika menyelesikan permintaan.
26 410 (Gone)
Terjadi apabila resource yang diminta sudah dibuang secara permanen sama dengan 404 tapi terkadang 404 tidak akurat dalam melakukannya dan harus dipadukan dengan 301 untuk mengetahui lokasi barunya.
27 411 (Length required)
Server tidak bisa menerima permintaan tanpa menyertakan panjang isi header fields.
28 412 (Precondition failed)
Server tidak menemukan prakondisi yang disertakan pada saat melakukan permintaan.
29
413 (Request entity too large)
Server tidak bisa memroses permintaan karena terlalu besar untuk diproses.
30
414 (Requested URI is too long)
Pa jang url yang diminta terlalu panjang.
31
415 (Unsupported media Format permintaan tidak didukung oleh halaman yang diminta. type)
32
416 (Requested range not satisfiable)
33 417 (Expectation failed) 34
500 (Internal server error)
Rentang permintaan tidak tersedia di server. Server tidak dapat menyetujui persyaratan Expect request-header. Server error dan tidak dapat melayani permintaan client.
35 501 (Not implemented)
Server tidak memiliki fungsionalitas untuk menyelesaikan permintaan.
36 502 (Bad gateway)
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
37
503 (Service unavailable)
38 504 (Gateway timeout)
Server tidak tersedia bisa dikarenakan overloaded atau down untuk perawatan. Server bertindak sebagai gateway atau proxy dan tidak menerima
17 No Kode
Deskripsi permintaan tepat waktu dari server upstream.
39
505 (HTTP version not supported)
Server tidak mendukung versi dari HTTP protocol yang digunakan oleh client.
Adanya pembuangan sebagian string log dikarenakan adanya beberapa pertimbangan yaitu : 1. %l (log identification) Merupakan identitas log pengguna, apabila host yang tidak punya id maka statusnya akan berisi string "" atau kosong, sehingga apabila string ini dimasukan dalam penelitian, akan banyak host yang tidak terekam pada saat pembersihan data log. 2. %b (byte), Pada penelitian ini tidak memperhatikan ukuran data yang terjadi selama proses kunjungan web atau transaksi, semua dianggap sebagai satu proses. 3. %"{Referer}i"% Adalah identifikasi referensi url sebelumnya atau rujukan HTTP request header yang telah dirujuk atau diikutsertakan oleh client dalam penelitian ini tidak diperlukan karena tidak akan meneliti mengenai rute dari path. 4. "%{User-agent}i Identifikasi browser yang digunakan oleh pengguna, dalam penelitian ini yang akan diteliti adalah frekuensi akses terhadap halaman web tanpa memandang alat yang digunakan untuk mengakses website. Berikut ini contoh data log dengan format "%h %t \"%r\" %>s yang diambil untuk beberapa host yang mengakses web server pada tanggal 02 Desember 2012: Tabel 5. Contoh format data log yang akan diteliti host (%h)
time (%t)
string request (%r)
status (%s)
157.55.33.40
02/Dec/2012:04:10:10
GET /news/detailarsip_2.php? id=253&awal=&page=&kunci= HTTP/1.1
200
157.56.229.23
02/Dec/2012:04:08:39
GET /news/detailevent.php?id=76 HTTP/1.1
200
173.199.114.83
02/Dec/2012:04:10:12
GET /pug/detailperencanaan4.php HTTP/1.1
200
173.199.116.235 02/Dec/2012:04:13:14
GET /pug/detailperencanaan6.php HTTP/1.1
200
173.199.118.35
02/Dec/2012:04:08:47
GET /pug/detailperencanaan3.php HTTP/1.1
200
173.199.120.43
02/Dec/2012:04:11:36
GET /pug/detailperencanaan5.php HTTP/1.1
200
173.44.37.226
02/Dec/2012:04:11:44
GET /wap/index.php?option=component&id=3 HTTP/1.1
200
173.44.37.226
02/Dec/2012:04:11:45
POST /wap/index.php HTTP/1.1
200
18 host (%h)
time (%t)
string request (%r)
status (%s)
178.154.161.29
02/Dec/2012:04:11:03
GET /pesantren/bsp/pai/Data_dan_Informasi/jaringa n_irigasi_indonesia/kalbar.htm HTTP/1.1
200
178.162.191.58
02/Dec/2012:04:12:20
GET /wap/index.php? option=component&id=3&gbfrom=3895 HTTP/1.1
200
180.76.5.143
02/Dec/2012:04:09:26
GET /pesantren/ditjenbun/ok/myweb/sub_bagian_ke rjasama.htm HTTP/1.1
200
188.143.232.202 02/Dec/2012:04:08:57
GET /wap/index.php?option=component&id=3 HTTP/1.1
200
188.143.232.202 02/Dec/2012:04:08:58
POST /wap/index.php HTTP/1.1
200
208.115.113.87
02/Dec/2012:04:09:59
GET /bpsdm/stpp-manokwari/tampil.php? page=prog_studi HTTP/1.1
200
66.249.77.63
02/Dec/2012:04:08:48
GET /news/detailarsip.php?id=864 HTTP/1.1
200
66.249.77.63
02/Dec/2012:04:09:29
GET /bpsdm/spp-kupang/index.php? option=com_easybook&view=easybook&Itemi d=71&limitstart=4450&cal_offset=179p HTTP/1.1
200
66.249.77.63
02/Dec/2012:04:09:31
GET /index1.php/pusdatin/news/images/images/sms _center.jpg HTTP/1.1
200
e. Integrasi database Setelah semua data disiapkan dalam format csv, maka perlu ada sinkronisasi dengan database yang akan dirancang agar data log tersebut bisa dintegrasikan atau diimpor ke dalam database. Secara umum isi tabel dalam database meliputi tiga kelompok yaitu: 1. Kelompok tabel untuk menampung data mentah atau data awal 2. Kelompok tabel untuk menampung data yang sudah dibersihkan 3. Kelompok tabel untuk menampung data hasil pengolahan dengan teknik data mining (Algoritme Apriori) 3. Transformasi Data a. Struktur Data Pohon Kolom data sebagai bahan awal pembentukan node adalah kolom request line. Dari data request tersebut bisa diambil beberapa informasi yang selanjutnya bisa dijadikan sebagai node dalam struktur data pohon. Adapun alasan kolom request yang diambil untuk pembentukan node adalah: a. Pada kolom tersebut berisi metode request (POST/GET), file dan halaman web yang diakses.
19 b. Seluruh tipe data yang diakses atau diunduh akan dicatat tanpa terkecuali. Berikut ini contoh proses transformasi data log menjadi struktur data pohon dengan diawali dari data tabel 3.4: Tabel 6. Penguraian kolom string request host (%h)
time (%t)
Metode Request
direktori file
data GET
Protokol
status (%s)
157.55.33.40
02/Dec/201 2:04:10:10
GET
/news/detailarsip_2.php
id=253&awal=&page= HTTP/1.1 &kunci=
200
157.56.229.23
02/Dec/201 2:04:08:39
GET
/news/detailevent.php
id=76
HTTP/1.1
200
173.199.114.83
02/Dec/201 2:04:10:12
GET
/pug/detailperencanaan4.php
HTTP/1.1
200
173.199.116.235
02/Dec/201 2:04:13:14
GET
/pug/detailperencanaan6.php
HTTP/1.1
200
173.199.118.35
02/Dec/201 2:04:08:47
GET
/pug/detailperencanaan3.php
HTTP/1.1
200
173.199.120.43
02/Dec/201 2:04:11:36
GET
/pug/detailperencanaan5.php
HTTP/1.1
200
173.44.37.226
02/Dec/201 2:04:11:44
GET
/wap/index.php
option=component&id= HTTP/1.1 3
200
173.44.37.226
02/Dec/201 2:04:11:45
POST
/wap/index.php
HTTP/1.1
200
178.154.161.29
02/Dec/201 2:04:11:03
GET
/ pesantren/bsp/pai/Data_dan_ Informasi/jaringan_irigasi_in donesia/kalbar.htm
HTTP/1.1
200
178.162.191.58
02/Dec/201 2:04:12:20
GET
/wap/index.php
option=component&id= HTTP/1.1 3&gbfrom=3895
200
180.76.5.143
02/Dec/201 2:04:09:26
GET
/ pesantren/ditjenbun/ok/mywe b/ sub_bagian_kerjasama.htm
HTTP/1.1
200
188.143.232.202
02/Dec/201 2:04:08:57
GET
/wap/index.php
option=component&id= HTTP/1.1 3
200
208.115.113.87
02/Dec/201 2:04:09:59
GET
/bpsdm/stppmanokwari/tampil.php
page=prog_studi
HTTP/1.1
200
66.249.77.63
02/Dec/201 2:04:08:48
GET
/news/detailarsip.php
id=864
HTTP/1.1
200
66.249.77.63
02/Dec/201 2:04:09:29
GET
option=com_easybook& view=easybook&Itemid HTTP/1.1 /bpsdm/spp-kupang/index.php =71&limitstart=4450& cal_offset=179p
200
66.249.77.63
02/Dec/201 2:04:09:31
GET
/index1.php/pusdatin/news/i mages/images/sms_center.jpg
HTTP/1.1
200
66.249.77.63
02/Dec/201 2:04:09:37
GET
/pug/arsippengumuman.php
awal=0&page=1
HTTP/1.1
200
66.249.77.63
02/Dec/201 2:04:09:39
GET
/bpsdm/spp-kupang/index.php
option=com_easybook& view=easybook&Itemid HTTP/1.1 =71&limitstart=1330& cal_offset=227n
200
66.249.77.63
02/Dec/201 2:04:12:05
GET
/keuanganperlengkapan/galeri.php
halaman=17
200
HTTP/1.1
20 host (%h) 66.249.77.63
time (%t) 02/Dec/201 2:04:12:54
Metode Request GET
direktori file / pusdatin/statistik/metodologi/ tar.pdf
data GET
Protokol
status (%s)
HTTP/1.1
404
Untuk pembentukan struktur data pohon perlu dibatasi data yang akan diolah agar tidak semua data masuk yaitu sebagai berikut: 1. Batasan runtunan waktu dalam hal ini dibatasi dengan rentang per satu hari, dengan asumsi apabila berganti hari maka rangkaian rute akan dibarukan lagi, hal ini akan menimbulkan permasalahan ketika ada pengguna yang mengakses web dimulai beberapa saat sebelum pergantian hari dan belum mengakhiri proses akses ketika berganti hari misalnya dari pukul 23:00 sampai dengan pukul 02:00 dini, akan tetapi berdasarkan data yang ada kemungkinan tersebut sangat kecil. 2. Data request yang digunakan adalah yang berhasil diproses oleh web server yaitu dengan kode status 200. 3. Data yang dikirim oleh metode GET tidak diikutsertakan karena dalam penelitian ini tidak membahas sampai ke elemen permintaan (query) tapi hanya pada level akses halaman, sehingga metode GET dan POST dianggap sama. Berdasarkan kebutuhan dan batasan data di atas maka tabel 3.4 dengan menggunakan runtunan waktu per tanggal 02 Desember 2012 dengan status 200 dapat disederhanakan sebagai berikut: Tabel 7. Contoh Kumpulan file yang diakses oleh pengguna (host) host (%h)
direktori file
157.55.33.40
/news/detailarsip_2.php
157.56.229.23
/news/detailevent.php
173.199.114.83
/pug/detailperencanaan4.php
173.199.116.235 /pug/detailperencanaan6.php 173.199.118.35
/pug/detailperencanaan3.php
173.199.120.43
/pug/detailperencanaan5.php
173.44.37.226
/wap/index.php
173.44.37.226
/wap/index.php
178.154.161.29
/ pesantren/bsp/pai/Data_dan_Informasi/jaringan_irigasi_indonesia/k albar.htm
178.162.191.58
/wap/index.php
180.76.5.143
/pesantren/ditjenbun/ok/myweb/ sub_bagian_kerjasama.htm
188.143.232.202 /wap/index.php 208.115.113.87
/bpsdm/stpp-manokwari/tampil.php
66.249.77.63
/news/detailarsip.php
21 host (%h)
direktori file
66.249.77.63
/bpsdm/spp-kupang/index.php
66.249.77.63
/pug/arsippengumuman.php
66.249.77.63
/bpsdm/spp-kupang/index.php
66.249.77.63
/pesantren/berita/berita/alsin/ tabel_ujialsin.htm
66.249.77.63
/feati/diskusi/index.php
66.249.77.63
/keuangan-perlengkapan/galeri.php
66.249.77.63
/pusdatin/statistik/metodologi/ tar.pdf
Apabila digambarkan dalam bentuk struktur data pohon, maka isi tabel 3.5 akan menjadi struktur pohon berikut: Spp-kupang
index.php
stpp-manokwari
index.php
bpsdm
feati
keuangan-perlengkapan
http://www.deptan.go.id
index.php
Spp-kupang galeri.php
detail-arsip-2.php news
detail-arsip.php detail-event.php
pesantren
berita
berita
tabel_ujialsin.htm
alsin
arsippengumuman.php detailperencanaan3.php pug
detailperencanaan4.php detailperencanaan5.php detailperencanaan6.php
pusdatin wap
statistik
metodologi
tar.pdf
index.php
Gambar 5. Contoh representasi struktur pohon Web Deptan
22 b. Membentuk Node Agar memudahkan dalam pengolahan data, maka perlu membuat indeks yang unix untuk setiap string rangkaiaian direktori file yang selanjutnya disebut node. Tabel 8. Pengkodean struktur direktori file dan halaman Web sebagai Node Pengkodean
Direktori file
A
/bpsdm/spp-kupang/index.php
B
/bpsdm/stpp-manokwari/tampil.php
C
/feati/diskusi/index.php
D
/keuangan-perlengkapan/galeri.php
E
/news/detailarsip_2.php
F
/news/detailarsip.php
G
/news/detailevent.php
H
/pesantren/berita/berita/alsin/ tabel_ujialsin.htm
I
/pesantren/bsp/pai/Data_dan_Informasi/jaringan_irigasi_indonesia/kalbar.htm
J
/pesantren/ditjenbun/ok/myweb/ sub_bagian_kerjasama.htm
K
/pug/arsippengumuman.php
L
/pug/detailperencanaan3.php
M
/pug/detailperencanaan4.php
N
/pug/detailperencanaan5.php
O
/pug/detailperencanaan6.php
P
/pusdatin/statistik/metodologi/ tar.pdf
Q
/wap/index.php
Berdasarkan pengodean pada tabel 3.6 dan halaman utama web Deptan (http://www.deptan.go.id) sebagai titik awal peneusuran maka rangkaian (sekuential) kunjungan halaman web dan file yang diakses untuk masing-masing host adalah sebagai berikut: Tabel 9. Rangkaian (sequential) akses halaman web No host (%h)
Rangkaian/ Sekuensial Akses Halaman Web
1
157.55.33.40
R, E
2
157.56.229.23
R, G
3
173.199.114.83
R, M
4
173.199.116.235
R, O
5
173.199.118.35
R, L
6
173.199.120.43
R, N
7
173.44.37.226
R, Q, Q
23 No host (%h)
Rangkaian/ Sekuensial Akses Halaman Web
8
178.154.161.29
R, I
9
178.162.191.58
R, Q
10 180.76.5.143
R, J
11 188.143.232.202
R, Q, Q
12 208.115.113.87
R, B
13 66.249.77.63
R, A, K, A, Q, H, C, D, P
Host yang memiliki rangkaian akses (tabel 3.8) halaman web terpanjang adalah host dengan IP Address 66.249.77.63 yaitu R, A, K, A, Q, H, C, D, P. Untuk host yang lainnya hanya membentuk 3 dan 2 node rangkaian. Dari data tersebut bisa dikatakan bahwa host tersebut memiliki waktu paling lama akses pada web deptan dan cukup tertarik terhadap isinya. Sedangkan halaman yang paling banyak diakses adalah halaman Q sebanyak 6 kali, halaman A 2 kali sisanya masingmasing hanya 1 kali dan samasekali tidak ada yang akses yaitu halaman F, untuk lebih rincinya data disajikan sebagai berikut: Tabel 10. Sebaran frekuensi akses halaman web No host (%h)
Node
A B C D E F G H I J K L MN O P Q
1 157.55.33.40
R, E
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
2 157.56.229.23
R, G
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
3 173.199.114.83 R, M
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
173.199.116.23 R, O 5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
5 173.199.118.35 R, L
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
4
6
173.199.120.4 3
7 173.44.37.226
R, N
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
R, Q, Q
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
8
178.154.161.2 9
R, I
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
9
178.162.191.5 8
R, Q
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
R, J
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
R, Q, Q
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
10 180.76.5.143 11
188.143.232.2 02
12 208.115.113.87 R, B 13 66.249.77.63
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R, A, K, A, Q, H, C, 2 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 D, P Total
2 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 6
24 4. Penemuan dan Analsisis Pola a. Analisis Database Untuk mengelola data log diperlukan sebuah tempat penampungan data atau basisdata (database). Data log pada dasarnya adalah data teks yang auto generate mengikuti pola standar dari Web server, akan tetapi panjang atribut untuk tiap kelompok string kadang tidak sama. seperti contoh berikut dengan terlebih dahulu tanda petiknya sudah dibuang: 1.
66.249.73.7 - - [04/Nov/2012:04:09:51 +0700] GET /wap/index.php HTTP/1.1 200 4132 - SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http:www.google.com/bot.html) 2. 180.76.5.136 - - [04/Nov/2012:04:09:59 +0700] GET /daerah_new/sulsel/disbun1/Organisasi/index.php HTTP/1.1 200 1818 - Mozilla/5.0 (compatible; Baiduspider/2.0; +http:www.baidu.com/search/spider.html)
Pada data 1 dan 2 di atas apabila dikonversi dalam bentuk csv dan dilakukan pemisahan dengan pemisah (sparator) spasi kosong maka akan terlihat seperti pada tabel 3.10. Tabel 11. Pemisahan string dengan spasi kosong 1
23
66.249.73.7
4
5
6
7
8
9
10
1 1
- - [04/Nov/2012:04:09:5 1
+0700 GE ] T
/wap/index.php
HTTP/1.1
200 4132
-
180.76.5.136 - - [04/Nov/2012:04:09:5 9
+0700 GE ] T
/daerah_new/sulsel/disbun1/ Organisasi/index.php
HTTP/1.1
200 1818
-
Terlihat tepat satu kelompok string ditampung dalam satu kolom, kecuali kelompok string %t dan \"%r\" ditampung lebih dari 1 kolom, hal ini akan berpengaruh terhadap perancangan fields yang akan dibuat dalam tabel log. %h
%l
%u
1
2
3
%t 4
\"%r\" 5
6
7
8
%>s
%b
\%"{Referer}i"%\
9
10
11
Begitupun dengan kelompok string \"%{User-agent}i%\" harus ditampung oleh lebih dari satu kolom, apalagi jumlah variabel stringnya tidak sama, hal ini berbeda dengan kelompok %t yang pasti akan ditampung oleh 2 kolom dan %r akan cukup ditampung oleh 3 kolom. seperti terlihat pada tabel 3.11 data user agent untuk data 1 harus ditampung dalam 9 kolom, sedangkan data 2 cukup dengan 4 kolom. Untuk bererapa data ada yang mencapai 15 kolom, sehingga dalam perancangan tabel untuk menampung data useragent disediakan 20 kolom:
25 Tabel 12. Pemisahan string useragent dengan spasi kosong 1
2
3
4
5
6
7
8
9
SAMSUNG- Profile/ Configurati UP.Browser/6.2.3.3.c (GUI M (com Googlebo +http:www.google.com/b ot.html) ) MP patib tMIDP- on/CLDC- .1.101 SGHMobile/2. /2.0 le; 1.1 2.0 E250/1.0 1; Mozilla/5.0
(compat Baiduspider +http:www.baidu.co ible; /2.0; m/search/spider.html)
Data log mentah disimpan dalam tabel yang belum menganut aturan database seperti primary key ataupun index, hal ini dilakukan agar semua data terkam dulu dalam bentuk tabel untuk memudahkan dalam melakukan query. b. Analisis Assosiasi Analisis asosiasi merupakan analisis mengenai keterhubungan antara halaman web yang dikunjungi oleh pengguna. Teknik yang diigunakan adalah menggunakan teknik dalam data mining yaitu analisis keranjang belanja (market basket analysis) dengan menggunakan salahsatu algoritme yang sudah umum dikenal yaitu algoritme apriori. Adapun objek yang dijadikan itemset adalah direktori yang ada dalam website atau selanjutnya dikenal dengan node. Website Deptan memiliki alamat url http://www.deptan.go.id, yang terdiri dari beberapa subdomain dan folder di dalamnya. Adapun subdomain yang ada pada Situs web Deptan adalah sebagai berikut (berdasarkan data acces_log dan penelusuran online): Tabel 13. Daftar Subdomian Situs Web Deptan No
Subdomain
Keterangan
1
http://aplikasi.deptan.go.id/
Daftar Usaha Pertanian
2
http://bkp.deptan.go.id/
Ketahanan Pangan
3
http://bppsdmp.deptan.go.id/
Penyuluhan & Pengembangan Sumber Daya Manusia Pertanian
4
http://database.deptan.go.id/afsis/
AFSIS Indonesia
5
http://ditjenbun.deptan.go.id/
Perkebunan
6
http://ditjennak.deptan.go.id/
Peternakan & Kesehatan
7
http://epetani.deptan.go.id/
e-Petani
8
http://hortikultura.deptan.go.id/
Hortikultura
9
http://intranet.deptan.go.id/
Sistem Manajemen Pengetahuan Intranet Deptan
10 http://itbang.deptan.go.id/
Penelitian & Pengembangan
11 http://itjen.deptan.go.id/
Inspektorat
12 http://karantina.deptan.go.id/
Karantina
26 No
Subdomain
Keterangan
13 http://litbang.deptan.go.id/berita/one/852/
Kulit Buah Manggis Instan BB-Pascapanen Curi Perhatian Pengunjung PF2N Batam
14 http://lpse.deptan.go.id
Layanan Pengadaan Secara Elektronik
15 http://mail.deptan.go.id
Web Mail Kementan
16 http://multimedia.deptan.go.id
Portal Multimedia Pertanian
17 http://perundangan.deptan.go.id
Basisdata Undang-Undang
18 http://pphp.deptan.go.id/
Pengolahan & Pemasaran Hasil
19 http://ppvt.setjen.deptan.go.id/
PVT Perizinan
20 http://psp.deptan.go.id/
Prasarana & Sarana
21 http://puap.deptan.go.id/
Pengembangan Usaha Agribisnis Perdesaan (PUAP)
22 http://pusdatin.deptan.go.id/
Data Teknologi Informasi
23 http://pustaka-deptan.go.id/agritek.php
Koleksi teknologi pertanian tepat guna (agriTEK)
24 http://pustaka.litbang.deptan.go.id/
Pustaka Publikasi
25 http://setjen.deptan.go.id/
Sekretariat
26 http://tanamanpangan.deptan.go.id/
Tanaman Pangan
Dari ke 26 Subdomain tersebut masingmasing memiliki file index dan folder yang independen yang bertujuan agar pemeliharaan bisa dibagibagi dan menjadi tanggung jawab masingmasing direktorat. Antara Subdomain dan folder keduanya memiliki fungsi yang sama yaitu untuk mengelompokan fungsi dan data. Tetapi ada perbedaaan penulisan alamat url ketika user melakukan browsing internet antara alamat url dalam subdomain dan alamat url dalam folder situs utama web Deptan, contoh sebagai berikut: Tabel 14. Keterangan penulisan url Penulisan url
Keteragan
http://www.deptan.go.id/tanamanpangan
tanamanpangan pada url ini berlaku sebagai folder yang ada dalam url http://www.deptan.go.id
http://tanamanpangan.deptan.go.id/ atau http://www.tanamanpangan.deptan.go.id/
tanamanpangan pada url ini berlaku sebagai subdomain url http://www.deptan.go.id
Semua alamat url baik sebagai folder ataupun sebagai Subdomain akan ditulis di dalam satu data log yang tersimpan di server web Deptan dengan alamat utamanya adalah http://www.deptan.go.id dengan. Walaupun ada perbedaan penulisan url pada web browser, tapi format penulisan data lognya disamakan, sehingga pada penelitian ini antara subdomain dan folder dianggap sebagai alamat yang sama.
27 Tabel 3.14 Kesamaan penulisan request line pada web server Penulisan url
Penulisan request line
http://www.deptan.go.id/tanamanpangan/data/index.php
GET /tanamanpangan/data/index.php
http://tanamanpangan.deptan.go.id/data/index.php
GET /tanamanpangan/data/index.php
Penulisan data log oleh web server meliputi semua aktifitas clickstream yang dilakukan oleh pengguna, sehingga berbagai jenis data akan ada di dalamnya. Sehingga perlu pengelompokan data agar data yang kurang penting bisa diabaikan. Berdasarkan penelaahan terhadap data Log web Deptan telah diperoleh data pohon (tree) sebagai bahan pemetaan situs web deptan. Diasumsikan alamat utama web deptan (http://deptan.go.id) merupakan root dari pohon, kemudian subdomain dan folder yang ada di bawahnya merupakan node level 1, secara umum digambarkan sebagai berikut: root
admin
data.php
pusdatin
index.php
index.php
index.php
Level 1
Level 2
Gambar 6. Struktur data Pohon Setelah dilakukan penelusuran data log dan mengakses langsung data pada Web Deptan diperoleh sebanyak 20924 node untuk selanjutnaya dianalisis dengan teknik data mining association rule yaitu menggunakan analisis keranjang belanja (market basket analysis). Adapun algoritme yang digunakan adalah Algoritme Apriori untuk mengetahui itemset, frequent Itemset dan Confidence. Berikut tahapan analisis nya: a. Penentuan Itemset Pada penelitian ini itemset adalah kumpulan data direktori (node) yang diakses oleh pengguna. Itemset I = {1, 2, 3, 4, ... ,20924)} adalah sebagai kumpulan node. b. Transaksi atau Kejadian N merupakan sekumpulan n transaksi (Tn), transaksi dikodekan dengan IP Address dan tanggal, dengan batasan satu kali transaksi adalah dihitung per hari. N = {T1, T2, T3,... Tn}; T∈ N, T ⊆ I.
28 Berdasarkan analogi terhadap prilaku customer ketika belanja, pada sekali transaksi bisa membeli suatu jenis barang lebih dari satu item dengan kode unik untuk pencatatan di database berupa nomor faktur. Begitupun pada proses akses IP Address terhadap server per satu satuan waktu bisa mengakses node yang sama berkalikali, berikut ini contoh transaksi IP Address ketika mengakses kumpulan node (itemset). Tabel 15 Contoh transaksi akses node No 1 2 3 4 5 6 7 9 10 11 12 13
Kode Transaksi 1.187.206.56-120212 1.195.130.141-120312 1.234.45.130-110412 1.234.45.130-110612 1.234.45.130-110712 1.234.45.130-120412 1.4.134.254-120312 1.4.134.254-120312 1.4.134.254-120312 10.10.12.15-110512 10.10.12.15-110512 10.10.12.15-110512
IP Address 1.187.206.56 1.195.130.141 1.234.45.130 1.234.45.130 1.234.45.130 1.234.45.130 1.4.134.254 1.4.134.254 1.4.134.254 10.10.12.15 10.10.12.15 10.10.12.15
Tanggal 12/02/12 12/03/12 11/04/12 11/06/12 11/07/12 12/04/12 12/03/12 12/03/12 12/03/12 11/05/12 11/05/12 11/05/12
Node Aktivitas /kln/berita/wto/menu_wto.htm /wap/index.php /wap/index.php /wap/index.php /wap/index.php /wap/index.php /index1.php /pengumuman/cover_es.htm /event.php /index1.php /event.php /pengumuman/cover_es.htm
c. Berdasarkan tabel 4.4 diperoleh 8 kali transaksi N = {1.187.206.56120212, 1.195.130.141120312, 1.234.45.130110412, 1.234.45.130110612, 1.234.45.130110712, 1.234.45.130120412, 1.4.134.254120312, 10.10.12.15110512}
d. Perhitungan Support Perhitungan support diperoleh dari jumlah seluruh transaksi yang memuat suatu node dibandingkan dengan keseluruhan transaki. atau apabila dirumuskan: Support (B) = (jumlah transaksi mengandung B / Total transaksi) % Misalnya kemunculan node 8348(index1.php) adalah 10162, sedangkan total keseluruhan transaksi adalah 115536 maka supportnya adalah 10162/115536 = 8.796%. e. Confidence (keyakinan) Nilai keyakinan diperoleh dengan rumus sebagai berikut: Conf(X → Y) = =
Supp X ∪Y Supp X P X ∩Y P X
;
;
= Jumlah Transaksi(X,Y)) / Jumlah Transaksi (A)
29 Misalkan Jumlah transaksi node (8348,19262) atau (/index1.php,/respon.php) adalah 1751, sedangkan total keseluruhan transaksi adalah 115536 maka supportnya adalah 1751/115536= 1.516%. Untuk melakukan pemangkasan maka ditentukan terlebih dahulu minimum support dan minimum confidence.
30
31
4 HASIL DAN PEMBAHASAN Pemecahan data log dan konversi ke file .csv Data log yang sudah terpilih kemudian dipecah-pecah agar memudahkan untuk pembacaan oleh program. Pemecahan data log tidak seperti membagi rata menggunakan rumus matematika akan tetapi diambil berdasarkan jumlah baris tertentu. Dari hasil pemecahan diperoleh data sebagai berikut: Tabel 16. Data hasil pemecahan file access_log Nomor 1 2 3 4 5 6
Nama file log a.csv b.csv c.csv d.csv e.csv f.csv
Ukuran (byte) 110 542 665 150 217 973 147 894 289 93 766 392 62 261 364 67 463 583
Jumlah Baris 480 000 522 838 475 826 311 630 253 348 280 202
Jumlah
632 146 266
2 323 844
Membersihkan data dan Pemilihan String Setelah data log dipecah menjadi 6 kelompok, kemudian dengan mengguakan aplikasi yang dikembangkan ke enam data tersebut dibersihkan dan dipilih string yang dibutuhkan, sehingga hasil akhirnya akan diperoleh data transaksi yang bersih. jumlah Transaksi yang tercatat pada Web Server deptan untuk periode November 2012 Desember 2012 adalah sebagai berikut: Tabel 17. Tahap Pembersihan Data Transaksi Web deptan No Jenis Transaksi
Berkas Awal
Berkas Hasil
Jumlah Transaksi
Jumlah IP Host
1
Pembersihan tahap 1 access_log.csv
data_log_1
2 323 844
34 060
2
Pembersihan tahap 2 data_log_1
data_log_2
1 641 919
34 060
3
Pembersihan tahap 3 data_log_2
data_log_1itemset
360 926
29 452
4
Pembersihan tahap 4 data_log_1itemset
data_log_1itemset
115 569
29 452
Berdasarkan tabel 4.2 terlihat ada 4 tahap pembersihan, yaitu: 1. Pembersihan tahap 1 merupakan proses pemasukan data teks csv ke tabel data_log_1, disini hanya dilakukan proses impor saja, pembersihan hanya mengganti tanda petik dengan spasi kosong 2. Pembersihan Tahap 2 merupakan proses pemisahan string request yang ada pada data_log_1, dengan menggunakah Script PHP.
32 Misalnya diketahui string request =/wap/index.php?option=component&id= 3&gbfrom=16258. Pada data request tersebut semua string dibelakang tanda tanya (?) akan dibuang dengan perintah seperti berikut : $str_rek = /wap/index.php?option=component&id=3&gbfrom=16258 $pisah_request = explode('?',$str_rek);
Setelah perintah tersebut maka akan terbentuk array pisah_request yaitu : $pisah_request[0] = /wap/index.php $pisah_request[1] = option=component&id=3&gbfrom=16258 Setelah data request terbagi dua, maka tinggal dilakukan pemilihan string yang dibutuhkan yaitu $pisah_request[0], sedangkan $pisah_request[1] dibuang. Kemudian 3 huruf sebelah kanan dari $pisah_request[0] disimpan pada fileds type_req dan dijadikan acuan query pembersihan baris data yang mengandung file gambar, audio, video, layout web dan string query. Pembersihan dilakukan dengan perintah SQL berikut : $$pj_string = strlen($pisah_request[0]); $type_req = substr($pisah_request[0],$pj_string-3,3); @bersihkan = mysql_query("delete from data_log_1 where type_req ='css' or type_req ='js' or type_req ='.js' or type_req ='.db' or type_req ='xml' or type_req ='bmp' or type_req ='gif' or type_req ='jpg' or type_req ='jpeg' or type_req ='png' or type_req ='mp3' or type_req ='mp4' or type_req ='swf' or type_req ='sql' or type_req ='ico' ortype_req ='ef=' or type_req ='exe' or type_req ='*' or type_req ='mso' or type_req ='emf' or type_req ='epp' or type_req ='rtf' or type_req ='lt=' or type_req ='wmf' ortype_req ='ms=' or type_req ='%3D' or type_req ='rc=' or type_req ='MYI' ortype_req like '%/' ");
3. Pembersihan tahap 3 yaitu proses pembuangan request yang sama dan dilakukan pada detik yang sama, hal tersebut untuk menghindari duplikasi data. 4. Pembersihan tahap 4 merupakan proses pembuangan data transaksi yang dilakukan oleh host (IP Address) pada hari yang sama dengan akses node yang sama. Struktur Data Pohon dan Membentuk Node Struktur data pohon yang terbentuk tidak direpresentasikan dalam bentuk gambar, akan tetapi dalam bentuk susunan direktori. dari hasil penelusuran direktori web Deptan, diperoleh sebanyak 20 924 node, dengan pengurutan data berdasarkan abjad isi_node supaya memudahkan pencarian.
33 Tabel 18. Daftar Node kode_node
isi_node
1
/adm.html
2
/adm.php
3
/adm/admloginuser.php
4
/adm/index.html
5
/adm/index.php
6
/admin
7
/admin-login.asp
8
/admin-login.html
9
/admin-login.php
10
/admin.asp
11
/admin.htm
12
/admin.html
13
/admin.indexadmin.php
14
/admin.php
...
.......
20923
/wp-content/themes/make-money-online-theme/scripts/timthumb.php
20924
/wp-content/uploads/2012/01/laporan-kemajuan-program-catatanakhir-tahun-pertama-desember-2011.pdf
34 Analisis Database Berikut ini skema pembentukan tabel untuk keperluan penambangan data:
Gambar 7. Skema pembentukan tabel log Penambangan data dilakukan terhadap tabel data_log_2 dan data_log_1itemset. data_log_2 digunakan untuk mengetahui runtutan waktu (time series) dalam batasan waktu terkecil adalah detik, sedangkan data_log_1itemset digunakan untuk membentuk transaksi per ip_host sebagai identifikasi sesi (session identification) dengan batasan waktu terkecil adalah hari atau tanggal (relasi antar tabel ada pada class diagram). Analisis Assosiasi a. Penentuan kaidah asosiasi Proses analisis yang pertama dilakukan yaitu menentukan kandidat 1itemset untuk 20 transaksi tertinggi dari transaksi node pada tabel data_log_1itemset
35 dengan nilai Minimum Support (MS) adalah 1% dan nilai Minimum Confidence (MC) minimum adalah 0.2%, dapat dilihat pada Tabel 4.4 Tabel 19. Hasil Scan / Prunning Pertama kandidat 1itemset No
Kode Node
Isi Node
1
8348
/index1.php
10162
8.8
ya
2
8039
/event.php
8841
7.7
ya
3
19262 /respon.php
8128
7.0
ya
4
12223 /pengumuman/cover_es.htm
7097
6.1
ya
5
20890 /wap/index.php
2808
2.4
ya
6
19803 /tampil.php
2505
2.2
ya
7
7530
1961
1.7
ya
8
10759 /news/detail.php
1496
1.3
ya
9
7535
/dir_kementerian.php
788
0.7
tidak
10 332
/bbkptgpriok/admin/rb/bab-7-microsoft-excel.pdf
648
0.6
tidak
11 7969
/e-mail/alamat-dinas.htm
639
0.6
tidak
626
0.5
tidak
583
0.5
tidak
14 12823 /pengumuman/Mutasi-PNS/mutasi_tugas_pns.pdf
513
0.4
tidak
15 7978
/e-mail/email_pejabat_deptan.htm
492
0.4
tidak
16 7564
/distanbun-sijunjung/admin/rb/bab-7-microsoft-excel.pdf
447
0.4
tidak
17 7474
/dinakkeswan_jateng/detaildata.php
446
0.4
tidak
18 19835 /teknologi/horti/tcabe3.htm
436
0.4
tidak
19 11033
420
0.4
tidak
390
0.3
tidak
12 2500 13 7330
/dir-alamatskpd/tampil.php
/ daerah_new/banten/dispertanak_pandeglang/artikel_10a.ht m /dialog/diskusi.htm
/pedum2012.php
20 10022 /kln/berita/wto/ttg-wto.htm
Node Count
Support Memenuhi (%) Nilai MS
Jumlah transaksi akses node keseluruhan adalah 115 569 transaksi dapat dilihat nilai support untuk /index1.php adalah 8.796% artinya 8.796% dari seluruh transaksi dipastikan mengandung node 8.796% /index1.php, dan seterusnya untuk data node lain diperoleh nilai support dengan perhitungan sama. Menentukan kandidat 2itemset dapat dilakukan dengan mencari keseluruhan kombinasi akses node yang terdapat pada hasil scan 1itemset, sebagai berikut:
36 Tabel 20. Hasil Scan / Prunning Kedua kandidat 2itemset No
Kode Node Isi Node
Node Count
Support Memenuhi (%) Nilai MS
1
8348,19262 /index1.php,/respon.php
1751
1.5
ya
2
8039,8348
/event.php,/index1.php
1748
1.5
ya
3
8039,19262 /event.php,/respon.php
1744
1.5
ya
4
8039,12223 /event.php,/pengumuman/cover_es.htm
1525
1.3
ya
5
12223,19262 /pengumuman/cover_es.htm,/respon.php
1519
1.3
ya
6
8348,12223 /index1.php,/pengumuman/cover_es.htm
1514
1.3
ya
7
8039,19803 /event.php,/tampil.php
521
0.5
tidak
8
8348,19803 /index1.php,/tampil.php
380
0.3
tidak
9
19262,19803 /respon.php,/tampil.php
369
0.3
tidak
10
12223,19803 /pengumuman/cover_es.htm,/tampil.php
341
0.3
tidak
11
8348,10759 /index1.php,/news/detail.php
159
0.1
tidak
12
8039,10759 /event.php,/news/detail.php
143
0.1
tidak
13
10759,19262 /news/detail.php,/respon.php
142
0.1
tidak
14
10759,12223 /news/detail.php,/pengumuman/cover_es.htm
128
0.1
tidak
15
8348,7530
/index1.php,/dir-alamatskpd/tampil.php
65
0.1
tidak
16
8039,7530
/event.php,/dir-alamatskpd/tampil.php
64
0.1
tidak
17
12223,7530
/pengumuman/cover_es.htm,/diralamatskpd/tampil.php
60
0.1
tidak
18
19262,7530 /respon.php,/dir-alamatskpd/tampil.php
56
0.05
tidak
19
7530,19803 /dir-alamatskpd/tampil.php,/tampil.php
42
0.04
tidak
20
19803,20890 /tampil.php,/wap/index.php
39
0.03
tidak
21
8039,20890 /event.php,/wap/index.php
36
0.03
tidak
22
12223,20890 /pengumuman/cover_es.htm,/wap/index.php
34
0.03
tidak
23
19803,10759 /tampil.php,/news/detail.php
31
0.03
tidak
24
8348,20890 /index1.php,/wap/index.php
29
0.03
tidak
25
20890,7530 /wap/index.php,/dir-alamatskpd/tampil.php
25
0.02
tidak
26
7530,10759 /dir-alamatskpd/tampil.php,/news/detail.php
22
0.02
tidak
27
10759,20890 /news/detail.php,/wap/index.php
19
0.02
tidak
28
19262,20890 /respon.php,/wap/index.php
16
0.01
tidak
Berdasarkan tabel 4.5 maka selanjutnya dilakukan proses perhitungan confidence dari kaidah assosiasi yang memenuhi syarat Minimum Support (MS) 1.0% dan Minimum Confidence (MC) 0.2% sebagai berikut:
37 Tabel 21. Hasil perhitungan support dan confidence kaidah assosiasi 2itemset No Kaidah Assosiasi
Support (%)
Confidence (%)
Memenuhi MS dan MC
1 /respon.php ----> /index1.php
1.5
0.22
ya
2 /pengumuman/cover_es.htm ----> /event.php
1.3
0.21
ya
3 /respon.php ----> /event.php
1.5
0.21
ya
4 /pengumuman/cover_es.htm ----> /respon.php
1.3
0.21
ya
5 /pengumuman/cover_es.htm ----> /index1.php
1.3
0.21
ya
6 /event.php ----> /index1.php
1.5
0.20
ya
7 /event.php ----> /respon.php
1.5
0.20
ya
8 /respon.php ----> /pengumuman/cover_es.htm
1.3
0.19
tidak
9 /event.php ----> /pengumuman/cover_es.htm
1.3
0.17
tidak
10 /index1.php ----> /respon.php
1.5
0.17
tidak
11 /index1.php ----> /event.php
1.5
0.17
tidak
12 /index1.php ----> /pengumuman/cover_es.htm
1.3
0.15
tidak
Nilai support dan nilai confidence 2itemset /respon.php > /index1.php (19262 > 8348) adalah 1.5% dan 0.22% (tabel 4.5), hal ini berarti setiap kali halaman web atau node /respon.php diakses maka ada kepercayaan sebesar 0.22% bahawa di dalamnya ada halaman /index1.php. Sedangkan nilai support dan nilai confidence 2itemset /index1.php > /respon.php 1.5% dan 0.17%, yang berarti setiap kali halaman web atau node /index1.php diakses maka ada kepercayaan sebesar 0.17% bahawa di dalamnya ada halaman /respon.php. Pengembangan Sistem Komputer untuk pengolahan data 1. Perencanaan Sistem Sistem yang akan dikembangkan diharapkan bisa menggantikan tahapan fungsi manual dalam menganalisis data Clickstream sehingga hasil akhir seperti yang tergambar dalam gambar 3.2 bisa tercapai. Fungsi utama dari sistem yang dikembangkan yaitu dapat memprediksi pengembangan konten Website untuk lebih baik lagi. 2. Analisis Sistem Pada tahapan ini akan diuraikan mengenai kebutuhan data dan informasi untuk pengembangan sistem (System Requirement). Analisis dilakukan dengan Pendekatan Berorientasi Objek (Object Oriented Approach) atau dikenal juga dengan Object Oriented Modeling (OO Modeling). Menurut Satzinger et al. (2007) yang termasuk kebutuhan sistem dirumuskan sepbagai berikut : OO Requirement = Event Table + Class Diagram + Use Case Diagram +
38 Interaction Diagram (Collaboration and/or Sequence Diagram) + Statechart Diagram a. Analisis Use Case Definisi Aktor Aktor pada sistem ini terdiri dari satu aktor yang disebut dengan pengguna (user) dengan deskripsi nya adalah semua pengguna sistem yang bisa menganalisis data Clickstream dengan cara mengolah data mentah berupa data log, membersihkan, menganalsis dan melihat prediksi pengembangan konten Website. Proses Pendefinisian Use Case Tabel 22. Definisi Use Case No. Use Case
Deskripsi
1
Impor Data Log (Format Merupakan proses mengambil data log yang CSV) sudah tersimpan di komputer, untuk selanjutnya akan disimpan dalam database.
2
Membersihkan Data Log
Merupakan proses membersihkan data log dengan membuang string yang tidak dibutuhkan
3
Membuat Node
Proses Pembuatan node yang berasal dari direktori atau folder yang ada pada Website serta membandingkan data node yang ada pada Website dengan aktivitas untuk masingmasing host
4
Membuat 1-Itemset Node
Merupakan salahsatu tahapan dalam algoritme apriori yaitu menentukan frequent dari kemunculan node 1-item node
5
Membuat 2-Itemset Node
Merupakan tahapan selanjutnya dari tahapan membuat 1-Itemset Node, yaitu menentukan frequent dari kemunculan node 2-item node
6
Lihat Aktivitas Host
Merupakan proses query terhadap tabel log untuk mengambil data request untuk masingmasing host (IP Address)
7
Membuat data grafik
Merupakan proses menampilkan data dalam bentuk grafik
39 Uraian Skenario Uses Case Tabel 23 Uraian Skenario Impor Data Log Nama Use Case:
Impor Data Log
Skenario:
Mengimpor data log
Triggering Event:
User memilih url website kemudian menngambil (browse) file log yang sudah dikonversi ke file .csv.
Deskripsi singkat:
Merupakan proses pemilihan berkas log untuk tiap-tiap url website, hanya diperkenankan 1 url 1 data log dengan waktu yang sama
Aktor:
User
Use Case terkait
Membersihkan data log
Stakeholders:
User
Kondisi sebelum:
Data deskripsi url harus sudah tersimpan dalam tabel.
Kondisi Sesudah:
Adanya penambahan data log untuk suatu alamat url dengan validasi berdasarkan waktu log.
Aliran Aktifitas
Aktor
Sistem
1.
Memilih url induk yang akan ditambahkan data log nya
2.
Memilih data log yang 2.1 Memeriksa keberadaan data sesuai dengan url induk pada tabel disesuaikan dengan data yang dimasukan oleh user 2.2 Menyimpan data ke dalam tabel 2.3 Memberikan konfirmasi data berhasil disimpan
3.
Memeriksa data log dengan 3.1. Membaca data log dan mengonversi ke file .csv memisahkan data tiap baris dengan pembatas (separator) spasi 3.2. Menampilkan data yang sudah dipisah-pisah 3.3. Memberikan konfirmasi penyimpanan data yang sudah dipisah-pisah tiap barisnya ke dalam database
Penangkapan 2.1. Jika data yang dimasukan sudah ada pada tabel maka batalkan Kondisi Kesalahan proses penyimpanan serta berikan konfirmasi bahwa data sudah (Exception ada, arahkan user ke form masukan data. Conditions) 3.1 Apabila ada data log yang tidak terbaca, periksa lagi data log awal untuk memastikan datadalam format .csv dan hanya memiliki 1 separasi yaitu spasi
40 Tabel 24 Uraian Skenario Bersihkan Data Log Nama Use Case:
Membersihkan Data Log
Skenario:
Membersihkan data log
Triggering Event:
User memilih url website kemudian membersihkan data log
Deskripsi singkat:
Ketika pilihan bersihkan berkas dipilih, maka sistem akan membersihkan data log dengan membuang baris data yang mengandung file tertentu.
Aktor:
User
Use Case terkait
Membuat 1-itemset node, include: Impor data log
Stakeholders:
User
Kondisi sebelum:
Url website harus sudah memiliki data log
Kondisi Sesudah:
Data log hanya memuat data yang dibutuhkan, baris data yang mengandug file tertentu maka akan dihapus.
Aliran Aktifitas
Aktor
Sistem
1.
Memilih url induk yang akan dibersihkann data log nya
2.
Melakukan proses 2.1 Membersihkan data log dari pembersihan berkas url web sesuai dengan pilihan user (pembersihan data log meliputi penghapusan baris data yang mengandung file css, js, .js, .db , xml, bmp, gif, jpg, jpeg, png, mp3, mp4, swf, sql, ico dan baris data yang tidak memiliki file (berakhiran /) 2.2 Memberikan konfirmasi berkas berhasil dibersihkan
Penangkapan Kondisi Kesalahan (Exception Conditions)
Tabel 25. Uraian Skenario Membuat Node Nama Use Case:
Membuat Node
Skenario:
Mengelola data Direktori Website
Triggering Event:
User memilih opsi Direktori Website pada sajian menu utama.
Deskripsi singkat:
Ketika user memilih untuk menambahkan direktori website, maka akan disediakan form isian direktori
Aktor:
User
Use Case terkait
Lihat Aktivitas Host, Membuat 1-Itemset Node, Membuat 1-Itemset Node
41 Nama Use Case:
Membuat Node
Stakeholders:
User
Kondisi sebelum:
url website sudah dideskripsikan
Kondisi Sesudah:
Data direktori termutakhirkan.
Aliran Aktifitas
Aktor
Sistem
1.
Memilih opsi Direktori Website pada menu utama
2.
Melakukan pengelolaan data 2.1 Menyediakan form direktori pengelolaan data direktori
Penangkapan Kondisi Kesalahan (Exception Conditions)
Tabel 26. Uraian Skenario Lihat Aktivitas Host Nama Use Case:
Lihat Aktivitas Host
Skenario:
Aktivitas Host
Triggering Event:
User memilih Menu Aktivitas Host pada menu utama
Deskripsi singkat:
Ketika pilihan aktivitas host dipilih maka akan dilakukan proses pencarian seluruh aktivitas yang dilakukan tiap-tiap host
Aktor:
User
Use Case terkait
Membuat Node, Include : Bersihkan Data Log
Stakeholders:
User
Kondisi sebelum:
Url website harus sudah memiliki data log dan data log nya sudah dibersihkan
Kondisi Sesudah:
Daftar aktifitas untuk masing-masing host.
Aliran Aktifitas
Aktor
Sistem
1.
Memilih url yang dilihat host-nya.
2.
Memilih host untuk 2.1 Menampilkan aktivitas untuk ditampilkan aktivitasnya masing-masing host
Penangkapan Kondisi Kesalahan
akan
42 Tabel 27. Uraian Skenario Membuat 1Itemset Node Nama Use Case:
Membuat 1Itemset Node
Skenario:
Membuat 1Itemset Node
Triggering Event:
User memilih menu Apriori kemudian memasukan minimum support yang dikehendaki sesuai dengan tampilan data
Deskripsi singkat:
Merupakan proses pembentukan kandidat 1-itemset dan menentukan freuent 1-temset data log
Aktor:
User
Use Case terkait
Membuat 2-itemset Node, include: Membersihkan Data Log
Stakeholders:
User
Kondisi sebelum:
Data Log sebelumnya harus sudah bersih.
Kondisi Sesudah:
Terbentuk Data frequent 1-itemset
Aliran Aktifitas
Aktor
Sistem
1.
Memilih Menu Apriori
2.
Memasukan Minimun support
3.
Memeriksa itemset
Angka Frequent-1 3.1. Membaca data_log_1itemset 3.2. Menghitung Frekuensi tiaptiap node 3.3. Menampilkan kandidat 1itemset Node 3.4. Menampilkan data 1-itemset Node
Penangkapan 3.1 Apabila tidak ada data Minimum support maka tampilkan Kondisi Kesalahan konfirmasi agar mengisi angka Minimum Support. (Exception Conditions)
Tabel 28. Uraian Skenario Membuat 2Itemset Node Nama Use Case:
Membuat 2Itemset Node
Skenario:
Membuat 2Itemset Node
Triggering Event:
User melakukan proses penentuan 1-temset node
Deskripsi singkat:
Merupakan proses pembentukan kandidat 2-itemset dan menentukan freuent 2-temset data log
Aktor:
User
Use Case terkait
Include: Membuat 1-itemset Node
Stakeholders:
User
Kondisi sebelum:
Data 1-itemset harus sudah terbentuk
Kondisi Sesudah:
Terbentuk Data frequent 2-itemset
Aliran Aktifitas
Aktor 1.
Memilih tombol Periksa 2-
Sistem
43 Nama Use Case:
Membuat 2Itemset Node itemset 2.
Memilih Simpan 2-itemset
3.
Memeriksa itemset
Frequent-2 3.1. Membaca data_log_2itemset 3.2. Menghitung Frekuensi tiaptiap node 3.3. Menampilkan kandidat 2itemset Node 3.4. Menampilkan data 2-itemset Node
Penangkapan Kondisi Kesalahan (Exception Conditions)
b. Use Case Diagram
Gambar 8. Use Case Diagram
44 c. Diagram Kelas (Class Diagram)
Gambar 9. Class Diagram
45 3. Desain Sistem Sistem yang dikembangkan merupakan sebuah aplikasi komputer yang bisa dijalankan pada berbagai sistem operasi komputer. Pengembangan aplikasi ini menggunakan script atau bahasa pemrograman berbasis web, yaitu HTML, JavaScript, XML, Ajax dan PHP. Berikut ini struktur umum dari template aplikasi yang akan dirancang :
Gambar 16. Desain antar muka template aplikasi 4. Implementasi Sistem Sistem yang dikembangkan merupakan aplikasi yang crossflatform artinya bisa dijalankan pada berbagai sistem aplikasi komputer. Sistem ini bisa berjalan pada komputer stand alone ataupun terintegrasi dalam jaringan, adapun syarat utamanya yaitu harus melakukan instalasi web server terlebih dahulu.
46 5 SIMPULAN DAN SARAN Simpulan Penelitian ini telah berhasil melakukan proses preprocessing data log menggunakan perangkat lunak yang dikembangkan berbasis web dan disimpan dalam DBMS mysql. Dengan menggunakan analisis keranjang belanja dan minimum support dan confidence yang ditentukan sebesar 1% dan 0.2% diperoleh data sebagai berikut: 1. Node atau halaman web yang paling banyak diakses adalah /index1.php (tabel 4.4), yang merupakan halaman utama Website Deptan. Hal ini menunjukan bahwa dalam menelusuri setiap subdomain atau halaman Web yang ada pada Web Deptan secara umum melewati dulu halaman utama. 2. Walaupun /index1.php merupakan halaman yang memiliki akses tertinggi hal tersebut tidak menunjukan halaman tersebut paling menarik kontennya karena /index1.php adalah default-nya halaman utama website Deptan. 3. Halaman yang memiliki hits tertinggi selain halaman utama (/index1.php) adalah halaman /event.php 4. Pada proses scan ke-2 diperoleh tujuh kaidah assosiasi yang memenuhi. Untuk pengembangan konten yang berkaitan dengan link maka bisa ditempatkan sugesti link dari halaman-halaman yang memenuhi kaidah ke halaman yang memiliki hits yang rendah. 5. Apabila dilihat dari rata-rata nilai support dan confidence yang kecil, dan yang tertinggi nilai support-nya adalah sekitar 8%, maka bisa dikatakan situs website Deptan tidak memiliki halaman yang menonjol paling banyak diakses, artinya traffic akses untuk tiap halaman relatif merata (untuk periode November 2012 s.d.Desember 2012). Saran 1. Untuk penelitian yang menggunakan data access.log yang lebih besar dari 1 GB disarankan menggunakan komputer dengan spek tinggi atau dengan menggunakan teknik komputasi paralel. 2. Teknik pembacaan data dalam penelitian ini lebih menekankan pada proses Query basisdata, walau terkesan lambat akan tetapi sangat efektif untuk menyimpan semua data log untuk tiap kelompok string-nya. Alternatif lain untuk pembacaan data log bisa digunakan teknik parser hanya saja perlu disesuaikan algoritmenya.
47
DAFTAR PUSTAKA
Abdurrahman, Bambang Riyanto T, Rila Mandala. 2006. "Pemodelan Web Usage Mining untuk mengelola ecommerce " Prosiding Konferensi Nasional Teknologi Informasi & Komunikasi untuk Indonesia , Institut Teknologi Bandung. Dinucă . 2012 An Application for clickstream analysis . International Journal of Computers and Communications, Issue 1, Volume 6. Iko Pramudiono. 2004. ”Parallel Platform for Large Scale Web Usage Mining”, Tesis Ph.D, Universitas Tokyo. Mobasher, Bamshad. 2007, "Data mining for web personalization" The adaptive web, Springer Berlin Heidelberg ISBN: 978-3-540-72078-2 Montgomery, Alan L. 1999. "Using Clickstream Data to Predict WWW Usage " Carnegie nMellon University, Graduate School of Industrial Administration 5000 Forbes Ave. Pittsburgh, PA 152133890. Montgomery, Alan L. 2000. "Applying Quantitative Marketing Techniques to the Internet", Carnegie Mellon University, Graduate School of Industrial Administration 5000 Forbes Ave. Pittsburgh, PA 152133890. Neelam Sain. 2012. "Web Usage Mining and PreFetching Based on Hidden Markov Model and Fuzzy Clustering", IJCSIT Vol. 3(4).48744877 NRI Institute of Information Science and Technology, Bhopal India. Norris, James R, .1998. Markov chains. Cambridge University Press. http://www.statslab.cam.ac.uk/ ~james/Markov/ (diakses tanggal 25 Februari 2014) Srivastava, R. Cooley, M. Deshpande, P. N. Tan. 2000. Web usage mining: Discovery and application of usage patterns from web data. ACM SIGKDD Explorations, 1(2):12–23. Srivastava , P. Desikan and V.Kumar (2005) "Web Mining Concepts, Applications and Research Directions " Department of Computer Science University of Minnesota, Minneapolis, MN 55455, USA ISBN: 9783540 250579 Steve Hoberman. 2009. “Data Modeling Made Simple 2nd Edition", Technics Publications, LLC. Sule Gunduz M and Tamer Ozsu. 2003. "A Web Page Prediction Model Based on clickstream Tree Representation of User Behavior" ACM 158113737 0/03/0008.
48 Tingliang Huang, and Jan A. Van Mieghem. Clickstream Data and Inventory Management: Model and Empirical Analysis. Department of Management Science and Innovation, University College London Wang Tong, HE Pilian. 2005. Web Log Mining by an Improved AprioriAll Algorithm . PWASET Volume 4 February 2005 ISSN 13076884 WW Moe, PS Fader. 2004 ,“Capturing Evolving Visit Behavior in Clickstream Data” Journal of Interactive Marketing.
49
LAMPIRAN
50 Lampiran 1: Sequence Diagram 1. Sequence Diagram Membuat Node
2. Sequence Diagram Bersihkan Data Log
51 3. Sequence Diagram Lihat Aktivitas Host
4. Sequence Diagram Membuat 1Itemset Node
52 5. Sequence Diagram Membuat 2Itemset Node
6. Sequence Diagram Membuat nItemset Node
53 Lampiran 2 : Tampilan Antarmuka Aplikasi Halaman Utama :
Tampilan Isi Node
54 Impor data Log
Hasil Apriori
55 Lampiran 3. Struktur Data Tabel 1. data_log_1 Field
Type
Null
Default
url_root
varchar(50)
No
host
varchar(20)
Yes
NULL
log_id
varchar(20)
Yes
NULL
user_id
varchar(15)
Yes
NULL
time
datetime
Yes
NULL
gmt
varchar(10)
Yes
NULL
method
varchar(4)
Yes
NULL
request
varchar(500)
Yes
NULL
type_req
varchar(3)
No
http_stat
varchar(15)
Yes
NULL
status
varchar(15)
Yes
NULL
byte
int(11)
Yes
NULL
referer
varchar(100)
Yes
NULL
user_agent
varchar(100)
Yes
NULL
UA_os
varchar(50)
Yes
NULL
UA_ver
varchar(50)
Yes
NULL
UA_lang
varchar(50)
Yes
NULL
UA_u
varchar(50)
Yes
NULL
UA_ssr
varchar(50)
Yes
NULL
UA_1
varchar(50)
Yes
NULL
UA_2
varchar(50)
Yes
NULL
UA_3
varchar(50)
Yes
NULL
UA_4
varchar(50)
Yes
NULL
UA_5
varchar(50)
Yes
NULL
UA_6
varchar(50)
Yes
NULL
UA_7
varchar(50)
Yes
NULL
UA_8
varchar(50)
Yes
NULL
UA_9
varchar(50)
Yes
NULL
UA_10
varchar(50)
Yes
NULL
UA_11
varchar(50)
Yes
NULL
56 2. data_log_2 Field
Type
Null
url_root
varchar(50)
No
ip_host
varchar(15)
No
waktu
datetime
No
node_aktivitas
varchar(500)
No
type_req
varchar(3)
No
keterangan
text
Yes
3. data_log_2itemset Field
Type
Null
url_root
varchar(50)
No
ip_host
varchar(15)
No
tanggal
date
No
node_aktivitas
varchar(30)
No
4. data_log_1itemset Field
Type
Null
url_root
varchar(50)
No
ip_host
varchar(15)
No
tanggal
date
No
node_aktivitas
varchar(200)
No
5. itemset_1 Field
Type
Null
kode_node
int(11)
No
node_count
int(11)
No
frequent
float
No
min_sup
float
No
57 6. itemset_2 Field
Type
Null
kode_node
varchar(20)
No
node_count
int(11)
No
frequent
float
No
min_sup
float
No
7. node Field
Type
Null
kode_node
int(11)
No
url
varchar(50)
No
isi_node
varchar(500)
No
8. temp_node Field
Type
Null
kode_node
int(11)
No
url
varchar(50)
No
isi_node
varchar(300)
No
frek
int(11)
No
Field
Type
Null
kode_node
varchar(20)
No
url
varchar(50)
No
isi_node
varchar(500)
No
frek
int(11)
No
9. temp_node_2
58 Lampiran 4 : Penggunaan Aplikasi 1. Aplikasi yang dikembangkan merupakan aplikasi yang bisa berdiri sendiri ataupun merupakan bagian dari aplikasi Web yang sudah ada. 2. Nama folder aplikasi ini adalah analisis_clickstream 3. Apabila dijalankan sebagai bagian dari aplikasi Web maka seluruh folder aplikasi ini tinggal di-copy-kan pada sub domain yang telah disediakan lalu ketikan folder aplikasi ini. Contoh: http://www.suatu-alamat.com/analisis_clickstream 4. Apabila dijalankan sebagai aplikasi yang berdiri sendiri, maka harus dipersiapkan aplikasi-aplikasi berikut : 1. Web Server Apache 2.0 atau di atasnya 2. Pemrograman PHP 5.0 atau diatasnya 3. DBMS Mysql Contoh: http://localhost/analisis_clickstream 5. Tampilan halaman utama:
6. Terdapat 4 (empat) sajian menu aplikasi yaitu :
59 a. Beranda Isinya hanya tentang apliasi dan petunjuk umum penggunaan aplikasi b. Olah Data Tampilannya sebagai berikut :
Pada sub-menu Deskripsi Web berisi tentang keterangan suatu alamat url, misalkan http://deptan.go.id, deskripsinya adalah Website Kementerian Pertanian, form-nya seperti berikut:
60 Pada sub-menu Direktori Web user dapat menambah atau menghapus direktori suatu web:
sub-menu Impor Data Log digunakan untuk memilih data log yang akan diolah:
61
sub-menu Bersihkan Data digunakan untuk membuang file dan string yang tidak digunakan dalam penelitian :
sub-menu Periksa Data Log digunakan untuk memeriksa data log kemudian disimpan ke dalam dalta log bersih.
62 sub-menu Aktivitas Host digunakan untuk melihat aktifitas yang dilakukan oleh host (IP Address) berdasarkan runtunan waktu (time series). Tombol Sinkronisasi digunakan untuk menyocokan astring aktivitas yang dilalui oleh host dengan kode node induk (direktori) agar runtunan aktifitasnya bisa dikodekan.
sub-menu Apriori digunakan untuk menjalankan Algoritme Apriori dengan analisis basis data (query). Scan/Prunning diilakukan selama dua kali karena kebetulan dalam penelitian ini sampai dua kali scan hasilnya frekuensi data sangat kecil. User bebas memasukan nilai minimum support dengan berdasarkan data yang dilampirkan di bawahnya. Tombol Simpan Data Scan Pertama digunakan untuk menyimpan data ke dalam tabel itemset_1. Kemudian setelah selesai secara otomatis akan ditampilkan proses scan ke-2 dan dilakukan proses yang sama dengan menyimpan ke itemset_2.
63
sub-menu hasil digunakan untuk melihat hasil scan atau hasil dari algoritme apriori, terdiri dari hasil kandidat 1-itemset, kandidat 2-itemset, 1-itemset dan 2-itemset
64
65
66
RIWAYAT HIDUP Penulis dilahirkan di Subang pada tanggal 20 Juni 1980 sebagai anak pertama dari tiga bersaudara. Pendidikan sekolah dasar hingga menengah pertama ditempuh di Subang dan melanjutkan sekolah menengah atas di Purwakarta. Kemudian melanjutkan pendidikan sarjana di STMIK Bandung Program Studi Teknik Informatika. Setelah lulus tahun 2004 penulis mengajar di salah satu perguruan tinggi swasta di Karawang dan pada tahun 2005 diangkat menjadi Dosen PNS Kopertis Wilayah IV Jawa Barat dan Banten dipekerjakan pada STMIK Kharisma Karawang sampai sekarang. Pada tahun 2011 penulis memulai pendidikan Pascasarjana di Program Studi Ilmu Komputer Sekolah Pascasarjana IPB, Bogor.