145
i Klasifikasi Data Penerimaan Mahasiswa Baru dan Prestasi Akademik Mahasiswa Jurusan Teknik Informatika Universitas Sanata Dharma dengan Menggunakan Algoritma Naive Bayesian Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Informatika Oleh : Asteria Indharlina 065314052 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

i

Klasifikasi Data Penerimaan Mahasiswa Baru dan Prestasi Akademik

Mahasiswa Jurusan Teknik Informatika Universitas Sanata Dharma

dengan Menggunakan Algoritma Naive Bayesian

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik Jurusan Informatika

Oleh :

Asteria Indharlina

065314052

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2010

Page 2: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

ii

Classification of Student Admission Data and Academic Data

of Informatics Engineering Student of Sanata Dharma University

Using Naive Bayesian Algorithm

A Thesis

Presented as Partial Fullfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Study Program of Informatics Engineering

By :

Asteria Indharlina

Student Number : 065314052

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2010

Page 3: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

iii

HALAMAN PERSETUJUAN

SKRIPSI

Klasifikasi Data Penerimaan Mahasiswa Baru dan Prestasi Akademik

Mahasiswa Jurusan Teknik Informatika Universitas Sanata Dharma

dengan Menggunakan Algoritma Naive Bayesian

Disusun Oleh :

Asteria Indharlina

065314052

Telah Disetujui Oleh :

Pembimbing

P. H. Prima Rosa, S.Si., M.Sc. Tanggal September 2010

Page 4: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

iv

SKRIPSI

Klasifikasi Data Penerimaan Mahasiswa Baru dan Prestasi Akademik Mahasiswa Jurusan Teknik Informatika Universitas Sanata Dharma

dengan Menggunakan Algoritma Naive Bayesian

Yang Dipersiapkan dan Disusun Oleh : Asteria Indharlina NIM : 065314052

Telah dipertahankan di depan Tim Penguji Pada tanggal 3 September 2010 Dan dinyatakan memenuhi syarat

Susunan Tim Penguji

Tanda Tangan

Ketua : P. H. Prima Rosa, S.Si., M.Sc. ---------------------------------

Sekretaris : Eko Hari Parmadi, S.Si., M.Kom. ---------------------------------

Anggota : Alb. Agung Hadhiatma, S.T., M.T. --------------------------------

Yogyakarta, September 2010

Fakultas Sains dan Teknologi

Universitas Sanata Dharma

Dekan,

(Yosef Agung Cahyanta, S.T., M.T.)

Page 5: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

v

“Orang yang banyak perjalannya, banyak pula pengetahuannya,

dan yang banyak pengalamannya mengucapkan pengertian.

Orang yang tidak berpengalaman hanya mengetahui sedikit,

Sedangkan orang yang banyak perjalannya

mengumpulkan kecerdikan besar”

Sirakh 34: 9-10

Kupersembahkan Untuk :

Tuhan Yesus Kristus

Keluarga Tercinta

Sahabat Terkasih

Page 6: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak

memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam

kutipan dan daftar pustaka, sebagaimana layaknya karya ilimiah.

Yogyakarta, 27 September 2010

Penulis

Asteria Indharlina

Page 7: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

vii

ABSTRAK

Ada beberapa faktor kunci keberhasilan seorang mahasiswa dalam menempuh studi,

diantaranya adalah potensi akademik, motivasi, dan latar belakang mahasiswa tersebut. Potensi

akademik bisa tercermin dalam nilai tes masuk, motivasi bisa tercermin dalam gelombang tes

masuk dan prioritas pilihan prodi. Sedangkan latar belakang akademik bisa tercermin dari

jurusan ketika di SMA.

Universitas Sanata Dharma sudah mempunyai data-data kemahasiswaan yang mencakup

data penerimaan mahasiswa baru (PMB) dan data prestasi akademik mahasiswa dalam bentuk

digital. Dalam skripsi ini, data digital tersebut bisa dimanfaatkan untuk diolah menggunakan

teknik data mining dengan algoritma naïve Bayesian untuk mengklasifikasikan mahasiswa

dengan karakteristik seperti apa yang mempunyai prestasi akademik yang

kurang/memuaskan/sangat memuaskan/dengan pujian. Pengujian dilakukan pada 431 record

data dengan tenfold cross-validation dan menghasilkan tingkat keakuratan sebesar 49, 65 %.

Page 8: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

viii

ABSTRACT

There are several key success factors for student in their study, such us there academic

potential, their motivations, as well as their backgrounds. Academic potentials could be reflected

in the admission test score, motivations could be reflected in the period of the admision test and

their priority of choice. While the academic background could be reflected in the major program

while they were in the Senior High School.

Sanata Dharma university has store student data which includes student admission data as

well as student academic achievement data in digital form. In this thesis, the data utilized using

data mining technique by appliying naïve Bayesian algorithm in order to classify student who

have particular academic achievement, namely poor / satisfied / very satisfied / cumlaude. The

data mining was implemented on 431 data record using ten fold cross-validation method. The

accuracy of the program is 49,65%.

Page 9: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

ix

LEMBAR PERNYATAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Asteria Indharlina

NIM : 0653114052

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

“Klasifikasi Data Penerimaan Mahasiswa Baru dan Prestasi Akademik

Mahasiswa Teknik Informatika Universitas Sanata Dharma dengan

Menggunakan Algoritma Naive Bayesian”

Berserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam

bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya

secara terbatas, dan mempublikasikannya di internet atau media lain untuk

kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti

kepada saya selama tetap mencatumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal 15 September 2010

Yang menyatakan

Asteria Indharlina

Page 10: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

x

KATA PENGANTAR

Dalam nama Bapa, Putra, dan Roh Kudus, penulis selalu diberi kekuatan untuk

berkembang dan menjadi lebih. Puji syukur penulis panjatkan atas Kehadirat Tuhan Yang Maha

Esa, yang telah melimpahkan rahmat dan berkatNya sehingga penulis dapat menyelesaikan tugas

akhir yang berjudul “Klasifikasi Data Penerimaan Mahasiswa Baru dan Prestasi Akademik

Mahasiswa Teknik Informatika Universitas Sanata Dharma dengan Menggunakan

Algoritma Naive Bayesian”. Tugas akhir ini ditulis sebagai salah satu syarat memperoleh gelar

sarjana program studi Teknik Informatika, Fakultas Sains dan Teknologi Universitas Sanata

Dharma.

Dalam kesempatan ini, penulis mengucapkan terimakasih yang sebesar-besarnya kepada :

1. Ibu P.H. Prima Rosa, S.Si., M.Sc., selaku dosen pembimbing, terimakasih atas segala

bimbingan dan kesabaran dalam mengarahkan dan membimbing penulis dalam

menyelesaikan tugas akhir ini.

2. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T., selaku kaprodi Teknik Informatika.

3. Bapak Eko Hari Parmadi, S.Si., M.Kom. dan Bapak Alb. Agung Hadhiatma, S.T., M.T.

selaku dosen penguji.

4. Seluruh staff pengajar Prodi Teknik Informatika Fakultas Sains dan Teknologi

Universitas Sanata Dharma.

5. Bapak, Mama, Tiberius Tomo N.S., Paskalia dan semua keluarga yang telah memberikan

semangat serta doa yang tulus.

6. Alim Untung Widodo, yang selalu menghibur dan memberikan semangat dalam

pengerjaan tugas akhir ini serta membantu dalam bertukar pikiran dan memberikan

Page 11: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

xi

solusi. Terimakasih juga karena selalu menemani dan rela menunggu untuk waktu yang

tidak ditentukan selama bimbingan.

7. Teman-teman seperjuangan, Robin Steven, Cresensia Devi, Hertartik Clarasita Devy,

Tulus Wardoyo, Yustinus Prima, Widyo Sutoto, terimakasih atas segala bantuan,

dukungan serta kesediaan dalam menciptakan hubungan simbiosis mutualisme dan

mampu menerapkan prinsip win-win solution.

8. Teman-teman prodi Teknik Informatika angkatan 2006, atas kebersamaanya selama

penulis menjalani masa studi.

9. Serta semua pihak yang tidak dapat disebutkan satu-persatu yang telah membantu penulis

dalam menyelesaikan tugas akhir ini.

Penulis menyadari bahwa tugas akhir ini jauh dari sempurna, oleh karena itu kritik dan

saran yang sifatnya membangun sangat penulis harapkan.

Akhir kata, penulis berharap semoga skripsi ini dapat bermanfaat bagi pembaca dan

pihak lain yang membutuhkannya.

Penulis

Asteria Indharlina

Page 12: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

xii

DAFTAR ISI

Halaman Judul ……………………………………………………..…………………… i

Halaman Judul (Inggris) ………………………………………………………………… ii

Halaman Persetujuan …………………………………………………………………… iii

Halaman Pengesahan …………………………………………………………………… iv

Halaman Persembahan ……………….………………………………………………… v

Halaman Pernyataan Keaslian Karya …………..……………………………………… vi

Abstrak …………………….……………………………………………………………. vii

Abstract …………………………………………………………………………………. viii

Lembar Pernyataan Persetujuan ………….……………………………………………. ix

Kata Pengantar ……………….………………………………………………………… x

Daftar Isi …………………….…………………………………………………………. xii

Daftar Tabel ………………..…………………………………………………………… xv

Daftar Gambar ………….………………………………………………………………. xvii

BAB I. Pendahuluan ……………………………..………………………………….. 1

A. Latar Belakang …………………………….………………………………… 1

B. Rumusan Masalah ……………………………………………………………. 2

C. Tujuan ……………………………………..………………………………….. 3

D. Batasan Masalah ………………..………….………………………………… 3

E. Metodologi Penelitian …………………….………………………………….. 5

F. Sistematika Penulisan …………..…………………………………………… 6

BAB II. Landasan Teori ………………………....…………………………………… 8

A. Penambangan Data …………………….…………………………………….. 8

Page 13: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

xiii

B. Teorima Bayesian …………………….….….………………………………. 13

C. Klasifikasi Naïve Bayesian ………………………………………………….. 16

D. k-Fold Cross Validation ……………….…………………………………….. 23

E. Mengukur Tingkat Keakuratan Penggolong(Classifier) …….……………… 23

F. Analisis Korelasi ………….…………………………………………………. 25

BAB III. Analisis dan Perancangan Sistem ………..………………..………………… 28

A. Identifikasi Sistem ……………….………………………..………………….. 28

B. Analisis Data Awal ……………….………………………………………….. 29

1. Pembersihan Data ……………….……………………………….……… 32

2. Integrasi Data ………………………..…………………………………. 32

3. Seleksi Data ………..…………………………………………………… 32

4. Transformasi Data …….………………………………………………… 36

C. Perancangan Umum Sistem …………………………………………………. 37

1. Masukan Sistem ………….…………………………………………….. 37

1.1. Perancangan Struktur Data …….……………………………….. 39

2. Proses Sistem …………………………………………..………………. 40

3. Keluaran Sistem ……………………………………….……………….. 42

4. Diagram Model Use Case ……………………………….………………. 43

4.1. Narasi Use Case ………..………………………………………. 44

5. Diagram Konteks ……………………………..………………………… 50

6. Diagram Aktivitas ………………………………………….……………. 51

6.1. Diagram Aktivitas Input Data ………………………………….. 51

6.2. Diagram Aktivitas Detail Atribut ………………………………. 51

Page 14: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

xiv

6.3. Diagram Aktivitas Input Fold ………………………………….. 52

6.4. Diagram Aktivitas Hitung Posterior …………………………….. 52

6.5. Diagram Aktivitas Simpan File Hasil Klasifikasi ……………… 53

7. Diagram Kelas …….…………………………………………………….. 54

8. Diagram Sekuensial ………..……………………………………………. 55

8.1. Diagram Sekuensial Input Data ………………………………….. 55

8.2. Diagram Sekuensial Detail Atribut ………………………………... 55

8.3. Diagram Sekuensial Input Fold ………………………………….. 56

8.4. Diagram Sekuensial Hitung Posterior …………………………….. 56

8.5. Diagram Sekuensial Simpan File Hasil Klasifikasi ……………… 57

9. Perancangan Antar Muka ………………………….…………………. 57

BAB IV Implementasi Sistem ………………………………………………………….. 64

A. Spesifikasi Software dan Hardware ………………..………………………….. 64

B. Implementasi Use Case ………………………….…………………………….. 64

C. Implementasi Diagram Kelas …………………………………………………. 68

BAB V Analisis Hasil ……………………………………………………………….. 93

A. Analisis Hasil Program ………………………………………………………… 93

B. Kelebihan dan Kekurangan Program …………………………………………… 108

BAB VI Penutup ……………………………………………………………………… 110

A. Kesimpulan …………………..………………………………………………… 110

B. Saran …………………….……………………………………………………… 110

Daftar Pustaka

Lampiran

Page 15: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

xv

DAFTAR TABEL

Tabel 2.1 Ilustrasi Penggunaan Teorema Bayesian ………................................... 16

Tabel 2.2 Sekumpulan Data Pelatihan……………………………………………….. 20

Tabel 2.3 Confusion Matrix……….............................................................................. 24

Tabel 2.4 Tabel Interprestasi Besarnya Nilai Koresi ……………………………… 26

Tabel 2.5 Tabel Contoh Hasil Analisis Korelasi di SPSS ……………………….. 26

Tabel 3.1 Tabel Output analisis korelasi dengan menggunakan SPSS ……………. 34

Tabel 3.2 Tabel rangkuman analisis korelasi ……………………………………….. 35

Tabel 3.3 Transformasi Data IPK …………………………………………………. 36

Tabel 3.4 Deskripsi Masukan untuk Data Pelatihan………………………………… 37

Tabel 3.5 Deskripsi Masukan untuk Data Uji………………………………………. 38

Tabel 3.6 Tabel List Data Mahasiswa ………………………………………………. 39

Tabel 5.1 Tabel Confusion Matrix untuk Pengujian pada Fold 1…………………… 95

Tabel 5.2 Tabel Confusion Matrix untuk Pengujian pada Fold 2 …………………… 96

Tabel 5.3 Tabel Confusion Matrix untuk Pengujian pada Fold 3 …………………. 97

Tabel 5.4 Tabel Confusion Matrix untuk Pengujian pada Fold 4 …………………. 98

Tabel 5.5 Tabel Confusion Matrix untuk Pengujian pada Fold 5 …………………. 99

Tabel 5.6 Tabel Confusion Matrix untuk Pengujian pada Fold 6 …………………. 100

Tabel 5.7 Tabel Confusion Matrix untuk Pengujian pada Fold 7 …………………. 101

Tabel 5.8 Tabel Confusion Matrix untuk Pengujian pada Fold 8 …………………. 102

Tabel 5.9 Tabel Confusion Matrix untuk Pengujian pada Fold 9 …………………. 103

Tabel 5.10 Tabel Confusion Matrix untuk Pengujian pada Fold 10 …………………. 104

Page 16: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

xvi

Tabel 5.11 Tabel Confusion Matrix untuk Semua Iterasi ………………………….. 105

Tabel 5.12 Tabel Pengujian Menggunakan tenfold Cross-Validation ……………… 106

Tabel 5.13 Tabel Pengujian Cross-validation dengan k bervariasi ……………….. 107

Page 17: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

xvii

DAFTAR GAMBAR

Gambar 2.1 Langkah Penambangan Data………………………………………………. 11

Gambar 3.1 Use Case ………………………………………………………………... 43

Gambar 3.2 Diagram Konteks …………………………………………………………. 50

Gambar 3.3 Diagram Aktivitas Input Data ……………………………………………. 51

Gambar 3.4 Diagram Aktivitas Detail Atribut ………………………………………… 51

Gambar 3.5 Diagram Aktivitas Input Fold ………………………………………….. 52

Gambar 3.6 Diagram Aktivitas Hitung Posterior………………………………………. 52

Gambar 3.7 Diagram Aktivitas Simpan File Hasil Klasifikasi ………………………. 53

Gambar 3.8 Diagram Kelas ………………………………………………………….. 54

Gambar 3.9 Diagram Sekuensial Input Data …………………………………………. 55

Gambar 3.10 Diagram Sekuensial Detail Atribut ………………………………………. 55

Gambar 3.11 Diagram Sekuensial Input Fold …………………………………………. 56

Gambar 3.12 Diagram Sekuensial Hitung Posterior ……………………………………. 56

Gambar 3.13 Diagram Sekuensial Simpan File Hasil Klasifikasi ……………………… 57

Gambar 3.14 Halaman Awal …………………………………………………………….. 58

Gambar 3.15 Halaman Awal dengan Submenu ………………………………………… 58

Gambar 3.16 Halaman Input Data ……………………………………………………… 59

Gambar 3.17 Jendela Pilih File Masukan ……………………………………………….. 60

Gambar 3.18 Halaman Proses …………………………………………………………… 61

Gambar 3.19 Halaman Proses Lanjutan ……………………………………………….. 61

Gambar 3.20 Halaman Bantuan …………………………………………………………. 62

Page 18: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

xviii

Gambar 3.21 Halaman Tentang …………………………………………………………. 63

Gambar 3.22 Jendela Pertanyaan Konfirmasi Keluar ………………………………….. 63

Gambar 4.1 Halaman Input Data ……………………………………………………… 65

Gambar 4.2 Proses Input Data Berhasil………………………………………………… 66

Gambar 4.3 Lihat Detail Atribut ……………………………………………………… 67

Gambar 4.4 Halaman Proses ………………………………………………………….. 67

Page 19: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

1

BAB I

PENDAHULUAN

A. Latar Belakang

Salah satu faktor penentu kesuksesan seorang mahasiswa dalam

menempuh studi di perguruan tinggi adalah potensi akademik. Potensi akademik

bisa terlihat dalam nilai tes masuk akademik. Semakin bagus potensi akademik

seorang mahasiswa mestinya akan semakin sukses ia menempuh studi di

perguruan tinggi. Kesuksesan ini bisa direpresentasikan dengan indeks prestasi

kumulatif. Namun pada kenyataannya tidak semua mahasiswa yang mempunyai

potensi akademik yang bagus mempunyai nilai IPK yang bagus pula. Hal ini

memunculkan dugaan bahwa ada faktor lain yang mempengaruhi kesuksesan

seorang mahasiswa dalam menempuh studi. Faktor lain tersebut bisa berupa

motivasi dan latar belakang mahasiswa. Motivasi bisa tercermin dalam gelombang

test masuk dan prioritas pilihan prodi sedangkan latar belakang mahasiswa bisa

terlihat pada jurusan ketika di SMA.

Maka perlu dijajaki apakah betul faktor yang berhubungan dengan

motivasi dan latar belakang seorang mahasiswa tersebut benar-benar

mempengaruhi keberhasilan studi seorang mahasiswa?

Universitas Sanata Dharma sudah mempunyai data-data kemahasiswaan

yang mencakup data penerimaan mahasiswa baru (PMB) dan data prestasi

