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 PENDAHULUAN

  1.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 Mahasiswa

  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

  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 Akhir

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

  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

  = ( 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 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.

  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.

  Entity

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.

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