pengembangan aplikasi penentuan tingkat keuntungan

advertisement
Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016)
Yogyakarta, 18-19 Maret 2016
ISSN: 2089-9815
PENGEMBANGAN APLIKASI PENENTUAN TINGKAT KEUNTUNGAN PADA ECOMMERCE DENGAN MENGGUNAKAN ALGORITMA K-MEANS DAN
APRIORI
Gunawan1, Fandi Halim2, Tony Saputra Debataraja3, Julianus Efrata Peranginangin4
1,2
Program Studi S-1 Sistem Informasi, STMIK Mikroskil, Medan
3,4
Program Studi S-1 Teknik Informatika, STMIK Mikroskil, Medan
Jl. Thamrin No. 140, Medan, 20212
E-mail: [email protected], [email protected]
ABSTRAKS
Pada persaingan e-commerce saat ini, mengetahui item yang paling banyak dibeli konsumen adalah strategi
yang tepat untuk meningkatkan keuntungan, namun akan sangat sulit bila dilakukan secara manual. Untuk itu
diperlukan metode pencarian data item yang paling banyak dibeli konsumen. Clustering dan asosiasi
merupakan tipe analisis data yang paling sering digunakan dalam dunia pemasaran. Teknik clustering
digunakan untuk mengelompokkan sejumlah data atau objek sehingga setiap cluster akan berisi data yang
semirip mungkin dan berbeda dengan objek dalam cluster lainnya, sedangkan asosiasi adalah teknik data
mining yang menggunakan kriteria support dan confidence untuk mengidentifikasi kombinasi antar item. Hasil
dari kedua analisis ini dapat digunakan sebagai strategi untuk menjalankan bisnis, seperti untuk mengetahui
item yang paling sering dibeli konsumen. Jenis dari clustering dan asosiasi adalah k-means dan apriori. Tujuan
dari penelitian ini untuk mengetahui item-item yang sering dibeli konsumen dan juga melihat waktu yang lebih
cepat dalam melakukan analisis transaksi penjualan.
Kata Kunci: apriori, asosiasi, clustering, k-means
aturan asosiasi di dalam aplikasi data mining dengan
teknik aturan asosiasi.
Dengan menggunakan metode k-means, data
item yang telah dikelompokkan akan ditentukan
pusat setiap kelompok dan dihitung menggunakan
rumus k-means sehingga menghasilkan kesimpulan
item yang yang paling banyak dibeli oleh konsumen,
sedangkan pada apriori, data item yang telah
dikelompokkan akan diseleksi sampai mendapatkan
item dengan nilai support dan confidence yang telah
ditetapkan, sehingga menghasilkan kesimpulan item
yang paling banyak dibeli oleh konsumen. Dengan
menggunakan kedua metode ini, pihak pengelola ecommerce dapat mengetahui barang yang paling
banyak dibeli oleh konsumen, sehingga pihak
pengelola e-commerce dapat menambah persediaan
barang tersebut untuk menambah keuntungan
mereka.
Sesuai dengan uraian sebelumnya, maka yang
menjadi masalah dalam penelitian ini adalah item
yang paling banyak dibeli oleh konsumen sulit
ditentukan bila dilakukan pencatatan data secara
manual dan pengamatan secara langsung, sehingga
diperlukan metode untuk menentukan item yang
paling banyak dibeli oleh konsumen untuk
meningkatkan daya saing e-commerce tersebut dan
menambah keuntungan e-commerce. Tujuan dari
penelitian
ini
adalah
untuk
memberikan
rekomendasi barang yang paling banyak dibeli oleh
konsumen kepada pihak pengelola e-commerce
dengan menggunakan metode k-means dan apriori.
Langkah-langkah
yang
ditempuh
dalam
penelitian ini adalah:
1. PENDAHULUAN
1.1 Latar Belakang
Strategi yang tepat tentunya mutlak diperlukan
dalam persaingan bisnis e-commerce saat ini.
Pengelola e-commerce tentunya telah mempunyai
cara untuk meningkatkan keuntungan dan menjaga
hubungan baik dengan konsumen mereka untuk
dapat bersaing dalam persaingan bisnis e-commerce.
Salah satu cara adalah mengetahui item (barang)
yang paling sering dibeli oleh konsumen yang dapat
menambah keuntungan e-commerce dan dapat
menjaga hubungan baik dengan pelanggan mereka.
Untuk mengetahui item apa saja yang paling sering
dibeli oleh konsumen tentunya akan sulit diketahui
bila dilakukan dengan pengamatan dan pencatatan
secara manual. Oleh karena itu diperlukan suatu
metode yang dapat membantu pihak pengelola ecommerce dalam menentukan item yang paling
sering dibeli oleh konsumen.
Metode yang dapat dipakai untuk menentukan
item yang paling sering dibeli oleh konsumen adalah
k-means dan apriori. K-means merupakan metode
clustering dalam data mining, sedangkan apriori
merupakan metode dengan aturan asosiasi dalam
data mining. K-means adalah sebuah algoritma
untuk mengklasifikasikan atau mengelompokkan
objek-objek (dalam hal ini data) berdasarkan
parameter tertentu ke dalam sejumlah grup, sehingga
dapat berjalan lebih cepat daripada hierarchical
clustering (jika k kecil) dengan jumlah variabel yang
besar dan menghasilkan cluster yang lebih rapat
(Kardi dan Barakbah, 2007). Apriori merupakan
algoritma yang sering digunakan untuk menemukan
328
Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016)
Yogyakarta, 18-19 Maret 2016
a. Tinjauan Pustaka: mengumpulkan buku, artikel,
jurnal, dan makalah yang berhubungan dengan
data mining serta menyaring referensi-referensi
tersebut sehingga diperoleh data yang relevan.
b. Analisis dan Perancangan: mempelajari dan
menganalisis cara kerja algoritma k-means dan
apriori, serta membuat rancangan aplikasi
dengan metode yang dipilih.
c. Pemrograman
(Coding):
melakukan
pemrograman dengan menggunakan bahasa
pemrograman Microsoft Visual Basic 2008.
d. Pengujian: mengeksekusi program dengan tujuan
menemukan kesalahan serta menguji sistem hasil
implementasi algoritma.
ISSN: 2089-9815
kemudian
dibuat
decision
tree
untuk
menentukan suatu objek termasuk jenis buah apa
jika nilai tiap-tiap atribut diberikan.
c. Clustering
Clustering termasuk metode yang sudah cukup
dikenal dan banyak dipakai dalam data mining.
Sampai sekarang para ilmuwan dalam bidang
data mining masih melakukan berbagai usaha
untuk melakukan perbaikan model clustering
karena metode yang dikembangkan sekarang
masih bersifat heuristik. Usaha-usaha untuk
menghitung jumlah cluster yang optimal dan
pengklasteran yang paling baik masih terus
dilakukan. Dengan demikian menggunakan
metode yang sekarang tidak bisa menjamin hasil
pengklasteran sudah merupakan hasil yang
optimal.
1.2
Data Mining
Data mining adalah serangkaian proses untuk
menggali nilai tambah dari suatu kumpulan data
berupa pengetahuaan yang selama ini tidak diketahui
secara manual. Data mining digunakan untuk
mengekstraksi dan mengidentifikasi informasi
pengetahuan potensial dan berguna yang bermanfaat
yang tersimpan di dalam database besar (Turban,
2005). Menurut Gartner Group, data mining adalah
suatu proses menemukan hubungan yang berarti,
pola, dan kecenderungan dengan memeriksa dalam
sekumpulan besar data yang tersimpan dalam
penyimpanan
dengan
menggunakan
teknik
pengenalan pola seperti teknik statistik dan
matematika (Larose, 2005).
Dengan definisi data mining yang luas, terdapat
banyak jenis metode analisis yang dapat
digolongkan dalam data mining, yaitu (Santosa,
2007):
a. Association rules
Association rules mining (aturan mining
asosiasi) berfungsi untuk menemukan asosiasi
antar variabel, korelasi atau suatu struktur di
antara item atau objek-objek di dalam database
transaksi, database relasional, maupun pada
penyimpanan informasi lainnya. Aturan asosiasi
ingin memberikan informasi tersebut dalam
bentuk hubungan “if-then” atau “jika-maka”.
Aturan ini dihitung dari data yang sifatnya
probabilistik.
b. Decision Tree
Dalam decision tree tidak menggunakan
vektor jarak untuk mengklasifikasikan objek.
Seringkali data observasi mempunyai atributatribut yang bernilai nominal. Decision tree
dapat diilustrasikan misalkan objeknya adalah
sekumpulan buah-buahan yang bisa dibedakan
berdasarkan atribut bentuk, warna, ukuran, dan
rasa. Bentuk, warna, ukuran, dan rasa adalah
besaran nominal, yaitu bersifat kategoris dan tiap
nilai tidak bisa dijumlahkan atau dikurangkan.
Dalam atribut warna terdapat beberapa nilai yang
mungkin, yaitu hijau, kuning, dan merah. Dalam
atribut ukuran terdapat nilai besar, sedang,
dan kecil. Dengan nilai-nilai atribut ini,
1.3
Algoritma K-Means
Algoritma k-means merupakan algoritma yang
relatif sederhana untuk mengklasifikasikan atau
mengelompokkan sejumlah besar objek dengan
atribut tertentu ke dalam kelompok-kelompok
(cluster) sebanyak K. Pada algoritma k-means,
jumlah cluster K sudah ditentukan terlebih dahulu.
K-means adalah algoritma clustering untuk data
mining yang diciptakan tahun 70-an dan berguna
untuk melakukan clustering secara unsupervised
learning (pembelajaran yang tidak terawasi) dalam
suatu kumpulan data berdasarkan parameter tertentu.
K-means
adalah
sebuah
algoritma
untuk
mengklasifikasikan atau mengelompokkan objekobjek (dalam hal ini data) berdasarkan parameter
tertentu ke dalam sejumlah grup, sehingga dapat
berjalan lebih cepat daripada hierarchical clustering
(jika kecil) dengan jumlah variabel yang besar dan
menghasilkan cluster yang lebih rapat (Kardi dan
Barakbah, 2007).
K-means memiliki properti: selalu ada K cluster,
paling tidak memiliki satu data dalam tiap cluster,
cluster ini merupakan non-hierarki dan tidak akan
terjadi overlap, dan setiap member dari sebuah
cluster berdekatan di-cluster terhadap cluster
lainnya karena kedekatan tidak selalu melibatkan
pusat dari cluster itu. Kelebihan k-means adalah
(Kardi dan Barakbah, 2007):
a. Dengan jumlah variabel yang besar, k-means
dapat berjalan lebih cepat daripada hierchical
clustering (jika K kecil).
b. K-means memungkinkan hasil yang lebih rapat
daripada hierarchical clustering, terutama jika
cluster berbentuk bola/lingkaran.
Selain memiliki kelebihan, k-means juga
memiliki kekurangan. Kekurangan dari algoritma kmeans ini adalah (Kardi dan Barakbah, 2007):
a. Kesulitan dalam membandingkan kualitas dari
hasil cluster (seperti untuk perbedaan pembagian
awal atau nilai dari K yang mempengaruhi hasil).
b. Jumlah cluster yang tepat dapat membuat
kesulitan dalam memprediksi berapakah K
329
Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016)
Yogyakarta, 18-19 Maret 2016
seharusnya.
c. Tidak akan bekerja dengan baik dengan cluster
yang tidak berbentuk bulat.
d. Pembagian
awal
yang
berbeda
dapat
menghasilkan akhir cluster yang berbeda. Hal ini
membantu untuk menjalankan kembali program
menggunakan nilai K yang berbeda, untuk
perbandingan hasil akhir yang diperoleh.
Berikut
adalah
langkah-langkah
dalam
memproses algoritma k-means (Larose, 2005):
a. Langkah Pertama: Buatlah dalam tabel item yang
telah dikelompokkan.
b. Langkah Kedua: Secara sembarang, pilihlah k
buah pusat kelompok sebagai pusat-pusat
kelompok awal.
c. Langkah Ketiga: Untuk setiap item yang telah
dikelompokkan, tentukan pusat kelompok
terdekatnya dan tetapkan catatan tersebut sebagai
anggota dari kelompok yang terdekat pusat
kelompoknya. Hitung rasio antara besaran
Between Cluster Variation dengan Within
Cluster Variation, lalu bandingkan rasio tersebut
dengan rasio sebelumnya (bila sudah ada). Jika
rasio tersebut membesar, maka lanjutkan ke
langkah keempat. Jika tidak, maka hentikan
prosesnya.
d. Langkah Keempat:
Perbarui
pusat-pusat
kelompok (berdasarkan kelompok yang didapat
dari langkah ketiga) dan kembalilah ke langkah
ketiga.
ISSN: 2089-9815
menemukan frequent-itemset yang merupakan
iterasi pada data. Pada iterasi ke-k ditemukan semua
himpunan item-item yang mempunyai k item yang
disebut k-itemset. Setiap iterasi terdiri dari dua
tahap. Pertama, adalah tahap pembangkitan
kandidat (candidate generation) dimana himpunan
semua frequent(k–1)-itemset Fk-1 yang ditemukan
pada
pass
ke-(k–1) digunakan untuk
membangkitkan kandidat itemset Ck. Prosedur
pembangkitan kandidat menjamin bahwa Ck adalah
superset dari himpunan semua frequent k-itemset.
Kemudian data di-scan dalam tahap Penghitungan
Support (Support Counting). Pada akhir pass Ck
diperiksa untuk menentukan kandidat mana yang
sering muncul, menghasilkan Fk. Penghitungan
support berakhir ketika Fk atau Ck+1 kosong. Untuk
membangkitkan rule akan dibangkitkan lebih
dahulu candidate rule. Candidate rule berisi semua
kemungkinan rule yang memiliki support >
minimum support, karena input candidate rule
adalah frequent-itemset. Kemudian candidate rule
akan di-join dengan tabel F untuk menemukan
support antecedent. Confidence rule dihitung
dengan cara membandingkan support rule dengan
support antecedent rule. Hanya rule yang
mempunyai confidence > minimum confidence
yang disimpan dalam tabel rule (tabel R).
2. PEMBAHASAN
2.1 Analisis
Pada tahapan analisis dilakukan analisis pada
aplikasi yang akan dikembangkan, yaitu analisis
proses dan analisis kebutuhan.
Analisis proses menjelaskan cara kerja dari
metode/algoritma yang akan digunakan dalam
bentuk flowchart seperti Gambar 1 dan 2 berikut ini.
1.4
Algoritma Apriori
Algoritma apriori adalah suatu algoritma yang
sudah sangat dikenal dalam melakukan pencarian
frequent itemset dengan menggunakan teknik aturan
asosiasi. Algoritma ini pertama kali diajukan oleh R.
Agrawal dan R. Srikant pada tahun 1994. Algoritma
apriori menggunakan knowledge untuk menentukan
frequent itemset, setelah itu memproses hasil
tersebut menjadi informasi yang digunakan untuk
menghasilkan kandidat-kandidat yang mungkin
berhubungan.
Terdapat 2 proses utama yang dilakukan dalam
algoritma apriori, yaitu (Han dan Kamber, 2001):
a. Join (penggabungan): Pada proses ini, setiap
item dikombinasikan dengan item yang lainnya
sampai tidak terbentuk kombinasi lagi.
b. Prune (pemangkasan): Pada proses ini, hasil dari
item yang telah dikombinasikan tadi lalu
dipangkas dengan menggunakan minimum
support yang telah ditentukan oleh user.
Algoritma apriori melakukan pendekatan iteratif
yang dikenal dengan pencarian level-wise, dimana kitemset digunakan untuk mengeksplorasi atau
menemukan (k+1)-itemset. Oleh karena itu,
algoritma apriori dibagi menjadi beberapa tahap
yang disebut iterasi. Tiap iterasi menghasilkan pola
frekuensi tinggi (frequent itemset). Sifat apriori
adalah setiap subset frequent-itemset harus menjadi
frequent-itemset.
Algoritma
apriori
untuk
Gambar 1. Flowchart Algoritma K-Means
330
Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016)
Yogyakarta, 18-19 Maret 2016
ISSN: 2089-9815
berfungsi untuk menampilkan informasi tentang
pembuat aplikasi. Tombol tutup berfungsi untuk
menutup form secara keseluruhan.
Gambar 4. Tampilan Form Utama
Pada form update database, user dapat
menambahkan data kode barang, nama barang, dan
harga barang. Sebelum user memproses data, maka
terlebih dahulu user harus meng-update data pada
form update database, dengan tampilan seperti
terlihat pada Gambar 5.
Gambar 2. Flowchart Algoritma Apriori
Analisis kebutuhan mendeskripsikan fitur-fitur
yang harus dipenuhi oleh aplikasi dalam bentuk use
case diagram seperti Gambar 3 berikut ini.
Gambar 5. Tampilan Form Update Database
Pada form proses, user dapat memulai proses
perhitungan memakai algoritma k-means dan
apriori. Melalui form proses, sistem akan secara
otomatis memproses data dari database memakai
algoritma k-means dan apriori dan menampilkan
hasil dari perhitungan tersebut, dengan tampilan
seperti terlihat pada Gambar 6.
Gambar 3. Use Case Diagram
2.2
Hasil Rancangan
Bagian ini menunjukkan tampilan antarmuka
pada aplikasi yang dikembangkan. Pada form utama
yang ditunjukkan pada Gambar 4 terdapat 4 tombol,
yaitu Proses, Update Database, Info, dan Tutup.
Tombol proses berfungsi untuk menampilkan
proses perhitungan memakai algoritma k-means dan
apriori. Tombol update database berfungsi untuk
menampilkan proses mengubah, meng-update, dan
menghapus data pada database. Tombol info
Gambar 6. Tampilan Form Proses
331
Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016)
Yogyakarta, 18-19 Maret 2016
Kemudian dilakukan pengujian hasil confidence,
dimana hasilnya ditunjukkan pada Tabel 4 berikut
ini.
2.3
Pengujian
Pengujian terhadap aplikasi dilakukan dengan
membandingkan algoritma k-means dan apriori
dalam menentukan barang yang dibeli oleh
konsumen, dimana parameternya dilihat dari
kecepatan memproses data. Tabel 1 dan 2
merupakan data barang dan transaksi yang
digunakan untuk melakukan pengujian aplikasi.
Tabel 4. Pengujian Hasil Confidence
X
N1, N2
N1, N4
N2, N4
Tabel 1. Daftar Barang Untuk Pengujian
Kode Barang
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
Nama Barang
Kalung
Gelang
Topi
T-shirt
Kebaya
Kemeja
Celana Pendek
Celana Panjang
Jaket
Jeans
Harga
30
20
15
80
180
150
120
140
170
160
Tabel 5. Hasil Pengujian K-Means
Iterasi
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
Item
N1, N2
N2, N4
N5
N7, N8, N3, N4
N9, N10, N1
N3, N4, N9
N8, N4, N2
N10, N5, N6, N1, N2
N6, N5, N1
N7, N6, N3
Tabel 3. Hasil Pengujian Apriori
Item Set
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N1, N2
N1, N4
N2, N4
N1, N2, N4
Jumlah
4
4
3
4
3
3
2
2
2
2
2
0
2
0
Support
0.400
0.400
0.300
0.400
0.300
0.300
0.200
0.200
0.200
0.200
0.200
0.000
0.200
0.000
Confidence
0
0
0
Selanjutnya akan dilakukan pengujian dengan
mengunakan algoritma k-means dengan hasilnya
ditunjukkan pada Tabel 5 berikut ini.
Langkah berikutnya akan dilakukan pengujian
terhadap transaksi di Tabel 2 dengan menggunakan
algoritma apriori. Hasilnya ditunjukkan pada Tabel
3 berikut ini.
Iterasi
1
1
1
1
1
1
1
1
1
1
2
2
2
3
Y
N4
N2
N1
Waktu yang dibutuhkan apriori dalam
memproses data tersebut adalah 160 millisecond.
Tabel 2. Data Transaksi Untuk Pengujian
Kode
T01
T02
T03
T04
T05
T06
T07
T08
T09
T10
ISSN: 2089-9815
Cluster
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
Anggota
T1, T2
T3
T6, T7, T10
T4, T5, T9
T8
T1, T2
T3
T6, T7, T10
T4, T5, T9
T8
T1, T2
T3
T6, T7, T10
T4, T5, T9
T8
T1, T2
T3
T6, T7, T10
T4, T5, T9
T8
Pusat
2
50
1
180
3
265
3
355
1
540
2
75
1
180
3
263.3
3.3 358.3
5
540
2
75
1
180
3
263.3
3.3 358.3
5
540
2
75
1
180
3
263.3
3.3 358.3
5
540
Kemudian dilakukan pengujian BCV/WCV,
dimana hasilnya ditunjukkan pada Tabel 6 berikut
ini.
Kandidat
Ya
Ya
Tidak
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Tidak
Ya
Ya
Tabel 6. Hasil Pengujian BCV/WCV
Iterasi
2
3
4
BCV/WCV
21.001
21.425
21.425
Transaksi Terdekat
T3, T8
Waktu yang dibutuhkan k-means dalam
memproses data tersebut adalah 115 millisecond.
Dari pengujian di atas diketahui bahwa algoritma
k-means lebih cepat dibandingkan algoritma apriori
dalam menentukan barang yang sering dibeli oleh
konsumen.
332
Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016)
Yogyakarta, 18-19 Maret 2016
3.
KESIMPULAN
Dari penelitian yang dilakukan, dapat
disimpulkan bahwa algoritma k-means lebih cepat
dalam menentukan barang yang sering dibeli oleh
konsumen dibandingkan dengan algoritma apriori.
Dari algoritma k-means dan apriori, user (pengelola
e-commerce) bisa melihat item yang sama pada
kedua algoritma, kemudian menambah item tersebut.
Untuk penelitian selanjutnya, di dalam menentukan
item yang paling banyak dibeli oleh pelanggan,
diperlukan keterangan dari item tersebut untuk
memudahkan
pengelola
e-commerce
dalam
mengindentifikasi item tersebut. Diperlukan
perbaikan di kesimpulan item yang paling banyak
dibeli yang di-input secara otomatis.
PUSTAKA
Han, J. and Kamber, M., 2001. Data Mining,
Concepts and Technique. San Francisco: Morgan
Kaufmann Punlishers.
Kardi, A. and Barakbah, A. R., 2007. Hierarchical
K-means: An Algorithm for Centroids
Initialization for K-means. Journal of The
Faculty of Science and Engineering, Vol. 36, No.
1 (pp. 25-31). Japan: Saga University.
Larose, D. T., 2005. Discovering Knowledge in
Data, An Introduction to Data Mining. John
Willey & Son, Inc.
Santosa, B., 2007. Data Mining, Teknik
Pemanfaatan Data untuk Keperluan Bisnis.
Yogyakarta: Graha Ilmu.
Turban, E., 2005. Decision Support System and
Intelligent Systems. Yogyakarta: Andi Offset.
333
ISSN: 2089-9815
Download