akademik mahasiswa dalam bentuk digital. Data digital tersebut bisa

dimanfaatkan untuk diolah menggunakan teknik penambangan data dengan

Page 20: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

2

menggunakan algoritma naïve Bayesian sehingga bisa diklasifikasikan data

mahasiswa yang mempunyai prestasi akademik yang kurang/memuaskan/sangat

memuaskan/dengan pujian.

Naïve Bayesian merupakan salah satu metode penambangan data yang

digunakan pada persoalan klasifikasi. Algoritma naïve Bayesian akan menghitung

probabilitas posterior untuk setiap nilai kejadian dari atribut target pada setiap

kasus (sampel data). Selanjutnya, naïve Bayesian akan mengklasifikasikan sampel

data tersebut ke kelas yang mempunyai nilai probabilitas posterior tertinggi. Maka

hal yang akan dilakukan dengan algoritma naïve Bayesian adalah menghitung

probabilitas posterior pada setiap sampel data untuk kelas IPK kurang, IPK

memuaskan, IPK sangat memuaskan, dan IPK dengan pujian.

Pada skripsi ini, penulis akan mengklasifikasikan data mahasiswa yang

mempunyai prestasi akademik kurang/memuaskan/sangat memuaskan/dengan

pujian berdasarkan data penerimaan mahasiswa baru (PMB) dan data prestasi

akademik mahasiswa.

B. Rumusan Masalah

Dari latar belakang di atas, terdapat masalah yaitu :

Bagaimana mengklasifikasikan data mahasiswa yang mempunyai prestasi

kurang/memuaskan/sangat memuaskan/dengan pujian berdasarkan data

penerimaan mahasiswa baru (PMB) dan data prestasi akademik mahasiswa

dengan menggunakan algoritma naïve Bayesian.

Page 21: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

3

C. Tujuan

Tujuan pembuatan aplikasi ini adalah untuk :

Mengklasifikasikan data mahasiswa yang mempunyai prestasi

kurang/memuaskan/sangat memuaskan/dengan pujian berdasarkan data

penerimaan mahasiswa baru (PMB) dan data prestasi akademik mahasiswa

dengan menggunakan algoritma naïve Bayesian.

D. Batasan Masalah

Dalam membangun sistem ini terdapat batasan-batasan antara lain :

1. Klasifikasi prestasi mahasiswa hanya berdasarkan data gelombang tes

masuk, pilihan prodi, prioritas pilihan prodi, jurusan di SMA dan nilai

final tes masuk lima komponen : nilai tes penalaran verbal, nilai tes

kemampuan numerik, nilai tes penalaran mekanik, nilai tes hubungan

ruang, nilai tes bahasa Inggris.

2. Data kemahasiswaan yang digunakan adalah data PMB (Penerimaan

Mahasiswa Baru) dan data akademik mahasiswa Teknik Informatika

Fakultas Sains dan Teknologi Universitas Sanata Dharma yang

mengikuti tes melalui jalur reguler dan jalur kerjasama yakni data

gelombang tes masuk mahasiswa, pilihan prodi, prioritas pilihan prodi,

jurusan di SMA dan nilai final tes masuk lima komponen yang terdiri

dari nilai tes penalaran verbal, nilai tes kemampuan numerik, nilai tes

penalaran mekanik, nilai tes hubungan ruang, nilai tes bahasa Inggris .

Data kemahasiswaan yang digunakan tersebut adalah data tahun 2000,

Page 22: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

4

2001, 2002, 2003, 2004, 2005, 2006, 2007.

3. Data IPK yang digunakan adalah data IPK sampai semester 4 dengan

alasan bahwa pada akhir semester 4 terdapat evaluasi sisip program

yang menentukan apakah mahasiswa yang bersangkutan boleh

melanjutkan studi atau harus meninggalkan Program Studi yang

bersangkutan. Mahasiswa boleh melanjutkan studi di Program studi

yang bersangkutan apabila pada akhir semester 4 dapat mengumpulkan

sekurang-kurangnya 40 SKS dengan IPK sekurang-kurangnya 2.00.

Sistem yang dibuat ini dapat digunakan oleh Ketua Prodi Teknik

Informatika atau dosen pembimbing akademik untuk memprediksi

apakah pada evaluasi sisip program seorang mahasiswa boleh

melanjutkan studi atau harus meninggalkan Program studi. Dengan

adanya sistem ini baik Ketua Prodi maupun dosen pembimbing

akademik bisa lebih peka dan kritis terhadap mahasiswa-mahasiswa

yang diprediksikan tidak bisa melanjutkan studi dengan membuat

kebijakan tentang bagaimana langkah yang harus diambil untuk

mengupayakan agar mahasiswa-mahasiswa yang diprediksikan tidak

bisa melanjutkan studinya tersebut bisa melanjutkan studi di Program

Studi Teknik Informatika.

4. Data IPK dikategorikan menjadi IPK memuaskan/sangat

memuaskan/dengan pujian sesuai dengan buku panduan akademik

mahasiswa Teknik Informatika dan dengan tambahan kategori kurang

untuk mahasiswa yang memiliki IPK kurang dari 2, 00.

Page 23: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

5

5. Perangkat lunak yang digunakan untuk membangun sistem ini adalah

adalah : sistem operasi Microsoft Windows XP profesional SP, bahasa

pemrograman Java.

E. Metodologi Penelitian

Metodologi penelitian dilakukan dengan teknik penambangan data.

Langkah-langkahnya adalah sebagai berikut :

1. Pembersihan data yaitu menghilangkan noice dan menghilangkan data

yang tidak konsisten.

2. Integrasi data yaitu menggabungkan data dari bermacam-macam

tempat penyimpanan data ke dalam satu tempat penyimpanan data

yang koheren.

3. Seleksi data yaitu data yang relevan diambil dari basis data. Pada

langkah ini akan dilakukan analisis korelasi dengan SPSS untuk

analisis fitur. Atribut-atribut data akan dicek apakah relevan untuk

dilakukan penambangan data. Atribut yang tidak relevan ataupun

atribut yang mengalami redundansi akan dibuang. Atribut yang

diharapkan adalah atribut yang bersifat independen.

4. Transformasi data yaitu data ditransformasikan ke dalam bentuk yang

tepat untuk ditambang dengan menampilkan kesimpulan operasi.

5. Penambangan data yaitu mengaplikasikan metode yang tepat untuk

mengekstrak pola data, yaitu dengan menggunakan metode naïve

Bayesian. Metode naïve Bayesian didasarkan pada asumsi bahwa

Page 24: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

6

kehadiran/keberadaan fitur tertentu dari sebuah kelas tidak

berhubungan dengan kehadiran/keberadaan fitur lainnya. Artinya, efek

yang ditimbulkan dari sebuah nilai atribut dari sebuah kelas adalah

independen dengan nilai atribut lainnya.

6. Evaluasi pola yaitu mengidentifikasi pola yang benar berdasarkan

beberapa pengukuran yang penting.

7. Presentasi pengetahuan yaitu mempresentasikan informasi yang sudah

ditambang kepada pengguna.

F. Sistematika Penulisan

BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, batasan

masalah, tujuan, batasan masalah, dan metodologi

penelitian.

BAB II LANDASAN TEORI

Bab ini berisi tentang dasar teori yang yang berkaitan

dengan judul/masalah di tugas akhir yaitu teori tentang

penambangan data dan algoritma naive bayesian.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang cara penerapan konsep dasar yang

telah diuraikan pada bab sebelumnya yaitu pada bab 2

untuk menganalisa dan merancang tentang sistem yang

dibuat.

Page 25: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

7

BAB IV IMPLEMENTASI SISTEM

Bab ini berisi tentang implementasi ke program komputer

berdasarkan hasil perancangan yang telah dibuat.

BAB V ANALISIS HASIL

Bab ini berisi tentang analisis perangkat lunak yang sudah

dibuat, beserta kelebihan dan kekurangan pada sistem.

BAB VI PENUTUP

Bab ini berisi tentang kesimpulan dan saran dari penulisan

tugas akhir.

Page 26: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

8

BAB II

LANDASAN TEORI

A. Penambangan Data

Sebuah organisasi pasti mempunyai sekumpulan data dengan jumlah yang

besar. Untuk bisa berkompetisi dengan efektif dan bisa mendapatkan banyak

keuntungan dari setiap kesempatan, pengambil keputusan perlu mengidentifikasi

dan menggunakan informasi yang ada dari sekumpulan data tadi. Maka dari itu

diperlukanlah penambangan data.

Penambangan data (data mining) berkenaan dengan mengekstrak atau

menambang informasi/pengetahuan dari sekumpulan data dengan jumlah yang

sangat besar. Secara fungsional, penambangan data adalah proses dari

pengumpulan informasi penting dari sejumlah data yang besar yang tersimpan di

basis data, gudang data, atau tempat penyimpanan informasi lainnya

(Han&Kamber, 2006).

Secara sederhana, penambangan data adalah langkah-langkah dalam

mendapatkan/menemukan pengetahuan (Han&Kamber, 2006). Penemuan

pengetahuan ini merupakan sebuah proses seperti ditunjukkan pada gambar 2.1

dan terdiri dari urutan-urutan sebagai berikut :

1. Pembersihan data (data cleaning)

Pada langkah ini noice dan data yang tidak konsisten akan dihapus.

Langkah pertama yang dilakukan dalam proses pembersihan data (data

cleaning atau disebut juga data cleansing) adalah deteksi ketidakcocokan.

Page 27: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

9

Ketidakcocokan tersebut dapat disebabkan oleh beberapa faktor antara lain

desain form masukan data yang kurang baik sehingga menyebabkan

munculnya banyak field, adanya kesalahan petugas ketika memasukkan

data, adanya kesalahan yang disengaja dan adanya data yang busuk.

2. Integrasi data (data integration)

Pada langkah ini akan dilakukan penggabungan data. Data dari bermacam-

macam tempat penyimpanan data akan digabungkan ke dalam satu tempat

penyimpanan data yang koheren. Macam-macam tempat penyimpanan

data tersebut termasuk multiple database, data cube, atau file flat. Pada

langkah ini, ada beberapa hal yang perlu diperhatikan yaitu integrasi

skema dan pencocokan objek, redundansi data, deteksi dan resolusi

konflik nilai data. Selama melakukan integrasi data, hal yang perlu

dipertimbangkan secara khusus adalah masalah struktur data. Struktur data

perlu diperhatikan ketika mencocokkan atribut dari satu basis data ke basis

data lain.

3. Seleksi data (data selection)

Data yang relevan akan diambil dari basis data untuk dianalisis. Pada

langkah ini akan dilakukan analisis korelasi untuk analisi fitur. Atribut-

atribut data akan dicek apakah relevan untuk dilakukan penambangan data.

Atribut yang tidak relevan ataupun atribut yang mengalami redundansi

tidak akan digunakan. Atribut yang diharapkan adalah atribut yang bersifat

independen. Artinya, antara atribut satu dengan atribut yang lain tidak

saling mempengaruhi.

Page 28: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

10

4. Transformasi data (data transformation)

Data ditransformasikan ke dalam bentuk yang tepat untuk ditambang.

Yang termasuk dalam langkah transformasi data adalah penghalusan

(smooting) yaitu menghilangkan noise yang ada pada data, pengumpulan

(aggregation) yaitu mengaplikasikan kesimpulan pada data, generalisasi

(generalization) yaitu mengganti data primitif/data level rendah menjadi

data level tinggi), normalisasi (normalization) yaitu mengemas data atribut

ke dalam skala yang kecil, sebagai contoh -1.0 sampai 1.0, dan konstruksi

atribut/fitur (attribute construction/feature construction) yaitu

mengkonstruksi dan menambahkan atribut baru untuk membantu proses

penambangan.

5. Penambangan data (data mining)

Langkah ini adalah langkah yang penting di mana akan diaplikasikan

metode yang tepat untuk mengekstrak pola data.

6. Evaluasi pola (pattern evaluation)

Langkah ini berguna untuk mengidentifikasi pola yang benar dan menarik.

Pola tersebut akan direpresentasikan dalam bentuk pengetahuan

berdasarkan beberapa pengukuran yang penting.

7. Presentasi pengetahuan (knowledge presentation)

Pada langkah ini informasi yang sudah ditambang akan divisualisasikan

dan direpresentasikan kepada pengguna.

Langkah 1 sampai dengan langkah 4 merupakan langkah praproses data di

mana data akan disiapkan terlebih dahulu selanjutnya dilakukan penambangan.

Page 29: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

11

Pada langkah penambangan data, pengguna atau basis pengetahuan bisa

dilibatkan. Kemudian pola yang menarik akan direpresentasikan kepada pengguna

dan akan disimpan sebagai pengetahuan yang baru. Sebagai catatan, dalam urutan

proses di atas, penambangan data hanya terdapat pada satu langkah. Walaupun

penambangan data hanya terdapat dalam satu langkah, penambangan data

merupakan langkah yang penting karena bisa menemukan pola tersembunyi yang

nantinya akan dievaluasi.

Gambar 2.1 Langkah Penambangan Data

Sumber : Han&Kamber(2006)

Page 30: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

12

Secara umum, pekerjaan penambangan data bisa dikelompokkan menjadi

dua kategori, yakni : deskriptif dan prediktif. Tugas penambangan deskriptif

adalah menggolongkan sifat-sifat umum data dalam basis data. Sedangkan tugas

penambangan prediktif adalah menampilkan kesimpulan dari data yang sekarang

ada untuk membuat sebuah prediksi.

Jenis pola yang dapat diketahui dari penambangan data salah satunya

adalah klasifikasi dan prediksi. Klasifikasi merupakan model yang dibangun

untuk memprediksi label-label kategorikal yang direpresentasikan dengan nilai

diskrit. Prediksi numerik merupakan model yang dibangun untuk memprediksi

fungsi nilai yang kontinyu (continuous-valued function) ataupun nilai yang terurut

(ordered value). Klasifikasi dan prediksi angka ini merupakan jenis permasalahan

prediksi (Han&Kamber, 2006).

Klasifikasi data terdiri dari dua proses. Pada proses pertama, classifier

membangun gambaran konsep atau kelas data yang telah ditentukan sebelumnya.

Langkah ini dinamakan langkah pembelajaran (learning) atau fase pelatihan. Pada

fase pelatihan ini, algoritma klasifikasi yang diterapkan akan membangun sebuah

classifier. Caranya adalah dengan belajar dari sekumpulan data pelatihan yang

diambil dari tuple basis data. Karena label kelas dari setiap tuple pelatihan sudah

tersedia maka fase ini juga dikenal dengan sebutan fase supervised learning.

Pada proses kedua, model langsung digunakan untuk diklasifikasi.

Pertama, akan ditaksir seberapa akurat prediksi yang dibuat oleh classifier. Jika

keakuratan classifier diukur dengan menggunakan data pelatihan, maka taksiran

ini akan baik karena classifier cenderung overfit data. Maka dari itu, perlu

Page 31: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

13

digunakan sekumpulan data uji. Data tersebut dipilih secara acak dari sekumpulan

data umum. Data yang diuji ini bersifat independen dari data pelatihan, artinya

data yang diuji tersebut tidak lagi digunakan untuk membuat classifier.

Salah satu cara penyelesaian masalah-masalah yang berkaitan dengan

klasifikasi adalah dengan menggunakan teorema naïve Bayesian yang didasari

oleh teorema Bayesian.

B. Teorema Bayesian

Teorema Bayesian mengungkapkan bahwa hasil probabilitas posterior

sebanding dengan hasil perkalian antara likelihood dengan probababilitas prior.

Probabilitas posterior adalah probabilitas bersyarat dari sebuah hipotesis jika

diberikan data. Likelihood adalah probabilitas bersyarat dari sebuah data jika

diberikan hipotesis. Probabilitas prior adalah probabilitas bahwa hipotesis itu

benar sebelum data terlihat.

Misalkan X adalah tuple data. Dalam istilah Bayesian, X dianggap sebagai

bukti atau kumpulan data pelatihan. Anggap H adalah hipotesis. Untuk masalah

yang berhubungan dengan klasifikasi, akan ditentukan P(H|X), yaitu probabilitas

bersyarat di mana probabilitas hipotesis H ditentukan oleh data X. P(H|X) adalah

probabilitas posterior dari kondisi H terhadap X. P(X|H) adalah probabilitas

posterior dari X berdasarkan H. P(H) adalah probabilitas prior dari H. P(X) adalah

probabilitas prior dari X. Kalkulasi dari probabilitas-probabilitas tersebut adalah

sebagai berikut :

| | …………………………….(2.1)

Page 32: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

14

Dimana :

X adalah himpunan data pelatihan.

H adalah hipotesis.

P(H|X) adalah probabilitas posterior, yaitu probabilitas bersyarat dari

hipotesis H setelah data X muncul.

P(H) adalah probabilitas prior dari hipotesis H yaitu probabilitas bahwa

hipotesis H bernilai benar sebelum data X muncul.

P(X) adalah probabilitas dari data X.

P(X|H) adalah probabilitas bersyarat dari X yang berasal dari hipotesis H,

dan biasa disebut dengan likelihood. likelihood ini mudah dihitung

ketika memberikan nilai 1 saat X dan H konsisten, dan memberikan

nilai 0 saat X dan H tidak konsisten.

Contoh, andaikan di sekolah AAA terdapat 60 % siswa putra dan 40%

siswa putri. Siswa laki-laki menggunakan celana panjang. Siswa putri

menggunakan celana panjang dan rok. Jumlah siswa putri yang menggunakan

celana panjang sama dengan jumlah siswa putri yang menggunakan rok. Seorang

pengamat memperhatikan siswa secara random dari kejauhan. Pengamat tersebut

bisa melihat bahwa ada siswa yang menggunakan celana panjang. Berapa

probabilitas bahwa siswa tersebut adalah seorang putri?

Kejadian A adalah kejadian di mana siswa yang diamati adalah seorang

putri dan kejadian B adalah kejadian di mana siswa yang diamati menggunakan

celana panjang. Untuk menghitung P(A|B) pertama perlu diketahui :

Page 33: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

15

a. P(A), probabilitas di mana siswa tersebut adalah siswa putri. Selama

pengamat memperhatikan siswa secara acak, artinya semua siswa

mempunyai probabilitas yang sama di mata pengamat, probabilitas

munculnya siswa putri diantara siswa adalah 40% atau 0.4

b. P(B|A), probablilitas siswa menggunakan celana panjang tergantung pada

siswa tersebut adalah siswa putri. Probabilitas ini adalah 0.5

c. P(B), probabilitas siswa yang dipilih secara random adalah siswa yang

