DATA MINING CLUSTERING DENGAN ALGORITMA FUZZY C

advertisement
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
Download