• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMA K-MEANS DALAM DATA MINING UNTUK PEMINATAN JURUSAN BAGI SISWA KELAS X SMA NEGERI 29 JAKARTA

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI ALGORITMA K-MEANS DALAM DATA MINING UNTUK PEMINATAN JURUSAN BAGI SISWA KELAS X SMA NEGERI 29 JAKARTA"

Copied!
325
0
0

Teks penuh

(1)

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

(2)

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

(3)
(4)
(5)

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

(6)

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)

(7)

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.

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

xv BAB V. PENUTUP ... 172 4.1. Kesimpulan ... 172 4.2. Saran ... 173 DAFTAR PUSTAKA ... 174 LAMPIRAN

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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.

(25)

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”

(26)

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

(27)

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.

(28)

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.

(29)

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 :

(30)

 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) :

(31)

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.

(32)

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.

(33)

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

(34)

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

(35)

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

(36)

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.

(37)

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

(38)

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

(39)

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.

(40)

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

(41)

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

(42)

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 :

(43)

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

(44)

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

(45)

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 :

(46)

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.

(47)

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

(48)

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

(49)

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

(50)

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.

(51)

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 :

(52)

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.

(53)

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

(54)

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 :

(55)

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

(56)

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

(57)

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.

(58)

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

(59)

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,

(60)

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

(61)

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

(62)

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

(63)

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

(64)

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

(65)

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.

Gambar

Gambar 2.2 Data Sebelum di Klasterisasi
Gambar 2.5 Dendogram
Gambar 2.8 Contoh Model Activity Diagram
Gambar 3.2 Alur Kerangka
+7

Referensi

Dokumen terkait

Bagi Penulis Membuka wawasan dan pengetahuan untuk penulis tentang manfaat dari penerapan Data mining dengan menggunakan algoritma K-means Clustering untuk membangun aplikasi

K-Means Clustering adalah, K dimaksudkan sebagai konstanta jumlah cluster yang diinginkan, Means dalam hal ini berarti nilai suatu ratarata dari suatu grup data yang

Untuk mengatasi permasalahan tersebut penulis membuat pemrograman Data Mining yang lebih mudah dengan dirancangya mengunakan metode clostring K-Maens dihapkan

Pada penelitian ini telah berhasil dilakukan pengelompokkan jumlah data bencana seluruh provinsi di Indonesia milik BNPD dan prediksi data bencana yang akan terjadi

Untuk penelitian selanjutnya pengelompokkan data saham dan variabel ekonomi yang mempengaruhinya disarankan dengan jumlah data yang lebih besar dan variabel ekonomi

Sistem informasi pengelompokan data tilang ini menerapkan pengelompokan dengan menggunakan Algoritma K-Means dengan metode clustering, clustering merupakan proses yang

Data mining dengan algoritma K-Means dapat diterapkan pada SMA Tamora untuk menganalisis permasalahan yang ada yang berkenaan dengan pengelompokkan data nilai

Pada metode K-Means data di kelompokan menjadi beberapa kelompok dimana setiap kelompok mempunyai karakteristik yang mirip atau sama dengan lainnya namun dengan kelompok lainnya