1
PEMBUATAN APLIKASI DATA MINING UNTUK
MEMPREDIKSI MASA STUDI MAHASISWA
MENGGUNAKAN
ALGORITMA K-NEAREST NEIGHBORHOOD
(Studi Kasus Data Akademik Jurusan Teknik Komputer-S1 Universitas Komputer Indonesia)
Oleh:
Astrid Darmawan 10207104
Pembimbing:
Selvia Lorena Br. Ginting, M.T Wendi Zarman, M.Si
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
Pendahuluan
Latar Belakang
Maksud dan Tujuan
Batasan Masalah
Latar Belakang
Adanya tumpukan data
4
Maksud:
•
Membuat perancangan aplikasi untuk
mengklasifikasi masa studi mahasiswa di
Jurusan
Teknik
Komputer
dengan
menggunakan
Algoritma
K-Nearest
Neighborhood.
Tujuan:
•
Untuk memprediksi tingkat kelulusan dan
Batasan Masalah
Data yang digunakan hanya data Indeks Prestasi (IP)
mahasiswa jurusan Teknik Komputer Program Sarjana
(S1) dari semester 1 sampai semester 6.
Data yang digunakan telah dibersihkan secara manual
sebelum diproses
mining.
Visual Basic 6.0 sebagai aplikasi sistem antarmuka.
Pengolahan basis data menggunakan
database
Microsoft
Access 2007.
Data yang digunakan adalah data akademik mahasiswa
Jurusan Teknik Komputer tahun 2001-2006
Dasar Teori
Data Mining
Klasifikasi
Algoritma Nearest
Neighborhood
Data Mining
Data mining
merupakan proses menemukan pengetahuan
yang baru dari data yang berjumlah besar yang disimpan di
dalam
database
, gudang data atau repositori informasi.
Pengelompokan Data Mining
8
Data Mining
Predictive
Descriptive
Classification
(Klasifikasi)
Regression
(Regresi)
Time Series Analysis
Clustering
Summarization
Association Rules
Klasifikasi
Klasifikasi: tugas pembelajaran sebuah fungsi target f yang
memetakan setiap himpunan atribut x ke salah satu
class
label
y yang telah didefinisikan sebelumnya.
9
Classification
model
Atribut Set (x)
Input
Output
Class Label y
Gambar.2.2 Model Klasifikasi
Algoritma Nearest Neighborhood (NN)
10
Pendekatan untuk
mencari kasus dengan
menghitung kedekatan
antara kasus baru (
testing
data
) dengan kasus lama
(
training sample
).
Nearest-neighbor
1-NN, yaitu
pengklasifikasikan
dilakukan terhadap 1
labeled data
terdekat.
K-NN, yaitu
pengklasifikasikan
dilakukan terhadap k
labeled data
terdekat
dengan K>1.
Jenis
algoritma
Ecludian Distance:
Algoritma K-Nearest Neighborhood (KNN)
Atribut
Data
Training
Atribut
Data
Testing
Mulai
Euclidian
Sorting
Selesai Cari K data
terdekat Tentukan K
Hasil Cari label mayoritas
11
Mulai
For I = 1 to n-1
Sorted=true
For j= 0 to (n-1)-i
A[j]>a[j+1]
Temp=a[j] A[j]=a[j+1] A[j+1]=Temp
Sorted=false
j
Sorted=true
i
Selesai Ya
Tidak
Tidak
Ya
Perancangan
Aplikasi data mining yang dibuat terdiri dari dua data, yaitu:
Data Testing
1.
NIM
2.
Indeks Prestasi (IP) mahasiswa dari semester satu sampai
enam.
Data Training
1.
NIM
2.
Indeks Prestasi (IP) mahasiswa dari semester satu sampai
enam.
3.
Keterangan (Kategori Kelulusan)
Data training memiliki kategori sebagai berikut:
13
Lulus Kategori
Lulus <= 5 Tahun Ya
Lulus > 5 Tahun Tidak
14
Perancangan Aplikasi Data Mining untuk 1 Data
Mahasiswa
Data Training Logo UNIKOM Hapus Kembali Keluar Cari HitungPilih Data Training
NIM Nilai K
Pilih Data Testing
Pilih Semester Semester 1&2 Semester 1,2,3 &4 Semester 1,2,3,4 & 6
IP Semester 1 IP Semester 2
IP Semester 3
IP Semester 4
IP Semester 5
IP Semester 6
Hasil Jarak Sebelum di sorting Hasil Jarak yang sudah di sorting
Jarak yang termasuk kelompok nilai K
Persentase Peluang Kelulusan
Hasil kategori
Hasil Kecocokan APLIKASI DATA MINING UNTUK MEMPREDIKSI MASA STUDI MAHASISWA MENGGUNAKAN ALGORITMA
K-NEAREST NEIGHBORHOOD (STUDI KASUS DATA AKADEMIK JURUSAN TEKNIK KOMPUTER UNIVERSITAS KOMPUTER INDONESIA)
1 2 3 4 5 6 13 7 8 9 14 10 11 12 15 No Keterangan
1 Data Grid untuk menampilkan data training.
2 Pemilihan Tabeldatabase data testing
3 Option untuk memilih semester.
4 Button untuk mencari NIM.
5 Listbox untuk keluaran hasil perhitungan jarak
sebelum di sorting.
6 Listbox untuk keluaran hasil perhitungan jarak
setelah di sorting.
7 Listbox untuk kategori
8 Listbox untuk peluang kelulusan
9 Button untuk hitung jarak.
10 Button untuk keluar
11 Button untuk menghapus.
12 Button untuk kembali ke Form Utama.
13 Listbox untuk hasil kecocokan hasil data uji tehadap
data asli.
14 Listbox untuk hasil dari nilai K
15 Pemilihan Tabeldatabase data training
15
Perancangan Aplikasi Data Mining untuk 1
Database
Record data Logo UNIKOM Hapus Kembali Keluar Hitung Pilih Data Training Pilih Data Testing Pilih Semester 1&2Semester 1,2,3 &4 Semester 1,2,3,4 & 6
Hasil Jarak Sebelum di sorting Hasil Jarak yang sudah di sorting
Jarak yang termasuk kelompok nilai K
Persentase Kelulusan
Persentase Tingkat Keberhasilan Sistem APLIKASI DATA MINING UNTUK MEMPREDIKSI MASA STUDI MAHASISWA MENGGUNAKAN ALGORITMA K-NEAREST NEIGHBORHOOD (STUDI KASUS DATA AKADEMIK JURUSAN TEKNIK
KOMPUTER UNIVERSITAS KOMPUTER INDONESIA)
1 Peluang Kelulusan Nilai k 2 4 5
6 7 8
9 3 14 13 12 10 11 No Keterangan
1 Data Grid untuk menampilkan datatrainingdan data testing.
2 Option untuk pemilihan semester .
3 combobox untuk memilih Tabel data testing.
4 List box untuk hasil jarak baru sebelum disorting
5 List box untuk menampilkan hasil jarak yang sudah disorting.
6 Button untuk kembali ke form utama.
7 Button untuk menghapus.
8 Button untuk keluar dari aplikasi data mining.
9 Buttin untuk menghitung jarak
10 Listbox untuk keluaran hasil klasifikasi.
11 Listbox untuk hasil pengelompokan nilai K.
12 combobox untuk memilih Tabel data training.
13 Listbox untuk menampilkan persentase kecocokan data.
14 Listbox untuk menampilkan persentase prediksi kelulusan.
Contoh Kasus
M
SEMESTER
Y=Klasifikasi X11 = 1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 Ya
2 1.68 1.84 1.53 2.32 2.88 2.69 Tidak
3 2.63 1.63 2.42 2.58 3 3.56 Tidak
4 3.21 3.42 3.84 2.79 3.6 3.75 Ya
5 3.11 3.58 3.35 3 3.11 3.21 Ya
6 2.68 2.79 3.16 2.95 3.23 3.68 Ya
7 2 1.53 2.11 2.16 2 1.88 Tidak
16
Tabel .1 data
training
M
SEMESTER
Y=Klasifikasi
X21 = 1 X22=2 X23=3 X24=4 X25=5 X26=6
1 2.95 2.76 2.32 1.8 2.75 2.87 ?
17
Tabel 3.6 Data Testing
Proses
Parameter yang dipakai adalah K=5
Menghitung kuadrat jarak
Euclid
(
query instance
)
masing-masing objek terhadap sampel data atau
training sample
yang diberikan dengan menggunakan rumus:
M=1
19
Tabel 3.7
Square Instance to Query Distance
20
M
SEMESTER
Square instance to query distance X11 =1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 3.46
2 1.68 1.84 1.53 2.32 2.88 2.69 1.84
3 2.63 1.63 2.42 2.58 3 3.56 1.59
4 3.21 3.42 3.84 2.79 3.6 3.75 2.3
5 3.11 3.58 3.35 3 3.11 3.21 1.86
6 2.68 2.79 3.16 2.95 3.23 3.68 1.73
Kemudian mengurutkan objek-objek tersebut ke dalam
kelompok yang mempunyai jarak
Euclid
terkecil.
Tabel 3.8 Mengurutkan Objek ke dalam Kelompok ke Jarak Euclid Terkecil
21
m
SEMESTER
Square instance to query distance
Jarak terkecil
Apakah termasuk
nearest-neighbor
(k) X11 = 1 X12=2 X13=3 X14=4 X15=5 X16=6
Mengumpulkan label
class
Y (klasifikasi
nearest
neighbor
).
Tabel 3.9 Label Class Y
22
M
SEMESTER
Square
instance
to query
distance
Jarak
terkecil
Apakah
termasuk
nearest-neighbor
(k)
Y=Klasifikasi
X11 =1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 3.46 7 - Ya
2 1.68 1.84 1.53 2.32 2.88 2.69 1.84 3 Ya Tidak
3 2.63 1.63 2.42 2.58 3 3.56 1.59 1 Ya Tidak
4 3.21 3.42 3.84 2.79 3.6 3.75 2.3 6 - Ya
5 3.11 3.58 3.35 3 3.11 3.21 1.86 4 Ya Ya
6 2.68 2.79 3.16 2.95 3.23 3.68 1.73 2 Ya Ya
Mencari Mayoritas Kategori
23
m
SEMESTER
Square
instance to
query
distance
Jarak
terkecil
Apakah
termasuk
nearest-neighbor (k)
Y=Klasifikasi
X11 =1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 3.46 7 - Ya
2 1.68 1.84 1.53 2.32 2.88 2.69 1.84 3 Ya Tidak
3 2.63 1.63 2.42 2.58 3 3.56 1.59 1 Ya Tidak
4 3.21 3.42 3.84 2.79 3.6 3.75 2.3 6 - Ya
5 3.11 3.58 3.35 3 3.11 3.21 1.86 4 Ya Ya
6 2.68 2.79 3.16 2.95 3.23 3.68 1.73 2 Ya Ya
7 2 1.53 2.11 2.16 2 1.88 2.03 5 Ya Tidak
Ya=2
Tidak=3
PENGUJIAN
Pengujian terdiri dari 2 proses yaitu:
1.
Pengujian 1
database
mahasiswa (data
training = 30
)
2.
Pengujian 1
database
mahasiswa (data
training = 61
)
Masing-masing proses pengujian tersebut menggunakan Indeks Prestasi
(IP)
1.
Dua semester (semester 1 dan 2),
2.
Empat semester (semester 1-4) dan
3.
Enam semester (semester 1-6)
Menggunakan nilai k yang berbeda.
Untuk mengetahui tingkat keberhasilan pada sistem ini maka penulis
menggunakan rumus:
25
26
Kesimpulan
4. Untuk menggunakan data training yang berjumlah 30
data dengan menguji data testing berjumlah 60 data,
maka didapatkan nilai k yang terbaik untuk memprediksi masa studi mahasiswa yaitu sebagai berikut:
• Untuk dua semester yaitu nilai k yang terbaik untuk
memprediksi masa studi mahasiswa adalah nilai k=10 dengan tingkat keberhasilan 80%.
• Untuk empat semester, nilai k yang terbaik untuk
memprediksi masa studi mahasiswa adalah nilai k=30 dengan tingkat keberhasilan 78.33%.
• Untuk enam semester, nilai k yang terbaik untuk
memprediksi masa studi mahasiswa adalah nilai k=20 dan k=30 dengan tingkat keberhasilan 85%.
5. Setelah melakukan pengujian dengan melakukan
perubahan pada nilai k, maka akan menghasilkan prediksi kelulusan yang bervariasi.
6. Nilai k yang terbaik juga tergantung pada jumlah data
yang digunakan. Ukuran nilai k yang besar
untukmemprediksi masa studi mahasiswa belum tentu menjadi nilai k yang terbaik dengan tingkat
keberhasilan yang tinggi begitupun juga sebaliknya.
27
1. Aplikasi data mining ini telah berhasil membuat
aplikasi yang dapat memprediksi masa studi
mahasiswa menggunakan algoritma k-nearest
neighborhood yang akan diterapkan di Jurusan
Teknik Komputer.
2. Aplikasi data mining ini dapat memprediksi dengan
menggunakan 1 data mahaisawa atau 1 database
mahasiswa.
3. Untuk menggunakan data training yang berjumlah
30 data dengan menguji data testing berjumlah 60
data, maka didapatkan nilai k yang terbaik untuk memprediksi masa studi mahasiswa yaitu sebagai berikut:
• Untuk dua semester yaitu nilai k yang terbaik
untuk digunakan memprediksi studi mahasiswa adalah nilai k=10 dengan tingkat keberhasilan 81.66%.
• Untuk empat semester yaitu nilai k yang terbaik
untuk digunakan memprediksi studi mahasiswa adalah nilai k=10 dengan tingkat keberhasilan 76.66%.
• Untuk enam semester yaitu nilai
SARAN
Aplikasi
data mining
ini dapat dibuat
dengan menggunakan jaringan LAN
sehingga nanti tidak hanya digunakan
oleh satu
pengguna
di satu tempat saja
tetapi dapat digunakan oleh banyak
pengguna (para dosen dan pihak
jurusan ) di tempat yang berbeda.
Aplikasi
data mining
ini belum
memperhitungkan faktor luar yang
terjadi
pada
mahasiswa
tersebut
sehingga mahasiswa tersebut tidak
lulus tepat waktu. Faktor luar tersebut
dapat menjadi sebuah parameter baru
dalam aplikasi ini.
28
Kasus ini dapat diterapkan dengan
menggunakan metode algoritma
data
mining
yang lainnya, misalnya ID3.
Penulis juga menyarankan agar
aplikasi
data mining
ini dapat
diterapkan menggunakan teknik data
warehouse,
sehingga tidak hanya
menggunakan data akademik 1
jurusan
saja
tetapi
dapat
menggunakan banyak data akademik
PEMBUATAN APLIKASI DATA MINING
UNTUK MEMPREDIKSI MASA STUDI MAHASISWA MENGGUNAKAN ALGORITMA K-NEAREST NEIGHBORHOOD
TUGAS AKHIR
Disusun untuk memenuhi syarat kelulusan pada
Program Studi Sistem Komputer Strata Satu di Jurusan Teknik Komputer
Oleh
ASTRID DARMAWAN 10207104
Pembimbing
Selvia Lorena Br Ginting, M.T Wendi Zarman, M.Si
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA
vi
ABSTRAK
Data mining merupakan serangkaian proses untuk menggali nilai tambah berupa informasi yang selama ini tidak diketahui secara manual dari suatu database. Data mining juga memanfaatkan pengalaman atau bahkan kesalahan di masa lalu untuk meningkatkan kualitas dari model maupun hasil analisanya, salah satunya dengan kemampuan pembelajaran yang dimiliki teknik data mining yaitu klasifikasi. Klasifikasi merupakan tugas pembelajaran yang memetakan sebuah objek baru ke dalam salah satu label class atau kategori pada objek lama yang telah didefinisikan sebelumnya. Klasifikasi ini menggunakan salah satu metode algoritma data mining yaitu k-Nearest Neighborhood (k-NN). Algoritma k-NN bekerja berdasarkan jarak terpendek antara dua objek dengan menentukan nilai k. Nilai k merupakan parameter untuk menentukan jarak terdekat antara objek baru terhadap objek lama. Dengan menggunakan teknik data mining tersebut maka di perguruan tinggi dapat memanfaatkan data akademik mahasiswa yaitu Indeks Prestasi (IP) untuk memprediksi masa studi mahasiswa. Dalam aplikasi data mining ini terdiri dari data testing dan data training dengan inputan NIM dan nilai k. Nilai k yang terbaik, tergantung pada jumlah data yang digunakan. Ukuran nilai k yang besar untuk memprediksi masa studi mahasiswa belum tentu menjadi nilai k yang terbaik dengan tingkat keberhasilan yang tinggi begitupun juga sebaliknya. Sehingga diharapkan hasil akhir dari aplikasi data mining ini dapat menghasilkan prediksi masa studi mahasiswa.
vii
ABSTRACT
Data mining is a set of processes to explore the added value of information that has not known manually from a database. Data mining also take advantage of the experience or even mistakes in the past to enhance the quality of models and analysis results. One of them with learning capabilities possessed by data mining techniques called as classification. Classification is a learning task, mapping a new object into one class or category label on old objects that have been defined previously. This classification using one of the method of data mining algorithms, that is k-Nearest Neighborhood (k-NN). k-NN algorithm works based on the shortest distance between two objects to determine the value of k. The k-value is a parameter to determine the shortest distance between a new object to the old object. By using these data mining techniques then college can utilize student's academic data, that is performance index (IP) to predict the student's study periode. In this data mining application consists of the testing data and training data with the input of NIM and the k-value. The best k-values, depends on the number of used data. A large k-value to predict the student's study periode may not necessarily be the best k value with a high success rate and otherwise. So it is expected the result of this data mining applications can generate predictions of
the student's study periode.
iv
KATA PENGANTAR
Segala puji bagi Allah SWT., Pencipta dan Pemelihara alam semesta,
shalawat serta salam semoga terlimpah bagi Muhammad SAW., keluarga dan para
pengikutnya yang setia hingga akhir masa.
Atas rahmat Allah SWT., akhirnya Penulis dapat menyelesaikan Tugas
Akhir ini, meskipun proses belajar sesungguhnya tak akan pernah berhenti. Tugas
Akhir ini sesungguhnya bukanlah sebuah kerja individual dan akan sulit
terlaksana tanpa bantuan banyak pihak yang tak mungkin Penulis sebutkan satu
persatu, namun dengan segala kerendahan hati, Penulis mengucapkan terima kasih
kepada
1. Kedua orang tua, adik dan keluarga besar tercinta yang senantiasa tidak
henti-hentinya mencurahkan cinta, kasih sayang, perhatian, nasihat, serta
motivasi kepada penulis selama studi.
2. Ibu Sri Nurhayati, M.Si., selaku Ketua Jurusan Teknik Komputer,
Universitas Komputer Indonesia dan Dosen Wali kelas 07 TK-3.
3. Ibu Selvia Lorena Br. Ginting, M.T., selaku Pembimbing I yang telah
banyak memberikan arahan, saran, nasihat, motivasi dan bimbingan
kepada Penulis selama menempuh studi.
4. Bapak Wendi Zarman, M.Si., selaku Pembimbing II dan Koordinator Lab.
Fisika yang telah memberikan arahan, bantuan, saran, nasihat, motivasi
dan bimbingan kepada penulis.
5. Bapak dan Ibu seluruh staff dosen Jurusan Teknik Komputer dan yang
pernah mengajar penulis serta seluruh Staff Administrasi Universitas
Komputer Indonesia, yang telah banyak memberikan ilmu, motivasi dan
bantuan kepada penulis.
6. Keluarga besar Laboratorium Fisika serta seluruh Asisten Laboratorium
Jurusan Teknik Komputer, terima kasih atas motivasi, saran, kerjasamanya
dan bantuannya selama ini.
v
8. Semua pihak yang telah banyak membantu yang tidak dapat penulis
sebutkan satu persatu, terima kasih banyak atas bantuan, dukungan dan
motivasinya selama melaksanakan studi dan menyelesaikan Tugas Akhir
ini.
Akhirnya, Penulis berharap semoga tugas akhir ini menjadi sumbangsih
yang bermanfaat bagi dunia sains dan teknologi di Indonesia, khususnya disiplin
keilmuan yang Penulis dalami.
Bandung, Agustus 2012
viii
DAFTAR ISI
KATA PENGANTAR...iv ABSTRAK ... vi ABSTRACT ... vii DAFTAR ISI ... viii DAFTAR TABEL ... x DAFTAR GAMBAR ... xii DAFTAR LAMPIRAN ... xiv BAB I ... 1 PENDAHULUAN ... 1
PENDAHULUAN ... 1
1.2 Maksud dan Tujuan ... 2
1.3 Batasan Masalah ... 2
1.4 Metode Penelitian ... 3
1.5 Sistematika Penulisan ... 4
BAB II ... 5 DASAR TEORI ... 5
2.1 Data mining ... 5
2.1.1 Pengelompokan Data mining ... 6
2.2 Klasifikasi ... 7
2.3 Algoritma Nearest Neighborhood ... 7
2.3.1 Algoritma k-Nearest Neighborhood (k-NN) ... 8
2.4 Diagram Konteks ... 9
2.4.1 DFD (Data Flow Diagram) ... 9
2.5 Software Pendukung ... 10
2.5.1 Visual Basic 6.0 ... 10
2.5.2 Microsoft Access 2007 ... 15
BAB III ... 17 PERANCANGAN ... 17
ix
3.2 Analisis Data ... 17
3.3 Penggunaan Algoritma k-Nearest Neighborhood (k-NN) ... 23
3.3.1 Analisis Kebutuhan Fungsional ... 30
3.4 Perancangan Sistem ... 47
3.4.1 Perancangan Data ... 47
3.4.2 Arsitektur Antarmuka ... 49
3.4.3 Perancangan Antarmuka ... 49
3.4.4 Flowchart ... 56
BAB IV ... 58 BAB IV ... 58
4.1 Implementasi ... 58
4.1.1 Lingkungan Implementasi ... 58
4.1.2 Implementasi Antarmuka ... 59
4.2 Pengujian ... 63
4.2.1 Pengujian Sistem ... 63
BAB V ... 77 SIMPULAN DAN SARAN ... 77
5.1 Simpulan ... 77
5.2 Saran ... 78
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pertumbuhan yang pesat dari pertambahan data akademik atau informasi
telah menciptakan kondisi dimana suatu perguruan tinggi memiliki tumpukan data
yang banyak. Namun pada saat ini, tumpukan data tersebut banyak yang belum
dimanfaatkan secara maksimal bahkan tidak terpakai. Padahal tumpukan data
tersebut dapat menjadi sebuah informasi yang bermanfaat dengan menggunakan
suatu teknik yaitu teknik data mining. Data mining adalah serangkaian proses
untuk menggali nilai tambah berupa informasi yang selama ini tidak diketahui
secara manual dari suatu database. Penggunaan teknik data mining pada
perguruan tinggi dapat berguna mengolah dan menyebarkan informasi untuk
menunjang kegiatan operasional sehari-hari sekaligus menunjang kegiatan
pengambilan keputusan strategis.
Dengan adanya tumpukan data di perguruan tinggi yang tidak digunakan,
maka dimanfaatkan tumpukan data tersebut untuk mencari informasi baru.
Tumpukan data yang digunakan merupakan data akademik di Jurusan Teknik
Komputer UNIKOM, yaitu data IP (Indeks Prestasi) mahasiswa dari semester satu
sampai semester enam khususnya Program Sarjana (S1) dengan menggunakan
salah satu teknik data mining yaitu metode klasifikasi menggunakan algoritma
k-Nearest Neighborhood dengan harapan dapat menemukan informasi tingkat
kelulusan dan persentase kelulusan mahasiswa sehinga dapat digunakan oleh
pihak Jurusan untuk mencari solusi atau kebijakan dalam proses evaluasi
2
1.2 Maksud dan Tujuan
Maksud dari tugas akhir ini adalah membuat perancangan aplikasi untuk
mengklasifikasi masa studi mahasiswa di Jurusan Teknik Komputer dengan
menggunakan Algoritma k-Nearest Neighborhood. Sehingga diharapkan dapat
bermanfaat bagi pihak Jurusan dan dosen di Teknik Komputer.
Tujuan yang akan dicapai melalui pembuatan tugas akhir ini, yaitu aplikasi
data mining ini dapat memprediksi masa studi mahasiswa sehingga dapat
mengetahui tingkat kelulusan dan persentase kelulusan mahasiswa di Jurusan
Teknik Komputer.
1.3 Batasan Masalah
Pada tugas akhir ini terdapat beberapa batasan masalah agar hasil dari tugas
akhir ini sesuai dengan tujuan. Adapaun beberapa batasan masalah pada tugas
akhir ini, yaitu:
1. Studi Kasus tugas akhir ini yaitu data akademik Jurusan Teknik
Komputer-S1 di Universitas Komputer Indonesia.
2. Data yang digunakan adalah data akademik mahasiswa Jurusan Teknik
Komputer tahun 2001-2006.
3. Data yang digunakan hanya data Indeks Prestasi (IP) mahasiswa Jurusan
Teknik Komputer Program Sarjana (S1) dari semester satu sampai
semester enam.
4. Data yang digunakan telah dibersihkan secara manual sebelum diproses
mining. Data yang tidak lengkap nilai Indeks Prestasinya tidak akan
digunakan atau dihapus data record-nya.
5. Visual Basic 6.0 sebagai aplikasi sistem antarmuka.
3
1.4 Metode Penelitian
Dalam penyusunan Tugas Akhir ini digunakan beberapa teknik, yaitu
sebagai berikut:
1. Pengambilan Data
Melakukan pengambilan data ke bagian Akademik Jurusan Teknik
Komputer untuk mendapatkan data yang dibutuhkan.
2. Studi Pustaka
Merupakan sumber yang dapat dijadikan rujukan dari sumber data atau
literatur-literatur, yaitu dengan membaca dan mempelajari buku-buku,
karya ilmiah dan sumber-sumber lainnya yang mendukung tugas akhir ini.
3. Perancangan Perangkat Lunak
Melakukan perancangan terhadap perangkat lunak yang akan
dikembangkan.
4. Implementasi
Melakukan implementasi terhadap perangkat lunak yang akan
dikembangkan beradasarkan hasil yang diperoleh dari perancangan.
5. Pengujian
Melakukan pengujian perangkat lunak dengan menggunakan studi kasus
yang telah ditentukan.
6. Evaluasi
Mengevaluasi hasil konstruksi perangkat lunak yang dikembangkan.
7. Bimbingan dan Diskusi.
Mengadakan bimbingan dengan dosen pembimbing serta berdiskusi
4
1.5 Sistematika Penulisan
Sistematika dari penulisan tugas akhir ini dibagi menjadi lima bab
pembahasan yaitu sebagai berikut:
BAB I PENDAHULUAN
Pada bab ini akan dijelaskan mengenai latar belakang permasalahan,
rumusan masalah, maksud dan tujuan, batasan masalah, metode penelitian
dan sistematika penulisan.
BAB II DASAR TEORI
Pada bab ini akan dijelaskan mengenai dasar-dasar teori, rujukan dan
metode yang berhubungan dengan judul.
BAB III PERANCANGAN
Pada bab ini akan membahas tentang perancangan sistem aplikasi data
mining.
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini berisi pengujian dan pembahasan tentang implementasi dari
penerapan teknik data mining serta validasi aplikasi yang penulis buat.
BAB V SIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dari pembuatan aplikasi data mining masa
studi mahasiswa menggunakan algoritma k-nearest neighborhood dan berisi
5
BAB II
DASAR TEORI
Bab ini menjelaskan tentang dasar teori yang digunakan dalam penyusunan
tugas akhir ini, yaitu tentang pengertian data mining, pengelompokan data
mining, metode klasifikasi dan penjelasan algoritma yang digunakan, yaitu
k-Nearest Neighborhood.
2.1 Data Mining
Data mining merupakan proses menemukan pengetahuan yang menarik dari
data yang berjumlah besar yang disimpan di dalam database, gudang data atau
repositori informasi [1]. Data mining juga disebut sebagai serangkaian proses
untuk menggali nilai tambah berupa pengetahuan yang selama ini tidak diketahui
secara manual dari suatu kumpulan data (Pramudiono, 2007).
Secara umum, data mining dapat melakukan dua hal yaitu memberikan
kesempatan untuk menemukan informasi menarik yang tidak terduga dan juga
bisa menangani data berskala besar. Dalam menemukan informasi yang menarik
ini, ciri khas data mining adalah kemampuan pencarian secara hampir otomatis,
karena dalam banyak teknik data mining ada beberapa parameter yang masih
harus ditentukan secara manual atau semi manual. Data mining juga dapat
memanfaatkan pengalaman atau bahkan kesalahan di masa lalu untuk
meningkatkan kualitas dari model maupun hasil analisanya, salah satunya dengan
kemampuan pembelajaran yang dimiliki beberapa teknik data mining seperti
6
2.1.1 Pengelompokan Data Mining
Data Mining
Predictive
Descriptive
Classification
Regression
Time Series Analysis
Clustering
Summarization
Association Rules
[image:44.595.118.518.142.376.2]Sequence Discovery
Gambar 2.1 Pengelompokan Data Mining
Secara umum, data mining terbagi dalam 2 sifat, yaitu:
1. Predictive: menghasilkan modal berdasarkan sekumpulan data yang dapat
digunakan untuk memperkirakan nilai data yang lain. Metode-metode yang
termasuk predictive data mining adalah:
a. Classification: pembagian data kedalam beberapa kelompok yang telah
ditentukan sebelumya.
b. Regression: memetakan data ke suatu prediction variable.
c. Time Series Analysis: pengamatan perubahan nilai atribut dari waktu ke
waktu.
2. Descriptive: mengidentifikasikan pola atau hubungan dalam data untuk
menghasilkan informasi baru. Metode yang termasuk dalam descriptive data
mining adalah:
a. Clustering: identifikasi hubungan antara data yang satu dengan lainnya.
b. Association Rules: identifikasi hubungan antara data yang satu dengan
7
c. Summarization: pemetaan data ke dalam subset dengan deskripsi
sederhana.
d. Sequence Discovery: identifikasi pola sekuensial dalam data.
2.2 Klasifikasi
Klasifikasi adalah tugas pembelajaran sebuah fungsi target f yang
memetakan setiap himpunan atribut x ke salah satu label class y yang telah
didefinisikan sebelumnya [1]. Klasifikasi dapat juga diartikan suatu proses untuk
menemukan suatu model atau fungsi yang menggambarkan dan membedakan
kelas data atau konsep dengan tujuan dapat menggunakan model untuk
memprediksi kelas objek yang label class-nya tidak diketahui.
Classification model Atribut Set (x)
Input Output
Class Label y
Gambar 2.2 Model Klasifikasi
Data input untuk klasifikasi adalah isi dari record. Setiap record dikenal
sebagai instance atau contoh, yang ditentukan oleh sebuah tuple (x, y), dimana x
adalah himpunan atribut dan y adalah atribut tertentu, yang dinyatakan sebagai
label class (juga dikenal sebagai kategori atau atribut target).
Pendekatan umum yang digunakan dalam masalah klasifikasi adalah
pertama, training data berisi record yang mempunyai label class yang telah
diketahui. Training data digunakan untuk membangun model klasifikasi yang
kemudian diaplikasikan ke testing data yang berisi record-record dengan label
class yang tidak diketahui.
2.3 Algoritma Nearest Neighborhood
Algoritma Nearest Neighborhood adalah pendekatan untuk mencari kasus
8
(training data), yaitu berdasarkan pada pencocokan bobot dari sejumlah fitur yang
ada.
Jenis algoritma Nearest Neighborhood ada 2, yaitu:
1. 1-NN, yaitu pengklasifikasikan dilakukan terhadap 1 labeled data
terdekat.
2. k-NN, yaitu pengklasifikasikan dilakukan terhadap klabeled data terdekat
dengan k>1.
Penulis akan menggunakan algoritma k-Nearest Neighborhood dalam tugas
akhir ini.
2.3.1 Algoritma k-Nearest Neighborhood (k-NN)
k-Nearest Neighborhood (k-NN) adalah suatu metode yang menggunakan
algoritma supervised dimana hasil dari query instance yang baru diklasifikasikan
berdasarkan mayoritas dari label class pada k-NN. Tujuan dari algoritma k-NN
adalah mengklasifikasikan objek baru berdasarkan atribut dan training data.
Algoritma k-NN bekerja berdasarkan jarak terpendek dari query instance ke
training data untuk menentukan k-NN-nya. Salah satu cara untuk menghitung
jarak dekat atau jauhnya tetangga menggunakan metode euclidian distance.
Ecludian Distance sering digunakan untuk menghitung jarak. Euclidian
Distance berfungsi menguji ukuran yang bisa digunakan sebagai interpretasi
kedekatan jarak antara dua obyek, di bawah ini merupakan rumus Ecludian
Distance:
(2.1)
Dimana,
Xik = nilai X pada training data
Xjk = nilai X pada testing data
m = batas jumlah banyaknya data
Jika hasil nilai dari rumus di atas besar maka akan semakin jauh tingkat
9
maka akan semakin dekat tingkat keserupaan antar objek tersebut. Objek yang
dimaksud adalah training data dan testing data.
Dalam algoritma ini, nilai k yang terbaik itu tergantung pada jumlah data.
Ukuran nilai k yang besar belum tentu menjadi nilai k yang terbaik begitupun juga
sebaliknya.
Langkah-langkah untuk menghitung algoritma k-NN:
1. Menentukan nilai k.
2. Menghitung kuadrat jarak euclid (query instance) masing-masing objek
terhadap training data yang diberikan.
3. Kemudian mengurutkan objek-objek tersebut ke dalam kelompok yang
mempunyai jarak euclid terkecil.
4. Mengumpulkan label class Y (klasifikasi Nearest Neighborhood).
5. Dengan menggunakan kategori Nearest Neighborhood yang paling
mayoritas maka dapat dipredeksikan nilai query instance yang telah
dihitung.
2.4 Diagram Konteks
Diagram konteks adalah kasus khusus DFD (bagian dari DFD yang
berfungsi memetakan model lingkungan), yang dipresentasikan dengan lingkaran
tunggal yang mewakili keseluruhan sistem [6]. Diagram konteks merupakan salah
satu alat bantu dalam melakukan analisis terstruktur. Diagram konteks ini
menggambarkan suatu sistem secara garis besarnya atau keseluruhannya saja.
Dalam diagram konteks juga digambarkan entitas eksternal yang merupakan
brainware yang menghasilkan data yang akan diolah oleh sistem maupun tujuan
dari informasi yang dihasilkan oleh sistem.
2.4.1 DFD (Data Flow Diagram)
DFD (Data Flow Diagram) merupakan model yang menggambarkan sistem
10
dan penyimpanan data [6]. DFD adalah penjelasan lebih rinci dari diagram
konteks dan proses fungsional yang ada dalam sistem. DFD menjelaskan tentang
aliran masuk, aliran keluar, proses serta penyuntingan file yang digunakan.
[image:48.595.135.495.240.455.2]Ada 4 komponen dalam model DFD ini, yaitu:
Tabel 2.1 Komponen dalam DFD
Simbol Keterangan
Proses, menunjukkan transformasi dari masukan menjadi keluaran.
Aliran, komponen ini dipresentasikan dengan menggunakan panah yang menuju kea tau dari proses. Digunakan untuk menggambarkan gerakan paket data atau informasi dari satu bagian ke bagian lain dari sistem dimana penyimpanan mewakili lokasi penyimpanan data.
Nama penyimpanan Penyimpanan, komponen ini digunakan untuk
memodelkan kumpulan data atau paket data.
Terminator, komponen berikut ini dipresentasikan menggunakan persegi panjang, yang mewakili entity luar dimana sistem berkomunikasi.
Keuntungan menggunakan DFD adalah memudahkan pengguna yang
kurang atau menguasai bidang komputer untuk mengerti sistem yang akan
dikerjakan atau dikembangkan.
2.5 Software Pendukung
2.5.1 Visual Basic 6.0
Visual basic 6.0 selain disebut sebagai bahasa pemrograman, juga sering
disebut sebagai sarana untuk menghasilkan program-program aplikasi berbasiskan
Windows. Visual basic pada dasarnya adalah bahasa pemrograman komputer.
Bahasa pemrograman adalah perintah-perintah atau instruksi-instruksi yang
dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Visual basic
11
dari pendahulunya yaitu bahasa pemrograman BASIC (Baginners All-purpose
Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Beberapa
kemampuan atau manfaat dari visual basic diantaranya:
1. Untuk membuat program aplikasi seperti Windows.
2. Untuk membuat objek-objek pembantu program seperti misalnya: kontrol
activeX, file help, aplikasi internet, dan sebagainya.
3. Menguji program (debugging) dan menghasilkan program EXE yang
bersifat executable, atau dapat langsung dijalankan.
Langkah awal dari belajar Visual Basic adalah mengenal IDE (Integrated
Developement Environment) Visual Basic yang merupakan lingkungan
pengembangan terpadu bagi programmer dalam mengembangkan aplikasinya.
Dengan menggunakan IDE programmer dapat membuat user interface,
melakukan koding, melakukan testing dan debuging serta menkompilasi program
menjadi executable. Penguasaan yang baik akan IDE akan sangat membantu
programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan
efisien.
[image:49.595.166.459.483.685.2]1. Memilih jenis Project
12
2. Jendela IDE
IDE Visual Basic 6.0 menggunakan model MDI (Multiple Document Interface).
Berikut ini adalah gambar yang menunjukan bagian-bagian dan nama-nama
[image:50.595.130.495.217.588.2]jendela yang dapat tampil pada IDE Visual Basic.
Gambar 2.4 Jendela IDE
Adapun jendela-jendela yang biasa digunakan adalah sebagai berikut:
 Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti
menyimpan project, membuka project, dll
 Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan
13
 Jendela Project, jendela ini berisi gambaran dari semua modul yang
terdapat dalam aplikasi anda. Anda dapat menggunakan icon Toggle
Folders untuk menampilkan modul-modul dalam jendela tersebut secara di
group atau berurut berdasarkan nama. Anda dapat menggunakan Ctrl+R
untuk menampilkan jendela project, ataupun menggunakan icon Project
Explorer.
 Jendela Form Designer, jendela ini merupakan tempat anda untuk
merancang user interface dari aplikasi anda. Jadi jendela ini menyerupai
kanvas bagi seorang pelukis.
 Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat anda
gunakan untuk mengembangkan user interface.
 Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda
dapat menampilkan jendela ini dengan menggunakan kombinasi Shift-F7.
 Jendela Properties, merupakan daftar properti-properti objek yang sedang
terpilih. Sebagai contohnya anda dapat mengubah warna tulisan
(foreground) dan warna latar belakang (background). Anda dapat
menggunakan F4 untuk menampilkan jendela properti.
 Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu
objek.
 Jendela Form Layout, akan menunjukan bagaimana form bersangkutan
14
[image:52.595.197.412.137.421.2]3. Toolbox
Gambar 2.5 Toolbox
Adapun secara garis besar fungsi dari masing-masing intrinsic kontrol tersebut
adalah sebagai berikut:
 Pointer bukan merupakan suatu kontrol; gunakan icon ini ketika anda
ingin memilih kontrol yang sudah berada pada form.
 PictureBox adalah kontrol yang digunakan untuk menampilkan image
dengan format: BMP, DIB (bitmap), ICO (icon), CUR (cursor), WMF
(metafile), EMF (enhanced metafile), GIF, dan JPEG.
 Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak
dapat diperbaiki oleh pemakai.
 TextBox adalah kontrol yang mengandung string yang dapat diperbaiki
oleh pemakai, dapat berupa satu baris tunggal, atau banyak baris.
 Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol
15
 CommandButton merupakan kontrol hampir ditemukan pada setiap form,
dan digunakan untuk membangkitkan event proses tertentu ketika pemakai
melakukan klik padanya.
 CheckBox digunakan untuk pilihan yang isinya bernilai yes/no, true/false.
 OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap
beberapa option yang hanya dapat dipilih satu.
 ListBox mengandung sejumlah item, dan user dapat memilih lebih dari
satu (bergantung pada propertyMultiSelect).
 ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana
pemasukkan data dapat dilakukan dengan pengetikkan maupun pemilihan.
 HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar berdiri
sendiri.
 Timer digunakan untuk proses background yang diaktifkan berdasarkan
interval waktu tertentu. Merupakan kontrol non-visual.
 DriveListBox, DirListBox, dan FileListBox sering digunakan untuk
membentuk dialog box yang berkaitan dengan file.
 Shape dan Line digunakan untuk menampilkan bentuk seperti garis,
persegi, bulatan, oval.
 Image berfungsi menyerupai image box, tetapi tidak dapat digunakan
sebagai kontainer bagi kontrol lainnya. Sesuatu yang perlu diketahui
bahwa kontrol image menggunakan resource yang lebih kecil
dibandingkan dengan PictureBox
 Data digunakan untuk data binding
 OLE dapat digunakan sebagai tempat bagi program eksternal seperti
Microsoft Excel, Word, dll.
2.5.2 Microsoft Access 2007
Microsoft Access adalah suatu program Microsoft Office pengolahan
database. Para pengguna Microsoft Access umumnya menggunakan program
16
fasilitas yang bisa digunakan untuk membuat laporan dalam bentuk tabel, query,
maupun reportdatabase secara maksimal.
Jenis-jenis Query:
1. Select queries.
Query ini menampilkan ekstrak data atau seluruh data. Data yang
ditampilkan bias dipilih sesuai kriteria tertentu. Selain itu, bisa
menampilkan field hasil perhitungan dengan formula tertentu.
2. Action queries.
Query ini digunakan untuk melakukan delete, update, insert data, dan
create tabel baru.
3. Cross tab queries.
Query ini digunakan untuk mengkakulasi data untuk keperluan analisis.
Crosstab queries menghitung sebuah count, average, sum, atau tipe total
17
BAB III
PERANCANGAN
Bab ini menjelaskan tentang analisis dan perancangan dalam membangun
aplikasi data mining untuk memprediksi masa studi mahasiswa Teknik Komputer.
Analisis meliputi analisis masalah, analisis data, analisis algoritma k-NN, analisis
fungsional serta perancangan aplikasinya.
3.1 Analisis Masalah
UNIKOM merupakan perguruan tinggi swasta di Bandung. UNIKOM
memiliki beberapa Jurusan salah satunya adalah Jurusan Teknik Komputer.
Jurusan ini termasuk kategori yang sangat susah untuk dapat lulus tepat waktu.
Setiap tahun, Jurusan Teknik Komputer hanya menghasilkan beberapa mahasiswa
yang lulus tepat 4 tahun atau 5 tahun. Karena jumlah kelulusan tiap tahunnya
hanya sedikit, maka penulis memanfaatkan data nilai IP mahasiswa di Jurusan
Teknik Komputer untuk menemukan informasi atau pengetahuan baru yang
berguna dalam mengambil sebuah keputusan dan membantu dalam evaluasi
sistem pembelajaran di Jurusan Teknik Komputer. Informasi yang dibutuhkan
adalah memprediksi masa studi mahasiswa dengan atribut IP dari semester satu
sampai semester enam.
3.2 Analisis Data
Dalam penulisan tugas akhir ini akan dicari nilai euclidean dari hubungan
tingkat kelulusan dengan data induk mahasiswa, yaitu dari nilai IP semester satu
sampai semester enam dan akan diuji menggunakan nilai IP di dua semester,
empat semester dan enam semester sehingga hasil dari proses tersebut dapat
dilihat dengan menggunakan IP disemester berapa dan nilai k yang terbaik yang
18
3.2.1.1 Sumber Data
Data yang digunakan dalam tugas akhir ini menggunakan data akademik.
Data akademik ini dibuat menjadi dua data yaitu training data dan testing data.
Training data dan testing data merupakan data mahasiswa yang didata
ketika mahasiswa tersebut telah menjadi mahasiswa di Jurusan Teknik Komputer
dan yang telah lulus. Adapun atribut dari data tersebut:
[image:56.595.137.487.263.488.2]Gambar 3.1 Cuplikan Salah Satu Isi Tabel yang Berada di dalam Database
Tabel 3.1 Tabel Training Data dan Testing Data
Atribut Keterangan NIM (Nomor
Induk Mahasiswa)
Nomor Induk Mahasiswa atau yang disingkat NIM adalah kode yang dimiliki mahasiswa sebagai nomor unik identitas di Perguruan Tinggi.
Nama Mahasiswa
Merupakan nama lengkap mahasiswa yang bersangkutan.
Kelas Merupakan kelas mahasiswa yang bersangkutan di Jurusan Teknik Komputer.
Tahun Masuk Merupakan tahun masuk mahasiswa yang bersangkutan ke dalam Perguruan Tinggi.
IP Semester 1 Merupakan nilai Indeks Prestasi mahasiswa bersangkutan.
IP Semester 2 Merupakan nilai Indeks Prestasi mahasiswa bersangkutan.
19
IP Semester 4 Merupakan nilai Indeks Prestasi mahasiswa bersangkutan.
IP Semester 5 Merupakan nilai Indeks Prestasi mahasiswa bersangkutan.
IP Semester 6 Merupakan nilai Indeks Prestasi mahasiswa bersangkutan.
Tanggal Lulus Merupakan tahun mahasiswa bersangkutan dinyatakan lulus.
Lama Studi Merupakan lama studi, dihitung dimulai saat terdaftar sebagai mahasiswa sampai dinyatakan lulus.
Program Studi Program studi dari mahasiswa yang bersangkutan.
IPK Indeks Prestasi Kumulatif (IPK) adalah ukuran kemampuan mahasiswa sampai pada waktu tertentu yang dapat dihitung berdasarkan jumlah (satuan kredit semester) SKS mata kuliah yang diambil sampai pada periode tertentu dikalikan dengan nilai bobot masing-masing mata kuliah dibagi dengan jumlah seluruh SKS mata kuliah (Anonim, 2009).
Keterangan Merupakan keterangan apakah mahasiswa tersebut lulus tepat waktu atau tidak.
Judul Skripsi Merupakan judul skripsi dari mahasiswa yang bersangkutan.
Data akademik mahasiwa yang diambil adalah data mahasiswa angkatan
2001-2006. Hal ini didasarkan pada kebutuhan data yang akan dihubungkan
dengan testing data, dengan asumsi bahwa mahasiswa angkatan 2001-2006 akan
lulus dari rentang waktu tahun 2005-2010. Sedangkan data kelulusan di training
data rentang waktunya dari tahun 2004-2011. Kedua data tersebut diperoleh dari
sekretariatan Jurusan Teknik Komputer. Data yang diambil hanya dari data
mahasiswa S1 di Jurusan Teknik Komputer.
3.2.1.2 Pembersihan Data
Dalam tugas akhir ini dicari hubungan beberapa atribut dari data induk
mahasiswa dengan tingkat kelulusan. Karena tidak semua tabel digunakan maka
perlu dilakukan pembersihan data agar data yang akan diolah benar-benar relevan
dengan dibutuhkan. Pembersihan data juga akan mempengaruhi performasi dari
teknik data mining karena data yang ditangani akan berkurang jumlah dan
20
lengkap isiannya. Data yang dibersihkan berupa atribut yang berada di tabel
training data dan testing data. Atribut yang digunakan terdiri dari:
[image:58.595.125.514.167.422.2]Gambar 3.2 Cuplikan Isi Tabel Testing Data
Tabel 3.2 Atribut yang digunakan dalam Testing Data
Atribut Keterangan
Atribut NIM Digunakan sebagai primary key untuk menghubungkan dengan data kelulusan.
Atribut IP semester 1-6
21
Gambar 3.3Cuplikan Isi Tabel Training Data
Tabel 3.3 Atribut yang digunakan dalam Training Data
Atribut Keterangan
Atribut NIM Digunakan sebagai primary key untuk menghubungkan dengan data induk mahasiswa.
Keterangan Digunakan sebagai ukuran tingkat kelulusan tepat tahun atau tidak.
Atribut IP semester 1-6
Digunakan untuk proses mining guna mengetahui hubungan antara tingkat kelulusan dengan IP dari semester 1-6.
Field keterangan dalam tabel data training berisi tentang kategori kelulusan
mahasiswa, dapat dilihat pada Tabel 3.4.
Tabel 3.4 Kategori Kelulusan Berdasarkan Lama Studi
Lulus Kategori Lulus <= 5 Tahun Ya
22
[image:60.595.123.515.148.379.2]Berikut cuplikan isi tabel training data pada Microsoft Access:
Gambar 3.4 Cuplikan Isi Training Data (61 Data)
[image:60.595.121.512.433.664.2]23
3.3 Penggunaan Algoritma k-Nearest Neighborhood (k-NN)
Algoritma k-NN merupakan algoritma untuk mencari jarak terdekat antara
training data dengan testing data. Untuk menghitung jarak terdekat atau jauhnya
tetangga dapat menggunakan metode ecludian distance. Pembahasan algoritma k
-NN dan rumus ecludian distance dapat dilihat di persamaan (2.1) di Bab II.
Contoh proses data mining menggunakan algoritma k-NN yaitu sebagai
berikut:
Terdapat beberapa data yang berasal dari IP mahasiswa Teknik Komputer
yang telah lulus sebagai training data (Tabel 3.5) untuk diklasifikasikan dengan
testing data menggunakan enam atribut yaitu IP dari semester satu sampai
semester enam (Tabel 3.6) sehingga dapat menentukan masa studi mahasiswa
apakah mahasiswa tersebut lulus tepat waktu atau tidak.
Tabel 3.5 Training Data
n SEMESTER Y=Klasifikasi
X11 = 1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 Ya
2 1.68 1.84 1.53 2.32 2.88 2.69 Tidak
3 2.63 1.63 2.42 2.58 3 3.56 Tidak
4 3.21 3.42 3.84 2.79 3.6 3.75 Ya
5 3.11 3.58 3.35 3 3.11 3.21 Ya
6 2.68 2.79 3.16 2.95 3.23 3.68 Ya
7 2 1.53 2.11 2.16 2 1.88 Tidak
Keterangan:
X11-X16 = merupakan atribut semester 1-6 pada training data
n = merupakan banyaknya data
Training data ini merupakan data IP mahasiswa yang telah lulus kurang
24
Tabel 3.6 Testing Data
Keterangan:
X21-X26 = merupakan atribut semester 1-6 pada testing data
n = merupakan banyaknya data
Testing data merupakan sekumpulan data IP mahasiswa yang akan
diklasifikasikan dengan training data, apakah lulus <= 5 tahun atau lulus >5
tahun.
Setelah ada testing data dan training data, lalu menentukan nilai k-nya,
contoh untuk kasus di atas nilai k yang digunakan adalah k=5.
Adapun langkah-langkah menjawab permasalahan di atas, yaitu:
1. Nilai k yang digunakan adalah 5.
2. Menghitung kuadrat jarak euclid (query instance) masing-masing objek
terhadap sampel data atau training data yang diberikan dengan
menggunakan rumus 2.1 di Bab II.
 n=1
� � �� ����
= 11− 21 2 + 12− 22 2+ 13− 23 2
+ 14− 24 2+
15 − 25 2+ 16− 26 2
1 2
= 3.94−2.95 2+ 4−2.76 2+ 4−2.32 2 + 4−1.8 2+ 3.89−2.75 2
+ 3.58−2.87 2
1
2 = 0.99 2+ 1.24 2+ 1.68 2
+ 2.2 2+ 1.14 2+ 0.71 2
1
2= 0.98 + 1.54
+ 2.82 + 4.48 + 1.30 + 0.50
1 2
= 11.98
1 2
= 3.46
n SEMESTER Y=Klasifikasi
X21 = 1 X22=2 X23=3 X24=4 X25=5 X26=6
25
 n=2
� � �� ����
= 11− 21 2 + 12− 22 2+ 13− 23 2
+ 14− 24 2+
15− 25 2+ 16− 26 2
1 2
= 1.68−2.95 2+ 1.84−2.76 2+ 1.53−2.32 2 + 2.32−1.8 2+ 2.88−2.75 2
+ 2.69−2.87 2 1/2 = −1.27 2+ −0.92 2 + −0.79 2+ 0.52 2+ 0.13 2
+ 0.18 2 1/2 = 1.61 + 0.85 + 0.62 + 0.27 + 0.02 + 0.03 1/2 = 3.40 1/2 = 1.84
 n=3
� � �� ����
= 11 − 21 2 + 12− 22 2+ 13− 23 2
+ 14− 24 2+ 15− 25 2
+ 16− 26 2 1/2 = 2.63−2.95 2
+ 1.63−2.76 2+ 2.42−2.32 2+ 2.58−1.8 2
+ 3−2.75 2+ 3.56−2.87 2 1/2 = −0.32 2 + −1.13 2+ 0.1 2+ 0.78 2+ 0.25 2
+ 0.69 2 1/2 = 0.10 + 1.28 + 0.01 + 0.61
26
 n=4
� � �� ����
= 11− 21 2+ 12− 22 2+ 13− 23 2
+ 14 − 24 2+ 15− 25 2
+ 16 − 26 2 1/2= 3.21−2.95 2
+ 3.42−2.76 2+ 3.84−2.32 2+ 2.79−1.8 2
+ 3.6−2.75 2+ 3.75−2.87 2 1/2 = 0.26 2 + 0.66 2+ 1.52 2+ 0.99 2+ 0.85 2
+ 0.88 2 1/2 = 0.07 + 0.44 + 2.31 + 0.98 + 0.72 + 0.77 1/2 = 5.29 1/2 = 2.3
 n=5
� � �� ����
= 11− 21 2+ 12− 22 2+ 13− 23 2
+ 14 − 24 2+ 15− 25 2
+ 16 − 26 2 1/2= 3.11−2.95 2
+ 3.58−2.76 2+ 3.35−2.32 2+ 3−1.8 2 + 3.11−2.75 2+ 3.21−2.87 2 1/2 = 0.16 2 + 0.82 2+ 1.03 2+ 1.2 2+ 0.36 2
+ 0.34 2 1/2 = 0.03 + 0.67 + 1.06 + 1.44 + 0.13
27
 n=6
� � �� ����
= 11− 21 2+ 12− 22 2+ 13 − 23 2
+ 14− 24 2+ 15 − 25 2
+ 16− 26 2 1/2 = 2.68−2.95 2
+ 2.79−2.76 2+ 3.16−2.32 2+ 2.95−1.8 2
+ 3.23−2.75 2+ 3.68−2.87 2 1/2 = −0.27 2 + 0.03 2+ 0.84 2+ 1.15 2+ 0.48 2
+ 0.81 2 1/2 = 0.07 + 0.0009 + 0.71 + 1.32 + 0.23 + 0.66 1/2 = 2.99 1/2 = 1.73
 n=7
� � �� ����
= 11− 21 2+ 12− 22 2+ 13− 23 2
+ 14− 24 2 + 15− 25 2
+ 16 − 26 2 1/2 = 2−2.95 2+ 1.53−2.76 2
+ 2.11−2.32 2+ 2.16−1.8 2+ 2−2.75 2 + 1.88−2.87 2 1/2 = −0.95 2+ −1.23 2 + −0.21 2+ 0.36 2+ −0.75 2
+ −0.99 2 1/2 = 0.90 + 1.51 + 0.04 + 0.13
28
Tabel 3.7 Square Instance to Query Distance
n
SEMESTER Square
instance to query distance X11
=1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 3.46
2 1.68 1.84 1.53 2.32 2.88 2.69 1.84
3 2.63 1.63 2.42 2.58 3 3.56 1.59
4 3.21 3.42 3.84 2.79 3.6 3.75 2.3
5 3.11 3.58 3.35 3 3.11 3.21 1.86
6 2.68 2.79 3.16 2.95 3.23 3.68 1.73
7 2 1.53 2.11 2.16 2 1.88 2.03
3. Kemudian mengurutkan objek-objek tersebut ke dalam kelompok yang
mempunyai jarak Euclid terkecil.
Tabel 3.8 Mengurutkan Objek ke dalam Kelompok ke Jarak Euclid
Terkecil n SEMESTER Square instance to query distance Urutan Jarak terkecil Apakah termasuk nearest-neighbor (k) X11
= 1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 3.46 7 -
2 1.68 1.84 1.53 2.32 2.88 2.69 1.84 3 Ya
3 2.63 1.63 2.42 2.58 3 3.56 1.59 1 Ya
4 3.21 3.42 3.84 2.79 3.6 3.75 2.3 6 -
5 3.11 3.58 3.35 3 3.11 3.21 1.86 4 Ya
6 2.68 2.79 3.16 2.95 3.23 3.68 1.73 2 Ya
7 2 1.53 2.11 2.16 2 1.88 2.03 5 Ya
Pada tabel di atas, yang dimaksud dengan jarak terkecil adalah
mengurutkan hasil query instance dari yang terkecil hingga ke besar. Jika
urutan pada query instance termasuk nilai k = 5, maka yang diambil 5
jarak yang terpendek yang termasuk nilai k (Ya).
4. Mengumpulkan label class Y (klasifikasi Nearest Neighborhood).
Pada proses ke-4 ini, hasil dari pengelompokan “apakah termasuk Nearest
29
menentukan data tersebut apakah termasuk klasifikasi lulus <=5 tahun atau
lulus > 5 tahun.
Tabel 3.9 Label Class Y
n SEMESTER Square instance to query distance Urutan Jarak terkecil Apakah termasuk nearest-neighbor (k) Y=Klasifikasi X11
=1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 3.46 7 - Ya
2 1.68 1.84 1.53 2.32 2.88 2.69 1.84 3 Ya Tidak
3 2.63 1.63 2.42 2.58 3 3.56 1.59 1 Ya Tidak
4 3.21 3.42 3.84 2.79 3.6 3.75 2.3 6 - Ya
5 3.11 3.58 3.35 3 3.11 3.21 1.86 4 Ya Ya
6 2.68 2.79 3.16 2.95 3.23 3.68 1.73 2 Ya Ya
7 2 1.53 2.11 2.16 2 1.88 2.03 5 Ya Tidak
Dengan menggunakan kategori Nearest Neighborhood yang paling
mayoritas maka dapat dipredeksikan nilai query instance yang telah
dihitung. Pada urutan jarak yang terdekat dari satu sampai lima (nilai k=5),
maka diketahui ada 2 yang lulus <=5 tahun dan 3 yang lulus > 5 tahun
pada Tabel 3.10. Sehingga testingdata tersebut termasuk lulus > 5 tahun.
Tabel 3.10 Hasil Akhir Klasifikasi
n SEMESTER Square instance to query distance Urutan Jarak terkecil Apakah termasuk nearest-neighbor (k) Y=Klasifikasi X11
=1 X12=2 X13=3 X14=4 X15=5 X16=6
1 3.94 4 4 4 3.89 3.58 3.46 7 - Ya
2 1.68 1.84 1.53 2.32 2.88 2.69 1.84 3 Ya Tidak
3 2.63 1.63 2.42 2.58 3 3.56 1.59 1 Ya Tidak
4 3.21 3.42 3.84 2.79 3.6 3.75 2.3 6 - Ya
5 3.11 3.58 3.35 3 3.11 3.21 1.86 4 Ya Ya
6 2.68 2.79 3.16 2.95 3.23 3.68 1.73 2 Ya Ya
30
3.3.1 Analisis Kebutuhan Fungsional
Dalam langkah ini dilakukan penentuan entitas-entitas baik entitas internal
maupun entitas eksternal, data yang mengalir, serta prosedur-prosedur yang bisa
dilakukan oleh masing-masing entitas.
3.3.1.1 Diagram Konteks
Gambar di bawah merupakan Diagram Konteks pada Aplikasi data mining
untuk memprediksi masa studi mahasiswa menggunakan algoritma k-Nearest
Neighborhood.
Pengguna
Aplikasi Data Mining untuk Memprediksi Masa Studi Mahasiswa - Data Training yang akan ditambah, diperbaharui, dihapus dan dicari
- Data Testing yang akan ditambah, diperbaharui, dihapus dan dicari - Masukan Nilai K untuk memprediksi masa studi mahasiswa
- Informasi Data Testing yang telah ditambah, diperbaharui, dihapus dan dicari
- Informasi Tingkat keberhasilan sistem pada data testing dan training
- Informasi Hasil Prediksi Masa Studi Mahasiswa 1 data mahasiswa dan 1 database mahasiswa - Data Login User
- Memprediksi masa studi mahasiswa untuk 1 data mahasiswa - Memprediksi masa studi mahasiswa untuk 1 database mahasiswa
- Info User Login invalid
- Informasi Data Training yang telah ditambah, diperbaharui, dihapus dan dicari
Gambar 3.6 Diagram Konteks Aplikasi Data mining
3.3.1.2 DFD (Data Flow Diagram)
Setelah diagram konteks terbentuk, tahap selanjutnya adalah membuat
diagram alir data (data flow diagram/DFD) untuk menjelaskan proses aplikasi
31
Pengguna
2
1 data mahasiswa Data Login User & Password
4
Pengolahan Data
training
Semester, Data Training, Data Testing & Nilai K
Hasil Prediksi, Tingkat keberhasilan & Persentase Kelulusan
1
Login
3
1 database
mahasiswa 5 Pengolahan Data testing Training Data Testing Data
Data Login Invalid
Login
Invalid
NIM, Semester, data Training & Nilai K
Data Training
Hasil Prediksi, Tingkat Keberhasilan & Kecocokan
Data Training
Login Invalid
Login Invalid
Login Invalid
Simpan, cari, tambah, hapus, memperbaharui data training
Informasi data yang telah disimpan, dicari, ditambah, dihapus dan diperbaharui
Data Training
Simpan, cari, tambah, hapus, memperbaharui data testing
Data Training
Data Testing
Data Testing
Informasi data yang telah disimpan, dicari, ditambah, dihapus dan diperbaharui
[image:69.595.116.504.115.484.2]Data Testing
Gambar 3.7 DFD (Data Flow Diagram) Level1 Aplikasi Data Mining
Gambar 3.7 merupakan DFD dari Aplikasi data mining untuk menentukan
masa studi mahasiswa di jurusan Teknik Komputer yang di pecah menjadi
beberapa proses guna untuk menjelaskan fungsi-fungsi dan arus data yang
mengalir pada aplikasi tersebut. Berikut proses-proses yang terdapat di aplikasi
data mining untuk menentukan masa studi mahasiswa:
Proses-proses yang terdapat pada diagram alir data akan dijelaskan lebih
32
Tabel 3.11 Spesifikasi Proses DFD Level1 Aplikasi Data Mining
No Proses Keterangan
1
No.Proses 1 Nama
Proses
Login
Sumber Pengguna
Input Data Login User dan Password Output Data Login Invalid
Deskripsi Proses untuk dapat mengakses atau menjalankan aplikasi data mining.
Logika Proses
1. Masukkan User dan Password.
2. Jika berhasil, maka akan menampilkan menu utama dan jika tidak berhasil atau user dan passwordnya salah, maka akan menampilkan pesan.
2
No.Proses 2 Nama
Proses
1 Data Mahasiswa
Sumber Training Data
Input NIM, Nilai k.
Output Hasil prediksi, Tingkat Keberhasilan dan Kecocokan
Deskripsi Proses memprediksi menggunakan 1 data mahasiswa dengan memilih data training yang digunakan, nilai IP per semester yang digunakan, mengisi NIM yang akan diprediksi dan mengisi nilai k yang digunakan. Hasil dari proses ini yaitu, peluang kelulusan, kategori kelulusan dan kecocokan data asli dengan hasil prediksi.
Logika Proses
1. Memilih data training yang digunakan.
2. Memilih tabel data testing yang akan diprediksi. 3. Memilih Semester yang nilai IP-nya akan digunakan.
4. Masukkan NIM yang akan di prediksi. Lalu klik button cari untuk menampilkan nilai IP.
5. Masukkan Nilai k yang akan digunakan. Klik button hitung jarak.
6. Keluar Hasil Peluang kelulusan, kategori kelulusan dan kecocokan.
3
No.Proses 3 Nama
Proses
1 Database Mahasiswa
Sumber