SKRIPSI
IMPLEMENTASI ALGORITMA K-MEANS DALAM DATA
MINING UNTUK PEMINATAN JURUSAN BAGI SISWA KELAS
X SMA NEGERI 29 JAKARTA
Sebagai Salah Satu Syarat Untuk Membuat Tugas Akhir
Oleh :
LUIGI AJENG PRATIWI NIM. 109091000053
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
ii
Implementasi Algoritma K-Means dalam Data Mining untuk Peminatan Jurusan Bagi Siswa Kelas X SMA Negeri 29 Jakarta
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh :
Luigi Ajeng Pratiwi 109091000053
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2013 M / 1434 H
v PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN
Jakarta, November 2013
Luigi Ajeng Pratiwi 109091000053
vi ABSTRAKSI
Luigi Ajeng Pratiwi, Implementasi Algoritma K-Means dalam Data Mining untuk Peminatan Jurusan Bagi Siswa Kelas X SMA Negeri 29 Jakarta, dibimbing oleh Nurhayati, Ph.D dan Khodijah Hulliyah, M.Si
Saat ini SMA Negeri 29 Jakarta memiliki kesulitan dalam mengolah hasil prestasi akademik siswa untuk proses peminatan bagi siswa kelas X SMA. Proses peminatan siswa yang berjalan saat ini masih menggunakan sistem manual dengan menghitung nilai mata pelajaran dari masing-masing siswa kemudian mengelompokkan hasil penghitungan dari nilai masing-masing siswa ke dalam kelompok minat IPA atau IPS sesuai dengan syarat yang diterapkan oleh SMA Negeri 29 Jakarta. Untuk itu diperlukan solusi yang dapat mengatasi kesulitan tersebut. Penulis mengembangkan aplikasi dengan metode Rapid Application Development (RAD) yang terdiri dari fase perencaan syarat-syarat, fase perancangan, fase konstruksi dan fase pelaksanaan. Pada tahap kostruksi diimplementasikan algoritma K-Means dalam teknologi data mining untuk mengklaster hasil prestasi akademik siswa ke dalam kelompok minat IPA dan IPS. Hasil pembuatan aplikasi ini diperuntukkan bagi pihak sekolah khususnya wali kelas, sehingga bisa menjadi solusi alternatif atau saran dalam memberikan keputusan bagi peminatan siswa SMA Negeri 29 Jakarta.
Kata Kunci : Peminatan Siswa, Data Mining, Klaster, Algoritma K-Means, RAD.
Jumlah Pustaka : 36 (Tahun 2004 – Tahun 2013)
vii
KATA PENGANTAR
Assalamualaikum Wr. Wb
Puji dan syukur penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat serta karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Shalawat serta salam tak lupa penulis sanjungkan kepada Nabi Muhammad SAW.
Skripsi ini berjudul “Implementasi Algoritma K-Means dalam Data Mining untuk Peminatan Jurusan Bagi Siswa Kelas X SMA Negeri 29 Jakarta”. Penyusunan skripsi ini bertujuan untuk memenuhi salah satu syarat dalam menyelesaikan pendidikan S1 Program Studi Teknik Informatika di Universitas Islam Negeri Syarif Hidayatullah Jakarta.
Pada kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak yang telah membantu dalam menyelesaikan skripsi ini, yaitu :
1. Bapak Dr. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
2. Ibu Nurhayati Ph.D, selaku Ketua Program Studi Teknik Informatika
3. Bapak Hendra Bayu Suseno, M.Kom selaku Sekretaris Program Studi Teknik Informatika
4. Ibu Nurhayati Ph.D sebagai dosen pembimbing I dan Ibu Khodijah Hulliyah, M.Si sebagai dosen pembimbing II yang senantiasa meluangkan waktunya untuk membimbing dan memberikan arahan dalam proses pembuatan skripsi ini.
5. Ibu Siti Ummi Masruroh, M.Sc sebagai pembimbing akademik yang telah membimbing penulis selama menjadi mahasiswa Teknik Informatika.
viii
6. Kedua orang tua penulis, Ibunda Titu Irawati dan Ayahanda Suhartono, yang selalu memberikan do‟a terbaik, kasih sayang, materi, dukungan terhebat serta semangat untuk menjadikan penulis sebagai manusia yang lebih baik. Umi Ida Suhaida (Nenek), adik-adik serta keluarga besar penulis yang tidak bisa penulis sebutkan satu persatu.
7. Seluruh guru dan staff SMAN 29 Jakarta atas bantuannya kepada penulis 8. Dosen-dosen Fakultas Sains dan Teknologi yang telah mengajarkan kepada
penulis berbagai ilmu yang dapat penulis terapkan dalam penelitian skripsi ini dan dalam kehidupan penulis.
9. Teman-teman Teknik Informatika 2009, khususnya TI-B 2009 dan kelas SE.C 2009 yang selama ini bersama untuk selalu berbagi pengalaman, pengetahuan dan saling memberikan dukungan.
10. Para sahabat yang tidak dapat disebutkan namanya satu persatu. Terima kasih atas bantuan, dukungan, do‟a dan motivasinya selama ini.
11. Seluruh pihak yang telah membantu dan namanya tidak dapat disebutkan satu persatu. Terima kasih atas dukungan dan motivasinya. Semoga Allah SWT membalas segala kebaikan yang telah diberikan kepada penulis.
Penulis juga mengucapkan permohonan maaf kepada semua pihak yang terkait, apabila selama ini ada hal-hal yang kurang berkenan. Penulis berharap skripsi ini dapat bermanfaat bagi Universitas dan masyarakat luas. Penulis mengharapkan saran dan kritik yang dapat menjadikan skripsi ini lebih baik lagi
Wassalaamualaikum, Wr. Wb
Jakarta, 15 November 2013
Luigi Ajeng Pratiwi 109091000053
ix DAFTAR ISI
Halaman
HALAMAN JUDUL ... ii
HALAMAN PENGESAHAN ... iii
PENGESAHAN UJIAN ... iv
PERNYATAAN ... v
ABSTRAKSI ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... ix
DAFTAR TABEL ... xvi
DAFTAR GAMBAR ... xviii
DAFTAR LAMPIRAN ... xxii
BAB I. PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 4
1.3. Batasan Masalah ... 4
1.4. Tujuan dan Manfaat ... 6
1.5. Metodologi penelitian ... 7
1. Metode Pengumpulan Data ... 7
2. Metode Pengembangan Sistem... 8
x
BAB II. LANDASAN TEORI ... 11
2.1. Data ... 11
2.1.1. Pengertian Data ... 11
2.1.2. Pengertian Himpunan Data ... 11
2.2. Data Mining ... 12
2.2.1. Pengertian Data Mining ... 12
2.2.2. Knowledge Discovery in Database dan Data Mining ... 13
2.2.3. Tujuan Data Mining ... 17
2.2.4. Pengelompokkan Data Mining ... 17
2.3. Clustering ... 18
2.3.1. Pengertian Clustering ... 18
2.3.2. Konsep Clustering dalam Data Mining ... 19
2.3.3. Algoritma Clustering ... 20
2.3.4. Pengukuran Kinerja Clustering ... 22
2.4. Algoritma K-Means ... 24 2.4.1. Pengertian K-Means ... 24 2.4.2. Pseudocode ... 27 2.4.3. Karakteristik K-Means ... 28 2.5 Peminatan ... 29 2.5.1. Pengertian Peminatan ... 29 2.5.2. Tujuan Peminatan ... 29 2.5.3. Kriteria Peminatan ... 29
xi
1. Waktu Peminatan... 29
2. Kriteria Peminatan Program Studi... 29
3. Mekanisme Peminatan Bagi Peserta Didik Kelas X ... 31
2.6. Konsep Dasar dan Analisis Desain Sistem ... 32
2.6.1. Pengertian Analisis dan Desain Sistem ... 32
2.6.2. Pendekatan-Pendekatan Analisis Sistem ... 32
2.7. Analisis dan Desain Berorientasi Objek (Object Oriented Analysis and Design) Menggunakan UML (Unified Modeling Language) ... 34
2.7.1. Konsep Sistem untuk Pemodelan Objek ... 35
2.7.2. Hubungan Objek/Kelas ... 36
2.7.3. Tools Pengembangan Sistem ... 37
2.8. Metode Pengembangan Sistem ... 42
2.8.1. Fase Perencanaan Syarat-Syarat ... 43
2.8.2. Desain Workshop (Fase Perancangan) ... 43
2.8.3. Fase Konstruksi ... 44 2.8.4. Fase Pelaksanaan ... 44 2.9. Bahasa Pemrograman ... 44 2.9.1. Java ... 44 2.9.2. Karakteristik Java ... 45 2.9.3. Fitur-Fitur Java ... 46 2.10. MYSQL ... 48
xii
BAB III. METODOLOGI PENELITIAN ... 49
3.1. Metode Pengumpulan Data ... 49
3.1.1. Studi Pustaka ... 49
3.1.2. Interview ... 50
3.1.3. Observasi ... 50
3.1.4. Studi Literatur Sejenis ... 50
3.2. Metode Pengembangan Sistem ... 53
3.2.1. Fase Menentukan Syarat-Syarat ... 53
3.2.2. Fase Desain Workshop (Fase Perancangan) ... 54
3.2.3. Fase Konstruksi ... 55
3.2.4. Fase Pelaksanaan ... 56
3.3. Alasan Menggunakan RAD ... 56
xiii
BAB IV. HASIL DAN PEMBAHASAN ... 59
4.1. Profil Umum SMA Negeri 29 Jakarta... 59
4.1.1. Sejarah Singkat SMA Negeri 29 Jakarta ... 59
4.1.2. Struktur Organisasi SMA Negeri 29 Jakarta ... 60
4.1.3. Visi dan Misi SMA Negeri 29 Jakarta ... 61
4.2. Metode Pengumpulan Data ... 62
4.2.1. Studi Pustaka ... 62
4.2.2. Wawancara/Interview ... 62
4.2.3. Observasi ... 63
4.2.4. Studi Literatur Sejenis ... 63
4.3. Metode Pengembangan Sistem ... 65
4.3.1. Fase Menentukan Syarat-Syarat ... 65
4.3.1.1 Analisis Kebutuhan Masalah ... 65
4.3.1.2 Mendefinisikan Masalah ... 66
4.3.1.3 Tujuan Informasi ... 66
4.3.1.4 Syarat-Syarat Informasi ... 68
4.3.1.5 Knowledge Discovery in Database ... 69
4.3.1.6 Penerapan algoritma K-Means dalam Data Mining ... 71
4.3.2. Desain Workshop (Fase Perancangan) ... 81
4.3.2.1 Perancangan Use Case Diagram ... 81
xiv
b. Identifikasi Use Case ... 82
c. Use Case Diagram ... 85
d. Narasi Use Case Diagram ... 86
4.3.2.2 Activity Diagram ... 100 4.3.2.3 Sequence Diagram ... 117 4.3.2.4 Class Diagram ... 135 4.3.2.5 Desain Database ... 137 1. Daftar Tabel ... 137 2. Deskripsi Tabel ... 138
4.3.2.6 Perancangan Desain Antar Muka (Interface) ... 141
4.3.3. Fase Konstruksi ... 149
4.3.3.1. Konstruksi Algoritma K-Means ... 149
4.3.3.2. Pengkodean... 150
4.3.4. Fase Pelaksanaan ... 158
4.3.4.1. Implementasi User Interface Aplikasi... 158
4.3.4.2. Pengujian Aplikasi (Black-box Testing) ... 160
xv BAB V. PENUTUP ... 172 4.1. Kesimpulan ... 172 4.2. Saran ... 173 DAFTAR PUSTAKA ... 174 LAMPIRAN
xvi
DAFTAR TABEL
Halaman
Tabel 2.1. Matriks konfusi untuk klustering ... 23
Tabel 3.1. Perbandingan Literatur Sejenis ... 50
Tabel 4.1. Daftar Nilai ... 76
Tabel 4.2. Identifikasi Aktor ... 81
Tabel 4.3. Identifikasi Use Case ... 82
Tabel 4.4. Deskripsi Tabel Login. ... 86
Tabel 4.5. Deskripsi Tabel Input User (Halaman Admin) ... 87
Tabel 4.6. Deskripsi Tabel Lihat User (Halaman Admin) ... 88
Tabel 4.7. Deskripsi Tabel Lihat Siswa (Halaman Admin) ... 89
Tabel 4.8. Deskripsi Tabel Nilai Siswa (Halaman Admin) ... 90
Tabel 4.9. Deskripsi Tabel Input Kelas (Halaman Admin) ... 91
Tabel 4.10. Deskripsi Tabel Lihat Kelas (Halaman Admin) ... 92
Tabel 4.11. Deskripsi Tabel Peminatan Siswa (Halaman Admin) ... 93
Tabel 4.12. Deskripsi Tabel Input Data Siswa (Halaman User) ... 94
Tabel 4.13. Deskripsi Tabel Lihat Data Siswa (Halaman User) ... 95
Tabel 4.14. Deskripsi Tabel Input Nilai Siswa (Halaman User) ... 96
Tabel 4.15. Deskripsi Tabel Lihat Nilai Siswa (Halaman User) ... 97
xvii
Tabel 4.17. Deskripsi Tabel Logout ... 99
Tabel 4.18. Daftar Tabel Database ... 137
Tabel 4.19. Hasil Pengujian Black-Box ... 160
Tabel 4.20. Data Validasi ... 167
xviii
DAFTAR GAMBAR
Halaman
Gambar 2.1. Tahap Knowledge Discovery in Database ... 14
Gambar 2.2. Bentuk Sebelum di Klaster ... 18
Gambar 2.3. Bentuk Setelah di Klaster ... 19
Gambar 2.4. Pembagian Algoritma Clustering ... 20
Gambar 2.5. Dendogram ... 21
Gambar 2.6. Model Use Case ... 39
Gambar 2.7. Model Class Diagram ... 40
Gambar 2.8. Model Activity Diagram ... 41
Gambar 2.9. Model Sequence Diagram ... 41
Gambar 2.10. Alur Rapid Application Development (RAD) ... 43
Gambar 3.2. Alur Kerangka Penelitian ... 58
Gambar 4.1. Struktur Organisasi SMA Negeri 29 Jakarta ... 60
Gambar 4.2. Flowchart Algoritma K-Means ... 75
Gambar 4.3. Use Case Diagram ... 85
Gambar 4.4. Activity Diagram Login (Halaman Admin) ... 100
Gambar 4.5. Activity Diagram Input User (Halaman Admin) ... 101
Gambar 4.6. Activity Diagram Lihat User (Halaman Admin) ... 102
xix
Gambar 4.8. Activity Diagram Nilai (Halaman Admin) ... 105
Gambar 4.9. Activity Diagram Input Kelas (Halaman Admin) ... 106
Gambar 4.10. Activity Diagram Lihat Kelas (Halaman Admin) ... 107
Gambar 4.11. Activity Diagram Peminatan Siswa (Halaman Admin) ... 108
Gambar 4.12. Activity Diagram Input Siswa (Halaman User) ... 110
Gambar 4.13. Activity Diagram Lihat Siswa (Halaman User) ... 111
Gambar 4.14. Activity Diagram Input Nilai (Halaman User) ... 112
Gambar 4.15. Activity Diagram Lihat Nilai (Halaman User) ... 113
Gambar 4.16. Activity Diagram Peminatan (Halaman User) ... 115
Gambar 4.17. Activity Diagram Logout ... 116
Gambar 4.18. Sequence Diagram Login ... 117
Gambar 4.19. Sequence Diagram Input User (Halaman Admin) ... 118
Gambar 4.20. Sequence Diagram Lihat User (Halaman Admin) ... 119
Gambar 4.21. Sequence Diagram Lihat Siswa (Halaman Admin) ... 121
Gambar 4.22. Sequence Diagram Lihat Nilai (Halaman Admin)... 122
Gambar 4.23. Sequence Diagram Input Kelas (Halaman Admin) ... 123
Gambar 4.24. Sequence Diagram Lihat Kelas (Halaman Admin) ... 124
Gambar 4.25. Sequence Diagram Peminatan (Halaman Admin) ... 125
Gambar 4.26. Sequence Diagram Input Siswa (Halaman User) ... 126
Gambar 4.27. Sequence Diagram Lihat Siswa (Halaman User) ... 127
xx
Gambar 4.29. Sequence Diagram Lihat Nilai (Halaman User) ... 130
Gambar 4.30. Sequence Diagram Peminatan (Halaman User) ... 132
Gambar 4.31. Sequence Diagram Logout ... 134
Gambar 4.32. Class Diagram ... 136
Gambar 4.33. Desain User Interface Login ... 141
Gambar 4.34. Desain User Interface Halaman Admin ... 141
Gambar 4.35. Desain User Interface Input User (Halaman Admin) ... 142
Gambar 4.36. Desain User Interface Lihat User (Halaman Admin) ... 142
Gambar 4.37. Desain User Interface Lihat Siswa (Halaman Admin) ... 143
Gambar 4.38. Desain User Interface Lihat Nilai (Halaman Admin) ... 143
Gambar 4.39. Desain User Interface Input Kelas (Halaman Admin) ... 144
Gambar 4.40. Desain User Interface Lihat Kelas (Halaman Admin) ... 144
Gambar 4.41. Desain User Interface Peminatan (Halaman Admin) ... 145
Gambar 4.42. Desain User Interface Halaman User ... 145
Gambar 4.43. Desain User Interface Input Siswa (Halaman User)... 146
Gambar 4.44. Desain User Interface Lihat Siswa (Halaman User)... 146
Gambar 4.45. Desain User Interface Input Nilai (Halaman User) ... 147
Gambar 4.46. Desain User Interface Lihat Nilai (Halaman User) ... 147
Gambar 4.47. Desain User Interface Peminatan (Halaman User) ... 148
Gambar 4.48. Desain User Interface Pengujian (Halaman User) ... 148
xxi
Gambar 4.50. Syntax Code Hitung Hasil Peminatan ... 154
Gambar 4.51. Syntax Code Cari Siswa ... 156
Gambar 4.52. User Interface Login ... 158
Gambar 4.53. User Interface Halaman Admin ... 159
Gambar 4.54. User Interface Halaman User ... 159
xxii
DAFTAR LAMPIRAN
Halaman Lampiran 1. Surat Keterangan (SK) Dosen Pembimbing ... 178 Lampiran 2. Surat Keterangan (SK) Pelaksanaan Riset ... 180 Lampiran 3. Hasil Wawancara ... 182 Lampiran 4. Source Code... 188
1 BAB I PENDAHULUAN
1.1. Latar Belakang
Berkembangnya teknologi informasi berakibat pada kebutuhan informasi yang semakin meningkat. Untuk mendapatkan informasi, diperlukan data serta cara yang tepat untuk mengolah data yang ada. Banyaknya data yang diolah dapat menimbulkan kesulitan dalam hal pengelompokkan data. Namun dengan perkembangan Teknologi Informasi (TI) terdapat berbagai macam solusi untuk mengatasi kesulitan tersebut, salah satunya adalah dengan menggunakan teknologi Data Mining. Teknologi data mining merupakan salah satu alat bantu untuk penggalian data pada basis data berukuran besar dan dengan spesifikasi tingkat kerumitan yang telah banyak digunakan pada banyak domain aplikasi seperti perbankan maupun bidang telekomunikasi (Jananto, 2010). Larose (2005) dalam buku karangan Kusrini dan Taufiq Luthfi (2009) berpendapat bahwa data mining terbagi atas beberapa kelompok berdasarkan tugas yang dapat dilakukan, salah satunya adalah clustering atau pengklasteran.
Algoritma K-Means merupakan algoritma teknik klustering yang berulang-ulang. Algoritma ini mempartisi data ke dalam cluster/kelompok sehingga data yang memiliki karakteristik yang sama (High intra class similarity) dikelompokkan ke dalam satu cluster yang sama dan yang memiliki
karakteristik yang berbeda (Law inter class similarity) dikelompokkan pada kelompok yang lain (Giyanto, 2008).
Penggalian informasi pada sebuah data yang berukuran besar (mempunyai jumlah record dan jumlah field yang cukup banyak) tidak dapat dilakukan dengan mudah sehingga penerapan teknologi data mining diperlukan untuk membantu sekolah dalam proses peminatan jurusan bagi siswa kelas X. Sesuai dengan Surat Keputusan (SK) Dirjen Mandikdasmen Departemen Pendidikan Nasional Nomor 12/C/KEP/TU/2008 dalam Juknis Penulisan Laporan Hasil Belajar Peserta Didik diketahui bahwa penentuan jurusan sangat diperlukan bagi siswa Sekolah Menengah Atas (SMA), begitu juga di SMA Negeri 29 Jakarta. Peminatan dilakukan pada saat siswa berada di kelas X (sepuluh) dan akan naik ke kelas XI (sebelas). Setelah wali kelas menerima seluruh nilai semester maka wali kelas akan memutuskan apakah siswa tersebut naik atau tidak. Jika siswa tersebut dinyatakan naik maka selanjutnya akan dilakukan proses penjurusan. Untuk mengetahui pengambilan keputusan tersebut akurat atau tidak, harus dilakukan penilaian dengan kriteria yang telah ditentukan selain dari nilai semester kriteria lain yang dibutuhkan dalam sistem penjurusan adalah minat dan hasil psikotest siswa yang bersangkutan. Sehingga dari hasil penilaian tersebut pihak sekolah dapat mengambil sebuah keputusan sebagai bahan evaluasi untuk menentukan jurusan yang tepat bagi siswanya.
Proses penentuan jurusan bagi siswa SMA akan terjadi secara berulang setiap tahun. Jumlah data yang banyak tersebut membuka peluang untuk menghasilkan informasi yang berguna bagi pihak sekolah khususnya untuk mengetahui proses peminatan siswa.
Dari hasil wawancara yang dilakukan terhadap guru SMA Negeri 29 Jakarta diketahui bahwa saat ini SMA Negeri 29 Jakarta memiliki kesulitan untuk proses peminatan yang masih menggunakan sistem manual dalam mengolah data akademik siswa yang berjumlah 253 orang sehingga membutuhkan waktu yang lama untuk mengetahui hasil peminatan siswa. Hal ini menarik untuk diselesaikan agar bisa diperoleh informasi mengenai siapa saja siswa yang masuk peminatan IPA dan siapa saja siswa yang masuk peminatan IPS serta jumlah siswa yang berada pada dua program peminatan tersebut. Jumlah siswa dan nilai siswa yang ada, akan diolah dengan menerapkan algoritma K-Means dalam teknologi data mining sehingga diharapkan dapat diketahui jumlah siswa yang masuk jurusan IPA atau IPS secara akurat.
Berdasarkan permasalahan-permasalahan dalam latar belakang di atas, maka penulis berkeinginan untuk menyusun skripsi dengan judul “Implementasi Algoritma K-Means dalam Data Mining untuk Peminatan Jurusan Bagi Siswa Kelas X SMA Negeri 29 Jakarta”
1.2. Rumusan Masalah
Berdasarkan latar belakang masalah di atas, maka rumusan masalah yang akan dibahas adalah sebagai berikut :
1. Bagaimana menemukan informasi pengelompokkan siswa yang dapat membantu guru dalam menentukan jurusan sesuai dengan kemampuan akademik siswa?
2. Apakah algoritma K-Means dapat di implementasikan dalam teknologi data mining untuk proses peminatan jurusan berdasarkan kemampuan akademik bagi siswa kelas X di SMA?
3. Apakah sistem peminatan jurusan dapat membantu pihak sekolah dalam menentukan minat bagi siswa kelas X secara lebih efektif dan efisien?
1.3. Batasan Masalah
Batasan masalah dalam penerapan data mining dalam pemilihan jurusan bagi siswa kelas X SMA Negeri 29 Jakarta menggunakan algoritma K-Means adalah:
1. Penelitian ini menggunakan metode pengembangan sistem RAD Rapid Application Development.
2. Data yang digunakan untuk proses analisis algoritma K-Means adalah data nilai akademik. Nilai yang diambil sebagai dasar untuk proses clustering
adalah nilai semester II di kelas X (sepuluh) SMA Negeri 29 Jakarta tahun ajaran 2012/2013.
3. Angket minat siswa tidak dijadikan sebagai atribut hitung dalam proses algoritma K-Means.
4. Faktor yang dibandingkan adalah nilai peminatan IPA (Matematika, Kimia, Fisika, Biologi) dan nilai peminatan IPS (Ekonomi, Sejarah, Geografi, Sosiologi).
5. User yang dapat menggunakan aplikasi ini adalah wali kelas.
6. Penelitian ini terfokus pada algoritma cluster data yang memanfaatkan fungsi tugas data mining, bukan kepada proses atau ruang lingkup data mining.
7. Pengembangan aplikasi ini akan dititikberatkan pada implementasi metode cluster data menggunakan algoritma K-Means
8. Dalam proses pengembangan aplikasi ini, bahasa pemrograman yang digunakan adalah bahasa Java dan aplikasi server atau database menggunakan MySQL.
9. Metode analisis yang digunakan dalam pembangunan sistem ini berdasarkan data terstruktur yaitu menggunakan Unified Modeling Language (UML) yang terdiri dari use case diagram, activity diagram, sequence diagram dan class diagram.
10. Fitur aplikasi yang diutamakan adalah proses peminatan bagi siswa kelas X SMA Negeri 29 Jakarta tahun ajaran 2012/2013.
1.4. Tujuan dan Manfaat 1. Tujuan
Adapun tujuan dari penulisan skripsi ini antara lain:
1. Menemukan informasi yang dapat membantu pihak sekolah dalam proses peminatan sesuai dengan kemampuan yang dimiliki siswa. 2. Mengimplementasikan algoritma k-means dalam data mining
untuk proses peminatan siswa kelas X.
3. Mengetahui apakah algoritma K-Means dapat membantu proses peminatan siswa kelas X secara efektif, akurat dan efisien.
2. Manfaat
2.1. Bagi Peneliti
Penulis dapat lebih mengetahui cara menerapkan ilmu-ilmu yang telah dipelajari selama ini terutama dalam menerapkan metode clustering algoritma K-Means dalam data mining.
2.2. Bagi Instansi
Dapat membantu pihak sekolah khususnya guru dalam menentukan peminatan bagi siswa-siswi kelas X sesuai dengan kemampuan akademik siswa.
2.3. Bagi Universitas
Mengetahui kemampuan mahasiswa dalam menguasai materi pelajaran yang diperoleh dibangku perkuliahan.
Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan sebagai bahan evaluasi.
Memberikan gambaran tentang kesiapan mahasiswa dalam menghadapi dunia kerja yang sebenarnya.
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan dalam penulisan skripsi ini adalah sebagai berikut :
1. Metode pengumpulan data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :
Studi pustaka
Pengumpulan data dengan cara mengumpulkan buku-buku bacaan, bacaan dari situs internet, literatur, jurnal, paper dan yang ada kaitannya dengan judul penelitian.
Wawancara
Wawancara adalah proses memproleh keterangan untuk tujuan penelitian dengan cara tanya jawab, sambil bertatap muka antara pewawancara dengan responden (Nazir, 2005).
Observasi
Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil. Studi Literatur Sejenis
Studi literatur adalah metode pengumpulan data dengan cara menganalisa penelitian sejenis untuk mencari kelebihan terhadap penelitian yang peneliti lakukan sekarang dengan penelitian yang sudah ada (Nazir, 2005).
2. Metode Pengembangan Sistem
Dalam pengembangan sistem, digunakan metode RAD (Rapid Application Development). Metode RAD terdiri dari empat fase yang terdiri dari (Kendall & Kendall, 2010) :
1. Fase menentukan syarat-syarat yaitu menentukan tujuan dan syarat-syarat informasi yang dibutuhkan dalam penelitian skripsi ini.
2. Fase desain workshop atau fase perancangan merupakan tahap-tahap merancang proses-proses yang akan terjadi didalam sistem, perancangan basis data (database) dan perancangan antarmuka (interface).
3. Fase konstruksi merupakan kegiatan membuat baris baris kode dalam bahasa pemrograman tertentu terhadap rancangan-rancangan yang telah dibuat.
4. Fase pelaksanaan merupakan tahapan untuk menguji dan mengenal sistem yang telah jadi.
1.6. Sistematika Penulisan
BAB I : PENDAHULUAN
Pendahuluan memberikan uraian mengenai alasan dalam memilih judul dan latar belakang masalah dan dijelaskan pula mengenai perumusan masalah, pembatasan masalah, serta metode pengumpulan data.
BAB II : LANDASAN TEORI
Landasan teori memberikan uraian mengenai teori-teori yang berhubungan dengan permasalahan yang diambil penulis. Teori – teori tersebut diambil dari literatur-literatur, dokumentasi, serta informasi dari pihak yang bersangkutan baik offline atau online.
BAB III : METODOLOGI PENELITIAN
Metodologi penelitian memberikan gambaran mengenai metode yang digunakan dalam skripsi ini, teknik pengumpulan data, teknik analisa data, teknik pengembangan aplikasi, teknik testing aplikasi, dsb.
BAB IV : HASIL PEMBAHASAN
Bab ini mengimplementasikan aplikasi pada bidang pemilihan jurusan bagi siswa kelas X SMA berdasarkan hasil penelitian penulis.
BAB V : PENUTUP
Berisi kesimpulan yang berhubungan dengan penulisan serta saran yang diharapkan berguna bagi pengembangan aplikasi dimasa depan.
11 BAB II
LANDASAN TEORI
Bab ini menjelaskan tentang dasar teori yang digunakan dalam penyusunan tugas akhir ini. Dijelaskan pengertian tentang data, data mining beserta macam-macamnya, database serta analisis perancangan perangkat lunak.
2.1. Data
2.2.1. Pengertian Data
Data adalah nilai yang merepresentasikan deskripsi dari suatu objek atau kejadian (event) (Wawan dan Munir, 2006). Data menggambarkan sebuah representasi fakta yang tersusun secara terstruktur, atau dengan kata lain digambarkan bahwa “Generally, data represent a structured codification of single primary entities, as well as of transactions involving two or more primary entities” (Vercellis, 2009). Dengan demikian dapat dijelaskan kembali bahwa data merupakan suatu objek, kejadian, atau fakta yang terdokumentasikan dengan memiliki kodifikasi terstruktur untuk suatu atau beberapa entitas. Sedangkan kumpulan dari objek-objek yang ada disebut himpunan data (data-set).
2.2.2. Pengertian Himpunan Data
Himpunan data (data-set) adalah kumpulan dari objek dan atribut. Atribut merupakan sifat atau karakteristik dari suatu objek. Atribut juga dikenal sebagai
variabel, field, karakteristik atau fitur. Contohnya warna mata seseorang, suhu, dsb. Sedangkan, kumpulan dari atribut menggambarkan sebuah objek. Objek juga disebut dengan record, titik, kasus, sample, entitas, atau instance (Hermawati, 2013).
2.2. Data Mining
2.2.1. Pengertian Data Mining
Secara sederhana data mining adalah penambangan atau penemuan informasi baru dengan mencari pola atau aturan tertentu dari sejumlah data yang berukuran besar (Davies, 2004). Data mining juga disebut sebagai serangkaian proses untuk menggali nilai tambah berupa pengetahuan yang selama ini tidak diketahui secara manual dari suatu kumpulan data (Pramudiono, 2007). Data mining adalah kegiatan menemukan pola yang menarik dari data dalam jumlah besar, data dapat disimpan dalam database, data warehouse, atau penyimpanan informasi lainnya. Data mining berkaitan dengan bidang ilmu – ilmu lain, seperti database system, data warehousing, statistik, machine learning, information retrieval, dan komputasi tingkat tinggi. Selain itu, data mining didukung oleh ilmu lain seperti neural network, pengenalan pola, spatial data analysis, image database, signal processing (Han, 2006). Data mining didefinisikan sebagai proses menemukan pola-pola dalam data. Proses ini otomatis atau seringnya semiotomatis. Pola yang ditemukan harus penuh arti
dan pola tersebut memberikan keuntungan, biasanya keuntungan secara ekonomi. Data yang dibutuhkan dalam jumlah besar (Witten, 2005).
2.2.2. Knowledge Discovery in Database dan Data Mining
Istilah data mining dan knowledge discovery in databases (KDD) sering kali digunakan secara bergantian untuk menjelaskan proses penggalian informasi tersembunyi dalam suatu kumpulan data yang besar. KDD sering disebut-sebut memiliki kesamaan dengan data mining, akan tetapi data mining dan KDD sesungguhnya memiliki konsep yang berbeda namun berkaitan satu sama lain. Ada beberapa tahapan dalam proses KDD, salah satunya adalah data mining. KDD adalah proses menentukan informasi yang berguna serta pola-pola yang ada dalam data. Informasi ini terkandung dalam basis data yang besar yang sebelumnya tidak diketahui dan potensial bermanfaat. Data mining merupakan salah satu langkah dari serangkaian iterative KDD (Han & Kamber, 2006).
Sebagai suatu rangkaian proses, KDD dapat dibagi menjadi beberapa tahap yang diilustrasikan pada Gambar 2.1.
Gambar 2.1. Dalam Knowledge Discovery in Databases (KDD) (Han, 2006)
Proses KDD secara garis besar dapat dijelaskan sebagai berikut: 1. Pembersihan Data (Data Cleaning)
Pembersihan data merupakan proses menghilangkan noise dan data yang tidak konsisten atau tidak relevan. Pada umumnya data yang diperoleh, baik dari database memiliki isian-isian yang tidak sempurna seperti data yang hilang, data yang tidak valid atau juga hanya sekedar salah ketik. Selain itu, ada juga atribut-atribut data yang tidak relevan dengan hipotesa data mining yang dimiliki. Data-data yang tidak relevan itu juga lebih baik dibuang. Pembersihan data juga akan mempengaruhi performasi dari teknik data mining karena data yang ditangani akan berkurang jumlah dan kompleksitasnya.
2. Integrasi data (Data Integration)
Integrasi data merupakan penggabungan data dari berbagai database ke dalam satu database baru. Tidak jarang data yang diperlukan untuk data mining tidak hanya berasal dari satu database tetapi juga berasal dari beberapa database atau file teks. Integrasi data dilakukan pada atribut-aribut yang mengidentifikasikan entitas-entitas yang unik seperti atribut nama, jenis produk, nomor pelanggan dan lainnya. Integrasi data perlu dilakukan secara cermat karena kesalahan pada integrasi data bisa menghasilkan hasil yang menyimpang dan bahkan menyesatkan pengambilan aksi nantinya.
3. Seleksi Data (Data Selection)
Data yang ada pada database sering kali tidak semuanya dipakai, oleh karena itu hanya data yang sesuai untuk dianalisis yang akan diambil dari database.
4. Transformasi data (Data Transformation)
Data diubah atau digabung ke dalam format yang sesuai untuk diproses dalam data mining. Beberapa metode data mining membutuhkan format data yang khusus sebelum bisa diaplikasikan. Sebagai contoh beberapa metode standar seperti analisis asosiasi dan clustering hanya bisa menerima input data kategorikal. Karenanya data berupa angka numerik yang
berlanjut perlu dibagi-bagi menjadi beberapa interval. Proses ini sering disebut transformasi data.
5. Proses mining
Merupakan suatu proses utama saat metode diterapkan untuk menemukan pengetahuan berharga dan tersembunyi dari data.
6. Evaluasi pola (Pattern Evaluation)
Untuk mengidentifikasi pola-pola menarik kedalam knowledge based yang ditemukan. Dalam tahap ini hasil dari teknik data mining berupa pola-pola yang khas maupun model prediksi dievaluasi untuk menilai apakah hipotesa yang ada memang tercapai. Bila ternyata hasil yang diperoleh tidak sesuai hipotesa ada beberapa alternatif yang dapat diambil seperti menjadikannya umpan balik untuk memperbaiki proses data mining, mencoba metode data mining lain yang lebih sesuai, atau menerima hasil ini sebagai suatu hasil yang di luar dugaan yang mungkin bermanfaat. 7. Presentasi pengetahuan (Knowledge Presentation)
Merupakan visualisasi dan penyajian pengetahuan mengenai metode yang digunakan untuk memperoleh pengetahuan yang diperoleh pengguna. Tahap terakhir dari proses data mining adalah bagaimana memformulasikan keputusan atau aksi dari hasil analisis yang didapat. Ada kalanya hal ini harus melibatkan orang-orang yang tidak memahami data mining. Karenanya presentasi hasil data mining dalam bentuk pengetahuan
yang bisa dipahami semua orang adalah satu tahapan yang diperlukan dalam proses data mining. Dalam presentasi ini, visualisasi juga bisa membantu mengkomunikasikan hasil data mining (Han, 2006).
2.2.3. Tujuan Data Mining
Tujuan dari data mining (Baskoro, 2010) adalah :
a. Explanatory, yaitu untuk menjelaskan beberapa kegiatan observasi atau suatu kondisi.
b. Confirmatory, yaitu untuk mengkonfirmasikan suatu hipotesis yang telah ada.
c. Exploratory, yaitu untuk menganalisis data baru suatu relasi yang janggal.
2.2.4. Pengelompokkan Data Mining
Secara garis besar data mining dapat dikelompokkan menjadi 2 kategori utama sesuai tugasnya (Tan et. al, 2005) yaitu :
a. Descriptive mining, yaitu proses untuk menemukan karakteristik penting dari data dalam suatu basis data. Teknik data mining yang termasuk dalam descriptive mining adalah clustering, association, dan sequential mining.
b. Predictive mining, yaitu proses untuk menemukan pola dari data dengan menggunakan beberapa variabel lain di masa depan. Salah satu teknik yang terdapat dalam predictive mining adalah klasifikasi.
2.3. Clustering
2.3.1. Pengertian Clustering
Clustering atau clusterisasi adalah salah satu alat bantu pada data mining yang bertujuan mengelompokkan obyek-obyek ke dalam cluster-cluster. Cluster adalah sekelompok atau sekumpulan obyek-obyek data yang similar satu sama lain dalam cluster yang sama dan dissimilar terhadap obyek-obyek yang berbeda cluster. Obyek akan dikelompokkan ke dalam satu atau lebih cluster sehingga obyek-obyek yang berada dalam satu cluster akan mempunyai kesamaan yang tinggi antara satu dengan lainnya. Obyek-obyek tersebut dikelompokkan berdasarkan prinsip memaksimalkan kesamaan obyek pada cluster yang sama dan memaksimalkan ketidaksamaan pada cluster yang berbeda. Kesamaan obyek biasanya diperoleh dari nilai-nilai atribut yang menjelaskan obyek data, sedangkan obyek-obyek data biasanya direpresentasikan sebagai sebuah titik dalam ruang multidimensi (Baskoro, 2010).
Gambar 2.3 Klasterisasi Berdasarkan Similaritas (Kesamaan) Bentuk
2.3.2. Konsep Clustering dalam Data Mining
Konsep dasar data mining adalah menemukan informasi tersembunyi dalam sebuah basis data dan merupakan bagian dari Knowledge Discovery in Database (KDD) untuk menemukan informasi dan pola yang berguna dalam data (Dunham 2003). Data mining mencari informasi baru, berharga dan berguna dalam sekumpulan data dengan melibatkan komputer dan manusia serta bersifat iteratif baik melalui proses yang otomatis ataupun manual. Clustering membagi data menjadi kelompok-kelompok atau cluster berdasarkan suatu kemiripan atribut-atribut diantara data tersebut (Dunham, 2003). Karakteristik tiap cluster tidak ditentukan sebelumnya, melainkan tercermin dari kemiripan data yang terkelompok di dalamnya. Oleh sebab itu hasil clustering seringkali perlu diinterprestasikan oleh pihak-pihak yang benar-benar mengerti mengenai karakter mining, clustering juga digunakan dalam pra-pemrosesan data sebelum data diolah dengan metode data mining yang lain untuk meningkatkan pemahaman terhadap domain data. Karakteristik terpenting
dari hasil clustering yang baik adalah suatu instance data dalam suatu cluster lebih “mirip” dengan instance lain di dalam cluster tersebut daripada dengan instance di luar dari cluster itu (Kantardzic, 2003). Ukuran kemiripan (similarity measure) bisa bermacam-macam dan mempengaruhi perhitungan dalam menentukan anggota suatu cluster. Jadi tipe data yang akan di-cluster (kuantitatif atau kualitatif) juga menentukan ukuran apa yang tepat digunakan dalam suatu algoritma. Selain kemiripan antar data dalam suatu cluster, clustering juga dapat dilakukan berdasarkan jarak antar data atau cluster yang satu dengan yang lainnya. Ukuran jarak (distance atau dissimilarity measure) yang merupakan kebalikan dari ukuran kemiripan ini juga banyak ragamnya dan penggunaannya juga tergantung pada tipe data yang akan di-cluster. Kedua ukuran ini bersifat simetris, dimana jika A dikatakan mirip dengan B maka dapat disimpulkan bahwa B mirip dengan A.
2.3.3. Algoritma Clustering
Pembagian clustering (Bahar, 2011) dapat digambarkan sebagai berikut :
Hierarchical clustering menentukan sendiri jumlah cluster yang dihasilkan. Hasil dari metode ini adalah suatu struktur data berbentuk pohon yang disebut dendogram dimana data dikelompokkan secara bertingkat dari yang paling bawah dimana tiap instance data merupakan satu cluster sendiri, hingga tingkat paling atas dimana keseluruhan data membentuk satu cluster besar berisi cluster-cluster (Bahar, 2011).
Gambar 2.5 Dendogram
Divisive hierarchical clustering mengelompokkan data dari kelompok yang terbesar hingga ke kelompok yang terkecil, yaitu masing-masing instance dari kelompok data tersebut. Sebaliknya, agglomerative hierarchical clustering mulai mengelompokkan data dari kelompok yang terkecil hingga kelompok yang terbesar (Kantardzic, 2003). Beberapa algoritma yang menggunakan metode ini adalah: RObust Clustering Using LinKs (ROCK), Chameleon, Cobweb, Shared Nearest Neighbor (SNN) (Bahar, 2011).
Partitional clustering yang mengelompokkan data ke dalam k cluster dimana k adalah banyaknya cluster dari input user. Kategori ini biasanya
memerlukan pengetahuan yang cukup mendalam tentang data dan proses bisnis yang memanfaatkannya untuk mendapatkan kisaran nilai input yang sesuai. Beberapa algoritma yang masuk dalam kategori ini antara lain: K-Means, Fuzzy C-Means, Clustering Large Aplications (CLARA), Expectation Maximation (EM), Bond Energy Algorithm (BEA), algoritma Genetika, Jaringan Saraf Tiruan (Bahar, 2011).
Clustering Large Data, dibutuhkan untuk melakukan clustering pada data yang volumenya sangat besar sehingga tidak cukup ditampung dalam memori komputer pada suatu waktu. Biasanya untuk mengatasi masalah besarnya volume data, dicari teknik-teknik untuk meminimalkan berapa kali algoritma harus membaca seluruh data. Beberapa algoritma yang masuk dalam kategori ini antara lain: Balanced Iteratif Reducing and clustering using hierarchies (BIRCH), Density Based Spatial Clustering of Application With Noise (DCSCAN), Clustering Categorical Data Using Summaries (CACTUS) (Bahar, 2011).
2.3.4. Pengukuran Kinerja Clustering
Menurut Eko Prasetyo (2012), sebuah sistem klustering juga harus diukur kinerjanya guna melihat tingkat akurasi dan kesalahan dari sistem tersebut. Umumnya, pengukuran kinerja klustering dilakukan dengan matriks konfusi (confusion matrix). Matriks konfusi merupakan tabel pencatat hasil kerja klustering. Tabel 2.1 merupakan contoh matriks konfusi yang melakukan
klasifikasi masalah biner pada dua kelas yaitu kelas 0 dan 1. Setiap sel fij dalam matriks menyatakan jumah rekord/data dari kelas i yang hasil prediksinya masuk ke kelas j. Misalnya, sel f11 adalah jumlah data dalam kelas 1 yang secara benar dipetakan ke kelas 1, dan f10 adalah data dalam kelas 1 yang dipetakan secara salah ke kelas 0.
Tabel 2.1 Matriks konfusi untuk klustering dua kelas fij
Kelas hasil prediksi (j) Kelas = 1 Kelas = 0 Kelas asli (i)
Kelas = 1 f11 f10
Kelas = 0 f01 f00
Berdasarkan isi matriks konfusi, dapat diketahui jumlah data dari masing-masing kelas yang dikluster secara benar, yaitu (f11+f00), dan data yang dikluster secara salah, yaitu (f10+f01). Kuantitas matriks konfusi dapat diringkas menjadi dua nilai, yaitu akurasi dan laju error. Dengan mengetahui jumlah data yang dikluster secara benar, dapat diketahui akurasi hasil prediksi, dan dengan mengetahui jumlah data yang dikluster secara salah, dapat diketahui laju error dari prediksi yang dilakukan. Dua kuantitas ini digunakan sebagai matrik kinerja kluster.
Untuk menghitung akurasi kluster digunakan formula :
2.4. Algoritma K-Means
2.4.1. Pengertian K-Means
K-Means merupakan algoritma yang umum digunakan untuk clustering dokumen. Prinsip utama K-Means adalah menyusun k prototype atau pusat massa (centroid) dari sekumpulan data berdimensi n (Aryan, 2010). Sebelum diterapkan proses algoritma K-means, data akan di preprocessing terlebih dahulu. Algoritma K-Means termasuk dalam partitioning clustering yang memisahkan data ke k daerah bagian yang terpisah. Algoritma K-Means sangat terkenal karena kemudahan dan kemampuannya untuk mengklaster data besar dan outlier dengan sangat cepat. Menurut Ediyanto dan rekan (2013) algoritma K-Means cukup efektif diterapkan dalam proses pengelompokkan karakteristik terhadap objek penelitian. Menurut MacQueen J.B (1967) K-Means merupakan metode klasterisasi yang paling terkenal dan banyak digunakan di berbagai bidang karena sederhana, mudah diimplementasikan, memiliki kemampuan untuk mengklaster data yang besar, mampu menangani data outlier, dan kompleksitas waktunya linear O(nKT) dengan n adalah jumlah dokumen, K adalah jumlah kluster, dan T adalah jumlah iterasi. K-means merupakan metode pengklasteran secara partitioning yang memisahkan data ke dalam kelompok yang berbeda. Dengan partitioning secara iteratif, K-Means mampu meminimalkan rata-rata jarak setiap data ke klasternya.
Dalam algoritma K-Means, setiap data harus termasuk ke cluster tertentu pada suatu tahapan proses, pada tahapan proses berikutnya dapat berpindah ke cluster yang lain. Pada dasarnya penggunaan algoritma K-Means dalam melakukan proses clustering tergantung dari data yang ada dan konklusi yang ingin dicapai. Untuk itu digunakan algoritma K-Means yang didalamnya memuat aturan sebagai berikut :
a. Jumlah cluster yang perlu di inputkan b. Hanya memiliki attribut bertipe numeric
Algoritma K-Means pada awalnya mengambil sebagian dari banyaknya komponen dari populasi untuk dijadikan pusat cluster awal. Pada step ini pusat cluster dipilih secara acak dari sekumpulan populasi data. Berikutnya K-Means menguji masing-masing komponen didalam populasi data dan menandai komponen tersebut ke salah satu pusat cluster yang telah di definisikan tergantung dari jarak minimum antar komponen dengan tiap-tiap pusat cluster. Posisi pusat cluster akan dihitung kembali sampai semua komponen data digolongkan kedalam tiap-tiap cluster dan terakhir akan terbentuk posisi cluster baru.
Algoritma K-Means pada dasarnya melakukan 2 proses yakni proses pendeteksian lokasi pusat cluster dan proses pencarian anggota dari tiap-tiap cluster. Proses klustering dimulai dengan mengidentifikasi data yang akan dikluster, Cij (i=1,...,n; j=1,...,m) dengan n adalah jumlah data yang akan
dikluster dan m adalah jumlah variabel. Pada awal iterasi, pusat setiap kluster ditetapkan secara bebas (sembarang), Ckj (k=1,...,k; j=1,...,m). Kemudian dihitung jarak antara setiap data dengan setiap pusat kluster. Untuk melakukan penghitungan jarak data ke-I (xi) pada pusat kluster ke-k (ck), diberi nama (dik), dapat digunakan formula Euclidean. Suatu data akan menjadi anggota dari kluster ke-k apabila jarak data tersebut ke pusat kluster ke-k bernilai paling kecil jika dibandingkan dengan jarak ke pusat kluster lainnya. Kita bisa menghitungnya dengan persamaan 2. Selanjutnya, kelompokkan data-data yang menjadi anggota pada setiap kluster. Nilai pusat kluster yang baru dapat dihitung dengan cara mencari nilai rata-rata dari data data yang menjadi anggota pada kluster tersebut, dengan menggunakan rumus pada persamaan 3.
Proses dasar algoritma K-Means (Santosa, 2007) :
1. Tentukan k sebagai jumlah cluster yang ingin dibentuk. Tetapkan pusat kluster sembarang.
2. Hitung jarak setiap data ke pusat kluster menggunakan persamaan Euclidean
... (1)
3. Kelompokkan data ke dalam kluster yang dengan jarak yang paling pendek menggunakan persamaan
4. Hitung pusat kluster yang baru menggunakan persamaan
...(3) Dimana :
P = banyaknya anggota kluster ke k
5. Ulangi langkah 2 sampai dengan 4 hingga sudah tidak ada lagi data yang berpindah ke kluster yang lain.
2.4.2. Pseudocode
Pseudo berarti imitasi atau mirip atau menyerupai dan code menunjukkan kode dari program, berarti pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya (Utami dan Raharjo, 2004).
Pseudocode ditulis berbasis bahasa pemrograman seperti BASIC, PASCAL dan C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada programmer (Sutedjo dan Michael, 2004).
Pseudocode akan memudahkan pemrogram untuk memahami dan menggunakan, karena mirip dengan kode-kode program sebenarnya. Pseudocode menjelaskan juga tentang pemberian nilai awal dari suatu
variable, membuka dan menutup file, subscript atau tipe-tipe data yang digunakan (misalnya real, integer, Boolean).
2.4.3. Karakteristik K-Means
Berdasarkan cara kerjanya, algoritma K-Means memiliki karakteristik (wijaya, 2010):
1. K-Means sangat cepat dalam proses clustering
2. K-Means sangat sensitif pada pembangkitan centroids awal secara random
3. Memungkinkan suatu cluster tidak mempunyai anggota
4. Hasil clustering dengan K-Means bersifat unik (Selalu berubah-ubah) – terkadang baik, terkadang jelek.
Adapun tujuan dari data clustering ini adalah untuk meminimalisasikan objective function yang diset dalam proses clustering, yang pada umumnya berusaha meminimalisasikan variasi di dalam suatu cluster dan memaksimalisasikan variasi antar cluster. Ada dua cara pengalokasian data kembali ke dalam masing-masing cluster pada saat proses iterasi clustering.
2.5. Peminatan
2.5.1. Pengertian Peminatan
Pada saat seorang siswa masuk ke jenjang SMA dan mulai belajar di kelas X, seorang siswa dapat memilih program peminatan bidang IPA atau IPS sesuai dengan kriteria mata pelajaran yang telah ditentukan dan dapat diketahui berdasarkan nilai raport semester ganjil dan genap pada saat siswa tersebut dinyatakan naik ke kelas XI.
2.5.2. Tujuan Peminatan
1. Mengelompokkan siswa sesuai kecakapan, kemampuan, dan bakat yang relatif sama.
2. Membantu mempersiapkan siswa dalam melanjutkan studi dan memilih dunia kerja.
3. Membantu memperkokoh keberhasilan dan kecocokan atas yang akan dicapai di waktu mendatang.
2.5.3. Kriteria Peminatan 1. Waktu Peminatan
1.1 Penentuan peminatan program studi IPA dan IPS dilakukan mulai dari semester 1 (ganjil) kelas X
1.2 Pelaksanaan peminatan program studi di semester 1 kelas XI 2. Kriteria Peminatan Program Studi Meliputi :
Siswa yang naik kelas XI dan akan mengambil program studi tertentu, yaitu : Ilmu Pengetahuan Alam dan Ilmu Pengetahuan Sosial boleh memiliki nilai yang tidak tuntas paling banyak 3 mata pelajaran pada mata pelajaran yang bukan jadi ciri khas program studi tersebut. Siswa naik kelas XI dan yang bersangkutan mendapatkan nilai tidak tuntas 3 mata pelajaran, maka nilai tersebut harus dijadikan dasar untuk menentukan program studi yang dapat dimasukkan ke program studi yang dapat diikuti oleh siswa.
Program Studi Ilmu Pengetahuan Alam
Program Studi Ilmu Pengetahuan Sosial Matematika Fisika Kimia Biologi Ekonomi Sosiologi Sejarah Geografi 2.2 Minat Siswa
Untuk dapat mengetahui minat siswa dapat dilakukan angket, kuesioner atau wawancara.
3. Mekanisme Peminatan Bagi Peserta Didik Kelas X Angket Minat Siswa
Nilai prestasi akademis raport semester 1 dan 2 kelas X program peminatan IPA atau IPS
Standar Nilai KKM yang menjadi acuan sekolah di Indonesia adalah :
1. Nilai ketuntasan belajar untuk aspek pengetahuan dan praktik dinyatakan dalam bentuk bilangan bulat dengan skala 0-100
2. Ketuntasan belajar setiap indikator yang telah ditetapkan dalam suatu kompetensi dasar berkisar anatara 0-100%. Kriteria ideal ketuntasan untuk masing masing indikator adalah 75%
3. Satuan pendidikan dapat menentukan Kriteria Ketuntasan minimal (KKM) dibawah nilai ketuntasan belajar ideal. Satuan pendidikan diharapkan meningkatkan kriteria ketuntasan belajar secara terus menerus untuk mencapai kriteria ketuntasan ideal. 4. KKM ditetapkan oleh forum guru pada awal tahun
5. KKM tersebut dicantumkan ke dalam LHB dan diinformasikan kepada seluruh warga sekolah dan orangtua siswa.
2.6. Konsep Dasar Analisis dan Desain Sistem 2.6.1. Pengertian Analisis dan Desain Sistem
Analisis Sistem merupakan sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi bagian- bagian komponen dengan tujuan mempelajari seberapa bagus bagian-bagian komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka. (Whitten et.al, 2004).
Sedangkan Sistem desain adalah sebuah teknik pemecahan masalah yang saling melengkapi (dengan Analisis Sistem) yang merangkai kembali bagian-baagian relatif pada sistem yang diperbaiki. Hal ini melibatkan penambahan, penghapusan dan perubahan bagian-bagian relatif pada sistem aslinya (awalnya).
2.6.2. Pendekatan-Pendekatan Analisis Sistem
Analisis Sistem merupakan pemecahan dari suatu masalah, banyak pendekatan dalam menghadapi masalah, oleh karena itu Analisis Sistem mempunyai beberapa pendekatan masalah, berikut ini adalah pendekatan masalah dari Analisis Sistem :
Analisis Terstruktur merupakan sebuah teknik model-driven dan berpusat pada proses yang digunakan untuk menganalisis sistem yang ada, mendefinisikan persyaratan-peryaratan bisnis untuk sebuah sistem baru, atau keduanya (Whitten, 2004).
2. Teknik Informasi(Information Engineering)
Merupakan sebuah teknik model-driven dan berpusat pada data, tetapi sensitif pada proses. Teknik ini digunakan untuk merencanakan, menganalisa, dan mendesain Sistem Informasi. Model-model ini adalah gambaran yang mengilustrasikan dan menyesuaikan data dan proses-proses sistem (Whitten, 2004).
3. Discovery Prototyping
Discovery Prototyping adalah sebuah teknik yang digunakan untuk mengidentifikasikan persyaratan-persyaratan bisnis pengguna dengan membuat para pengguna dengan membuat para pengguna bereaksi pada implementasi quick end dirt (bijaksana dan efektif tapi tanpa cacat atau efek samping yang tidak diinginkan) persyaratan-persyaratan tersebut (Whitten, 2004).
4. Analisis Berorientasi Objek (Object Orientasi Analysis)
Analisis Berorientasi Objek adalah sebuah teknik yang mengintegrasikan data dan proses kedalam konstruksi yang disebut object. Model-model OOA (Object Orientasi Analysis) adalah gambar-gambar yang
mengilustrasikan objek-objek sistem dari berbagai macam perspektif, seperti struktur, kelakuan, dan interaksi objek-objek (Whitten, 2004).
2.7. Analisis dan Desain Berorientasi Objek (Object Oriented Analysis and
Design) Menggunakan UML (Unified Modeling Language)
Teknik analisis berorientasi objek merupakan alat terbaik yang dapat di gunakan untuk sebuah proyek yang akan mengimplementasikan sistem yang menggunakan teknologi objek untuk membangun, mengelola, dan merakit objek-objek itu menjadi aplikasi yang berguna. Teknik pemodelan objek-objek menyajikan penggunaan metodologi dan notasi diagram yang sama sekali berbeda dengan teknik lainnya yang biasa digunakan untuk pemodelan data dan pemodelan proses.
Pada akhir tahun 80-an dan awal 90-an, di gunakan beberapa metode berorientasi objek yang berbeda-beda. Yang paling terkenal adalah metode Booch dari Grady Booch Object Modeling Technique (OMT) dari James Rumbaugh (OMT), dan Object Oriented Software Engineering (OOSE) dari Ivar Jacobson. Banyaknya teknik yang di gunakan membatasi kemampuan untuk memakai model-model pada proyek lain (mengurangi reuse) dan tim pengembang. Konsekuesinya, teknik ini menghambat komunikasi antara anggota tim dan pengguna, yang mengakibatkan banyak terjadi error di dalam proyek. Masalah ini dan lainnya mendorong di lakukannya usaha untuk mendesain bahasa pemodelan standar (Whitten et al. 2004).
Pada tahun 1994, Grady Booch dan James Rumbaugh sepakat bergabung untuk menggunakan metode pengembangan berorientasi objek dengan tujuan membuat proses standar tunggal untuk mengembangkan sistem berorientasi objek. Ivar Jacobson bergabung pada tahun 1995, dan mereka bertiga fokus membuat sebuah bahasa pemodelan objek standar sebagai ganti dari pendekatan atau metode berorientasi objek standar. Berdasarkan keja mereka dan hasil kerja lainnya pada industri, Unified Modeling Language (UML) versi 1.0 di rilis pada tahun 1997 (Whitten et.al, 2004).
Unified Modeling Language (UML) adalah satu kumpulan konvensi pemodelan yang di gunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten et.al, 2004).
2.7.1. Konsep Sistem untuk Pemodelan Objek
Analisis sistem berorientasi objek di dasarkan beberapa konsep. Sebagian konsep ini membutuhkan cara pemikiran baru untuk sistem dan proses pengembangannya (Whitten et.al, 2004).
1. Object adalah sesuatu yang ada atau dapat di lihat, di sentuh, atau di rasakan dan user menyimpan data serta mencatat perilaku mengenai sesuatu itu.
2. Attribute adalah data yang mewakili karakteristik interes tentang sebuah objek.
3. Object instance adalah setiap orang khusus, tempat, sesuatu, atau kejadian, dan juga nilai untuk atribut dari objek.
4. Behavior adalah kumpulan dari sesuatu yang dapat di lakukan oleh objek dan terkait dengan fungsi-fungsi yang bertindak pada data objek (atau atribut). Pada siklus berorientasi objek, perilaku objek merujuk kepada metode, operasi, atau fungsi (istila ini di gunakan berganti-ganti di sepanjang buku ini).
5. Encapsulation adalah pengemasan beberapa item ke dalam satu unit. Konsep penting lain mengenai pemodelan objek adalah konsep pengkategorian objek menjadi class/kelas yaitu sebagai berikut (Whitten
et.al, 2004) :
1. Class adalah satu set objek yang memiliki atribut dan behavior yang sama. Kadang-kadang di sebut object class.
2. Generalization/specialization adalah sebuah teknik di mana atribut dan behavior yang umum pada beberapa tipe kelas objek, di kelompokkan (atau di abstraksi) ke dalam kelasnya sendiri di sebut
supertype. Atribut dan metode kelas objek supertype kemudian di
wariskan oleh kelas objek tersebut (subtype). 2.7.2. Hubungan Objek/Kelas
Object/class relationship adalah asosiasi bisnis yang ada di antara satu
maksimum dari satu objek/kelas untuk satu kejadian tunggal dari objek/kelas yang terkait. Aggregation adalah sebuah hubungan di mana satu kelas “whole” yang lebih besar berisi satu atau lebih kelas “part” yang lebih kecil. Atau, kelas
“part” yang lebih kecil adalah bagian dari kelas “whole” yang lebih besar. Composition adalah hubungan agregasi di mana “whole” bertanggungjawab
atas pembuatan dan perusakan “bagian-bagian”. Jika “whole” rusak, maka
“part” juga akan rusak (Whitten et.al, 2004).
2.7.3. Tools Pengembangan Sistem
Unified Modeling Language (UML) adalah salah satu alat bantu yang
sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini di sebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah di mengerti, serta di lengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain (Munawar, 2005).
UML merupakan kesatuan dari bahasa pemodelan yang di kembangkan oleh Booch, Object Modeling Technique (OMT) dan Object Oriented Software
Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal dengan
nama metode Design Object Oriented. Metode ini menjadikan proses analisis dan design ke dalam 4 (empat) tahapan iterative, yaitu: identifikasi kelas-kelas dan obyek-obyek, identifikasi semantik dari hubungan obyek dan kelas tersebut,
perincian interface dan implementasi. Keunggulan metode Booch adalah pada detil dan kayanya dengan notasi dan elemen. Pemodelan OMT yang di kembangkan oleh Rumbaugh di dasarkan pada analisis terstruktur dan pemodelan entity-relationship.
Desain sistem pada UML di susun oleh simbol-simbol yang terbentuk menjadi sebuah diagram model. Berikut adalah simbol yang digunakan pada desain sistem ini.
Unified Modeling Language (UML) memiliki beberapa diagram di
antaranya (Munawar, 2005): 1. Use Case Diagram
Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif
pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem di pakai. (Munawar, 2005)
Dalam sebuah pembicaraan tentang use case, pengguna biasanya di sebut dengan actor. Actor adalah sebuah peran yang bisa di mainkan oleh pengguna dalam interaksinya dengan sistem. Use case adalah alat bantu terbaik guna menstimulasi pengguna potensial untuk mengatakan tentang suatu sistem dari sudut pandangnya. Diagram use case mempunyai 3 notasi yang menunjukkan aspek dari sistem (Munawar, 2005):
a. Actor (Pengguna) yaitu abstraksi dari orang dan sistem lain yang mengaktifkan fungsi dari target sistem. Actor mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan use case. b. Use Case adalah abstraksi dari interaksi antara sistem dan actor. Use
case di buat berdasarkan keperluan actor. Use Case harus merupakan
“apa” yang di kerjakan software aplikasi, bukan “bagaimana” software aplikasi mengerjakannya. Setiap use case harus di beri nama yang menyatakan apa hal yang di capai dari hasil interaksinya dengan actor. c. Relationship (hubungan) yaitu hubungan antara actor/pelaku dengan
use case di mana terjadi interaksi di antara mereka.
Actor 1 Use Case 1 Use Case 2 Use Case 3 Actor 2 Actor 3 System
Gambar 2.6 Contoh Diagram Model Use Case 2. Class Diagram
Class dalam notasi UML di gambarkan dengan kotak. Nama class
menggunakan huruf besar di awal kalimatnya dan di letakkan di atas kotak. Bila class mempunyai nama yang terdiri dari 2 (dua) suku kata
atau lebih, maka semua suku kata di gabungkan tanpa spasi dengan huruf awal tiap suku kata menggunakan huruf besar. Atribute adalah property dari sebuah class. Attribute ini melukiskan batas nilai yang mungkin ada pada obyek dari class. Sebuah class mungkin mempunyai nol atau lebih
attribute (Munawar, 2005).
Operation adalah sesuatu yang bisa di lakukan oleh sebuah class atau
yang anda (atau class yang lain) dapat lakukan untuk sebuah class.
Responsibility adalah keterangan tentang apa yang akan di lakukan class
yaitu apa yang akan di capai oleh attribute dan operation (Munawar, 2005). +Operation 1() +Operation 2() +Operation n() -Attribute 1 -Attribute 2 -Attribute 3 -Attribute n Class1 +Operation 1() +Operation n() -Attribute 1 -Attribute 2 -Attribute n Class2 +Operation 1() +Operation n() -Attribute 1 -Attribute 2 -Attribute n Class3 * 1 1 *
Gambar 2.7 Contoh Model Class Diagram
3. Activity Diagram
Activity Diagram adalah teknik untuk mendeskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi
perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa (Munawar, 2005).
ActionState1 ActionState2 If True Control Flow Start Finish
Gambar 2.8 Contoh Model Activity Diagram
4. Sequence Diagram
Sequence diagram di gunakan untuk menggambarkan perilaku pada
sebuah scenario. Diagram ini menunjukkan sejumlah contoh obyek dan
message (pesan) yang di letakkan di antara obyek-obyek ini di dalam use case. Komponen utama sequence diagram terdiri atas obyek yang di
tuliskan dengan kotak segiempat bernama. Message di wakili oleh garis dengan tanda panah dan waktu yang di tunjukkan dengan progress
vertical (Munawar, 2005). Actor Object 1 Message 1 Reply Message 1 Message Call 1
2.8. Metode Pengembangan Sistem
Metode adalah suatu cara atau metode yang disarankan untuk melakukan sesuatu hal. Pendekatan sistem merupakan metode dasar untuk memecahkan masalah. Metode yang digunakan oleh penulis dalam pembuatan sistem pemilihan jurusan menggunakan algoritma K-Means bagi siswa kelas X ini adalah penulis menggunakan metode RAD (Rapid Application Develompement) dimana penulis akan menyelesaikan sistem dengan terus menerus melakukan perbaikan jika ada suatu fungsi yang tidak berhasil dijalankan. Metode ini sangat baik digunakan dalam pengembangan suatu sistem dengan waktu yang singkat.
Rapid Application Development atau Pengembangan Aplikasi Cepat adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak (Kendall & Kendall, 2010).
Pada Rapid Application Development (RAD) terdapat tiga fase yang melibatkan penganalisis dan pengguna dalam tahap penilaian, perancangan dan penerapan, yaitu :
1. Fase Perencanaan Syarat-syarat 2. Desain Workshop (Fase Perancangan) 3. Fase Kontruksi
Gambar 2.10 RAD (Rapid Application Development)
2.8.1. Fase Perencanaan Syarat-Syarat
Dalam fase ini, pengguna dan penganalisis bertemu untuk mengidentifikasikan tujuan-tujuan aplikasi atau sistem serta untuk mengidentifikasi syarat-syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut. Pada fase ini penulis melakukan analisis kebutuhan
2.8.2. Desain Workshop (Fase Perancangan)
Fase ini adalah fase merancang dan memperbaiki yang bisa digambarkan sebagai workshop. Pada tahap inilah dilakukan proses desain dan melakukan perbaikan-perbaikan apabila masih terdapat ketidaksesuaian desain antara user dan perancang sistem. Untuk tahap ini, keaktifan user yang terlibat sangat menentukan untuk mencapai hasil yang maksimal, karena user akan memberikan komentar langsung apabila terdapat ketidaksesuaian pada desain.
Pada fase ini, penulis akan melakukan beberapa perancangan, seperti perancangan proses, pemodelan data dan perancangan user interface.