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 oleh

banyak 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 factors

like 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 dan

mempelajari 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 training

2.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 Prediksi

3.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 Prediksi

  j. Form Analisa Prediksi

Gambar 3.13 Form Analisa Prediksi

3.8. Flowchart yang diimplementasikan dalam sistem

Gambar 3.15 Flowchart Proses Penghitungan Prior Probability

  Cara 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 Utama

  Form 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 Data

  Setelah 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.