menggunakan celana panjang. Karena P (B) = P (B | A) P (A) + P (B | A ') P

(A'), ini adalah 0,5 × 0,4 + 1 × 0,6 = 0,8.

Berdasarkan semua informasi di atas, probabilitas pengamat yang mengamati

seorang siswa yang memakai celana panjang dapat dihitung sebagai berikut :

| |

0.5 0.4

0.8 0.25.

Dengan cara yang lain, untuk memperoleh hasil yang sama. Asumsikan

bahwa ada 100 siswa yang terdiri dari 60 siswa putra dan 40 siswa putri. 60 siswa

putra tersebut memakai celana panjang dan setengah dari siswa putri yaitu 20

orang menggunakan celana panjang. Ini artinya ada 80 siswa yang menggunakan

celana panjang, 20 diantaranya adalah siswa putri. Sehingga, siswa putri yang

menggunakan celana panjang (secara acak) adalah 20/80 =0.25. Jika dipandang

berdasarkan teorima Bayesian, probabilitas munculnya siswa putri adalah 40/100,

probabilitas munculnya siswa putri yang menggunakan celana panjang adalah ½.

Hasil kedua adalah 20/100, tetapi jika diketahui ada siswa yang menggunakan

Page 34: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

16

celana panjang maka hapus/abaikan 20 siswa yang tidak menggunakan celana

panjang dan ambil probabilitas dari (20/100)/(80/100) atau 20/80.

Tabel 2.1 Ilustrasi penggunaan teorima Bayesian

Siswa putri Siswa putra Total

Celana panjang 20 60 80

Rok 20 0 20

Total 40 60 100

C. Klasifikasi Naïve Bayesian

Penggolong (classifier) Naïve Bayesian adalah penggolong yang bersifat

statistik. Penggolong ini didasari oleh teorema Bayesian. Penggolong Naïve

Bayesian dapat memprediksi probabilitas kelas, seperti probabilitas tuple yang

termasuk ke dalam kelas tertentu. Penggolong naïve Bayesian didasarkan pada

asumsi bahwa kehadiran/keberadaan fitur tertentu dari sebuah kelas tidak

berhubungan dengan kehadiran/keberadaan fitur lainnya. Artinya, efek yang

ditimbulkan dari sebuah nilai atribut dari sebuah kelas adalah independen dengan

nilai atribut lainnya. Maka rumus 2.1 berubah menjadi

| | | ….. | …………………….(2.3)

Dimana :

X adalah himpunan data pelatihan.

H adalah hipotesis.

P(H|X) adalah probabilitas posterior, yaitu

Page 35: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

17

probabilitas bersyarat dari hipotesis H setelah

data X muncul.

P(H) adalah probabilitas prior dari hipotesis H

sebelum X muncul.

P(X) adalah probabilitas dari data X. P(H)

mempunyai nilai yang sama dengan kelas

yang lain atau irrelevant.

| , | , | adalah probabilitas dari X1, X2, Xn untuk

hipotesis H, biasa disebut dengan likelihood.

Karena P(X) irrelevant maka untuk mencari peluang hanya menggunakan

rumus

| | | … . . | ……………….(2.4)

Jika ada P(Xn|H) yang memiliki nilai=0, maka P(H|X)=0. Dengan demikian

penggolong Naïve Bayesian tidak bisa memprediksi record yang salah satu

atributnya memiliki probabilitas bersyarat (likelihood)=0. Untuk mengatasi hal

tersebut dilakukan langkah Laplace Estimator. Laplace Estimator dilakukan

dengan melakukan perhitungan sebagai berikut

| …………………..………………………….(2.5)

Dimana :

adalah jumlah dari Xn..

adalah jumlah total dari kelas Hm.

c jumlah kelas yang ada.

Page 36: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

18

Penggolong Naïve Bayesian bekerja seperti berikut :

1. Anggap D adalah kumpulan data pelatihan dari tuple dan D berhubungan

dengan label kelas.

2. Andaikan ada m kelas, C1, C2, … , Cm. Jika disediakan tuple X, penggolong

Naïve Bayesian memprediksi X ke dalam kelas yang mempunyai

probabilitas posterior tertinggi. Maka penggolong Naïve Bayesian

memprediksi tuple X termasuk ke dalam kelas Ci jika dan hanya jika

P(Ci|X)>P(Cj|X) untuk 1 ≤ j ≤ m, j ≠ i. ……………………..(2.6)

Dengan demikian P(Ci|X) akan dimaksimalkan. Kelas Ci untuk setiap

P(Ci|X) yang dimaksimalkan dinamakan maximum posteriori hypothesis.

Berdasarkan teorema Bayes adalah :

| | ………………………………(2.7)

3. Selama P(X) konstan untuk semua kelas maka hanya P(X|Ci)P(Ci) yang

dimaksimalkan. Jika kelas probabilitas prior tidak diketahui, maka kelas-

kelas tersebut diasumsikan sama, yaitu P(C1) = P(C2) = … = P(Cm), oleh

karena itu P(X|Ci) akan dimaksimalkan. Jika tidak, P(X|Ci)P(Ci) yang akan

dimaksimalkan.

4. Misalkan data terdiri dari banyak atribut. Untuk mengurangi kerumitan

komputasi dalam mengevaluasi P(X|Ci), naïve mengasumsikan ada class

conditional independence. Maksudnya, nilai dari atribut-atribut tersebut

bersifat independen satu sama lain. Maka,

| ∏ | ………………………………………(2.8)

| | … . | …………….(2.9)

Page 37: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

19

xk merujuk pada nilai atribut Ak untuk tuple X. Untuk setiap atribut, akan

dicek apakah atribut tersebut adalah atribut kategorikal atau atribut yang

nilainya kontinyu. Sebagai contoh, untuk menghitung P(X|Ci), perlu

dipertimbangkan hal berikut ini :

1) Jika Ak adalah atribut kategorikal, maka P(xk|Ci) adalah jumlah

tuple dari kelas Ci dalam D yang mempunyai nilai xk untuk Ak,

dibagi dengan |Ci, D|, |Ci, D| adalah jumlah tuple pada kelas Ci dalam

D.

P(xk | Ci) = |xki|/ Nci………………………………… (2.10)

Dimana :

P(xk|Ci) adalah probabilitas likelihood dari atribut xk dalam

kelas Ci

Xki adalah jumlah atribut xk yang termasuk dalam kelas

Ci

Nci adalah jumlah Ci

2) Jika Ak adalah atribut yang nilainya kontinyu, maka perhitungan

menjadi lebih rumit karena melibatkan distribusi Gaussian dengan

mean µ dan standar deviasi σ. Perhitungannya adalah sebagai

berikut

, μ, √

………………………(2.11)

Maka,

| , μ , ………………………(2.12)

Page 38: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

20

Dimana :

P(Xk|Ci) adalah probabilitas likelihood dari atribut xk dalam

kelas Ci.

Xk adalah nilai atribut Xk

µCi adalah nilai rata-rata dari kelas Ci.

σCi adalah nilai standar deviasi dari kelas Ci

5. Untuk memprediksi label kelas X, P(X|Ci)P(Ci) perlu dievaluasi untuk

setiap kelas Ci. Penggolong naïve Bayesian memprediksi label kelas tuple

X adalah Ci jika dan hanya jika P(X|Ci)P(Ci) > P(X|Cj)P(Cj) untuk 1≤ j ≤

m, j ≠ i. Dengan kata lain, prediksi suatu label kelas adalah kelas Ci untuk

P(X|Ci)P(Ci) adalah maksimum.

Contoh, disediakan data sebagai berikut.

Tabel 2.2 Sekumpulan Data Pelatihan

NO Umur Pemasukan Mahasiswa Angka_kredit Kelas:

beli_komputer

1 Muda Tinggi Tidak Baik Tidak

2 Muda Tinggi Tidak Sangat Baik Tidak

3 Setengah baya Tinggi Tidak Baik Ya

4 Tua Menengah Tidak Baik Ya

5 Tua Rendah Ya Baik Ya

6 Tua Rendah Ya Sangat Baik Tidak

7 Setengah baya Rendah Ya Sangat Baik Ya

8 Muda Menengah Tidak Baik Tidak

9 Muda Rendah Ya Baik Ya

Page 39: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

21

10 Tua Menengah Ya Baik Ya

11 Muda Menengah Ya Sangat Baik Ya

12 Setengah baya Menengah Tidak Sangat Baik Ya

13 Setengah baya Tinggi Ya Baik Ya

14 Tua Menengah Tidak Sangat Baik Tidak

Data digambarkan dengan atribut-atribut umur, pemasukan, mahasiswa,

dan angka_kredit. Sedangkan atribut label kelas adalah beli_komputer yang terdiri

dari dua nilai yaitu “ya” atau “tidak”. Misalkan C1 adalah kelas beli_komputer =

ya dan C2 adalah kelas beli_komputer=tidak. Data yang akan diklasifikasikan

adalah X = (umur = muda, pemasukkan = menengah, mahasiswa = ya,

angka_kredit = baik). P(X|Ci)P(Ci) perlu dimaksimalkan untuk setiap i = 1, 2.

P(Ci) adalah probabilitas prior (untuk setiap kelas) yang dapat dihitung

berdasarkan data pelatihan pada tabel 2.2.

P(beli_komputer = ya) = 9/14 = 0.643

P(beli_komputer = tidak) = 5/14 = 0.357

Untuk menghitung P(X|Ci), untuk i = 1, 2 akan dihitung probabilitas bersyarat

sebagai berikut

P(umur = muda | beli_komputer = ya) = 2/9 = 0.222

P(umur = muda | beli_komputer = tidak) = 3/5 = 0.600

P(pemasukkan = menengah| beli_komputer = ya) = 4/9 = 0.444

P(pemasukkan = menengah | beli_komputer = tidak) = 2/5 = 0.400

P(mahasiswa = ya| beli_komputer = ya) = 6/9 = 0.667

P(mahasiswa = ya| beli_komputer = tidak) = 1/5 = 0.200

Page 40: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

22

P(angka_kredit = tinggi | beli_komputer = ya) = 6/9 = 0.667

P(angka_kredit = tinggi | beli_komputer = ya) = 2/5 = 0.400

Dari probabilitas-probabilitas tersebut, diperoleh

P(X|beli_komputer = ya) = P(umur = muda | beli_komputer = ya) x

P(pemasukkan = menengah| beli_komputer = ya) x

P(mahasiswa = ya| beli_komputer = ya) x

P(angka_kredit = tinggi | beli_komputer = ya)

= 0.222 x 0.444 x 0.667 x 0.667

= 0.044

Dengan cara yang sama,

P(X|beli_komputer = tidak) = 0.600 x 0.400 x 0.200 x 0.400 = 0.019.

Untuk menemukan kelas Ci, maksimalkan P(X|Ci)P(Ci) dengan menghitung

P(X|beli_komputer = ya) P(beli_komputer = ya) = 0.044 x 0. 643 = 0.028

P(X|beli_komputer = tidak) P(beli_komputer = tidak) = 0.019 x 0. 357 = 0.007

Persentasi prediksi untuk beli_komputer = ya adalah :

0.028/(0.028 + 0.007 ) x 100% = 80 %

Persentasi prediksi untuk beli_komputer = tidak adalah :

0.007/(0.028 + 0.007 ) x 100% = 20 %

Maka, penggolong naïve Bayesian memprediksi beli_komputer = ya untuk

pengujian pada tuple x.

Page 41: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

23

D. k-fold Cross Validation

Cross Validation adalah salah satu metode yang bisa digunakan untuk

mengukur kinerja dari sebuah model prediktif. Dalam k-fold Cross Validation,

data akan dipartisi secara acak ke dalam k partisi, D1, D2, …Dk, masing-masing D

mempunyai jumlah yang sama. Pada iterasi ke – i partisi Di digunakan sebagai

data uji, sedangkan sisa partisi digunakan sebagai data pelatihan. Maka dari itu

pada iterasi pertama, D1 digunakan sebagai data uji dan D2, D3, ….Dk digunakan

sebagai data pelatihan. Pada iterasi kedua, D2 digunakan sebagai data uji,

sedangakan D1, D3, ….Dk digunakan sebagai data pelatihan. Pada iterasi ketiga,

D3 digunakan sebagai data uji, sedangkan D1, D2, …Dk digunakan sebagai data

pelatihan dan seterusnya. Setiap sample D, hanya digunakan sekali sebagai data

uji dan berkali-kali sebagai data pelatihan.

Untuk pengklasifikasian, pengukuran keakurasian dapat dihitung dengan

cara : seluruh jumlah klasifikasi yang benar dari k iterasi, dibagi dengan seluruh

data.

E. Mengukur Tingkat Keakuratan Penggolong (Classifier)

Keakuratan penggolong dapat diukur dari data uji. Keakuratan penggolong

(jika diberikan data uji) adalah persentasi dari dari tuple data uji yang telah

diprediksi dengan benar oleh penggolong.

Confusion matrix adalah alat yang berguna untuk menganalisis sebagus

apa sebuah penggolong dapat mengenal tuple dari kelas-kelas yang berbeda. Jika

ada m kelas, maka confusion matrix adalah tabel yang berukuran m x m. CMi, j

Page 42: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

24

adalah inputan pada baris m yang pertama dan kolom m yang pertama. CMi, j

menunjukkan jumlah tuple dari kelas i yang sudah dilabeli oleh penggolong

sebagai kelas j.

Tabel 2.3 confusion matrix

Jika diberikan dua kelas, ada terminologi tuple positif dan tuple negatif.

Benar positif merujuk pada tuple positif yang dilabeli oleh penggolong secara

benar. Benar negatif merujuk pada tuple negatif yang dilabeli oleh penggolong

secara benar. Salah positif merujuk pada tuple negatif yang dilabeli dengan tidak

benar. Maka, Salah negatif merujuk pada tuple positif yang dilebeli dengan tidak

benar. Sensitivitas (sensitivity) juga merujuk pada angka benar positif. Angka

benar positif adalah ukuran dari tuple positif yang diidentifikasi dengan benar.

Spesifikasi (specificity) merujuk pada angka benar negatif. Angka benar negatif

adalah ukuran dari tuple negatif yang diidentifikasi dengan benar. Sebagai

tambahan, diperlukan perhitungan ketelitian (precision) untuk mendapatkan

persentasi dari tuple yang dilabeli sebagai ‘a’ yang sebenarnya adalah ‘a’.

_ ……………………………………(2.13)

_ ……………………………………..(2.14)

Page 43: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

25

__ _

………………………..........(2.15)

Dimana :

t_pos adalah jumlah benar positif.

pos adalah jumlah tuple positif.

t_neg adalah jumlah benar negatif.

neg adalah jumlah tuple negatif.

f_pos adalah jumlah salah positif.

Dengan demikian untuk menghitung keakuratan sebuah penggolong

adalah

….(2.16)

F. Analisis Korelasi

Analisis korelasi merupakan salah satu dari metode statistik. Metode ini

digunakan untuk menyelidiki hubungan antara dua buah variabel atau antar set

variabel. Analisis korelasi mengukur seberapa besar hubungan antara dua variabel

atau antar set variabel.

Nilai korelasi berkisar antara -1 hingga 1. Nilai korelasi -1 berarti bahwa

hubungan antara dua variabel adalah hubungan negatif sempurna. Nilai korelasi 0

berarti bahwa hubungan antara dua variabel dapat diabaikan atau dengan kata lain

tidak ada hubungan antara dua variabel. Niali korelasi 1 berarti bahwa terdapat

hubungan positif sempurna antara dua variabel. Besarnya nilai korelasi antara

Page 44: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

26

variabel dapat diklasifikasikan sebagai berikut.

Tabel 2.4 Tabel Interprestasi Besarnya Nilai Koresi

Nilai Korelasi Hubungan Korelasi

0,00 – 0,09 Diabaikan/tidak ada korelasi

0,10 – 0,29 Rendah

0,30 – 0,49 Moderat

0,50 – 0,70 Sedang

> 0,70 Sangat kuat

Untuk mengetahui hubungan antara dua variabel data yang berskala ordinal

digunakan koefisien korelasi Rank Spearman dan Kendall’s Tau. Koefisien

Pearson digunakan untuk mengetahui hubungan antara dua variabel data yang

berskala interval.

Salah satu jenis korelasi adalah korelasi bivariat. Korelasi bivariat merupakan

uji korelasi sederhana antara dua variabel.

Tabel 2.5 Tabel Contoh Hasil Analisis Korelasi di SPSS

Dari tabel 2.5, tabel Contoh Hasil Analisis Korelasi di SPSS di atas, korelasi

dilakukan satu arah (1-tailed) dan nilai signifikansi untuk korelasi tersebut adalah

Page 45: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

27

0,05.

Ada tiga bagian yang perlu diperhatikan pada masing-masing cell. Bagian

pertama, merupakan koefisien korelasi. Pada contoh di tabel 2.5 koefisien korelasi

adalah -0,310. Bagian kedua, merupakan nilai signifikasi dari korelasi tersebut.

Pada contoh di tabel 2.5 tersebut nilai signifikasi adalah 0,018. Dan bagian yang

terakhir, 46 merupakan jumlah kasus yang diobservasi yaitu kasus yang

digunakan untuk menghitung koefisien korelasi.

Page 46: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

28

BAB III

ANALISIS DAN PERANCANGAN SISTEM

A. Identifikasi Sistem

Setiap tahun Universitas Sanata Dharma menerima calon mahasiswa baru

melalui tes masuk. Ada 3 gelombang tes masuk yaitu gelombang 1, gelombang 2,

dan gelombang 3. Calon mahasiswa yang mengikuti tes masuk berasal dari latar

belakang SMA yang berbeda-beda, dengan jurusan yang berbeda-beda pula.

Sebelum menjalani tes masuk, calon mahasiswa memilih maksimal 3 prodi sesuai

dengan keinginan mereka. Ketiga pilihan prodi tersebut ditempatkan pada pilihan

1, pilihan 2, dan pilihan 3. Ketika menjalani tes masuk, calon mahasiswa

menempuh 5 komponen tes, yaitu tes kemampuan numerik, penalaran verbal,

mekanik, hubungan ruang, dan bahasa Inggris. Semua keterangan tentang data-

data tersebut dikumpulkan dan didokumentasikan oleh pihak universitas.

Data PMB (Penerimaan Mahasiswa Baru) tersebut akan diteliti apakah

mempengaruhi keberhasilan studi mahasiswa yang bersangkutan. Keberhasilan

studi seorang mahasiswa dapat direpresentasikan dengan indeks prestasi

kumulatif. Untuk meneliti apakah ada keterkaitan antara data PMB dengan

prestasi akademik seorang mahasiswa, akan dilakukan proses penambangan data.

Penambangan data akan menemukan informasi/pengetahuan yang

mendeskripsikan mahasiswa dengan data PMB seperti apa yang mempunyai

prestasi akademik kurang/memuaskan/sangat memuaskan/dengan pujian.

Data PMB dan data akademik mahasiswa yang digunakan adalah data

Page 47: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

29

mahasiswa prodi Teknik Informatika tahun 2000 sampai dengan tahun 2007. Data

tersebut dibagi menjadi 2 bagian dengan metode pengukuran menggunakan cross-

