Implementasi algoritma K-Means untuk memprediksi nilai mahasiswa : studi kasus mahasiswa Teknik Informatika Universitas Sanata Dharma - USD Repository
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
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
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
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 ! " # $ %&&%
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.
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.
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.
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.
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
DAFTAR ISI JUDUL ......................................................................................................................
i HALAMAN PERSETUJUAN ................................................................................ iii HALAMAN PENGESAHAN ................................................................................. iv PERNYATAAN KEASLIAN KARYA .................................................................. v HALAMAN MOTTO .............................................................................................. vi
HALAMAN PERSEMBAHAN .............................................................................. vii
INTISARI ................................................................................................................. viii
ABSTRACT ............................................................................................................. ix
KATA PENGANTAR ............................................................................................. x
DAFTAR ISI ............................................................................................................ xiii
DAFTAR GAMBAR ............................................................................................... xvii
DAFTAR TABEL .................................................................................................... xix
BAB I PENDAHULUAN1.1
1 Latar Belakang Masalah ....................................................................
1.2
1 Rumusan Masalah .............................................................................
1.3
1 Batasan Masalah................................................................................
1.4
2 Tujuan Penelitian ..............................................................................
1.5
2 Metodologi Penelitian.......................................................................
1.6
4 Sistematika Penulisan ........................................................................
BAB II. LANDASAN TEORI
2.1
6 Data Mining .....................................................................................
2.1.1
6 Clusterimg ………………………………………………….
2.1.2
6 K-means ..................................................................................
2.2
15 SQL Server 2000 ..............................................................................
2.3
17 Visual Basic.......................................................................................
2.4
19 Use Case Diagram..............................................................................
2.5
20 DFD (Data Flow Diagram) ...............................................................
2.6
21 Entity-Relationship (E-R diagram) ..................................................
23 BAB III. ANALISIS DAN PERANCANGAN SISTEM
23
3.1
23 Analisis Sistem ..................................................................................
3.1.1
23 Gambaran Umum Sistem…......................................................
3.1.1.1 Ruang Lingkup Sistem………………………………
24
3.1.2 Pemodelan Sistem 24 3.1.2.1 Use Case Diagram………………………………….
25 3.1.2.2 Data Flow Diagram (DFD)........................................
25 3.1.2.2.1 Kesatuan Luar…………………………..
26
3.1.2.2.1 Diagram Konteks…………………………
27
3.1.2.2.3 Diagram Berjenjang………………………
27
3.1.2.2.4 DAD level 0 (Overiew Diagram) …………
28
3.1.2.3 Entity-Relationship Diagram (ERD)…………………
29 3.1.2.3.1 Context Diagram…......................................
29
3.1.2.3.2 The Key-Based Attribut……………………
29 3.1.2.3.3 Fully Attribut ……………………………..
30
3.2
30 Perancangan Sistem ...........................................................................
3.2.1
30 Disain Database………………….........................................
3.2.2
31 Perancangan Struktur Tabel………........................................
3.2.3
32 Disain User Interface…………………………………… 3.1.3.1 Tampilan pembuka dan menu utama....................
32 3.1.3.2 User interface untuk user.....................................
32 BAB IV. IMPLEMENTASI SISTEM
36
4.1
36 Pembuatan Database.........................................................................
4.2
38 Koneksi Database.............................................................................
4.3
39 Pembuatan Antar Muka Pemakai (User Interface)...........................
4.4
48 Uji Coba Program..............................................................................
BAB V. ANALISA HASIL
55
5.1
55 Analisa Manfaat.................................................................................
5.2
55 Kelebihan Sistem yang Dibuat..........................................................
5.3
55 Kekurangan Sistem yang Dibuat.......................................................
BAB VI. PENUTUP
6.1 Kesimpulan........................................................................................
6.2 Saran...................................................................................................
56
56
56
DAFTAR PUSTAKA LAMPIRAN
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
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
DAFTAR TABEL
Tabel Keterangan Halaman
3.2 Tabel Mahasiswa
3.5 Tabel MK Prasyarat
31
3.4 Tabel Mata Kuliah
31
3.3 Tabel KRS
31
26
2.1 Tabel Sampel Data Mahasiswa
3.1 Tabel Kesatuan Luar Sistem
13
2.3 Tabel Pusat Cluster
13
2.2 Tabel Cluster Akhir
8
31
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.
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
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.
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.
BAB VI : KESIMPULAN DAN SARAN Berisi kesimpulan yang dapat diambil dari penulisan tugas akhir ini dan saran-saran pengembangannya.
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 populasi menugaskannya kesalah satu dari cluster yang jaraknya paling dekat atau minimum, dimana untuk fungsi jarak dapat digunakan fungsi Manhattan, d(i,j) = |x -x | + |x -x | +….+|x -x |. Posisi centroid dihitung kembali setiap komponen
i1 j1 i2 j2 in jn
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.
Sampel data Mahasiswa angkatan sebelumnya : No Nilai Nilai Nilai
Mahasiswa Logika Kalkulus 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
Tabel 2.1 Sampel Data MahasiswaUntuk 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
D = 5 5 0 5 2 4 2 C = (4,4) cluster-1
1
3 3 2 3 0 2 0 C = (3,3) cluster-2
2
1 1 4 1 2 0 2 C = (2,2) cluster-3
3
1 1 6 1 4 2 4 C = (1,1) cluster-4
4
3 3 8 3 6 4 6 C = (0,0) cluster-5
5 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
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. G = 0 0 1 0 0 0 0 C
1
0 0 0 0 1 0 1 C
2
1 1 0 1 0 1 0 C
3
0 0 0 0 0 0 0 C
4
0 0 0 0 0 0 0 C
5
1 2 3 4 5 6 7
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:
C =( (4+4)/2, (4+4)/2) = (4,4)
1 Cluster 2 mempunyai 2 anggota, maka pusat cluster-nya:
C = ((3+3+3)/3, (3+3+3)/3) = (3,3)
2 Cluster 3 mempunyai 4 anggota, maka pusat cluste-rnya:
C = ((2+1+2+2+2)/5, (2+2+1+1+2)/5) = (1.8, 1.6)
3 Cluster 4 tidak mempunyai anggota maka pusat cluster-nya tetap:
C = (1,1)
4 Cluster 5 tidak mempunyai anggota maka pusat cluster-nya tetap:
C = (0,0)
5
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
1 D = 5 5 0 5 2 4 2 C = (4,4) cluster-1
1
3 3 2 3 0 2 0 C = (3,3) cluster-2
2
1,2 0,8 4,6 0,8 1,6 0,6 1,6 C = (1.8, 1.6) cluster-3
3
1 1 6 1 4 2 4 C = (1,1) cluster-4
4
3 3 8 3 6 4 6 C = (0,0) cluster-5
5
6. Pengelompokkan objek, seperti pada langkah ketiga. Diperoleh hasil seperti di bawah ini :
G
2
C
4
= ((1+1)/2,(1+2)/2)= (1,1.5)
Cluster 5 tidak mempunyai anggota maka pusat cluster-nya tetap:
C
5
= (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 D
= 5 5 0 5 2 4 2 C
= ((1.8+2+2+2)/4, (1.6+1+1+2)/4) = (1.95, 1.4)
1
= (4,4) cluster-1 3 3 2 3 0 2 0 C
2
= (3,3) cluster-2 1,55 0,45 4,65 0,45 2,65 0,65 2,65 C
3
= (1.95, 1.4) cluster-3 0,5 1,5 5,5 1,5 3,5 1,5 3,5 C
4
= (1,1.5) cluster-4 3 3 8 3 6 4 6 C
5
Cluster 4 mempunyai 1 anggota maka pusat cluster-nya tetap:
3
1
5
= 0 0 1 0 0 0 0 C
1
0 0 0 0 1 0 1 C
2
0 1 0 1 0 1 0 C
3
1 0 0 0 0 0 0 C
4
0 0 0 0 0 0 0 C
1 2 3 4 5 6 7 7. Menentukkan pusat cluster yang baru. Sama seperti langkah keempat.
C
Cluster 1 mempunyai 1 anggota, maka pusat cluster-nya:
C
1
=( (4+4)/2, (4+4)/2) = (4,4)
Cluster 2 mempunyai 2 anggota, maka pusat cluster-nya:
C
2
= ((3+3+3)/3, (3+3+3)/3) = (3,3)
Cluster 3 mempunyai 3 anggota, maka pusat cluster-nya:
= (0,0) cluster-5
9. Pengelompokkan objek seperti pada langkah ketiga. Diperoleh hasil seperti di bawah ini : G
7 B B C
1
4 C D C
3
5 B B C
2
6 C C C
3
2 Tabel Pusat cluster Cluster Number Nilai Logika Nilai kalkulus
3
C1
4
4 C2
3
3 C3
1.95
1.4 C4 1 1,5 C5
Tabel 2.2 Tabel Cluster Akhir3 A A C
2 C D C
2
0 0 0 0 0 0 0 C
= 0 0 1 0 0 0 0 C
1
0 0 0 0 1 0 1 C
2
0 1 0 1 0 1 0 C
3
1 0 0 0 0 0 0 C
4
5
4
1 2 3 4 5 6 7 Diperoleh hasil bahwa G
2
= G
1,
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 C
Tabel 2.3 Tabel Pusat ClusterGambar 2.1 Gambar Pengelompokkan Data MahasiswaMenghitung 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
= ( 3+2) / 2 = 2,5 ~ 3 Prediksi nilai Matematika Diskret mahasiswa X adalah B
2.2 SQL Server 2000
merupakan sebuah program Relational Database
SQL Server 2000
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 digunakan untuk membuat atau menjalankan perintah-
Query Analyzer perintah SQL dan Transact-SQL.
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>]
[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 komputer, khususnya yang menggunakan sistem operasi Windows. Visual Basic 6.0 biasanya mempunyai antarmuka seperti Gambar 2.2.
Properties Window Title Bar
Menu Bar Form Project Explorer Window Code Window Form Layout Window
Toolbox
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.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
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.
Actor
Gambar 2.4 Simbol Actor2.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.
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 Diagram2.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.
Entity
Gambar 2.6 Lambang EntityAtribut 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.
user
NIM password
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
Entity