Aplikasi Data Mining untuk Meneliti Asosiasi

advertisement
Aplikasi Data Mining untuk meneliti Asosiasi
Pembelian Item Barang di Supermaket
dengan Metode Market Basket Analysis
ANDREAS HANDOJO, GREGORIUS SATIA BUDHI, HENDRA RUSLY
Jurusan Teknik Informatika
Universitas Kristen Petra
Siwalankerto 121 – 131, Surabaya. Fax : 031-8436418
e-mail : [email protected] , [email protected]
ABSTRAK
Dewasa ini muncul tuntutan bagi seorang pengambil
keputusan, untuk dapat melihat peluang-peluang yang
dapat meningkatkan penjualan di perusahaannya,
berdasarkan informasi yang relevan. Pengambil keputusan
perlu memakai suatu sistem yang dapat mendukungnya
dalam mengambil keputusan secara cepat dan juga tepat.
Knowledge atas suatu produk, dapat digunakan oleh
perusahaan untuk meningkatkan penjualan. Salah satu
cara untuk mendapatkan knowledge adalah dengan
melakukan data mining.
Aplikasi ini akan menggunakan algoritma apriori
untuk melakukan analisa market basket analysis. Data
yang diperlukan diambil dari data transaksi penjualan
selama periode tertentu dan diolah sehingga menghasilkan
frequent itemset dan pada akhirnya menghasilkan
association rules dari barang dalam transaksi. Rules
ditampilkan dalam bentuk grafik dan dalam bentuk file
teks. Aplikasi ini menggunakan aplikasi Borland Delphi 7
dan Microsoft Access.
Dengan menggunakan aplikasi ini, pengambil
keputusan dapat mengetahui barang apa saja yang sering
dibeli bersamaan oleh konsumen di supermarket.
Kata Kunci :
Data Mining, Association Rules, Market Basket Analysis
1. Pendahuluan
Pada umumnya perusahaan mengumpulkan
informasi melalui sistem database yang berguna untuk
menampung data transaksi, kemudian nantinya data
tersebut diolah sehingga dapat diketahui tingkat dan
volume suatu penjualan, pembelian pada suatu waktu
tertentu dan sebagainya, sehingga seorang manajer
perusahaan dapat mengatur strategi pemasaran bagi
perusahaannya.
Terkadang hasil dari pengolahan data dengan
cara sederhana (query) tidak mendapatkan hasil yang
efektif karena demikian besarnya volume data yang
diolah dan kesulitan untuk melihat asosiasi antara
penjualan barang yang satu dengan yang lain. Dengan
demikian perlu adanya suatu sistem yang dapat
mendukung manajer dalam mengambil keputusan, secara
cepat dan juga tepat, oleh karena itu diperlukan suatu
sistem pengolahan database dengan aplikasi data mining
dengan metode market basket analysis yang bekerja
dengan cara, mencari dan menemukan pola–pola yang
berasosiasi
diantara
produk-produk
yang
ditawarkan/dipasarkan, misalnya : menemukan bahwa
barang A biasanya dibeli secara bersamaan dengan barang
B oleh seorang konsumen pada suatu waktu tertentu
dengan sejumlah pembelian bersama. Teknik ini disebut
juga assosiation rule analysis yang merupakan salah satu
cara untuk melakukan data mining.
Hasil yang didapatkan dari proses data mining ini
nantinya dijadikan suatu knowledge baru yang dapat
digunakan oleh sebuah perusahaan untuk meningkatkan
produksi maupun penjualan produk-produknya. Misalkan
pada supermarket, jika manajer supermarket tersebut telah
mengetahui barang apa yang biasa dibeli bersamaan, maka
salah satu tindakan konkrit yang dapat diambil oleh pihak
supermarket dapat menata rak-rak barangnya sesuai
dengan informasi dan pengetahuan yang telah
didapatkannya tadi, barang A di letakkan berdekatan atau
malah berjauhan dengan barang B, karena kedua barang ini
sering dibeli bersamaan. Tindakan lainnya, mungkin
perusahaan bisa juga meningkatkan lagi pengiklanan itemitem yang berasosiasi tersebut, semua ini tergantung
kepada bagaimana strategi perusahaan dalam menghadapi
pasar. Dengan adanya data mining terhadap data transaksi
penjualannya, supermarket tersebut minimal mengetahui
dengan lebih baik bagaimana mereka harus menata rak-rak
barangnya agar dapat meningkatkan penjualan.
2. Konsep Data Mining
Alasan utama mengapa data mining menarik
perhatian banyak pihak yang bergerak di bidang teknologi
informasi beberapa tahun belakangan ini adalah adanya
ketersediaan data dalam jumlah luar biasa besarnya
sekaligus juga adanya kebutuhan untuk mengolah data
tersebut menjadi informasi yang lebih berguna. Informasi
dan pengetahuan yang diperoleh dapat digunakan dan di
aplikasikan dalam berbagai bidang, mulai dari manajemen
bisnis, kontrol produksi, dan sampai kepada analisa pasar.
Data mining dapat dikatakan sebagai hasil dari
evolusi teknologi informasi. Yaitu mulai dari sistem data
collection, database creation, data management
(termasuk storage dan retrieval dan database transaction
processing), dan data analysis and understanding.
Situasi dimana tersedianya data dalam jumlah
banyak dan sekaligus juga kebutuhan akan alat analisa
data yang memadai dideskripsikan juga sebagai data rich
but information poor situation (data tersedia dalam
jumlah yang banyak tapi tanpa informasi yang cukup).
Program data mining melakukan analisa data dan
dapat menemukan informasi penting mengenai pola data,
dapat memberikan kontribusi besar-besaran pada strategi
bisnis, knowledge base, dan penelitian serta riset medikal
Definisi data mining sendiri seperti yang telah
disebutkan sebelumnya, data mining mengandung arti
proses meng-extract atau menggali (mining) pengetahuan
/ knowledge dari sejumlah besar data, data mining
seringkali disebut juga dengan knowledge mining from
databases, knowledge extraction, data/ pattern analysis,
data archeology, dan data dredging. Selain itu data
mining juga sering digunakan oleh banyak orang sebagai
synonim dari Knowledge Discovery in Databases atau
KDD.
Tahap-tahapnya dimulai dari pemrosesan raw
data atau data mentah sampai pada penyaringan hingga
ditemukannya knowledge, dijabarkan sebagai berikut :
1. Selection, yaitu proses memilih dan memisahkan data
berdasarkan beberapa kriteria, misalnya berdasarkan
kota tempat tinggal konsumen.
2. Preprocessing, yaitu mempersiapkan data, dengan
cara membersihkan data, informasi atau field yang
tidak dibutuhkan, yang jika dibiarkan hanya akan
memperlambat proses query, misalnya nama
pelanggan jika kita sudah mengetahui kode
pelanggannya. Selain itu juga, ditahap ini dilakukan
penyeragaman format terhadap data yang tidak
konsisten, misalnya pada suatu field dari suatu tabel,
data jenis kelamin diinputkan dengan “L” atau “M”,
sedangkan pada tabel yang lain, data tersebut
diinputkan sebagai “P” atau “W”.
Gambar 1. Tahap-tahapan dalam data mining
3.
Transformation, data yang telah melalui proses select
dan pre-processing tidak begitu saja langsung
digunakan, tapi ditransformasikan terlebih dahulu ke
bentuk yang lebih navigable dan useable, misalnya
dengan menambahan field-field tertentu yang bersifat
demografi, seperti propinsi, kota, atau informasi
4.
5.
apapun yang biasanya digunakan pada riset
pemasaran.
Data mining, tahap ini dipusatkan untuk mendapatkan
pola dari data (extraction of data).
Interpretation and evaluation – dalam proses ini
pattern atau pola-pola yang telah diidentifikasi oleh
system kemudian di terjemahkan/ diintepretasikan ke
dalam bentuk knowledge yang lebih mudah dimengerti
oleh user untuk membantu pengambilan keputusan,
misalnya menunjukan item yang saling berasosiasi
melalui grafik atau bentuk lain yang lebih mudah
dimengerti
Association rule dan algoritma Apriori
Seperti yang telah disebutkan sebelumnya,
assosiation rule mining mencari dan menemukan hubungan
antar item yang ada pada suatu dataset. Program data
mining dengan association rule bertujuan menemukan
informasi item-item yang saling berhubungan dalam
bentuk rule, dengan demikian association rule paling tepat
diterapkan pada market basket analysis. Berikut adalah
penjelasan lebih mendalam mengenai association rule.
Jika diasumsikan bahwa semesta sebagai suatu
kumpulan item yang tersedia di toko, maka setiap item
memiliki boolean variable yang merepresentasikan
keberadaan atau ketidakberadaan dari item tersebut. Setiap
transaksi kemudian dapat direpresentasikan oleh suatu nilai
boolean yang di berikan pada setiap variabel. Nilai
boolean tersebut bisa dianalisa untuk pola belanja yang
menunjukan item yang sering dibeli bersamaan. Pola
tersebut dapat direpresentasikan dengan bentuk association
rule. Sebagai contoh, konsumen yang biasanya membeli
roti tawar juga membeli keju ditunjukan sebagai berikut :
Roti tawar Î keju [support = 2%, confidence = 60%]
Dalam pencarian association rule, diperlukan
suatu variabel ukuran yang dapat ditentukan oleh user,
untuk mengatur batasan sejauh mana dan sebanyak apa
hasil output yang diinginkan oleh user.
Support dan confidence adalah dua ukuran
kepercayaan yang menunjukan kepastian dan tingkat
kegunaan suatu rule yang ditemukan. Support 2% diatas
menunjukan bahwa hasil analisa dari semua transaksi yang
ada, menunjukan bahwa roti tawar dan keju di beli secara
bersamaan. Confidence 60% menunjukan bahwa 60% dari
pembeli yang membeli roti tawar juga pasti membeli keju
tersebut. Pada umumnya association rule yang ditemukan
di katakan menarik apabila rule tersebut memenuhi baik
minimum support maupun minimum confidence yang telah
di tentukan oleh user. Secara sederhana perhitungan untuk
mendapatkan support dan confidence dapat dijelaskan
sebagai berikut :
Support (A Î B) =
mengandung A dan B
Jumlah
tuples
yang
Confidence (AÎ B)
=
Jumlah tuples yang mengandung A dan B
Jumlah tuples yang mengandung A
Keterangan :
• Tuples adalah jumlah transaksi
• A dan B adalah nama item
Rule yang memenuhi baik minimum support
maupun minimum confidence disebut juga strong rule.
Seperti yang umum di tuliskan pada literatur-literatur
mengenai data mining, support dan confidence dituliskan
dengan nilai antara 0% sampai 100%, demikian pula pada
tulisan ini. Sebuah set dari item disebut juga Itemset.
Sebuah Itemset yang mengandung k items adalah kItemset. Set {roti_tawar,keju} adalah 2-Itemset. Jumlah
kejadian munculnya Itemset adalah jumlah transaksi yang
mengandung Itemset tersebut, atau disebut juga
frequency, support count, atau count dari Itemset. Sebuah
Itemset akan memenuhi minimum support (min_sup), jika
jumlah kejadian munculnya Itemset tersebut lebih besar
atau sama dengan min_sup yang telah ditentukan. Jika
suatu Itemset memenuhi minimum support, maka Itemset
tersebut disebut juga frequent Itemset. Suatu set dari
frequent k-Itemset pada umumnya di notasikan dengan
Lk.
Langkah-langkah
untuk
melakukan
penghitungan untuk menemukan association rule terdiri
dari 2 langkah utama, yaitu :
Langkah 1 : Temukan frequent Itemsets, yaitu; suatu set
item yang memenuhi minimum support dan confidence
yang telah ditentukan.
Langkah 2 : Gunakan frequent Itemsets tersebut untuk
menghasilkan association rules.
Pada dua tabel berikut, dapat dilihat langkahlangkah untuk menemukan association rule, berdasarkan
data yang terlihat pada tabel contoh data transaksi (tabel 1),
sampai kepada tabel hasil proses pencarian association rule
dengan metode apriori (tabel 2).
Tabel 1. Tabel Contoh Data Transaksi
Kode Transaksi
Item yang dibeli
100
A1, A2 , A5
200
A2, A4
300
A2, A3
400
A1, A2, A4
500
A1, A3
600
A2, A3
700
A1, A3
800
A1, A2, A3, A5
900
A1, A2, A3
Tabel 2. Tabel Hasil Proses Pencarian Association Rule dengan Metode Apriori
C1
Itemset
A1
A2
A3
A4
A5
Sup.Count
6
7
6
2
2
C2
Itemset
{A1, A2}
{A1, A3}
{A1, A4}
{A1, A5}
{A2, A3}
{A2, A4}
{A2, A5}
{A3, A4}
{A3, A5}
{A4, A5}
C2
Itemset
{A1, A2}
{A1, A3}
{A1, A4}
{A1, A5}
{A2, A3}
{A2, A4}
{A2, A5}
{A3, A4}
{A3, A5}
{A4, A5}
Sup.Count
4
4
1
2
4
2
2
0
1
0
C3
Itemset
{A1, A2, A3}
{A1, A2, A5}
C3
Itemset
{A1, A2, A3}
{A1, A2, A5}
Sup.Count
2
2
3. Desain Sistem
Nantinya data yang akan diolah dari supermaket
adalah data transaksi penjualan yang telah dilakukan,
dimana data tersebut akan berupa data yang telah dirubah
dalam bentuk denormal data. Sehingga memudahkan dan
mempercepat proses pengujian pengolahan data mining
yang akan dilakukan.
Data informasi transaksi yang terjadi di
supermarket selama periode tertentu (dapat dilihat pada
tabel 3) ini nantinya yang akan diolah oleh aplikasi data
mining hingga menghasilkan informasi penjualan yang
diinginkan.
Tabel 3. Tabel RawData
Field
Tanggal
Tipe
Date
KdTrans
KdBarang
Nama
Barang
Text
Text
Text
Keterangan
Informasi tanggal
Transaksi
Kode transaksi
Kode barang
Nama Barang
L1
Itemset
A1
A2
A3
A4
A5
Sup.Count
6
7
6
2
2
L2
Itemset
{A1, A2}
{A1, A3}
{A1, A5}
{A2, A3}
{A2, A4}
{A2, A5}
Sup.Count
4
4
2
4
2
2
L3
Itemset
{A1, A2, A3}
{A1, A2, A5}
Sup.Count
2
2
Berdasar data transaksi penjualan tersebut
kemudian di buat pengelompokan semua kandidat ItemSet
yang muncul, baik ItemSetC dan ItemSetL (dapat dilihat
pada tabel 4).
Tabel 4. Tabel ItemSetC dan ItemSetL
Field
Tipe
Kombinasi
Number
Support
Item 1
Item 2
Item n
Number
Text
Text
Text
Keterangan
Informasi mengenai jumlah
item kombinasi yang terdapat
pada record tersebut
Informasi mengenai support
dari kombinasi item pada
record tersebut
kode barang kombinasi 1
kode barang kombinasi 2
kode barang kombinasi n
Setelah muncul kandidat ItemSet yang ada maka
dihitunglah perhitungan confidence berdasarkan perhitungan
minimum support. Misalkan frequent Itemset ke-l =
{I1,I2,I5}. Untuk mengetahui association rule yang bisa di
hasilkan dari frequent Itemset ke-1 tersebut, maka harus
dicari lerlebih dahulu subset dari frequent Itemset ke-l yang
tidak kosong, yang adalah {I1,I2},{I1,I5},{I2,I5},
{1},{2},{5}. Maka association rule yang dihasilkan
ditampilkan sebagai berikut :
ƒ Rule 1 : I1 ^ I2 Î I5, mempunyai tingkat confidence
= 2/4 = 50%
ƒ Rule 2 : I1 ^ I5 Î I2, mempunyai tingkat confidence
= 2/2 = 100%
ƒ Rule 3 : I2 ^ I5 Î I1, mempunyai tingkat confidence
= 2/2 = 100%
ƒ Rule 4 : I1 Î I2 ^ I5, mempunyai tingkat confidence
= 2/6 = 33%
ƒ Rule 5 : I2 Î I1 ^ I5, mempunyai tingkat confidence
= 2/7 = 29%
ƒ Rule 6 : I5 Î I1 ^ I2, mempunyai tingkat confidence
= 2/4 = 100%
Bila misalnya minimum confidence yang
ditentukan user adalah 70%, maka hanya rule kedua,
ketiga dan terakhir saja yang memenuhi syarat sebagai
output bagi user. Nantinya hasil dari perhitungan dan
confidence serta support yang dihasilkan akan disimpan
dalam suatu tabel rules seperti dapat dilihat pada tabel 5.
Tabel ini juga akan digunakan sebagai informasi dalam
menampilkan grafik.
Aplikasi ini memiliki susunan menu sebagai berikut :
a. Menu system, berfungsi untuk mengatur pemakaian
program secara umum.
b. Menu analisa, berfungsi untuk mengadakan pengolahan
terhadap data hingga menghasilkan rules.
c. Menu laporan, berfungsi untuk menampilkan rules
yang telah dihasilkan dalam bentuk grafik dan teks
yang lebih mudah untuk dianalisa
d. Menu informasi, terdiri dari about dan help yang berisi
informasi seputar program.
Tabel 5. Tabel Rules
Field
Tipe
IdRule
Number
Rule
Text
Confidence
Number
Support
Number
Kombinasi
Number
Keterangan
Nomor urut atau nomor
identitas dari rule yang ada
Rule yang disimpan dalam
format teks
Tingkat confidence dari
suatu rule
Tingkat support dari suatu
rule
Jumlah barang yang terlibat
didalam rules
4. Implementasi Sistem
Bahasa pemrograman yang digunakan untuk
melakukan implementasi adalah Borland Delphi 7.0.
Sedangkan sebagai database digunakan Microsoft Access
XP. Tampilan awal dapat dilihat pada gambar berikut.
Gambar 3. List Menu Aplikasi
User memilih terlebih dahulu tabel RawData mana
yang akan di analisa, dengan cara memilih daftar tabel yang
terdapat di dalam combobox yang tersedia pada menu
ItemSet Generator (seperti terlihat pada gambar 4).
Kemudian user memasukkan nama tabel yang akan
digunakan sebagai penyimpanan hasil analisa, secara
otomatis program akan membuat dua tabel dalam database
dengan nama sebagai berikut :
ƒ “ItemsetC_namatabelRawData_1_namatabel”
ƒ “ItemsetL_namatabelRawData_1_namatabel”
Tabel ini akan menyimpan hasil mining ItemsSetC
dan ItemsSetL dari source tabel, dengan tingkat
support count lebih besar dari 1. “namatabel”
diakhiran berfungsi untuk membedakan dari satu
hasil mining dengan hasil mining yang lain.
Gambar 2. Tampilan Awal Aplikasi
Gambar 4. Menu Langkah 1 Menu Itemset Generator
Kemudian user dapat melanjutkan proses ke
langkah berikutnya, dengan menekan tombol selanjutnya
dimana user dapat memasukkan tanggal awal dan akhir
dari transaksi yang ingin diolah (seperti dapat dilihat pada
gambar 5).
yang secara otomatis juga akan mengakibatkan program
menganalisa lebih banyak data.
Gambar 7. Eksekusi Itemset Generator
Gambar 5. Menu Langkah 2 Itemset Generator
Hasil dari proses data mining ini dapat ditampilkan
dalam bentuk grafik 3 dimensi (gambar 8) dan bentuk teks
(gambar 9).
Langkah selanjutnya adalah user menentukan
berapa minimum support yang diinginkan. Besar kecilnya
minimum support ini akan berpengaruh sekali secara
keseluruhan bagaimana program akan berlangsung. User
juga dapat memasukan besar support dalam bentuk
persentase (seperti dapat dilihat pada gambar 6).
Gambar 8. Grafik 3D Hasil Data mining dengan 25% confidence
Gambar 6. Menu Langkah 3 Itemset Generator
Kemudian user menekan tombol eksekusi dan
menunggu program berjalan (seperti terlihat pada gambar
7) sampai pada akhirnya program menampilkan hasil
yang diinginkan. Proses data mining ini memakan
memakan waktu yang relatif lama, tergantung lagi pada :
ƒ Jumlah data yang diproses, dalam hal ini transaksi
dan jenis barangnya
ƒ Minimum support yang telah ditentukan, semakin
kecil
minimum
support,
tentunya
akan
mengakibatkan candidate itemset semakin banyak,
Gambar 9. Hasil Rules Dataminig dengan 25% confidence
5. Pengujian Sistem
Pengujian dilakukan pada komputer dengan
spesifikasi antara lain :
ƒ Prosesor Pentium IV 2,4GHz
ƒ Memory 512 Mbyte
ƒ HardDisk 40 Gigabyte.
ƒ Windows XP sebagai operating system
Tabel 6. Hasil Pengujian Sistem
Pengujian
Range Data
Jumlah transaksi
1
2
1 - 31 Maret
Jumlah transaksi
4337
Jumlah Barang
2846
Waktu Proses
2 menit 47 detik
4
6
Waktu Proses
1 Jam 4 Menit
Waktu Proses
5 Jam 40 Menit
3
5
Proses
Waktu Proses
37 menit
1-7 Maret
Jumlah transaksi
865
Jumlah Barang
1531
Waktu Proses
4 Menit 32 detik
Waktu Proses
40 Menit 10 detik
ItemSet
Candidate
9632
Frequent
118
Candidate
24374
Frequent
211
Candidate
52618
Frequent
325
Candidate
2234
Frequent
39
Candidate
2806
Frequent
53
Candidate
11975
Frequent
154
Support
30
20
15
12
10
6
Confidence
75
50
25
0
75
50
25
0
75
50
25
0
75
50
25
0
75
50
25
0
75
50
25
0
Jumlah Rules
0
1
2
2
0
1
2
6
0
1
4
20
0
2
2
2
0
2
3
4
0
3
12
16
Dengan pengolahan variasi data 1 minggu dan 1 bulan
dan bentuk besar support yang berbeda (6, 10, 12, 15,
20 dan 30) didapatkan hasil seperti dapat dilihat pada
tabel 6.
6. Kesimpulan
Dari pembuatan aplikasi data mining ini dapat
diambil beberapa kesimpulan sebagai berikut:
ƒ Aplikasi mampu mengolah data transaksi yang
disediakan oleh user, untuk menemukan
frequent itemset dan association rule yang
memenuhi
syarat
minimum
support,
berdasarkan item yang ada dalam transaksi dan
mampu menampilkan rules dalam bentuk
grafik dan teks.
ƒ Dengan aplikasi ini dapat diketahui asosiasi
barang apa saja yang sering dibeli bersamaan
oleh konsumen di supermarket yang nantinya
informasi ini dapat memberikan pertimbangan
tambahan bagi manajer dalam pengambilan
keputusan guna pembelian barang dan
pengaturan barang pada rak supermaket.
ƒ Pada analisa terhadap sejumlah data,
ditemukan bahwa semakin kecil minimum
support dan confidence yang ditentukan,
semakin banyak pula rules yang dapat
dihasilkan oleh aplikasi, dengan konsekuensi
waktu proses pun akan lebih lama
dibandingkan minimum support yang lebih
besar.
ƒ Dari pengujian ditemukan bahwa proses yang
membutuhkan waktu paling lama, umumnya
terjadi pada proses pembuatan 2-itemset
candidate. Semakin banyak jumlah 1-itemset
candidate yang memenuhi minimum support,
maka semakin banyak pula jumlah 2-itemsetC
yang harus dihasilkan.
ƒ Jumlah 1-itemset candidate sulit dipastikan,
karena bergantung sekali pada jumlah
kemunculan setiap item pada transaksi,
sehingga proses untuk menghasilkan 2-itemset
candidate pun sulit dipastikan yang
menyebabkan waktu proses pun sulit untuk
diperkirakan.
Referensi
[1]
[2]
[3]
Jiawei Han, Micheline Kamber, “Data mining :
Concept & Techniques”. McGraw Hill.
Ian H. Witten, Eibe Frank, “Data Mining:
Practical Machine Learning Tools and
Techniques with Java Implementations”.
McGraw Hill.
Palace, Bill. (1996), Data Mining: What is Data
Mining?http://www.anderson.ucla.edu/
faculty/jason.frand/teacher/technologies/palace/d
ata mining.htm
Penulis
Andreas Handojo, Staf Pengajar di Jurusan Teknik
Informatika Universitas Kristen Petra.
Gregorius Satia Budhi, Staf Pengajar di Jurusan Teknik
Informatika Universitas Kristen Petra.
Hendra Rusly, Alumni Jurusan Teknik Informatika
Universitas Kristen Petra.
Download