validation. Bagian pertama digunakan sebagai data pelatihan, dan bagian yang

lainnya digunakan sebagai data uji. Data pelatihan digunakan untuk membuat

sebuah classifier yang menjelaskan karakteristik data mahasiswa yang

mempunyai prestasi akademik kurang/memuaskan/sangat memuaskan/dengan

pujian. Melalui classifier tersebut akan dites sebuah record data yang diambil dari

kumpulan data uji. Maka, record bisa diklasifikasikan ke dalam klasifikasi

mahasiswa yang mempunyai nilai prestasi akademik kurang/memuaskan/sangat

memuaskan/dengan pujian.

B. Analisis Data Awal

Data mentah yang digunakan untuk penelitian ini adalah data PMB dan

data akademik mahasiswa Teknik Informatika yang didapat dari Biro

Administrasi Akademik (BAA) melalui Biro Administrasi dan Perencanaan

Sistem Informasi (BAPSI). Data diberikan dalam format ekstensi xls yang

terdiri dari 8 sheet. Sheet pertama menampung data-data mahasiswa Teknik

Informatika tahun 2007, sheet 2 sampai sheet 8 berturut-turut menampung

data-data mahasiswa Teknik Informatika tahun 2006, 2005, 2004, 2003,

2002, 2001, dan 2000. Data mahasiswa tersebut terdiri dari atribut Nomor,

Gelombang, Pilihan 1, Pilihan 2, Pilihan 3, Asal SMA, Jurusan SMA, Nilai

Tes Masuk Penalaran Verbal (PV), Nilai Tes Masuk Kemampuan Numerik

(KN), Nilai Tes Masuk Penalaran Mekanik (PM), Nilai Tes Masuk Hubungan

Page 48: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

30

Ruang (HR), Nilai Tes Masuk Bahasa Inggris (BI), dan IPK Semester 4.

Pada sheet pertama, terdapat 92 data yaitu data mahasiswa yang

diterima di Prodi Teknik Informatika pada tahun 2007. Ada 45 record yang

mempunyai data tidak lengkap. Data yang tidak lengkap tersebut merupakan

data mahasiswa yang atribut pilihan 2 dan atau atribut pilihan 3 kosong, serta

data mahasiswa yang diterima di Prodi Teknik Informatika melalui jalur

prestasi. Mahasiswa yang masuk melalui jalur prestasi tidak mempunyai nilai

tes masuk karena seleksi dilakukan berdasarkan nilai rapor. Jadi, pada sheet 1

data yang tidak lengkap terdiri dari data pilihan 2, pilihan 3, nilai tes masuk

PV (Penalaran Verbal), nilai tes masuk KN (Kemampuan Numerik), nilai tes

masuk PM (Penalaran Mekanik), nilai tes masuk HR (Hubungan Ruang),

nilai tes masuk BI (Bahasa Inggris).

Pada sheet 2 yang menampung data mahasiswa Teknik Informatika

tahun 2006, terdapat 100 data, 41 diantaranya mempunyai data yang tidak

lengkap. Sama seperti sheet 1, data yang tidak lengkap merupakan data

mahasiswa yang atribut pilihan 2 dan atau atribut pilihan 3 kosong serta data

mahasiswa yang masuk melalui jalur prestasi.

Sheet 3 menampung data mahasiswa Teknik Informatika tahun 2005.

Sheet 3 terdapat 76 data. 27 diantaranya mempunyai data yang tidak lengkap.

Sama seperti sheet sebelumnya, data yang tidak lengkap merupakan data

mahasiswa yang atribut pilihan 2 dan atau atribut pilihan 3 kosong serta data

mahasiswa yang masuk melalui jalur prestasi.

Sheet 4 menampung data mahasiswa Teknik Informatika tahun 2004.

Page 49: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

31

Sheet 4 terdapat 68 data. 23 diantaranya mempunyai data yang tidak lengkap.

Sama seperti sheet sebelumnya, data yang tidak lengkap merupakan data

mahasiswa yang atribut pilihan 2 dan atau atribut pilihan 3 kosong serta data

mahasiswa yang masuk melalui jalur prestasi.

Sheet 5 menampung data mahasiswa Teknik Informatika tahun 2003.

Dari 66 data, ada 19 data yang memiliki atribut tidak lengkap. Data yang

tidak lengkap merupakan data mahasiswa yang atribut pilihan 2 dan atau

atribut pilihan 3 kosong serta data mahasiswa yang masuk melalui jalur

prestasi.

Sheet 6 menampung 67 data mahasiswa Teknik Informatika tahun

2002. 19 diantaranya mempunyai data yang tidak lengkap berupa atribut IPK

yang kosong, atribut pilihan 2 dan atau atribut pilihan 3 yang kosong, serta

atribut 5 komponen tes kosong.

Terdapat 106 data mahasiswa Teknik Informatika tahun 2001 pada

Sheet 7. Dari 106 data tersebut, terdapat 31 data yang memiliki atribut tidak

lengkap berupa atribut IPK yang kosong, atribut pilihan 2 dan atau atribut

pilihan 3 yang kosong, serta atribut 5 komponen tes kosong.

Sheet terakhir yaitu sheet 8 menampung data mahasiswa Teknik

Informatika tahun 2000. Ada 100 data pada sheet 8. 36 diantaranya memiliki

atribut yang tidak lengkap. Ada beberapa record yang tidak memiliki data

PMB sama sekali (seluruh atribut kosong kecuali atribut IPK). Hal lain

penyebab ketidaklengkapan atribut sama seperti beberapa sheet sebelumnya

yaitu atribut IPK yang kosong, atribut pilihan 2 dan atau atribut pilihan 3

Page 50: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

32

yang kosong, serta atribut 5 komponen tes kosong.

1. Pembersihan Data

Pembersihan data (data cleaning) merupakan langkah awal dalam

proses penambangan data. Pada data mentah, terdapat beberapa record

yang mempunyai data yang tidak lengkap (missing value). Pada proses

pembersihan data, record yang mempunyai data yang tidak lengkap

tersebut dibuang.

Pada sheet 1 ada 45 record yang dibuang. 41 record dibuang pada

sheet 2, 27 record pada sheet 3, 23 record pada sheet 4, 19 record pada

sheet 5, 19 record pada sheet 6, 31 record pada sheet 7, dan 36 record

pada sheet 8.

2. Integrasi Data

Pada langkah ini, dilakukan proses penggabungan data. Data mentah

yang diterima disajikan secara terpisah untuk setiap tahunnya (disajikan

per sheet). Data yang disajikan secara terpisah tersebut disatukan dan

disimpan dalam satu tabel pada satu sheet.

3. Seleksi Data

Data yang sudah diintegrasikan dikenai proses seleksi data. Pada

proses seleksi data, dipilih atribut-atribut yang relevan untuk penelitian.

Data mentah yang didapat terdiri dari atribut-atribut berikut ini : Nomor,

Gelombang, Pilihan 1, Pilihan 2, Pilihan 3, Asal SMA, Jurusan SMA,

Nilai Tes Masuk PV (Penalaran Verbal), Nilai Tes Masuk KN

(Kemampuan Numerik), Nilai Tes Masuk PM (Penalaran Mekanik), Nilai

Page 51: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

33

Tes Masuk HR (Hubungan Ruang), Nilai Tes Masuk BI (Bahasa Inggris),

dan IPK Semester 4. Atribut yang diperlukan untuk penambangan data

adalah : Gelombang, Pilihan 1, Pilihan 2, Pilihan 3, Jurusan SMA, Nilai

Tes Masuk PV (Penalaran Verbal), Nilai Tes Masuk KN (Kemampuan

Numerik), Nilai Tes Masuk PM (Penalaran Mekanik), Nilai Tes Masuk

HR (Hubungan Ruang), Nilai Tes Masuk BI (Bahasa Inggris), dan IPK

Semester 4. Atribut nomor dan asal SMA tidak dipakai karena kedua

atribut tersebut tidak relevan untuk penelitian.

Pada proses ini juga dilakukan analisis korelasi untuk analisis

variabel dengan menggunakan aplikasi SPSS. Analisis korelasi dilakukan

untuk memastikan apakah 10 atribut yang digunakan untuk penambangan

data bersifat independen satu sama lain. Artinya, antara atribut satu dengan

atribut yang lain tidak saling mempengaruhi.

Analisis korelasi digunakan untuk menyelidiki hubungan antara dua

buah variabel. Analisi korelasi ini akan mengukur seberapa besar

hubungan antara dua variabel atau antar set variabel. Berikut ini adalah

hasil analisis korelasi untuk 10 atribut prediktor yaitu atribut Gelombang,

Pilihan 1, Pilihan 2, Pilihan 3, Asal SMA, Jurusan SMA, Nilai Tes Masuk

PV (Penalaran Verbal), Nilai Tes Masuk KN (Kemampuan Numerik),

Nilai Tes Masuk PM (Penalaran Mekanik), Nilai Tes Masuk HR

(Hubungan Ruang), Nilai Tes Masuk BI (Bahasa Inggris).

Page 52: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

34

Tabel 3.1 Tabel output analisis korelasi dengan menggunakan SPSS

Page 53: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

35

Koefisien korelasi yang digunakan adalah koefisien Pearson karena

data yang diuji berskala interval. Uji dilakukan dua arah atau dua sisi.

Variabel yang dianggap layak untuk digunakan dalam penelitian dengan

menggunakan algoritma naïve bayesian adalah variabel yang nilai

korelasinya rendah/nilai korelasinya dapat diabaikan. Nilai korelasi dua

variabel rendah berarti kedua variabel tersebut independen satu sama lain.

Nilai korelasi yang rendah atau nilai korelasi yang dapat diabaikan adalah

nilai korelasi yang berkisar antara 0,00 hingga 0,09.

Dari tabel 3.1 dapat dilihat bahwa ada beberapa atribut yang

mempunyai hubungan korelasi dengan atribut lain. Berikut rangkuman

analisisnya.

Tabel 3.2 Tabel rangkuman analisis korelasi

Atribut Independen terhadap

atribut Berkorelasi dengan atribut

Gelombang Pilihan3, Jurusan_SMA,

PV, PM, HR

Pilihan1, Pilihan2, KN, BI

Pilihan1 Jurusan_SMA, PV, KN,

PM, BI

Gelombang, Pilihan2,

Pilihan3, HR,

Pilihan2 Pilihan3, PV, KN, BI Gelombang, Pilihan1,

Jurusan_SMA, HR, PM

Pilihan3 Jurusan_SMA, PV, KN,

BI

Gelombang, Pilihan1,

Pilihan2, PM, HR

Jurusan_SMA PV, PM, HR Gelombang, Pilihan1,

Pilihan2, Pilihan3, KN, BI

PV BI Gelombang, Pilihan1,

Pilihan2, Pilihan3,

Page 54: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

36

Jurusan_SMA, KN, PM, HR

KN BI Gelombang, Pilihan1,

Pilihan2, Pilihan3,

Jurusan_SMA, PV, PM, HR

PM BI Gelombang, Pilihan1,

Pilihan2, Pilihan3,

Jurusan_SMA, PV, KN, HR

HR BI Gelombang, Pilihan1,

Pilihan2, Pilihan3,

Jurusan_SMA, PV, KN, PM

Dari tabel 3.2 didapat 6 atribut yang saling independen satu sama lain,

yaitu atribut : Gelombang, Pilihan3, Jurusan_SMA, PV, PM, HR.

1. Transformasi Data

Pada langkah transformasi data, data nilai akademik mahasiswa

dklasifikasikan menjadi memuaskan/sangat memuaskan/dengan pujian

sesuai dengan buku panduan akademik mahasiswa prodi Teknik

Informatika dan dengan tambahan kategori IPK kurang untuk mahasiswa

yang mempunyai IPK < 2, 00. Berikut klasifikasinya:

Tabel 3.3 Transformasi Data IPK

IPK Klasifikasi

3,51 - 4,00 Dengan Pujian

2,76 - 3,50 Sangat Memuaskan

2,00 – 2,75 Memuaskan

< 2, 00 Kurang

Page 55: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

37

A. Perancangan Umum Sistem

1. Masukan Sistem

Seperti telah disebutkan sebelumya, data yang akan diteliti dibagi

menjadi dua bagian yaitu data yang digunakan untuk data pelatihan

dan data yang digunakan untuk data uji. Kedua data tersebut akan

menjadi masukan bagi sistem. Data pelatihan terdiri dari 7 atribut, 6

atribut yaitu Gelombang, Pilihan3, Jur_SMA, final_tes_PV,

final_tes_PM, final_tes_HR adalah atribut input, sedangkan atribut

ke-7 yaitu IPK merupakan atribut target. Berikut ini adalah masukan

untuk data pelatihan.

Tabel 3.4 Deskripsi Masukan Untuk Data Pelatihan

No Nama Atribut Keterangan Nilai Atribut 1 Gelombang Gelombang satu, dua, tiga, kerjasama 2 Pilihan3 Pilihan ke 3 AKT, BK, FAR, FIS, IND,

IPAK, MAN, MAT, MEKA, PAK, PBI, PBSID, PEK, PFIS, PGSD, PMAT, PSEJ, PSI, SEJ, SING, TE, TI, TM

3 jur_SMA Jurusan SMA

SMU/MA IPA, SMU/MA IPS, SMU/MA /DUDAYA/ BAHASA, SMK (TEKNIK/ STM), SMK (EKONOMI/SMEA/SMKK), SMF.

4 final_tes_PV Nilai final tes masuk penalaran verbal

0, 00 – 10, 00

5 final_tes_PM Nilai final tes masuk penalaran mekanik

0, 00 – 10, 00

6 final_tes_HR Nilai final tes masuk hubungan

0, 00 – 10, 00

Page 56: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

38

ruang 7 IPK IPK

mahasiswa pada semester ke 4

Kurang, Memuaskan, sangat memuaskan, dengan pujian

Sedangkan masukan untuk data uji hampir sama dengan masukan

untuk data pelatihan, hanya saja masukan untuk data uji dianggap

tidak mempunyai atribut IPK; yang ada adalah atribut prediksi.

Masukan untuk data uji juga terdiri dari terdiri dari 7 atribut, 6 atribut

yaitu Gelombang, Pilihan3, Jur_SMA, final_tes_PV, final_tes_PM,

final_tes_HR adalah atribut input dan atribut ke-7 adalah prediksi.

Atribut prediksi digunakan untuk menyimpan hasil uji yang dibuat

oleh penggolong (classifier). Berikut ini adalah masukan untuk data

uji.

Tabel 3.5 Deskripsi Masukan Untuk Data Uji

No Nama Atribut Keterangan Nilai Atribut 1 Gelombang Gelombang satu, dua, tiga, kerjasama 2 Pilihan3 Pilihan ke 3 AKT, BK, FAR, FIS, IND,

IPAK, MAN, MAT, MEKA, PAK, PBI, PBSID, PEK, PFIS, PGSD, PMAT, PSEJ, PSI, SEJ, SING, TE, TI, TM

3 jur_SMA Jurusan SMA

SMU/MA IPA, SMU/MA IPS, SMU/MA /DUDAYA/ BAHASA, SMK (TEKNIK/ STM), SMK (EKONOMI/SMEA/SMKK), SMF.

4 final_tes_PV Nilai final tes masuk penalaran verbal

0, 00 – 10, 00

Page 57: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

39

5 final_tes_PM Nilai final tes masuk penalaran mekanik

0, 00 – 10, 00

6 final_tes_HR Nilai final tes masuk hubungan ruang

0, 00 – 10, 00

5 Prediksi Nilai awal adalah kosong. Nantinya akan berisi prediksi dari nilai IPK mahasiswa pada semester ke 4

Kurang, Memuaskan, sangat memuaskan, dengan pujian

1.1. Perancangan Struktur Data

Struktur Data yang digunakan untuk menyimpan data tersebut

berupa List. Data pelatihan ditampung di List Pelatihan dan data

uji ditampung di List data Uji. Ada 7 list yang digunakan untuk

menampung data mahasiswa.

Tabel 3.6 Tabel List Data Mahasiswa

Nama List Fungsi List Gelombang digunakan untuk menampung

data gelombang masuk

mahasiswa baru

List Pilihan3 digunakan untuk menampung

data mahasiswa baru yaitu

pilihan prodi ke 3

list Jur_SMA digunakan untuk menampung

data jurusan mahasiswa ketika

Page 58: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

40

di SMA

list tes_PV digunakan untuk menampung

data nilai tes masuk mahasiswa

untuk komponen penalaran

verbal

list tes_PM digunakan untuk menampung

data nilai tes masuk mahasiswa

untuk komponen penalaran

mekanik

list tes_HR digunakan untuk menampung

data nilai tes masuk mahasiswa

untuk komponen hubungan

ruang

list IPK digunakan untuk menampung

data IPK mahasiswa pada

semester 4

2. Proses Sistem

Masukan sistem akan diproses dengan algoritma naïve bayesian.

Berikut ini adalah proses dari sistem :

a. Data masukan akan dibagi ke dalam beberapa fold atau partisi

tertentu (pembagian partisi berdasarkan inputan user) yang

jumlah data untuk setiap partisi adalah sama.

b. Misal user menginputkan jumlah partisi 10 ; pada iterasi

pertama, partisi 1 akan dijadikan sebagai data uji dan partisi 2

– partisi 10 digunakan sebagai data pelatihan. Pada itersai

kedua, partisi 2 akan dijadikan data uji, sedangkan partisi 1

Page 59: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

41

dan partisi 3 – partisi 10 akan dijadikan data pelatihan. Pada

iterasi ketiga, partisi 3 akan dijadikan sebagai data uji,

sedangkan partisi 1, partisi 2, partisi 4 – partisi 10 akan

dijadikan data pelatihan. Begitu seterusnya hingga partisi 10

digunakan sebagai data uji dan partisi 1- partisi 9 digunakan

sebagai data pelatihan.

c. Deklarasikan kelas-kelas yang muncul dari atribut target.

Misal C1 untuk kelas IPK=kurang, C2 untuk IPK=memuaskan,

C3 untuk kelas IPK=sangat memuaskan, C4 untuk kelas

IPK=dengan pujian.

d. Untuk setiap record pada partisi data uji lakukan perhitungan

menggunakan data dari sekumpulan partisi data pelatihan

sebagai berikut:

d.1. Hitung Likelihood masing-masing atribut untuk setiap

kelas C1, C2, C3, C4.

d.1.1. Cek Atribut apakah atribut kategorikal atau atribut

kontinyus.

d.1.1.1. Jika Atribut kategorikal, perhitungan

likelihood merujuk pada rumus 2.10

berikut ini

P(xk | Ci) = |xki|/ Nci .

Implementasi rumus 2.10 pada data dapat

dilihat pada lampiran.

Page 60: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

42

d.1.1.2. Jika Atribut kontinyus, perhitungan

likelihood merujuk pada rumus 2.11

