SKRIPSI Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
PENGGUNAAN DATA MINING DENGAN METODE NAÏVE
BAYESSIAN CLASSIFICATION UNTUK MEMPREDIKSI
SKRIPSI
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
DATA MINING UTILIZING WITH
NAÏVE BAYESSIAN CLASSIFICATION METHOD
FOR 2006/2007 SEASON ENGLISH PREMIER LEAGUE
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Engineering Bachelor Degree
In Informatics Engineering
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.Yogyakarta, 16 Desember 2007 Penulis Andreas Agus Winarno
HALAMAN MOTTO
Untuk segala sesuatu ada masanya, untuk
apapun di bawah langit ada waktunya.
(Pengkhotbah 3:1)
…
Jangan hanya menilai dari satu sudut pandang
…
HALAMAN PERSEMBAHAN
Karya ini saya persembahkan kepada:
….
Yahwe Eloim, Yesus Kristus Tuhan pemilik jiwaku, Bunda Maria Ibuku, St.
Andreas Pelindungku,
….
Kedua orang tuaku yang telah membesarkan, membimbing dan
mendidikku dengan cinta, pengertian, dan kesabaran,
…
Kakak – kakakku, keluarga kecilku, yang akan selalu menyayangi dan
menerimaku apa adanya,
ABSTRAK
Pada setiap hasil pertandingan di liga sepakbola diduga dipengaruhi olehbanyak faktor seperti pelatih dan pemain klub, tempat pertandingan, jadwal
pertandingan, sejarah pertemuan kedua klub yang bertanding, dan lain - lain.Pada tugas akhir ini dibuat aplikasi untuk memprediksi juara liga Inggris
musim 2006/2007. Aplikasi ini akan melakukan proses prediksi terhadap setiap
pertandingan dari jadwal pada musim 2006/2007 berdasarkan data–data
pertandingan selama 5, 6, 7, 8, 9, dan 10 tahun sebelumnya. Algoritma yang akan
digunakan dalam proses prediksi yaitu algoritma Naïve Bayessian, algoritma ini
menggunakan variabel-variabel yang ada pada data training untuk memprediksi
hasil pertandingan ke dalam sebuah kelas. Variabel-variabel yang digunakan pada
aplikasi ini yaitu, tempat pertandingan, waktu pertandingan, dan hasil
pertandingan sebelumnya antar kedua klub yang bertanding. Sedangkan kelas
yang digunakan pada aplikasi ini yaitu menang, seri, atau kalah.Hasil akhir yang diperoleh dari aplikasi ini ialah prediksi klasemen akhir
musim dan besar peluang setiap klub untuk juara. Aplikasi ini dibuat dengan
bahasa pemrograman Java dan basis data MySQL 5.
ABSTRACT
Every result match in football league is influence guess by many factorslike club’s manager and player, place of match, schedule of match, history of
match from both clubs, etc.On this thesis, I make application for predict champion of English premier
league season 2006/2007. This application will predict every match from schedule
on season 2006/2007 based on historical fact of match since five, six, seven, eight,
nine and ten years before season 2006/2007. Algorithm Naïve Bayessian has
choosed to perform that prediction. This algorithm use variables from data
training to predict result match in to a class. The variables are place of match, time
of match, and last result match from both clubs, and the class are win, draw, and
lose.The result of this application is prediction of league table at end season
and probability each club to be champion. Java as programming language and
MySQL as database to make this application.KATA PENGANTAR
Puji dan syukur saya haturkan kepada Tuhan Yesus Kristus, karena atas ijin dan kehendak-Nya saya dapat menyelesaikan tugas akhir ini.
Dalam proses penulisan tugas akhir ini saya menyadari bahwa ada begitu
banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya
masing-masing sehingga tugas akhir ini dapat selesai. Oleh karena itu saya ingin
mengucapkan terima kasih antara lain kepada :1. Bapak Ir. Gregorius Heliarko, S.J., S.S., B.S.T., M.A., M.Sc. selaku Dekan Fakultas Sains dan Teknologi, Universitas Sanata Dharma.
2. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Tugas Akhir dan Dosen Pembimbing Akademik, yang telah banyak memberikan
6. Seluruh staff Sekretariat Teknik, yang banyak membantu saya dalam urusan administrasi akademik terutama menjelang ujian tugas akhir.
7. Staf laboran Teknik Informatika, Terima kasih kepada Pak Bele atas bantuan-bantuan dan informasinya, Mas Danang atas pinjaman obengnya, Pak Dar atas doa, senyum, wejangan-wejangan tentang pengalaman hidup, serta kesabarannya. Sekali lagi terima kasih atas kerja sama dan semua bantuannya terutama selama kita menjadi partner sebagai laboran.
8. Bapak dan Ibu tercinta. Terima kasih atas semua yang telah dilakukan untukku, doa, semangat, dukungan dan cintanya sehingga saya bisa menyelesaikan studi dengan lancar. Semoga saya bisa membalas cinta tulus kalian.
9. Kakak-kakakku. Walau kita sering berjauhan tapi aku selalu sayang pada
12. Teman-teman kost Ibu Siti : Gasong, S.T., Peteka, S.T., Gento, Mambu, S.Pd., Natan, Gemblung, Kentung, Agus. Terima kasih atas hari–hari yang selalu diisi dengan WE9. Keberadaan kalian telah memberikan warna-warni dalam hidupku.
13. Teman-temanku dari Bekasi yang kuliah di Jogja, Udhay, Benny, Bibir, Oscar, Sudung, Kumis, Arbi, Sugeng, Otonx, Bayu, Lucy, Efran, Davied, Babang dan semua yang tersebutkan namanya. coz we’re all family, remember us until the sun can’t shine anymore.... .
14. Seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir ini yang tidak bisa saya sebutkan satu per satu.
Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari
sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir
DAFTAR ISI
HALAMAN JUDUL ................................................................................................. i
HALAMAN PERSETUJUAN .................................................................................. iii
HALAMAN PENGESAHAN ................................................................................... iv
PERNYATAAN KEASLIAN KARYA ................................................................... v
HALAMAN MOTTO ............................................................................................... vi
HALAMAN PERSEMBAHAN ............................................................................... vii
ABSTRAK.................................................................................................................. viii
ABSTRACT .............................................................................................................. ix
KATA PENGANTAR .............................................................................................. x
DAFTAR ISI ............................................................................................................ xiii
BAB II. LANDASAN TEORI
2.1
6 Data Mining .......................................................................................
2.2
10 Classification dalam data mining.......................................................
2.3
12 Metode Naive Bayesian Classification ..............................................
2.3.1
12 Sejarah Thomas Bayes .........................................................
2.3.2
13 Teorema Bayes ....................................................................
2.3.3
14 Naive Bayesian ....................................................................
BAB III. ANALISIS DAN DESAIN SISTEM
3.1
16 Analisis Sistem ..................................................................................
3.2
17 Use Case Diagram .............................................................................
BAB V. ANALISIS HASIL
5.1
72 Analisis Hasil Program ......................................................................
5.2
77 Kelebihan dan Kekurangan Sistem ....................................................
5.2.1
77 Kelebihan Sistem ............................................................
5.2.2
77 Kekurangan Sistem .........................................................
BAB VI. PENUTUP
6.1
78 Kesimpulan ........................................................................................
6.2
79 Saran ..................................................................................................
DAFTAR PUSTAKA
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Tahap-Tahap Pada KDD
9
3.1 Use Case Diagram
17
3.2 Class Diagram
18
3.3 E-R Diagram
19
3.4 Form Menu Utama
35
3.5 Form Browse Data Musim
36
3.6 Form Browse Data Jadwal
37
3.7 Form Browse Data Hasil Pertandingan
38
3.8 Form Browse Data Klub
39
4.3 Form Clean Data
61 Form Prediksi (Proses penghitungan prior probability dan
4.4 62
likelihood)
4.5 Form Prediksi (Proses Prediksi)
63
4.6 Form Hasil Prediksi
64
4.7 Form Detil Prediksi
65
4.8 Form Analisa Prediksi
66
4.9 Form Detil Analisa Prediksi
67
4.10 Form Browse Data Klub
68
4.11 Form Browse Data Jadwal
69
4.12 Form Browse Data Musim
70
4.13 Form Browse Data Hasil Pertandingan
71
DAFTAR TABEL
Tabel Keterangan Halaman
3.1 Propertis dari tabel Musim
20
3.2 Propertis dari tabel Klub
20
3.3 Propertis dari tabel Stadion
21
3.4 Propertis dari tabel Hasil_Pertandingan
21
3.5 Propertis dari tabel Jadwal
21
3.6 Propertis dari tabel Training
22
3.7 Propertis dari tabel Cleaning
22
3.8 Propertis dari tabel naive_bayes
23
3.9 Propertis dari tabel Prediksi
24
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Saat musim 2006/2007 Liga Inggris (FA Premier League) akan bergulir,
pasar taruhan sepakbola di Eropa khususnya di Inggris memprediksi klub mana
yang akan menjadi juara di liga tersebut. Dengan adanya prediksi kita dapat
menjagokan suatu klub di bursa taruhan pada musim liga ini.Variabel-variabel yang diduga dapat digunakan untuk memprediksi juara
Liga Inggris musim 2006/2007 yaitu, pemain dan pelatih klub, keletihan pemain,
pemain yang cidera, tempat pertandingan berlangsung (home/away), musim saat
pertandingan (summer, autumn, winter, spring), hasil pertandingan sebelumnya
1.2 Rumusan Masalah Dalam Tugas Akhir ini dapat dirumuskan beberapa rumusan masalah sebagai berikut, yaitu a.
Bagaimana mengimplementasikan Naive Bayesian Classification untuk memprediksi hasil dari setiap pertandingan sehingga juara liga utama Inggris dapat diprediksi? b. Menganalisa keakuratan metode Naive Bayesian Classification dalam memprediksi juara Liga Inggris musim 2006/2007.
1.3 Batasan Masalah Permasalahan dalam tugas akhir ini dibatasi pada pembuatan program yang dapat menyelesaikan masalah di atas, dengan batasan-batasan yaitu dengan 2005/2006 yang mengandung 2 klub divisi utama musim 2006/2007 saling berlawanan.
d.
Untuk membandingkan hasil prediksi, maka prediksi dilakukan sebanyak 6 kali dengan kondisi 5, 6, 7, 8, 9, 10 tahun sebelum kompetisi musim
2006/2007, semua hasil prediksinya disimpan di dalam basis data.
1.4 Tujuan Penelitian
Tugas Akhir ini mempunyai tujuan penelitian, yaitu menerapkan algoritma
Naive Bayesian sebagai salah satu metode Classification Data Mining untuk
menganalisis statistik pertandingan liga sepakbola Inggris agar dapat memprediksi
setiap pertandingan musim 2006/2007, sehingga juara Liga Inggris musim
2006/2007 dapat diprediksi.1.6 Metode Penelitian
Metode penelitian yang digunakan untuk membuat tugas akhir ini adalah:
a. Penelitian pustaka, yaitu dengan mempelajari hal-hal yang berkaitan dengan Data Mining metode Naive Bayesian, dengan mengumpulkan danmempelajari informasi dari buku-buku, artikel dan website internet.
b.
Interview, yaitu dengan melakukan konsultasi atau tanya jawab dengan orang-orang yang memiliki pengetahuan dan wawasan yang berhubungan dengan topik tugas akhir ini.
c.
Penelitian dan pengumpulan data statistik liga sepakbola Inggris dari internet.
d.
Melakukan proses Selection, yaitu mencari sekumpulan target data dari database untuk dikenai proses Knowledge Discovery.
1.7 Sistematika Penulisan
BAB I PENDAHULUAN Bab ini berisi penjelasan latar belakang penulis mengambil topik, rumusan masalah, batasan masalah, tujuan penelitian, metode penelitian, serta sistematika penulisan laporan.
BAB II LANDASAN TEORI Bab ini berisi penjelasan tentang prinsip dan konsep dasar yang diperlukan untuk memecahkan masalah yang dibahas pada Bab I. BAB III ANALISIS DAN PERANCANGAN SISTEM Bab ini membahas mengenai sumber data, use case, perancangan
dimensional database , kamus data, contoh perhitungan metode Naive Bayessian , perancangan antar muka, dan flowchart aplikasi
BAB II LANDASAN TEORI 2.1. Data Mining Data mining juga dikenal dengan sebutan Knowledge Discovery in Databases (KDD) didefinisikan sebagai proses pengekstraksian secara implisit
yang tidak mudah, yang sebelumnya tidak diketahui dan merupakan informasi
1 yang potensial dari data .
Data mining adalah sekumpulan aktifitas yang dilakukan untuk menggali
pengetahuan dari kumpulan data agar didapatkan model yang berarti. Dua tujuan
utama yang diperoleh dari data mining yaitu uraian (description) dan prediksi
(prediction). Oleh karena itu ada kemungkinan aktifitas data mining diarahkan ke b.
Regression adalah proses penemuan model yang bersifat prediksi dan mampu
memetakan data item dengan sebuah angka nyata (real value) dari nilai variabel ramalan.c.
Clustering adalah suatu tugas deskriptif umum yang dipakai orang untuk
mencari serta mengidentifikasi suatu himpunan yang terbatas untuk cluster kategorial sehingga dapat menguraikan data.d.
Summarization adalah suatu tugas deskriptif tambahan yang melibatkan
metode untuk penemuan sebuah uraian ringkas dari keseluruhan atau sebagian data.e.
Dependecy Modeling adalah menemukan perubahan dan penyimpangan yang
paling penting dalam data.Proses KDD dapat dilihat pada gambar 2.1 dengan langkah-langkah untuk menangani field data yang hilang, dan menghitung informasi berdasarkan waktu dan perubahan.
4. Langkah keempat yaitu Data Reduction and Projection. Mencari ciri-ciri yang berguna untuk merepresentasikan ketergantungan data dengan tujuan dari tugas. Dengan pengurangan dimensi atau perubahan metode, jumlah variabel yang efektif dibawah pertimbangan apakah dapat di dikurangi atau representasi yang tidak berbeda untuk data dapat ditemukan.
5. Langkah kelima ialah mencocokan tujuan dari proses KDD (pada langkah 1) untuk sebuah metode data mining yang khusus. Contohnya, summarization, classification , regression, clustering, dan yang lainnya, seperti yang dijelaskan oleh Fayyad, Piatetsky-Shapiro, and Smyth (1996).
6. Langkah yang keenam ialah Exploratory Analysis, Modelling and Hypotesis
clustering . Pengguna dapat sangat membantu metode data-mining dengan cara melakukan langkah sebelumnya dengan tepat.
8. Langkah kedelapan ialah menafsirkan pola yang telah digali, mungkin kembali ke salah satu dari langkah 1 sampai 7 iterasi lebih jauh. Langkah ini dapat juga melibatkan visualisasi dari pola yang sudah digali dan pemodelan
atau visualisasi dari data yang berasal dari model-model yang sudah digali.
9. Langkah kesembilan ialah melakukan tindakan pada discovered knowledge: menggunakan knowledge secara langsung, menggabungkan knowledge ke dalam sistem yang lain untuk tindakan lebih lanjut, atau melakukan dokumentasi sederhana dan membuat laporan untuk pihak yang tertarik.
Proses ini juga meliputi pengecekan untuk memecahkan konflik potensial dengan sebelumnya mempercayai knowledge.
2.2. Classification dalam data mining
Classification adalah proses penemuan model yang bersifat prediksi yang
menggolongkan data item ke dalam beberapa kelas yang sudah dikenal.
Classification didasarkan pada algoritma induktif yang memberikan inputan
berupa kumpulan sampel yang terdiri dari atribut–atribut dan kelas–kelas yang
sama. Classification mempunyai beberapa macam metode yang dapat disesuaikan
dengan kebutuhan aplikasi yang akan dibangun.Beberapa metode classification yang sering digunakan adalah sebagai berikut: a.
Classification by decision tree induction Decision tree ialah sebuah flow chart yang seperti struktur pohon dimana
Naive Bayesian adalah klasifikasi model secara statistik. Naive Bayesian memprediksi dengan cara menghitung probabilitas tiap nilai pada atribut untuk kelas tertentu, prediksi dilakukan dengan penghitungan secara statistik dengan sumber nilai pada atribut dari data-data yang ingin diprediksi.
c.
Associative Classification Model Dalam penelitian data mining aturan associative adalah sebuah aturan yang sangat penting untuk memecahkan berbagai masalah dalam klasfikasi dan memiliki aktivitas tinggi dan pengembangannya. Associative Classification Model memiliki algoritma yang banyak dan masing–masing algoritma memiliki kelebihan dan kekurangan maupun kecocokan untuk diterapkan pada suatu kasus.
d.
Classification by neural network diberikan maka sebuah klasifier k–nearest neighbour mencari bentuk untuk k sampel uji yang paling dekat dengan sampel baru. K–Nearest Neighbour Classifiers dapat digunakan untuk memprediksi sampel uji dan mengklasifikasikan ke dalam kelas dari titik didekatnya.
2.3. Metode Naive Bayesian Classification 2.3.1. Sejarah Thomas Bayes
Pendeta Thomas Bayes (1702-1761) adalah seorang ahli theologi dan
matematika. Dimotivasi oleh kepercayaan religiusnya, dia menggagas argumen
mengenai keberadaan Tuhan yang dikenal dengan argument by design. Pada
dasarnya, isi argumen tersebut ialah : “tanpa mengasumsikan keberadaan akan
Tuhan, operasi dalam jagat raya adalah tidak sangat tidak mungkin, oleh karena
Statement umum dari Teorema Bayes adalah fakta dari seorang
mengkonfirmasi kemungkinan dari hipotesis hanyalah tingkat kemunculan dari
fakta tersebut dapat lebih mungkin terjadi dengan asumsi dari hipotesis
dibandingkan tanpa asumsi. Secara khusus didapatkan sebagai berikut :P ( D | h ) P ( h )
P ( h | D ) ............... Rumus 2.1
=P ( D ) dimana : D adalah himpunan training data. h adalah hipotesis. P(h | D) adalah posterior probability, Contoh : kondisi kemungkinan dari hipotesis h setelah training data (evidence) muncul.
P(h) adalah prior probability dari hipotesis h. Kuantitas non-klassikal ini
sering ditemukan dengan melihat data dari masa lampau (atau dalam training2.3.3. Naive Bayesian
Dengan asumsi Naive Bayesian dimana atribut – atribut dari training data
dianggap terpisah dan independen maka rumus 2.1 berubah menjadi seperti
dibawah ini.P ( D | h ) P ( D | h )... P ( D | h ) P ( h )
1 2 n
P ( h | D ) ............... Rumus 2.2
= P ( D )
D adalah himpunan training data h adalah hipotesis
P(h | D) adalah probabilitas dari hipotesis h setelah evidence D muncul atau
sering disebut posterior probability.
P(h) adalah probabilitas dari hipotesis h sebelum evidence D muncul atau
sering disebut prior probability.Jika dalam memprediksi ada evidence pada test data yang tidak diketahui, maka atribut itu tidak perlu dimasukan dalam proses perhitungan prediksi.
BAB III ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Sistem yang dibuat akan memiliki kemampuan untuk memprediksi
menggunakan metode Naive Bayesian Classification. Sistem ini tidak
memerlukan inputan sumber data dari user, karena diasumsikan sumber data
untuk memprediksi sudah tersimpan pada database. Sehingga user hanya perlu
memasukkan inputan berupa lamanya sumber data yang akan digunakan untuk
memprediksi dalam tahun. Pilihan inputan tersebut hanya ada lima, yaitu 5, 6, 7,
8, 9, 10 tahun sebelum musim 2006/2007. Selanjutnya program yang akan
meneruskan proses prediksi dengan bantuan dari user yang berupa inputan maka data harus direkap secara manual ke dalam file dengan format CSV, agar dapat dimigrasikan ke database.
b. keadaan iklim/musim di Inggris diambil dari Data http://www.woodlands- junior.kent.sch.uk/customs/questions/weather/seasons.htm.
c. Data jadwal musim 2006/2007 yang diambil dari
http://www.premierleague.com
d. http://www.premierleague.com dan Data klub diambil dari http://www.4thegame.com/football-statistics/
3.2. Use Case Diagram
18
3.3. Class Diagram
3.4. E-R Diagram
3.5. Desain Database
Sistem ini dirancang dengan 9 tabel, yaitu tabel Musim, Klub, Stadion, Hasil_Pertandingan, Jadwal, Training, Cleaning, Naive_Bayes, Prediksi.
Tabel 3.1 Propertis dari tabel Musim!
Tabel 3.2 Propertis dari tabel KlubTabel 3.3 Propertis dari tabel Stadion'
Tabel 3.4 Propertis dari tabel Hasil_Pertandingan(
Tabel 3.6 Propertis dari tabel TrainingTabel 3.7 Propertis dari tabel CleaningTabel 3.8 Propertis dari tabel naive_bayes- )
- ! , ! ) ) ) ) ) )
)
) ) ) )
) ) ) ) ) )
Tabel 3.9 Propertis dari tabel Prediksi3.6. Perhitungan menggunakan algoritma Naive Bayesian
Contoh penerapan algoritma Naïve Bayesian untuk memprediksi hasil
pertandingan antara dua klub Arsenal dan Aston Villa dari salah satu sisi klub
yaitu Arsenal, ialah sebagai berikut.Pada musim 2006/2007 kedua klub tersebut dijadwalkan dua kali bertemu yaitu seperti pada tabel 3.10.
Tabel 3.10 Jadwal Arsenal vs Aston Villa Musim 2006/2007 $ ) ./ 0
1 2 !
3 4 % *
4
3
3 Langkah selanjutnya ialah : 1.
Proses Seleksi
Tabel 3.11 Data Training Arsenal vs Aston Villa dalam 5 tahun sebelum 2006/2007 .5 5 * / 2 ! 3 "
3 * 4 %
3
/ 2 ! 3 "3 * & 0 "
3
4 0 " 2 !3 6 $ & 3 3 * 1 7 & 2 ! 3 "
8
8
3 * 3 "
8
3 * "
3
1 2 !
3
8 b.
Tabel Klub Tabel ini berisi data-data klub yang bersangkutan, hal yang terpenting dari tabel ini ialah untuk mengetahui stadion tempat bermarkasnya klub tersebut. Tabel ini sudah dijelaskan pada bagian
3.5. Dengan bantuan kedua tabel itu, maka proses cleaning dapat
dilaksanakan. Langkahnya selanjutnya ialah sebagai berikut, untuk
setiap barisnya ulangi keempat langkah dibawah ini.a.
Lakukan pencocokan isi field stadion dengan stadion milik klub
yang akan diprediksi, bila cocok maka field tempat pada tabel clean diisi dengan Home, bila tidak cocok isi dengan Away.b.
Lakukan pencocokan isi field tanggal_pertemuan dengan isi field d.
Lakukan perhitungan mencari selisih antara gol milik klub yang akan diprediksi dengan gol milik klub lawannya pada baris tersebut. Bila selisih lebih dari 0 maka isi field hasil dengan WIN, bila selisih sama dengan 0 maka isi field hasil dengan DRAW, bila kurang dari 0 maka isi field hasil dengan LOSE.
Setelah proses cleaning selesai dilakukan maka terbentuklah
tabel cleaning antara Arsenal vs Aston Villa seperti pada tabel 3.12.
Tabel 3.12 Tabel Cleaning Arsenal vs Aston Villa% ,%- , - 2 . ! ,2.- 2 ,2- 9+ :( 27%: (09 9+ .*(+ 5 090; 9+ 9+ % 27%: 9+ 9+ .*(+ 5 090; 9+ (09 a.
Prior Probability : i.
Class (Hasil)
- ,2<9+ - < 6= *,2< (09- < = *,2<'7.:- < = b.
Likelihood : i.
Tempat
- , <27%:>2 < 9+ - < 8=6 *, <090;>2 < 9+ - < "=6
- , <27%:>2 < (09- < = *, <090;>2< (09- < =
- , <27%:>2 < '7.:- < = *, <090;>2<'7.:- < = ii.
Musim
*,%<.*(+ 5>2<9+ - < =6 *,%<9+ :(>2<9+ - < "=6
*,%<.*(+ 5 >2< (09- < = *,%<9+ :(>2< (09- < =
*,%<.*(+ 5 >2<'7.:- < = *,%<9+ :(>2<'7.:- < =
*,%<0 % >2<9+ - < =6 *,%<. %%:(>2<9+ - < =6
LAPLACE ESTIMATOR
Bila ada nilai yang bernilai 0, maka dilakukan penambahan
nilai satu pada setiap evidence sehingga tidak ada yang akan bernilai 0.
Berikut ialah nilai prior probability dan likelihood setelah laplace
estimator.a.
Prior Probability : i.
Class (Hasil)
*,2<9+ - < /= " *,2< (09- < "= " *,2<'7.:- < = "
b.
Likelihood : i.
Tempat
- , <27%:>2 < 9+ - < 1= *, <090;>2 < 9+ - < &=
- , <27%:>2 < (09- < =& *, <090;>2< (09- < "=&
- , <27%:>2 < '7.:- < = *, <090;>2<'7.:- < =
- ,2.< (09>2< (09- < =8
- ,2.< (09>2<'7.:- < ="
- ,2.<'7.:>2<9+ - < =
- ,2.<'7.:>2< (09- < =8
- ,2.<'7.:>2<'7.:- < =" 4.
Proses Prediksi Setelah mendapatkan nilai-nilai prior probability dan likelihood , kita dapat memprediksi hasil pertandingan dari jadwal pada tabel 3.10.
a.
Lakukan langkah-langkah seperti pada proses cleaning pada tabel 3.10 sehingga didapatkan bentuk jadwal seperti berikut :
Tabel 3.13 Tabel jadwal setelah di-cleaning= 27/715 ≈ 0.03776 ii. P(DRAW|X) = P(X|DRAW) * P(H=DRAW)
= P(M=SUMMER|H=DRAW) * P(T=HOME|H=DRAW) * P(HS=WIN|H=DRAW) * P(H=DRAW) = 1/6 * 1/4 * 3/5 * 3/13 = 3/520 ≈ 0.00577 iii.
P(LOSE|X) = P(X|LOSE) * P(H=LOSE)
= P(M=SUMMER|H=LOSE) * P(T=HOME|H=LOSE) * P(HS=WIN|H=LOSE) * P(H=LOSE) = 1/4 * 1/2 * 1/3 * 1/13 c.
Ulangi langkah b untuk jadwal Y. i.
P(WIN|Y) = P(Y|WIN) * P(H=WIN) = P(M=SPRING|H=WIN) * P(T=AWAY|H=WIN) * P(HS=DRAW|H=WIN) * P(H=WIN) = 3/12 * 4/10 * 4/11 * 9/13 = 18/715 ≈ 0.02517 ii.
P(DRAW|Y) = P(Y|DRAW) * P(H=DRAW) = P(M=SPRING|H=DRAW) * P(T=AWAY|H=DRAW) * P(HS=DRAW|H=DRAW) * P(H=DRAW)
Jadi prediksi untuk jadwal Y ialah : Prosentase prediksi WIN = 0.02517/(0.02517+0.01154+0.00321) * 100% = 63.07 %,
Prosentase prediksi DRAW = 0.01154/(0.02517+0.01154+0.00321)
- * 100% = 28.90 %,
Prosentase prediksi LOSE = 0.00321/(0.02517+0.01154+0.00321) *
100% = 8.03 %,Maka, Arsenal diprediksikan akan menang saat melawan Aston Villa
pada jadwal Y.3.7. Desain User Interface
Dalam analisis sistem ini, user dapat melihat isi data-data pada tabel klub, musim, jadwal dan hasil pertandingan. Pada program utama, user dapat melakukan prediksi berdasarkan lama data yang dipilih untuk melakukan prediksi.
a. Form Menu Utama
b. Form Browse Data Musim
c. Form Browse Data Jadwal
d. Form Browse Data Hasil Pertandingan
e. Form Browse Data Klub
f. Form Load Data
g. Form Clean Data
h. Form Prediksi
i. Form Hasil Prediksi
Gambar 3.12 Form Hasil Prediksij. Form Analisa Prediksi
Gambar 3.13 Form Analisa Prediksi3.8. Flowchart yang diimplementasikan dalam sistem
Gambar 3.15 Flowchart Proses Penghitungan Prior ProbabilityCara kerja sistem ini dapat digambarkan seperti pada gambar 3.14, yaitu
diawali dengan user memilih lama data untuk menyaring sumber data untuk
memprediksi. Kemudian proses load data mentah dari basisdata akan dilakukan,
setelah itu dilakukan proses pembentukan data training, dan dilanjutkan dengan
proses cleaning untuk memudahkan pada proses selanjutnya.Setelah data training sudah di-cleaning, maka proses penghitungan prior
probability dan likelihood untuk setiap atribut dan kelas dapat dilakukan. Apabila
dalam proses ini ditemukan kemungkinan pada attribut atau class yang bernilai 0
maka dilakukan proses Laplace Estimator, seperti terlihat pada gambar 3.15.Untuk memulai proses prediksi, diperlukan jadwal yang telah disesuaikan
bentuknya seperti data training yang disebut data test. Selanjutnya tinggal
menghitung setiap kemungkinan menang, seri, atau kalah. Dari proses ini dapat
BAB IV IMPLEMENTASI SISTEM Pada bab ini akan dibahas bagaimana pengimplementasian sistem dari
tahap analisis dan desain ke dalam bahasa pemrograman, serta proses ilustrasi
pengujian sistem.4.1. Spesifikasi Software dan Hardware yang digunakan
Sistem ini dibuat dengan spesifikasi Software dan Hardware sebagai berikut.
1. Spesifikasi Software a. Sistem Operasi Microsoft Windows XP Professional SP 2.
4.2. Koneksi Basisdata dengan sistem
Koneksi pada sistem ini menggunakan teknologi persistence dengan
library TopLink dari Oracle, namun sistem ini menggunakan MySQL 5.0 sebagai
basisdata. Tabel-tabel yang dibutuhkan untuk membangun sistem ini ialah sebagai
berikut.1. Tabel Klub Tabel klub digunakan untuk menyimpan data-data setiap klub. Tabel klub dibuat dengan sintaks SQL sebagai berikut:
CREATE TABLE `klub` ( `kode_klub` varchar(10) NOT NULL, `nama_klub` varchar(30) NOT NULL, `peringkat` int(2) NOT NULL default '0', `julukan` varchar(30) NOT NULL, `manajer` varchar(100) NOT NULL, `tahun_berdiri` varchar(4) NOT NULL default '0000', `divisi` varchar(100) NOT NULL, `logo` longblob NOT NULL, `kode_stadion` varchar(10) NOT NULL, PRIMARY KEY (`kode_klub`), KEY `FK_klub_1` (`kode_stadion`),
3. Tabel Musim
Tabel musim digunakan untuk menyimpan data-data musim yang
terjadi di Inggris. Tabel musim dibuat dengan sintaks SQL sebagai
berikut:CREATE TABLE `musim` ( `kode_musim` varchar(10) NOT NULL, `nama_musim` varchar(10) NOT NULL, `bulan_mulai` varchar(20) NOT NULL, `bulan_selesai` varchar(20) NOT NULL, PRIMARY KEY (`kode_musim`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1
4. Tabel Jadwal
Tabel jadwal digunakan untuk menyimpan data-data jadwal
pertandingan pada musim 2006/2007. Tabel jadwal dibuat dengan
sintaks SQL sebagai berikut:CREATE TABLE `jadwal` ( `kode_jadwal` varchar(10) NOT NULL,
`kode_stadion` varchar(10) NOT NULL, `kode_klub1` varchar(10) NOT NULL, `kode_klub2` varchar(10) NOT NULL, `gol1` int(2) unsigned NOT NULL, `gol2` int(2) unsigned NOT NULL, PRIMARY KEY (`kode_pertandingan`), KEY `FK_hasil_pertandingan_1` (`kode_klub1`), KEY `FK_hasil_pertandingan_3` (`kode_stadion`), KEY `FK_hasil_pertandingan_2` (`kode_klub2`), CONSTRAINT `FK_hasil_pertandingan_1` FOREIGN KEY (`kode_klub1`) REFERENCES `klub` (`kode_klub`), CONSTRAINT `FK_hasil_pertandingan_2` FOREIGN KEY (`kode_klub2`) REFERENCES `klub` (`kode_klub`), CONSTRAINT `FK_hasil_pertandingan_3` FOREIGN KEY (`kode_stadion`) REFERENCES `stadion` (`kode_stadion`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1
6. Tabel Training Tabel training digunakan untuk menyimpan data traning yang digunakan satu kali untuk satu proses prediksi. Tabel training dibuat dengan sintaks SQL sebagai berikut:
CREATE TABLE `training` ( `id_training` int(10) unsigned NOT NULL, `tanggal_pertandingan` date NOT NULL, `kode_stadion` varchar(10) NOT NULL, `kode_klub1` varchar(10) NOT NULL,
8. Tabel Naïve Bayes Tabel naïve bayes digunakan untuk menyimpan semua data dari proses perhitungan prior probability dan likelihood dari data cleaning. Tabel naïve bayes dibuat dengan sintaks SQL sebagai berikut:
CREATE TABLE `naive_bayes` ( `id` int(11) unsigned NOT NULL auto_increment, `kode_klub_prediksi` varchar(10) NOT NULL, `kode_klub_lawan` varchar(10) NOT NULL, `laplace_estimator` tinyint(1) NOT NULL, `lama_data` int(11) NOT NULL, `banyak_sample` int(11) NOT NULL, `kelas_win` int(11) NOT NULL, `kelas_draw` int(11) NOT NULL, `kelas_lose` int(11) NOT NULL, `win_win` int(11) NOT NULL, `win_draw` int(11) NOT NULL, `win_lose` int(11) NOT NULL, `draw_win` int(11) NOT NULL, `draw_draw` int(11) NOT NULL, `draw_lose` int(11) NOT NULL, `lose_win` int(11) NOT NULL, `lose_draw` int(11) NOT NULL, `lose_lose` int(11) NOT NULL, `home_win` int(11) NOT NULL, `home_draw` int(11) NOT NULL, `home_lose` int(11) NOT NULL, `away_win` int(11) NOT NULL, `away_draw` int(11) NOT NULL,
9. Tabel Prediksi Tabel prediksi digunakan untuk menyimpan semua hasil prediksi dari semua jadwal. Tabel prediksi dibuat dengan sintaks SQL sebagai berikut:
CREATE TABLE `prediksi` ( `kode_prediksi` varchar(10) NOT NULL, `kode_naive_bayesian` int(11) unsigned NOT NULL, `kode_jadwal` varchar(10) NOT NULL, `kode_klub` varchar(10) NOT NULL, `laplace_estimator` tinyint(1) NOT NULL, `prediksi_hasil` varchar(10) NOT NULL, `prediksi_poin` int(1) unsigned NOT NULL, PRIMARY KEY (`kode_prediksi`), KEY `FK_prediksi_1` (`kode_jadwal`), KEY `FK_prediksi_2` (`kode_klub`), KEY `FK_prediksi_naive` (`kode_naive_bayesian`), CONSTRAINT `FK_prediksi_1` FOREIGN KEY (`kode_jadwal`) REFERENCES `jadwal` (`kode_jadwal`), CONSTRAINT `FK_prediksi_2` FOREIGN KEY (`kode_klub`) REFERENCES `klub` (`kode_klub`), CONSTRAINT `FK_prediksi_naive` FOREIGN KEY (`kode_naive_bayesian`) REFERENCES `naive_bayes` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1
Untuk menerapkan teknologi persistence, maka hal-hal yang dibutuhkan
<class>my.entity.Musim</class> <class>my.entity.NaiveBayes</class> <properties> <property name="toplink.jdbc.user" value="agus"/> <property name="toplink.jdbc.password" value="agus"/> <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/ta"/> <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/> </properties> </persistence-unit> </persistence>
File ini berfungsi sebagai deskriptor dari persistence itu sendiri, file ini mencatat class yang berfungsi sebagai mapping table dari tabel- tabel pada basis data. Selain itu juga mencatat nama user, password, dan host dari basisdatanya, dan juga mencatat class yang digunakan sebagai konektor dari Java ke MySQL.
Sedangkan file yang berekstensi dbschema dicatat dengan nama
Persistence_SAPU
, tetapi dalam package META-INF file tersebut bernama Persistence_SA.dbschema.
2. Entity Class
@Column(name = "lokasi") private String lokasi; @OneToMany(cascade = CascadeType.ALL, mappedBy = "kodeStadion") private Collection<Klub> klubCollection; public Stadion() { } public Stadion(String kodeStadion) { this.kodeStadion = kodeStadion; } public Stadion(String kodeStadion, String namaStadion) { this.kodeStadion = kodeStadion; this.namaStadion = namaStadion; } public String getKodeStadion() { return this.kodeStadion; } public void setKodeStadion(String kodeStadion) { this.kodeStadion = kodeStadion; } public String getNamaStadion() { return this.namaStadion; } public void setNamaStadion(String namaStadion) { this.namaStadion = namaStadion; } public Integer getKapasitas() { di tabel stadion. Bandingkan dengan perintah DDL untuk tabel stadion dibawah ini.
CREATE TABLE `stadion` ( `kode_stadion` varchar(10) NOT NULL, `nama_stadion` varchar(100) NOT NULL, `kapasitas` int(10) unsigned default NULL, `lokasi` varchar(100) default NULL, PRIMARY KEY (`kode_stadion`) )
4.3. Pembuatan Antar Muka
Antar muka atau lebih dikenal dengan sebutan GUI merupakan tampilan
yang langsung berinteraksi dengan user. Antar muka untuk aplikasi program ini
ialah sebagai berikut :1. Form Menu Utama Form menu utama merupakan form yang pertama kali muncul dan berfungsi sebagai pusat aktivitas dari program ini. Form ini
Gambar 4.1 Form Menu UtamaForm ini berisikan menu-menu yang dapat dipilih untuk menuju Menu ini digunakan untuk melihat data-data klub. ii. Schedule Centre Menu ini digunakan untuk melihat data-data jadwal musim
2006/2007.
iii. Season Weather Centre Menu ini digunakan untuk melihat data-data musim (iklim).
iv. Match Centre Menu ini digunakan untuk melihat data-data hasil pertandingan yang ada di basisdata.
c. Help berisi dua sub menu yaitu : i. Help Content Menu ini digunakan untuk melihat petunjuk penggunaan
Gambar 4.2 Form Load DataSetelah user menginputkan lama data maka program akan cleaning nampak pada gambar 4.3, sedangkan implementasi proses ini terdapat pada lampiran 2.
gambar 4.4, sedangkan implementasi proses ini terdapat pada lampiran 3. b. Proses prediksi Proses ini melakukan prediksi pada setiap jadwal dari satu sisi klub. Gambar 4.5 menunjukan berlangsungnya proses ini, sedangkan implementasi proses prediksi ini terdapat pada lampiran
4.
5. Form Hasil Prediksi Form ini merupakan kelanjutan dari form prediksi, form ini berisi informasi hasil prediksi yang berupa klasemen akhir dan prosentase juara untuk setiap klub.