BAB II DASAR TEORI Bab ini berisi konsep yang dibutuhkan dalam pengerjaan penelitian tugas akhir ini. Pembahasan ini dimulai dari konsep kausalitas dan causal network sebagai salah satu cara penggambaran hubungan kausalitas. Setelah itu, akan dijelaskan konsep Bayesian Network sebagai salah satu teknik yang dapat digunakan untuk membangun causal network. Selanjutnya akan dijelaskan mengenai World Wide Web (WWW) sebagai sumber data mentah yang akan diolah pada permasalahan yang akan dibahas. Dilanjutkan dengan uraian mengenai data mining serta berbagai macam data mining task yang dapat dilakukan. Terakhir adalah penjelasan mengenai web mining dan karakteristik setiap bidang kajian pada web mining. II.1 Reasoning dan Kausalitas Permasalahan reasoning terkait dengan tingkat kepercayaan terhadap suatu kejadian berdasarkan fakta mengenai kejadian lainnya [JEN96]. Sebagai contoh, seorang dokter ingin mengetahui apakah kebiasaan merokok pasien akan berpengaruh langsung pada terjangkit atau tidaknya penyakit bronkitis dan/atau kanker paru-paru pada sang pasien. Pada kasus tersebut, dokter akan melakukan proses reasoning seperti pada contoh statement berikut : “jika pasien memiliki kebiasaan merokok, maka terdapat kemungkinan pasien mengidap kanker paru-paru sebesar 75%” Disini, berdasarkan fakta pada event yang diketahui (apakah pasien tersebut memiliki kebiasaan merokok atau tidak), sang dokter melakukan reasoning apakah pasien akan mengidap kanker paru-paru dan/atau bronkitis. Hubungan saling mempengaruhi antara event ini disebut sebagai hubungan kausalitas [JEN01]. Kausalitas berkaitan dengan aksi yang mengakibatkan status II-1 II-2 pada sebuah lingkungan berubah. Pada contoh pengaruh kebiasaan merokok yang telah disebutkan sebelumnya, dapat diasumsikan terdapat sebuah hubungan kausalitas antara kebiasaan merokok pasien dengan penyakit bronkitis dan kanker paru-paru. Dengan demikian, jika diketahui seorang pasien merokok, maka dokter dapat menyimpulkan bahwa besar kemungkinan pasien tersebut mengidap kanker paru-paru. Disini, kenyataan bahwa pasien merokok akan mengubah kemungkinan apakah pasien tersebut akan mengidap kanker paru-paru. Meski pada kasus pengaruh kebiasaan merokok tersebut hubungan kausalitas dapat dilihat dengan jelas dan mudah, pada kenyataannya, hubungan kausalitas tidak selalu jelas terlihat pada semua permasalahan. Pada kasus-kasus lain, misalnya apakah gender berpengaruh pada kemampuan teknis seseorang, hubungan kausalitas seringkali lebih sulit untuk diidentifikasi. II.2 Causal Network Penggambaran hubungan kausalitas dapat dinyatakan dalam sebuah skema causal network. Causal network terdiri dari sekumpulan variabel dan sekumpulan directed link antar variabel [JEN01]. Secara matematis, struktur ini berupa sebuah directed graph dimana setiap variabel menggambarkan sebuah event. Sebuah variabel dapat terdiri dari banyak state dari kejadian. Secara umum, sebuah variabel merepresentasikan sebuah set dari seluruh kemungkinan status pada kejadian yang bersangkutan. Sementara itu, directed link antar variabel merepresentasikan hubungan kausalitas diantara variabel tersebut. Dua buah variabel yang dihubungkan oleh sebuah directed link memperlihatkan bahwa keduanya dependen sehingga perubahan pada salah satu variabel akan mempengaruhi tingkat kepercayaan pada variabel yang lain. Dalam menggambarkan situasi ini, terdapat beberapa aturan transmisi informasi pada causal network, yaitu serial connection, diverging connection, dan converging connection [JEN01]. II-3 Serial Connection Gambar 1 memperlihatkan sebuah aturan dalam penggambaran hubungan serial. Variabel A memiliki pengaruh pada B yang pada gilirannya akan mempengaruhi C. Pada bentuk ini, peningkatan kepercayaan pada A akan mempengaruhi kepercayaan pada B dan kemudian juga mempengaruhi kepercayaan pada C. Demikian juga sebaliknya. A B C Gambar 1. Bentuk serial connection Namun demikian, jika kondisi pada B diketahui, maka aliran informasi dari A ke C akan di-blok. Dengan demikian A dan C menjadi independen. Kondisi ini disebut dengan ”A dan C adalah d-separated jika diketahui B”. Pada situasi seperti ini, perubahan kepercayaan pada A tidak akan mempengaruhi tingkat kepercayaan pada C. Diverging Connection Pada kasus diverging connection, informasi dapat mengalir diantara seluruh anak A kecuali diberikan sebuah evicende pada B. Dengan demikian, jika kondisi B tidak diketahui nilainya, perubahan tingkat kepercayaan A akan mempengaruhi tingkat kepercayaan pada C. Untuk lebih jelasnya, skema dari diverging connection dapat dilihat pada gambar 2 diverging connection. II-4 B C A Gambar 2. Bentuk diverging connection Namun demikian, seperti telah dijelaskan sebelumnya, jika kondisi pada B diketahui, maka aliran informasi dari A menuju C akan terputus. Kondisi inilah yang disebut dengan ”A dan C d-separated jika B diketahui”. Converging Connection Jika tidak ada yang diketahui mengenai variabel B kecuali apa yang dapat disimpulkan dari pengetahuan parent node-nya, maka seluruh parent node tersebut adalah independen. Hal ini berarti ditemukannya evidence pada salah satu dari parent node tersebut tidak akan mempengaruhi tingkat kepercayaan pada parent node yang lain. A C B Gambar 3. Bentuk converging connection Namun, jika sebuah evidence mempengaruhi tingkat kepercayaan pada variabel B, maka seluruh parent node dari variabel B akan menjadi dependen. Evidence yang ditemukan dapat mempengaruhi kepercayaan pada variabel B secara langsung maupun mempengaruhi kepercayaan pada anak dari variabel B. Fenomena ini II-5 yang disebut sebagai conditional dependence. Gambar 3 memperlihatkan kondisi ini. d-seperated dan d-connected Ketiga aturan aliran informasi tersebut dirumuskan dalam konsep d-separation [JEN01]. Dengan mengikuti bentuk aturan-aturan aliran informasi yang telah ditetapkan tersebut, dimungkinkan untuk memutuskan kombinasi variabel saling dependen dan kombinasi variabel mana yang bersifat independen jika diberikan sejumlah evidence tertentu. Kombinasi variabel yang menjadi dependen setelah diperoleh sejumlah evidence dalam causal network disebut sebagai hubungan yang d-connected. Sebaliknya, kombinasi variabel yang menjadi saling independen setelah diperoleh sejumlah evidenve pada causal network tersebut disebut sebagai hubungan yang d-seperated. Secara umum, dua buah variabel A dan B pada sebuah causal network dikatakan d-separated jika untuk semua path antara A dan B terdapat sebuah variabel antara V yang menyebabkan terbentuknya [JEN01]: – Sebuah serial connection atau diverging connection dan terdapat evidence pada V – Sebuah converging connection dan tidak ada evidence yang diperoleh pada V atau seluruh turunan pada V Jika A dan B tidak d-separated, maka A dan B dikatakan d-connected. II-6 e e C B A D E F H I J K e G L M Gambar 4. Contoh causal network [JEN01] Pada Gambar 4 diperlihatkan sebuah contoh causal network [JEN01]. Terdapat evidence pada B dan M yang merepresentasikan instansiasi. Jika diberikan sebuah evidence pada A, informasi ini dapat dialirkan ke D menurut aturan aliran informasi yang telah dijelaskan sebelumnya. Karena variabel B diblok, maka informasi tidak dapat mengalir dari D ke E. Namun demikian, informasi dapat mengalir ke H dan K. Karena anak dari K, yaitu M, telah menerima evidence, maka informasi dari H akan mengalir ke I dan kemudian ke E, C, F, J, dan L. Sehingga, jalur A – D – H – K – I – E – C – F – J – L adalah sebuah lintasan yang d-connected. II.3 Bayesian Network II.3.1 Pendahuluan Salah satu alat untuk menggambarkan causal network adalah dengan menggunakan teknik Bayesian Network (BN). Selama beberapa dekade terakhir, BN telah menjadi salah satu bentuk representasi yang banyak digunakan untuk menyelesaikan masalah-masalah reasoning [NEA04]. BN dianggap sesuai untuk II-7 bentuk permasalahan reasoning karena BN dapat memodelkan dengan efisien pembangunan model domain yang mengandung ketidakpastian [JEN01]. Terdapat beberapa definisi BN. Menurut Heckerman, BN adalah sebuah model grafis untuk menggambarkan hubungan probabilistik di antara sekumpulan variabel [HEC06]. Sementara itu, sumber lain menuliskan BN merupakan sebuah model grafis yang digunakan dalam memperlihatkan suatu keterhubungan diantara sejumlah besar variabel acak yang dihubungkan langsung dengan menggunakan acyclic graph [HAN01]. Berdasarkan definisi-definisi tersebut, BN dapat didefinisikan sebagai sebuah model grafis yang memperlihatkan hubungan probabilistik diantara sejumlah variabel acak yang dihubungkan dengan menggunakan directed acyclic graph. Untuk memperlihatkan bentuk permasalahan yang ditangani oleh BN, akan digunakan contoh situasi medis apakah kebiasaan merokok seorang pasien (H) akan berpengaruh langsung pada terjangkit atau tidaknya penyakit bronkitis (B) atau kanker paru-paru (L) pada pasien tersebut. Lebih lanjut, seorang pasien yang mengidap penyakit bronkitis atau kanker paru-paru akan berpengaruh langsung pada apakah pasien tersebut mudah mengalami kelelahan atau fatigue (F). Selain itu, bila seorang pasien mengidap kanker paru-paru, ternyata juga akan mempengaruhi hasil tes sinar-X pada paru-paru pasien akan menunjukkan hasil positif atau negatif (C) [NEA04]. Permasalahan seperti contoh tersebut tidak dapat diselesaikan dengan menggunakan perhitungan sederhana. BN dikembangkan untuk mengatasi permasalahan seperti contoh kasus tersebut. Dengan menggunakan BN, situasi itu dapat direpresentasikan seperti pada Gambar 5 yang memperlihatkan representasi graf dari studi kasus. II-8 Gambar 5. Representasi graf untuk studi kasus medis [NEA04] Pada Gambar 5, adanya garis yang menghubungkan dua variabel menggambarkan adanya pengaruh langsung dari satu variabel ke variabel lainnya. Misalnya adanya garis berarah dari H ke L merepresentasikan hubungan langsung antara riwayat merokok dengan terjangkit tidaknya kanker paru-paru. Representasi nilai dari variabel-variabel pada BN di atas dapat dilihat pada Tabel 1. Tabel 1. Representasi nilai dari variabel-variabel BN [NEA04] Node H B L F C Nilai h1 h2 b1 b2 l1 l2 f1 f2 c1 c2 Keterangan Memiliki kebiasaan merokok Tidak memiliki kebiasaan merokok Mengidap bronkitis Tidak mengidap bronkitis Mengidap kanker paru-paru Tidak mengidap kanker paru-paru Menderita kelelahan Tidak menderita kelelahan Hasil tes sinar-X untuk kanker paru-paru positif Hasil tes sinar-X untuk kanker paru-paru positif Selain dapat digunakan untuk menjelaskan keterhubungan antara antar variabel yang memiliki pengaruh langsung, BN juga dapat digunakan untuk pengambilan keputusan (inferensi) probabilistik. Inferensi probabilistik adalah memprediksi nilai variabel yang tidak dapat diketahui secara langsung menggunakan nilai-nilai variabel lain yang telah diketahui [KRA98]. Sebagai contoh, pada contoh kasus di atas, kemungkinan seorang pasien menderita kanker paru-paru dapat dihitung II-9 berdasarkan nilai pada variabel apakah pasien memiliki sejarah merokok atau tidak. II.3.2 Komponen Bayesian network Sebuah pemodelan dengan menggunakan teknik BN terdiri dari sebuah set variabel dan sebuah set dari arc berarah antara variabel [JEN01]. Setiap variabel memiliki sekumpulan nilai yang saling terpisah dalam jumlah terbatas. Variabel ini digambarkan dalam bentuk node. Seluruh node dan arc yang dibangun untuk menggambarkan skema permasalahan membentuk sebuah Directed Acyclic graph (DAG). Sebuah graf dikatakan acyclic jika tidak ada jalur pada graf tersebut dimana A1Æ ... Æ An sedemikian rupa sehingga A1 = An. DAG yang terdiri dari sebuah set variabel dan sebuah set dari arc berarah merupakan komponen kualitatif dari BN. Contoh komponen kualitatif pada BN dapat dilihat pada Gambar 6 yaitu bagian yang dikelilingi garis putus-putus. Selain komponen kualitatif, BN juga memiliki komponen kuantitatif. Untuk setiap variabel A dengan parent B1, ..., Bn, terdapat sebuah Conditional Probability Table (CPT). CPT inilah yang merupakan komponen kuantitatif dari BN. CPT merepresentasikan prior probability, yaitu distribusi probabilitas setiap variabel dalam hubungannya dengan seluruh parent node-nya. CPT berisi sekumpulan conditional probability yang merupakan konsep dasar dari perhitungan kemungkinan terjadinya suatu event jika diketahui kemungkinan terjadinya event lain pada BN [JEN01]. Jika diberikan sebuah kemungkinan P(A) dari sebuah event A, maka kemungkinan ini diperoleh dari sejumlah faktor yang diketahui. Contoh komponen kuantitatif pada BN dapat dilihat pada gambar 6 yaitu bagian yang dikelilingi garis tidak putus-putus. II-10 Gambar 6. Representasi graf untuk studi kasus medis [NEA04] Secara umum, sebuah conditional probability memiliki aturan sebagai berikut : Diberikan event B, kemungkinan event A adalah c. Notasi dari pernyataan diatas adalah P(A|B) = c. Nilai probabilitas untuk setiap event tersebut dapat dihitung dengan menggunakan rumus conditional probability pada persamaan : P( A | B) = P( B | A) P( A) P( B) (i) II.3.3 Joint Probability Distribution Sebuah himpunan n variabel acak V = {X1, X2, ........, Xn}ditentukan dimana setiap Xi memiliki ruang yang tidak berhingga. Sebuah fungsi, yang memberikan sebuah nilai riil P(X1 = x1, X2 = x2,....... ,Xn = xn) untuk setiap kombinasi nilai yang dimiliki xi sedemikian sehingga nilai dari xi dipilih dari ruang Xi, disebut sebagai joint probability distribution dari variabel acak pada V jika memenuhi kondisi berikut ini: II-11 1. Untuk setiap kombinasi dari nilai xi, 0 ≤ P(Xi = xi, X2 = x2, ......, Xn = xn) ≤ 1. 2. Nilai ∑ P(X1 = x1, X2 = x2,....... ,Xn = xn) = 1. x1, x2, ..., xn Dalam Bayesian Network juga terdapat istilah joint probability distribution. Misalkan U= {A1,….,An} merupakan semesta dari variabel-variabel. Apabila terdapat akses pada joint probability table P(U) = P(A1,….,An), maka dapat dihitung nilai P(Ai) begitu juga nilai P(Ai|e), dimana e adalah evidence. Sebuah Bayesian network pada U merupakan sebuah representasi. Apabila conditional independence pada Bayesian network berlaku untuk U, maka P(U) dapat dihitung dari potensial yang ditentukan pada network [JEN01]. Misalkan BN merupakan sebuah Bayesian Network pada U = {A1,….,An}. Maka, joint probability distribution P(U) adalah hasil dari seluruh potensial yang ditentukan pada Bayesian network, dapat dirumuskan sebagai berikut [JEN01]: SP(U) = ∏ P(Ai | pa(Ai)), dimana pa(Ai) merupakan himpunan orang tua dari Ai. II.3.4 d-seperation Misalkan terdapat DAG G = (V,E) dan sekumpulan node {X1, X2, ... , Xk}, dimana k ≥ 2, sedemikian sehingga (xi-1, xi) ∈ E atau (xi-1, xi) ∈ E untuk 2 ≤ i ≤ k. Kumpulan arc yang mengubungkan k buah node tersebut disebut chain antara X1 dan Xk. Sebuah chain yang memiliki dua buah node, misalnya X – Y, disebut link. Link yang memiliki arah, misalnya XÆ Y, disebut edge. Jika diberikan X Æ Y maka X merupakan tail dari edge sedangkan Y merupakan head dari edge. Konsep ini dikembangkan menjadi [NEA04] : II-12 a. Sebuah chain X Æ Z Æ Y disebut head – to – tail meeting, dimana edges bertemu secara head – to – tail pada Z dan Z adalah node head – to – tail pada chain b. Sebuah chain X Å Z Æ Y disebut tail – to – tail meeting, dimana edges bertemu secara tail – to – tail pada Z dan Z adalah node tail – to – tail pada chain c. Sebuah chain X Æ Z Å Y disebut head – to – head meeting, dimana edges bertemu secara head – to – head pada Z dan Z adalah node head – to – head pada chain d. Sebuah chain X – Z – Y sedemikian hingga X dan Y tidak bertetanggaan disebut uncoupled meeting Misalkan G = (V,E) adalah DAG dan A adalah kumpulan node dalam V. X dan Y adalah 2 node selain V dan A, dan p adalah chain antara X – Y. Maka p akan diblok oleh A jika: a. Ada sebuah node Z anggota A dalam chain p dan semua edge yg terhubung pada Z dalam p merupakan head-to-tail pada Z b. Ada sebuah node Z anggota A dalam chain p dan semua edge yg terhubung pada Z dalam p merupakan tail-to-tail pada Z c. Ada sebuah node Z sedemikian hingga Z dan semua descendant Z tidak ada dalam A pada chain p, dan semua edge yang terhubung pada Z dalam p merupakan head-to-head pada Z Sebuah chain dikatakan diblok pada semua node pada A jika salah satu kondisi diatas terpenuhi. Sebagai contoh, dapat dilihat pada DAG pada gambar 7 yang mengilustrasikan terjadinya chain blocking. II-13 X Y Z W S Gambar 7. DAG yang mengilustrasikan Chain Blocking Pada contoh tersebut dapat dilihat : a. X dan W d-separated oleh {Z} karena [X,Z,W] d-separated oleh Z, [X,Z,S,W] d-separated oleh Z. b. X dan S d-separated oleh {Z, W} karena [X,Z,S] d-separated oleh Z, [X, W, S] d-separated oleh W, [X,Z,W,S] d-separated oleh Z dan W. c. X dan Y d-separated oleh {W, Z} karena [X,W,Y] d-seperated oleh W, [X,Z,W,Y] d-separated oleh W, [X,Z,S,W,Y] d-separated oleh W dan Z. d. Y dan S d-separated oleh {W} karena [Y,W,S] d-separated oleh W e. Z dan S d-separated oleh {W} karena [Z,W,S] d-separated oleh W. II.3.5 Konstruksi Bayesian network Pembelajaran BN dapat dibagi menjadi dua bagian, yaitu pembelajaran kualitatif (atau juga dikenal sebagai learning structure) dan pembelajaran kuantitatif (atau juga dikenal sebagai learning parameter). Pembelajaran kualitatif memperhatikan pada struktur model (DAG) dan pembelajaran kuantitatif merupakan spesifikasi dari conditional probabilities (CPT). II-14 Learning Structure Terdapat dua buah pendekatan yang digunakan dalam melakukan learning structure, yaitu : 1. scoring Learning structure dengan pendekatan scoring dilakukan dengan cara menghitung probability pada masing-masing pola DAG yang tebentuk dengan menggunakan fungsi scoring. DAG terpilih adalah DAG yang memiliki nilai score maksimum [NEA04]. Salah satu algoritma dalam melakukan learning structure dengan pendekatan scoring adalah algoritma K2 2. constraint-based learning Pendekatan ini memanfaatkan konsep d-separation, yaitu dengan menghitung conditional independencies yang terdapat di dalam distibution probability untuk menemukan DAG yang paling sesuai dengan data [NEA04]. Algoritma yang terkenal adalah algoritma TPDA dan algoritma PC. Learning Parameter BN akan mengkalkulasi posterior probability distribution dari sebuah variabel. Saat seluruh angka yang relevan dibangkitkan, model tersebut dapat digunakan untuk proses inferensi. Di samping itu juga dapat dilakukan prediksi-prediksi maupun analisis terhadap situasi yang dimodelkan. II-15 II.4 World Wide Web II.4.1 Pendahuluan World Wide Web atau lebih dikenal sebagai WWW atau Web adalah suatu ruang informasi dimana setiap resource didalamnya diidentifikasi dengan suatu pengenal global yang disebut Unified Resource Indentifiers (URI) [BER04]. Teknologi ini muncul pada tahun 1990 ketika Tim Berners-Lee mengimplementasikan sistem manajemen informasi untuk mencegah hilangnya data yang dimiliki institusi European Organization for Nuclear Investigation. Konsorsium World Wide Web sendiri mulai didirikan pada bulan Oktober 1994. Tugasnya adalah menstandarisasi dan mengimplementasikan protokol-protokol serta untuk mempromosikan evolusi dari teknologi World Wide Web yang memungkinkan bentuk mutakhir dari dokumentasi informasi maupun komunikasi manusia. Sejak saat itu, teknologi WWW terus dikembangkan dan kini telah menjadi paradigma yang paling berpengaruh dalam arena sistem informasi [POL03]. Seiring perkembangan teknologi WWW, semakin banyak pula data yang tersedia bagi pengguna web dan jumlahnya terus bertambah. Bisa dilihat bahwa data web mencakup spektrum informasi yang sangat luas mulai dari data pemerintahan, data hiburan, data komersial, dan lain sebagainya. Pada waktu yang bersamaan, semakin banyak pula data yang disimpan dalam penyimpanan tradisional beralih ke web. Pada tahun 1999 diprediksi bahwa dalam jangka waktu sepuluh tahun (tahun 2009) sebagian besar data yang dibuat manusia akan tersedia di web [ZHA03]. Namun demikian, ketersediaan data dalam jumlah besar pada web tidak menjamin bahwa seorang pengguna web dapat menemukan data yang dibutuhkannya dengan mudah. Pada kenyataannya, data dalam jumlah besar tersebut sudah melampaui kemampuan manusia untuk menemukan informasi yang dibutuhkan. Menurut II-16 hasil observasi, 99% data yang diperoleh oleh 99% pengguna web ternyata tidak sesuai dengan kebutuhannya [ZHA03]. Tetapi, data web dalam jumlah besar dengan berbagai macam properti tersebut memang menunjukkan bahwa ada pengetahuan yang tersembunyi di balik data pada web yang tidak dapat diinterpretasikan dengan mudah dengan menggunakan intuisi manusia. II.4.2 Struktur Global Struktur global dari sebuah web sangat kompleks. Dalam bahasa matematika, World Wide Web dinyatakan dalam sebuah graf berarah. Graf tersebut berarah karena sebuah link dari halaman A ke halaman B tidak berarti terdapat link sebaliknya dari halaman B ke halaman A. Untuk memahami lebih jelas struktur WWW, akan dibahas contoh pada Gambar 8. Gambar 9 memperlihatkan ilustrasi struktur web dalam bentuk graf berarah pada website redhat.com. Dapat dilihat, setiap halaman dinyatakan sebagai node. Link yang terdapat diantara halaman digambarkan dalam bentuk link antara node. Jadi, link antara node ”redhat.com” dengan node ”Product and Service” pada gambar menunjukkan adanya link dari halaman ”redhat.com” ke halaman ”Product and Service” pada website redhat.com. Gambar 8. Perubahan versi dari struktur web redhat.com [ZHA03] II-17 Salah satu karakteristik paling penting dari struktur web adalah bahwa struktur web selalu berubah dari waktu ke waktu [ZHA03]. Pada Gambar 8 dapat dilihat perubahan struktur pada website redhat.com. Kotak yang diberi warna abu-abu menunjukkan halaman web yang dihapus dari struktur web versi awal (Gambar 8(a)), kotak yang diberi warna hitam menggambarkan halaman web yang baru ditambahkan(Gambar 8(b)), sedangkan kotak dengan garis tebal merepresentasikan halaman web yang baru di-update. II.5 Data Mining II.5.1 Pendahuluan Beberapa ahli menganggap data mining sebagai istilah lain dari Knowledge Discovery in Databases (KDD). Pendapat lain menyatakan, data mining tidak sama dengan KDD, tapi data mining adalah sifat dasar dari proses penggalian pengetahuan pada database. Pada Tugas Akhir ini, data mining mengacu kepada proses penggalian atau penambangan pengetahuan (knowledge) dari sejumlah besar data [HAN01]. Tujuan dari data mining dapat dibedakan berdasarkan tujuan dari penggunaan sistemnya [FAY96], yaitu : 1. Deskripsi (Verification) Deskripsi terfokus kepada menemukan pola-pola yang dimengerti manusia dengan menggunakan data mentah yang ada. 2. Prediksi (Discovery) Prediksi melibatkan penggunaan beberapa variabel pada data mentah untuk memprediksi pengetahuan yang tidak diketahui atau belum terjadi dari beberapa variabel yang menarik. II-18 II.5.2 Preprocessing Preprocessing menggambarkan bentuk pemrosesan apapun yang dilakukan pada data mentah dalam rangka mempersiapkannya untuk menjalani prosedur pemrosesan lainnya [NON05]. Proses ini mengubah data menjadi bentuk yang lebih mudah dan lebih efektif diproses dalam memenuhi kebutuhan data mining. Terdapat beberapa teknik dalam melakukan preprocessing [HAN01], diantaranya: 1. data cleaning, digunakan untuk menghilangkan noise dan memperbaiki data yang tidak konsisten 2. data integration and transformation, menggabungkan data dari sejumlah sumber yang berbeda ke dalam sebuah bentuk penyimpanan data yang koheren 3. data reduction, mengurangi ukuran data dengan mengagregasi, membuang, atau meng-cluster data II.6 Web mining Seperti telah dijelaskan pada subbab II.4, WWW menyimpan tumpukan data dalam jumlah yang luar biasa besar [HAN01]. Sebagian besar data tersebut masih belum dimanfaatkan untuk diolah menjadi pengetahuan. Disini, web mining berperan untuk menemukan secara otomatis dan mengekstrak pengetahuan yang berguna namun tersembunyi dari data mentah pada web [ZHA03]. Web mining merupakan sebuah bidang kajian dengan cakupan yang sangat luas. Hal ini disebabkan karena web mining adalah kumpulan berbagai area riset seperti database, information retrieval, machine learning dan natural language processing. Artinya dalam pembangunan sebuah aplikasi web mining umumnya diperlukan lebih dari satu area riset tersebut. II-19 Salah satu contoh pemanfaatan web mining yang saat ini sangat banyak digunakan adalah Google, yang menggunakan teknik web mining untuk melakukan perangkingan hasil query menurut tingkat relevansi dan popularitas dari halamanhalaman web yang diperoleh [ZHA03]. Contoh pemanfaatan web mining lainnya adalah untuk membangun ringkasan dari struktur halaman web, mengklasifikasikan halaman web atau mengidentifikasi web communities. Secara umum, arsitektur web mining dapat dilihat pada Gambar 9 Arsitektur web mining. Gambar 9. Arsitektur web mining [GAL01] Seperti dapat dilihat pada Gambar 9, data yang diolah harus mengalami proses data cleaning terlebih dahulu dimana kumpulan data dibersihkan dari data noise dan data yang tidak relevan. Kumpulan data yang sudah bersih kemudian akan diintegrasikan dalam format yang seragam pada fase data integration. Data yang diperlukan kemudian ditransformasi menjadi format data yang sesuai dengan kebutuhan mining. Pada fase pattern discovery, dilakukan pencarian pola dengan menggunakan data mining task yang telah ditentukan. Terakhir, pada tahap pattern analysis, pola yang diperoleh dianalisis untuk mendapatkan pengetahuan yang dibutuhkan. II-20 Meskipun inti dari pekerjaan yang dilakukan adalah melakukan proses mining data mentah dari WWW, namun data yang digunakan dalam proses mining dapat beragam bentuknya [LIN01]. Secara umum, objek data pada web mining adalah resource pada web, dapat berupa dokumen web, log file web, struktur pada website, atau struktur pada dokumen web itu sendiri. Berdasarkan tipe data yang diolah tersebut, web mining dibagi menjadi tiga bidang kajian, yaitu : 1. Mining Content 2. Mining Usage 3. Mining Structure Pada bagian selanjutnya akan dibahas masing-masing ketiga bidang kajian tersebut serta tipe data mentah yang dapat dimining menjadi pengetahuan pada setiap bidang kajian. II.6.1 Web content mining Sebuah dokumen web mengandung informasi dalam jumlah yang sangat besar, baik informasi yang dinilai berguna maupun yang tidak berguna. Menemukan informasi yang tepat merupakan sebuah tantangan. Tujuan dari web content mining adalah menemukan pengetahuan yang berguna dengan menggunakan data berupa content dari dokumen web [LIN01]. Salah satu aplikasi dari web content mining yang banyak digunakan adalah search engine, misalnya Altavista. Gambar 10 menunjukkan skema web content mining pada sebuah search engine. Dapat dilihat bahwa meski dua buah halaman web berada dalam website yang sama, namun dapat dikategorikan menjadi kelompok yang berbeda. Pada struktur web pada gambar 10, halaman yang diberi warna yang sama masuk ke dalam satu kategori. II-21 Gambar 10. Search engine sebagai contoh web content mining [MAX04] Dewasa ini, sebagian besar dari web content mining lebih merujuk pada text mining. Algoritma yang dapat melakukan mining terhadap content gambar atau suara, misalnya untuk memeriksa apakah sebuah gambar termasuk kedalam kategori pornografi atau tidak, masih belum tersedia. II.6.2 Web usage mining Web usage mining mempelajari perilaku dari pengunjung website. Oleh karena itu, web usage mining sangat berbeda dengan web content mining dan web structure mining. Pada web usage mining, untuk mengatasi masalah dokumen web yang terus berubah, data mentah yang akan digunakan umumnya akan dibekukan untuk sementara waktu. Pada web usage mining, perilaku pengunjung harus dianalisis sepanjang waktu dalam jangka waktu tertentu. Analisis tingkah laku tersebut bisa dalam jangka waktu sebuah sesi atau hingga mencapai beberapa tahun. II-22 Data mentah yang paling mudah diperoleh untuk keperluan web usage mining berasal dari web access log. Web access log adalah sebuah log yang mencatat seluruh tingkah laku pengunjung sebuah website, misalnya IP address dari pengunjung, waktu kunjungan, atau halaman mana saja yang diakses. Tanpa adanya summarization atau organization pada web access log, data pada level ini tampak tidak berguna. Namun, dengan melakukan data transformation, dapat dianalisis berbagai pola perilaku pengunjung site. Tabel 2 memperlihatkan berbagai bentuk data mentah yang umumnya tersedia pada web access log. Untuk contoh web access log dapat dilihat pada Gambar 11. Tabel 2. Contoh data mentah yang tersedia pada web access log Log Data Item Description Visitor A unique Internet Protocol (IP) address. Visit A set of requests depicting all the pages and graphics seen by a unique visitor at one time. Any file from a Web site that a user downloads. Hit Access Request Path An entire page downloaded by a user regardless of the number of images, sounds, or movies. When a Web server is asked to provide a page, graphic or other object. How the user navigated through the site (e.g., entrance, intermediate, Duration and exit points); the length of a user�s session, specific location duration (e.g. time on a page), download times. The first page users actually access when entering a Web site (which may not be a home page). The last page users actually access before leaving a Web site. When a visitor to a different Web site clicks on an advertisement that ultimately redirects the visitor to the logged site. Average time per visit or average time per page. Downloads Information on files that are downloaded from a Web site. Browsers Browsers used to access a Web site. Errors Errors associated with accessing a Web site. Search engines Search engines used that pointed to a particular Web site. Entry page Exit page Click-through II-23 Gambar 11. Contoh web access log Analisis yang diperoleh akan semakin menarik pada level pengunjung individu. Dengan menganalisis perilaku pengunjung dalam satu buah sesi, dapat diperoleh prediksi pola perilaku pengunjung selama seminggu atau bahkan sebulan setelahnya. II.6.3 Web structure mining Web Structure Mining adalah proses mendapatkan pengetahuan dari topologi sebuah web yang mencakup link-link diantara halaman-halaman web. Pada web structure mining ini dapat dianalisa halaman mana saja yang menjadi target link dari halaman web lainnya, halaman web mana yang mengacu ke banyak halaman web lainnya, atau koleksi halaman mana yang membentuk sebuah kumpulan. Bahan baku web structure mining adalah sebuah kumpulan link yang menghubungkan beberapa dokumen web. II-24 Web structure mining bekerja dengan representasi statik ideal dari sebuah web. Dengan demikian, kumpulan link yang akan di-mining adalah kumpulan link yang digunakan saat ini. Tentu saja, keterhubungan antara halaman web selalu berubah, sehingga tidak ada snapshot statik yang akurat atau up-to-date. Bentuk ideal dari representasi web structure mining adalah sebuah grafik, umumnya sebuah directed graph mengingat sebuah link menghubungkan satu halaman web ke halaman web lain. Skema graph ini akan memetakan semua link yang menghubungkan seluruh dokumen didalam web. Contoh aplikasi web structure mining adalah search engine Google. Berbeda dengan Altavista yang hanya mengandalkan content dari halaman web, Google juga mempertimbangkan link yang mengacu pada dokumen web tersebut. Link yang menghubungkan banyak dokumen terenyata dapat mengungkapkan banyak hal mengenai objek-objek yang mereka hubungkan. Web tidak dihubungkan secara seragam. Beberapa site bisa bertindak sebagai hub dan memiliki banyak koneksi ke banyak halam web lainnya. Site lainnya mungkin membentuk sebuah kelompok yang memiliki banyak koneksi internal namun hanya memiliki sedikit atau bahkan tidak ada koneksi dengan halaman web lain yang berada di luar kelompok tersebut. Pada level global seperti ini, web structure mining dapat menjelaskan popularitas dari sebuah site atau jaraknya dengan site lain. Lebih jauh lagi, dengan web structure mining dapat dipelajari struktur internal dari sebuah site dengan melihat koneksi dan interkoneksi dari halamanhalamannya. Hasil kajian terhadap web content mining, web usage mining, dan web structure mining dapat disimpulkan seperti pada Tabel 3 yang berisi rangkuman bidang kajian web mining. II-25 Tabel 3. Tabel Rangkuman Bidang Kajian Web Mining Definisi Bahan Baku Web structure mining proses mendapatkan pengetahuan dari topologi sebuah web yang mencakup link-link diantara halamanhalaman web set dari hyperlinks yang menghubungkan beberapa dokumen web Web usage mining kajian data mining yang mempelajari behaviour dari pengunjung site Web content mining proses mendapatkan pengetahuan dari content halaman web web access log content halaman web