berikut ini

Implementasi rumus 2.11 pada data dapat

dilihat pada lampiran.

d.2. Hitung probabilitas prior untuk masing-masing kelas C1,

C2, C3, C4. Probabilitas prior dari kelas Cx dapat dihitung

dengan cara membagi jumlah Cx dengan jumlah seluruh

sampel.

d.3. Hitung probabilitas posterior sesuai dengan rumus 2.4

sebagai berikut

d.4. Bandingkan hasil perhitungan probabilitas posterior untuk

kelas C1, C2, C3, C4. Penggolong naïve Bayesian

memprediksi sebuah record ke kelas yang mempunyai

nilai probabilitas posterior tertinggi.

3. Keluaran Sistem

Setiap tahapan proses dalam program mempunyai keluaran sebagai

berikut:

a. Proses input data menampilkan:

1) Jumlah sampel data keseluruhan.

2) Jumlah atribut keseluruhan.

Page 61: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

43

3) Detail dari atribut masukan dan atribut target berupa :

a) Nilai-nilai kejadian dari masing-masing atribut masukkan

dan atribut target.

b) Jumlah masing-masing nilai kejadian dari atribut masukkan

dan atribut target.

b. Proses klasifikasi menampilkan:

1) Jumlah fold yang digunakan untuk proses klasifikasi.

2) Kelas-kelas yang akan diklasifikasi.

3) Nomor record data uji pada masing-masing fold (yang artinya :

nomor record yang tidak dicantumkan adalah sebagai data

pelatihan).

4) Hasil prediksi untuk setiap record pada data uji.

5) Jumlah data yang bisa diklasifikasikan dengan benar dan

jumlah data yang gagal diklasifikasikan dengan benar.

6) Tingkat validitas prediksi.

4. Diagram Model Use Case

Gambar 3.1. Use- case

Page 62: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

44

4.1 Narasi Use Case

Pengarang : Asteria Indharlina Tanggal : 13 November 2009

Versi :

Nama Use Case Input Data Jenis Use Case : Persyaratan Bisnis Use Case ID KNB-001

Prioritas Tinggi Sumber - Aktor Bisnis Primer

Petugas

Aktor pendukung lainnya

-

Stakeholder lain yang berhubungan

-

Deskripsi Use case ini mendeskripsikan suatu kejadian yang dilakukan oleh petugas. Petugas menginputkan data ke sistem untuk dilakukan proses perhitungan dengan algoritma Naïve Bayesian.

Prakondisi File data yang diinputkan adalah file excel dengan format extention .xls.

Pemicu - Langkah Umum Kegiatan aktor Respon Sistem Langkah 1: Petugas

memilih sub menu input data pada sistem. Langkah 3: Petugas mem-browse file data excel.

Langkah 2 : Sistem merespon dengan menampilkan halaman input data. Langkah 4: Sistem merespon dengan menampilkan data pada tabel yang telah disediakan, dan menampilkan atribut pada tabel yang telah disediakan. Sistem juga menampilkan informasi tentang jumlah sampel data keseluruhan, jumlah atribut, detail atribut

Page 63: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

45

berupa nama atribut, nilai kejadian atribut dan jumlah dari masing-masing nilai kejadian atribut.

Langkah alternatif - Kesimpulan Use case ini selesai jika sistem sudah menampilkan

data mahasiswa pada tabel yang telah disediakan, atribut pada tabel disediakan beserta informasi-informasi tentang jumlah sampel data keseluruhan, jumlah atribut dan detail atribut

Pascakondisi Data pada tabel tersebut akan diolah untuk dikenai algoritma naïve bayesian.

Aturan bisnis - Batasan dan spesifikasi Implementasi

-

Asumsi - Masalah terbuka -

Pengarang : Asteria Indharlina Tanggal : 13 November 2009

Versi :

Nama Use Case Lihat Detail Atribut Jenis Use Case : Persyaratan Bisnis Use Case ID KNB-002

Prioritas Tinggi Sumber - Aktor Bisnis Primer

Petugas

Aktor pendukung lainnya

-

Stakeholder lain yang berhubungan

-

Deskripsi Use case ini mendeskripsikan suatu kejadian yang dilakukan oleh petugas. Ketika petugas melakukan aksi klik pada salah satu cell tabel detail atribut, maka sistem akan menampilkan detail atribut berupa nama atribut, nilai kejadian atribut dan jumlah nilai dari masing-masing nilai kejadian atribut.

Prakondisi Petugas sudah mengeksekusi use case “Input Data”. Pemicu - Langkah Umum Kegiatan Aktor Respon Sistem Langkah 1: Sistem

Page 64: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

46

Langkah 2 : Petugas melakukan aksi klik (pilih atribut yang akan dilihat detail informasinya) pada salah satu cell tabel detail atribut. Langkah 4 : Petugas melihat detail atribut.

menampilkan atribut pada tabel detail atribut. Langkah 3 : Sistem menampilkan informasi berupa nama atribut, nilai kejadian atribut dan jumlah nilai dari masing-masing nilai kejadian atribut.

Langkah alternatif - Kesimpulan Use case ini selesai jika sistem sudah menampilkan

Detail informasi dari atribut yang dipilih berupa nama atribut, nilai kejadian atribut dan jumlah nilai dari masing-masing nilai kejadian atribut.

Pascakondisi - Aturan bisnis - Batasan dan spesifikasi Implementasi

-

Asumsi - Masalah terbuka -

Pengarang : Asteria Indharlina Tanggal : 13 November 2009

Versi :

Nama Use Case Input Fold Jenis Use Case : Persyaratan Bisnis Use Case ID KNB-003

Prioritas Tinggi Sumber - Aktor Bisnis Primer

Petugas

Aktor pendukung lainnya

-

Stakeholder lain -

Page 65: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

47

yang berhubungan Deskripsi Use case ini mendeskripsikan suatu kejadian yang

dilakukan oleh petugas. Untuk melakukan perhitungan probabilitas pada algoritma naïve bayesian, petugas perlu memasukkan jumlah fold (jumlah fold minimal adalah 2 dan jumlah fold maksimal adalah jumlah data keseluruhan itu sendiri) ke sistem.

Prakondisi Petugas sudah mengeksekusi use case “Input Data”. Pemicu - Langkah Umum Kegiatan Aktor Respon Sistem Langkah 1 : Petugas

memasukkan jumlah fold pada field yang telah disediakan. Langkah 2: Petugas menekan tombol OK .

Langkah 3 : Sistem menampilkan hasil prediksi dan tingkat validasi dari prediksi tersebut.

Langkah alternatif - Kesimpulan Use case ini selesai jika sistem sudah menampilkan

hasil prediksi dan tingkat validasi dari prediksi tersebut.

Pascakondisi - Aturan bisnis - Batasan dan spesifikasi Implementasi

-

Asumsi - Masalah terbuka -

Page 66: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

48

Pengarang : Asteria Indharlina Tanggal : 13 November 2009

Versi :

Nama Use Case Hitung Posterior Jenis Use Case : Persyaratan Bisnis Use Case ID KNB-004

Prioritas Tinggi Sumber - Aktor Bisnis Primer

Petugas

Aktor pendukung lainnya

-

Stakeholder lain yang berhubungan

-

Deskripsi Use case ini mendeskripsikan suatu kejadian yang dilakukan oleh petugas. Untuk melakukan proses perhitungan posterior, petugas hanya perlu menekan tombol OK setelah melakukan input fold. Perhitungan posterior ini merupakan perhitungan terakhir untuk menentukan hasil klasifikasi dari sebuah record data. Dan tentunya perhitungan posterior sudah melewati tahap-tahap perhitungan seperti : perhitungan prior, perhitungan likelihood baik untuk atribut katergorikal maupun atribut kontinyus, perhitungan laplace estimator seperti telah dijelaskan pada bab 2.

Prakondisi Petugas sudah mengeksekusi use case “Input Data”, use case “input fold”.

Pemicu - Langkah Umum Kegiatan Aktor Respon Sistem Langkah 1 : Petugas

memasukkan jumlah fold pada field yang telah disediakan. Langkah 2: Petugas menekan tombol OK .

Langkah 3 : Secara bertahap sistem melakukan perhitungan prior, perhitungan likelihood baik untuk atribut katergorikal maupun atribut kontinyus, perhitungan laplace estimator, dan perhitungan posterior itu

Page 67: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

49

sendiri. Langkah 4 : Sistem menampilkan informasi yang sudah ditambang dengan cara memvisualisasikan dan merepresentasikan hasil prediksi dan tingkat validasi prediksi kepada pengguna.

Langkah alternatif - Kesimpulan Use case ini selesai jika sistem sudah menampilkan

hasil prediksi dan tingkat validasi dari prediksi tersebut.

Pascakondisi - Aturan bisnis - Batasan dan spesifikasi Implementasi

-

Asumsi - Masalah terbuka -

Pengarang : Asteria Indharlina Tanggal : 13 November 2009

Versi :

Nama Use Case Simpan File Hasil Klasifikasi

Jenis Use Case : Persyaratan Bisnis

Use Case ID KNB-005 Prioritas Sedang Sumber - Aktor Bisnis Primer

Petugas

Aktor pendukung lainnya

-

Stakeholder lain yang berhubungan

-

Deskripsi Use case ini mendeskripsikan suatu kejadian yang dilakukan oleh petugas. Petugas boleh menyimpan file hasil prediksi jika sewaktu-waktu memerlukan dokumentasi file tersebut.

Prakondisi Petugas sudah mengeksekusi use case “hitung posterior”.

Pemicu -

Page 68: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

50

Langkah Umum Kegiatan Aktor Respon Sistem

Langkah 2 : Petugas menekan tombol SIMPAN. Langkah 3 : Petugas membrowse path tempat file akan disimpan. Langkah 4 : Petugas menekan tombol Save.

Langkah 1: Sistem menampilkan hasil prediksi dan tingkat validasi prediksi Langkah 5 : Sistem menyimpan file.

Langkah alternatif - Kesimpulan Use case ini selesai jika sistem sudah menampilkan

Pesan konfirmasi bahwa file sudah disimpan. Pascakondisi - Aturan bisnis - Batasan dan spesifikasi Implementasi

-

Asumsi - Masalah terbuka -

5. Diagram Konteks

Gambar 3.2. Diagram Konteks

Page 69: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

51

6. Diagram Aktivitas

6.1. Diagram Aktivitas Input Data

Gambar 3.3. Diagram Aktivitas Input Data

6.2. Diagram Aktivitas Lihat Detail Atribut

Gambar 3.4. Diagram Aktivitas Detail Atribut

Page 70: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

52

6.3. Diagram Aktivitas Input Fold

Gambar 3.5. Diagram Aktivitas Input Fold

6.4. Diagram Aktivitas Hitung Posterior

Gambar 3.6. Diagram Aktivitas Hitung Posterior

Page 71: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

53

6.5. Diagram Aktivitas Simpan File Hasil Klasifikasi

Gambar 3.7. Diagram Aktivitas Simpan File Hasil Klasifikasi

Page 72: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

54

7. Diagram Kelas

Gambar 3.8. Diagram Kelas

Page 73: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

55

8. Diagram Sekuensial

8.1. Diagram Sekuensial Input Data

Gambar 3.9. Diagram Sekuensial Input Data

8.2. Diagram Sekuensial Lihat Detail Atribut

Gambar 3.10. Diagram Sekuensial Detail Atribut

Page 74: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

56

8.3. Diagram Sekuensial Input Fold

Gambar 3.11. Diagram Sekuensial Input Fold

8.4. Diagram Sekuensial Hitung Posterior

Gambar 3.12. Diagram Sekuensial Hitung Posterior

Page 75: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

57

8.5. Diagram Sekuensial Simpan File Hasil Klasifikasi

Gambar 3.13. Diagram Sekuensial Input Data

9. Perancangan Antarmuka

Aplikasi ini terdiri dari 4 menu utama yaitu Input Data, Bantuan,

Tentang dan Keluar. Saat pertama kali aplikasi dijalankan akan

menampilkan halaman depan seperti gambar 3.14. Kemudian ketika

pengguna sistem mengklik menu akan muncul kontrol GUI JMenuItem

seperti gambar 3.15 yang terdiri dari 4 menu item yaitu Input Data,

Bantuan, Tentang dan Keluar.

Page 76: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

58

Gambar 3.14 Halaman Awal

Gambar 3.15 Halaman Awal dengan sub menu

Page 77: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

59

Untuk menginputkan data, pengguna sistem harus berada di

halaman Input Data seperti gambar 3.16. Pertama-tama pengguna sistem

harus mem-browse file data yang akan dinputkan. Ketika mengklik

Browse akan muncul jendela untuk memilih file seperti gambar 3.17. Pada

halaman Input data ada dua tabel yaitu tabel untuk menampilkan data dan

tabel untuk menampilkan atribut data. Selain itu ada kontrol GUI

JTextArea yang digunakan untuk menampilkan detail atribut dan panel

yang digunakan untuk menampilkan grafik.

Gambar 3.16 Halaman Input Data

Page 78: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

60

Gambar 3.17 Jendela Pilih File Masukan

Tombol Proses pada halaman Input Data akan menampilkan

halaman proses seperti gambar 3.18 berikut ini. Pada halaman ini,

pengguna sistem akan menginputkan jumlah fold dengan kontrol GUI

numericTextField. Tombol KEMBALI digunakan untuk menuju ke

halaman input data, tombol LANJUT digunakan untuk menuju ke halaman

Proses Lanjutan seperti gambar 3.19, sedangkan tombol SIMPAN

digunakan untuk menyimpan file hasil prediksi. Ketika mengklik tombol

SIMPAN akan muncul jendela seperti gambar 3.17

Page 79: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

61

Gambar 3.18 Halaman Proses

Gambar 3.19 Halaman Proses Lanjutan

Page 80: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

62

Halaman Bantuan berisi petunjuk-petunjuk dalam menggunakan

aplikasi ini. Halaman bantuan ini bisa diakses saat aplikasi pertama kali

dijalankan dengan cara klik Menu | Bantuan, maka akan muncul jendela

seperti gambar 3.20. Sedangkan Halaman Tentang berisi identitas aplikasi.

Halaman tentang ini juga bisa diakses saat aplikasi pertama kali dijalankan

dengan cara klik Menu | Tentang, maka akan muncul jendela seperti

gambar 3.21.

Gambar 3.20 Halaman Bantuan

Page 81: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

63

Gambar 3.21 Halaman Tentang

Gambar 3.22 Jendela pertanyaan konfirmasi keluar

Ketika mengklik Menu | Keluar maka akan muncul jendela

pernyataan konfirmasi keluar seperti gambar 3.22.

Page 82: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

64

BAB IV

IMPLEMENTASI SISTEM

A. Spesifikasi Software dan Hardware

Spesifikasi software yang digunakan dalam implementasi sistem ini adalah :

Sistem Operasi : Microsoft Windows XP Professional Versi

2.0

Bahasa pemrograman : Java NetBeans IDE 6.5

Spesifikasi Hardware yang digunakan dalam implementasi sistem ini adalah :

Processor : Intel Core 2 Duo 2,1 GHz

Memory : 1 GB DDR 3

Hardisk : 320 GB

B. Implementasi Use-Case

Ada 5 use-case dalam desain sistem yang diimplementasikan, yaitu :

1. Input Data

2. Lihat Detail Atribut

3. Input Fold

4. Hitung Posterior

5. Simpan File Hasil Klasifikasi

Input data ke sistem dilakukan dengan memilih Menu|Input Data. Sistem

menampilkan halaman input seperti gambar 4.1. Kemudian klik tombol

BROWSE untuk memilih file .xls.

Page 83: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

65

Gambar 4.1 Halaman Input Data

Jika data berhasil diinputkan ke sistem, maka tabel data mahasiswa akan

berisi record data mahasiswa yang terdiri dari 7 atribut, sedangkan tabel

atribut akan berisi nama-nama atribut saja. Tampilan halaman input data

setelah data mahasiswa berhasil diinputkan ke sistem seperti gambar 4.2.

Page 84: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

66

Gambar 4.2 Proses Input data berhasil

Setelah proses input data berhasil, fungsi sistem untuk lihat detail atribut

bisa dilakukan. Lihat detail atribut dilakukan dengan aksi klik di salah satu

cell atribut yang dipilih pada tabel atribut. Detail atribut tersebut muncul pada

JTextArea yang berada di sebelah kanan tabel atribut. Detail atribut yang

muncul berupa nilai kejadian dari atribut tersebut dan jumlah nilai kejadian

untuk masing-masing nilai kejadian.

Page 85: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

67

Gambar 4.3 Lihat Detail Atribut

Use case input fold, hitung posterior, dan simpan file hasil klasifikasi

diimplementasikan pada halaman proses sistem seperti pada gambar 4.4

Gambar 4.4 Halaman Proses

Page 86: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

68

Pada halaman ini user menginputkan jumlah fold terlebih dahulu sebelum

menekan tombol PROSES. Tombol Proses merupakan fungsi sistem untuk

hitung posterior. Setelah menekan tombol PROSES, maka muncullah hasil

klasifikasi dibagian JTextArea. Hasil klasifikasi ini bisa disimpan dalam

bentuk file dengan menekan tombol SIMPAN.

C. Implementasi Diagram Kelas

Ada 4 kelas yang digunakan dalam pembuatan aplikasi ini, yaitu kelas

Halaman_Awal.java sebagai kelas antar muka, kelas Data_Mahasiswa

sebagai kelas entitas/model, kelas Kontrol.java sebagai kelas kontrol, dan

kelas BarChart.java sebagai kelas tambahan untuk membuat grafik. Kelas

BarChart.java didapatkan dari sumber internet dengan alamat

http://www.java2s.com/Code/Java/2D-Graphics-GUI/Chart.htm.

Metode-metode yang berperan penting terhadap jalannya sistem terdapat

di dua kelas yaitu kelas Kontrol.java dan Halaman_Awal.java. Ada dua

metode yang merupakan inti dari sistem yaitu metode InputFile(File file) dan

Hitung(int jumData, int indeks, String numericTextField_fold).

1. a. Nama kelas: Halaman_Awal.java

b. Nama metode : TampilPanel(int kondisiPanel)

c. Fungsi metode:

Metode ini berfungsi untuk mengatur kemunculan panel.

Parameter inputan bertipe int. Sebagai contoh jika memanggil

Page 87: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

69

methode TampilPanel(1), maka panel yang muncul adalah panel

Halaman_Depan.

d. Algoritma metode:

1. Semua variabel di setVisible(false).

2. Cek kondisi jika kondisiPanel sama dengan 1 maka panel

Halaman_Depan di setVisible(true). Jika kondisiPanel sama

dengan 2 maka panel Halaman_Input_Data yang di

setVisible(true). Jika kondisiPanel sama dengan 3 maka

panel Halaman_Bantuan di setVisible(true). Jika

