implementasi algoritma k-means untuk memprediksi …
TRANSCRIPT
IMPLEMENTASI ALGORITMA K-MEANS UNTUK
MEMPREDIKSI NILAI MAHASISWA
Studi Kasus Mahasiswa Teknik Informatika Universitas Sanata Dharma
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Oleh:
Tri Rahayu Widiarti
NIM : 025314077
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
ii
THE IMPLEMENTATION OF K-MEANS ALGORITHM FOR
PREDICTING THE STUDENTS GRADE
Case Study The Informatics Engineering Students of Sanata Dharma University
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Engineering Degree
In Informatics Engineering
By:
Tri Rahayu Widiarti
Student Number : 025314077
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SAINS AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
28 September 2007
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 13 September 2007
Penulis
Tri Rahayu Widiarti
vi
HALAMAN MOTTO
Janganlah takut, sebab Aku menyertai engkau, janganlah bimbang, sebab Aku ini
Allahmu: Aku akan meneguhkan, bahkan akan menolong engkau; Aku akan
memegang engkau dengan tangan
kanan-Ku yang membawa kemenangan ( Yesaya 41:10 )
Percayalah kepada TUHAN dengan segenap hatimu, dan janganlah bersandar
kepada pengertianmu sendiri. Akuilah Dia dalam segala lakumu, maka Ia akan
meluruskan jalanmu. (Amsal 3:5-6)
Jagalah hatimu dengan segala kewaspadaan, karena dari situlah terpancar
kehidupan. (Amsal 4:23)
Karena masa depan sungguh ada, dan harapanmu tidak akan hilang.
(Amsal 23:18)
HALAMAN PERSEMBAHAN
Kupersembahkan karya tulis ini kepada
Tuhan Yesus Kristus sebagai Juru selamatku.
Bapak dan Ibu tercinta atas kasih sayang, doa dan dukungan secara
moril dan materil.
Kedua saudara-saudaraku tercinta Mbak Ning dan Mbak Tutik
Andhika Kurniawan Gozario, makasih ya buat cinta dan
kesabaranmu.
Almamaterku Teknik Informatika, khususnya angkatan 2002
viii
INTISARI
Tugas Akhir ini membahas tentang prediksi nilai mahasiswa Teknik
Informatika Universitas Sanata Dharma. Prediksi ini dilakukan menggunakan
algoritma K-means. Faktor yang mempengaruhi prediksi nilai adalah nilai mata
kuliah prasyarat.
Algoritma K-means diimplementasikan untuk mengelompokkan nilai-nilai
yang sama dengan nilai yang dimiliki oleh seorang mahasiswa pada mata kuliah
prasyarat, dari hasil pengelompokkan tersebut dapat diketahui nilai-nilai mata
kuliah yang akan diambil oleh seorang mahsiswa yang didapat oleh sekelompok
mahasiwa tersebut. Nilai-nilai yang didapat mungkin berbeda-beda kemudian
dirata-rata dan hasilnya merupakan prediksi nilai yang akan didapat oleh seorang
mahasiswa.
Teknologi yang digunakan untuk implementasi adalah VB 6.0 sebagai
bahasa pemrograman dan SQL server 2000 sebagai database.
ix
ABSTRACT
This final assignment discussing the prediction of Sanata Dharma
University Informatics Engineering students grade. This prediction was performed
using K-means algorithm. The factor influencing the grade prediction was the
grades of prerequisite subjects.
K-means algorithm was implemented to categorizing the same grades with
grade obtained by a student in the prerequisite subjects. From the categorization
results, it can be recognized the grade of the subject preferred by a student that
obtained by his/her group. The grades achieved, which might be varied, were
averaged and the result was the predicting the grades that will be obtain by a
student.
The technology used for the implementation was VB 6.0 as programming
language and SQL server 2000 as a database.
x
KATA PENGANTAR
Segala puji syukur saya panjatkan kepada Tuhan Yang Maha Esa, karena
atas berkat rahmat dan kasih_Nya saya dapat menyelesaikan tugas akhir ini
dengan baik dan lancar.
Dalam proses penulisan tugas akhir ini saya meyadari bahwa ada begitu
banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya
masing-masing sehingga tugas akhir ini dapat selesai tepat waktu dan lancar. Oleh
karena itu saya ingin mengucapkan terima kasih antara lain kepada :
1. Bapak Drs. J.J. Siang, M. Sc., selaku Dosen Pembimbing, yang telah
memberikan bimbingan, dukungan, dan fasilitas yang mendukung, sehingga
saya dapat menyelesaikan tugas akhir ini dengan baik.
2. Bapak Ir. Gregorius Heliarko SJ, SS, BST, MA, M.Sc selaku Dekan Fakultas
Teknik Universitas Sanata Dharma.
3. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma dan selaku dosen pembimbing
angkatan 2002.
4. Bapak St. Wisnu Wijaya, S.T., M.T. selaku panitia penguji yang telah
memberikan banyak kritik dan saran demi sempurnanya tugas akhir saya.
5. Pak Jito, Pak Bele, Mas Danang, dan seluruh staff sekretariat Teknik, yang
telah memberikan bantuannya terutama dalam proses pengerjaan tugas akhir
ini.
xi
6. Terima kasih buat seluruh staff BAPSI atas bantuannya dalam pengambilan
data.
7. Bapak dan Ibu tercinta. Terima kasih atas doa, semangat, dukungan dan
cintanya sehingga saya bisa menyelesaikan studi dengan lancar.
8. Kakak-kakakku tercinta : Mbak Ning dan Mbak Tutik terima kasih atas cinta
dan rasa persaudaraan.
9. Buat Andhika terima kasih atas segala perhatian, kesetiaan, kesabaran terutama
cinta dan kasih sayangnya dalam menemani saya menyelesaikan tugas akhir
ini sehingga rasa putus asa itu terasa hampir tidak ada.
10. Calon kakak iparku, Roy dan Pak Dhe bahagiakanlah kakak-kakaku OK!
11. Keluarga besar Pak Lukas, terima kasih buat dukungan doa dan semangat
yang diberikan.
12. Keluarga besar Abu Yono, terima kasih atas doa, perhatian dan dukungannya
selama ini.
13. Anak-anak Kost Pohon waru : Mbak Cicil, Mbak Sari, Mbak Pipit, Mbak
Yanti, Mbak Pitri, dan Mbak Tucil terima kasih atas dukungan, semangat dan
pertemanan kalian selama kita bersama.
14. Wiwik, Melin dan Dian makasih buat persahabatan kaliah selama berjuang di
Jurusan Teknik Informatika.
15. Vagabone makasih buat lagu-lagunya, McD, Albert makasih udah nungguin
aku ujian. Buat Santo, Budi, Tono dan Avu makasih udah nemenin ngobrol.
16. Teman-teman Teknik Informatika khususnya angkatan 2002 atas dukungan
dan kebersamaan kita selama ini.
xii
17. Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir
ini yang tidak bisa saya sebutkan satu per satu.
Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari
sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir
ini sangat saya harapkan. Akhir kata, semoga tugas akhir ini bermanfaat bagi
semua pihak. Terima kasih.
Yogyakarta, 13 September 2007
Penulis
xiii
DAFTAR ISI
JUDUL ......................................................................................................................
HALAMAN PERSETUJUAN ................................................................................
HALAMAN PENGESAHAN .................................................................................
PERNYATAAN KEASLIAN KARYA ..................................................................
HALAMAN MOTTO ..............................................................................................
HALAMAN PERSEMBAHAN ..............................................................................
INTISARI .................................................................................................................
ABSTRACT .............................................................................................................
KATA PENGANTAR .............................................................................................
DAFTAR ISI ............................................................................................................
DAFTAR GAMBAR ...............................................................................................
DAFTAR TABEL ....................................................................................................
i
iii
iv
v
vi
vii
viii
ix
x
xiii
xvii
xix
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah ....................................................................
1.2 Rumusan Masalah .............................................................................
1.3 Batasan Masalah................................................................................
1.4 Tujuan Penelitian ..............................................................................
1.5 Metodologi Penelitian.......................................................................
1.6 Sistematika Penulisan ........................................................................
1
1
1
2
2
4
xiv
BAB II. LANDASAN TEORI
2.1 Data Mining .....................................................................................
2.1.1 Clusterimg ………………………………………………….
2.1.2 K-means ..................................................................................
2.2 SQL Server 2000 ..............................................................................
2.3 Visual Basic.......................................................................................
2.4 Use Case Diagram..............................................................................
2.5 DFD (Data Flow Diagram) ...............................................................
2.6 Entity-Relationship (E-R diagram) ..................................................
BAB III. ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem ..................................................................................
3.1.1 Gambaran Umum Sistem…......................................................
3.1.1.1 Ruang Lingkup Sistem………………………………
3.1.2 Pemodelan Sistem
3.1.2.1 Use Case Diagram………………………………….
3.1.2.2 Data Flow Diagram (DFD)........................................
3.1.2.2.1 Kesatuan Luar…………………………..
3.1.2.2.1 Diagram Konteks…………………………
3.1.2.2.3 Diagram Berjenjang………………………
3.1.2.2.4 DAD level 0 (Overiew Diagram) …………
6
6
6
15
17
19
20
21
23
23
23
23
24
24
25
25
26
27
27
28
xv
3.1.2.3 Entity-Relationship Diagram (ERD)…………………
3.1.2.3.1 Context Diagram…......................................
3.1.2.3.2 The Key-Based Attribut……………………
3.1.2.3.3 Fully Attribut ……………………………..
3.2 Perancangan Sistem ...........................................................................
3.2.1 Disain Database………………….........................................
3.2.2 Perancangan Struktur Tabel………........................................
3.2.3 Disain User Interface……………………………………
3.1.3.1 Tampilan pembuka dan menu utama....................
3.1.3.2 User interface untuk user.....................................
BAB IV. IMPLEMENTASI SISTEM
4.1 Pembuatan Database.........................................................................
4.2 Koneksi Database.............................................................................
4.3 Pembuatan Antar Muka Pemakai (User Interface)...........................
4.4 Uji Coba Program..............................................................................
BAB V. ANALISA HASIL
5.1 Analisa Manfaat.................................................................................
5.2 Kelebihan Sistem yang Dibuat..........................................................
5.3 Kekurangan Sistem yang Dibuat.......................................................
29
29
29
30
30
30
31
32
32
32
36
36
38
39
48
55
55
55
55
xvi
BAB VI. PENUTUP
6.1 Kesimpulan........................................................................................
6.2 Saran...................................................................................................
DAFTAR PUSTAKA
LAMPIRAN
56
56
56
xvii
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Gambar Pengelompokkan Data Mahasiswa 14
2.2 Antarmuka Visual Basic 6.0 18
2.3 Simbol Use Case 19
2.4 Simbol Actor 20
2.5 Simbol Data Flow Diagram 21
2.6 Lambang Entity 21
2.7 Lambang Atribut 21
2.8 Lambang Relationship 22
2.9 Notasi dari Cardinality 22
3.1 Use Case Diagram 24
3.2 Diagram Konteks 26
3.3 Diagram Berjenjang 27
3.4 DAD level 0 (Overview Diagram) 28
3.5 Context Diagram 29
3.6 The-Key Based Attribut 29
3.7 Fully Attribut 29
3.8 Disain Database 30
3.9 Disain Tampilan Pembuka 32
3.10 Disain Form Login User 32
3.11 Disain Form Utama User 32
3.12 Disain Form Prediksi 33
3.13 Disain Form Pilih Semester 33
3.14 Disain Form Pilih Matakuliah Semester Ganjil 33
3.15 Disain Form Pilih Matakuliah Semester Genap 34
3.16 Disain Form Hasil Prediksi 34
3.17 Disain From Ubah Password 35
3.18 Disain Form About 35
4.1 Koneksi sistem ke basis data 38
xviii
4.2 Tampilan Pembuka 39
4.3 Halaman Login User 40
4.4 Halaman Menu User 41
4.5 Halaman Ubah Password 42
4.6 Halaman Prediksi 44
4.7 Halaman Pilih Semester 45
4.8 Halaman Pilih Matakuliah 46
4.9 Halaman About 48
4.10 Mahasiswa Memilih Matakuliah 49
4.11 Hasil Prediksi Matakuliah 50
4.12 Hasil Lihat Perhitungan 51
xix
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 Tabel Sampel Data Mahasiswa 8
2.2 Tabel Cluster Akhir 13
2.3 Tabel Pusat Cluster 13
3.1 Tabel Kesatuan Luar Sistem 26
3.2 Tabel Mahasiswa 31
3.3 Tabel KRS 31
3.4 Tabel Mata Kuliah 31
3.5 Tabel MK Prasyarat 31
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Mahasiswa terkadang ingin mengetahui berapa nilai yang akan
diperolehnya pada saat akhir semester, namun ada beberapa faktor yang
mempengaruhi prediksi nilai, seperti mata kuliah prasyarat, mata kuliah
sejenis, dan dosen yang mengajar. Sehingga mahasiswa akan kesulitan
didalam memprediksi nilai.
1.2 Rumusan Masalah
Dari latar belakang masalah di atas dapat dirumuskan menjadi
masalah sebagai berikut :
Bagaimana megimplementasikan algoritma K-means untuk
mengelompokkan nilai mahasiswa dalam prediksi nilai ?
1.3 Batasan Masalah
Batasan masalah di dalam tugas akhir ini adalah sebagai berikut :
1. Data yang diolah dibatasi hanya untuk mahasiswa Teknik Informatika
Universitas Sanata Dharma..
2. Prediksi yang dilakukan hanyalah merupakan hasil dari pengolahan
prediksi nilai tiap mata kuliah menggunakan algoritma K-means.
3. Dasar prediksi adalah nilai mata kuliah prasyarat.
2
4. Implementasi tugas akhir ini akan menggunakan VB 6.0 dan database
yaitu SQL Server 2000..
1.4 Tujuan Penelitian
Tujuan dari penulisan tugas akhir ini adalah untuk
mengimplementasikan algoritma K-means didalam memprediksi nilai
mahasiswa.
1.5 Metodologi Penelitian
Metodologi penelitian yang digunakan adalah studi kasus pada
program studi Teknik Informatika Universitas Sanata Dharma. Langkah-
langkah yang dilakukan :
1. Library Research (Penelitian Kepustakaan)
Dilakukan dengan mempelajari bahan-bahan tertulis seperti buku,
tutorial, dan jurnal yang ada kaitannya dengan pengimplementasian
algoritma K-means untuk prediksi nilai.
2. Wawancara (Interview)
Dilakukan dengan cara tanya jawab dan bertatap muka langsung dengan
pihak pengelola database Universitas Sanata Dharma (BAPSI).
3. Pembangunan Aplikasi Skripsi Implementasi Algoritma K-means untuk
Memprediksi Nilai Mahasiswa dengan metode Rekayasa Perangkat
Lunak (RPL) secara terstruktur (Structured Analysis and Design
Method). Tahap-tahap yang dilakukan :
3
A Analisis sistem
Pada tahap ini dilakukan pemodelan sistem kedalam bentuk use case,
Data Flow Diagram (DFD), dan Entity Relationship Diagram
(ERD).
B Disain sistem
Pada tahap ini dilakukan disain sistem secara umum, yang meliputi
disain database, disain user interface, dan disain struktur menu.
C Implementasi
Pada tahap ini dilakukan pengimplementasian sistem berdasarkan
analisis dan disain sistem yang telah dibuat.
D Uji coba sistem
Pada tahap ini dilakukan uji coba terhadap sistem untuk mengetahui
apakah hasil sudah sesuai dengan rancangan yang diinginkan dan
mencari kesalahan-kesalahan yang mungkin terjadi.
4
1.6 Sistematika Penulisan
Struktur penulisan tugas akhir ini adalah sebagai berikut :
BAB I : PENDAHULUAN
Berisi tentang latar belakang, rumusan masalah, batasan masalah,
tujuan penelitian, metodologi penulisan, dan sistematika
penulisan dari pembuatan tugas akhir ini.
BAB II : LANDASAN TEORI
Berisi tentang dasar teori yang mendukung dalam pembuatan
tugas akhir ini, antara lain tentang data mining, clustering,
algoritma K-means, Visual Basic 6, SQL server 2000, Use Case
Diagram, DFD, E-R Diagram.
BAB III : ANALISIS DAN PERANCANGAN SISTEM
Berisi tentang analisis sistem, meliputi pendefinisian dan
pemodelan sistem dalam bentuk use case, diagram konteks, dan
Data Flow Diagram (DFD). Dan juga berisi tentang desain
sistem yang menjelaskan tentang disain database, disain user
interface, dan disain struktur menu dari sistem yang akan dibuat.
BAB IV : IMPLEMENTASI
Berisi tentang implementasi sistem dari perancangan yang telah
dibuat sebelumnya beserta pengkodean dan penjelasannya.
BAB V : ANALISIS HASIL
Dalam bab ini berisi hasil-hasil dari analisa manfaat, kelebihan
dan kekurangan sistem.
5
BAB VI : KESIMPULAN DAN SARAN
Berisi kesimpulan yang dapat diambil dari penulisan tugas akhir
ini dan saran-saran pengembangannya.
6
BAB II
LANDASAN TEORI
2.1 Data Mining
Data Mining merupakan satu bidang yang berkembang pesat karena
adanya kebutuhan akan nilai tambah dari database skala besar yang makin banyak
terakumulasi sejalan dengan berkembangnya teknologi informasi. Dengan
bertumbuhnya dari akumulasi data menciptakan suatu kondisi yang sering disebut
“Rich of data but poor information” karena data yang terkumpul tidak dapat
digunakan untuk aplikasi yang berguna. Definisi secara umum dari Data Mining
adalah serangkaian proses untuk menggali nilai tambah berupa pengetahuan yang
selama ini tidak diketahui secara manual dari suatu kumpulan data.
2.1.1 Clustering
Digunakan untuk mengidentifikasikan kelompok item yang sama-sama
memiliki karakteristik tertentu. Pendekatan clustering menekankan masalah
segmentasi.
2.1.2 K-means
Algoritma K-means adalah suatu kelompok algoritma yang disebut
partitioning methods. Metode nonhirarki ini pada awalnya mengambil sejumlah
komponen populasi yang sama dengan sejumlah cluster akhir yang diperlukan.
Pada langkah ini sejumlah cluster akhir dipilih dari titik-titik yang satu dengan
yang lainnya terpisah paling jauh. Kemudian masing-masing komponen diuji pada
7
populasi menugaskannya kesalah satu dari cluster yang jaraknya paling dekat atau
minimum, dimana untuk fungsi jarak dapat digunakan fungsi Manhattan, d(i,j) =
|xi1-xj1| + |xi2-xj2| +….+|xin-xjn|. Posisi centroid dihitung kembali setiap komponen
ditambahkan ke cluster dan melanjutkan sampai semua komponen dikelompokkan
ke dalam sejumlah cluster akhir yang diperlukan. Ini dikerjakan sampai tidak ada
lagi perubahan ketika cluster dihitung kembali.
Algoritma K-means
Iterasikan sampai stabil (= tidak ada objek yang berpindah kelompok)
1. Menentukan pusat cluster.
2. Menentukan jarak setiap objek ke pusat cluster.
3. Mengelompokkan setiap objek berdasarkan jarak terkecil.
Contoh penerapan algoritma clustering K-means.
Mahasiswa X mengambil mata kuliah Matematika Diskret yang mempunyai mata
kuliah prasyarat Logika dan Kalkulus.
Nilai Logika Mahasiswa X = B
Nilai Kalkulus Mahasiswa X = B
Untuk mengetahui nilai yang akan diperoleh Mahasiswa X maka dilakukan
prediksi Nilai. Prediksi yang dilakukan berdasarkan pada data nilai prasyarat mata
kuliah Matematika Diskret mahasiswa tahun sebelumnya. Untuk pengelompokkan
data nilai digunakan algoritma K-means.
8
Sampel data Mahasiswa angkatan sebelumnya :
No
Mahasiswa
Nilai
Logika
Nilai
Kalkulus
Nilai
Matematika Diskret
1 D C D
2 C D C
3 A A C
4 C D C
5 B B B
6 C C B
7 B B C
Untuk memudahkan perhitungan maka nilai-nilia huruf tersebut di jadikan nilai
angka : A = 4; B = 3; C = 2; D = 1; E = F = K = 0
Langkah-langkah pengklusteran dengan algoritma K-means :
1. Menentukan pusat cluster
Dipilih 5 objek pertama sebagai pusat cluster, yaitu : C1={(4,4)},
C2={(3,3)}, C3={(2,2)}, C4={(1,1)}, C5={(0,0)}
2. Menghitung jarak antara masing-masing objek dan masing-masing pusat
cluster dan menempatkan objek ke pusat cluster terdekat. Dengan
menggunakan fungsi jarak Manhattan, maka diperoleh matrik jarak pada
iterasi 0 seperti dibawah ini:
1 2 3 4 5 6 7
1 2 4 2 3 2 3 X
2 1 4 1 3 2 3 Y
D0
= 5 5 0 5 2 4 2 C1 = (4,4) cluster-1
3 3 2 3 0 2 0 C2 = (3,3) cluster-2
1 1 4 1 2 0 2 C3 = (2,2) cluster-3
1 1 6 1 4 2 4 C4 = (1,1) cluster-4
3 3 8 3 6 4 6 C5 = (0,0) cluster-5
Tabel 2.1 Sampel Data Mahasiswa
9
Setiap kolom dalam matrik jarak menggambarkan objek. Baris pertama
dari matrik jarak merupakan hasil perhitungan jarak setiap objek dengan
pusat cluster pertama, baris kedua merupakan hasil perhitungan jarak
setiap objek dengan pusat cluster kedua, baris ketiga merupakan hasil
perhitungan jarak dengan pusat cluster ketiga, baris keempat merupakan
hasil perhitungan jarak dengan pusat cluster keempat dan baris kelima
merupakan hasil perhitungan jarak dengan pusat cluster kelima.
Di bawah ini merupakan perhitungan setiap objek dengan pusat cluster :
Dis(1,1) = |1-4| + |2-4| = 5
Dis(1,2) = |2-4| + |1-4| = 5
Dis(1,3) = |4-4| + |4-4| = 0
Dis(1,4) = |2-4| + |1-4| = 5
Dis(1,5) = |3-4| + |3-4| = 2
Dis(1,6) = |2-4| + |2-4| = 4
Dis(1,7) = |3-4| + |3-4| = 2
Dis(2,1) = |1-3| + |2-3| = 3
Dis(2,2) = |2-3| + |1-3| = 3
Dis(2,3) = |4-3| + |4-3| = 2
Dis(2,4) = |2-3| + |1-3| = 3
Dis(2,5) = |3-3| + |3-3| = 0
Dis(2,6) = |2-3| + |2-3| = 2
Dis(2,7) = |3-3| + |3-3| = 0
Dis(3,1) = |1-2| + |2-2| = 1
Dis(3,2) = |2-2| + |1-2| = 1
Dis(3,3) = |4-2| + |4-2| = 4
Dis(3,4) = |2-2| + |1-2| = 1
10
Dis(3,5) = |3-2| + |3-2| = 2
Dis(3,6) = |2-2| + |2-2| = 0
Dis(3,7) = |3-2| + |3-2| = 2
Dis(4,1) = |1-1| + |2-1| = 1
Dis(4,2) = |2-1| + |1-1| = 1
Dis(4,3) = |4-1| + |4-1| = 6
Dis(4,4) = |2-1| + |1-1| = 1
Dis(4,5) = |3-1| + |3-1| = 4
Dis(4,6) = |2-1| + |2-1| = 2
Dis(4,7) = |3-1| + |3-1| = 4
Dis(5,1) = |1-0| + |2-0| = 3
Dis(5,2) = |2-0| + |1-0| = 3
Dis(5,3) = |4-0| + |4-0| = 8
Dis(5,4) = |2-0| + |1-0| = 3
Dis(5,5) = |3-0| + |3-0| = 6
Dis(5,6) = |2-0| + |2-0| = 4
Dis(5,7) = |3-0| + |3-0| = 6
3. Mengelompokkan objek dengan menandai setiap objek berdasarkan jarak
terkecil. Elemen dari pengelompokkan matrik di bawah ini bernilai 1 jika
dan hanya jika objek berada dalam kelompok tersebut.
G0
= 0 0 1 0 0 0 0 C1
0 0 0 0 1 0 1 C2
1 1 0 1 0 1 0 C3
0 0 0 0 0 0 0 C4
0 0 0 0 0 0 0 C5
1 2 3 4 5 6 7
11
4. Menentukkan pusat cluster yang baru. Setelah mengetahui anggota dari
masing-masing kelompok kemudian dilakukkan perhitungan pusat cluster
baru dari masing-masing kelompok berdasarkan anggota-anggota baru dari
kelompok tersebut.
Cluster 1 mempunyai 1 anggota, maka pusat cluster-nya:
C1 =( (4+4)/2, (4+4)/2) = (4,4)
Cluster 2 mempunyai 2 anggota, maka pusat cluster-nya:
C2 = ((3+3+3)/3, (3+3+3)/3) = (3,3)
Cluster 3 mempunyai 4 anggota, maka pusat cluste-rnya:
C3 = ((2+1+2+2+2)/5, (2+2+1+1+2)/5) = (1.8, 1.6)
Cluster 4 tidak mempunyai anggota maka pusat cluster-nya tetap:
C4 = (1,1)
Cluster 5 tidak mempunyai anggota maka pusat cluster-nya tetap:
C5 = (0,0)
5. Menentukkan jarak objek ke pusat cluster yang baru. Sama seperti langkah
kedua, maka diperoleh matrik jarak pada iterasi 1 adalah :
1 2 3 4 5 6 7
1 2 4 2 3 2 3 X
2 1 4 1 3 2 3 Y
D1
= 5 5 0 5 2 4 2 C1 = (4,4) cluster-1
3 3 2 3 0 2 0 C2 = (3,3) cluster-2
1,2 0,8 4,6 0,8 1,6 0,6 1,6 C3 = (1.8, 1.6) cluster-3
1 1 6 1 4 2 4 C4 = (1,1) cluster-4
3 3 8 3 6 4 6 C5 = (0,0) cluster-5
6. Pengelompokkan objek, seperti pada langkah ketiga. Diperoleh hasil
seperti di bawah ini :
12
G1
= 0 0 1 0 0 0 0 C1
0 0 0 0 1 0 1 C2
0 1 0 1 0 1 0 C3
1 0 0 0 0 0 0 C4
0 0 0 0 0 0 0 C5
1 2 3 4 5 6 7
7. Menentukkan pusat cluster yang baru. Sama seperti langkah keempat.
Cluster 1 mempunyai 1 anggota, maka pusat cluster-nya:
C1 =( (4+4)/2, (4+4)/2) = (4,4)
Cluster 2 mempunyai 2 anggota, maka pusat cluster-nya:
C2 = ((3+3+3)/3, (3+3+3)/3) = (3,3)
Cluster 3 mempunyai 3 anggota, maka pusat cluster-nya:
C3 = ((1.8+2+2+2)/4, (1.6+1+1+2)/4) = (1.95, 1.4)
Cluster 4 mempunyai 1 anggota maka pusat cluster-nya tetap:
C4 = ((1+1)/2,(1+2)/2)= (1,1.5)
Cluster 5 tidak mempunyai anggota maka pusat cluster-nya tetap:
C5 = (0,0)
8. Menghitung jarak obejek ke pusat cluster yang baru, sama seperti pada
langkah 2. Diperoleh matrik jarak pada iterasi 2 seperti dibawah ini :
1 2 3 4 5 6 7
1 2 4 2 3 2 3 X
2 1 4 1 3 2 3 Y
D2
= 5 5 0 5 2 4 2 C1 = (4,4) cluster-1
3 3 2 3 0 2 0 C2 = (3,3) cluster-2
1,55 0,45 4,65 0,45 2,65 0,65 2,65 C3 = (1.95, 1.4) cluster-3
0,5 1,5 5,5 1,5 3,5 1,5 3,5 C4 = (1,1.5) cluster-4
3 3 8 3 6 4 6 C5 = (0,0) cluster-5
13
9. Pengelompokkan objek seperti pada langkah ketiga. Diperoleh hasil
seperti di bawah ini :
G2
= 0 0 1 0 0 0 0 C1
0 0 0 0 1 0 1 C2
0 1 0 1 0 1 0 C3
1 0 0 0 0 0 0 C4
0 0 0 0 0 0 0 C5
1 2 3 4 5 6 7
Diperoleh hasil bahwa G2
= G1,
maka iterasi dihentikan karena masing-masing
objek sudah tidak berpindah kelompok lagi, hal ini menandakan bahwa
perhitungan dari algoritma K-means telah mencapai tingkat kestabilan dan
tidak membutuhkan iterasi berikutnya. Didapatkan pengelompokkan akhir
sebagai berikut :
No
Mahasiswa
Nilai Logika Nilai Kalkulus Cluster
1 D C C4
2 C D C3
3 A A C1
4 C D C3
5 B B C2
6 C C C3
7 B B C2
Tabel Pusat cluster
Cluster Number Nilai Logika Nilai kalkulus
C1 4 4
C2 3 3
C3 1.95 1.4
C4 1 1,5
C5 0 0
Tabel 2.2 Tabel Cluster Akhir
Tabel 2.3 Tabel Pusat Cluster
14
Menghitung jarak nilai Logika dan Kalkulus dengan pusat cluster yang telah
didapat :
Jarak dengan C1: |3-4| + |3-4| = 2
Jarak dengan C2: |3-3| + |3-3| = 0
Jarak dengan C3: |3-1,95| + |3-1,4| = 2,65
Jarak dengan C4: |3-1| + |3-1,5| = 3,5
Jarak dengan C5: |3-0| + |3-0| = 6
Dapat dilihat bahwa nilai Logika B dan nilai Kalkulus B yang didapat mahasiswa
X dekat dengan cluster kedua, dimana cluster kedua beranggotakan mahasiswa
kelima dan ketujuh.
Sehingga prediksi nilai Matematika Diskret yang diperoleh oleh Mahasiswa X
adalah rata-rata Matematika Diskret mahasiswa kelima (nilai B) dan mahasiswa
ketujuh (nilai C).
Prediksi nilai Matematika Diskret Mahasiswa X
= (nilai Matematika Diskret mahasiswa kelima + nilai Matematika Diskret
mahasiswa ketujuh) / 2
Gambar 2.1 Gambar Pengelompokkan Data Mahasiswa
15
= ( 3+2) / 2 = 2,5 ~ 3
Prediksi nilai Matematika Diskret mahasiswa X adalah B
2.2 SQL Server 2000
SQL Server 2000 merupakan sebuah program Relational Database
Management System (RDBMS) yang didesain untuk mendukung proses transaksi
yang besar.
Fasilitas yang diberikan oleh SQL Server 2000 adalah sebagai berikut :
1. Fasilitas Service Manager
Fasilitas ini digunakan untuk mengaktifkan (start) atau menghentikan
(stop) aktivitas dan layanan Server, yang dimaksud server yaitu SQL
Server 2000 sebagai database server yang menyimpan dan mengolah
database. Service Manager dapat dijalankan dengan mengklik Start pada
desktop computer > Program > Microsoft Sql Server > Service Manager.
2. Fasilitas Enterprise Manager.
Fasilitas ini merupakan fasilitas utama dari SQL Server 2000. Hampir
semua kegiatan administratif database dilakukan menggunakan Enterprise
Manager. Enterprise manager dapat digunakan untuk membuat dan
mengolah database, menambah dan menghapus table, membuat View,
menambah User, mengatur hak pengguna, dan lain-lain.
3. Fasilitas Query Analyzer
Query Analyzer digunakan untuk membuat atau menjalankan perintah-
perintah SQL dan Transact-SQL.
16
4. Fasilitas Import dan Export Data
Fasilitas ini digunakan untuk mengimpor database dari aplikasi lain ke
SQL Server 2000 atau mengekspor database dari SQL Server 2000 ke
aplikasi database lain.
5. Fasilitas Books Online
Fasilitas ini digunakan sebagai sarana referensi bagi para pengguna SQL
Server 2000.
Dalam SQL Server 2000, Data Definition Language (DDL) biasanya
digunakan untuk mendefinisikan sebuah database atau table. Bentuk perintah
DDL yang umum digunakan adalah :
a. CREATE
Perintah ini digunakan untuk membuat objek database atau table.
b. ALTER
Perintah ini digunakan untuk mengubah definisi database atau table.
c. DROP
Perintah ini digunakan untuk menghapus database atau table.
Perintah Data Manipulation Language (DML) terdiri atas SELECT, INSERT,
UPDATE dan DELETE. Perintah SELECT digunakan untuk mengambil dan
menampilkan data dari satu atau lebih tabel dalam database. Aturan penulisan
perintah SELECT adalah sebagai berikut :
SELECT <kolom/ ekspresi> FROM <namatabel>
[WHERE <kondisi>]
17
[GROUP BY <daftarkolom>]
[HAVING <kondisi>]
[ORDER BY <daftarkolom>]
perintah yang dibatasi kurung siku “[“ dan “]” adalah perintah opsional.
Perintah INSERT digunakan untuk menambahkan baris data baru ke dalam
tabel. Aturan penulisan perintah INSERT adalah sebagai berikut :
INSERT [INTO] <namatabel> [(<daftarkolom>)]
VALUES (<daftar_nilai_data>)
Perintah UPDATE digunakan untuk mengubah nilai baris data dalam tabel.
Aturan penulisan perintah UPDATE adalah sebagai berikut :
UPDATE <namatabel> SET <namakolom=nilai>
[WHERE kondisi]
Perintah DELETE digunakan untuk menghapus beberapa baris data dari
sebuah tabel. Aturan penulisan perintah DELETE adalah sebagai berikut :
DELETE FROM <namatabel>
[WHERE <kondisi>]
2.3 Visual Basic
Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa
pemrograman adalah perintah-perintah yang dimengerti oleh komputer untuk
melakukan tugas-tugas tertentu. Visual Basic juga merupakan salah satu
Development Tool yaitu alat bantu untuk membuat berbagai macam program
18
komputer, khususnya yang menggunakan sistem operasi Windows. Visual
Basic 6.0 biasanya mempunyai antarmuka seperti Gambar 2.2.
Gambar 2.2. Antarmuka Visual Basic 6.0
Title Bar, menunjukkan nama Project yang sedang dibuat.
Menu Bar, berisi menu-menu utama yang dimiliki Visual Basic 6.0, misalnya
menu File, Edit, View, Project, Run dan lain-lain. Pada masing-masing menu
terdapat submenu yang berbeda.
Main Toolbar, adalah toolbar utama yang berisi ikon-ikon yang dapat diklik
oleh pengguna untuk melakukan perintah khusus secara cepat.
Title Bar
Menu Bar Form
Toolbox Code Window Form Layout Window
Project Explorer Window
Properties Window
19
Form, tempat untuk merancang tampilan program aplikasi yang sedang
dibuat.
Project Explorer Window, jendela untuk menapilkan projek-projek, form-
form, atau modul-modul yang terlibat dalam proses pembuatan program
aplikasi.
Properties Window, jendela untuk melihat dan mengubah properti-properti
yang dimiliki sebuah objek.
Toolbox, terdiri dari beberapa class objek yang dapat digunakan untuk
menanamkan objek ke dalam proses pembuataan aplikasi.
Code Window, jendela yang digunakan untuk melihat atau mengetikkan kode
program. Setiap form memiliki satu buah Code Window sendiri.
Form Layaout Window, jendela yang menunjukkan posisi relative Form
terhadap layer monitor saat Form tersebut ditampilkan di layar monitor.
2.4 Use Case Diagram
Use Case Diagram digunakan untuk menggambarkan interaksi antara
sistem dan eksternal sistem dan user.
Use case merupakan bagian dari seluruh fungsi sistem. Digambarkan
dengan elips horisontal dengan nama use case tertera di atas, di bawah, atau di
dalam elips. Simbol Use case terlihat pada Gambar 2.3.
Use Case
Gambar 2.3 Simbol Use Case
20
Actor adalah segala sesuatu yang dibutuhkan untuk berinterasi dengan
sistem untuk mengubah informasi, dapat berupa orang, organisasi, atau sistem
informasi yang lain, atau dapat juga berupa suatu waktu kejadian. Simbol actor
terlihat pada Gambar 2.4.
Gambar 2.4 Simbol Actor
2.5 DFD (Data Flow Diagram)
Data Flow Diagram (DFD) digunakan untuk menggambarkan suatu
sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika
tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau
lingkungan fisik dimana data tersebut akan disimpan. DFD merupakan alat yang
digunakan pada metodologi penegembangan sistem yang terstruktur (Structured
Analysis and Design).
Ada beberapa simbol DFD yang dipakai untuk menggambarkan data beserta
proses transformasi data, adalah seperti yang diilustrasikan pada Gambar 2.5.
Entiti, sumber atau tujuan dari aliaran data dari atau ke
sistem dan merupakan lingkungan luar sistem.
Arus data, menggambarkan aliran data dari suatu proses ke
proses lainnya. Kepala panah menunjukkan arah aliran data.
Actor
21
Proses, merepresentasikan proses yang terjadi pada data atau
fungsi yang berada dalam sistem yang dimodelkan.
Penyimpanan Data, komponen yang berfungsi untuk
menyimpan data atau file.
Gambar 2.5 Simbol Data Flow Diagram
2.6 Entity Relationship (E-R Diagram)
Cara pemodelan data yang memanfaatkan beberapa notasi untuk
menggambarkan data dalam entity dan relasi yang dijelaskan oleh data.
Entity adalah sebuah kumpulan dari orang, tempat, objek, kejadian atau
konsep yang diperlukan untuk menyimpan data. Lambang entitas terlihat pada
Gambar 2.6.
Gambar 2.6 Lambang Entity
Atribut merupakan sebuah properti yang deskriptif atau karakteristik dari
sebuah entity. Sinonimnya adalah element, property, dan field. Misalnya atribut
dari entitas user adalah NIM, dan password. Lambang Atribut terlihat pada
Gambar 2.7.
Entity
user
NIM
password
Gambar 2.7 Lambang Atribut
22
Relationship adalah sebuah asosiasi bisnis normal yang ada antara satu atau
lebih entity. Relasi mungkin juga mewakili suatu kejadian yang menghubungkan
antara entity atau logika gabungan antara entity. Lambang dari relationship
terlihat pada Gambar 2.8.
Hubungan
Gambar 2.8 Lambang Relationship
Cardinality merupakan minimum dan maksimum kejadian dari sebuah
entity yang dihubungkan dengan kejadian tunggal dari entity yang lain. Karena
seluruh relasi adalah bidirectional maka cardinality harus didefinisikan pada
kedua direction untuk setiap relasi. Gambar 2.9 merupakan notasi dari
cardinality.
Gambar 2.9 Notasi dari Cardinality
Entity 1 Entity 2
23
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Pada tahapan ini dihasilkan pemodelan sistem dalam bentuk Use Case
Diagram, ERD dan Diagram Alir Data (DAD) yang menjadi dasar untuk
membangun desain sistem.
3.1.1 Gambaran Umum Sistem
Sistem ini dibuat untuk membantu mahasiswa mengetahui nilai apa
yang akan didapatnya pada akhir semester, khususnya mahasiswa program
studi Teknik Informatika Universitas Sanata Dharma. Untuk mengetahui
nilai tersebut maka dilakukan prediksi nilai berdasarkan nilai mata kuliah
prasyarat. Dalam memprediksi nilai digunakan algoritma K-means yang
pada akhirnya akan menghasilkan nilai yang akan didapat oleh seorang
mahasiswa.
3.1.1.1 Ruang Lingkup Sistem
Sistem ini hanya mempunyai satu buah subsistem yaitu user
(mahasiswa Teknik Informatika Universitas Sanata Dharma). Dimana
dengan melalukan login terlebih dahulu user bisa melakukan prediksi,
melihat informasi akademik, dan juga bisa mengubah data tentang
dirinya. Semua data-data user disimpan di dalam database.
24
3.1.2 Pemodelan Sistem
Pemodelan sistem yang dipaparkan pada bagian ini berupa:
1. Use Case Diagram, yaitu sebuah diagram yang menggambarkan
interaksi antara sistem dan eksternal sistem dan user.
2. Data Flow Diagram (DFD), menggambarkan representasi grafik dari
pemrosesan data dalam sistem. Dengan DFD kita dapat memahami
bagaimana pergerakan data dalam sistem, bagaimana proses
transformasi yang dialamai data dan apa output yang dihasilkan.
3. Entity-Relationship Diagram (ERD), menggambarkan relasi antar
data. Atribut dari masing-masing data yang tergambar dalam ERD
dideskripsikan dalam data object description.
3.1.2.1 Use Case Diagram
Ilustrasi use case diagram untuk sistem prediksi nilai mahasiswa
Teknik Informatika Universitas Sanata Dharma dapat dilihat pada
Gambar 3.1
Gambar 3.1 Use Case Diagram
25
Keterangan Use Case Diagram :
Pada Use Case Diagram di atas terdapat satu aktor yang
berperan dalam sistem, yaitu User.
Peran User antara lain:
a Melakukan Login dengan nim dan password yang telah
terdaftar. User yang tidak terdaftar tidak bisa login.
b Melakukan proses prediksi nilai. Proses ini bisa dilakukan jika
user telah login.
c Melakukan proses ubah password.
d Melakukan proses about yaitu melihat informasi tentang
sistem.
e Logout.
3.1.2.2 Data Flow Diagram (DFD)
3.1.2.2.1 Kesatuan Luar
Kesatuan Luar (external entity) merupakan kesatuan (entity) di
lingkungan luar sistem yang berinteraksi “(memberikan input atau
menerima output)” dengan sistem dapat berupa orang, unit organisasi atau
sistem lainnya. Kesatuan luar untuk pengimplementasian prediksi nilai
pada mahasiswa Teknik Informatika Universitas Sanata Dharma
diperlihatkan dalam Tabel 3.1.
26
Tabel 3.1 Kesatuan Luar Sistem
Kesatuan Luar Input Output
User nim dan password user,
data mata kuliah yang
akan diprediksi,
password user yang baru
informasi prediksi nilai,
informasi ubah password
user, informasi verifikasi
mata kuliah prasyarat,
konfirmasi logout
3.1.2.2.2 Diagram Konteks
Diagram konteks menggambarkan sistem secara umum sebagai
sebuah proses tunggal dengan input dan output data yang ditunjukkan
dengan panah masuk dan keluar. Diagram konteks sistem prediksi nilai
mahasiswa Teknik Informatika Universitas Sanata Dharma terlihat pada
Gambar 3.2
Gambar 3.2 Diagram Konteks
27
3.1.2.2.3 Diagram Berjenjang
Diagram berjenjang digunakan untuk mempersiapkan
penggambaran DAD ke level-level lebih bawah lagi. Diagram Berjenjang
untuk sistem prediksi nilai mahasiswa Teknik Informatika Universitas
Sanata Dharma terlihat pada Gambar 3.3
Gambar 3.3 Diagram Berjenjang
Gambar 3.3 menggambarkan aplikasi prediksi nilai pada mahasiswa
Teknik Informatika Universitas Sanata Dharma. Proses yang terjadi pada
sistem diawali dengan proses login user (proses 1p). User yang telah
melakukan login dapat melakukan proses prediksi nilai (proses 2p) dan
proses ubah password (proses 3p). User yang ingin keluar dari sistem
dapat melakukan proses logout (proses 4p).
3.1.2.2.4 DAD level 0 (Overview Diagram)
DAD Level 0 digunakan untuk menggambarkan sistem yang akan
dibuat. Diagram ini menekankan pada logika dan kebutuhan-kebutuhan
sistem. DAD level 0 untuk sistem prediksi nilai mahasiswa Teknik
Informatika Universitas Sanata Dharma diperlihatkan pada Gambar 3.4.
28
Gambar 3.4 Overview Diagram Level 0
Gambar 3.4 menunjukkan interaksi di dalam sistem yang dihubungkan
oleh aliran data. Untuk berinteraksi dengan sistem user harus melakukan login
(proses 1p) dengan menginputkan nim dan password. Setelah login sukses user
dapat melakukan proses prediksi nilai (proses 2p) dengan memilih mata kuliah
yang akan diprediksi. Proses prediksi nilai akan menghasilkan informasi prediksi
nilai dan verifikasi mata kuliah prasyarat. User juga bisa melakukan proses ubah
password (proses 3p) dengan menginputkan data password yang baru yang akan
disimpan dalam data store yang diberi nama Tabel Mahasiswa (D2). User yang
ingin keluar dari sistem dapat melakukan proses logout (proses 4p).
3.1.2.3 Entity-Relationship Diagram (ERD)
Gambaran E-R Diagram untuk sistem prediksi nilai mahasiswa
Teknik Informatika Universitas Sanata Dharma diperlihatkan pada
gambar dibawah ini.
29
3.1.2.3.1 Context Diagram
Mahasiswa KRS Mata kuliahlakukan punya
punya
MK prasyarat
Gambar 3.5 Context Diagram
3.1.2.3.2 The Key-Based Atribut
NIM (PK)NIM (PK1)(FK1)
Kode_MK (PK2)(FK2) Kode_MK (PK)
Kode_Prasyarat
Kode_MK (FK)
lakukan punya
punya
Mahasiswa
KRS
MK Prasyarat
Mata Kuliah
Gambar 3.6 The Key-Based Atribut
3.1.2.3.3 Fully Atribut
Gambar 3.7 Fully Atribut
30
3.2 Perancangan Sistem
3.2.1 Disain Database
Pada disain database dari Sistem Prediksi nilai menggunakan 4 tabel
yaitu tabel KRS sebagai fact tabel, tabel Mahasiswa, tabel Mata Kuliah, dan
tabel MK_prasyarat sebagai dimension tabel. Relasi antar tabel di dalam
disain database dapat dilihat pada Gambar 3.8 berikut :
keterangan :
* primary key
** foreign key
Gambar 3.8 Desain database
3.2.2 Perancangan Struktur Tabel
Perancangan struktur tabel untuk sistem prediksi nilai mahasiswa
Teknik Informatika Universitas Sanata Dharma antara lain :
31
1. Tabel Mahasiswa
Tabel 3.2 Tabel Mahasiswa
Nama kolom Tipe data Ukuran field
NIM Varchar 10
Password Varchar 15
2. Tabel KRS
Tabel 3.3 Tabel KRS
Nama kolom Tipe data Ukuran field
NIM Varchar 10
Kode_MK Varchar 8
Kode_dosen Varchar 3
Semester Varchar 6
Thn_ajaran Varchar 10
Nilai_angka Integer 1
3. Tabel Mata Kuliah
Tabel 3.4 Tabel Mata Kuliah
Nama kolom Tipe data Ukuran field
Kode_MK Varchar 8
Nama_MK Varchar 40
SKS Integer 1
semester Char 2
4. Tabel MK Prasyarat
Tabel 3.5 Tabel MK Prasyarat
Nama kolom Tipe data Ukuran field
Kode_MK Varchar 10
Kode_prasyarat Varchar 10
3.2.3 Disain User Interface
Disain user interface implementasi algoritma K-means untuk
memprediksi nilai adalah :
32
3.2.3.1. Tampilan pembuka dan menu utama
Gambar 3.9 Disain Tampilan pembuka
3.2.3.2. User interface untuk user.
• Form login User
• Form utama User
FORM LOGIN USER
NIM
PASSWORD
LOGIN BATAL
SISTEM INFORMASI PREDIKSI IP MAHASISWA
IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI
NILAI STUDI KASUS MAHASISWA TEKNIK INFORMATIKA
UNIVERSITAS SANTA DHARMA
TRI RAHAYU WIDIARTI
025314077
TEKNIK INFORMATIKA UNIVERSITAS SANTA DHARMA
LOGO USD
Gambar 3.10 Disain Form Login User
NIM
PREDIKSI
UBAH PASSWORD
ABOUT
LOGOUT
MENU
Gambar 3.11 Disain Form Utama User
33
• Form Prediksi
• Form Pilih Semester
• Form Pilih matakuliah Semester Ganjil
PREDIKSI
Mata Kuliah yang sudah diambil
Kode Nama Mata Kuliah SKS Nilai
Prediksi Batal
Gambar 3.12 Disain Form Prediksi
NIM SKS yang telah ditempuh IPK :
PILIH
Pilih Semester
Mata Kuliah yang ditawarkan :
Pilih Kode Nama Mata Kuliah SKS
Kode Nama Mata Kuliah SKS
TAMBAH
CANCEL PREDIKSI BATAL
Gambar 3.13 Disain Form Pilih Semester
Gambar 3.14 Disain Form Pilih Matakuliah Semester Ganjil
34
• Form Pilih matakuliah semester Genap
Gambar 3.15 Disain Form Pilih Matakuliah Semester Genap
• Form Hasil Prediksi
Gambar 3.16 Disain Form Hasil Prediksi
Mata Kuliah yang ditawarkan :
Pilih Kode Nama Mata Kuliah SKS
Kode Nama Mata Kuliah SKS
TAMBAH
CANCEL PREDIKSI BATAL
HASIL PREDIKSI
Hasil Prediksi Nilai Anda :
Prediksi nilai untuk mata kuliah ………. adalah :
Prediksi nilai angka : ………
Prediksi nilai mutu : ………
keluar <<kembali lihat perhitungan >>
35
• Form Ubah Password
Gambar 3.17 Disain Form Ubah Password
• Form About
Gambar 3.18 Disain Form About
FORM UBAH PASSWORD
Identitas User
NIM :
Password lama :
Ubah password
Password baru :
Verifikasi password :
EDIT BATAL
IMPLEMENTASI ALGORITMA K-MEANS UNTUK
MEMPREDIKSI NILAI STUDI KASUS MAHASISWA
TEKNIK INFORMATIKA UNIVERSITAS SANTA
DHARMA
Teks tentang sistem yang dibuat
36
BAB IV
IMPLEMENTASI SISTEM
Setelah selesai merancang dan menganalisa sistem yang akan dibuat,
langkah selanjutnya adalah mencoba mengimplementasikan ke dalam bahasa yang
dapat dimengerti oleh mesin.
Sistem ini dibuat dengan spesifikasi Software dan Hardware sebagai
berikut :
Spesifikasi Software
1. Sistem Operasi Windows XP.
2. Adope Photoshop 7.0
3. SQL server 2000
4. Visual Basic 6.0
Spesifikasi Hardware
1. Prosessor AMD Sempron 2800+
2. Memory 256 MB
3. HardDisk 40 GB
4.1 Pembuatan Database
Pertama-tama yang dilakukan dalam pembangunan implementasi
algoritma K-means untuk memprediksi indeks prestasi mahasiswa adalah
membuat database dahulu dengan menggunakan database SQL server 2000.
Jadi sistem yang dibuat hanya mengacu pada satu database yang diberi
nama Prediksi.
37
Adapun langkah pembuatan database Prediksi adalah sebagai
berikut :
Database terdiri dari empat tabel utama. Struktur tabel-tabel dalam
implementasi algoritma K-means untuk memprediksi nilai mahasiswa adalah
sebagai berikut :
a. Tabel mahasiswa, tabel dibuat dengan sintak SQL sebagai berikut:
CREATE TABLE mahasiswa (
nim varchar (10) NOT NULL ,
password varchar (15) NULL ,
angkatan varchar (50) NULL ,
CONSTRAINT PK_mahasiswa PRIMARY KEY (nim)
) ;
b. Tabel krs, tabel dibuat dengan sintak SQL sebagai berikut:
CREATE TABLE krs (
nim varchar (10) NOT NULL ,
kode_MK varchar (8) NOT NULL ,
kode_dosen int NOT NULL ,
semester varchar (7) NOT NULL ,
Thn_ajaran varchar (10) NOT NULL ,
nilai_angka int NULL ,
CONSTRAINT FK_krs_dosen FOREIGN KEY(kode_dosen)
REFERENCES dosen (kode_dosen),
CONSTRAINT FK_krs_mahasiswa FOREIGN KEY(nim)
REFERENCES mahasiswa (nim),
CONSTRAINT FK_krs_mata_kuliah FOREIGN KEY
(kode_MK) REFERENCES mata_kuliah (kode_MK)
) ;
c. Tabel mata_kuliah, tabel dibuat dengan sintak SQL sebagai berikut:
CREATE TABLE mata_kuliah (
kode_MK varchar (8)NOT NULL ,
nama_MK varchar (40)NOT NULL ,
sks int NULL ,
semester char (2) NULL ,
CONSTRAINT PK_mata_kuliah PRIMARY KEY
(kode_MK)
) ;
38
d. Tabel MK_prasyarat, tabel dibuat dengan sintak SQL sebagai berikut:
CREATE TABLE MK_prasyarat (
kode_MK varchar (8) NOT NULL ,
kode_prasyarat varchar (8) NOT NULL ,
CONSTRAINT FK_MK_prasyarat_mata_kuliah
FOREIGN KEY (kode_MK) REFERENCES mata_kuliah
(kode_MK )
) ;
4.2 Koneksi Database
Tabel-tabel yang telah dibuat belum dapat terhubung dengan
sistem. Untuk menghubungkan database dengan sistem dengan
menambahkan data environment pada project, dan menghubungkan ke
server dan basis data di server, maka koneksi dapat dilakukan seperti
gambar di bawah ini :
Gambar 4.1 Koneksi sistem ke basis data
39
4.3 Pembuatan Antar Muka Pemakai (User Interface)
Di sini akan dijelaskan bagaimana pembuatan antar muka pemakai
(user interface) implementasi algoritma K-means untuk memprediksi nilai
mahasiswa. Pada sistem ini hanya ada satu pengguna, yaitu user (dalam
hal ini yaitu mahasiswa) yang berhak untuk melalukan prediksi, mengubah
password dan mengetahui tentang sistem.
Saat pertama kali sistem dijalankan akan menampilkan tampilan
pembuka, sebagai berikut:
Setelah itu, sistem akan meminta aktivasi dengan mengisi form
login. Untuk login user diminta memasukkan identitas berupa nim dan
password (Gambar 4.3).
Gambar 4.2 Tampilan Pembuka
40
Dengan menekan tombol LOGIN, keabsahan data yang dimasukkan akan
dicek kecocokannya (verifikasi) .
Kode program pada form Login adalah sebagai berikut:
Option Explicit
Dim conP As ADODB.Connection
Private Sub cmdBatal_Click()
Unload LOGIN_USER
End Sub
Private Sub cmdLogin_Click()
If in_nim.Text = "" Then
MsgBox "NIM blm diinputkan", 0, "Peringatan"
in_nim.SetFocus
ElseIf in_password.Text = "" Then
MsgBox "Password belum diinputkan", 0, "Peringatan"
in_password.SetFocus
Else
With DE.rsLOGIN_USER
.Filter = "[nim]='" & in_nim.Text & "'"
If .EOF And .BOF Then
MsgBox "Data tidak ditemukan", vbInformation, "DOR!"
ElseIf in_password.Text = ![Password] Then
Me.Hide
Load MENU_USER
MENU_USER.Show
Else
MsgBox "Login anda salah, silahkan anda mengulangi kembali!",
vbInformation, "Peringatan"
in_nim = ""
in_password = ""
in_nim.SetFocus
End If
End With
End If
End Sub
Private Sub Form_Activate()
in_nim.SetFocus
End Sub
Gambar 4.3 Halaman Login User
41
Private Sub in_nim_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If (KeyAscii < vbKey0 Or KeyAscii > vbKey9) And _
KeyAscii <> vbKeyBack Then
KeyAscii = 0
End If
If Len(in_nim.Text) = 10 Then
in_password.SetFocus
End If
End Sub
Kemudian jika login berhasil maka user dapat masuk ke menu user
(Gambar 4.4).
Halaman Menu User memperlihatkan semua menu yang dapat
diakses oleh user diantaranya adalah:
1. Prediksi
2. Ubah Password.
3. Abaout (Mengetahui bagaimana sistem digunakan)
4. Logout (jika user ingin keluar dari sistem)
Gambar 4.4 Halaman Menu User
42
Kode program pada Menu Utama adalah sebagai berikut :
Halaman Ubah Password digunakan oleh user untuk mengubah
data password yang sudah ada dalam database. Untuk mengubah
password user diminta untuk memasukkan data password baru dan
verifikasi password. Dengan menekan tombol EDIT maka secara otomatis
data password baru akan disimpan dalam database menggantikan
Private Sub cmdLogout_Click()
End
End Sub
Private Sub cmdPrediksi_Click()
Unload Me
Load FORM_PREDIKSI
FORM_PREDIKSI.Show
End Sub
Private Sub Command2_Click()
Load UBAH_PASSWORD
UBAH_PASSWORD.Show
End Sub
Private Sub cmd_about_Click()
Unload Me
Load ABOUT
ABOUT.Show End Sub
Gambar 4.5 Halaman Ubah Password
43
password yang lama, hal ini terjadi jika data password baru yang
dimasukkan sama dengan data verifikasi password.
Kode program pada form Ubah Password, adalah sebagai berikut:
Private Sub cmdBatal_Click()
Unload Me
Load MENU_USER
MENU_USER.Show
End Sub
Private Sub cmdEdit_Click()
If Text1.Text = "" Then
MsgBox "Data belum diinputkan", vbInformation, "Peringatan"
Text1.SetFocus
ElseIf Text2.Text = "" Then
MsgBox "data belum diinputkan", vbInformation, "Peringatan"
Text2.SetFocus
Else
With DE.rsLOGIN_USER
.Filter = "[nim]='" & txtnim.Text & "'"
If Text1.Text = Text2.Text Then
dbLog = " Update mahasiswa " & _
"Set [password] ='" & Text1.Text & "'" & _
"Where [nim]='" & txtnim.Text & "'"
DE.DE_Prediksi.Execute (dbLog)
DE.rsLOGIN_USER.Requery
Unload UBAH_PASSWORD
Load UBAH_PASSWORD
Label3.ForeColor = &HC0&
Label3.BackColor = &HE0E0E0
UBAH_PASSWORD.Show
Else
MsgBox "data verifikasi salah, Ulangi lagi", vbInformation,
"Peringatan"
Text2 = ""
Text2.SetFocus
End If
End With
End If
End Sub
Private Sub Form_Activate()
Text1.SetFocus
End Sub
44
Pada form prediksi ini ditampilkan semua mata kuliah yang sudah
diambil oleh mahasiswa beserta dengan nilai yang didapat, juga ditampilkan
jumlah SKS yang telah ditempuh dan IPK mahasiswa. Saat menekan tombol
PREDIKSI maka akan ditampilkan form pilih semester (Gambar 4.7).
kode program pada form Prediksi, adalah sebagai berikut:
Private Sub cmd_batal_Click()
Unload Me
MENU_USER.Show
End Sub
Private Sub cmd_prediksi_Click()
PILIH_SEMESTER.Show
End Sub
Private Sub Form_Activate()
End Sub
Private Sub Form_Load()
Dim ipk As Double
ipk = Round(txtjum_nilai.Text / txtjum_sks.Text, 2)
txt_IPK.Text = ipk
End Sub
Gambar 4.6 Halaman Prediksi
45
Pada form pilih semester terdapat dua pilihan yaitu semester genap
dan ganjil. Saat memilih semester genap maka akan ditampilkan matakuliah yang
ditawarkan pada saat semester genap (Gambar 4.9), begitu juga saat memilih
semester ganjil maka akan ditampilkan matakuliah yang ditawarkan pada semester
ganjil (Gambar 4.8).
Kode program pada halaman pilih semester, adalah sebagai berikut:
Private Sub cmb_semester_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If (KeyAscii < vbKey0 Or KeyAscii > vbKey9) And _
KeyAscii <> vbKeyBack Or _
Not (KeyAscii < vbKey0 Or KeyAscii > vbKey9) Then
KeyAscii = 0
End If
End Sub
Private Sub cmd_pilih_Click()
Me.Hide
Unload FORM_PREDIKSI
If cmb_semester.ListIndex = 0 Then
PILIH_MATAKULIAH_Ganjil.Show
ElseIf cmb_semester.ListIndex = 1 Then
PILIH_MATAKULIAH_Genap.Show
Else
MsgBox "Pilih Dulu", vbInformation, "Pemberitahuan"
Load Me
Me.Show
End If
End Sub
Private Sub Form_Activate()
Dim pil As ComboItem
cmb_semester = ""
cmb_semester.DataChanged = False
End Sub
Private Sub Form_Load()
cmb_semester.AddItem ("Ganjil")
cmb_semester.AddItem ("Genap")
End Sub
Gambar 4.7 Halaman Pilih Semester
46
Pada form ini mahasiswa bisa memilih matakuliah apa saja yang
akan diprediksi, tentunya matakuliah yang ditawarkan berdasarkan pilihan
semester. Setelah memilih matakuliah, untuk memprediksinya tekan tombol
prediksi.
Kode program pada halaman pilih matakuliah, adalah sebagai berikut:
Private Sub cmd_prediksi_Click()
Dim error As Boolean
List3.Clear
List7.Clear
For i = 0 To List1.ListCount - 1
With DE.rsMK_PRASYARAT
.Filter = "[kode_MK]='" & CStr(List1.List(i)) & "'"
If .EOF And .BOF Then
Exit Sub
Else
If .RecordCount > 0 Then
.MoveFirst
Do Until .EOF
With DE.rsCommand4
.Filter = "([nim]='" & txtnim.Text & "') And ([kode_prasyarat]='" &
DE.rsMK_PRASYARAT.Fields("kode_prasyarat") & "')"
Gambar 4.8 Halaman Pilih Matakuliah
47
If .EOF And .BOF Then
MsgBox "prasyarat mata kuliah" & vbCrLf & _
CStr(List1.List(i)) & _
vbTab & "yaitu" & vbCrLf &
DE.rsMK_PRASYARAT.Fields("kode_prasyarat").Value & _
vbTab & "belum diambil", vbInformation, "Pemberitahuan"
List1.RemoveItem (i)
List2.RemoveItem (i)
List4.RemoveItem (i)
List7.RemoveItem (i)
error = True
Else
List3.AddItem CStr(DE.rsMK_PRASYARAT.Fields("kode_prasyarat"))
List7.AddItem CStr(DE.rsMK_PRASYARAT.Fields("nama_MK"))
'Call kmeans
End If
End With
.MoveNext
Loop
End If
End If
End With
Next i
If error = True Then
Exit Sub
Else
If List1.ListCount = 0 Then
MsgBox "Pilih dahulu mata kuliah yang akan diprediksi !", vbInformation,
"DOR!"
ElseIf List1.ListCount > 1 Then
MsgBox "Pilih satu mata kuliah saja !", vbInformation, "DOR!"
Else
Me.Hide
'prediksi_ganjil.Show
hasil_prediksi_ganjil.Show
End If
End If
End Sub
Private Sub cmd_Tambah_Click()
Dim X As Object
Dim i As Integer
Dim clm As ColumnHeader
'If ListView1.SelectedItem Is Nothing Then Exit Sub
If ListView1.Checkboxes = False Then Exit Sub
List1.Clear
List2.Clear
List4.Clear
List5.Clear
List7.Clear
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Checked = True Then
List1.AddItem CStr(ListView1.ListItems(i).ListSubItems(1).Text)
List2.AddItem CStr(ListView1.ListItems(i).ListSubItems(2).Text)
List4.AddItem CStr(ListView1.ListItems(i).ListSubItems(3).Text)
End If
'ListView1.ListItems(i).Checked = False
Next i
End Sub
48
Pada form ini ditampilkan bagaimana menggunakan sistem. Kode
program pada halaman about, adalah sebagai berikut:
4.4 Uji Coba Program
Pada simulasi program dilakukan prediksi nilai mahasiswa dengan nim
“04001” untuk mata kuliah Rekayasa Perangkat Lunak II (TIF 340) pada
Gambar 4.9 Halaman About
Private Sub Command1_Click()
Unload Me
Load MENU_USER
MENU_USER.Show
End Sub
Private Sub Form_Load()
Me.Show End Sub
49
semester ganjil yang mempunyai mata kuliah prasyarat Rekayasa Perangkat
Lunak I (TIF 240) dan Basis Data I (TIF 232).
Gambar 4.10 Mahasiswa memilih mata kuliah
Setelah memilih mata kuliah maka untuk melakukan prediksi dipilih
tombol Prediksi, setelah itu didapatkan hasil prediksi seperti pada gambar 4.11.
50
Gambar 4.11 Hasil prediksi mata kuliah
Didapatkan bahwa prediksi nilai mutu mahasiswa dengan nim “04001” untuk
mata kuliah Rekayasa Perangkat Lunak II (TIF 340) adalah nilai E. Kemudian
untuk melihat proses perhitungan dipilih tombol Lihat perhitungan. Maka
didapatkan hasil seperti pada gambar 4.12.
51
Gambar 4.12 Hasil lihat perhitungan
Pada gambar 4.12 dapat diketahui mengenai data nilai mata kuliah prasyarat RPL
II yaitu RPL I dan Basis Data, hasil perhitungan pusat kluster yang terakhir,
pengelompokkan data nilai prasyarat mahasiswa sebelumnya, nilai prasyarat dan
pengelompokkan untuk mahasiswa dengan nim “04001”, dan prediksi nilai untuk
mahasiswa tersebut. Setelah itu dipilih tombol Keluar untuk kembali ke menu
utama dan memilih tombol Logout
Adapun kode program algoritma K-means yang digunakan untuk
melakukan perhitungan diatas adalah sebagai berikut :
Public Sub kMean(dataNilaiX As Variant, dataNilaiY As Variant, totalData As
Integer, numCluster As Integer)
Dim i As Integer
Dim j As Integer
Dim X
Dim Y
Dim min As Single
Dim cluster As Integer
Dim d As Double
Dim sumXY() As Double
Dim perGerakanCluster As Boolean
52
perGerakanCluster = True
'mendefinisikan titik pusat cluster
Centroid(1, 1) = 4
Centroid(2, 1) = 4
Centroid(1, 2) = 3
Centroid(2, 2) = 3
Centroid(1, 3) = 2
Centroid(2, 3) = 2
Centroid(1, 4) = 1
Centroid(2, 4) = 1
Centroid(1, 5) = 0
Centroid(2, 5) = 0
'----------------------------------
'memasukkan data
ReDim Preserve data(0 To 2, 1 To totalData) 'Baris : 0 = cluster, 1 =X, 2= Y
~~> kolom : data
For dt = 1 To totalData
data(1, dt) = dataNilaiX(dt - 1)
data(2, dt) = dataNilaiY(dt - 1)
Next dt
'-----------------------------------
'menghitung jarak tiap data terhadap cluster
For k = 1 To totalData
min = 100
X = data(1, k)
Y = data(2, k)
For i = 1 To numCluster
d = dist(X, Y, Centroid(1, i), Centroid(2, i))
If d < min Then
min = d
cluster = i
End If
Next i
data(0, k) = cluster
Next k
'-----------------------------------------------
Do While perGerakanCluster 'lakukan hingga tidak ada pergerakan cluster
(perGerakanCluster = false)
'Menghitung centroid baru
ReDim sumXY(1 To 3, 1 To numCluster) ' 1 =X, 2=Y, 3= jumlah data
For i = 1 To totalData
sumXY(1, data(0, i)) = data(1, i) + sumXY(1, data(0, i))
sumXY(2, data(0, i)) = data(2, i) + sumXY(2, data(0, i))
sumXY(3, data(0, i)) = 1 + sumXY(3, data(0, i))
Next i
For i = 1 To numCluster
If sumXY(3, i) = 0 Then
Centroid(1, i) = Centroid(1, i)
Centroid(2, i) = Centroid(2, i)
Else
jumAnggota = sumXY(3, i) + 1
totalJumlahX = sumXY(1, i) + Centroid(1, i)
totalJumlahY = sumXY(2, i) + Centroid(2, i)
Centroid(1, i) = totalJumlahX / jumAnggota
Centroid(2, i) = totalJumlahY / jumAnggota
End If
Next i
'-----------------------------------------------------------------
'mengelompokkan data kedalam cluster baru
perGerakanCluster = False
For i = 1 To totalData
min = 100
X = data(1, i)
53
Y = data(2, i)
For j = 1 To numCluster
d = dist(X, Y, Centroid(1, j), Centroid(2, j))
If d < min Then
min = d
cluster = j
End If
Next j
If data(0, i) <> cluster Then
data(0, i) = cluster
perGerakanCluster = True
End If
Next i
'----------------------------------------------------------------
Loop
End Sub
Fungsi kMean ini memerlukan sebuah fungsi lagi untuk melakukan
perhitungan jarak yang menggunakan fungsi Manhattan. Berikut ini adalah kode
program fungsi perhitungan jarak menggunakan Manhattan.
Public Function dist(X1, Y1, X2, Y2) As Double
'menggunakan manhattan
dist = Abs(Y2 - Y1) + Abs(X2 - X1)
End Function
Untuk menjalankan algoritma K-Means digunakan pemanggilan fungsi
kMean(dataNilaiX, dataNilaiY, totalData, numCluster) . untuk memanggil fungsi
tersebut digunakan perintah Call kMean(dataNilaiX, dataNilaiY, totalData,
numCluster).
Pertama-tama pada saat penggunaan fungsi kMean hal yang pertama kali
dilakukan adalah mendefinisikan pusat kluster dengan perintah :
'mendefinisikan titik pusat kluster
Centroid(1, 1) = 4
Centroid(2, 1) = 4
Centroid(1, 2) = 3
Centroid(2, 2) = 3
Centroid(1, 3) = 2
Centroid(2, 3) = 2
Centroid(1, 4) = 1
Centroid(2, 4) = 1
Centroid(1, 5) = 0
Centroid(2, 5) = 0
'----------------------------------
54
Kemudian akan dilakukan penghitungan jarak terhadap obyek titik yang
dimasukkan (dataNilaiX dan dataNilaiY) dengan kelima kluster diatas dan
dilakukan pengelompokan terhadap titik-titik obyek.
Setelah itu algoritma K-Mean akan melakukan iterasi atau perulangan
didalam menghitung letak centroid baru dan mengelompokkan data kedalam
kluster baru tersebut hingga algoritma K-Mean mencapai kestabilan dan tidak ada
lagi perpindahan atau pergerakan kluster (perGerakanCluster = false).
Setelah mendapatkan titik pusat kluster yang stabil, barulah dihitung prediksi nilai
mahasiswa tersebut.
55
BAB V
ANALISIS HASIL
5.1 Analisa Manfaat
1. Dengan implementasi algoritma K-Means didalam memprediksi nilai
mahasiswa ini dapat memperdalam pengetahuan seputar algoritma K-Means.
2. Bisa dengan cepat memprediksi nilai mahasiswa berdasarkan pengelompokan
mata kuliah prasyaratnya.
5.2 Kelebihan Sistem yang Dibuat
1. User interface yang user friendly (mudah digunakan oleh user).
2. Bisa mengetahui IPK mahasiswa saat ini dan mata kuliah apa aja yang sudah
diambil.
3. memiliki error handling cukup baik.
5.3 Kekurangan Sistem yang Dibuat
1. Sistem ini masih belum bisa menangani perhitungan prediksi mata kuliah
yang memiliki 3 atau lebih mata kuliah prasyarat.
2. Sistem ini belum bisa menangani permasalahan mengenai dosen pengampu
mata kuliah.
3. Sistem ini masih melakukan perhitungan prediksi mata kuliah secara satu-
persatu.
4. Belum diuji coba tingkat akurasinya.
56
BAB VI
PENUTUP
6.1 Kesimpulan
Dari hasil analisa dan implementasi dapat disimpulkan bahwa :
1. Pada algoritma K-Means jika jumlah datanya tidak terlalu banyak maka,
pengelompokan dapat dilakukan dengan cepat dan mudah.
2. Pada algoritma K-Means Jumlah cluster harus ditentukan sebelum
perhitungan dimulai.
3. Hasil dari perhitungan algoritma K-Means adalah cluster yang bulat atau oval
karena berdasarkan pada pada jarak.
4. Algoritma K-means dapat diimplementasikan untuk mengelompokkan nilai
dalam prediksi nilai mahasiswa.
6.2 Saran
1. Perhitungan algoritma K-Means didalam sistem ini dikembangkan lagi
menjadi lebih spesifik sehingga bisa menangani mata kuliah yang memiliki
prasyarat lebih dari dua dan juga bisa menangani perhitungan mengenai dosen
pengampu mata kuliah.
2. Sistem ini bisa dikembangkan untuk diimplementasikan dengan algoritma
pengelompokan (clustering) selain algoritma K-Means.
3. Sistem ini bisa dikembangkan untuk memprediksi indeks prestasi mahasiswa.
DAFTAR PUSTAKA
Gunawan, Ridowati, Diktat Kuliah Rekayasa Perangkat Lunak II Teknik Informatika
Universitas Sanata Dharma, Yogyakarta, 2004.
Gunawan, Ridowati, Diktat Kuliah Data Mining dan Data Warehousing Teknik
Informatika Universitas Sanata Dharma, Yogyakarta, 2005.
Kurniawathi, Ni Made Yuni, Implementasi Email Marketing Dengan Menggunakan
Algoritma Decision Tree untuk Situs Bisnis pada Toko Buku, Universitas Sanata
Dharma , Yogyakarta, 2005.
Polina, A.M, Diktat Kuliah Basis Data I Teknik informatika Universitas Sanata Dharma,
Yogyakarta, 2003.
Pramudiono, Iko, Kuliah Umum Ilmu Komputer.Com, www.ilmukomputer.com, 2003.
Ramadhan, Arief, Seri Penuntun Praktis SQL Server 2000 dan VB6, PT. Elex Media
Komputindo, Jakarta, 2005.
Santoso, Harip, Pemrograman Client-Server Menggunakan SQL Server 2000 dan Visual
Basik 6, PT. Elex Media Komputindo, Jakarta, 2003.
Teknomo, Kardi, K-Mean Clustering Tutorials,
http://people.revoledu.com/kardi/tutorial/kMean/index.html, [ 13 Maret 2007 ].
Whitten, Bentley Dittman, System Analysis and Design Method 6th
Edition,
Irwin/McGraw-Hill, New York, 2004.