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.