kondisiPanel sama dengan 4 maka panel Halaman_Tentang

yang di setVisible(true). Jika kondisiPanel sama dengan 5

maka panel Halaman_Proses di setVisible(true). Jika

kondisiPanel sama dengan 6 maka panel

Halaman_Panel_lanjutan yang di setVisible(true).

e. Listing

Halaman_Depan.setVisible(false);

Halaman_Input_Data.setVisible(false);

Halaman_Bantuan.setVisible(false);

Halaman_Tentang.setVisible(false);

jButton_browse.setVisible(false);

JButton_Proses.setVisible(false);

numericTextField_fold.setVisible(false);

jTextArea_hasil_test.setVisible(false);

jButton_Save.setVisible(false);

jButton_kembali.setVisible(false);

jButton_lanjut.setVisible(false);

Halaman_Panel_lanjutan.setVisible(false);

if (kondisiPanel == 1) {

Halaman_Depan.setVisible(true);

} else if (kondisiPanel == 2) {

Halaman_Input_Data.setVisible(true);

Page 88: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

70

jButton_browse.setVisible(true);

} else if (kondisiPanel == 3) {

Halaman_Bantuan.setVisible(true);

} else if (kondisiPanel == 4) {

Halaman_Tentang.setVisible(true);

} else if (kondisiPanel == 5) {

Halaman_Proses.setVisible(true);

JButton_Proses.setVisible(true);

numericTextField_fold.setVisible(true);

jTextArea_hasil_test.setVisible(true);

jButton_Save.setVisible(true);

jButton_kembali.setVisible(true);

jButton_lanjut.setVisible(true);

} else if (kondisiPanel == 6) {

Halaman_Panel_lanjutan.setVisible(true);

} else {

Keluar.setVisible(true);

}

2. a. Nama kelas: Halaman_Awal.java

b. Nama metode : InputFile(File file)

c. Fungsi metode:

Metode ini berfungsi untuk input data yang bertipe file dengan

ekstensi file adalah xls. Methode ini memerlukan pustaka jxl.jar.

d. Algoritma metode:

1. Deklarasikan variabel-variabel yang dibutuhkan seperti,

workbook, sheet, banyakBaris, banyakKolom, data,

Gelombang, Pilihan3, Jur_SMA, tes_PV, tes_PM, tes_HR,

IPK.

2. Buat perulangan bertingkat untuk mengambil data dari cell,

yang akan dimasukkan ke list atribut kelas entitas (kelas

Data_Mahasiswa).

Page 89: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

71

3. Buat perulangan untuk mengambil data dari objek yang

dibuat dari kelas entitas Data_Mahasiswa.

4. Tampilkan data ke tabel.

e. Listing

Data_Mahasiswa dataMhs = new Data_Mahasiswa();

String Gelombang = "";

String Pilihan3 = "";

String Jur_SMA = "";

String tes_PV = "";

String tes_PM = "";

String tes_HR = "";

String IPK = "";

workbook = Workbook.getWorkbook(File);

sheet = workbook.getSheet(0);

banyakKolom = sheet.getColumns();

banyakBaris = sheet.getRows() - 1;

/* deklarasi header tabel */

data = new String[banyakBaris][banyakKolom];

for (int i = 0; i <= banyakBaris; i++) {

for (int j = 0; j < banyakKolom; j++) {

Cell cell = sheet.getCell(j, i);

if (j == 0) {

// mengambil data dari cell,

//kemudian dimasukkan ke list Gelombang

Gelombang = cell.getContents();

dataMhs.setGelombang(Gelombang);

} else if (j == 1) {

Pilihan_3 = cell.getContents();

dataMhs.setPilihan_3(Pilihan_3);

} else if (j == 2) {

Jur_SMA = cell.getContents();

dataMhs.setJur_SMA(Jur_SMA);

} else if (j == 3) {

tes_PV = cell.getContents();

dataMhs.setTes_PV(tes_PV);

} else if (j == 4) {

tes_PM = cell.getContents();

dataMhs.setTes_PM(tes_PM);

} else if (j == 5) {

tes_HR = cell.getContents();

dataMhs.setTes_HR(tes_HR);

} else if (j == 6) {

IPK = cell.getContents();

Page 90: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

72

dataMhs.setIPK(IPK);

}

}

}

/*ambil data dari objek dataMhs*/

for (int z = 0; z < banyakBaris; z++) {

data[z][0] = dataMhs.getGelombang().get(z).toString();

data[z][1] = dataMhs.getPil_3().get(z).toString();

data[z][2] = dataMhs.getJur_SMA().get(z).toString();

data[z][3] = dataMhs.getTes_PV().get(z).toString();

data[z][4] = dataMhs.getTes_PM().get(z).toString();

data[z][5] = dataMhs.getTes_HR().get(z).toString();

data[z][6] = dataMhs.getIPK().get(z).toString(); }

/* tampilkan data ke tabel*/

DefaultTableModel tabelData = new DefaultTableModel(data,

header);

jTable_display.setModel(tabelData);

}

}

3. a. Nama kelas: Halaman_Awal.java

b. Nama metode : Save File(File file, JTextArea jta)

c. Fungsi metode:

Metode ini berfungsi untuk menyimpan hasil klasifikasi yang

ditampilkankan dari JTextArea. Hasil klasifikasi tersebut disimpan

dalam bentuk file dengan ekstensi tertentu sesuai dengan ekstensi

yang diinputkan user ketika menyimpan hasil klasifikasi.

d. Algoritma metode:

1. Buat objek dari kelas FileOutputStream(File).

2. Ambil teks dari JTextArea.

3. Ambil ukuran teks dan filenya.

4. Buat buffer

Page 91: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

73

5. Tulis data ke file Stream.

6. Tutup file output stream.

e. Listing

FileOutputStream fos = new FileOutputStream(File);

try {

String StrWrite = jta.getText();

int fsize = StrWrite.length();

byte bufOut[] = StrWrite.getBytes();

fos.write(bufOut, 0, fsize);

fos.close();

} catch (IOException ie) {

ie.printStackTrace();

return;

}

4. a. Nama kelas : Halaman_Awal.java

b. Nama metode : TampilGrafik()

c. Fungsi metode:

Metode ini berfungsi untuk menampilkan grafik detail atribut.

Grafik yang ditampilkan berupa grafik batang. Data yang

direpresentasikan pada grafik berupa nama atribut, nilai kejadian

atribut dan jumlah masing-masing nilai kejadian atribut. Methode

ini memerlukan pustaka jfreechart-1.0.9.jar

d. Algoritma metode:

1. Buat objek dari kelas JFrame().

2. Tentukan ukuran dan lokasi frame.

3. Deklarasikan variabel-variabel yang digunakan seperti

values, names.

4. Buat perulangan untuk mendapatkan data yang akan

Page 92: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

74

direpresentasikan dengan grafik.

5. Tambahkan grafik (BarChart) ke frame.

6. Frame di setVisible(true).

e. Listing

frameGrafik.dispose();

frameGrafik = new JFrame();

frameGrafik.setSize(395, 215);

frameGrafik.setLocation(750, 432);

int[] values = new int[hasil.size()];

String[] names = new String[hasil.size()];

int xx = 0;

while (hasil.size() > xx) {

values[xx] = (Integer) jumlah.get(xx);

names[xx] = (String) hasil.get(xx);

xx++;

}

frameGrafik.add(new BarChart(values, names,

namaAtribut));

frameGrafik.setVisible(true);

5. a. Nama kelas : Halaman_Awal.java

b. Nama metode : TampilDetailAtribut (JTextArea JTe)

c. Fungsi metode:

Metode ini berfungsi untuk menampilkan detail atribut pada

JTextArea. Data yang ditampilkan berupa nama atribut, nilai

kejadian atribut dan jumlah masing-masing nilai kejadian atribut.

d. Algoritma metode:

1. Deklarasikan variabel-variabel yang digunakan seperti

namaAtribut, Atribut, temp, hasil, jumlah, i, j, x.

2. Buat perulangan untuk mendapatkan nama atribut dari tabel

tabel_tampil_nama_atribut, yang ditampung dalam list

Page 93: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

75

Atribut.

3. Jika Atribut mengandung namaAtribut maka

a) Buat perulangan untuk mendapatkan semua nilai

kejadian dari tabel data mahasiswa sesuai dengan

cell atribut yang dipilih.

b) Buat perulangan untuk mengambil nilai yang unik

dari semua nilai kejadian tersebut.

c) Buat perulangan untuk mendapatkan jumlah nilai

kejadian.

d) Nilai kejadian dan jumlah nilai kejadian tersebut

disimpan dalam suatu variabel yaitu detailAtribut.

e) Tampilkan detailAtribut ke JTextArea.

e. Listing

namaAtribut =

(String)tabel_tampil_nama_atribut.

getValueAt(tabel_tampil_nama_atribut.getSelectedRow(), 0);

List headerTabel = new ArrayList();

List temp = new ArrayList();

int i = 0, j = 0, x = 0;

jumlah = new ArrayList();

hasil = new ArrayList();

//mengambil nama atribut

while (banyakKolom > i) {

headerTabel.add(tabel_tampil_nama_atribut.

getValueAt(i, 0));

i++;

}

i = 0;

j = 0;

if (headerTabel.contains(namaAtribut)) {

//mengambil semua nilai kejadian dari tabel data mahasisawa

Page 94: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

76

sesuai //dengan kolom atribut yang dipilih

while (banyakBaris > i) {

temp.add(jTable_display.getValueAt(j,headerTabel.

indexOf(namaAtribut)));

j++;

i++;

}

//mengambil nilai unik dari semua nilai kejadian atribut

i = 0;

j = 0;

while (temp.size() > i) {

if (i == 0) {

//mengambil data pertama disimpan ke variabel'hasil'

hasil.add(temp.get(i));

} else {

j = 0;

while (hasil.size() > j) {

if (hasil.contains(temp.get(i))) {

//tidak melakukan apa-apa

} else {

//mengambil data baru (yang berbeda dengan data lama) ditambahkan

//pada variabel 'hasil'

hasil.add(temp.get(i));

}

j++;

}

}

i++;

}

//mendapatkan jumlah nilai kejadian

i = 0;

int x = 0;

while (hasil.size() > i) {

j = 0;

x = 0;

while (temp.size() > j) {

if (hasil.get(i).equals(temp.get(j))) {

x++;

}

j++;

}

jumlah.add(x);

i++;

}

//mengambil nilai kejadian dari atribut yang dipilih

//dan jumlah nilai kejadiannya

i = 0;

Page 95: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

77

String dataTampil = "";

while (hasil.size() > i) {

dataTampil += hasil.get(i) + "\t\t" + jumlah.get(i) + "\n";

i++;

}

JTe.setText("Detail Atribut " + namaAtribut +

"\n\nNilai Kejadian\t\tJumlah\n" + dataTampil);

}

6. a. Nama kelas : Halaman_Awal.java

b. Nama metode:

LihatDetailDataKlasifikasi(JTextArea Jta, JTable Jtb, JLabel Jlab)

c. Fungsi metode:

Metode ini berfungsi untuk menampilkan detail data dari data yang

sudah diklasifikasi. Detail data tersebut berupa gelombang,

pilihan3, jurusan SMA, tes penalaran verbal, tes penalaran

mekanik, tes hubungan ruang, dan IPK semester 4.

d. Algoritma metode:

1. Deklarasikan variabel-variabel yang digunakan seperti a, i,

temp, detailData.

2. Buat perulangan untuk mendapatkan string yang diblok

atau di klik 2 kali pada JTextArea.

3. Ambil nilai atau data dari tabel jTable_display sesuai

dengan string yang diblok atau di klik 2 kali tersebut.

4. Simpan dalam variabel detailData.

5. Tampilkan pada Jlabel.

Page 96: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

78

e. Listing

int a = 0, i = 0;

String temp = "";

String detailData = "";

while (Jta.getHighlighter().getHighlights().length > a) {

try {

//mendapatkan string yang diblok atau di klik 2 kali

temp = Jta.getDocument().

getText(Jta.getHighlighter().getHighlights()[a].getStartOffset(),

Jta.getHighlighter().getHighlights()[a].getEndOffset() -

Jta.getHighlighter().getHighlights()[a].getStartOffset());

} catch (BadLocationException ex) {

Logger.getLogger(Halaman_Awal.class.getName()).log(Level.SEVERE,

null, ex);

}

try {

while (Jtb.getColumnCount() > i) {

detailData +=

Jtb.getValueAt(Integer.parseInt(temp)- 1, i) + " ";

i++;

}

Jlab.setText(detailData);

} catch (Exception e) {

JOptionPane.showMessageDialog(null,

"Blok atau Klik 2X pada kolom no untuk melihat detail data ");

frameGrafik.dispose();

}

a++;

}

7. a. Nama kelas : Kontrol.java

b. Nama metode:

Hitung(int jumData, int indeks, String numericTextField_fold)

c. Fungsi metode:

Metode ini berfungsi untuk mengklasifikasikan data dengan

Page 97: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

79

algoritma Naïve Bayesian. Pengklasifikasian dilakukan dengan

menghitung probabalitas likelihood setiap atribut untuk masing-

masing label kelas, menghitung probabilitas prior untuk masing-

masing label kelas, dan menghitung probabailitas posterior untuk

masing-masing label kelas.

d. Algoritma metode:

1. Deklarasikan variabel-variabel yang digunakan.

2. Jumlah data dibagi dengan nilai fold (nilai fold didapat dari

inputan user).

3. Lakukan partisi data sebanyak hasil bagi jumlah data data

dengan nilai fold.

4. Buat iterasi untuk memproses data tersebut.Pada setiap

iterasi lakukan hal berikut :

a) Dapatkan nilai awal dan nilai akhir dari setiap

partisi.

b) Selama x1 lebih kecil dari x2, masukan x1 dalam list

tes.

c) Buat perulangan pada seluruh data untuk

memasukkan data ke dalam list tes dan list pelatihan.

d) Buat perulangan pada list pelatihan untuk

mendapatkan jumlah nilai kejadian untuk setiap

label kelas.

e) Setiap jumlah nilai kejadian kelas disimpan dalam

Page 98: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

80

satu variabel,

f) Tambahkan ke dalam list.

g) Buat perulangan pada list tes untuk melakukan hal

berikut :

1) Buat perulangan pada setiap data atribut

2) Cek apakah atribut tersebut bernilai

kategorikal atau kontinyus

3) Jika atribut kategorikal, maka program

memanggil metode lain yaitu kategorikal().

Jika bukan, maka program memanggil

metode kontinyus().

4) Buat perulangan untuk mendapatkan

probabilitas prior untuk setiap record list

uji dan ditampung pada list.

5) Buat perulangan pada list yang menampung

data kategorikal untuk mendapatkan

probabilitas likelihood kategorikal untuk

setiap label kelas. Jika probabilitas

kategorikal sama dengan nol, maka lakukan

laplace estimator. Kemudian kalikan semua

probablitas likelihood kategorikal.

6) Buat perulangan pada list yang menampung

data kontinyus untuk mendapatkan

Page 99: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

81

perkalian semua likelihood kontinyus untuk

setiap label kelas.

7) Tambahkan hasil perkalian semua likelihood

kategorikal dan likelihood kontinyus ke

dalam list posterior.

8) Dapatkan persentasi hasil akhir dari nilai

posterior untuk setiap label kelas.

9) Dapatkan nilai persentasi hasil akhir yang

terbesar.

e. Listing

List temp = new ArrayList();

List temp1 = new ArrayList();

String resultlanjut = "";

String resultakhir = "";

int g = 1;

//membagi jumlah data dengan nilai fold yang diinputkan user

int hasilBagiFold = 0;

if (numericTextField_fold.equalsIgnoreCase("")) {

} else {

hasilBagiFold =

((jumData) / Integer.valueOf(numericTextField_fold));

}

//mempartisi data

//contoh jika data ada 100; fold inputan user 10,

int hasilBagiFold2 = hasilBagiFold;

int i = 1;

int k = 1;

int inFold = Integer.parseInt(numericTextField_fold);

while (inFold >= i) {

if (i == inFold) {

int sisa = (jTable_display.getRowCount()) - hasilBagiFold;

//sisa pembagian fold dimasukan ke partisi terakhir

hasilBagiFold = hasilBagiFold + sisa;

}

temp.add(k + "-" + hasilBagiFold);

k += hasilBagiFold2;

Page 100: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

82

i++;

hasilBagiFold = hasilBagiFold + hasilBagiFold2;

}

i = 0;

int x1 = 1, x2 = 0;

int iterasi = 1;

String tampung;

String[] tampung2 = new String[0];

int validasi = 0;

int errvalid = 0;

//M U L A I I T E R A S I

