BAB II DASAR TEORI

advertisement
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
Download