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: [email protected] ABSTRAK Data 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 pengelompokan 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, Data Mining, Fuzzy C-Means ABSTRACT Data 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. Data mining can be undertaken by using various methods. One of methods that used in this research was Fuzzy CMeans clustering method which used data from data entry of passangers for two years (2013 to 2014). Fuzzy Cmeans 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, Data 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. Data 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 pengelompokan jadwal keberangkatan potensial untuk mengetahui jadwal mana saja yang menghasilkan profit dengan jumlah yang banyak ataupun sedikit. Menurut Prasetyo (2014) metode pengelompokan (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 CMeans 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 pengelompokan jadwal keberangkatan yang menguntungkan, cukup, dan merugikan. 1.2 Rumusan Masalah Bagaimana pola dan implementasi pengelompokan 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 pengelompokan (clustering) untuk mengetahui jadwal keberangkatan yang menguntungkan, cukup, dan merugikan bagi perusahaan. 2. Landasan Teori 2.1 Data Mining Data mining adalah proses penemuan berbagai model, ringkasan, dan nilai-nilai yang berasal dari kumpulan data yang diperoleh [3]. Data Mining juga merupakan bagian dari proses penggalian pengetahuan dalam database yang sering disebut Knowledge Discovery from Database (KDD). KDD atau Knowledge Discovery from Database, merupakan proses terstruktur, yaitu sebagai berikut: [2]. 1. Data Cleaning (proses membersihkan data dari data noise dan tidak konsisten). 2. Data Integration (proses untuk menggabungkan data dari beberapa sumber yang berbeda). 3. Data Transformation (proses mengubah bentuk data menjadi data yang sesuai untuk proses mining). 4. Data 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). Xij = 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 = P0 = 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 𝑗 = ∑𝑐𝑘=1 µ𝑖𝑘 (1) dengan j= 1,2,...m. Hitung: 𝜇 𝜇𝑖𝑘 = 𝑖𝑘 (2) 𝑄𝑗 4. Hitung pusat cluster ke-k: Vkj, dengan k= 1,2,...,c; dan j= 1,2,...,m. V𝑘𝑗 = 𝑤 ∑𝑛 𝑖=1((𝜇𝑖𝑘 ) 𝑥𝑖𝑗 ) (3) 𝑤 ∑𝑛 𝑖=1(𝜇𝑖𝑘 ) 5. Hitung fungsi objektif pada iterasi ke-t, Pi: 2 𝑤 𝑃𝑡 = ∑𝑛𝑖=1 ∑𝑐𝑘=1([∑𝑚 𝑗=1(𝑋𝑖𝑗 − 𝑉𝑘𝑗 ) ](𝜇𝑖𝑘 ) ) (4) 6. Hitung perubahan matriks partisi: −1 𝜇𝑖𝑘 = 2 𝑤−1 [∑𝑚 𝑗=1(𝑋𝑖𝑗 − 𝑉𝑘𝑗 ) ] −1 2 𝑤−1 ∑𝑐𝑘=1[∑𝑚 𝑗=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. Data tersebut didapatkan dari Kepala Cabang Travel PT.XYZ Tasikmalaya. Setelah pengumpulan data, kemudian dilakukan tahap persiapan proses data mining yang terdiri dari Data Cleaning, Data Integration dan Data Selection. 3.1 Data Cleaning Data 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 Data Sebelum Kolom ‘No’ Cleaning Dihilangkan Sesudah - Kolom ‘Jadwal Keberang katan’ Tetap, tapi tidak dipilih Data Ke-i Alasan Perubahan nilainya selalu konstan Memiliki nilai yang menjadi set data 2 Kolom ‘Senin’ Dihilangkan Weekday pnp Kolom ‘Selasa’ Dihilangkan Weekday pnp Kolom ‘Rabu’ Dihilangkan Weekday pnp Kolom ‘Kamis’ Dihilangkan Weekday pnp Kolom ‘Jumat’ Dihilangkan Weekday pnp Kolom ‘Sabtu’ Dihilangkan Weekend pnp Kolom ‘Minggu’ Dihilangkan Weekend pnp Kolom ‘Total Pnp’ Baris ‘Jumlah’ Dihilangkan - Dihilangkan - Kolom ‘Rata2 pnp’ Dihilangkan Weekday pnp Nilainya dimasukan dalam kolom ‘weekday pnp’ Nilainya dimasukan dalam kolom ‘weekday pnp’ Nilainya dimasukan dalam kolom ‘weekday pnp’ Nilainya dimasukan dalam kolom ‘weekday pnp’ Nilainya dimasukan dalam kolom ‘weekday pnp’ Nilainya dimasukan dalam kolom ‘weekend pnp’ Nilainya dimasukan dalam kolom ‘weekend pnp’ Nilainya tidak mempengaruhi pengelompokan Nilainya tidak mempengaruhi pengelompokan Nilainya tidak mempengaruhi pengelompokan 3.2 Data Integration Data Integration merupakan proses menggabungkan data dari banyak database atau data warehouse. Data set yang telah melalui proses cleaning perlu di integrasikan antara setiap bulannya karena data tersebut terpisah. Data ini diintegrasikan periodenya menjadi setiap 4 bulan sekali. 3.3 Data Transformation Data Transformation dilakukan untuk mengubah bentuk data menjadi format data yang dapat diketahui oleh Data Mining Tools. Hal ini tentunya akan sangat membantu memudahkan pengguna dalam proses mining ataupun memahami hasil yang didapat [2]. Data 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 Data 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). Xij = data sampel ke-i (i=1,2,...,n), atribut ke-j (j=1,2,...,m). Tabel 3.2 Set Data Matriks X ATRIBUT Data X Y Ke-i (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 Data U1 U2 U3 Ke-i 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: Vkj, 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 Data Ke-i (ui1)w (ui1)wxi1 (ui1)wxi2 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 Data Ke-i (ui2)w (ui2)wxi1 (ui2)wxi2 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 6 0,0841 7 5. Hitung fungsi objektif pada iterasi ke-t, Pi: Dari perhitungan fungsi objektif dengan rumus (4), didapatkan nilai sebagai berikut: Tabel 3.8 Fungsi Objektif pada iterasi 1 P1 P1 P1 Data 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 Data ke-i ui1 ui2 ui3 0,1500 1 0,2819 0,2701 0,4481 0,0390 0,0463 2 0,2073 0,1935 0,5991 0,0361 0,0185 0,0219 3 0,2216 0,2373 0,5411 8 0,2304 0,1070 0,1184 4 0,2908 0,3152 0,3939 Jumlah 1,0119 0,5444 0,5698 5 0,3382 0,4015 0,2603 6 0,3980 0,3941 0,2079 7 0,3809 0,4344 0,1848 Tabel 3.6 Centroid pada setiap data cluster 3 Data Ke-i (ui3)w (ui3)wxi1 (ui3)wxi2 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 8 0,3886 0,3718 0,2396 Dengan: i = 1,2,...,n; k = 1,2,...,c. 7. Cek kondisi berhenti: P1 – 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 Data Cluster yang ui1 ui2 ui3 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 ke-i Terbesar Diikuti [5] Ramadhana, C. 2013. Data 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. 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. Data Mining : Concepts, Models and Techniques. Berlin Heidelberg: Springer-Verlag. [2] Han, J., Kamber, M., & Pei, J. 2012. Data Mining Concepts and Techniques. Waltham USA: Morgan Kaufmann. [3] Kantardzic, M. 2011. Data Mining : Concepts, Models, Methods, and Algorithms. Hoboken, New Jersey: IEEE Press. [4] Prasetyo, E. 2014. Data Mining Mengolah Data Menjadi Informasi Menggunakan Matlab. Yogyakarta: Andi. 5