while (i < temp.size()) {

resultakhir += "\nFold " + iterasi + "\n";

resultlanjut += "\nFold " + iterasi + "\n";

iterasi++;

tampung = (String) temp.get(i);

tampung2 = tampung.split("-");

int j = 1;

// mendapatkan nilai awal(x1) dan nilai akhir(x2)

//dari masing-masing partisi data/fold

while (tampung2.length > j) {

if (j == 0) {

x1 = Integer.parseInt(tampung2[j]);

} else {

x2 = Integer.parseInt(tampung2[j]);

}

j++;

}

List Pelatihan = new ArrayList();

List Test = new ArrayList();

int h = 1;

//mendapatkan data tes

//rentang nilai antara x1 dan x2 ditambahkan dalam list Test

while (x1 <= x2) {

Test.add(x1);

x1++;

}

//menjabarkan data Test dan data pelatihan,

//masing-masing dimasukkan dalam List Test dan List Pelatihan

while ((jTable_display.getRowCount()) >= h) {

if ((Test.contains(h))) {

} else {

Pelatihan.add(h);

}

h++;

}

Page 101: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

83

int c1 = 0, c2 = 0, c3 = 0, c4 = 0;

int o = 0;

//loop untuk menghitung "Jumlah nilai kejadian" pada atribut kelas

//di data pelatihan

//temp1 : [sangat memuaskan, memuaskan, kurang, dengan pujian]

// Jumlah nilai kejadian disimpan pada variabel c1, c2, c3, c4

while (Pelatihan.size() > o) {

String kategori = String.valueOf(getJTable_display().

getValueAt(Integer.parseInt(Pelatihan.get(o).toString()) - 1,

indeks));

if (temp1.get(0).equals(kategori)) {

c1++;

} else if (temp1.get(1).equals(kategori)) {

c2++;

} else if (temp1.get(2).equals(kategori)) {

c3++;

} else {

c4++;

}

o++;

}

//jumlah nilai kejadian pada data pelatihan

//yang disimpan pada variabel c1, c2, c3, c4 tersebut

//di tampung di list Jum_nilai_Kej_Label_Kelas

List Jum_nilai_Kej_Label_Kelas = new ArrayList();

Jum_nilai_Kej_Label_Kelas.add(c1);

Jum_nilai_Kej_Label_Kelas.add(c2);

Jum_nilai_Kej_Label_Kelas.add(c3);

Jum_nilai_Kej_Label_Kelas.add(c4);

List posterior = new ArrayList();

o = 0;

//loop untuk setiap data testing (per row)

while (Test.size() > o) {

int kol = 0;

List likelihood_kategorikal = new ArrayList();

List likelihood_kontinyus = new ArrayList();

//looping setiap kolom/atribut pada data testing untuk dicocokkan

//dengan data pelatihan(per colomn/atribut)

while (getBanyakKolom() - 1 > kol) {

String datatemp = getJTable_display().

getValueAt(Integer.parseInt(Test.get(o).

toString()) - 1, kol).toString();

//mengecek data kategorikal atau data kontinyus?

if (cekkolomkatagorikal(kol, Integer.

parseInt(Test.get(o).toString()))) {

//jika kategorikal

Page 102: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

84

likelihood_kategorikal = kategorikal(Pelatihan, kol, temp1,

datatemp, indeks);

//jika kontinyus maka :

} else {

likelihood_kontinyus = kontinyus(Pelatihan, indeks, kol, temp1,

Jum_nilai_Kej_Label_Kelas, datatemp);

}

kol++;

}

//mendapatkan probabilitas prior untuk setiap record,

// di tampung di list prior

List prior = new ArrayList();

int priorsize = 0;

while (Jum_nilai_Kej_Label_Kelas.size() > priorsize) {

double hasilhit = Double.

parseDouble(Jum_nilai_Kej_Label_Kelas.get(priorsize).

toString()) / Pelatihan.size();

prior.add(hasilhit);

priorsize++;

}

int sizesem = 0;

double sm = Double.parseDouble(prior.get(0).toString());

double m = Double.parseDouble(prior.get(1).toString());

double ku = Double.parseDouble(prior.get(2).toString());

double dp = Double.parseDouble(prior.get(3).toString());

while (likelihood_kategorikal.size() > sizesem) {

List tampsem = (List) likelihood_kategorikal.get(sizesem);

//likelihoot kategorikal

double hitungsm = Double.parseDouble(tampsem.get(0).toString()) /

Double.parseDouble(Jum_nilai_Kej_Label_Kelas.get(0).toString());

//laplace estimator

if (hitungsm == 0) {

hitungsm = (Double.parseDouble(tampsem.get(0).toString()) + 1) /

(Double.parseDouble(Jum_nilai_Kej_Label_Kelas.get(0).toString() +

temp1.size()));

}

//likelihood kategorikal langsung dikalikan

sm *= hitungsm;

double hitungm = Double.parseDouble(tampsem.get(1).toString()) /

Double.parseDouble(Jum_nilai_Kej_Label_Kelas.get(1).toString());

if (hitungm == 0) {

hitungm = (Double.parseDouble(tampsem.get(1).toString()) + 1) /

(Double.parseDouble(Jum_nilai_Kej_Label_Kelas.get(1).toString() +

temp1.size()));

}

m *= hitungm;

Page 103: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

85

double hitungku = Double.parseDouble(tampsem.get(2).toString()) /

Double.parseDouble(Jum_nilai_Kej_Label_Kelas.get(2).toString());

if (hitungku == 0) {

hitungku = (Double.parseDouble(tampsem.get(2).toString()) + 1) /

(Double.parseDouble(Jum_nilai_Kej_Label_Kelas.get(2).toString() +

temp1.size()));

}

ku *= hitungku;

double hitungdp = Double.parseDouble(tampsem.get(3).toString()) /

Double.parseDouble(Jum_nilai_Kej_Label_Kelas.get(3).toString());

if (hitungdp == 0) {

hitungdp = (Double.parseDouble(tampsem.get(3).toString()) + 1) /

(Double.parseDouble(Jum_nilai_Kej_Label_Kelas.get(3).toString() +

temp1.size()));

}

dp *= hitungdp;

sizesem++;

}

sizesem = 0;

//hasil perkalian semua likelihoot yang kontinyus

while (likelihood_kontinyus.size() > sizesem) {

List tampsem = (List) likelihood_kontinyus.get(sizesem);

sm *= Double.parseDouble(tampsem.get(0).toString());

m *= Double.parseDouble(tampsem.get(1).toString());

ku *= Double.parseDouble(tampsem.get(2).toString());

dp *= Double.parseDouble(tampsem.get(3).toString());

sizesem++;

}

posterior.add(likelihood_kategorikal);

posterior.add(likelihood_kontinyus);

//cari persentasi hasil akhir

double keseluruhan = sm + m + ku + dp;

double persenSM = ((sm / keseluruhan) * 100);

double persenM = ((m / keseluruhan) * 100);

double persenKU = ((ku / keseluruhan) * 100);

double persenDP = ((dp / keseluruhan) * 100);

String feature = temp1.get(0).toString();

double persentaseterpilih = persenSM;

if (persentaseterpilih < persenM) {

persentaseterpilih = persenM;

feature = temp1.get(1).toString();

}

if (persentaseterpilih < persenKU) {

persentaseterpilih = persenKU;

Page 104: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

86

feature = temp1.get(2).toString();

}

if (persentaseterpilih < persenDP) {

persentaseterpilih = persenDP;

feature = temp1.get(3).toString();

}

}

i++;

}

setLanjutan(resultlanjut);

return resultakhir;

8. a. Nama kelas : Kontrol.java

b. Nama metode :

kontinyus(List Pelatihan, int indeks, int kol, List temp1, List prior,

String datatemp)

c. Fungsi metode:

Metode ini berfungsi untuk menghitung likelihood atribut

kontinyus. Perhitungan likelihood atribut kontinyus dilakukan

dengan menggunakan distribusi Gausian. Methode ini

mengembalikan nilai bertipe list

d. Algoritma metode:

1. Deklarasikan variabel-variabel yang digunakan.

2. Buat perulangan pada list data pelatihan untuk

mendapatkan jumlah dari data untuk setiap setiap label

kelas.

3. Dapatkan nilai rata-rata untuk setiap label kelasnya.

4. Buat perulangan pada list pelatihan untuk mendapatkan

Page 105: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

87

jumlah dari kuadrat nilai rata-rata untuk setiap label kelas.

5. Untuk setiap label kelas, hasil nomor 4 dibagi dengan

jumlah label kelas – 1.

6. Cari standar deviasi untuk masing-masing label kelas

dengan mengakarkuadratkan hasil pembagian pada nomor

5.

7. Lakukan perhitungan Gausian untuk setiap label kelas.

8. Hasil nomor 7 di tambahkan ke suatu list.

9. Kembalikan nilai list.

e. Listing

List likelihood_kontinyus = new ArrayList();

int vv = 0;

double rataSM = 0;

double rataM = 0;

double rataK = 0;

double rataDP = 0;

//loop untuk mencari data kontinyus pada list Pelatihan

//untuk setiap label kelas

//data kontinyus langsung dijumlahkan

while (Pelatihan.size() > vv) {

String kategori =

String.valueOf(getJTable_display().getValueAt(Integer.parseInt(Pel

atihan.get(vv).toString()) - 1, indeks));

double tesnonkategori =

Double.parseDouble(getJTable_display().getValueAt(Integer.parseInt

(Pelatihan.get(vv).toString())- 1, kol).toString());

if (temp1.get(0).equals(kategori)) {

rataSM = rataSM + tesnonkategori;

} else if (temp1.get(1).equals(kategori)) {

rataM = rataM + tesnonkategori;

} else if (temp1.get(2).equals(kategori)) {

rataK = rataK + tesnonkategori;

} else {

rataDP = rataDP + tesnonkategori;

}

vv++;

Page 106: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

88

}

//mendapatkan rata-rata

rataSM = rataSM / Double.parseDouble(prior.get(0).toString());

rataM = rataM / Double.parseDouble(prior.get(1).toString());

rataK = rataK / Double.parseDouble(prior.get(2).toString());

rataDP = rataDP / Double.parseDouble(prior.get(3).toString());

vv = 0;

double s21 = 0;

double s22 = 0;

double s23 = 0;

double s24 = 0;

//mencari jumlah (nilai-rata)2

while (Pelatihan.size() > vv) {

String kategori =

String.valueOf(getJTable_display().getValueAt(Integer.parseInt(Pel

atihan.get(vv).toString())-1, indeks));

double tesnonkategori =

Double.parseDouble(getJTable_display().getValueAt(Integer.parseInt

(Pelatihan.get(vv).toString())- 1, kol).toString());

if (temp1.get(0).equals(kategori)) {

s21 = s21 + (Math.pow((tesnonkategori - rataSM), 2));

}

else if (temp1.get(1).equals(kategori)) {

s22 = s22 + (Math.pow((tesnonkategori - rataM), 2));

}

else if (temp1.get(2).equals(kategori)) {

s23 = s23 + (Math.pow((tesnonkategori - rataK), 2));

}

else {

s24 = s24 + (Math.pow((tesnonkategori - rataDP), 2));

}

vv++;

}

double ss21 =

s21 / (Double.parseDouble(prior.get(0).toString()) - 1);

double ss22 =

s22 / (Double.parseDouble(prior.get(1).toString()) - 1);

double ss23 =

s23 / (Double.parseDouble(prior.get(2).toString()) - 1);

double ss24 =

s24 / (Double.parseDouble(prior.get(3).toString()) - 1);

//mencari s

Page 107: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

89

s21 = Math.sqrt(ss21);

s22 = Math.sqrt(ss22);

s23 = Math.sqrt(ss23);

s24 = Math.sqrt(ss24);

// mencari likelihood setiap nilai kejadian pada label - gausian

double likelihoodSM = (1 / ((Math.sqrt(2 * Math.PI)) * s21)) *

Math.exp(-((Math.pow((Double.parseDouble(datatemp) - rataSM), 2))

/ (2 * ss21)));

double likelihoodM = (1 / ((Math.sqrt(2 * Math.PI)) * s22)) *

Math.exp(-((Math.pow((Double.parseDouble(datatemp) - rataM), 2))

/ (2 * ss22)));

double likelihoodK = (1 / ((Math.sqrt(2 * Math.PI)) * s23)) *

Math.exp(-((Math.pow((Double.parseDouble(datatemp) - rataK), 2))

/ (2 * ss23)));

double likelihoodDP = (1 / ((Math.sqrt(2 * Math.PI)) * s24)) *

Math.exp(-((Math.pow((Double.parseDouble(datatemp) - rataDP), 2))

/ (2 * ss24)));

List datatesttemp1 = new ArrayList();

datatesttemp1.add(likelihoodSM);

datatesttemp1.add(likelihoodM);

datatesttemp1.add(likelihoodK);

datatesttemp1.add(likelihoodDP);

likelihood_kontinyus.add(datatesttemp1);

return likelihood_kontinyus;

9. a. Nama kelas : Kontrol.java

b. Nama metode :

kategorikal(List Pelatihan, int kol, List temp1, String datatemp, int

indeks)

c. Fungsi metode:

Metode ini berfungsi untuk menghitung likelihood atribut

kategorikal. Methode ini mengembalikan nilai bertipe list.

d. Algoritma metode:

Page 108: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

90

1. Deklarasikan variabel-variabel yang digunakan.

2. Buat perulangan pada list data pelatihan untuk

mendapatkan jumlah data kategorikal yang sama dengan

data kategorikal pada list test untuk setiap setiap label

kelas.

3. Untuk setiap label kelas, jumlah nomor 2 disimpan pada

suatu variabel

4. Tambahkan hasil nomor 3 ke suatu list.

5. Kembalikan nilai list.

e. Listing

List likelihood_kategorikal = new ArrayList();

int c1 = 0;

int c2 = 0;

int c3 = 0;

int c4 = 0;

int vv = 0;

//looping data pelatihan untuk dicocokkan dengan deta testing

while (Pelatihan.size() > vv) {

//mengecek data pelatihan dengan data uji yang ditunjuk

//diatas(datatemp)

if ((getJTable_display().

getValueAt(Integer.parseInt(Pelatihan.get(vv).toString()) - 1,

kol).

toString()).equals(datatemp)) {

//mengambil nilai kejadian pada label

//dan menyimpannya pada variable kategori

String kategori = String.valueOf(getJTable_display().

getValueAt(Integer.parseInt(Pelatihan.get(vv).

toString()) - 1, indeks));

//mengecek dan mengincrementkan nilai kejadian

if (temp1.get(0).equals(kategori)) {

c1++;

} else if (temp1.get(1).equals(kategori)) {

c2++;

} else if (temp1.get(2).equals(kategori)) {

c3++;

Page 109: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

91

} else {

c4++;

}

}

vv++;

}

List datatesttemp = new ArrayList();

double tem1 = c1;

double tem2 = c2;

double tem3 = c3;

double tem4 = c4;

datatesttemp.add(tem1);

datatesttemp.add(tem2);

datatesttemp.add(tem3);

datatesttemp.add(tem4);

likelihood_kategorikal.add(datatesttemp);

return likelihood_kategorikal;

10. a. Nama kelas : Kontrol.java

b. Nama metode: cekkolomkatagorikal(int a, int b)

c. Fungsi metode:

Metode ini berfungsi untuk mengecek apakah data atribut bertipe

data kategorikal atau tidak. Methode ini mengembalikan nilai

bertipe boolean.

d. Algoritma metode:

1. Deklarasikan variabel yang digunakan yaitu cek yang

dideklarasikan false.

2. Ambil nilai cell.

3. Cek jika tipe cell bertipe label, maka true. Jika tipe cell

bertipe number, maka false.

4. Kembalikan nilai cek.

Page 110: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

92

e. Listing

boolean cek = false;

Cell cell = getSheet().getCell(a, b);

if (cell.getType() == CellType.LABEL) {

//atribut kategorikal

cek = true;

} else if (cell.getType() == CellType.NUMBER) {

//atribut kontinyus

cek = false;

}

return cek;

11. a. Nama kelas : Kontrol.java

b. Nama metode: Ambil_Nilai_Kej(List temp1, String value)

c. Fungsi metode:

Metode ini berfungsi untuk mendapatkan nilai kejadian dari

atribut. metode ini mengembalikan nilai bertipe String.

d. Algoritma metode:

1. Deklarasikan variabel yang digunakan yaitu a yang

dideklarasikan sebagai string kosong.

2. Jika temp1 mengandung value maka tidak melakukan apa-

apa. Jika temp1 tidak mengandung value, maka a diset

sama dengan value.

3. Kembalikan nilai a.

e. Listing

String a = "";

if (temp1.contains(value)) {

} else {

a = value; }

return a;

Page 111: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

93

BAB V

ANALISIS HASIL

A. Analisis Hasil Program

Untuk mengevaluasi model dari pengklasifikasi naïve bayesian yang

sudah diimplentasikan, penulis memperhatikan dua hal yaitu :

• Bagaimana mengevaluasi kinerja dari pengklasifikasi naïve bayesian?

• Bagaimana mendapatkan pengukuran yang dapat dipercaya?

Confusion matrix merupakan alat yang digunakan untuk menganalisis

sebagus apa pengklasifikasi naïve bayesian dapat mengklasifikasikan record

ke dalam kelas-kelas tertentu. Confusion matrix mengandung informasi

tentang kelas/label yang sebenarnya dan kelas/label hasil klasifikasi. Kinerja

sistem biasanya dievaluasi dengan menggunakan data pada matrik.

Untuk mendapatkan pengukuran yang dapat dipercaya, penulis

menggunakan metode cross-validation. Dalam k-fold cross-validation, data

akan dipartisi secara acak ke dalam k partisi, D1, D2, …Dk, masing-masing D

mempunyai jumlah yang sama. Pada iterasi ke – i partisi Di digunakan

sebagai data uji, sedangkan sisa partisi digunakan sebagai data pelatihan.

Untuk analisis hasil klasifikasi ini, pendekatan yang dilakukan

menggunakan tenfold cross-validation. Jumlah data yang digunakan adalah

431 data. Pendekatan tenfold cross-validation akan membagi jumlah data

menjadi 10 bagian/partisi dengan jumlah masing-masing partisi adalah 43

data, kecuali partisi data ke 10 yang berjumlah 44 (431/10 = 43, sisa 1. Sisa

Page 112: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

94

tersebut dimasukkan ke fold/partisi terakhir). Berikut ini merupakan

pembagian data ke dalam fold-fold :

• Fold 1: data ke 1 – 43

• Fold 2 : data ke 44 – 86

• Fold 3 : data ke 87 – 129

• Fold 4 : data ke 130 – 172

• Fold 5 : data ke 173 – 215

• Fold 6 : data ke 216 – 258

• Fold 7 : data ke 259 – 301

• Fold 8 : data ke 302 – 344

• Fold 9 : data ke 345 – 387

• Fold 10 : data ke 388 – 431

Berikut ini merupakan analisis hasil program dengan menggunakan tenfold

cross-validation.

a) Fold 1

Pada iterasi 1, fold 1 menjadi data uji yaitu data 1 - 43, sedangkan

data pelatihan adalah data 44 - 431.

Page 113: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

95

Tabel 5.1 Tabel Confusion Matrix untuk Pengujian pada Fold 1

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 4 4 0 8

Memuaskan 0 6 17 0 23

Sangat

Memuaskan 0 0 10 0 10

Dengan

Pujian 0 0 2 0 2

Total 0 10 33 0 43

Berdasarkan confusion matrix untuk data uji pada fold 1, dapat

dihitung :

a. Jumlah total record adalah 43.

b. Record yang bisa diklasifikasikan dengan benar berjumlah

19, didapat dari jumlah nilai diagonal tabel.

c. Record yang gagal diklasifikasikan dengan benar berjumlah

24, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

b) Fold 2

Pada iterasi 2, fold 2 menjadi data uji yaitu data 44 – 86,

sedangkan data pelatihan adalah data 1 – 43 dan 87 – 431.

Page 114: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

96

Tabel 5.2 Tabel Confusion Matrix untuk Pengujian pada Fold 2

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 0 3 0 3

Memuaskan 0 8 3 0 11

Sangat

Memuaskan 0 14 10 0 24

Dengan

Pujian 0 1 4 0 5

Total 0 23 20 0 43

Berdasarkan confusion matrix untuk data uji pada fold 2, dapat

dihitung :

a. Jumlah total record adalah 43.

d. Record yang bisa diklasifikasikan dengan benar berjumlah

18, didapat dari jumlah nilai diagonal tabel.

b. Record yang gagal diklasifikasikan dengan benar berjumlah

25, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

c) Fold 3

Pada iterasi 3, fold 3 menjadi data uji yaitu data 87 – 129,

sedangkan data pelatihan adalah data 1 – 86 dan 130 – 431.

Page 115: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

97

Tabel 5.3 Tabel Confusion Matrix untuk Pengujian pada Fold 3

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 1 7 0 8

Memuaskan 0 1 13 0 14

Sangat

Memuaskan 0 3 15 0 18

Dengan

Pujian 0 1 2 0 3

