BAB IV HASIL DAN PEMBAHASAN
4.5 Penerapan K-Means Clustering
4.5.4 Perancangan Sistem Aplikasi K-Means Clustering
Untuk membuat sebuah sistem aplikasi berbasis web peneliti menggunakan aplikasi databse MySQL sebagai tempat untuk menampung dan menyimpan sebuah data, aplikasi Sublime Text 2 untuk proses pengcodingan berbagai perintah dan fungsi yang dibutuhkan untuk membangun sistem dengan algoritma K-Means Clustering, dan sebuah browser untuk menampilkan hasil pengcodingan. Tahapan pertama yang dilakukan peneliti adalah membuat perancangan sistem aplikasi web dengan menggunakan metode DFD (Data Flow Diagram) dan ERD (Entity Relationship Diagram). Metode DFD adalah metode perancangan sistem yang menjelaskan informasi alur dan proses pada sistem yang dibangun, sedangkan metode ERD adalah metode perancangan sistem yang menggambarkan model rancangan database dari sistem yang dibangun. Berikut adalah perancangan sistem tersebut.
1. Perancangan DFD
Perancangan sistem menggunakan metode DFD memiliki beberapa tahapan proses dengan urutan paling awal adalah penjelasan umum mengenai cara kerja sistem dan dilanjutkan dengan penjelasan yang lebih spesifik.
a. DFD Level 0 ( Diagram Konteks )
DFD level 0 merupakan gambaran dari suatu informasi proses yang berjalan pada sistem aplikasi K-Means Clustering yang dirancang untuk mengetahui bagaimana sistem berinteraksi dengan beberapa entity untuk mepresentasikan keseluruhan sistem.
Gambar 4.2 DFD Level 0 (Diagram Konteks)
Berdasarkan gambar 4.2 user mempunyai 2 alur yaitu alur yang pertama adalah user atau pengguna mengimportkan file excel kedalam sistem setelah itu data dari file excel tersebut disimpan kedalam database dengan nama tabel dataset dan user mendapatkan informasi bahwa file data tersebut berhasil di import dengan catatan file excel yang bisa diimportkan adalah menggunakan format 97-2003 dan file tersebut berisikan sejumlah data yang sudah melalui tahap pre-processing data kecuali pengubahan data atribut ke nilai angka. Alur kedua adalah pengguna mengisikan titik
pusat cluster yang diinginkan ke dalam sistem lalu sistem akan menampilkan hasil data yang sudah diolah sebelumnya.
b. DFD Level 1
DFD level 1 adalah suatu gambaran tentang informasi jalannya alur dari sebuah sistem yang dijelaskan lebih detail atau spesifik dan merupakan tahap lanjutan dari proses sebelumnya.
DFD level 1 dalam rancangan sistem ini adalah sebagai berikut :
Gambar 4.3 DFD Level 1
Peneliti menggambarkan DFD level 1 pada sistem ini lebih detail daripada diagram konteks. Berdasarkan gambar 4.3 proses yang dijalankan oleh sistem terbagi menjadi 4 proses inti yaitu proses import file, proses mengubah atribut ke angka, proses
algoritma K-Means Clustering, dan proses verifikasi titik pusat cluster atau centroid. Penjelasan lebih lengkap untuk setiap proses inti tersebut sebagai berikut :
1. Proses Import File
Pada proses pertama dari sistem K-Means Clustering ini adalah mengimportkan file excel ke dalam database dengan nama tabel yaitu dataset. Pada proses ini file excel yang bisa di importkan adalah file excel dengan format 97-2003 dengan isi data sudah dilakukan proses pre-procesing kecuali mengubah atribut data ke bentuk angka / transformation data. Didalam proses ini setiap kali akan mengimportkan file excel baru sistem akan menghapus file excel yang sudah diimportkan sebelumnya karena akan terjadi penumpukan data apabila tidak dihapus terlebih dahulu. Setelah file excel berhasil diimportkan akan muncul pemberitahuan bahwa file excel berhasil diimportkan.
2. Proses Mengubah Data Atribut ke Nilai Angka
Pada proses ini user atau pengguna cukup menekan tombol ‘proses selanjutnya’ pada sistem untuk masuk ke proses kedua dalam sistem K-Means Clustering. Dalam proses ini sistem akan melakukan salah satu tahapan pre-processing data yaitu pengubahan data atribut ke dalam nilai angka. Sistem akan mengambil data atribut dari tabel database dengan nama
dataset lalu data atribut akan dihitung jumlah datanya (frekuensi) sesuai dengan isi data atribut tersebut kemudian memberi inisial dimulai dari frekuensi tertinggi ke frekuensi terendah. Setelah itu data atribut, nilai frekuensi, dan inisial akan diinputkan ke dalam tabel database sesuai jumlah atribut yang di proses. Dalam hal ini atribut yang berisikan data selain angka hanya ada 2 yaitu kota asal dan asal sekolah, maka proses pengubahan data ke nilai angka ini hanya akan disimpan kedalam tabel database frek_kota dan frek_asek. Setelah data berhasil disimpan dalam tabel database, sistem akan menampilkan hasil proses kepada user / pengguna.
3. Proses K-Means Clustering
Setelah langkah menampilkan hasil data dari proses sebelumnya (proses mengubah atribut kedalam nilai angka), user / pengguna tinggal menekan tombol ‘proses selanjutnya’
untuk dapat melanjutkan ke proses K-Means Clustering.
Berdasarkan gambar 4.3 perancangan proses sistem terdapat dua proses yaitu proses K-Means Clustering dan proses verifikasi. Dua proses tersebut saling berkaitan dan berhubungan satu sama lain.
Proses pertama adalah proses K-Means Clustering. Dalam proses tersebut sistem akan mengambil data dari tabel database dataset,frek_kota, dan frek_asek kemudian sistem akan
menampilkan sebuah tabel yang berisikan data gabungan dari tabel database tersebut. Tabel tersebut terdiri dari data atribut kota asal dan asal sekolah beserta inisial atribut masing dan data IPK mahasiswa. Setelah itu user atau pengguna akan diminta untuk mengisikan nilai titik pusat cluster (centroid) yang selanjutnya akan disimpan ke dalam tabel database bernama centroid_lama. Sistem K-Means Clustering akan melakukan 3 aktivitas sekaligus yaitu menghitung jarak anatara data ke cluster (distance), mengelompokkan data kedalam cluster berdasarkan nilai jarak terdekat data ke setiap cluster atau aktivitas clustering data, dan menghitung nilai titik pusat cluster baru. Hasil dari 3 aktivitas tersebut akan ditampilkan kepada user dan hanya aktivitas custering data yang disimpan kedalam database proses sedangkan hasil dari menghitung nilai centroid baru akan menjadi data inputan untuk proses ke 4 yaitu verifikasi centroid.
4. Proses Verifikasi Titik Pusat Cluster
Proses verifikasi centroid adalah proses untuk menentukan apakah proses K-Means Clustering akan diulangi atau tidak.
Kunci dari proses verifikasi ini adalah berdasarkan titik pusat cluster baru. Inputan data proses ini adalah centroid baru yang didapat dari proses K-Means Clustering yang selanjutnya akan disimpan dalam tabel database centroid_lama. Logika dari
proses ini adalah jika jumlah data pada tabel database centroid_lama bertambah setelah penginputan centroid baru maka proses K-Means Clustering harus diulang lagi dengan menggunakan centroid baru sebagai inputannya, sedangkan apabila jumlah data dari tabel database centroid_lamatidak bertambah setelah penginputan centroid baru maka artinya adalah centroid baru yang diinputkan sama dengan centroid sebelumnya dan proses K-Means Clustering selesai. Sistem menampilkan setiap perulangan proses K-Means Clustering kepada user/pengguna. Selanjutnya setelah proses K-Means selesai maka sistem akan menampilkan hasil kepada user/pengguna dari proses terkahir dalam serangkaian perulangan proses K-Means Clustering.
2. Perancangan ERD
Perancangan ERD atau Entity Relationship Diagram adalah perancangan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. Dalam ERD pemodelan struktur data dan hubungan antar setiap data digambarkan dengan beberapa notasi dan simbol yaitu entitas, atribut, relasi atau hubungan, dan sebuah garis
untuk menghubungkan relasi dan entitas. Perancangan ERD dalam sistem ini adalah sebagai berikut:
Gambar 4.4 ERD (Entity Relationship Diagram)
Berdasarkan rancangan ERD pada gambar 4.4 menjelaskan bahwa proses relasi antar entitas dalam sistem ini adalah entitas dataset yang diimport oleh user/pengguna memiliki 4 atribut yaitu id_mhs, asal_sekolah, kota_asal, dan IPK. Entitas dataset memiliki relasi dengan tiga entitas lainnya yaitu frek_asek, frek_kota, dan proses. Hubungan antara dataset dengan frek_asek adalah pre-processing data, yaitu aktivitas untuk mengubah data atribut asal_sekolah pada entitas dataset kedalam data yang berupa angka. Hubungan antara dataset dengan frek_kota adalah pre-processingdata, yaitu aktivitas untuk mengubah data atribut kota_asal pada entitas dataset kedalam data yang berupa angka. Kemudian relasi atau hubungan antara dataset, frek_asek, dan
frek_kota dengan proses adalah K-Means Clustering, yaitu atribut pada entitas dataset akan diolah kedalam sistem berdasarkan atribut asal_sekolah dan kota_asal yang dihubungkan dengan entitas frek_asek dan kota_asal untuk mendapatkan inisial dari masing-masing atribut.
Kemudian hubungan antara entitas proses dengan entitas centroid_lama adalah proses menentukan centroid baru, yaitu centroid lama akan mendapatkan nilai centroid baru dari proses dan selanjutnya akan diverifikasi apakah nilai centroid baru sama dengan nilai centroid lama.
3. Perancangan Tabel Database
Sistem aplikasi K-Means Clustering ini memiliki beberapa tabel database yang digunakan untuk mendukung berjalannya sistem aplikasi K-Means Clustering. Database yang dipakai menggunakan database MySQL. Tabel – tabel tersebut berada di dalam satu database yaitu database “bayu”. Database tersebut memiliki 6 tabel pendukung sistem.
Tabel – tabel yang dimaksud sebagai berikut:
a. Tabel Dataset
Tabel dataset adalah tabel yang berisikan tentang file yang diimportkan pertama kali oleh user/pengguna kedalam sistem. Tabel dataset mempunyai 4 kolom yaitu id_mhs, kota_asal, asal_sekolah, dan ipk. Data pada tabel ini nantinya yang akan diolah menggunakan algoritma K-Means Clustering pada sistem aplikasi ini. Tabel dataset tersebut adalah sebagai berikut:
Tabel 4.10 Tabel Database Dataset
NO Nama Kolom Tipe data Ukuran / Value Keterangan
1 id_mhs Int 11 Primary Key
2 kota_asal Varchar 30
3 asal_sekolah Varchar 30
4 Ipk Decimal 10, 2
b. Tabel Frek_Asal sekolah
Tabel frek_asal sekolah adalah sebuah tabel yang dibuat untuk menampung data hasil dari pengolahan salah satu proses pre- processing data yaitu transformation data/pengubahan data selain angka kedalam nilai angka dengan menghitung frekuensi data asal sekolah dari tabel database dataset dan memberi inisial dimulai dari frekuensi terbesar ke frekuensi terkecil. Dalam tabel ini berisikan beberapa kolom yaitu inijur sebagai primary key, asal_sekolah, frekuensi, dan otomatis. Maksud nama kolom inijur adalah singkatan dari inisial asal sekolah dan kolom tersebut berisikan inisial dari asal sekolah mahasiswa. Sedangkan kolom otomatis adalah data hasil perkalian antara frekuensi dikalikan dengan inisial. Maksud dari kolom otomatis ini adalah untuk mendukung fitur ‘otomatis’ yang
terdapat pada form penginputan centroid/titik pusat cluster. Fitur otomatis ini adalah untuk mensetting titik pusat cluster secara otomatis tanpa membutuhkan user menginputkan centroid secara manual. Tabel frek_asal sekolah adalah sebagai berikut:
Tabel 4.11 Tabel Database Frek_Asal sekolah
NO Nama Kolom Tipe data Ukuran / Value Keterangan
1 Ini_asek Int 11 Primary Key
2 asal_sekolah Varchar 30
3 Frekuensi Int 11
4 Otomatis Int 11
c. Tabel Frek_Kota
Tabel frek_kota adalah sebuah tabel yang dibuat untuk menampung data hasil dari pengolahan salah satu proses pre- processing data yaitu transformation data/pengubahan data selain angka ke dalam nilai angka dengan menghitung frekuensi data kota asal mahasiswa dari tabel database dataset dan memberi inisial dimulai dari frekuensi terbesar ke frekuensi terkecil. Dalam tabel ini berisikan beberapa kolom yaitu inikota sebagai primary key, kota_asal, frekuensi, dan otomatis. Maksud nama kolom inikota adalah singkatan dari inisial kota dan kolom tersebut berisikan inisial dari kota asal mahasiswa. Sedangkan kolom otomatis adalah data hasil perkalian antara frekuensi dikalikan dengan inisial. Maksud
dari kolom otomatis ini adalah untuk mendukung fitur ‘otomatis’
yang terdapat pada form penginputan centroid / titik pusat cluster.
fitur otomatis ini adalah untuk mensetting titik pusat cluster secara otomatis tanpa membutuhkan user menginputkan centroid secara manual. Tabel frek_kota adalah sebagai berikut:
Tabel 4.12 Tabel Database Frek_Kota
NO Nama Kolom Tipe data Ukuran / Value Keterangan
1 Inikota Int 11 Primary Key
2 kota_asal Varchar 30
3 Frekuensi Int 11
4 Otomatis Int 11
d. Tabel Centroid_lama
Tabel centroid_lama adalah sebuah tabel yang dibuat untuk menyimpan datacentroid yang diinputkan user/pengguna maupun yang diinputkan secara otomatis kedalam sistem aplikasi K-Means Clustering. Tabel centroid_lama ini juga berfungsi untuk menentukan dan memverifikasi apakah proses algoritma K-Means akan diulang atau tidak berdasarkan centroid baru yang diinputkan kedalam tabel database centroid_lama. Tabel tersebut mempunyai 2 kolom yaitu kolom id_centroid sebagai primary key dan kolom centroid_lama dengan memiliki index adalah unique yang berarti data di dalam kolom tersebut tidak bisa menyimpan data yang
bernilai sama. Perancangan tabel centroid_lama adalah sebagai berikut:
Tabel 4.13 Tabel Database Centroid_lama
NO Nama Kolom Tipe data Ukuran / Value Keterangan
1 id_centroid Int 11 Primary Key
2 centroid_lama Decimal 10, 7 Unique
e. Tabel Nomor
Tabel nomor ini adalah sebuah tabel yang berfungsi sebagai pendukung sistem aplikasi K-Means Clustering yaitu untuk menyimpan dan menampilkan jumlah proses perulangan algoritma K-Means yang telah diproses sistem. Tabel nomor ini memiliki 2 kolom yaitu id_nomor sebagai primary key dan kolom nomor. Tabel tersebut adalah sebagai berikut :
Tabel 4.14 Tabel Database Nomor
NO Nama Kolom Tipe data Ukuran / Value Keterangan
1 id_nomor Int 11 Primary Key
2 Nomor Int 11
f. Tabel Proses
Tabel proses adalah suatu tabel database yang dibuat untuk menyimpan setiap perulangan proses algoritma K-Means Clustering.
Sistem akan menghapus data yang diinputkan pada tabel proses setiap terjadi perulangan proses algoritma tersebut maka data yang berada pada tabel proses ini adalah data paling baru dari setiap perulangan algoritma K-Means clusetring. Di dalam tabel database proses memiliki beberapa kolom yaitu id_proses sebagai primary key, id_mhs sebagai foreign key, inikota sebagai foreign key, inijur sebagai foreign key, ipk, clustersatu, clusterdua, dan clustertiga.
Kolom id_mhs, inikota, dan iniasek adalah kolom yang mempunyai relasi / hubungan dengan tabel lainnya yaitu tabel dataset, tabel frek_kota, dan tabel frek_asek. Sedangkan kolom clustersatu, clusterdua, dan clustertiga adalah kolom pendukung yang berfungsi sebagai penanda untuk pengelompokan data/clustering data. Tabel proses ini adalah sebagai berikut:
Tabel 4.15 Tabel Database Proses
NO
Nama Kolom
Tipe data
Ukuran
/ Value Keterangan
1 id_proses Int 11
Primary Key
2 id_mhs Int 11
Foreign Key
3 Inikota Int 11
Foreign Key
Tabel 4.15 Tabel Database Proses (lanjutan)
NO
Nama Kolom
Tipe data
Ukuran
/ Value Keterangan
4 Iniasek Int 11
Foreign Key
5 Ipk decimal 10, 2
6 Clustersatu Varchar 10 7 Clusterdua Varchar 10 8 Clustertiga Varchar 10
g. Relasi Database
Relasi database adalah hubungan antara satu tabel database dengan tabel database lain yang masih berada di dalam satu database dan berfungsi agar data dalam tabel database dapat saling berhubungan dan memudahkan peneliti untuk menggabungkan dan menampilkan data dari tabel yang berbeda beda. Hubungan antar tabel database tersebut ada tiga macam yaitu one-to-one (satu baris data hanya bisa dihubungkan dengan satu baris data pada tabel relasinya), one-to-many (satu baris data bisa dihubungkan dengan satu atau lebih baris data pada tabel relasinya), dan many-to-many
(satu atau lebih baris data bisa dihubungkan dengan satu atau lebih baris data pada tabel relasinya). Perancangan relasi database pada sistem aplikasi K-Means Clustering ini adalah sebagai berikut:
Gambar 4.5 Relasi Database (Sistem K-Means Clustering)
Berdasarkan relasi database pada gambar 4.5 dapat diketahui bahwa tabel proses mempunyai relasi dengan tabel frek_kota, frek_asek, dan dataset. Sedangkan table centroid_lama tidak mempunyai hubungan dengan tabel lain karena tabel centroid_lama adalah hanya sebagai perantara untuk memverifikasi apakah nilai centroid baru yang didapatkan mempunyai nilai yang sama dengan nilai centroid lama. Sama halnya dengan tabel nomor yaitu hanya sebagai wadah sementara untuk menampilkan nomor proses pada setiap proses yang dialami oleh sistem.