DATA MINING CLUSTERING DENGAN ALGORITMA FUZZY C-MEANS UNTUK PENGELOMPOKAN JADWAL KEBERANGKATAN DI TRAVEL PT. XYZ TASIKMALAYA Aseptian Nugraha, Acep Irham Gufroni, Rohmat Gunawan Teknik Informatika Fakultas Teknik Universitas Siliwangi Email: aseptiann@gmail.com ABSTRAK rekap penumpang yang terkumpul setiap hari pada perusahaan travel mengakibatkan besarnya jumlah data tersimpan dalam tumpukan data. Jumlah penumpang pada setiap jadwal keberangkatan berfluktuasi, sehingga gambaran jadwal keberangkatan yang berpotensi baik, sedang, dan kurang tidak diketahui. Dengan memanfaatkan data-data tersebut, proses penggalian data sebagai informasi penting bagi perusahaan dapat dilakukan dengan data mining. Metode yang digunakan diantaranya metode Fuzzy C-Means menggunakan data yang bersumber dari data rekap penumpang selama dua tahun, yakni 2013 hingga 2014. Metode Fuzzy C-Means ini menghasilkan output berupa tiga cluster yaitu menguntungkan sebanyak 25% jadwal keberangkatan, cukup 50% jadwal keberangkatan, dan merugikan 25% jadwal keberangkatan. Kata Kunci: Perusahaan Travel, Jadwal Keberangkatan, Mining, Fuzzy C-Means ABSTRACT entry of passangers that has been collected everyday in travel company caused big amount of data saved in the data base. The amount of passangers in every departure were fluctuative. Therefore, description of departure schedule that has good potensial, midle potensial and less potensial cannot be indentified. By using those data, the process of gaining important information for the company can be undertaken by using data mining. mining can be undertaken by using various methods. One of methods that used in this research was Fuzzy C- Means clustering method which used data from data entry of passangers for two years (2013 to 2014). Fuzzy C- means method produced three clusters as the output. The results showed that 25% of departure schedule is profitable, 50 % produced enough profit and 25 % inflicted a financial loss. Keywords: Travel Company, Departure Schedule, Mining, Fuzzy C-Means 1. Pendahuluan 1.1 Latar Belakang Perusahaan-perusahaan yang bergerak dibidang jasa mulai bermunculan selaras dengan tuntutan kebutuhan manusia. Salah satu perusahaan jasa yaitu perusahaan travel yang bergerak di bidang transportasi. Munculnya jasa tour dan travel pada saat ini membuat masyarakat lebih mudah dalam mendapatkan jasa transportasi [6]. Pada awal berdiri perusahaan ini hanya memiliki empat jadwal keberangkatan, terciptanya loyalitas pelanggan mengakibatkan kenaikan penjualan, maka pihak perusahaan menambah jadwal keberangkatan menjadi delapan setiap harinya sehingga data rekap penumpang pada penjualan jumlahnya semakin banyak. jumlah penumpang pada setiap jadwal keberangkatan berfluktuasi, sehingga gambaran jadwal keberangkatan yang berpotensi baik, sedang dan kurang tidak diketahui. Pelebaran kesenjangan antara data dan informasi menjadikan pengembangan sistematis alat data mining yang dapat mengubah data menjadi gunung emas pengetahuan (Han, Kamber, & Pei, 2012). Dari data rekap penumpang PT. XYZ menampilkan beberapa jadwal keberangkatan dengan jumlah penumpang bervariasi. Untuk itu diusulkan jadwal keberangkatan potensial untuk mengetahui jadwal mana saja yang menghasilkan profit dengan jumlah yang banyak ataupun sedikit. Menurut Prasetyo (2014) metode (clustering) dibagi menjadi 2 bagian, yaitu cluster berbasis partisi dan cluster berbasis hierarki. Cluster berbasis partisi terdiri dari K-Means, K-Harmonic Means, K-Modes, dan Fuzzy C-Means, sedangkan cluster berbasis hierarki yaitu Agglomerative Hierarchical Cluster dan Divisive Hierarchical Cluster. Algoritma clustering yang bagus tergantung pada penerapan set data yang diproses [4]. Pemilihan metode clustering dengan jenis algoritma Fuzzy C- Means digunakan untuk menyelesaikan permasalahan di atas, karena data yang akan digunakan berupa data numerik yaitu dari rekap penumpang pada data penjualan serta dapat mengelompokkan data dalam jumlah besar dengan waktu yang relatif cepat dan efisien. Dengan demikian pemilihan metode yang tepat dapat memperoleh hasil yang akurat dalam pengolahan data mining. Begitu pula pengolahan data yang akan dilakukan pada PT. XYZ yang bertujuan untuk mengetahui jadwal keberangkatan yang menguntungkan, cukup, dan merugikan. 1.2 Rumusan Masalah Bagaimana pola dan implementasi Fuzzy C-Means pada jadwal keberangkatan di Travel PT. Starline Cabang Tasikmalaya periode 2013-2014. 1
1.3 Batasan Masalah Hal yang menjadi batasan dan dasar pada penelitian ini adalah data yang akan dianalisa merupakan data rekap penumpang pada tahun 2013 dan 2014. 1.4 Tujuan Penelitian Mengimplementasikan data mining menggunakan algoritma Fuzzy C-Means dengan metode (clustering) untuk mengetahui jadwal keberangkatan yang menguntungkan, cukup, dan merugikan bagi perusahaan. 2. Landasan Teori 2.1 Mining mining adalah proses penemuan berbagai model, ringkasan, dan nilai-nilai yang berasal dari kumpulan data yang diperoleh [3]. Mining juga merupakan bagian dari proses penggalian pengetahuan dalam database yang sering disebut Knowledge Discovery from base (KDD). KDD atau Knowledge Discovery from base, merupakan proses terstruktur, yaitu sebagai berikut: [2]. 1. Cleaning (proses membersihkan data dari data noise dan tidak konsisten). 2. Integration (proses untuk menggabungkan data dari beberapa sumber yang berbeda). 3. Transformation (proses mengubah bentuk data menjadi data yang sesuai untuk proses mining). 4. Mining (proses penting yang menggunakan sebuah metode tertentu untuk memperoleh sebuah pola dari data). 5. Pattern Evaluation (proses mengidentifikasi pola yang dapat merepresentasikan informasi yang dibutuhkan). 2.2 Clustering Clustering adalah metode untuk membagi satu set data (catatan/ tupel/ vektor/ contoh/ objek/ sampel) dalam beberapa kelompok (cluster), berdasarkan kesamaan tertentu yang telah ditentukan [1]. 2.3 Metode Fuzzy C-Means Fuzzy C-Means adalah salah satu teknik pengelompokkan data yang mana keberadaan tiap titik data dalam suatu kelompok (cluster) ditentukan oleh derajat keanggotan. Metode Fuzzy C-Means termasuk metode supervised clustering dimana jumlah pusat cluster ditentukan di dalam proses clustering [5]. Algoritma Fuzzy C-Means disusun dengan langkah sebagai berikut: [5]. 1. Input data yang akan di cluster X, berupa matriks berukuran n x m (n = jumlah sampel data, m = atribut setiap data). X ij = data sampel ke-i (i=1,2,...,n), atribut ke-j (j=1,2,...,m). 2. Tentukan: Jumlah cluster yang akan dibentuk = c (c 2); Pangkat (pembobot) = w (w > 1), nilai dari w yang paling optimal dan sering dipakai adalah w = 2 (Klawonn dan Keller,1997); =w; Maksimum iterasi = Maxlter; Error terkecil yang diharapkan (nilai positif yang sangat kecil) sebagai kriteria penghentian = ξ; Fungsi objektif awal = P 0 = 0; Iterasi awal = t = 1; 3. Bangkitkan bilangan random µ ik = 1,2,...,n; k = 1,2,...,c; sebagai elemen-elemen matriks partisi awal U. Hitung jumlah setiap kolom (atribut): Q j = c k=1 µ ik (1) dengan j= 1,2,...m. Hitung: μ ik = μ ik (2) Q j 4. Hitung pusat cluster ke-k: V kj, dengan k= 1,2,...,c; dan j= 1,2,...,m. V kj = n i=1 ((μ ik) w x ij ) (3) n i=1(μ ik ) w 5. Hitung fungsi objektif pada iterasi ke-t, P i: n c P t = k=1([ m j=1 (X ij V kj ) 2 ](μ ik ) w ) 6. Hitung perubahan matriks partisi: μ ik = i=1 (4) [ m j=1 (X ij V kj ) 2 1 ] w 1 [ (X ij V kj ) 2 1 c m ] w 1 k=1 j=1 (5) Dengan: i = 1,2,...,n; k = 1,2,...,c. 7. Cek kondisi berhenti: Jika: (ǀ Pt Pt-1 ǀ < ξ) atau (t > Maxlter) maka berhenti; Jika tidak: t = t + 1, ulangi kembali langkah ke-4. 3. Metodologi Penelitian dimulai dengan mengumpulkan data referensi konsep dan algoritma data mining, khususnya algoritma Fuzzy C-Means. Dibutuhkan juga data set yang dikumpulkan dari data penjualan travel PT. XYZ Cabang Tasikmalaya. tersebut didapatkan dari Kepala Cabang Travel PT.XYZ Tasikmalaya. Setelah pengumpulan data, kemudian dilakukan tahap persiapan proses data mining yang terdiri dari Cleaning, Integration dan Selection. 3.1 Cleaning Cleaning merupakan proses untuk dapat mengatasi nilai yang hilang, noise dan data yang tidak konsisten [2]. Proses cleaning dilakukan pada kolom, seperti pada tabel dibawah ini: Tabel 3.1 Proses Cleaning Sebelum Cleaning Sesudah Alasan Dihilangkan - Perubahan No nilainya selalu Jadwal Keberang katan Tetap, tapi tidak dipilih konstan Ke-i Memiliki nilai yang menjadi set data 2
Senin Selasa Rabu Kamis Jumat Sabtu Minggu Total Pnp Baris Jumlah Rata2 pnp Dihilangkan Weekday pnp Nilainya dimasukan Dihilangkan Weekend Nilainya weekend pnp Dihilangkan Weekend Nilainya weekend pnp Dihilangkan - Nilainya tidak Dihilangkan - Nilainya tidak Dihilangkan Weekday pnp Nilainya tidak 3.2 Integration Integration merupakan proses menggabungkan data dari banyak database atau data warehouse. set yang telah melalui proses cleaning perlu di integrasikan antara setiap bulannya karena data tersebut terpisah. ini diintegrasikan periodenya menjadi setiap 4 bulan sekali. 3.3 Transformation Transformation dilakukan untuk mengubah bentuk data menjadi format data yang dapat diketahui oleh Mining Tools. Hal ini tentunya akan sangat membantu memudahkan pengguna dalam proses mining ataupun memahami hasil yang didapat [2]. set yang telah melalui proses cleaning dan integrasi perlu dilakukan transformasi karena data rekap penumpang akan dibuat menjadi data set yang dapat diketahui atau sesuai untuk di-mining. 3.4 Mining a. Fuzzy C-Means Dalam metode Fuzzy C-Means keanggotaan sebuah data tidak diberikan nilai secara tegas dengan nilai 1 (menjadi anggota) dan 0 (tidak menjadi anggota) melainkan dengan satu nilai derajat keanggotaan yang jangkauan nilainya 0 sampai 1. Fuzzy menentukan status sebuah data pada setiap himpunan berdasarkan nilai derajat keanggotaan pada setiap himpunan [4]. Berikut langkah-langkah Algoritma Fuzzy C-Means yang dijelaskan di bab 2 sebagai berikut: 1. Input data yang akan di cluster X, berupa matriks berukuran n x m (n = jumlah sampel data, m = atribut setiap data). X ij = data sampel ke-i (i=1,2,...,n), atribut ke-j (j=1,2,...,m). Tabel 3.2 Set Matriks X ATRIBUT Ke-i X Y (1) (2) 1 63% 48% 2 59% 52% 3 58% 58% 4 58% 61% 5 55% 60% 6 46% 55% 7 51% 61% 8 46% 51% 2. Ditentukan nilai awal sebagai berikut:: Jumlah cluster yang akan dibentuk adalah 3, yaitu menguntungkan, cukup, dan merugikan. Pangkat atau pembobot yang digunakan adalah 2. Maksimum iterasi adalah 10. Error terkecil yang diharapkan adalah 10-4. Fungsi objektif awal yang digunakan adalah 0. Nilai iterasi awal adalah 1. 3. Membangkitkan bilangan random µ ik = 1,2,...,n; k = 1,2,...,c; sebagai elemen-elemen matriks partisi awal U. Tabel 3.3 Matriks Partisi Awal U Ke-i 1 U 2 U 3 1 0,50 0,13 0,37 2 0,20 0,38 0,42 3 0,10 0,30 0,60 4 0,29 0,40 0,31 5 0,27 0,50 0,23 6 0,49 0,29 0,22 7 0,62 0,19 0,19 8 0,20 0,48 0,32 Sesuai pada rumus (1) bilangan random dibuat dengan syarat jumlah dari setiap kolom pada satu baris bernilai 1. Sehingga pada rumus persamaan (2) didapatkan bahwa matriks pada data ke-i dari cluster ke k apabila dibagi dengan jumlah dari setiap kolom dari satu baris hasilnya sama. 4. Hitung pusat cluster ke-k: V kj, dengan k= 1,2,...,c; dan j= 1,2,...,m. Dari rumus (3) dicari pusat cluster dengan jumlah matriks setiap cluster k dikali dengan 3
matriks X pada data ke-i atribut ke j kemudian dibagi dengan jumlah matriks pada cluster k. Sebagai contoh: Tabel 3.4 Centroid pada setiap data cluster 1 Ke-i (ui1) w (ui1) w xi1 (ui1) w xi2 1 0,2500 0,1583 0,1199 2 0,0400 0,0238 0,0210 3 0,0100 0,0058 0,0058 4 0,0841 0,0491 0,0511 5 0,0729 0,0403 0,0437 6 0,2401 0,1113 0,1321 7 0,3844 0,1965 0,2329 8 0,0400 0,0186 0,0206 Jumlah 1,1215 0,6036 0,6271 Tabel 3.5 Centroid pada setiap data cluster 2 Ke-i (ui2) w (ui2) w xi1 (ui2) w xi2 1 0,0169 0,0107 0,0081 2 0,1444 0,0857 0,0758 3 0,0900 0,0519 0,0521 4 0,1600 0,0934 0,0972 5 0,2500 0,1382 0,1500 6 0,0841 0,0390 0,0463 7 0,0361 0,0185 0,0219 8 0,2304 0,1070 0,1184 Jumlah 1,0119 0,5444 0,5698 Tabel 3.6 Centroid pada setiap data cluster 3 Ke-i (ui3) w (ui3) w xi1 (ui3) w xi2 1 0,1369 0,0867 0,0657 2 0,1764 0,1047 0,0925 3 0,3600 0,2075 0,2084 4 0,0961 0,0561 0,0584 5 0,0529 0,0292 0,0317 6 0,0484 0,0224 0,0266 7 0,0361 0,0185 0,0219 8 0,1024 0,0476 0,0526 Jumlah 1,0092 0,5728 0,5579 Dari rumus (3) centroid pada cluster ke 1 dengan atribut ke 1 didapat dari: Maka didapatkan centroid cluster sebagai berikut: Tabel 3.7 Centroid 3 cluster Vkj 1 2 1 0,5382 0,5592 2 0,5380 0,5631 3 0,5676 0,5528 5. Hitung fungsi objektif pada iterasi ke-t, P i: Dari perhitungan fungsi objektif dengan rumus (4), didapatkan nilai sebagai berikut: Tabel 3.8 Fungsi Objektif pada iterasi 1 Ke-i Cluster 1 Cluster 2 Cluster 3 1 0,0038 0,0003 0,0013 2 0,0002 0,0007 0,0003 3 0,0000 0,0002 0,0003 4 0,0004 0,0007 0,0003 5 0,0001 0,0004 0,0001 6 0,0014 0,0005 0,0005 7 0,0011 0,0001 0,0002 8 0,0003 0,0018 0,0012 Jumlah 0,0073 0,0045 0,0043 Jumlah Fungsi Objektif iterasi 1 adalah 0,0161. Didapatkan dari penjumlahan fungsi objektif setiap cluster. 6. Hitung perubahan matriks partisi: Dari perhitungan perubahan matriks partisi dengan rumus (5), didapatkan nilai sebagai berikut: Tabel 3.9 Matriks partisi setelah perubahan iterasi 1 ke-i ui1 ui2 ui3 1 0,2819 0,2701 0,4481 2 0,2073 0,1935 0,5991 3 0,2216 0,2373 0,5411 4 0,2908 0,3152 0,3939 5 0,3382 0,4015 0,2603 6 0,3980 0,3941 0,2079 7 0,3809 0,4344 0,1848 8 0,3886 0,3718 0,2396 Dengan: i = 1,2,...,n; k = 1,2,...,c. 7. Cek kondisi berhenti: P0 < ξ = 0,0161-0 < 0,0001 maka <<salah>>; atau t > Maxlter = 1 > 10 maka <<salah>> ; Karena 2 syarat berhenti diatas belum tercapai atau bernilai benar, maka nilai t = t + 1, diulangi kembali langkah ke-4 sampai ditemukan salah satu diantara 2 syarat tersebut yang terpenuhi. 4. Hasil dan Pembahasan 4.1 Hasil Perhitungan Algoritma Fuzzy C-Means, memproses data set yang bersumber dari data rekap penumpang sebanyak 5.992 trip record, dengan menghitung nilai occupancy pada atribut weekday dan weekend. Dari hasil perhitungan yang telah dilakukan, jumlah iterasi sebanyak 10 kali karena nilai fungsi objektif belum memenuhi syarat pada error yang diharapkan sebagai kriteria penghentian. Berikut hasil yang didapatkan dari perhitungan tersebut: 4
Tabel 4.1 Hasil Perhitungan Fuzzy C-Means ke-i u i1 u i2 u i3 Terbesar Cluster yang Diikuti 1 0,0216 0,0356 0,9428 0,9428 3 2 0,0533 0,1403 0,8064 0,8064 3 3 0,0348 0,9016 0,0636 0,9016 2 4 0,0294 0,9256 0,0449 0,9256 2 5 0,0072 0,9866 0,0061 0,9866 2 6 0,9701 0,0205 0,0094 0,9701 1 7 0,2477 0,6725 0,0797 0,6725 2 8 0,9567 0,0253 0,0180 0,9567 1 Metode Fuzzy C-Means ini menghasilkan output berupa tiga cluster yaitu: 1. Cluster 3 Menguntungkan: jadwal keberangkatan jam 04.00 dan 06.00 2. Cluster 2 Cukup: jadwal keberangkatan jam 08.00, 10.00, 13.00 dan 17.00. 3. Cluster 1 Merugikan: jadwal keberangkatan jam 15.00 dan 19.00. Jadi, output dari tiga cluster itu dapat disimpulkan dari 8 jadwal keberangkatan bahwa menguntungkan sebanyak 25% jadwal keberangkatan, cukup 50% jadwal keberangkatan, dan merugikan 25% jadwal keberangkatan. 5. Kesimpulan dan Saran 5.1 Kesimpulan Setelah dilakukan pengolahan data mining pada penelitian ini, metode perhitungan Fuzzy C-Means cocok digunakan pada data rekap penumpang karena data set berupa numerik sehingga bisa menghasilkan output berupa tingkat profit jadwal keberangkatan berdasarkan kategori weekday dan weekend. 5.2 Saran Diharapkan sebelum dilakukan pemilihan algoritma data mining sebaiknya dilihat dari bentuk set datanya. Proses pengerjaan dalam tahapan penelitian dilakukan sesuai dengan kondisi terkait di lapangan dan tidak menjadi tahapan baku untuk proses penelitian sejenis. 6. Daftar Pustaka [1] Gorunescu, F. 2011. Mining : Concepts, Models and Techniques. Berlin Heidelberg: Springer-Verlag. [5] Ramadhana, C. 2013. Mining dengan Algoritma Fuzzy C-Means Clustering dalam Kasus Penjualan di PT Sepatu Bata. [6] Rifa'i, M. 2013. Strategi Komunikasi Interpersonal Customer Relations dalam Meningkatkan Kepuasan Pelanggan. [2] Han, J., Kamber, M., & Pei, J. 2012. Mining Concepts and Techniques. Waltham USA: Morgan Kaufmann. [3] Kantardzic, M. 2011. Mining : Concepts, Models, Methods, and Algorithms. Hoboken, New Jersey: IEEE Press. [4] Prasetyo, E. 2014. Mining Mengolah Menjadi Informasi Menggunakan Matlab. Yogyakarta: Andi. 5