Total 0 6 37 0

Berdasarkan confusion matrix untuk data uji pada fold 3, dapat

dihitung :

a. Jumlah record ada 43.

b. Record yang bisa diklasifikasikan dengan benar berjumlah

16, didapat dari jumlah nilai diagonal tabel.

c. Record yang gagal diklasifikasikan dengan benar berjumlah

27, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

d) Fold 4

Pada iterasi 4, fold 4 menjadi data uji yaitu data 130 – 172,

sedangkan data pelatihan adalah data 1 – 129 dan 173 – 431.

Page 116: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

98

Tabel 5.4 Tabel Confusion Matrix untuk Pengujian pada Fold 4

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 5 1 0 6

Memuaskan 0 6 11 0 17

Sangat

Memuaskan 0 7 11 0 18

Dengan

Pujian 0 0 2 0 2

Total 0 18 25 0 43

Berdasarkan confusion matrix untuk data uji pada fold 4, dapat

dihitung :

a. Jumlah record ada 43

c. Record yang bisa diklasifikasikan dengan benar berjumlah

17, didapat dari jumlah nilai diagonal tabel.

b. Record yang gagal diklasifikasikan dengan benar berjumlah

26, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

e) Fold 5

Pada iterasi 5, fold 5 menjadi data uji yaitu data 173 – 215,

sedangkan data pelatihan adalah data 1 – 172 dan 216 – 431.

Page 117: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

99

Tabel 5.5 Tabel Confusion Matrix untuk Pengujian pada Fold 5

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 2 5 0 7

Memuaskan 0 3 8 0 11

Sangat

Memuaskan 0 1 22 0 23

Dengan

Pujian 0 0 2 0 2

Total 0 6 37 0 43

Berdasarkan confusion matrix untuk data uji pada fold 5, dapat

dihitung :

a. Jumlah record ada 43

b. Record yang bisa diklasifikasikan dengan benar berjumlah

25, didapat dari jumlah nilai diagonal tabel.

c. Record yang gagal diklasifikasikan dengan benar berjumlah

18, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

f) Fold 6

Pada iterasi 6, fold 6 menjadi data uji yaitu data 216 – 258,

sedangkan data pelatihan adalah data 1 – 215 dan 258 – 431.

Page 118: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

100

Tabel 5.6 Tabel Confusion Matrix untuk Pengujian pada Fold 6

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 1 6 0 7

Memuaskan 0 6 11 0 17

Sangat

Memuaskan 0 1 18 0 19

Dengan

Pujian 0 0 0 0 0

Total 0 8 35 0 43

Berdasarkan confusion matrix untuk data uji pada fold 6, dapat

dihitung :

a. Jumlah record ada 43

b. Record yang bisa diklasifikasikan dengan benar berjumlah

24, didapat dari jumlah nilai diagonal tabel.

c. Record yang gagal diklasifikasikan dengan benar berjumlah

19, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

g) Fold 7

Pada iterasi 7, fold 7 menjadi data uji yaitu data 259 – 301,

sedangkan data pelatihan adalah data 1 – 258 dan 302 – 431.

Page 119: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

101

Tabel 5.7 Tabel Confusion Matrix untuk Pengujian pada Fold 7

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 1 1 0 2

Memuaskan 0 7 5 0 12

Sangat

Memuaskan 0 5 20 0 25

Dengan

Pujian 0 0 4 0 4

Total 0 13 30 0 43

Berdasarkan confusion matrix untuk data uji pada fold 7, dapat

dihitung :

a. Jumlah record ada 43

b. Record yang bisa diklasifikasikan dengan benar berjumlah

27, didapat dari jumlah nilai diagonal tabel.

c. Record yang gagal diklasifikasikan dengan benar berjumlah

16, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

h) Fold 8

Pada iterasi 8, fold 8 menjadi data uji yaitu data 302 – 344,

sedangkan data pelatihan adalah data 1 – 301 dan 345 – 431.

Page 120: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

102

Tabel 5.8 Tabel Confusion Matrix untuk Pengujian pada Fold 8

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 2 1 0 3

Memuaskan 0 12 9 0 21

Sangat

Memuaskan 0 3 15 0 18

Dengan

Pujian 0 0 1 0 1

Total 0 17 26 0 43

Berdasarkan confusion matrix untuk data uji pada fold 8, dapat

dihitung :

a. Jumlah record ada 43

b. Record yang bisa diklasifikasikan dengan benar berjumlah

27, didapat dari jumlah nilai diagonal tabel.

c. Record yang gagal diklasifikasikan dengan benar berjumlah

16, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

i) Fold 9

Pada iterasi 9, fold 9 menjadi data uji yaitu data 345 – 387,

sedangkan data pelatihan adalah data 1 – 344 dan 388 – 431.

Page 121: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

103

Tabel 5.9 Tabel Confusion Matrix untuk Pengujian pada Fold 9

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 1 3 0 4

Memuaskan 0 11 10 0 21

Sangat

Memuaskan 0 3 13 0 16

Dengan

Pujian 0 0 2 0 2

Total 0 15 28 0 43

Berdasarkan confusion matrix untuk data uji pada fold 9, dapat

dihitung :

a. Jumlah record ada 43

b. Record yang bisa diklasifikasikan dengan benar berjumlah

24, didapat dari jumlah nilai diagonal tabel.

c. Record yang gagal diklasifikasikan dengan benar berjumlah

19, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

j) Fold 10

Pada iterasi 10, fold 10 menjadi data uji yaitu data 388 – 431,

sedangkan data pelatihan adalah data 1 – 387.

Page 122: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

104

Tabel 5.10 Tabel Confusion Matrix untuk Pengujian pada Fold 10

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 3 4 0 7

Memuaskan 0 8 7 0 15

Sangat

Memuaskan 1 4 12 0 17

Dengan

Pujian 0 0 5 0 5

Total 1 15 28 0 44

Berdasarkan confusion matrix untuk data uji pada fold 10, dapat

dihitung :

a. Jumlah record ada 44

b. Record yang bisa diklasifikasikan dengan benar berjumlah

20, didapat dari jumlah nilai diagonal tabel.

c. Record yang gagal diklasifikasikan dengan benar berjumlah

24, didapat dari jumlah total record dikurangi jumlah

record yang bisa diklasifikasikan dengan benar.

Page 123: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

105

Tabel confusion matrix di berikut ini adalah confusion matrix

untuk semua iterasi.

Tabel 5.11 Tabel Confusion Matrix untuk Semua Iterasi

Kelas Hasil Prediksi

Total

Kurang Memuaskan

Sangat

Memuaskan

Dengan

Pujian

Kelas

Sebenarnya

Kurang 0 20 34 0 54

Memuaskan 0 68 94 0 162

Sangat

Memuaskan 1 42 146 0 189

Dengan

Pujian 0 2 24 0 26

Total 1 132 298 0 431

Berdasarkan rumus 2.13 nilai sensitivity adalah

Bersasarkan rumus 2.14 nilai specificity adalah

Untuk menghitung accuracy berdasarkan rumus 2.16 adalah

Page 124: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

106

Nilai accuracy dipersentasikan menjadi 49, 65 %.

Dari 10 iterasi dengan menggunakan cross-validation, terdapat

214 record yang diklasifikasikan dengan benar, dan 217 record

yang gagal diklasifikasikan dengan benar. Berikut ini adalah tabel

dari setiap pengujian pada setiap foldnya.

Tabel 5.12 Tabel Pengujian menggunakan tenfold cross-validation

Pengujian Data uji

(Fold)

Data pelatihan

(Fold)

Jumlah record yang benar diklasifikasi

Jumlah record yang salah

diklasifikasi

1 1

2, 3, 4, 5,

6, 7, 8, 9,

10

16 27

2 2

1, 3, 4, 5,

6, 7, 8, 9,

10

18 25

3 3

1, 2, 4, 5,

6, 7, 8, 9,

10

16 27

4 4

1, 2, 3, 5,

6, 7, 8, 9,

10

17 26

5 5

1, 2, 3, 4,

6, 7, 8, 9,

10

25 18

6 6

1, 2, 3, 4,

5, 7, 8, 9,

10

24 19

7 7

1, 2, 3, 4,

5, 6, 8, 9,

10

27 16

Page 125: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

107

8 8

1, 2, 3, 4,

5, 6, 7, 9,

10

27 16

9 9

1, 2, 3, 4,

5, 6, 7, 8,

10

24 19

10 10 1, 2, 3, 4,

5, 6, 7, 8, 920 24

Jumlah 214 217

Dari tabel 5.11, dapat diketahui tingkat keakuratan dari

seluruh pengujian dengan menggunakan metode tenfold cross-

validation yaitu jumlah record yang telah diklasifikasikan dengan

benar dari semua iterasi dibagi dengan jumlah data keseluruhan,

kemudian dikali 100%. Berikut ini kalkulasinya :

Pengujian dengan meetode k-fold cross-validation ini juga

dilakukan dengan mengganti-ganti nilai k yang bervariasi.

Tabel 5.13 Tabel Pengujian cross-validation dengan k bervariasi

No k Tingkat keakuratan

1 3 49. 1879%

2 20 49.6519%

3 100 49.6519%

4 200 49.6519%

5 400 49.6519%

Page 126: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

108

Dari percobaan-percobaan yang dilakukan tersebut,

didapatkan hasil dengan tingkat kesesuaian dengan keadaan

sebenarnya berkisar antara 48% hinggga 50% (Diduga banyaknya

jumlah sampel, atribut untuk klasifikasi, dan korelasi antar atribut

tersebut berpengaruh pada tingkat keakuratan klasifikasi).

B. Kelebihan dan Kekurangan Program

1) Kelebihan Program

Kelebihan program adalah :

a. Program ini juga bisa digunakan untuk klasifikasi atau prediksi

pada data yang berbeda dengan ketentuan file masukan harus

berekstensi xls dan jumlah atribut 7 dengan atribut kelas harus

ditempatkan dikolom ke 7/kolom terakhir.

b. Hasil klasifikasi bisa disimpan dalam bentuk file dengan

format .txt, .doc, maupun . xls.

c. Untuk mendapatkan pengukuran yang dapat dipercaya, metode

yang digunakan adalah k-fold cross-validation. Pengguna

diberi fasilitas untuk menginputkan nilai k (dengan syarat dan

ketentuan berlaku ; nilai k tidak boleh bernilai kurang dari 0, k

tidak boleh bernilai 0, k tidak boleh bernilai 1, dan k tidak

boleh bernilai lebih besar dari jumlah data) demi mendapatkan

pengukuran yang dapat dipercaya tersebut.

d. Hasil klasifikasi dalam versi lengkap (menampilkan data awal

Page 127: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

109

dengan seluruh atribut, atribut label, dan hasil klasifikasi) bisa

disimpan dalam bentuk file sehingga berguna untuk penelitian

lebih lanjut.

2) Kelemahan Program

a. Program hanya bisa menerima masukan dengan file

berekstensi xls.

b. Program hanya bisa menerima masukan file yang jumlah

atribut harus 7 ; tidak kurang dari 7 dan tidak lebih dari 7. Agar

program bisa bekerja dengan baik, atribut label harus berada

pada kolom terakhir/kolom ke 7.

Page 128: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

110

BAB VI

PENUTUP

A. Kesimpulan

Algoritma naïve bayesian telah digunakan untuk mengklasifikasi prestasi

akademik mahasiswa Teknik Informatika Universitas Sanata Dharma

berdasarkan data penerimaan mahasiswa baru dan data akademik mahasiswa.

Berdasarkan hasil percobaan dapat disimpulkan hal sebagai berikut :

pengujian dilakukan pada 431 record data dengan menggunakan metode k

fold cross-validation khususnya tenfold cross-validation menghasilkan

tingkat keakuratan sebesar 49, 65 %. Pengujian dengan metode k-fold cross-

validation ini juga dilakukan dengan mengganti-ganti nilai k yang bervariasi

menghasilkan tingkat keakuratan yang berkisar antara 48% hinggga 50%.

Hasil dengan tingkat keakuratan tersebut belum bisa dikatakan baik. Diduga

banyaknya jumlah sampel, atribut untuk klasifikasi, dan korelasi antar atribut

tersebut berpengaruh pada tingkat keakuratan klasifikasi.

B. Saran

Saran yang diperlukan untuk perbaikan dan pengembangan program lebih

lanjut adalah :

1. Untuk meningkatkan akurasi, dapat dicoba klasifikasi data PMB dan

prestasi akademik mahasiswa di semester 1 yang diduga

mencerminkan hasil yang belum dipengaruhi faktor-fator luar seperti

Page 129: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

111

lingkungan kost, pergaulan, dan faktor lainnya, mengingat banyaknya

faktor yang mempengaruhi indek prestasi seorang mahasiswa.

2. Program bisa menerima masukan tidak hanya file excel berekstensi

xls, tapi juga diharapkan bisa menerima masukan file excel untuk

microsoft office 2007(ekstensi xlsx).

3. Program bisa menerima masukan dari basis data.

4. Program bisa lebih fleksibel dengan menerima masukan dengan

jumlah atribut yang bervariasi.

5. Program bisa lebih fleksibel membaca atribut target walaupun atribut

target ditempatkan di posisi kolom manapun.

Page 130: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Daftar Pustaka

Haryanto, Lilik, Pencarian Karakteristik Calon Mahasiswa Baru Universitas

Sanata Dharma yang Tidak Mendaftar Ulang dengan Menggunakan

Algoritma Pohon Keputusan, Tugas Akhir Program Studi Ilmu

Komputer Jurusan Matematika USD, Yogyakarta, 2008.

J.Han dan M. Kamber, (2006), Data Mining Concept and Techniquies,

Second Edition, Morgan Kaufman Publishers, San Francisco, USA.

Kusrini dan luthfi, EmhaTaufiq, (2009), Algortima Data Mining, Penerbit

Andi, Yogyakarta.

Oracle Data Mining Concept, 2005, Naïve Bayesian, Chapter 15.

Santosa, Budi, (2007), Data Mining Teknik Pemanfaatan Data Untuk

Keperluan Bisnis, Graha Ilmu, Yogyakarta, 5, 75-86.

Sugianto, Masim, Tips Java : Membuat File Excel – Spreadsheet.

http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-

spreadsheet. Diakes tanggal 23 April 2010.

Tan, Steinbach, dan Kumar, (2006), Introduction to Data Mining, Halminton

Printing, Amerika, USA.

Tim Penelitian dan Pengembangan Wahana Komputer, (2005),

Pengembangan Analisis Multivariate dengan SPSS 12, Penerbit Salemba

Infotek, Jakarta.

Wahyono, Teguh, (2006), Analisis Data Statistik dengan SPSS 14, Elex

Media Komputindo, Jakarta.

Page 131: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Whitten, J.L., Bentley, L.D., Dittman, K.C., (2004), Metode Desain dan

Analisis Sistem Edisi 6, Mc Graw Hill, New York.

Winarno, Andreas Agus dan Gunawan, Ridowati, 2008, Penggunaan metode

Klasifikasi Naïve Bayesian untuk Memprediksi Juara Liga Utama

inggris 2006/2007, Makalah “Prosiding Konferensi Nasional Sistem

Informasi 2008”, Penerbit Informatika, Bandung.

Yamin, Sofyan dan Kurniawam, Heri, (2009), SPSS Complete:Teknik

Analsis Terlengkap dengan Software SPSS, Penerbit Salemba Infotek,

Jakarta.

12 Demo Source and Support, 2009, http://www.java2s.com/Code/Java/2D-

Graphics-GUI/Chart.htm. Diakses tanggal 23 April 2010.

Page 132: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 1

LAMPIRAN 1

Implementasi Rumus 2.10 untuk Perhitungan likelihood pada Atribut Data

Kategorikal

Rumus 2.10 :

P(xk | Ci) = |xki|/ Nci

Page 133: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 2

Likelihood Atribut Gelombang

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

Page 134: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 3

Likelihood Atribut Pil_3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

Page 135: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 4

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

Page 136: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 5

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 |

_3

Page 137: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 6

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 | _3

_3 |

_3

_3 |

_3

_3 | _3

Page 138: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 7

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 |

_3

_3 | _3

Page 139: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 8

_3 |

_3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

Page 140: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 9

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

_3 | _3

Page 141: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 10

Likelihood Atribut Jur_SMA

_ SMU/MA IPA| _ SMU/MA IPA

_ SMU/MA IP | _ SMU/MA IPS

_ SMU/MA /DUDAYA/ BAHASA|

_ SMU/MA /DUDAYA/ BAHASA

_ SMK TEKNIK/ STM | _ SMK TEKNIK/ STM

_ SMK EKONOMI/SMEA/SMK|

_ SMK EKONOMI/SMEA/SMK

_ | _ SMF

_ SMU/MA IPA| _ SMU/MA IPA

_ SMU/MA IPS| _ SMU/MA IPS

_ SMU/MA /DUDAYA/ BAHASA|

_ _ SMU/MA /DUDAYA/ BAHASA

_ TEKNIK/ STM |

_ TEKNIK/ STM

_ SMK EKONOMI/SMEA/SMK|

_ SMK EKONOMI/SMEA/SMK

Page 142: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 11

_ | _

_ SMU/MA IPA|

_ SMU/MA IPA

_ SMU/MA IPS |

_ SMU/MA IPS

_ SMU/MA /DUDAYA/ BAHASA|

_ _ SMU/MA /DUDAYA/ BAHASA

_ TEKNIK/ STM |

_ TEKNIK/ STM

_ SMK EKONOMI/SMEA/SMK|

_ SMK EKONOMI/SMEA/SMK

_ |

_

_ SMU/MA IPA|

_ SMU/MA IPA

Page 143: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 12

_ SMU/MA IPS|

_ SMU/MA IPS

_ SMU/MA /DUDAYA/ BAHASA|

_ SMU/MA /DUDAYA/ BAHASA

_ TEKNIK/ STM |

_ TEKNIK/ STM

_ SMK EKONOMI/SMEA/SMK|

_ SMK EKONOMI/SMEA/SMK

_ | _

Page 144: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 13

LAMPIRAN 2

Implementasi Rumus 2.11 untuk Perhitungan likelihood pada Atribut Data

Kontinyus

Rumus 2.11 :

, μ,1

√2

Page 145: JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN …repository.usd.ac.id/32519/2/065314052 _Full.pdf · dengan Menggunakan Algoritma Naive Bayesian Yang Dipersiapkan dan Disusun Oleh

Lampiran | 14

Likelihood Atribut final_tes_PV

_ _ | 1

√2

_ _ | 1

√2

_ _ | 1

√2

_ _ | 1

√2

Likelihood Atribut final_tes_PM

_ _ | 1

√2

_ _ | 1

√2

_ _ | 1

√2

_ _ | 1

√2

Likelihood Atribut final_tes_HR

_ _ | 1

√2

_ _ | 1

√2

_ _ | 1

√2

_ _ | 1

√2