PENGELOMPOKAN HASIL EVALUASI PEMBELAJARAN …repository.usd.ac.id/32553/2/065314080_Full.pdf ·...
Transcript of PENGELOMPOKAN HASIL EVALUASI PEMBELAJARAN …repository.usd.ac.id/32553/2/065314080_Full.pdf ·...
i
PENGELOMPOKAN HASIL EVALUASI PEMBELAJARAN
MENGGUNAKAN METODE KLASTERING K-MEANS
STUDI KASUS DI FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Oleh:
Hertartik Clarasita Devy
NIM : 065314080
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2010
ii
CLUSTERING THE RESULTS OF LEARNING EVALUATION
USING K-MEANS CLUSTERING METHOD
A CASE STUDY IN THE FACULTY OF SCIENCE AND TECHNOLOGY
OF SANATA DHARMA UNIVERSITY
THESIS
Presented as Partial Fulfillment Of The Requirements
To Obtain The Sarjana Teknik Degree
In Informatics Engineering Study Program
Hertartik Clarasita Devy
Student ID : 065314080
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERCITY
YOGYAKARTA
2010
iii
iv
v
HALAMAN PERSEMBAHAN
“Usaha dan kerja keras adalah modal untuk maju”
Skripsi ini kupersembahkan untuk :
Kedua orangtuaku
Terimakasih atas semua doa, dukungan, dan kasih sayangnya
vi
vii
ABSTRAK
PENGELOMPOKAN HASIL EVALUASI PEMBELAJARAN MENGGUNAKAN METODE KLASTERING K-MEANS
STUDI KASUS DI FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA
Pusat Pengembangan dan Penjaminan Mutu Pembelajaran Universitas
Sanata Dharma (P3MP) setiap akhir semester melaksanakan evaluasi pembelajaran matakuliah-matakuliah. Evaluasi dilakukan dengan kuesioner yang diisi mahasiswa. Kuesioner memuat 18 pertanyaan dengan skala penilaian antara1 sampai 7.
Dalam tugas akhir ini, penulis mengelompokkan data hasil evaluasi pembelajaran matakuliah-matakuliah di prodi-prodi Fakultas Sains dan Teknologi pada semester gasal 2008/2009 dan semester genap 2008/2009 kedalam kelompok-kelompok dengan hasil evaluasi yang mirip. Pengelompokan dilakukan dengan metode K-Means clustering. Metode K-Means clustering mengelompokkan data-data berdasarkan jarak tiap data dengan centroid.
Hasil pengelompokan selanjutnya dapat dimanfaatkan untuk penentuan langkah tindak lanjut bagi prodi maupun P3MP guna meningkatkan kualitas pembelajaran di USD secara berkelanjutan.
viii
ABSTRACT
CLUSTERING THE RESULTS OF LEARNING EVALUATION USING K-MEANS CLUSTERING METHOD
A CASE STUDY IN THE FACULTY OF SCIENCE AND TECHNOLOGY OF SANATA DHARMA UNIVERSITY
At the end of each semester, The Center of Development and Learning
Quality Assurance of Sanata Dharma University evaluates each course learning. Evaluation was performed using questionnaires filled in by students. The questionnaire consist of 18 questions with a rating scale between 1 up to 7.
In this thesis, the author cluster the results of learning evaluation of all departments in the Faculty of Science and Technology of Sanata Dharma University into groups with similar evaluation results. The data was taken from odd and even semester 2008/2009. The clustering was done by using K-Means clustering method. K-Means clustering method groups data based on the distance of each data with the centroid.
The clustering results can be used to determine the following steps for each departments as well as for The Center of Development and Learning Quality Assurance of Sanata Dharma University to continously improve the quality of teaching in Sanata Dharma University.
ix
x
KATA PENGANTAR
Puji syukur penulis panjatkan atas Kehadirat Tuhan YME, yang telah
melimpahkan rahmat dan berkatNya sehingga penulis dapat menyelesaikan tugas
akhir yang berjudul PENGELOMPOKAN HASIL EVALUASI
PEMBELAJARAN MENGGUNAKAN METODE KLASTERING K-MEANS
STUDI KASUS DI FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS
SANATA DHARMA. Tugas akhir ini ditulis sebagai salah satu syarat
memperoleh gelar sarjana program studi Teknik Informatika, Fakultas Sains dan
Teknologi Universitas Sanata Dharma.
Dalam kesempatan ini, penulis mengucapkan terimakasih yang sebesar-
besarnya kepada :
1. Ibu P.H. Prima Rosa, S.Si., M.Sc., selaku dosen pembimbing, terimakasih
atas segala bimbingan, kritik, saran dan kesabarannya dalam mengarahkan
dan membimbing penulis dalam menyelesaikan tugas akhir ini.
2. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T., selaku kaprodi Teknik
Informatika.
3. Ibu Ridowati Gunawan, S.Kom., M.T. dan Ibu Sri Hartati Wijono, S.Si,
M.Kom., selaku dosen penguji.
4. Seluruh staff pengajar Prodi Teknik Informatika Fakultas Sains dan
Teknologi Universitas Sanata Dharma.
5. Bapak, Ibu dan semua keluarga yang telah memberikan semangat serta
doa yang tulus, kalian adalah sumber semangat.
xi
6. Agung Arie Pratama, Asteria Indharlina, Cresensia Devi, Alim Untung
Widodo dan Agnes Retnaningsih, terimakasih atas segala bantuan dan
dukungannya.
7. Teman-teman prodi Teknik Informatika angkatan 2006, atas
kebersamaanya selama penulis menjalani masa studi.
8. Serta semua pihak yang tidak dapat disebutkan satu-persatu yang telah
membantu penulis dalam menyelesaikan tugas akhir ini.
Penulis menyadari bahwa tugas akhir ini jauh dari sempurna, oleh karena
itu kritik dan saran yang sifatnya membangun sangat penulis harapkan.
Yogyakarta, 19 Juli 2010
Penulis
xii
Daftar Isi
Halaman
HALAMAN JUDUL …………………………….…………………………. i
HALAMAN JUDUL (bahasa Inggris)……….…………………………. ii
HALAMAN PERSETUJUAN ……………………………………………… iii
HALAMAN PENGESAHAN ……………………………………………… iv
HALAMAN PERSEMBAHAN …………………………….……………… v
PERNYATAAN KEASLIAN KARYA ………………………….………… vi
ABSTRAK…………………………………………………………………… vii
ABSTRACT ………………………………………………………………… viii
PERNYATAAN PERSETUJUAN PUBLIKASI …………………………. ix
KATA PENGANTAR ………………………………………………………. x
Daftar Isi ……………………………………………………………………. xii
Daftar Gambar …………………………………………………….………… xvi
Daftar Tabel ………………………………………………………………… xx
Bab I. Pendahuluan …………………………………………….………… 1
1.1. Latar Belakang ……………………………………………..… 1
1.2. Rumusan Masalah ………………………………………….... 2
1.3. Tujuan dan Manfaat ……………………………………….…. 2
1.4. Batasan Masalah …………………………………………..…. 2
1.5. Metodologi Penelitian …………………………………….…. 3
1.6. Sistematika Penulisan ……………………………………..…. 4
Bab II. Landasan Teori ………………………………………………..…. 5
2.1. Penambangan Data…………………………………………… 5
xiii
2.2. Analisis Pengelompokan (Clustering Analysis) …………..…. 6
2.3. Klastering K-Means (K-Means Clustering) ………………….. 7
2.4. Kemiripan dan Ketidakmiripan ……………………………… 9
2.4.1. Euclidean (L2-norm)………………………….…….. 10
2.5. Sum Of Squared-error (SSE) …………………………………….. 11
2.6. Contoh kasus K-Means ………………………………….…… 11
2.6.1. Contoh kasus K-Means Tanpa SSE …………..…… 12
2.6.2. Contoh kasus K-Means Menggunakan SSE ….……. 17
Bab III. Analisis dan Perancangan Sistem ………………….……………… 22
3.1. Identifikasi dan Analisis Sistem……………………………… 22
3.2. Perancangan Sistem …………………………..……………… 23
3.2.1. Input ……………………………….………………. 23
3.2.2. Pemrosesan Awal Data……………………….…….. 27
3.2.3. Proses ………………………………………………. 28
3.2.4. Output………………………………………………. 29
3.3. Perancangan ……………………………….………………… 31
3.3.1 Diagram Konteks …………………………………... 31
3.3.2 Diagram Use Case ……………….…….…………... 32
3.3.3 Diagram Aktivitas ………………..………………... 46
3.3.4 Diagram Kelas ………………………………..….... 53
3.3.5 Algoritma Method Dalam Setiap Kelas…………...... 56
3.3.6 Diagram Sequence ………………………..………... 66
3.4. Desain Antar Muka Pengguna …………………………….…. 72
3.4.1 Desain Tampilan Utama……………………………. 72
xiv
3.4.2 Desain Pengelompokan Data ………………………. 73
3.4.3 Desain Hasil Pengelompokan Data …………..……. 74
3.4.4 Desain Antar Muka Pie Chart Persentase Klaster …. 75
3.4.5 Desain Detail Anggota Setiap Klaster……………… 76
3.4.6 Desain Antar Muka Pie Chart Persentase Prodi
Setiap Klaster …………………………..………….. 77
3.4.7 Desain Antar Muka Detail Data Hasil Evaluasi Seiap
Data ………………………………….………….…. 78
3.4.8 Desain Petunjuk Penggunaan ……………..……..… 78
Bab IV. Implementasi ……………………………………………………… 80
4.1. Implementasi Antar Muka Pengguna………………………… 80
4.1.1 Antar Muka Menu Utama Program ……………..…. 80
4.1.2 Antar Muka Pemilihan File Data ………………..…. 81
4.1.3 Antar Muka Pengelompokan…………………….…. 82
4.1.4 Antar Muka Detail Data Setiap Klaster …………… 84
4.1.5 Antar Muka Detail Hasil Evaluasi Setiap Data ……. 86
4.1.6 Antar Muka Bantuan ………………………..….…. 88
4.2. Program Sistem Pengelompokan Data Hasil Evaluasi
Pembelajaran ……………………………………..…….…… 88
4.2.1 Membaca Data dari File xls …………….……….… 88
4.2.2 Membuat Klaster ………………………….…….… 92
4.2.3 Mendeklarasikan Centroid Awal ……….…………. 93
4.2.4 Menghitung Jarak Euclidean Setiap Data dengan
Setiap Centroid …………………….………….…… 94
xv
4.2.5 Mengelompokkan Data ………………………….…. 95
4.2.6 Menghitung Centroid ……………………..……….. 96
4.2.6.1 Menghitung Centroid Tanpa SSE …….…. 96
4.2.6.2 Menghitung Centroid beserta SSE …….… 97
4.2.7 Pemberian Label Klaster ………………………..…. 99
4.2.8 Validasi Hasil Pengelompokan …………….……… 101
4.2.9 Pengurutan Data di Setiap Klaster …………………. 102
4.2.10 Menampilkan Grafik ……………….……………… 103
4.2.11 Menghitung Rata-Rata Kategori Setiap Data ……… 105
4.2.12 Menyimpan Hasil Pengelompokan ………………… 106
4.3. Uji Percobaan ………………………………………………… 108
Bab V. Kesimpulan dan Saran ………………………………………… 115
Daftar Pustaka
Lampiran
xvi
Daftar Gambar
Gambar 2.1. Tahap-tahap Data Mining ........................................................ 5
Gambar 2.2. Pengelompokan Obyek Menggunakan K-Means Clustering ... 9
Gambar 2.3. Koordinat Data Obat ................................................................ 12
Gambar 2.4. Koordinat obat iterasi ke-0 ....................................................... 13
Gambar 2.5. Koordinat obat iterasi ke-1 ....................................................... 15
Gambar 2.6. Koordinat obat iterasi ke-2 ....................................................... 16
Gambar 3.1. Diagram Konteks ..................................................................... 31
Gambar 3.2. Diagram Use Case .................................................................... 32
Gambar 3.3. Diagram Aktivitas Memilih File Data ..................................... 46
Gambar 3.4. Diagram Aktivitas Mengelompokkan Data ............................. 47
Gambar 3.5. Diagram Aktivitas Melihat Detail Anggota Setiap Klaster ..... 48
Gambar 3.6. Diagram Aktivitas Melihat Detail Data Hasil Evaluasi
Setiap Data ............................................................................... 48
Gambar 3.7. Diagram Aktivitas Melihat Rata-Rata Data Setiap Kategori ... 49
Gambar 3.8. Diagram Aktivitas Melihat Grafik Presentase Anggota
Setiap Klaster ........................................................................... 49
xvii
Gambar 3.9. Diagram Aktivitas Melihat Grafik Presentase Prodi ............... 50
Gambar 3.10. Diagram Aktivitas Menyimpan Hasil Pengelompokan ........... 50
Gambar 3.11. Diagram Aktivitas Mengurutkan Klaster
Berdasarkan Centroid ............................................................... 51
Gambar 3.12. Diagram Aktivitas Mengurutkan Data Dalam Klaster ............. 52
Gambar 3.13. Diagram Kelas Keseluruhan .................................................... 53
Gambar 3.14. Diagram Kelas ......................................................................... 54
Gambar 3.15. Diagram Kelas Lanjutan .......................................................... 55
Gambar 3.16. Diagram Sequence Memilih File Data ..................................... 66
Gambar 3.17. Diagram Sequence Mengelompokkan Data ............................. 67
Gambar 3.18. Diagram Sequence Melihat Detail Anggota Setiap Klaster ..... 68
Gambar 3.19. Diagram Sequence Melihat Detail Data Hasil Evaluasi
Setiap Data ............................................................................... 68
Gambar 3.20. Diagram Sequence Melihat Rata-Rata Data Setiap Kategori .. 69
Gambar 3.21. Diagram Sequence Melihat Grafik Presentase Anggota
Setiap Klaster ........................................................................... 70
Gambar 3.22. Diagram Sequence Melihat Grafik Presentase Prodi ............... 70
Gambar 3.23. Diagram Sequence Menyimpan Hasil Pengelompokan ........... 71
xviii
Gambar 3.24. Diagram Sequence Mengurutkan Klaster
Berdasarkan Centroid ............................................................... 71
Gambar 3.25. Diagram Sequence Mengurutkan Klaster Dalam Klaster ........ 72
Gambar 3.26. Desain Antar Muka Menu utama ............................................. 73
Gambar 3.27. Desain Antar Muka Submenu .................................................. 73
Gambar 3.28. Desain Antar Muka Pengelompokan Data ............................... 74
Gambar 3.29. Desain Antar Muka Hasil Pengelompokan Data ..................... 75
Gambar 3.30. Desain Antar Muka Pie Chart Persentase Klaster .................... 76
Gambar 3.31. Desain Antar Muka Hasil Pengelompokan Data
Setiap Klaster ........................................................................... 77
Gambar 3.32. Desain Antar Muka Pie Chart Persentase Prodi Setiap
Klaster .................................................................................... .. 77
Gambar 3.33. Desain Antar Muka Detail Data Hasil Evaluasi Setiap Data ... 78
Gambar 3.34. Desain Antar Muka Bantuan Petunjuk Penggunaan ................ 79
Gambar 4.1. Antar Muka Menu Utama ........................................................ 80
Gambar 4.2. Antar Muka Input Data ............................................................ 81
Gambar 4.3. Antar Muka Pemilihan Pertanyaan Pengelompokan ............... 81
xix
Gambar 4.4. Antar Muka Hasil Pengelompokan .......................................... 82
Gambar 4.5. Antar Muka Pie Chart Persentase Anggota Klaster ................. 83
Gambar 4.6. Antar Muka Detail Anggota Setiap Klaster ............................. 84
Gambar 4.7. Antar Muka Pie Chart Persentase Prodi Setiap Klaster ........... 84
Gambar 4.8. Antar Muka Lihat Detail Hasil Evaluasi Setiap Data .............. 86
Gambar 4.9. Antar Muka Input Dialog Jumlah Kategori ............................. 86
Gambar 4.10. Antar Muka Lihat Rata Data setiap Kategori .......................... 87
xx
Daftar Tabel
Tabel 2.1. Data Obat ................................................................................. 12
Tabel 2.2. Hasil Pengelompokkan Obat dengan K-Means ....................... 17
Tabel 3.1. Pedoman Label Output P3MP ................................................. 22
Tabel 3.2. Atribut Tabel Hasil Evaluasi .................................................... 23
Tabel 3.3. Urutan Kolom Data Hasil Evaluasi .......................................... 26
Tabel 3.4. Detail Algoritma Method Kelas InputData .............................. 56
Tabel 3.5. Detail Algoritma Method Kelas Pengelompokan .................... 56
Tabel 3.6. Detail Algoritma Method Kelas DetailDataSetiapKlaster ....... 62
Tabel 3.7. Detail Algoritma Method Kelas
DetailHasilEvaluasiSetiapData ................................................ 64
Tabel 3.8. Detail Algoritma Method Kelas PieChart ................................ 65
Tabel 4.1. Hasil Percobaan ....................................................................... 108
Tabel 4.2. Analisis Predikat Data NIP 87 ................................................. 111
Tabel 4.3. Analisis Predikat Data NIP 64 ................................................. 113
Tabel 4.4. Analisis Hasil Evaluasi Data NIP 64 ....................................... 114
1
Bab I
PENDAHULUAN
1.1. Latar Belakang
Universitas Sanata Dharma (USD) merupakan suatu perguruan tinggi
swasta di Yogyakarta yang memiliki sebuah lembaga bernama Pusat
Pengembangan dan Penjaminan Mutu Pembelajaran (P3MP). P3MP memiliki
tugas untuk menjaga kestabilan kualitas pembelajaran, mengelola komponen
pengembangan dan penjaminan mutu pembelajaran, serta mengelola kegiatan
peningkatan mutu pembelajaran di USD. Salah satu program yang dilaksanakan
P3MP adalah melaksanakan evaluasi kegiatan belajar mengajar di akhir semester.
Evaluasi mencakup tiga kategori, yaitu kinerja dosen, konstribusi mahasiswa dan
kepuasan mahasiswa terhadap suatu matakuliah. Evaluasi dilakukan dengan
kuesioner yang diisi mahasiswa, berjumlah 18 pertanyaan dengan skor penilaian
berupa bilangan bulat antara 1 sampai dengan 7.
Dengan adanya evaluasi tersebut, maka saat ini P3MP memiliki data hasil
evaluasi yang banyak dalam bentuk digital. Data-data tersebut dapat
dikelompokkan menggunakan teknik data mining diantaranya metode klastering
K-Means. Algoritma K-Means akan menghitung jarak tiap data dengan pusat
klaster (centroid) kemudian mengelompokkan data-data tersebut berdasarkan
jarak. Centroid merupakan rata-rata semua data di setiap klaster. Dari
pengelompokan tersebut dapat diketahui kelompok-kelompok matakuliah dengan
hasil evaluasi yang mirip. Hasil pengelompokan selanjutnya dapat dimanfaatkan
untuk penentuan langkah tindak lanjut bagi prodi maupun P3MP guna
2
meningkatkan kualitas pembelajaran di USD secara berkelanjutan.
Dalam tugas akhir ini penulis bermaksud memanfaatkan data-data hasil
evaluasi pembelajaran matakuliah-matakuliah yang diselenggarakan oleh prodi-
prodi di lingkungan Fakultas Sains dan Teknologi (FST). Pengelompokan
menggunakan metode klastering K-Means.
1.2. Rumusan Masalah
Dari latar belakang masalah di atas dapat dirumuskan masalah :
Bagaimana mengelompokkan hasil evaluasi pembelajaran matakuliah-
matakuliah di FST USD kedalam kelompok-kelompok dengan hasil
evaluasi yang mirip dengan menggunakan metode klastering K-Means?
1.3. Tujuan dan Manfaat
Tujuan
Mengelompokkan hasil evaluasi pembelajaran matakuliah-matakuliah di
FST USD.
Manfaat
Hasil pengelompokan dapat digunakan sebagai bahan pertimbangan bagi
prodi maupun P3MP untuk melakukan pendampingan terhadap para dosen
dalam aspek proses belajar mengajar dan memfasilitasi terjadinya sharing
pengalaman antar kelompok.
1.4. Batasan Masalah
Dalam mengelompokkan matakuliah berdasarkan kinerja dosen, kontribusi
mahasiswa dan kepuasan mahasiswa, dilakukan beberapa batasan sebagai berikut
1. Metode yang digunakan adalah metode klastering K-Means.
2. Data yang digunakan adalah data hasil evaluasi pembelajaran
3
matakuliah-matakuliah untuk prodi-prodi di lingkungan FST USD
pada semester gasal 2008/2009 dan genap 2008/2009.
3. Pengelompokan berdasarkan rata-rata jawaban semua responden untuk
setiap pertanyaan yang termuat di kuesioner yaitu pertanyaan nomor 1
sampai 18.
4. Pelabelan klaster hasil klastering didasarkan pada ketentuan pelabelan
yang berlaku di P3MP yaitu sangat tinggi, tinggi, cukup, rendah dan
sangat rendah.
5. Sistem hanya dapat memproses data input yang berasal dari file xls.
6. Sistem tidak menyediakan fasilitas preprocessing data.
1.5. Metodologi Penelitian
Metode penelitian dilakukan dengan teknik data mining, yaitu :
1. Pembersihan data, yaitu menghilangkan noise dan data yang tidak
konsisten.
2. Integrasi data, yaitu menggabungkan bermacam-macam data storage.
3. Seleksi data, yaitu mengambil data yang relevan dari database.
4. Tranformasi data, yaitu mentransformasikan data ke dalam bentuk
yang tepat untuk diolah.
5. Penambangan data
Proses pokok mengimplemetasikan metode yang sesuai untuk
mengetahui pola. Metode yang digunakan adalah klastering K-Means.
6. Evaluasi pola, yaitu mengidentifikasi pola-pola didasarkan pada
pengukuran yang menarik.
7. Presentasi pengetahuan, yaitu menggunakan visualisasi dan presentasi
4
untuk menyajikan informasi hasil penambangan kepada pengguna.
1.6. Sistematika Penulisan
Adapun sistematika penulisan Tugas akhir adalah sebagai berikut :
1. Halaman Judul
2. Abstrak, berisi tentang rangkuman Tugas Akhir.
3. Daftar Isi
4. Bab I Pendahuluan
Pendahuluan berisi tentang latar belakang, rumusan masalah, tujuan
dan manfaat, batasan masalah, metodologi penelitian dan sistematika
penulisan.
5. Bab II Landasan Teori
Landasan teori berisi tentang teori yang akan digunakan dalam
penulisan Tugas Akhir.
6. Bab III Analisis dan Perancangan Sistem
Analisis dan perancangan sistem berisi tentang identifikasi dan analisis
sistem, perancangan sistem.
7. Bab IV Implementasi Program
Implementasi Program berisi implementasi program dan analisis hasil.
8. Bab V Kesimpulan dan Saran
Kesimpulan dan saran berisi tentang kesimpulan dan saran.
9. Daftar Pustaka
5
Bab II
LANDASAN TEORI
2.1 Penambangan Data
Penambangan data (data mining) menarik perhatian dalam bidang industri
dan kalangan masyararakat pada umumnya. Penambangan data berkenaan dengan
pengolahan data dalam skala besar supaya menjadi informasi maupun
pengetahuan yang berguna. Penambangan data yang sering juga disebut
knowledge discovery in database (KDD) merupakan kegiatan pengumpulan data,
pemakaian data historis untuk menemukan keteraturan, pola atau hubungan data
dalam ukuran data yang besar (Santosa, 2007). Penambangan data dapat
digambarkan dalam gambar 2.1 yang terdiri dari langkah-langkah berikut :
Gambar 2.1. Tahap-tahap Data Mining
(Sumber : J.Han and M. Kamber, (2006))
6
1. Pembersihan data
Dalam pembersihan data dilakukan pengapusan noise dan data yang tidak
konsisten.
2. Integrasi data
Dalam langkah ini dilakukan penggabungan beberapa data storage.
3. Seleksi data
Yaitu mengambil data yang relevan dari basis data.
4. Transformasi data
Mentransformasikan data ke dalam bentuk yang tepat untuk diolah,
dengan meringkas atau operasi agregasi.
5. Penambangan data
Sebuah proses esensial dimana metode yang tepat diaplikasikan untuk
mengekstrak pola data.
6. Evaluasi pola
Mengidentifikasi pola-pola didasarkan pada pengukuran yang menarik.
7. Presentasi pengetahuan
Menggunakan visualisasi dan presentasi untuk menyajikan informasi hasil
mining kepada user.
2.2 Analisis Pengelompokan (Clustering Analysis)
Clustering analysis merupakan metode penambangan data yang
menerapkan metode unsupervised learning, dimana tidak ada fase learning yaitu
tidak ada training data. Data yang ditambang menggunakan metode ini tidak
memiliki label. Label merupakan output yang dapat menandai kemana data
tersebut akan dikelompokkan.
7
Data dikelompokkan berdasarkan prinsip kemiripan (similarity) ataupun
ketidakmiripan (dissimilarity). Data yang berada dalam satu kelompok
(intraclass) memiliki kemiripan (similarity) yang tinggi. Sedangkan data yang
berbeda kelompok (interclass) memiliki kemiripan (similarity) yang rendah.
2.3 Klastering K-Means (K-Means Clustering)
K-Means mengambil input parameter, k, dan mempartisi himpunan n
objek ke dalam k klaster. Setiap klaster terdiri dari obyek-obyek yang memiliki
kemiripan yang tinggi dengan data-data dalam klaster tersebut dan memiliki
kemiripan yang rendah terhadap data di klaster lain. Kemiripan klaster diukur
berdasarkan jarak data dengan centroid yaitu nilai rata-rata dari obyek dalam
sebuah klaster.
Cara kerja k-means pertama memilih k obyek secara acak yang
diinisialisasikan sebagai rata-rata klaster atau pusat klaster. Obyek yang lain
ditetapkan menjadi anggota klaster tertentu yang paling mirip dengan obyek
tersebut berdasarkan jarak antara obyek dengan rata-rata klaster. Kemudian
dihitung rata-rata yang baru untuk setiap klaster. Proses ini berulang hingga fungsi
ukuran bertemu di satu titik, yaitu tidak ada perpindahan obyek disetiap klaster.
Tidak ada perpindahan obyek disetiap klaster dapat diartikan dengan tidak ada
perubahan nilai pusat klaster atau jika menggunakan nilai SSE, nilai SSE yang
dihasilkan lebih kecil dari nilai SSE maksimal yang dikehendaki.
Berikut adalah algoritma K-Means :
Input :
k = jumlah klaster
D = sebuah data set yang tersusun oleh n obyek
8
Output :
klaster sebanyak k
Algoritma :
(1) Secara acak memilih k obyek dari D yang di inisialisasikan sebagai
pusat klaster (centroid)
(2) Repeat
(3) Tempatkan setiap objek ke klaster yang memiliki kemiripan
yang tinggi, berdasarkan rata-rata obyek-obyek dalam
klaster
(4) Ubah rata-rata klaster, yaitu hasil perhitungan nilai rata-rata
obyek-obyek di setiap klaster.
(5) Sampai tidak ada perubahan anggota disetiap klaster atau tidak ada
perubahan centroid.
Metode klastering k-means relatif terukur dan efisien dalam mengolah
sekumpulan data yang besar karena kompleksitas komputasi dari algoritma ini
adalah O(nkt), di mana n adalah jumlah total obyek, k adalah jumlah klaster, dan t
adalah jumlah iterasi. Biasanya, k <<n dan t <<n.
Algoritma k-means hanya dapat diterapkan ketika centroid didefinisikan.
Jika pusat klaster belum di definisikan maka tidak ada pusat kemana data akan
dikelompokkan. Kekurangan dari k-means adalah pengguna harus menentukan
jumlah klaster terlebih dahulu. Algoritma K-means peka terhadap noise dan titik
data outlier yang secara substansial dapat mempengaruhi nilai rata-rata.
Berikut adalah contoh pengelompokan menggunakan k-means :
9
Gambar 2.2(A) merupakan gambar satu set o objek dengan jumlah klaster 3.
Berdasarkan teori klastering k-means, secara random dipilih tiga objek sebagai
pusat klaster awal yang ditandai dengan symbol ‘+’. Setiap objek didistribusikan
ke klaster berdasarkan pusat klaster terdekat. Setiap klaster dikelilingi oleh kurva
putus-putus.
Kemudian pusat klaster diperbaharui. Pusat klaster baru merupakan nilai
rata-rata semua obyek di setiap klaster. Setelah pusat klaster diperbaharui, setiap
obyek didistribusikan kembali ke klaster berdasarkan pusat klaster terdekat,
sehingga dihasilkan klaster-klaster baru seperti pada Gambar 2.2 (B).
Proses iterasi tersebut akan terus berulang selama masih ada obyek yang
berpindah klaster. Jika sudah tidak ada obyek yang berpindah klaster, maka proses
berakhir dan menghasilkan klaster-klaster seperti yang terlihat pada Gambar 2.2
(C).
Gambar 2.2 Pengelompokan Obyek Menggunakan K-Means
Clustering
2.4 Kemiripan dan Ketidakmiripan
Dalam klaster, untuk menggabungkan dua obyek atau lebih menjadi satu
klaster, biasanya digunakan ukuran kemiripan (similarity) dan ketidakmiripan
(dissimilarity). Kemiripan antara dua obyek adalah ukuran numerik tingkat
10
kesamaan dua buah obyek. Dalam ukuran kemiripan, semakin besar nilai
kemiripan berarti semakin mirip, semakin kecil nilai kemiripan semakin tidak
mirip. Sedangkan ketidakmiripan antara dua obyek adalah ukuran numerik
tingkat perbedaan dua obyek. Dalam ukuran ketidakmiripan, semakin besar nilai
ketidakmiripan berarti semakin tidak mirip, semakin kecil nilai ketidakmiripan
semakin mirip. Semakin mirip dua obyek semakin tinggi peluang untuk
dikelompokkan ke dalam satu klaster. Sebaliknya, semakin tidak mirip semakin
rendah peluang untuk dikelompokkan menjadi satu klaster.
Untuk mengukur kemiripan dan ketidakmiripan obyek-obyek/data-data
dapat digunakan beberapa ukuran. Kemiripan dapat diukur menggunakan cosinus,
kovarian dan korelasi. Ketidakmiripan dapat diukur menggunakan konsep jarak
Euclidean, Manhattan atau Cityblock, Minkowski, Chebyshev dan Mahalanobis.
2.4.1 Euclidean (L2-norm)
Setiap data hasil evaluasi memiliki jumlah atibut yang sama sehingga
pengukuran jarak dapat menggunakan konsep Euclidean. Jarak Euclidean antara
dua data didefinisikan sebagai :
d(a,b)=║ a-b║2= 21 )( ii
ni ba −∑ = ……………………….2.1
dimana :
a = obyek pertama
b = obyek kedua
n = banyaknya atribut obyek.
11
2.5 Sum Of Squared-error (SSE)
Untuk membuat klaster beranggotakan data-data yang memiliki kemiripan
tinggi, dapat menggunakan fungsi kriteria yang dapat mengukur kualitas
klastering. Salah satu persamaan yang sering dipakai dan cukup sederhana adalah
jumlah dari kesalahan kuadrat (sum of squared-error, SSE). SSE didefinisikan
sebagai berikut :
∑∑= ∈
−=k
i Dxie
i
mxJ1
2 ……………2.2
dimana :
Je = SSE
k = jumlah klaster
D = dataset
x = obyek
m = pusat klaster (centroid)
SSE juga dapat dijadikan ukuran untuk penghentian iterasi proses
pengelompokan. Jika nilai SSE hasil pengelompokan lebih kecil dari pada SSE
yang dimasukkan pengguna, maka proses pengelompokan selesai.
2.6 Contoh Kasus K-Means
Berikut adalah contoh penyelesaian kasus dengan algoritma k-means yang
di peroleh dari website dengan alamat :
http://people.revoledu.com/kardi/tutorial/kMean/NumericalExample.
Dalam tabel 2.1 terdapat 4 objek sebagai titik data yang akan
dikelompokkan. Setiap obyek memiliki 2 atribut. Setiap atribut mewakili
koordinat dari obyek seperti yang terlihat pada gambar 2.4.
12
Tabel 2.1 Tabel Data Obat
Object Attribute 1
(X):weight index Attribute 2
(Y): pH
Medicine A 1 1
Medicine B 2 1
Medicine C 4 3
Medicine D 5 4
2.6.1 Contoh kasus K-Means Tanpa SSE
Data-data dalam tabel 2.1 akan dikelompokkan ke dalam 2 kelompok obat
yang didasarkan pada dua fitur yaitu pH dan indeks berat. Iterasi dalam proses
pengelompokan akan dikendalikan oleh perubahan anggota di setiap klaster.
Gambar 2.3 Koordinat Data Obat
Obyek atribut 1 (X): indeks berat
Obyek atribut 2 (Y): pH
Iterasi 0 :
1. Menentukan nilai awal centroids
Nilai awal centroids pertama dimisalkan obat A dan obat B. c1= (1,1)
d
d
2
P
E
C
dan c2=(2,1)
dengan simb
2. Menguku
Pengukuran j
Euclidean. S
Contoh peng
• Jarak
d(x,y
menyatakan
ol bintang, s
Gambar 2
ur jarak obye
jarak antara
etiap kolom
ghitungan jar
obat C = (4
y) = 1ni∑ =
= 14( −
n koordinat
seperti yang
2.4 Koordin
ek ke centro
obyek ke ce
dalam matr
rak obyek ke
, 3) ke centr
2)( ii ba −
22 )13()1 −+
centroid. C
terlihat pada
nat obat iter
id
entroid meng
iks jarak me
e centroid :
roid pertama
= 3,61
Centroid dila
a gambar 2.1
rasi ke-0
ggunakan m
elambangkan
a c1(1,1) :
13
ambangkan
1.
etode jarak
n obyek :
S
B
c
k
3. M
O
d
k
E
m
k
m
y
m
y
• Jarak
d(x,y
Sehingga ma
Baris pertam
centroid pert
kedua.
Mengelompo
Obyek dikel
dikelompokk
kelompok 2 d
Element ma
menunjukan
klaster dan
memiliki nila
yang berarti
memiliki nila
yang berarti o
obat C = (4
y) = 1ni∑ =
= 24( −
atriks jarak p
ma dari matri
ama dan bar
okkan obyek
lompokkan
kan ke kelom
dan obat D k
atriks di ba
posisi obye
0 berarti b
ai 1 di kelo
obyek A
ai 0 di kelo
obyek B me
, 3) ke centr
2)( ii ba −
22 )13()2 −+
pada iterasi 0
iks jarak ses
ris kedua ada
k
berdasarkan
mpok 1, ob
ke kelompok
awah ini te
ek terhadap
bukan angg
mpok 1 dan
merupakan
mpok 1 dan
rupakan ang
roid kedua c
= 2.83
0 adalah :
suai dengan
alah jarak se
n jarak min
bat B ke ke
k 2.
erdiri dari
p suatu klas
gota klaster
n memiliki n
anggota ke
n memiliki n
ggota kelomp
c2=(2,1) :
jarak setiap
etiap obyek k
nimum. Jad
elompok 2,
nilai 1 da
ster. 1 berar
r. Misalnya
nilai 0 di ke
elompok 1.
nilai 1 di ke
pok 2 dan se
14
p obyek ke
ke centroid
di, obat A
obat C ke
an 0 yang
rti anggota
obyek A
elompok 2,
Obyek B
elompok 2,
eterusnya.
IIterasi 1 :
1. M
C
k
te
k
2. M
P
E
Menentukan
Centroid di
kelompok. K
etap di c1=(
klaster kelom
Mengukur ja
Pengukuran j
Euclidean, se
nilai centro
ihitung ber
Kelompok 1
(1,1). Kelom
mpok 2 :
Gambar 2
arak obyek k
jarak data t
ehingga diha
id
rdasarkan r
memiliki sa
mpok 2 mem
2.5 Koordin
e pusat klast
terhadap pus
asilkan matri
rata-rata se
atu anggota
miliki tiga an
nat obat iter
ter
sat klaster m
ik jarak :
mua data
sehingga pu
nggota, sehin
.
rasi ke-1
mengggunak
15
di setiap
usat klaster
ngga pusat
kan metode
I
3. M
O
d
Iterasi 2 :
1. M
P
k
2. M
P
E
Mengelompo
Obyek dike
dihasilkan m
Menentukan
Pusat klaste
kelompok. 1c
Mengukur ja
Pengukuran j
Euclidean, se
okkan obyek
elompokkan
matrik kelomp
nilai pusat k
r dihitung
⎜⎝⎛ ++
=2
1,2
211
Gambar 2
arak obyek k
jarak data t
ehingga diha
k
n berdasark
pok :
klaster
berdasarkan
⎠⎞
⎜⎝⎛=⎟
⎠⎞+ 1,
211
21
2.6 Koordin
e pusat klast
terhadap pus
asilkan matri
kan jarak
n rata-rata
⎟⎠⎞ ⎜
⎝⎛ +
=2
42c
nat obat iter
ter
sat klaster m
ik jarak :
minimum,
semua data
=⎟⎠⎞++
243,
25
rasi ke-2
mengggunak
16
sehingga
a di setiap
⎟⎠⎞
⎜⎝⎛=
213,
214
kan metode
D
y
m
H
2
d
k
p
m
D
3. M
O
d
Dari hasil it
yang berpin
means telah
Hasil akhir p
Tab
Obje
Medicin
Medicin
Medicin
Medicin
2.6.2 Cont
Dala
dikelompokk
koordinat da
pengelompo
maksimal ya
Data-data da
Mengelompo
Obyek dike
dihasilkan m
terasi 2 terl
ndah kelomp
mencapai st
pengelompo
bel 2.2 Tabe
ect
ne A
ne B
ne C
ne D
toh kasus K
am tabel 2
kan. Setiap
ari obyek se
okan akan d
ang diingink
alam tabel 2
okkan obyek
elompokkan
matrik kelomp
lihat bahwa
pok lagi. Den
tabilitas dan
kan obat terl
l Hasil Peng
Feature 1 (X
weight ind
1
2
4
5
K-Means Me
2.1 terdapat
p obyek m
eperti yang t
dikendalikan
kan adalah 3.
2.1 akan dik
k
n berdasark
pok :
G1=G2, yan
ngan demiki
tidak memb
lihat pada ta
gelompokka
X):
dex Feat
enggunakan
t 4 objek
memiliki 2
terlihat pada
n oleh nilai
.
kelompokkan
kan jarak
ng berarti ba
ian, perhitun
butuhkan iter
abel 2.2.
an Obat den
ture 2 (Y): p
1
1
3
4
n SSE
sebagai ti
atribut. Set
a gambar 2.4
SSE, dalam
n ke dalam 2
minimum,
ahwa tidak
ngan dari kl
rasi lagi.
ngan K-Mea
pH Group
itik data y
tiap atribut
4. Iterasi da
m kasus ini
2 kelompok
17
sehingga
ada obyek
lastering k-
ans
p (result)
1
1
2
2
yang akan
mewakili
lam proses
nilai SSE
k obat yang
d
I
didasarkan p
Iterasi 0 :
1.
2.
P
ja
o
C
pada dua fitu
Menentukan
Nilai awal p
(1,1) dan c
dilambangk
gambar 2.1.
Mengukur ja
Pengukuran j
arak Euclid
obyek :
Contoh peng
• Jarak
d(x,y
• Jarak
d(x,y
ur yaitu pH d
n nilai awal p
pusat klaster
c2=(2,1) men
an dengan
arak obyek k
jarak antara
dean. Setiap
ghitungan jar
obat C = (4
y) = 1ni∑ =
= 14( −
obat C = (4
y) = 1ni∑ =
= 24( −
dan indeks b
pusat klaster
r pertama d
nyatakan koo
simbol bin
ke pusat klas
obyek ke p
kolom dal
rak obyek ke
, 3) ke pusat
2)( ii ba −
22 )13()1 −+
, 3) ke pusat
2)( ii ba −
22 )13()2 −+
erat.
r
dimisalkan o
ordinat pusa
ntang, seper
ster
pusat klaster
lam matriks
e pusat klaste
t klaster pert
= 3.61
t klaster kedu
= 2.83
obat A dan o
at klaster. pu
rti yang ter
menggunak
jarak mela
er:
tama c1(1,1)
ua c2=(2,1)
18
obat B. c1=
usat klaster
rlihat pada
kan metode
ambangkan
:
:
B
p
p
3. M
O
d
k
E
m
k
m
y
m
y
4. M
N
Baris pertam
pusat klaster
pusat klaster
Mengelompo
Obyek dikel
dikelompokk
kelompok 2 d
Element ma
menunjukan
klaster dan
memiliki nila
yang berarti
memiliki nila
yang berarti o
Menghitung
Pusat klaste
c1=(1,1)
Nilai SSE ak
ma dari matri
r pertama d
kedua.
okkan obyek
lompokkan
kan ke kelom
dan obat D k
atriks di ba
posisi obye
0 berarti b
ai 1 di kelo
obyek A
ai 0 di kelo
obyek B me
pusat klaster
r yang baru
kan dihitung
iks jarak ses
an baris ked
k
berdasarkan
mpok 1, ob
ke kelompok
awah ini te
ek terhadap
bukan angg
mpok 1 dan
merupakan
mpok 1 dan
rupakan ang
r yang baru
:
g menggunak
suai dengan
dua adalah
n jarak min
bat B ke ke
k 2.
erdiri dari
p suatu klas
gota klaster
n memiliki n
anggota ke
n memiliki n
ggota kelomp
dan nilai SS
kan persama
jarak setiap
jarak setiap
nimum. Jad
elompok 2,
nilai 1 da
ster. 1 berar
r. Misalnya
nilai 0 di ke
elompok 1.
nilai 1 di ke
pok 2 dan se
SE
aan 2.2. Seh
19
p obyek ke
p obyek ke
di, obat A
obat C ke
an 0 yang
rti anggota
obyek A
elompok 2,
Obyek B
elompok 2,
eterusnya.
hingga nilai
I
S
N
p
it
Iterasi 1 :
1. M
P
k
te
k
2. M
P
E
3. M
O
d
SSE di iteras
SSE = ||1
||4
= 0
Nilai SSE ya
pada iterasi
terasi akan b
Menentukan
Pusat klaste
kelompok. K
etap di c1=(
klaster kelom
Mengukur ja
Pengukuran
Euclidean, se
Mengelompo
Obyek dike
dihasilkan m
si 0 adalah :
1-1||2 + ||1-1|
4-3.67||2 + ||3
+ 0 + 2.79
ang dikehen
0 adalah 9.3
berlanjut.
nilai pusat k
r dihitung
Kelompok 1
(1,1). Kelom
mpok 2 :
arak obyek k
jarak data
ehingga diha
okkan obyek
elompokkan
matrik kelomp
|2 + ||2-3.67|
3-2.67||2 +||5-
+ 2.79 + 0.1
ndaki adalah
34, karena 9
klaster
berdasarkan
memiliki sa
mpok 2 mem
e centroid
a terhadap
asilkan matri
k
n berdasark
pok :
|2 + ||1-2.67||
-3.67||2 + ||4-
1+0.11 + 1.
h 3 dan nilai
9.34 tidak le
n rata-rata
atu anggota
miliki tiga an
centroid m
ik jarak :
kan jarak
2 +
-2.67||2
77+1.77 = 9
i SSE yang
ebih kecil da
semua data
sehingga pu
nggota, sehin
mengggunaka
minimum,
20
9.34
dihasilkan
ari 3 maka
a di setiap
usat klaster
ngga pusat
an metode
sehingga
4. M
c
c
S
N
p
s
Menghitung
⎜⎝⎛ +
=1,
221
1c
⎜⎝⎛ +
=3,
254
2c
SSE di iteras
SSE = ||1
||4
= 0.
Nilai SSE ya
pada iterasi
selesai.
pusat klaster
⎜⎝⎛=⎟
⎠⎞+ 1,
211
21
⎜⎝⎛=⎟
⎠⎞+
214
243
si 1 adalah :
1-1.5||2 + ||1-
4-4.5||2 + ||3-
.25 + 0 + 0.2
ang dikehen
1 adalah 1.7
r baru dan n
⎟⎠⎞1
⎟⎠⎞
213,
21
-1||2 + ||2-1.5
-3.5||2 +||5-4.
25 + 0.25+ 0
ndaki adalah
75, karena 1
ilai SSE
||2 + ||1-1.5||2
5||2 + ||4-3.5|
0.25 + 0.25 +
h 3 dan nilai
.75 lebih ke
2 +
||2
+ 0.25 +0.25
i SSE yang
ecil dari 3 m
21
= 1.75
dihasilkan
maka iterasi
22
Bab III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Identifikasi dan Analisis Sistem
Pusat Pengembangan dan Penjaminan Mutu Pembelajaran (P3MP)
merupakan sebuah lembaga milik Universitas Sanata Dharma (USD). P3MP
memiliki tugas untuk menjaga kestabilan kualitas pembelajaran, mengelola
komponen pengembangan dan penjaminan mutu pembelajaran, serta mengelola
kegiatan peningkatan mutu pembelajaran di USD. P3MP setiap akhir semester
melakukan evaluasi terhadap pelaksanaan matakuliah. Evaluasi mencakup tiga
kategori, yaitu kinerja dosen, kontribusi mahasiswa dan kepuasan mahasiswa yang
tercakup dalam 18 pertanyaan.
Dalam tugas akhir ini akan dikelompokkan data hasil evaluasi ke dalam
kelompok-kelompok yang memiliki kemiripan yang tinggi. Data yang
dikelompokkan adalah data hasil evaluasi di Fakultas Sains dan Teknologi (FST)
USD pada semester gasal 2008/2009 dan semester genap 2008/2009.
Pengelompokan berdasarkan 18 pertanyaan yang termuat dalam kuesioner. Data
semester gasal 2008/2009 yang diperoleh berjumlah 62 record. Data semester
genap 2008/2009 yang diperoleh berjumlah 74 record. Hasil pengelompokan akan
diberi label menurut ketentuan yang berlaku di P3MP, yaitu :
Tabel 3.1 Tabel Pedoman Label Output P3MP
Skala Nilai Persentase Label
5,6 – 7 80% - 100% sangat tinggi
4,9 – 5,59 70% - 79% Tinggi
23
3,92 – 4,89 56% - 69% Cukup
3,22 – 3,91 46% - 55% Rendah
… – 3,22 … - 46% sangat rendah
3.2 Perancangan Sistem
3.2.1 Input
Sistem yang akan dibuat menerima inputan yang berupa data hasil evaluasi
pembelajaran. Dalam tugas akhir ini data yang digunakan adalah data di Fakultas
Sains dan Tekonologi (FST). FST mencakup prodi Teknik Informatika, Teknik
Elektro, Teknik Mesin, Mekatronika, Matematika dan Fisika. Data hasil evaluasi
diperoleh dari P3MP Universitas Sanata Dharma. Satu record data hasil evaluasi
merupakan data satu matakuliah. Data evaluasi mencakup prodi, NIP dosen,
namaDosen, nama matakuliah, fakultas dan nilai rata-rata jawaban semua
responden untuk setiap pertanyaan yang termuat dalam kesioner. Data evaluasi
mencakup 23 atribut, yaitu :
Tabel 3.2 Atribut Data Hasil Evaluasi
Nama Atribut Penjelasan Nilai
prodi Atribut ini menyimpan nama prodi.
Data berupa nama-nama program studi. Data prodi tidak termasuk dalam atribut yang akan dihitung jaraknya, tetapi hanya sebagai identitas prodi penyelenggara matakuliah.
NIP Atribut ini menyimpan nama dosen.
Data berupa NIP dosen yang mengampu mata kuliah yang dievaluasi. Data NIP yang dipakai bukan NIP yang sebenarnya, melainkan NIP samaran mengingat kerahasiaan data. Data NIP tidak termasuk dalam atribut yang akan dihitung jaraknya, tetapi hanya
24
sebagai identitas dosen pengampu matakuliah.
namaDosen Atribut ini menyimpan nama dosen.
Data berupa nama dosen yang mengampu mata kuliah yang dievaluasi. Data dosen yang dipakai dalam tugas akhir bukan nama yang sebenarnya, melainkan nama samaran mengingat kerahasiaan data.
Nama matakuliah
Atribut ini menyimpan nama matakuliah beserta kelasnya
Nama-nama kelas dan matakuliah di prodi FST, misalnya Kalkulus A, Kalkulus B, Ststistik A dll. Data matakuliah tidak termasuk dalam atribut yang akan dihitung jaraknya, tetapi hanya sebagai identitas matakuliah.
Fakultas Atribut ini menyimpan nama fakultas.
Data berupa nama-nama fakultas. Data fakultas tidak termasuk dalam atribut yang akan dihitung jaraknya, tetapi hanya sebagai identitas prodi matakuliah.
rt1
Atribut ini menyimpan nilai rata-rata jawaban semua responden pertanyaan nomor 1 dalam kuesioner.
Skala nilai 1 sampai 7
rt2
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 2 dalam kuesioner.
Skala nilai 1 sampai 7
rt3
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 3 dalam kuesioner.
Skala nilai 1 sampai 7
rt4
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 4 dalam kuesioner.
Skala nilai 1 sampai 7
rt5
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 5 dalam kuesioner.
Skala nilai 1 sampai 7
rt6 Atribut ini menyimpan nilai rata-rata jawaban Skala nilai 1 sampai 7
25
responden pertanyaan nomor 6 dalam kuesioner.
rt7
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 7 dalam kuesioner.
Skala nilai 1 sampai 7
rt8
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 8 dalam kuesioner.
Skala nilai 1 sampai 7
rt9
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 9 dalam kuesioner.
Skala nilai 1 sampai 7
rt10
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 10 dalam kuesioner.
Skala nilai 1 sampai 7
rt11
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 11 dalam kuesioner.
Skala nilai 1 sampai 7
rt12
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 12 dalam kuesioner.
Skala nilai 1 sampai 7
rt13
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 13 dalam kuesioner.
Skala nilai 1 sampai 7
rt14
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 14 dalam kuesioner.
Skala nilai 1 sampai 7
rt15
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 15 dalam kuesioner.
Skala nilai 1 sampai 7
26
rt16
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 16 dalam kuesioner.
Skala nilai 1 sampai 7
rt17
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 17 dalam kuesioner.
Skala nilai 1 sampai 7
rt18
Atribut ini menyimpan nilai rata-rata jawaban responden pertanyaan nomor 18 dalam kuesioner.
Skala nilai 1 sampai 7
Data pertanyaan untuk setiap nomor tercantum dalam lampiran.
3.2.2 Pemrosesan Awal Data
Sebelum data diolah menggunakan sistem yang akan dibuat, dilakukan
pemrosesan awal data terlebih dulu. Sistem tidak menyediakan fasilitas
preprocessing data sehingga pemrosesan awal data dilakukan secara manual.
1) Mengatur urutan kolom data
Pada proses ini dilakukan pengurutan atribut (kolom) data. Urutan
kolom data yang akan diolah sistem adalah sebagai berikut :
Tabel 3.3 Urutan Kolom Data Hasil Evaluasi
Urutan kolom Nama kolom
1 Prodi
2 NIP
3 Nama Dosen
4 Nama Matakuliah
5 Fakultas
27
6 Rata pertanyaan no 1
7 Rata pertanyaan no 2
8 Rata pertanyaan no 3
9 Rata pertanyaan no 4
10 Rata pertanyaan no 5
11 Rata pertanyaan no 6
12 Rata pertanyaan no 7
13 Rata pertanyaan no 8
14 Rata pertanyaan no 9
15 Rata pertanyaan no 10
16 Rata pertanyaan no 11
17 Rata pertanyaan no 12
18 Rata pertanyaan no 13
19 Rata pertanyaan no 14
20 Rata pertanyaan no 15
21 Rata pertanyaan no 16
22 Rata pertanyaan no 17
23 Rata pertanyaan no 18
2) Membersihkan data kosong
Pada langkah ini dilakukan pembersihan record atau baris yang
datanya tidak lengkap. K-means menggunakan rata-rata klaster
(centroid) dalam penghitungan jarak, sehingga jika terdapat kolom
28
yang tidak berisi data hasil evaluasi akan mempengaruhi rata-rata
klaster (centroid).
3) Menyeragamkan nilai varibel prodi
Pada langkah ini dilakukan penyamaan nama prodi. Sistem memiliki
fasilitas melihat persentase prodi di setiap klaster, sehingga nama prodi
harus disamakan. Misalnya dalam data mentah yaitu data yang belum
dilakukan pemrosesan awal data, untuk prodi D3 Mekatronika terdapat
dua nilai yaitu D3 Meka dan D3 Mekatornika. Jika kedua nilai tersebut
tidak diseragamkan, maka akan dianggap menjadi dua nilai yang
berbeda.
3.2.3 Proses
1) Membaca data
Pada proses ini sistem akan membaca data-data hasil evaluasi dalam
bentuk file excel (xls). Data evaluasi mencakup informasi prodi, kode
dosen, nama dosen, nama matakuliah, fakultas dan nilai rata-rata
jawaban semua responden untuk setiap pertanyaan yang termuat dalam
kesioner.
2) Menginisialisasikan jumlah klaster k
Jumlah klaster yang diinisialisasikan tergantung dari masukan
pengguna.
3) Menginisialisasikan centroid
Pada awal proses, pusat klaster dipilih oleh sistem secara acak
(random). Tetapi setelah terjadi iterasi, pusat klaster merupakan rata-
29
rata semua nilai di setiap klaster. Banyaknya pusat klaster sama dengan
jumlah klaster yang dimasukkan pengguna.
4) Menghitung jarak antara data dengan pusat klaster
Pada tahap ini dilakukan penghitungan jarak antara setiap obyek
dengan setiap pusat klaster. Untuk menghitung jarak obyek dengan
pusat klaster digunakan konsep jarak Euclidean dengan persamaan no
2.1.
5) Mengelompokkan data-data ke dalam kelompok-kelompok
Hasil penghitungan jarak pada proses nomor 5 digunakan untuk
mengelompokkan obyek-obyek ke centroid. Jarak setiap obyek dengan
pusat klaster- pusat klaster akan dibandingkan. Pengelompokan obyek-
obyek didasarkan pada jarak terdekat antara obyek dengan pusat
klaster.
6) Menghitung nilai SSE
Jika pengguna menghendaki penggunaan SSE, SSE dihitung setelah
data dikelompokkan.
7) Menghitung validasi hasil pengelompokan
Validasi hasil pengelompokan data hasil evaluasi dihitung dengan
membandingkan predikat evaluasi setiap data dengan label klaster
dimana data tersebut berkelompok.
8) Menampilkan hasil pengelompokan sebagai output
Hasil pengelompokan akan ditampilkan sebagai output.
3.2.4 Output
Sistem yang dibuat akan menghasilkan keluaran (output) sebagai berikut :
30
1) Jumlah data
Sistem akan menampilkan jumlah data yang dikelompokkan.
2) Jumlah klaster
Sistem akan menampilkan jumlah klaster yang di inputkan pengguna.
3) Jumlah iterasi
Sistem akan menampilkan jumlah iterasi yang terjadi dalam proses
pengelompokan data.
4) Centroid terakhir
Sistem akan menampilkan nilai rata-rata centroid terakhir untuk setiap
klaster.
5) Jumlah anggota tiap klaster
Sistem akan menampilkan jumlah anggota setiap klaster.
6) Anggota tiap klaster
Sistem akan menampilkan anggota tiap klaster.
7) Nilai SSE
Sistem akan menampilkan nilai SSE yang dapat dicapai sistem.
8) Validasi hasil pengelompokan
Sistem akan menampilkan tingkat validasi pengelompokan.
9) Nilai rata-rata data setiap pertanyaan
Sistem akan menampilkan detail rata-rata setiap data untuk setiap
pertanyaan.
10) Nilai rata-rata setiap kategori
Sistem akan menampilkan nilai rata-rata untuk setiap kategori
pertanyaan yang termuat di kuesioner.
31
11) Diagram Pie (Pie Chart)
Sistem akan menampilkan diagram pie persentase anggota semua
klaster dan diagram pie persentase prodi untuk setiap klaster.
3.3 Perancangan
3.3.1 Diagram Konteks
Gambar 3.1 Diagram Konteks
32
3.3.2 Diagram Use Case
Mengelompokkan data
Memilih file data
Melihat detail anggota tiap klaster
<<depends on>>
Pengguna
<<depends on>>
Melihat detail hasil evaluasi setiap data
<<depends on>>
Melihat rata data setiap kategori
<<depends on>>
Melihat grafik persentase prodi
Melihat grafik persentase klaster
Menyimpan hasil pengelompokan
<<depends on>>
<<depends on>>Mengurutkan klaster berdasarkan centroid
<<uses>>
<<uses>>
Mengurutkan data dalam klaster
<<depends on>>
Gambar 3.2 Diagram Use Case
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Memilih File Data Jenis Use Case :
Kebutuhan Bisnis ID usecase 1
Prioritas Tinggi
Sumber -
33
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan pengguna memilih tabel data yang akan dikelompokkan.
Pra-kondisi Sistem belum memiliki data yang akan dikelompokkan
Pemicu Aktor ingin memasukkan tabel data
Langkah umum Aksi Aktor Respon Sistem
Langkah 1 : Aktor memilih halaman pengelompokan data
Langkah 3 : Aktor memilih data dalam bentuk file excel yang akan dikelompokkan.
Langkah 2 : memberikan halaman pengelompokan data
Langkah 4: menampilkan kotak dialog pemilihan nomor pertanyaan dalam kuesioner yang akan dikelompokkan.
Langkah 6 : Data yang dipilih di perlakukan sebagai obyek yang ditambahkan ke vector data dan ditampilkan ke tabel output.
Langkah 5 : Aktor memilih pertanyaan yang akan dikelompokkan
Langkah 7 : Aktor memasukkan jumlah klaster dan nilai SSE jika dikehendaki.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menampilkan data yang dipilih aktor ke dalam tabel.
Pasca kondisi Sistem memiliki masukan data yang akan dikelompokkan
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
Asumsi -
Masalah terbuka -
34
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Mengelompokkan Data
Jenis Use Case :
Kebutuhan bisnis ID usecase 2
Prioritas Tinggi
Sumber -
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan pengguna mengelompokkan data hasil evaluasi.
Pra-kondisi Aktor sudah memilih data yang akan dikelompokkan, memasukkan jumlah klaster dan nilai SSE.
Pemicu Aktor ingin mengelompokkan data
Langkah umum Aksi Aktor Respon Sistem
Langkah 1 : Aktor mengklik tombol proses.
Langkah 2 : Sistem menangkap jumlah klaster dan nilai SSE yang diinputkan pengguna. Sistem memilih centroid secara random. Sistem menghitung jarak tiap data dengan setiap centroid menggunakan persamaan euclidean. Sistem mengelompokkan data berdasarkan jarak terkecil antara setiap data dengan setiap centroid. Penghentian iterasi pengelompokan didasarkan pada nilai centroid atau nilai SSE masukan user tergantung dari keinginan
35
user.
Langkah 3 : Setelah pengelompokkan semua data selesai, sistem akan memberi label klaster berdasarkan ketentuan P3MP. Pemberian label berdasarkan rata-rata tiap klaster.
Langkah 4 : Sistem menghitung validitas hasil pengelompokan. Penghitungan validitas dilakukan dengan membandingkan label klaster hasil pengelompokan sistem dengan label setiap data. Sistem menampilkan data hasil pengelompokkan.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem sudah menampilkan data hasil pengelompokan.
Pasca kondisi Data-data yang dimasukkan telah dikelompokkan ke dalam klaster-klaster.
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
Asumsi -
Masalah terbuka -
36
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Melihat Detail Anggota Setiap Klaster
Jenis Use Case :
Kebutuhan Bisnis ID usecase 3
Prioritas Tinggi
Sumber -
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan pengguna melihat data setiap klaster.
Pra-kondisi Data telah dikelompokkan ke dalam klaster-klaster.
Pemicu Aktor ingin mengetahui data-data setiap klaster.
Langkah umum Aksi aktor Respon sistem
Langkah 1 : Aktor mengklik klaster yang datanya akan dilihat secara detail.
Langkah 2 : Sistem menangkap klaster yang dipilih aktor. Sistem menampilkan semua data yang menjadi anggota klaster yang dipilih.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menampilkan semua angota dari klaster yang dilihat.
Pasca kondisi Hasil pengelompokan data hasil evaluasi ditampilkan berdasarkan klaster-klaster.
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
37
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
Asumsi -
Masalah terbuka -
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Melihat Detail Hasil Evaluasi Setiap Data
Jenis Use Case :
Kebutuhan Bisnis ID usecase 4
Prioritas Sedang
Sumber -
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan pengguna melihat detai data hasil evaluasi setiap data.
Pra-kondisi Data setiap pertanyaan dalam kuesioner ditampilkan.
Pemicu Aktor ingin mengetahui nilai data evaluasi untuk setiap pertanyaan.
Langkah umum Aksi aktor Respon sistem
Langkah 1 : Aktor mengklik data yang akan dilihat secara detail nilai hasil evaluasi setiap pertanyaan yang termuat dalam kuesioner.
Langkah 2 : Sistem menangkap urutan data yang dipilih aktor. Sistem menampilkan nilai hasil evaluasi setiap pertanyaan yang termuat dalam kuesioner.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menampilkan nilai hasil evaluasi untuk setiap pertanyaan yang termuat
38
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
dalam kuesioner.
Pasca kondisi Nilai hasil evaluasi setiap pertanyaan yang termuat dalam kuesioner telah ditampilkan.
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
Asumsi -
Masalah terbuka -
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Melihat Rata Data Setiap Kategori
Jenis Use Case :
Kebutuhan Bisnis ID usecase 5
Prioritas Tinggi
Sumber -
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan pengguna melihat rata-rata data hasil evaluasi untuk setiap kategori.
Pra-kondisi Data hasil evaluasi setiap data ditampilkan per pertanyaan.
Pemicu Aktor ingin mengetahui rata-rata data evaluasi untuk setiap kategori.
Langkah umum Aksi aktor Respon sistem
39
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
Langkah 1 : Aktor mengklik tombol liat rata data tiap kategori.
Langkah 3 : Aktor memasukkan jumlah kategori yang dikehendaki
Langkah 5 : Aktor memasukkan nomor awal pertanyaan dan nomor akhir pertanyaan untuk setiap kategori
Langkah 2 : Sistem menampilkan kotak dialog untuk inputan jumlah kategori yang diinginkan pengguna.
Langkah 4 : Sistem menampilkan form inputan nomor pertanyaan untuk setiap kategori.
Langkah 6 : Sistem menghitung rata-rata data berdasarkan kategori.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menampilkan nilai rata-rata hasil evaluasi untuk setiap kategori.
Pasca kondisi Nilai rata-rata tiap kategori telah ditampilkan.
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
Asumsi -
Masalah terbuka -
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Melihat Grafik Presentase Anggota Setiap Klaster
Jenis Use Case :
Kebutuhan Bisnis
ID usecase 6
Prioritas Sedang
40
Sumber -
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan pengguna melihat persentase jumlah anggota setiap klaster.
Pra-kondisi Data hasil evaluasi telah dikelompokkan kedalam klaster-klaster.
Pemicu Aktor ingin melihat persentase jumlah anggota setiap klaster.
Langkah umum Aksi aktor Respon sistem
Langkah 1 : Aktor mengklik tombol grafik.
Langkah 2 : Sistem menampilkan grafik persentase anggota setiap klaster dalam bentuk pieChart.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menampilkan grafik persentase anggota setiap klaster dalam bentuk pieChart .
Pasca kondisi Persentase jumlah anggota setiap klaster ditampilkan dalam bentuk pieChart.
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
Asumsi -
Masalah terbuka -
41
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Melihat Grafik Presentase Prodi
Jenis Use Case :
Kebutuhan Bisnis ID usecase 7
Prioritas Sedang
Sumber -
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan pengguna melihat persentase jumlah prodi setiap klaster.
Pra-kondisi Detail anggota setiap klaster telah ditampilkan.
Pemicu Aktor ingin melihat persentase jumlah prodi setiap klaster.
Langkah umum Aksi aktor Respon sistem
Langkah 1 : Aktor mengklik tombol grafik.
Langkah 2 : Sistem menampilkan grafik persentase jumlah prodi setiap klaster dalam bentuk pieChart.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menampilkan grafik persentase jumlah prodi setiap klaster dalam bentuk pieChart .
Pasca kondisi Persentase jumlah prodi setiap klaster ditampilkan dalam bentuk pieChart.
Aturan bisnis -
Batasan implementasi dan
-
42
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
spesifikasi
Asumsi -
Masalah terbuka -
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Menyimpan Hasil Klastering
Jenis Use Case :
Kebutuhan Bisnis ID usecase 8
Prioritas Sedang
Sumber -
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan sistem menyimpan data hasil klastering ke dalam file excel.
Pra-kondisi Data sudah dikelompokan.
Pemicu Aktor ingin menyimpan data hasil pengelompokan.
Langkah umum Aksi aktor Respon sistem
Langkah 1 : Aktor melakukan pengelompokan data.
Langkah 2 : Sistem membuat nama file dan menuliskan data hasil pengelompokan ke file excel, kemudian file excel disimpan.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menyimpan data hasil pengelompokan dalam bentuk file excel.
43
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
Pasca kondisi Data hasil pengelompokan telah tersimpan dalam bentuk file excel.
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
Asumsi -
Masalah terbuka -
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Mengurutkan Klaster Berdasarkan Centroid Klaster
Jenis Use Case :
Kebutuhan Bisnis
ID usecase 9
Prioritas Sedang
Sumber -
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan sistem mengurutkan klaster-klaster berdasarkan rata-rata centroid setiap klaster, mulai dari centroid terbesar sampai cenroid terkecil.
Pra-kondisi Data sudah dikelompokan.
Pemicu Aktor ingin melihat klaster-klaster hasil pengelompokan.
Langkah umum Aksi aktor Respon sistem
44
Pengarang : Hertartik Clarasita Devy Tanggal : 18 November 2009
Versi :
Langkah 1 : Aktor mengklik tombol proses.
Langkah 2 : Sistem menghitung rata-rata centroid setiap klaster.
Langkah 3 : Sistem mengurutkan klaster-klaster berdasarkan rata-rata centroid, mulai dari centroid terbesar sampai terkecil.
Langkah 3 : Sistem menyimpan klaster-klaster yang sudah diurutkan.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menyimpan klaster-klaster yang sudah diurutkan.
Pasca kondisi Klaster-klaster sudah terurut mulai dai centroid terbesar sampai terkecil.
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
Asumsi -
Masalah terbuka -
Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran Universitas Sanata Dharma
Nama Usecase Mengurutkan Data Dalam Klaster
Jenis Use Case :
Kebutuhan Bisnis ID usecase 10
Prioritas Sedang
Sumber -
45
Pelaku bisnis utama Pengguna
Pelaku partisipan -
Partisipan lain -
Deskripsi Use case ini menggambarkan sistem mengurutkan data-data dalam klaster-klaster berdasarkan rata-rata centroid setiap data atau prodi yang dimiliki data, mulai dari centroid terbesar sampai cenroid terkecil atau mulai dari prodi dari abjad a sampai z.
Pra-kondisi Aktor melihat detail data dalam klaster.
Pemicu Aktor ingin melihat data-data dalam klaster secara terurut.
Langkah umum Aksi aktor Respon sistem
Langkah 1 : Aktor memilih urut data berdasarkan centroid data atau prodi data.
Langkah 2 : Jika aktor memilih urut data berdasarkan centroid maka sistem menghitung rata-rata centroid setiap data. Kemudian sistem mengurutkan data-data dalam klaster-klaster berdasarkan rata-rata centroid data, mulai dari centroid terbesar sampai terkecil.
Langkah 2 : Jika aktor memilih urut data berdasarkan prodi maka sistem membandingkan prodi setiap data dan mengurutkan data-data dalam klaster-klaster berdasarkan prodi data.
Langkah 3 : Sistem menyimpan klaster-klaster yang sudah diurutkan.
Langkah alternatif
Kesimpulan Use case ini selesai jika sistem telah menyimpan klaster-klaster yang sudah diurutkan.
46
3.3.3 Diagram Aktivitas
a) Diagram Aktivitas Memilih File Data
Gambar 3.3 Diagram Aktivitas Memilih Tabel Data
Pasca kondisi Klaster-klaster sudah terurut mulai dai centroid terbesar sampai terkecil.
Aturan bisnis -
Batasan implementasi dan spesifikasi
-
Asumsi -
Masalah terbuka -
47
b) Diagram Aktivitas Mengelompokkan Data
Gambar 3.4 Diagram Aktivitas Mengelompokkan Data
48
c) Diagram Aktivitas Melihat Detail Anggota Setiap Klaster
Gambar 3.5 Diagram Aktivitas Melihat Detail Data Setiap Klaster
d) Diagram Aktivitas Melihat Detail Nilai Hasil Evaluasi Setiap Data
Gambar 3.6 Diagram Aktivitas Melihat Detail Data Hasil Evaluasi Setiap
Data
49
e) Diagram Aktivitas Melihat Rata-Rata Data Setiap Kategori
Gambar 3.7 Diagram Aktivitas Melihat Rata-rata Data Setiap Kategori
f) Diagram Aktivitas Melihat Grafik Presentase Anggota Setiap Klaster
Gambar 3.8 Diagram Aktivitas Melihat Grafik Presentase Anggota Setiap Klaster
50
g) Diagram Aktivitas Melihat Grafik Presentase Prodi
Gambar 3.9 Diagram Aktivitas Melihat Grafik Presentase Prodi
h) Diagram Aktivitas Menyimpan Hasil Pengelompokan
Gambar 3.10 Diagram Aktivitas Menyimpan Hasil Pengelompokan
51
i) Diagram Aktivitas Mengurutkan Klaster Berdasarkan Centroid
Gambar 3.11 Diagram Aktivitas Mengurutkan Klaster Berdasarkan Centroid
52
j) Diagram Aktivitas Mengurutkan Data Dalam Klaster
Gambar 3.12 Diagram Aktivitas Mengurutkan Data Dalam Klaster
53
3.3.4 Diagram Kelas
<<Controller>>Pengelompokan
<<Controller>>DetailDataSetiapKlaster
<<Controller>>DetailHasilEvaluasiSetiapData
<<boundary>> DetailDataSetiapKlaster
Menggunakan
Menggunakan
Menggunakan
Menggunakan
Men
girim
Mem
ilikiM
emiliki
1
1
1
1
1…*
1…*
1…*
1
1…*
Men
ggun
akan
Mem
iliki
Mem
iliki
<<boundary>> Input Data
<<boundary>> Pengelompokan Data
<<boundary>> DetailHasilEvaluasiSetiapData
<<Controller>>InputData
HasilEvaluasi
Cluster
11…*
1
1
1
1
1…*
Centroid
Mem
iliki
Mem
iliki
1
1…*
<<Controller>>Pie Chart
11
1
1
Menggunakan
Menggunakan
Mem
iliki
Menggunakan
<<boundary>> PilihAtribut
<<Controller>>PilihAtribut
1
1
Menggunakan
Gambar 3.13 Diagram Kelas Keseluruhan
54
Gambar 3.14 Diagram Kelas
55
Gambar 3.15 Diagram Kelas (Lanjutan)
56
3.3.5 Algoritma Method Dalam Setiap Kelas
a) Detail Algoritma Method Kelas InputData
Tabel 3.4 Detail Algoritma Method Kelas InputData
Nama Method Tugas Method Algoritma Method
bacaFile
Method bacaFile bertugas membaca data input dan menjadikan data tersebut sebagai obyek dari kelas HasilEvaluasi
1. Menangkap/ membaca file yang dipilih pengguna.
2. Membaca banyak kolom dan banyak baris data.
3. Membaca semua data yang ada dalam file yang telah dipilih.
4. Data yang telah dibaca dijadikan obyek yang bertipe HasilEvaluasi.
b) Detail Algoritma Method Kelas Pengelompokan
Tabel 3.5 Detail Algoritma Method Kelas Pengelompokan
Nama Method Tugas Method Algoritma Method
pengelompokanData
Method pengelompokanData bertugas membuat klaster dan mendeklarasikan pusat awal klaster
1. Membuat klaster sebanyak klaster yang dimasukkan pengguna.
2. Mendeklarasikan centroid awal setiap klaster dengan cara memanggil method declareCentroid.
iterasi
Method iterasi bertugas melakukan serta menghentikan iterasi pengelompokan
1. Memanggil method Euclidean.
2. Memanggil method pindahData.
3. Memanggil method untuk menghitung centroid.
declareCentroid
Method declareCentroid bertugas mendeklarasikan
1. Untuk sebanyak jumlah klaster lakukan langkah 2.
2. Memilih data secara random.
57
centroid awal 3. Mengecek apakah data yang dipilih sudah menjadi centroid di klaster lain atau belum, jika sudah lakukan kembali ke langkah nomor 2. Jika belum menjadi centroid di klaster lain, lakukan langkah 4.
4. Mendeklarasikan data yang telah dipilih menjadi centroid klaster.
euclidean
Method euclidean bertugas menghitung jarak setiap data dengan centroid setiap klaster
1. Untuk i=0 sampai i < jumlah data lakukan langkah nomor 2.
2. Untuk j=0 sampai j < jumlah klaster lakukan langkah nomor 3.
3. Untuk k=0 sampai k < jumlah pertanyaan kuesioner, lakukan langkah nomor 4.
4. Hitung selisih nilai hasil evaluasi antara data i dengan centroid klaster j dengan persamaan euclidean. Jika k < jumlah pertanyaan ulangi langkah 4.
pindahData
Method pindahData bertugas menempatkan setiap data ke klaster yang memiliki jarak terdekat
1. Untuk setiap data dan setiap klaster, cari yang memiliki jarak terdekat. Jika pencarian jarak terdekat sudah selesai, lakukan langkah nomor 2.
2. Tempatkan data ke klaster yang memiliki jarak terdekat berdasarkan pencarian pada langkah nomor 1.
hitungCentroid
Method hitungCentroid bertugas mengitung centroid klaster tanpa menghitung nilai SSE
1. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 2.
2. Untuk j=0 sampai j < jumlah atribut pertanyaan, lakukan langkah 3.
3. Untuk k=0 sampai k< jumlah anggota klaster i, lakukan langkah 4.
4. Menghitung jumlah data hasil evaluasi atribut ke-j semua anggota yang menjadi anggota klaster i. jika k ≥ jumlah anggota klaster i lakukan langkah 5.
5. Hitung rata-rata centroid atribut ke-j klaster i. Set j=j+1. Jika j < jumlah atribut pertanyaan , ulangi langkah nomor 3. Jika j ≥ jumlah atribut pertanyaan, lakukan langkah 6.
58
6. Menghitung klaster yang centroidnya tidak berubah dan klaster i diset dengan nilai centroid yang baru. Set i=i+1. Jika i<jumlah klaster, ulangi langkah 2. Jika i ≥jumlah klaster lakukan langkah nomor 7.
7. Cek apakah centroid semua klaster mengalami perubahan atau tidak, jika semua klaster tidak mengalami perubahan centroid, set nilai status=1 yang berarti iterasi berhenti.
hitungCentroidSSE
Method hitungCentroidSSE bertugas menghitung centroid baru setiap klaster dan menghitung nilai SSE
1. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 2.
2. Untuk j=0 sampai j < jumlah atribut pertanyaan, lakukan langkah 3.
3. Untuk k=0 sampai k< jumlah anggota klaster i, lakukan langkah 4.
4. Menghitung jumlah data hasil evaluasi atribut ke-j semua anggota yang menjadi anggota klaster i. Jika k ≥ jumlah anggota klaster i, lakukan langkah 5.
5. Hitung rata-rata centroid atribut ke-j klaster i. Set j=j+1. Jika j < jumlah atribut pertanyaan , ulangi langkah nomor 3. Jika j ≥ jumlah atribut pertanyaan, lakukan langkah 6.
6. Klaster i diset dengan nilai centroid yang baru. Set i=i+1. Jika i<jumlah klaster, ulangi langkah 2. Jika i ≥ jumlah klaster lakukan langkah nomor 7.
7. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 8.
8. Untuk j=0 sampai j < jumlah anggota klaster i, lakukan langkah 9.
9. Untuk k=0 sampai k< jumlah atribut pertanyaan, lakukan langkah 10.
10. Hitung nilai SSE semua atribut pertanyaan untuk setiap data ke-j klaster i. Jika k≥ jumlah atribut pertanyaan dan j< jumlah anggota klaster i, set j = j+1 dan ulangi langkah nomor 9. Jika j≥jumlah anggota klaster i, set i=i+1 dan ulangi langkah nomor
59
8.
11. Cek apakah nilai hasil perhitungan SSE ≤SSE yang diinputkan pengguna dan cek apakah nilai hasil perhitungan SSE = nilai hasil perhitungan SSE pada iterasi sebelumnya . Jika nilai hasil perhitungan SSE ≤SSE yang diinputkan pengguna atau hasil perhitungan SSE = hasil perhitungan SSE pada iterasi sebelumnya, set status=1 yang berarti iterasi selesai.
label Method label bertugas memberi label setiap klaster
1. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 2.
2. Untuk j=0 sampai j < jumlah anggota klaster i, lakukan langkah 3.
3. Untuk k=0 sampai k< jumlah atribut pertanyaan, lakukan langkah 4.
4. Hitung jumlah semua nilai hasil evaluasi untuk setiap pertanyaan data ke-j klaster i. Jika k≥ jumlah atribut pertanyaan, laukukan lanhkah 5.
5. Hitung rata-rata hasil evaluasi data ke-j klaster i dan hitung jumlah hasil evaluasi setiap klaster. set j=j+1. Jika j< jumlah anggota klaster i, ulangi langkah nomor 3. Jika j≥ jumlah anggota klaster i, lakukan langkah nomor 6.
6. Hitung rata-rata data klaster i, kemudian bandingkan dengan ketentuan labeling dalam bentuk if. Set label klaster i yang sesuai dengan ketentuan labeling. Set i=i+1. Jika i< jumlah klaster, ulangi langkah nomor 2.
validasi Menghitung validasi hasil pengelompokan
1. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 2.
2. Untuk j=0 sampai j < jumlah anggota klaster i, lakukan langkah 3.
3. Untuk k=0 sampai k< banyak pertanyaan, lakukan langkah 4.
4. Hitung jumlah hasil evaluasi semua pertanyaan untuk setiap data ke-j dalam klaster i. Jika k ≥ banyak pertanyaan, lakukan langkah
60
nomor 5.
5. Hitung rata-rata hasil evaluasi data ke-j dalam klaster i. Beri label data ke-j sesuai dengan ketentuan labeling.
6. Jika label data ke-j sama dengan label klaster dimana data j bernaung, maka set valid++.
7. Set j=j+1. Jika j< jumlah anggota klaster i, ulangi langkah nomor 3. Jika j≥ jumlah anggota klaster i, lakukan langkah nomor 8.
8. Set i=i+1. Jika i< banyak klaster, ulangi langkah nomor 2. Jika i≥ banyak klaster, lakukan langkah nomor 9.
9. setValidasi = (valid/banyak data)*100
bubleSortCentroidKlaster
Method bubleSortCentroidKlaster bertugas mengurutkan klaster berdasarkan centroid setiap klaster
1. Untuk i=1 sampai i<banyak klaster, lakukan langkah nomor 2.
2. Untuk j=0 sampai j<banyak klaster-1, lakukan langkah nomor 3.
3. Hitung rata-rata centroid klaster j dengan rata-rata centroid klaster j+1.
4. Jika rata centroid klaster j< rata centroid klaster j+1, tukarkan kedua klaster tersebut.
5. Set j=j+1. Jika j < banyak klaster-1, ulangi langkah nomor 3. Jika j ≥ banyak klaster-1, lakukan langkah nomor 6.
6. Set i=i+1. Jika i < banyak klaster, ulangi langkah nomor 2.
tampilSemuaKlaster
Method tampilSemuaKlaster digunakan untuk menampilkan klaster-klaster hasil pengelompokan meliputi jumlah klaster, jumlah data, validasi, jumlah anggota klaster, centroid klaster, label
1. Deklarasikan nama kolom tabel yang akan ditampilkan sebagai output.
2. Hitung rata-rata centroid setiap klaster.
3. Simpan jumlah anggota setiap klaster, rata-rata centroid setiap klaster dan label klaster dalam array dua dimensi.
4. Isi array dua dimensi yang dibuat pada langkah nomor 3 ditampilkan sebagai output dalam bentuk tabel.
5. Menampilkan output lain seperti jumlah
61
klaster dan SSE jika pengguna menghendaki.
klaster, jumlah data, validasi, dan nilai SSE jika pengguna menghendaki.
tampilDetailData
Method tampilDetailData digunakan untuk mengirim atribut-atribut yang diperlukan untuk melihat detail anggota setiap klaster. Atribut-atribut yang diperlukan untuk melihat detail anggota setiap klaster dikirimkan ke method hasilSemuaKlaster yang ada dikelas DetailDataSetiapKlaster.
1. Menghitung rata-rata centroid klaster yang akan dilihat anggotanya secara mendetail.
2. Mengirimkan klaster hasil pengelompokan, urutan klaster yang akan dilihat, rata-rata centroid klaster yang akan dilihat, obyek pengelompokan yang menyimpan atribut-atribut yang dimiliki kelas Pengelompokan, serta obyek detailHasilEvaluasiSetiapData yang menyimpan atribut-atribut yang dimiliki oleh kelas DetailHasilEvaluasiSetiapData.
tampilGrafik
Method tampilGrafik digunakan untuk mengirimkan nama variabel, nilai variabel dan judul pieChart jika pengguna ingin melihat piechart persentase anggota klaster hasil pengelompokan.
1. Menyimpan nama variabel dan nilai variabel yang akan dibuat piechart.
2. Mengirimkan nama variabel, nilai variabel dan judul piechart ke method tampil yang ada dikelas pieChart.
simpanExcel
Method simpanExcel digunakan untuk menyimpan data hasil pengelompokan ke dalam bentuk file excel.
1. Memberi nama kolom file excel.
2. Untuk h=0 sampai h<banyak klaster, lakukan langkah nomor 2.
3. Untuk i=0 sampai i<banyak anggota klaster h, lakukan langkah nomor 4.
4. Baca atribut fakultas, prodi, NIP, nama dosen dan nama matakuliah data ke-i klaster h. kemudian lakukan langkah nomor 5.
5. Untuk j=0 sampai j<banyak pertanyaan yang
62
termuat dalam kuesioner, lakukan langkah nomor 6.
6. Baca data hasil evaluasi pertanyaan ke-j untuk data ke-i klaster h. Set j=j+1. Jika j< banyak pertanyaan yang termuat dalam kuesioner, ulangi langkah nomor 6. Jika j≥ banyak pertanyaan yang termuat dalam kuesioner, lakukan langkah nomor 7.
7. Baca label klaster h. Set i=i+1. Jika i< banyak anggota klaster h, ulangi dari langkah nomor 4. Jika i≥banyak anggota klaster h, lakukan langkah nomor 8.
8. Set h=h+1. Jika h<banyak klaster, ulangi langkah nomor 3.
c) Detail Algoritma Method Kelas DetailDataSetiapKlaster
Tabel 3.6 Detail Algoritma Method Kelas DetailDataSetiapKlaster
Nama Method Tugas Method Algoritma Method
hasilSemuaKlaster
Method hasilSemuaKlaster digunakan untuk melihat anggota setiap klaster, yang meliputi informasi urutan klaster, jumlah anggota klaster, centroid klaster, label klaster, dan atribut-atribut yang dimiliki data seperti fakultas, prodi, NIP, dosen, matakuliah, rata-rata data dan label data.
1. Mengitung rata-rata setiap data.
2. Memberi label setiap data.
3. Menyimpan variabel fakultas, prodi, NIP, dosen, matakuliah, rata-rata data dan label data ke dalam array dua dimensi.
4. Menampilkan array dua dimensi yang dibuat pada langkah nomor 3 menjadi output dalam bentuk tabel.
5. Menampilkan output lain seperti urutan klaster, jumlah anggota klaster, centroid klaster dan label klaster.
bubleSortCentroidData
Method bubleSortCentroidData bertugas
1. Untuk h=0 sampai h<banyak klaster, lakukan langkah nomor 2.
2. Untuk i=1 sampai i<banyak anggota klaster h,
63
mengurutkan anggota setiap klaster berdasarkan centroid setiap data
lakukan langkah nomor 3.
3. Untuk j=0 sampai j<(banyak anggota klaster h)-1, lakukan langkah nomor 4.
4. Hitung rata-rata data ke-j klaster h dengan rata-rata data j+1 klaster h.
5. Jika rata data ke j klaster h< rata data j+1 klaster h, tukarkan kedua klaster tersebut.
6. Set j=j+1. Jika j < (banyak anggota klaster h)-1, ulangi langkah nomor 4. Jika j ≥ (banyak anggota klaster h)-1, lakukan langkah nomor 7.
7. Set i=i+1. Jika i < banyak anggota klaster h, ulangi langkah nomor 3. Jika i ≥banyak anggota klaster h, lakukan langkah nomor 8.
8. Set h=h+1. Jika h<banyak klaster, lakukan langkah nomor 2.
bubleSortProdi
Method bubleSortProdi bertugas mengurutkan anggota setiap klaster berdasarkan abjad nama prodi
1. Untuk h=0 sampai h<banyak klaster, lakukan langkah nomor 2.
2. Untuk i=1 sampai i<banyak anggota klaster h, lakukan langkah nomor 3.
3. Untuk j=0 sampai j<(banyak anggota klaster h)-1, lakukan langkah nomor 4.
4. Jika nama prodi data ke j klaster h< nama prodi data j+1 klaster h, tukarkan kedua klaster tersebut.
5. Set j=j+1. Jika j < (banyak anggota klaster h)-1, ulangi langkah nomor 4. Jika j ≥banyak anggota klaster h)-1, lakukan langkah nomor 6.
6. Set i=i+1. Jika i < banyak anggota klaster h, ulangi langkah nomor 3. Jika i ≥banyak anggota klaster h, lakukan langkah nomor 7.
7. Set h=h+1. Jika h<banyak klaster, lakukan langkah nomor 2.
tampilGrafik
Method tampilGrafik digunakan untuk mengirimkan nama variabel, nilai variabel dan
1. Mencari banyak prodi yang menjadi anggota klaster.
2. Menghitung jumlah setiap prodi yang menjadi anggota klaster dan menyimpan jumlah tersebut ke array nilai serta nama prodi tersebut
64
judul pieChart jika pengguna ingin melihat piechart persentase prodi setiap klaster.
ke array data.
3. Mengirimkan data nama variabel, nilai variabel dan judul piechart ke method tampil yang ada dikelas pieChart
d) Detail Algoritma Method Kelas DetailHasilEvaluasiSetiapData
Tabel 3.7 Detail Algoritma Method Kelas DetailHasilEvaluasiSetiapData
Nama Method Tugas Method Algoritma Method
tampilDetailSetiapdata
Method tampilDetailSetiapdata digunakan untuk menampilkan hasil evaluasi 18 pertanyaan yang termuat dalam kuesioner untuk setiap data.
1. Menyimpan nomor pertanyaan dan nilai hasil evaluasi ke dalam array dua dimensi.
2. Array dua dimensi yang dibuat pada langkah nomor 1 ditampilkan sebagai output dalam bentuk tabel.
dataKategori
Method dataKategori digunakan untuk memasukkan nomor pertanyaan setiap kategori jika pengguna ingin melihat rata-rata data setiap kategori.
1. Menangkap nilai variabel inc.
2. Jika inc < jumlah kategori yang dimasukkan pengguna, lakukan langkah no 3. Jika inc ≥ jumlah kategori yang dimasukkan pengguna, lakukan langkah nomor 4.
3. Tampilkan field yang digunakan untuk memasukkan nomor awal dan nomor akhir setiap kategori dan method dataKategori selesai menjalankan tugasnya.
4. Memanggil tampilRataKategori untuk menghitung rata-rata setiap data untuk setiap kategori.
tampilRataKategori
Method tampilRataKategori bertugas untuk menghitung rata-rata setiap data untuk setiap
1. Untuk i =0 sampai i<jumlah kategori, lakukan langkah nomor 2.
2. Untuk j=nomor awal pertanyaan kategori i sampai j≤nomor akhir pertanyaan kategori i, lakukan langkah nomor 3.
65
kategori dan menampilkan hasil perhitungan menjadi output.
3. Set rataKategori = rataKategori+hasil evaluasi pertanyaan nomor j-1. Set j=j+1. Jika j≤ nomor akhir pertanyaan kategori i, ulangi langkah nomor 3. Jika j> nomor akhir pertanyaan kategori i, lakukan langkah nomor 4.
4. Hitung rata-rata data untuk setiap kategori dan tampilkan sebagai output. Set i=i+1. Jika i<jumlah kategori, ulangi langkah nomor 2. Jika i≥jumlah kategori, lakukan langkah nomor 5.
5. Buat obyek yang bertipe DetailHasilEvaluasiSetiapData yang menyimpan informasi semua atribut yang dimiliki oleh kelas DetailHasilEvaluasiSetiapData.
e) Detail Algoritma Method Kelas PieChart
Tabel 3.8 Detail Algoritma Method Kelas PieChart
Nama Method Tugas Method Algoritma Method
tampil
Method tampil bertugas membuat pieChart dua dimensi.
1. Membuat obyek bertipe DefaultPieDataset.
2. Untuk i=0 sampai i<banyak variabel yang dikirim method pemanggil, setValue obyek data yang bertipe DefaultPieDataset dengan nama varibel dan nilai variabel yang dikirm oleh method pemanggil.
3. Tampilkan pie chart sebagai output.
66
3.3.6 Diagram Sequence
a) Diagram Sequence Pilih File Data
Gambar 3.16 Diagram Sequence Pilih File Data
67
b) Diagram Sequence Mengelompokkan Data
Gambar 3.17 Diagram Sequence Mengelompokkan Data
68
c) Diagram Sequence Melihat Detail Anggota Setiap Klaster
Gambar 3.18 Diagram Sequence Melihat Detail Anggota Setiap Klaster
d) Diagram Sequence Melihat Detail Hasil Evaluasi Setiap Data
Gambar 3.19 Diagram Sequence Melihat Detail Hasil Evaluasi Setiap Data
69
e) Diagram Sequence Melihat Rata-Rata Data Setiap Kategori
Pengguna
Klik tombol kategori
Request kategori
<<User Interface>>DetailHasilEvaluasi
SetiapData
<<Controller>>DetailHasilEvaluasi
SetiapData
Menampilkan dialog input banyak
kategori
Banyak kategori
Menampilkan dialog input nomor pertanyaan
Nomor awal dan akhir pertanyaan untuk setiap
kategori
dataKategori (kategori, 0)
Nomor awal dan akhir pertanyaan
untuk setiap kategori
tampilKategori()
HasilEvaluasi
getData()
Data hasil evaluasiRata data setiap kategori
Gambar 3.20 Diagram Sequence Melihat Detail Rata-Rata Data Setiap
Kategori
70
f) Diagram Sequence Melihat Grafik Presentase Anggota Setiap Klaster
Gambar 3.21 Diagram Sequence Melihat Grafik Presentase Anggota
Setiap Klaster
g) Diagram Sequence Melihat Grafik Presentase Prodi
Gambar 3.22 Diagram Sequence Melihat Grafik Presentase Prodi
71
h) Diagram Sequence Menyimpan Hasil Pengelompokan
Gambar 3.23 Diagram Sequence Menyimpan Hasil Pengelompokan
i) Diagram Sequence Mengurutkan Klaster Berdasarkan Centroid
Pengguna
Klik tombol proses
<<User Interface>>Pengelompokan
Centroid
getDataCluster ( )getCentroid()
Cluster
Centroid klasterData cluster
<<Controler>>Pengelompokan
bubleSortCentroidKlaster ( )
setCluster ( )
Klaster yang sudah siurutkan
Gambar 3.24 Diagram Sequence Mengurutkan Klaster Berdasarkan Centroid
72
j) Diagram Sequence Mengurutkan Data Dalam Klaster
Pengguna
Pilih urut berdasarkan
<<User Interface>>DetailDataSetiapKlaster
Cluster<<Controler>>Detail Data Setiap Klaster
bubleSortCentroidData( )
bubleSortCentroidData( )
else
Centroid is true?opt
setDataCluster()
Data klaster yang sudah terurut
getDataCluster()
Gambar 3.25 Diagram Sequence Mengurutkan Data Dalam Klaster
3.4 Desain Antar Muka Pengguna
3.4.1 Desain Tampilan Utama
Gambar 3.24 merupakan gambaran antar muka pengguna menu utama
sistem. Bagian Menu memiliki submenu seperti pada gambar 3.25. Submenu
pengelompokan merupakan link yang menuju ke jendela yang dipakai untuk
memulai pengelompokan data yaitu pada gambar 3.26. Submenu petunjuk
penggunaan sistem merupakan submenu untuk membuka jendela bantuan seperti
pada gambar 3.30.
73
Gambar 3.26 Desain Antar Muka Menu utama
Petunjuk Penggunaan Sistem
Menu
Pengelompokan
Gambar : 3.27 Desain Antar Muka Submenu
3.4.2 Desain Pengelompokan Data
Gambar 3.28 merupakan gambaran antar muka pengguna pengelompokan
data. Untuk mengelompokkan data, pengguna harus memilih file data dalam
bentuk excel(xls) yang akan dikelompokkan. Jika pengguna telah memilih file
data, maka data dalam file xls yang dipilih akan di tampilkan pada tabel di
bawahnya secara otomatis.
Untuk memulai pengelompokan, pengguna harus menginputkan jumlah klaster
yang dikehendaki. Jumlah klaster yang dikehendaki di inputkan pada field
dibawah tombol pemilihan file data. Jika pengguna ingin memakai nilai SSE,
74
penguna dapat melakukan klik pada checkbox yang ada disamping tombol
pemilihan file. Jika checkbox sudah diklik maka field nilai SSE yang sebelumnya
diset disable akan muncul, dan pengguna dapat memasukkan nilai SSE yang
dikehendaki. Untuk mengelompokkan data dilakukan dengan melakukan klik
pada tombol proses. Hasil pengelompokkan data di tunjukkan pada gambar 3.25.
Gambar 3.28 Desain Antar Muka Pengelompokan Data
3.4.3 Desain Hasil Pengelompokan Data
Gambar 3.29 merupakan gambaran antar muka pengguna hasil
pengelompokan data. Pada jendela ini, ditampilkan jumlah klaster, jumlah data,
nilai SSE yang dicapai, validasi hasil pengelompokan dan jumlah iterasi yang
dilakukan sistem. Hasil pengelompokan ditampilkan pada tabel. Untuk melihat
75
data setiap klaster secara detail, dapat dilakukan dengan cara mengklik baris pada
klaster yang dikehendaki sehingga akan muncul jendela seperti pada gambar 3.31.
Tombol grafik digunakan untuk melihat persentase anggota dalam klaster seperti
pada gambar 3.30.
Gambar 3.29 Desain Antar Muka Hasil Pengelompokan Data
3.4.4 Desain Antar Muka Pie Chart Persentase Klaster
Gambar 3.30 merupakan gambar pie chart persentase klaster. Antar muka
pie chart persentase klaster diambil dari website
http://bayusenoadji.com/en/programming-java/34-java/49-membuat-pie-chart-
dan-bar-chart-dengan-jfreechart.
76
Tinggi40 (50%)
Sangat Tinggi20 (25%)
Cukup20 (25%)
Grafik Klastering Keseluruhan
Gambar 3.30 Desain Antar Muka Pie Chart Persentase Klaster
3.4.5 Desain Detail Anggota Setiap Klaster
Gambar 3.31 merupakan gambaran antar muka pengguna hasil
pengelompokan data setiap klaster. Data yang ditampilkan merupakan identitas
data yang mencakup fakultas, nama prodi, kode dosen, nama dosen, nama
matakuliah, rata-rata data dan label setiap data. Tombol grafik untuk melihat
persentase tiap prodi yang termasuk dalam klaster tersebut, seperti pada gambar
3.32. Tombol Kembali untuk kembali jendela hasil pengelompokan semua data,
tombol sebelumnya untuk menuju ke klaster sebelumnya dan tombol seterusnya
untuk menuju ke klaster selanjutnya. Untuk melihat semua nilai jawaban
responden setiap pertanyaan yang termuat dalam kuesioner dapat dilakukan
dengan melakukan klik pada baris data, sehingga akan muncul jendela seperti
pada gambar 3.33.
77
Gambar 3.31 Desain Antar Muka Hasil Pengelompokan Data Setiap Klaster
3.4.6 Desain Antar Muka Pie Chart Persentase Prodi Setiap Klaster
Gambar 3.32 merupakan gambar pie chart persentase prodi dalam klaster.
Antar muka pie chart persentase prodi dalam klaster diambil dari website
http://bayusenoadji.com/en/programming-java/34-java/49-membuat-pie-chart-
dan-bar-chart-dengan-jfreechart.
Teknik Informatika40 (50%)
Fisika20 (25%)
Matematika20 (25%)
Grafik Klaster Tinggi
Gambar 3.32 Desain Antar Muka Pie Chart Persentase Prodi Setiap Klaster
78
3.4.7 Desain Antar Muka Detail Data Hasil Evaluasi Setiap Data
Gambar 3.33 merupakan desain antar muka untuk tampilan detail nilai
hasil evaluasi setiap pertanyaan yang termuat dalam kuesioner. Field input nomor
awal dan nomor akhir kategori merupakan field untuk memasukkan nomor
dimulai dan nomor teraakhir pertanyaan untuk setiap kategori. Setelah pengguna
memasukkan nomor awal dan akhir pertanyaan semua ktegori, maka nilai rata-rata
setiap kategori akan ditampilkan di area kiri bawah. Tombol kuesioner berfungsi
untuk melihat pertanyaan yang termuat dalam kuesioner. Tombol kembali untuk
kembali ke antar muka Detail Anggota Setiap Klaster seperti pada gambar 3.31.
Pengelompokan Data Evaluasi Pembelajaran FSTUniversitas Sanata Dharma
kuesioner Kembali
OK
No pertanyaan NilaiMasukkan nomor pertanyaan kategori :
No awal :
No akhir :
Rata-Rata Data Setiap Kategori :
Menu
Gambar 3.33 Desain Antar Muka Detail Data Hasil Evaluasi Setiap Data
3.4.8 Desain Petunjuk Penggunaan
Gambar 3.34 merupakan antar muka pengguna menu bantuan penggunaan
sistem.
79
Gambar 3.34 Desain Antar Muka Bantuan Petunjuk Penggunaan
80
Bab IV
IMPLEMENTASI
Bab IV mengurai tentang implementasi sistem pengelompokan data hasil
evaluasi P3MP. Uraian mencakup antar muka sistem dan algoritma
pengelompokan.
4.1 Implementasi Antar Muka pengguna
4.1.1 Antar Muka Menu Utama
Gambar 4.1 Antar Muka Menu Utama
Gambar 4.1 merupakan halaman utama sistem pengelompokan data hasil
evaluasi P3MP. Di bagian menu tedapat dua submenu. Submenu yang pertama
adalah pengelompokan yang berguna untuk membuka jendela input data seperti
pada gambar 4.2. Submenu yang kedua adalah petunjuk penggunaan yang berguna
81
untuk membuka jendela bantuan tata cara memakai sistem pengelompokan data
hasil evaluasi.
4.1.2 Antar Muka Pemilihan File Data
Gambar 4.2 Antar Muka Input Data
Gambar 4.3 Antar Pemilihan Pertanyaan Pengelompokan
82
Gambar 4.2 merupakan antar muka pemilihan file data. Antar muka pemilihan file
data berfungsi untuk memilih file data yang bertipe xls yang akan dikelompokkan.
Di bawah tombol pemilihan data terdapat field input nilai SSE yang dapat
digunakan pengguna untuk memasukkan nilai SSE yang dikehendaki. Sebelum
pengguna memilih file data, tombol proses diset enable. Tombol proses akan di
set disable jika pengguna telah memilih file data. Data yang dipilih pengguna
ditampilkan otomatis pada table output. Jika tombol proses diklik maka sistem
akan mulai melakukan pengelompokan data. Hasil pengelompokan data
ditampilkan dalam antar muka Pengelompokan. Gambar 4.3 merupakan gambar
antar muka pemilihan pertanyaan dalam kuesioner yang akan dikelompokkan.
4.1.3 Antar Muka Pengelompokan
Gambar 4.4 Antar Muka Hasil Pengelompokan
83
Gambar 4.5 Antar Muka Pie Chart Persentase Anggota Klaster
Antar muka hasil pengelompokan berfungsi untuk menampilkan hasil
pengelompokan data, yang mencakup jumlah anggota tiap klaster, centroid
klaster, label klaster, jumlah klaster, jumlah iterasi yang dilakukan sistem, jumlah
data, validasi program dan nilai SSE jika pengguna menghendaki pemakaian nilai
SSE. Tombol grafik digunakan untuk melihat grafik jumlah anggota tiap klaster.
Antar muka pie chart persentase anggota klaster diambil dari website
http://bayusenoadji.com/en/programming-java/34-java/49-membuat-pie-chart-
dan-bar-chart-dengan-jfreechart. Untuk melihat detail anggota setiap klaster dapat
dilakukan dengan mengklik klaster pada tabel, yang kemudian detail anggota
klaster ditampilkan dalam antar muka DetailDataSetiapKlaster.
84
4.1.4 Antar Muka Detail Data Setiap Klaster
Gambar 4.6 Antar Muka Detail Anggota Setiap Klaster
Gambar 4.7 Antar Muka Pie Chart Persentase Prodi Setiap Klaster
85
Antar muka detail data setiap klaster menampilkan detail anggota setiap klaster.
Informasi yang ditampilkan mencakup urutan klaster, jumlah anggota klaster yang
ditampilkan, centroid klaster, label klaster, fakultas, prodi, kode dosen, nama
dosen, nama matakuliah, rata setiap data dan label setiap data. Antar muka hasil
pengelompokan juga menyediakan fasilitas jika pengguna hendak mengurutkan
data berdasarkan prodi atau centroid, dimana default sistem data diurutkan
berdasarkan centroid. Tombol grafik berfungsi untuk melihat grafik persentase
setiap klaster berdasarkan prodi. Antar muka pie chart persentase jumlah prodi
setiap klaster diambil dari website http://bayusenoadji.com/en/programming-
java/34-java/49-membuat-pie-chart-dan-bar-chart-dengan-jfreechart.Tombol
kembali untuk kembali ke antar muka pengelompokan, tombol previous untuk
menampilkan klaster urutan sebelumnya dan tombol next berfungsi untuk
menampilkan klaster berikutnya. Untuk melihat nilai jawaban setiap pertanyaan
kuesiner dapat dilakukan dengan melakukan klik pada tabel data. Nilai rata-rata
jawaban untuk setiap pertanyaan yang termuat dalam kuesioner ditampilkan
dalam antar muka detail setiap data.
86
4.1.5 Antar Muka Detail Hasil Evaluasi Setiap Data
Gambar 4.8 Antar Muka Lihat Detail Hasil Evaluasi Setiap Data
Gambar 4.9 Antar Muka Input Dialog Jumlah Kategori
87
Gambar 4.10 Antar Muka Lihat Rata Data setiap Kategori
Antar muka detail hasil evaluasi setiap data berfungsi untuk menampilkan
nilai jawaban rata-rata responden untuk setiap pertanyaan yang termuat dalam
kuesioner. Di antar muka detail setiap data terdapat fasilitas melihat rata-rata
setiap kategori. Untuk melihat rata-rata setiap katergori dapat dilakukan dengan
cara mengklik tombol kategori. Jika tombol kategori diklik maka user diminta
untuk memasukan jumlah kategori yang dikehendaki. Kemudian memasukkan
nomor awal pertanyaan dan nomor berakhirnya pertanyaan untuk setiap kategori.
Di antar muka detail setiap data juga terdapat fasilitas untuk melihat pertanyaan
kuesioner dengan cara melakukan klik pada tombol pertanyaan.
88
4.1.6 Antar Muka Bantuan
Gambar 4.11 Antar Muka Petunjuk Pemakaian Program
Gambar 4.10 merupakan halaman petunjuk pemakaian sistem
pengelompokan data hasil evaluasi P3MP. Dalam halaman tersebut terdapat
langkah-langkah yang harus dilakukan untuk mengelompokkan data hasil
evaluasi.
4.2 Program Sistem Pengelompokan Data Hasil Evaluasi Pembelajaran
4.2.1 Membaca Data dari File xls
try {
int jumlahDataPakai = 0;
for (int i = 0; i < value.length; i++) {
if (value[i] == true) {
jumlahDataPakai++;
89
}
}
System.out.println("jumlahDataPakai " + jumlahDataPakai);
Workbook workbook = Workbook.getWorkbook(file);
Sheet sheet = workbook.getSheet(0);
int banyakKolom = sheet.getColumns();
int banyakBaris = sheet.getRows();
if (banyakKolom <= 23) {
String[][] dataTabel = new String[banyakBaris - 1][banyakKolom];
String[] kolom = new String[banyakKolom];
String fakultas = "";
String nip = "";
String namaDosen = "";
String namaProdi = "";
String mtk = "";
for (int i = 1; i < banyakBaris; i++) {
int indeks = 0;
setDataEvaluasi(new double[jumlahDataPakai]);
for (int j = 0; j < banyakKolom; j++) {
Cell cell = sheet.getCell(j, i);
dataTabel[i - 1][j] = cell.getContents();
if (j == 0) {
namaProdi = dataTabel[i - 1][0];
} else if (j == 1) {
nip = dataTabel[i - 1][1];
} else if (j == 2) {
namaDosen = dataTabel[i - 1][2];
} else if (j == 3) {
mtk = dataTabel[i - 1][3];
} else if (j == 4) {
fakultas = dataTabel[i - 1][4];
90
}
if (j >= 5) {
if ((value[j - 5] == true)) {
NumberCell numberCell = (NumberCell) cell;
double angka = Double.valueOf(numberCell.getValue()).doubleValue();
getDataEvaluasi()[indeks] = angka;
indeks++;
}
}
}
getDataPoints().add(new HasilEvaluasi(fakultas, namaProdi, nip,
}
}
if (banyakKolom > 23) {
String[][] dataTabel = new String[banyakBaris - 1][banyakKolom];
String[] kolom = new String[banyakKolom];
String fakultas = "";
String nip = "";
String namaDosen = "";
String namaProdi = "";
String mtk = "";
for (int i = 1; i < banyakBaris; i++) {
String[][] atributLain = new String[banyakKolom - 22][2];
int indeks = 0;
setDataEvaluasi(new double[jumlahDataPakai]);
for (int j = 0; j < banyakKolom; j++) {
Cell cell = sheet.getCell(j, i);
dataTabel[i - 1][j] = cell.getContents();
if (j == 0) {
namaProdi = dataTabel[i - 1][0];
91
} else if (j == 1) {
nip = dataTabel[i - 1][1];
} else if (j == 2) {
namaDosen = dataTabel[i - 1][2];
} else if (j == 3) {
mtk = dataTabel[i - 1][3];
} else if (j == 4) {
fakultas = dataTabel[i - 1][4];
}
if (j >= 5 && j <= 22) {
if ((value[j - 5] == true)) {
NumberCell numberCell = (NumberCell) cell;
double angka =Double.valueOf(numberCell.getValue()).doubleValue();
getDataEvaluasi()[indeks] = angka;
indeks++;
}
}
if (j >= 23) {
cell = sheet.getCell(j , 0);
atributLain[j - 23][0] = cell.getContents();
atributLain[j - 23][1] = dataTabel[i - 1][j];
}
}
getDataPoints().add(new HasilEvaluasi(fakultas, namaProdi, nip, namaDosen, mtk, dataEvaluasi, atributLain));
dataSetelahDibersihkan.setText("" + getDataPoints().size());
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Format Kolom Data Tidak Sesuai");
tombolProses.setEnabled(false);
92
tabelData.setEnabled(false);
}
Input sistem adalah file yang bertipe excel(xls) yang dipilih pengguna. Semua
data yang ada dalam file di jadikan obyek yang bertipe HasilEvaluasi dan
disimpan dalam tipe data vector. Data yang disimpan meliputi fakultas, NIP, nama
dosen, prodi, nama matakuliah dan data hasil evaluasi yang disimpan dalam array
dataEvaluasi.
pengelompokan.pengelompokanData(getDataPoints(),
getJumlahKlaster(), getSse(), getDataEvaluasi().length);
Data yang disimpan dalam data vector dikirim ke kelas pengelompokan untuk
dikelompokkan bersama dengan jumlah klaster masukan pengguna, nilai SSE dan
jumlah pertanyaan di kuesioner.
4.2.2 Membuat Klaster
setCluster(new Cluster[getJumlahKlaster()]);
for(int i = 0; i < getJumlahKlaster(); i++) {
getCluster()[i] = new Cluster("Cluster" + i);
}
Klaster dibuat sebanyak jumlah klaster yang di kehendaki pengguna. Nama
klaster menjadi parameter saat penciptaan klaster. Jumlah klaster yang
dikehendaki pengguna dapat lebih dari satu sehingga menggunakan tipe data
array[].
93
4.2.3 Mendeklarasikan Centroid Awal
public void declareCentroid() {
int arrayElemen[] = new int[getJumlahKlaster()];
for (int jKlaster = 0; jKlaster < getJumlahKlaster(); jKlaster++) {
double centroid[] = new double[getJumlahAtribut()];
int statusPakai = 0;
int elemen = (int) Math.floor(Math.random() * getDataEvaluasi().size());
arrayElemen[jKlaster] = elemen;
System.out.println("jumlah atribut " + getJumlahAtribut());
for (int i = 0; i < getJumlahAtribut(); i++) {
centroid[i] = ((HasilEvaluasi) getDataEvaluasi().
elementAt(elemen)).getDataEvaluasi(i);
}
if (jKlaster != 0) {
for (int i = 0; i < jKlaster; i++) {
if (elemen == arrayElemen[i]) {
statusPakai++;
}
}
}
if (statusPakai == 0) {
Centroid cRt = new Centroid(centroid);
getCluster()[jKlaster].setCentroid(cRt);
cRt.setCluster(getCluster()[jKlaster]);
} else {
jKlaster--;
}
}
94
}
Jumlah pusat klaster yang dibuat sama dengan banyak klaster. Pusat klaster awal
diambil dari data secara random. Data yang akan dijadikan pusat klaster terlebih
dulu dicek sudah menjadi pusat klaster dikelas lain atau belum. Jika sudah
menjadi pusat klaster di klaster lain, maka sistem akan memilih data lain untuk
menjadi pusat klaster. Sehingga jika sebuah data sudah menjadi pusat klaster
disalah satu klaster maka tidak akan menjadi pusat klaster diklaster lain.
4.2.4 Menghitung Jarak Euclidean Setiap Data dengan Setiap Centroid
public void euclidean() {
setEuclidean(new double[getDataEvaluasi().size()][getJumlahKlaster()]);
double jarak;
for (int i = 0; i < getDataEvaluasi().size(); i++) {
for (int j = 0; j < getJumlahKlaster(); j++) {
jarak = 0;
for (int k = 0; k < getBanyakPertanyaan(); k++) {
jarak = jarak + Math.pow((((HasilEvaluasi) getDataEvaluasi().elementAt(i)).getDataEvaluasi(k)) –
getCluster()[j].getCentroid().getCentroid(k), 2);
}
jarak = Math.sqrt(jarak);
getEuclidean()[i][j] = jarak;
}
}
}
95
Jarak Euclidean setiap data dengan setiap pusat klaster disimpan dalam array
Euclidean[][]. Banyak baris array euclidean merupakan banyak data dan banyak
kolom merupakan banyak klaster(centroid). Sebagai contoh baris pertama kolom
pertama merupakan jarak data pertama dengan centroid pertama. Baris pertama
kolom kedua merupakan jarak data pertama dengan pusat klaster kedua dan
seterusnya.
4.2.5 Mengelompokkan Data
public void pindahData() {
for (int k = 0; k < getJumlahKlaster(); k++) {
getCluster()[k].setDataCluster(new Vector());
}
double temp, bantu;
int kelompok = 0;
for (int i = 0; i < getDataEvaluasi().size(); i++) {
for (int j = 0; j < getJumlahKlaster(); j++) {
temp = getEuclidean()[i][kelompok];
bantu = getEuclidean()[i][j];
if (bantu < temp) {
kelompok = j;
}
}
getCluster()[kelompok].getDataCluster().addElement((HasilEvaluasi) getDataEvaluasi().elementAt(i));
}
}
96
Pengelompokan data didasarkan pada jarak terkecil antara data dengan setiap
pusat klaster. Untuk mengecek jarak setiap data dengan setiap pusat klaster
digunakan perulangan for. Jarak terkecil didapatkan dari pertukaran.
4.2.6 Menghitung Centroid
4.2.6.1 Menghitung Centroid Tanpa SSE
public int hitungCentroid() {
setStatus(-1);
int centroidSama = 0;
int atributCentroidSama = 0;
for (int i = 0; i < getJumlahKlaster(); i++) {
double nilaiCentroid[] = new double[getBanyakPertanyaan()];
atributCentroidSama = 0;
for (int j = 0; j < getBanyakPertanyaan(); j++) {
double nilaiAtributCentroid = 0;
for (int k = 0; k <
getCluster()[i].getDataCluster().size(); k++) {
nilaiAtributCentroid = nilaiAtributCentroid + ((HasilEvaluasi) getCluster()[i].getDataCluster().elementAt(k)).getDataEvaluasi(j);
}
nilaiAtributCentroid = nilaiAtributCentroid /
(getCluster()[i].getDataCluster().size());
nilaiCentroid[j] = nilaiAtributCentroid;
}
for (int c = 0; c < getBanyakPertanyaan(); c++) {
if (nilaiCentroid[c] ==
getCluster()[i].getCentroid().getCentroid(c)) {
atributCentroidSama++;
}
}
97
if (atributCentroidSama == getBanyakPertanyaan()) {
centroidSama++;
}
Centroid c1 = new Centroid(nilaiCentroid);
getCluster()[i].setCentroid(c1);
c1.setCluster(getCluster()[i]);
}
if (centroidSama == getJumlahKlaster()) {
setStatus(1);
}
return getStatus();
}
Untuk menghitung pusat klaster setiap klaster digunakan perulangan for. Setiap
titik nilai yang dimiliki setiap data untuk setiap klaster ditambahkan kemudian
dibagi dengan banyak data diklaster tersebut. Proses perhitungan rata-rata klaster
untuk setiap titik nilai data akan terus dilakukan sampai semua titik yang dimiliki
setiap data disetiap klaster terhitung. Untuk mengetahui masih tidaknya terjadi
perubahan nilai centroid disetiap klaster, dilakukan pengecekan variabel status.
Jika tidak terjadi perubahan centroid disetiap klaster nilai status adalah 1 dan
iterasi pengelompokan selesai. Jika terjadi perubahan pusat klaster disetiap klaster
nilai status adalah -1 dan sistem akan melakukan iterasi pengelompokan lagi.
4.2.6.2 Menghitung Centroid Beserta SSE
public int hitungCentroidSSE(double sse) {
setStatus(-1);
setJumlahSse(0);
for (int i = 0; i < getJumlahKlaster(); i++) {
98
double nilaiCentroid[] = new double[getBanyakPertanyaan()];
for (int j = 0; j < getBanyakPertanyaan(); j++) {
double nilaiAtributCentroid = 0;
for (int k = 0; k < getCluster()[i].getDataCluster().size(); k++) {
nilaiAtributCentroid = nilaiAtributCentroid + ((HasilEvaluasi) getCluster()[i].getDataCluster().elementAt(k)).getDataEvaluasi(j);
}
nilaiAtributCentroid = nilaiAtributCentroid / (getCluster()[i].getDataCluster().size());
nilaiCentroid[j] = nilaiAtributCentroid;
}
Centroid c1 = new Centroid(nilaiCentroid);
getCluster()[i].setCentroid(c1);
c1.setCluster(getCluster()[i]);
}
for (int i = 0; i < getJumlahKlaster(); i++) {
for (int j = 0; j < getCluster()[i].getDataCluster().size(); j++) {
for (int k = 0; k < getBanyakPertanyaan(); k++) {
setJumlahSse( getJumlahSse() + Math.pow(((HasilEvaluasi) (getCluster()[i].getDataCluster().elementAt(j))).getDataEvaluasi(k) - cluster[i].getCentroid().getCentroid(k), 2));
}
}
}
if (getJumlahSse() <= sse || getJumlahSse() == getSseKontrol()) {
setStatus(1);
}
setSseKontrol(getJumlahSse());
return getStatus();
}
99
Untuk menghitung centroid setiap klaster digunakan perulangan for. Setiap titik
nilai yang dimiliki setiap data untuk setiap klaster ditambahkan kemudian dibagi
dengan banyak data diklaster tersebut. Proses perhitungan rata-rata klaster untuk
setiap titik nilai akan terus dilakukan sampai semua titik yang dimiliki setiap data
disetiap klaster terhitung. Nilai SSE merupakan jumlah kuadrat selisih setiap data
terhadap centroid klaster dalam semua klaster. Jika tidak terjadi perubahan nilai
SSE nilai status adalah 1 dan iterasi pengelompokan selesai. Jika terjadi
perubahan nilai SSE maka nilai status adalah -1 dan sistem akan melakukan iterasi
pengelompokan lagi. Variabel sseKontrol adalah variabel untuk mengontrol
iterasi, dimana sseKontrol adalah nilai SSE sebelumnya. Meskipun nilai SSE yang
dihasilkan tidak lebih kecil dari SSE yang dikehendaki pengguna, tetapi iterasi
akan berhenti jika sseKontrol sama dengan SSE yang dihasilkan. Jika sseKontrol
sama dengan SSE yang dihasilkan berarti bahwa nilai SSE yang dihasilkan sudah
minimum dan tidak akan menghasilkan nilai SSE yang lebih kecil.
4.2.7 Pemberian Label Klaster
public void label() {
double rataData = 0;
double jumlahDataKlaster = 0;
double rataKlaster = 0;
for (int i = 0; i < getJumlahKlaster(); i++) {
jumlahDataKlaster = 0;
rataKlaster = 0;
for (int j = 0; j < getCluster()[i].getDataCluster().size(); j++) {
rataData = 0;
for (int k = 0; k < getBanyakPertanyaan(); k++) {
rataData = rataData + (((HasilEvaluasi)
100
(getCluster()[i].getDataCluster().elementAt(j))).getDataEvaluasi(k));
}
rataData = rataData / getBanyakPertanyaan();
jumlahDataKlaster = jumlahDataKlaster + rataData;
}
rataKlaster = jumlahDataKlaster / getCluster()[i].getDataCluster().size();
if (rataKlaster >= 5.6) {
getCluster()[i].setLabel("Sangat Tinggi");
} else if (rataKlaster >= 4.9 && rataKlaster < 5.6) {
getCluster()[i].setLabel("Tinggi");
} else if (rataKlaster >= 3.92 && rataKlaster < 4.9) {
getCluster()[i].setLabel("Cukup");
} else if (rataKlaster >= 3.22 && rataKlaster < 3.92) {
getCluster()[i].setLabel("Rendah");
} else if (rataKlaster < 3.22) {
getCluster()[i].setLabel("Sangat Rendah");
}
}
}
Pemberian label klaster didasarkan pada rata-rata data disetiap klaster. Rata setiap
data merupakan nilai setiap titik yang dimiliki setiap data ditambahkan kemudian
dibagi dengan banyaknya titik yang dimiliki data. Perhitungan rata-rata setiap data
diberlakukan untuk semua data disetiap klaster. Rata-rata klaster merupakan hasil
penjumlahan rata-rata setiap data diberlakukan untuk semua data disetiap klaster
dibagi dengan banyaknya data diklaster tersebut. Rata-rata klaster digunakan
untuk menentukan label klaster.
101
4.2.8 Validasi Hasil Pengelompokan
public void validasi() {
String labelData = "";
int valid = 0;
double rataData = 0;
for (int i = 0; i < getJumlahKlaster(); i++) {
for (int j = 0; j < getCluster()[i].getDataCluster().size(); j++) {
rataData = 0;
for (int k = 0; k < getBanyakPertanyaan(); k++) {
rataData = rataData + (((HasilEvaluasi) (getCluster()[i].getDataCluster().elementAt(j))).getDataEvaluasi(k));
}
rataData = rataData / getBanyakPertanyaan();
System.out.println("Rata Data " + rataData);
if (rataData >= 5.6) {
labelData = "Sangat Tinggi";
} else if (rataData >= 4.9 && rataData < 5.6) {
labelData = "Tinggi";
} else if (rataData >= 3.92 && rataData < 4.9) {
labelData = "Cukup";
} else if (rataData >= 3.22 && rataData < 3.92) {
labelData = "Rendah";
} else if (rataData < 3.22) {
labelData = "Sangat Rendah";
}
if (labelData.compareTo(getCluster()[i].getLabel()) == 0) {
valid++;
}
}
}
102
setValidasi(valid * 100 / getDataEvaluasi().size());
}
Validasi hasil pengelompokan merupakan persentase kebenaran label antara label
setiap data dengan label klaster yang menjadi kelompoknya. Untuk mendapatkan
nilai validasi dicari label setiap data terlebih dahulu. Pemberian label data
didasarkan pada rata-rata setiap data. Jika label data sama dengan label klaster
yang menjadi kelompoknya maka valid. Jika label data tidak sama dengan label
klaster yang menjadi kelompoknya maka tidak valid. Validasi adalah hasil
perhitungan (nilai valid/banyak data)/100.
4.2.9 Pengurutan Data di Setiap Klaster
public void bubleSortCentroidKlaster() {
Cluster temp;
for (int i = 1; i < getCluster().length; i++) {
double rataCentroid1 = 0;
double rataCentroid2 = 0;
for (int j = 0; j < getCluster().length - i; j++) {
for (int k = 0; k < getCluster()[j].getCentroid().getCentroid().length; k++) {
rataCentroid1 = rataCentroid1 + getCluster()[j].getCentroid().getCentroid(k);
}
rataCentroid1 = rataCentroid1 / getCluster()[j].getCentroid().getCentroid().length;
for (int k = 0; k < getCluster()[j + 1].getCentroid().getCentroid().length; k++) {
rataCentroid2 = rataCentroid2 + getCluster()[j + 1].getCentroid().getCentroid(k);
}
rataCentroid2 = rataCentroid2 / getCluster()[j +
103
1].getCentroid().getCentroid().length;
if (rataCentroid1 < rataCentroid2) {
temp = getCluster()[j];
getCluster()[j] = getCluster()[j + 1];
getCluster()[j + 1] = temp;
}
}
}
}
Pengurutan data untuk setiap klaster dapat berdasarkan centroid atau prodi.
Pengurutan data dilakukan menggunakan metode buble sort. Data dalam klaster
dicek beberapa kali. Jika data tidak lebih kecil dari elemen berikutnya, maka
dilakukan pertukaran data. Perukaran antar data terus dilakukan sampai data
terurut atau sampai semua data sudah dilakukan pengecekan.
4.2.10 Menampilkan Grafik
public void tampilGrafik() {
String[] nama = new String[getCluster().length];
double[] nilai = new double[getCluster().length];
for (int i = 0; i < nama.length; i++) {
nilai[i] = getCluster()[i].getDataCluster().size();
double persen = (nilai[i] / pengelompokan.getJmlhData()) * 100;
Double angkaBulat = new Double(persen);
BigDecimal bigDecimal = new BigDecimal(angkaBulat.toString());
BigDecimal hasilBulat = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
nama[i] = getCluster()[i].getLabel() + " \n" + getCluster()[i].getDataCluster().size() + " (" + hasilBulat + "%)";
104
}
pieChart a = new pieChart();
a.tampil(nilai, nama, "Grafik Klastering Keseluruhan");
}
Untuk membuat grafik yang diperlukan adalah nama variabel dan nilai variabel.
Sebagai contoh grafik yang akan dibuat adalah grafik persentase anggota klaster.
Nama variabel adalah nama klaster atau label klaster, dan nilai variabel adalah
banyak anggota setiap klaster. nama variabel, nilai variabel dan judul klaster
dikirim ke kelas pieChart untuk dibuat visualnya.
DefaultPieDataset data=new DefaultPieDataset();
for (int i = 0; i < n.length; i++) {
data.setValue(n[i], v[i]);
}
JFreeChart chart = ChartFactory.createPieChart(t,data,true,true,false);
ChartFrame frame=new ChartFrame("Grafik Klastering Data P3MP",chart);
frame.setSize(650,400);
frame.setVisible(true);
Untuk menampilkan pie chart sebagai output dimulai dengan membentuk obyek
bertipe DefaultPieDataset. Obyek yang bertipe DefaultPieDataset dilakukan
setValue nama variabel dan nilai variabel. Obyek yang telah dilakukan setValue
menjadi parameter pembentukan variabel chart yang bertipe JFreeChart. Variabel
chart menjadi paratameter saat pembentukan obyek frame yang bertipe
ChartFrame, kemudian ukuran frame diatur dan ditampilkan sebagai output.
Program untuk membuat diambil dari website
105
http://bayusenoadji.com/en/programming-java/34-java/49-membuat-pie-chart-
dan-bar-chart-dengan-jfreechart.
4.2.11 Menghitung Rata-Rata Kategori Setiap Data
int nilaiAwal = Integer.parseInt(noAwal.getText());
int nilaiAkhir = Integer.parseInt(noAkhir.getText());
getKategori()[inc][0] = nilaiAwal;
getKategori()[inc][1] = nilaiAkhir;
Untuk menghitung rata-rata data setiap kategori harus diketahui terlebih dulu
data-data pertanyaan yang termuat dalam setiap kategori. Untuk menyimpan
nomor-nomor pertanyaan setiap kategori digunakan array dua dimensi
kategori[][]. Jumlah baris adalah jumlah kategori dan jumlah kolom adalah 2.
Kolom pertama merupakan kolom untuk menyimpan nomor dimulai kategori
tertentu, dan kolom kedua merupakan kolom untuk menyimpan nomor
berakhirnya kategori.
public void tampilRataKategori() {
areaKategori.setText("");
for (int i = 0; i < getJumKategori(); i++) {
double rataKategori = 0;
for (int j = getKategori()[i][0]; j <= getKategori()[i][1]; j++) {
rataKategori = rataKategori + ((HasilEvaluasi) cluster[getNoKlaster()].getDataCluster().elementAt(getNoData())).getDataEvaluasi(j - 1);
}
rataKategori = rataKategori / (getKategori()[i][1] -getKategori()[i][0] + 1);
areaKategori.append("Kategori " + (i + 1) + " = " + rataKategori + "\n");
106
}
DetailHasilEvaluasiSetiapData obyek = new DetailHasilEvaluasiSetiapData(getJumKategori(),getKategori(),getNoData());
this.detailSetiapData = obyek;
tombolKategori.setEnabled(true);
}
Rata-rata setiap kategori didapatkan dengan perhitungan dalam perulangan for.
Semua data hasil evaluasi untuk setiap kategori dijumlahkan dan dibagi dengan
banyak pertanyaan termuat dalam kategori tersebut. Proses perhitungan tersebut
berlaku untuk semua kategori.
4.2.12 Menyimpan Data Hasil Pengelompokan
FileWriter out = new FileWriter("klaster" + (h + 1) + "_" + cluster[h].getLabel() + ".xls");
out.write("Fakultas\t");
out.write("Nama Prodi\t");
out.write("NIP\t");
out.write("Nama Dosen\t");
out.write("Nama MataKuliah\t");
for (int i = 0; i < getBanyakPertanyaan(); i++) {
out.write("Rata " + (i + 1) + " \t");
}
if(((HasilEvaluasi) cluster[0].getDataCluster().elementAt(0)).getAtributLain() != null) {
int indeks = 0;
String[][] banyakAtributLain = ((HasilEvaluasi) cluster[0].getDataCluster().elementAt(0)).getAtributLain();
while (banyakAtributLain[indeks][0] != null) {
out.write(banyakAtributLain[indeks][0]+"\t");
107
indeks++;
}
}
out.write("\n");
for (int i = 0; i < cluster[h].getDataCluster().size(); i++) {
out.write(((HasilEvaluasi) cluster[h].getDataCluster().elementAt(i)).getFakultas() + "\t");
out.write(((HasilEvaluasi) cluster[h].getDataCluster().elementAt(i)).getProdi() + "\t");
out.write(((HasilEvaluasi) cluster[h].getDataCluster().elementAt(i)).getNip() + "\t");
out.write(((HasilEvaluasi) cluster[h].getDataCluster().elementAt(i)).getDosen() + "\t");
out.write(((HasilEvaluasi) cluster[h].getDataCluster().elementAt(i)).getMataKuliah() + "\t");
for (int j = 0; j < getBanyakPertanyaan(); j++) {
out.write(String.valueOf((((HasilEvaluasi) (cluster[h].getDataCluster().elementAt(i))).getDataEvaluasi(j))) + "\t");
}
if (((HasilEvaluasi) cluster[h].getDataCluster().elementAt(i)).getAtributLain() != null) {
int indeks = 0;
String[][] banyakAtributLain = ((HasilEvaluasi) cluster[h].getDataCluster().elementAt(i)).getAtributLain();
while (banyakAtributLain[indeks][0] != null) {out.write(banyakAtributLain[indeks][1]+"\t");
indeks++;
}
}
out.write("\n");
}
out.close();
108
Data yang telah dikelompokkan disimpan dalam bentuk excel. Data yang
simpan meliputi informasi tentang fakultas, prodi, NIP, nama dosen pengampu,
nama matakuliah, label klaster dan data hasil evaluasi untuk semua pertanyaan
yang termuat dalam kuesioner. File excel disimpan dengan nama
hasilPengelompokan.xls.
4.3 Uji Percobaan
Uji percobaan dilakukan dengan 10 kali pengelompokan dengan data yang
sama yaitu data semester gasal 2008/2009 yang berjumlah 62 record dan data
semester genap 2008/2009 yang diperoleh berjumlah 74 record, sehingga jumlah
semua data adalah 136 record. Pengelompokan dilakukan dengan input klaster
sebanyak 3 dan menggunakan SSE. Pada uji percobaan menggunakan input
klaster sebanyak 3 dikarenakan data yang diuji berdasarkan ketentuan P3MP
terbagi menjadi 3 klaster, yaitu klaster sangat tinggi, tinggi dan cukup.
Tabel 4.1 Hasil Percobaan
Perc
obaa
n ke
-
SSE
Val
idas
i
Itera
si
Labe
l
Rin
ci A
nggo
ta
Cen
troid
kla
ster
Nila
i cen
troid
m
aksi
mal
Nila
i cen
troid
m
inim
al
1
378,
8591
84 5
Sangat Tinggi 31 6.00 6.53 5.71
Tinggi 66 5.42 5.73 5.04
Cukup 39 4.71 5.05 3.93
2
378,
8591
84 8 Sangat Tinggi 31 6.00 6.53 5.71
Tinggi 66 5.42 5.73 5.04
109
Cukup 39 4.70 5.05 3.93
3
379,
0176
86 5
Sangat
Tinggi 32 5.99 6.53 5.71
Tinggi 66 5.40 5.72 5.04
Cukup 38 4.70 5.02 3.93
4
378.
4309
88 7
Sangat
Tinggi 34 5.98 6.53 5.71
Tinggi 65 5.39 5.68 5.02
Cukup 37 4.69 5.01 3.93
5
378.
4309
88 22
Sangat
Tinggi 34 5.98 6.53 5.71
Tinggi 65 5.39 5.68 5.02
Cukup 37 4.69 5.01 3.93
6
378.
4309
88 22
Sangat
Tinggi 34 5.98 6.53 5.71
Tinggi 65 5.39 5.68 5.02
Cukup 37 4.69 5.01 3.93
7
378,
8591
84 9
Sangat
Tinggi 31 6.00 6.53 5.71
Tinggi 66 5.42 5.73 5.04
Cukup 39 4.71 5.05 3.93
8
.85 91 84 5 Sangat 31 6.00 6.53 5.71
110
Tinggi
Tinggi 66 5.42 5.73 5.04
Cukup 39 4.71 5.05 3.93
9
378.
8591
84 10
Sangat
Tinggi 31 6.00 6.53 5.71
Tinggi 66 5.42 5.73 5.04
Cukup 39 4.71 5.05 3.93
10
378.
4309
88 9
Sangat
Tinggi 34 5.98 6.53 5.71
Tinggi 65 5.39 5.68 5.02
Cukup 37 4.69 5.01 3.93
Dari tabel hasil percobaan terlihat ada beberapa percobaan yang
menghasilkan hasil yang sama. Dari 10 kali percobaan menghasilkan 3
kemungkinan hasil pengelompokan. Hasil percobaan 1 sama dengan percobaan 2,
percobaan 7, percobaan 8 dan percobaan 9. Hasil Percobaan 4 sama dengan
percobaan, 5, percobaan 6 dan percobaan 10. Percobaan 3 tidak sama dengan 10
percobaan diatas. Dari 10 percobaan terdapat 5 data dari 136 record yang tidak
konsisten karena berpindah-pindah klaster.
Berdasarkan 10 percobaan yang telah dilakukan, validasi yang dihasilkan
berkisar antara 84% sampai 88%. Dari 10 percobaan yang telah dilakukan diambil
1 hasil yang diamati yaitu percobaan dengan kemungkinan terbesar adalah
percobaan nomor 1. Ada beberapa data yang memiliki label predikat tidak sama
111
dengan label klasternya, misalnya data yang memiliki label predikat sangat tinggi
berada di klaster berlabel tinggi dan data yang memiliki label predikat tinggi
berada di klaster berlabel cukup. Sebagian besar ketidaksesuaian predikat evaluasi
setiap data dengan label klasternya dapat disebabkan karena beberapa faktor,
antara lain :
1. Jumlah predikat data yang memiliki kesamaan dengan predikat centroid
yang menjadi klasternya lebih banyak jika dibandingkan dengan jumlah
predikat data yang memiliki kesamaan dengan centroid klaster yang lain.
Sebagai contoh data dengan NIP 87 memiliki label data tinggi berada di
klaster cukup dikarenakan data NIP 87 memiliki jumlah kesamaan
predikat dengan centroid klaster cukup lebih banyak jika dibandingkan
dengan jumlah kesamaan predikat data terhadap centroid klaster tinggi.
Data dengan NIP 87 terhadap centroid klaster tinggi memiliki kesamaan 7
predikat, sedangkan terhadap centroid klaster cukup memiliki jumlah
kesamaan predikat sebanyak 12 predikat.
Tabel 4.2 Analisis Predikat Data NIP 87
No Centroid
Cukup Tanda NIP 87 Tanda
Centroid
Tinggi
1 Tinggi x Sangat Tinggi √ Sangat Tinggi
2 Cukup x Tinggi x Sangat Tinggi
3 Tinggi √ Tinggi x Sangat Tinggi
4 Tinggi √ Tinggi x Sangat Tinggi
5 Cukup x Tinggi √ Tinggi
6 Cukup x Tinggi √ Tinggi
7 Tinggi x Cukup x Sangat Tinggi
8 Cukup √ Cukup x Tinggi
112
9 Tinggi √ Tinggi √ Tinggi
10 Tinggi √ Tinggi x Sangat Tinggi
11 Cukup √ Cukup x Tinggi
12 Cukup √ Cukup x Tinggi
13 Cukup x Tinggi √ Tinggi
14 Cukup √ Cukup x Tinggi
15 Cukup √ Cukup √ Cukup
16 Cukup √ Cukup √ Cukup
17 Tinggi √ Tinggi x Sangat Tinggi
18 Cukup √ Cukup x Tinggi
2. Ada beberapa data yang tidak sesuai dengan hasil analisa pada nomor 1.
Terdapat data yang bernaung pada klaster yang memiliki jumlah kesamaan
predikat yang lebih kecil dikarenakan data memiliki beberapa nilai hasil
evaluasi yang memiliki jarak yang jauh terhadap centroid klaster yang
memiliki jumlah kesamaan predikat yang lebih banyak.
Misalnya data dengan NIP 64 memiliki predikat sangat tinggi berada
diklaster tinggi. Data dengan NIP 64 memiliki jumlah kesamaan predikat
yang lebih banyak dengan centroid klaster sangat tinggi, jika dibandingkan
dengan jumlah kesamaan predikat data terhadap centroid klaster tinggi.
Data dengan NIP 64 memiliki kesamaan predikat sebanyak 8 predikat
terhadap centroid klaster tinggi. Sedangkan dengan centroid klaster sangat
tinggi, data dengan NIP 64 memiliki kesamaan predikat sebanyak 10
predikat.
113
Tabel 4.3 Analisis Predikat Data NIP 64
No Centroid Tinggi Tanda Data NIP 64 Tanda Centroid Sangat
Tinggi
1 Sangat Tinggi √ Sangat Tinggi √ Sangat Tinggi
2 Sangat Tinggi √ Sangat Tinggi √ Sangat Tinggi
3 Sangat Tinggi √ Sangat Tinggi √ Sangat Tinggi
4 Sangat Tinggi √ Sangat Tinggi √ Sangat Tinggi
5 Tinggi x Sangat Tinggi √ Sangat Tinggi
6 Tinggi x Sangat Tinggi √ Sangat Tinggi
7 Sangat Tinggi √ Sangat Tinggi √ Sangat Tinggi
8 Tinggi x Cukup x Sangat Tinggi
9 Tinggi x Sangat Tinggi √ Sangat Tinggi
10 Sangat Tinggi √ Sangat Tinggi √ Sangat Tinggi
11 Tinggi x Cukup x Sangat Tinggi
12 Tinggi x Cukup x Sangat Tinggi
13 Tinggi x Sangat Tinggi √ Sangat Tinggi
14 Tinggi √ Tinggi √ Tinggi
15 Cukup √ Cukup x Tinggi
16 Cukup x Tinggi √ Tinggi
17 Sangat Tinggi √ Sangat Tinggi √ Sangat Tinggi
18 Tinggi √ Tinggi x Sangat Tinggi
Meskipun data dengan NIP 64 memiliki jumlah kesamaan predikat terhadap
centroid klaster tinggi yang lebih kecil jika dibandingkan dengan jumlah
kesamaan predikat data terhadap centroid klaster sangat tinggi, tetapi data dengan
NIP 64 termasuk kedalam klaster tinggi. Data dengan NIP 64 memiliki beberapa
nilai hasil evaluasi yang memiliki jarak yang jauh terhadap centroid klaster
sangat tinggi yaitu pada nomor 8, 11 dan 12. Sehingga data dengan NIP 64
114
termasuk dalam klaster tinggi dikarenakan jarak data dengan NIP 64 lebih dekat
ke centroid klaster tinggi dibandingkan dengan centroid klaster sangat tinggi.
Tabel 4.4 Analisis Hasil Evaluasi Data NIP 64
No Centroid Tinggi Jarak Data NIP
64 Jarak
Centroid
Sangat
Tinggi
1 6.053534997 0.37593 6.67 0.002237 6.619373705
2 5.702079293 0.194285 6.14 0.058195 6.384092878
3 5.849146603 0.335733 6.43 0.001393 6.465889603
4 5.914548968 0.431491 6.57 0.042056 6.366352376
5 5.593080851 0.698045 6.43 0.069634 6.16468804
6 5.473736175 0.447723 6.14 0.021567 6.289714422
7 5.734899002 0.070279 6.00 0.011543 6.107439374
8 5.131849343 0.174359 4.71 1.459052 5.922198045
9 5.582866272 0.017271 5.71 0.187139 6.146880909
10 5.691290243 0.203913 6.14 0.025927 6.303875127
11 5.193502587 0.113138 4.86 1.397117 6.039139964
12 5.031068416 0.211269 4.57 1.29257 5.708341049
13 5.25985411 0.206508 5.71 0.0001 5.72142004
14 5.098342045 0.109051 5.43 0.021367 5.574746716
15 4.558511974 0.172769 4.14 0.770409 5.02058659
16 4.674544502 0.373529 5.29 0.020677 5.141918213
17 5.749186557 0.001218 5.71 0.123487 6.065692602
18 5.208142276 0.043323 5.00 0.974426 5.98713017
Jarak 4.179833 6.478847
115
Bab V
KESIMPULAN DAN SARAN
Kesimpulan
Kesimpulan yang diperoleh dari pembahasan yang dilakukan pada bab sebelumnya
adalah sebagai berikut :
1. Algoritma klastering K-Means dapat digunakan untuk mengelompokkan data-data hasil
evaluasi pembelajaran yang dilakukan oleh P3MP Universitas Sanata Dharma.
2. Hasil pengelompokan yang dilakukan P3MP berbeda dengan hasil pengelompokan
menggunakan algoritma klastering K-Means. Pengelompokan yang dilakukan P3MP
berdasarkan label predikat data, sehingga semua anggota dalam suatu klaster memiliki
label predikat yang sama. Sedangkan pengelompokan menggunakan algoritma klastering
K-Means berdasarkan jarak data dengan centroid klaster sehingga dalam suatu klaster
memungkinkan adanya anggota yang memiliki label predikat yang berbeda.
3. Dalam hasil pengelompokan menggunakan algoritma klastering K-Means, terdapat
beberapa data yang memiliki label predikat yang tidak sama dengan label klasternya. Hal
ini disebabkan karena jumlah predikat data yang memiliki kesamaan dengan predikat
centroid yang menjadi klasternya lebih banyak jika dibandingkan dengan kesamaan
predikat data terhadap centroid klaster yang lain. Jika data bernaung pada klaster yang
memiliki jumlah kesamaan predikat yang lebih kecil dikarenakan data memiliki beberapa
nilai hasil evaluasi yang memiliki jarak yang jauh terhadap centroid klaster yang
memiliki jumlah kesamaan predikat yang lebih banyak.
116
Saran
1. Sistem yang dibuat dalam Tugas Akhir ini dapat dikembangkan dengan menambah fungsi
yang dapat memproses input dari berbagai tipe file data seperti database My SQL atau txt.
2. Sistem pengelompokan data hasil evaluasi dapat dikembangkan supaya sistem dapat
menerima input dengan berbagai macam susunan atau urutan kolom data.
3. Hasil pengelompokan dapat digunakan untuk mencari hubungan asosiasi antar setiap
atribut.
DAFTAR PUSTAKA
Faisol, Umar , Membaca File Excel,
http://www.umarfaisol.co.cc/2010/01/membaca-file-excel.html di akses
tanggal : 15 Februari 2010
Faisol. Umar , Pembulatan Bilangan Pecahan Round,
http://www.umarfaisol.co.cc/2009/10/pembulatan-bilangan-pecahan-
round.html di akses tanggal : 13 Februari 2010
J.Han and M. Kamber, (2006), Data Mining Concept and Techniquies, Second
Edition, Morgan Kaufman Publishers, San Francisco, USA.
Kardi, Tutorial K-Means,
http://people.revoledu.com/kardi/tutorial/kMean/NumericalExample.htm
diakses tanggal : 5 Oktober 2009P.Tan and M.Steinbach and V.Kumar,
Introduction To Data Mining, Halminton Printing, USA, 66.
Santosa, Budi. (2007), Data Mining Teknik Pemanfaatan Data Untuk Keperluan
Bisnis, Graha Ilmu, 1, 42.
Senoadji, Bayu, Membuat Pie Chart dan Bar Chart dengan jFreeChart.
http://bayusenoadji.com/en/programming-java/34-java/49-membuat-pie-
chart-dan-bar-chart-dengan-jfreechart di akses tanggal : 15 Februari 2010
Lampiran A
Petunjuk Penggunaan Sistem
La1 |
PETUNJUK PENGGUNAAN SISTEM
1. Simpan data hasil evaluasi dalam bentuk file excel(xls) dengan format
kolom
• Program studi
• Kode dosen
• Nama dosen
• Nama matakuliah
• Fakultas
• 18 nilai hasil evaluasi pembelajaran
• Data lain jika ada
2. Halaman depan sistem
Untuk memulai pengelompokan data klik pada menu Pengelompokan.
Untuk Melihat petunjuk penggunaan sistem, klik menu Petunjuk
Penggunaan Sistem.
La2 |
3. Memilih file data
Berikut adalah halaman pemilihan file data yang akan dikelompokkan.
Klik tombol Browse File untuk memilih file data.
Pilih file yang akan dikelompokkan kemudian klik tombol BROWSE
FILE.
La3 |
Setelah memilih file yang akan dikelompokkan, maka sistem akan
menampilkan halaman pemilihan atribut data hasil evaluasi yang akan
dikelompokkan. Tombol pilih semua untuk mencentang semua
pertanyaan. Jika atribut yang akan dkelompokkan sudah dipilih atau
dicentang, kemudian klik tombol OK.
Jika telah memilih file data yang akan dikelompokkan, maka akan muncul
halaman seperti dibawah ini :
La4 |
Sebelum memulai pengelompokkan isikan jumlah klaster yang
dikehendaki kemudian klik tombol proses.
4. Hasil Pengelompokan
Berikut adalah halaman hasil pengelompokan data. Halaman hasil
pengelompokan menyimpan informasi jumlah anggota setiap klaster, rata-
rata centroid setiap klaster, label klaster, banyak iterasi pengelompokan
dan persentase kecocokan hasil klastering sistem dengan hasil klastering
P3MP.
Untuk melihat anggota setiap klaster dapat dilakukan dengan mengklik
baris klaster yang ingin dilihat. Untuk melihat diagram pie persentase
klaster dapat dilakukan dengan melakukan klik pada tombol Lihat Grafik.
La5 |
5. Halaman Detail Anggota Setiap Klaster
Halaman Detail Anggota Setiap Klaster memuat informasi atribut-atribut
yang dimiliki setiap data, kecuali atribut hasil evaluasi.
Untuk melihat hasil evaluasi setiap data dalat dilakukan dengan
melakukan klik pada data yang akan dilihat. Tombol kembali untuk
La6 |
kembali ke halaman hasil pengelompokan. Tombol previous untuk melihat
klaster sebelumnya dan tombol next untuk melihat klaster berikutnya.
Tombol grafik untuk melihat diagram pie persentase prodi disetiap klaster,
seperti dibawah ini :
6. Halaman Detail Hasil Evaluasi Setiap Data
Halaman Detail Hasil Evaluasi Setiap Data untuk menampilkan nilai
jawaban rata-rata responden untuk setiap pertanyaan yang termuat dalam
kuesioner. Di antar muka detail setiap data terdapat fasilitas melihat rata-
rata setiap kategori.
Untuk melihat rata-rata setiap katergori dapat dilakukan dengan cara
mengklik tombol kategori. Jika tombol kategori diklik maka user diminta
untuk memasukan jumlah kategori yang dikehendaki.
Kemudian memasukkan nomor awal pertanyaan dan nomor berakhirnya
pertanyaan untuk setiap kategori.
Memasukkan nomor awal pertanyaan dan nomor berakhirnya pertanyaan
untuk kategori pertama.
La7 |
Memasukkan nomor awal pertanyaan dan nomor berakhirnya pertanyaan
untuk kategori kedua.
La8 |
Memasukkan nomor awal pertanyaan dan nomor berakhirnya pertanyaan
untuk kategori ketiga.
La9 |
Jika nomor pertanyaan untuk setiap kategori sudah diinputkan, maka rata-
rata setiap kategori akan ditampilkan dalam teks area.
Di antar muka detail setiap data juga terdapat fasilitas untuk melihat
pertanyaan kuesioner dengan cara melakukan klik pada tombol
pertanyaan.
Lampiran B
Kuesioner Hasil Evaluasi Pembelajaran
P3MP
N a m a
No
1 P
2 Kbe
3 Tate
4 Ksi
5 Pun
6 Km
7 Kpe
8 Km
9 Dfrepe
10 P
11
Sun(mbu
12 T
13 P
14 K
15 Ksu
16 Sbeku
17 K(m
18 Km
PETUNJpembeladisediakDosen dmahasis
PK
D o s e n : _ _
enguasaan d
esempatan mertanya dan b
anggapan doentang materiesesuaian anlabus enggunaan mntuk mencapa
epedulian domahasiswa pa
edisiplinan doengembalian emampuan d
mahasiswa osen telah mekuensi yangemahaman m
enilaian dose
aya dapat mentuk mengemmisal: kejujurauruk, dll.)
ingkat pemah
artisipasi say
onsentrasi sa
emauan sayaumber belajar
aya telah meelajar mandiruliah ini
edisiplinan samisal: kehad
epuasan sayamengajar mata
JUK PENGISIAajaran di Univekan dengan cdalam pembelawa atas keselu
PUSAT PEK u e s i o n e
_ __ _ __ __ _
Pernyaosen atas ma
mahasiswa beberdiskusi
osen atas pert perkuliahan
ntara materi y
metode dan mai tujuan pem
sen atas tingda materi per
osen secara uberkas ujian,
dosen memba
emberikan Pg cukup untukmateri perkulia
en atas hasil b
enarik manfaambangkan nilaan, bela rasa,
haman saya a
ya dalam perk
aya dalam me
a dalam memr lain yang re
ngalokasikani dalam rangk
aya dalam meiran, pengum
a dalam mena kuliah ini
AN : Mohon keersitas Sanata ara menghita
ajaran. Pernyauruhan proses
ENGEMBAe r E v a l u a
__ __ _ _ __ _
ataan ateri perkuliah
erpartisipasi a
tanyaan maha
yang disampa
media dalam pmbelajaran
kat pemahamrkuliahan
umum (misal, dll) angkitkan min
R/tugas/kuis k meningkatkahan
belajar mahas
at dari mata kai-nilai keman, membedaka
atas materi pe
kuliahan
engikuti perku
baca buku relevan
n waktu yang ka memaham
engikuti perkumpulan tugas
gikuti proses
esediaan anda Dharma. Pilihmkan lingkaraataan no. 11-1belajar mengaj
ANGAN DAs i P r o s e
_ __ __ __ _ _
han
aktif melalui
asiswa
aikan dengan
perkuliahan
man
l: kehadiran,
nat belajar
dengan kan
siswa
kuliah ini nusiaan an baik dan
erkuliahan
uliahan
eferensi atau
cukup untuk mi materi mata
uliahan s)
belajar
untuk mengisihlah bilanganan di bawahn7 menyangkutjar.
AN PENJAs P e m b e
_ N a m a
T
mengu
Se
Kuperha
n Tidak se
Tidak se
Tidak p
Tidak dis
Tidak ma
Tidak se
Tidak oby
Tidak se
Tmema
Tidak
Ren
Ren
a Tidak se
Tidak dis
Sangat tp
kuesioner ini dn yang sesuanya. Pernyatat partisipasi ma
AMINAN Me l a j a r a n
M a t a ku l i a
1 2Tidak uasai ○ ○edikit ○ ○urang atian ○ ○esuai ○ ○esuai ○ ○eduli ○ ○siplin ○ ○ampu ○ ○etuju ○ ○yektif ○ ○etuju ○ ○
Tidak hami ○ ○aktif ○ ○
ndah ○ ○ndah ○ ○etuju ○ ○siplin ○ ○tidak puas ○ ○
dengan baik gui dengan penan no. 1-10 diahasiswa, dan
MUTU PE
a h : __ _ _ _ _
3 4
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
○ ○ ○
una pengembanilaian anda teipakai untuk mpertanyaan no
EMBELAJA
_ __ _ _ __ __
5 6 7
○ ○ ○○ ○ ○○ ○ ○○ ○ ○○ ○ ○○ ○ ○○ ○ ○○ ○ ○○ ○ ○○ ○ ○
○ ○ ○
○ ○ ○○ ○ ○○ ○ ○○ ○ ○
○ ○ ○
○ ○ ○○ ○ ○
angan dan perberhadap perny
menentukan Indo.18 menyangk
ARAN
_ __ __ __ __ _
○ Menguasa
○ Banyak
○ Penuh perhatian
○ Sesuai
○ Sesuai
○ Peduli
○ Disiplin
○ Mampu
○ Setuju
○ Obyektif
○ Setuju
○ Memaham
○ Aktif
○ Tinggi
○ Tinggi
○ Setuju
○ Disiplin
○ Sangat puas
baikan proses yataan yang deks Kinerja kut kepuasan
_
ai
mi