76
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

IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 2: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 3: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …
Page 4: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

28 September 2007

Page 5: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 6: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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)

Page 7: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 8: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 9: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 10: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 11: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 12: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 13: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 14: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 15: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 16: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

xvi

BAB VI. PENUTUP

6.1 Kesimpulan........................................................................................

6.2 Saran...................................................................................................

DAFTAR PUSTAKA

LAMPIRAN

56

56

56

Page 17: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 18: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 19: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 20: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 21: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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 :

Page 22: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 23: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 24: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

5

BAB VI : KESIMPULAN DAN SARAN

Berisi kesimpulan yang dapat diambil dari penulisan tugas akhir

ini dan saran-saran pengembangannya.

Page 25: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 26: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 27: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 28: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 29: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 30: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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 :

Page 31: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 32: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 33: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 34: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 35: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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>]

Page 36: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 37: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 38: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 39: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 40: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 41: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 42: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 43: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 44: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 45: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 46: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 47: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 48: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 49: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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 :

Page 50: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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 :

Page 51: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 52: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 53: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 54: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 55: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 56: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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)

) ;

Page 57: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 58: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 59: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 60: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 61: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 62: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 63: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 64: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 65: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 66: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 67: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 68: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 69: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 70: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

Page 71: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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)

Page 72: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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

'----------------------------------

Page 73: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 74: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 75: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.

Page 76: IMPLEMENTASI ALGORITMA K-MEANS UNTUK MEMPREDIKSI …

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.