Prosiding Seminar Nasional Manajemen Teknologi VIII Program Studi MMT-ITS, Surabaya 2 Agustus 2008 PENGEMBANGAN APLIKASI PENGGALIAN TOP-K FREQUENT CLOSED CONSTRAINED GRADIENT ITEMSETS PADA BASIS DATA RETAIL Dhiani Tresna Absari dan Arif Djunaidy Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Email: [email protected] ABSTRAK Dalam dunia retail, pihak manajemen dapat memanfaatkan pengetahuan yang dapat dianalisis dari basis data retail untuk memahami pola kebutuhan pelanggan. Salah satu cara analisis basis data retail adalah dengan melakukan penggalian frequent closed itemsets tanpa batasan minimum support menggunakan algoritma TFP. Algoritma ini dapat menghasilkan k frequent closed itemset dengan nilai support tertinggi. Dalam perkembangannya, analisis basis data juga memerlukan metode yang dapat melakukan formulasi query dengan batasan gradient yang belum dapat dilakukan oleh algoritma TFP. Algoritma FCCGM adalah salah satu algoritma yang dapat melakukan penggalian terhadap frequent closed itemsets dengan batasan hanya saja algoritma ini masih menggunakan minimum support sebagai batasan serta metode pemangkasan gradient yang digunakan bersifat lemah. Makalah ini bertujuan untuk merencanakan pengembangan algoritma TFP agar dapat melakukan penggalian terhadap k frequent closed itemset yang memiliki nilai gradient dan support tertinggi atau disebut Top-K Frequent Closed Constrained Gradient Itemsets. Ide dasarnya adalah dengan memodifikisi dan menambahkan beberapa langkah pada algoritma TFP sehingga dapat melakukan pemangkasan itemset yang tidak memenuhi batasan gradient dengan metode yang lebih kuat. Kata kunci: penggalian data, frequent closed itemsets, pemangkasan gradient, FP-Tree, ResultTree PENDAHULUAN Pada sebuah retail yang cukup besar, bisa terjadi ratusan transaksi dalam setiap harinya, sehingga jumlah data yang disimpan pada basis data transaksi sangat besar. Pihak manajemen dapat memanfaatkan pengetahuan yang dapat dianalisis dari basis data retail untuk lebih memahami pola kebutuhan pelanggan dan dapat membantu membuat keputusan bisnis. Salah satu cara analisis yang dapat digunakan adalah dengan menggunakan algoritma TFP untuk melakukan penggalian terhadap k frequent closed itemsets dengan nilai support tanpa batasan minimum support. Minimum support pada algoritma ini tidak dipakai karena menentukan minimum support secara intuitif oleh pengguna memiliki kerugian. Bila minimum support yang ditentukan terlalu kecil, maka akan mengakibatkan data yang dihasilkan terlalu besar dan mengakibatkan pola yang tidak jelas sementara bila minimum support terlalu besar akan mengakibatkan data yang dihasilkan tidak cukup untuk membuat sebuah pola yang informatif. Sampai dengan saat ini, tidak ada satu metode pun yang dapat membantu mencari nilai minimum support yang optimal sesuai dengan kasus-kasus yang berbeda. Dalam perkembangan basis data retail, ternyata diperlukan juga metode yang dapat melakukan formulasi query dengan batasan gradient. Contohnya seperti dalam Prosiding Seminar Nasional Manajemen Teknologi VIII Program Studi MMT-ITS, Surabaya 2 Agustus 2008 kasus berikut : misalkan profit rata-rata yang dimiliki sebuah TV adalah $10. Jika TV dijual bersama VCD maka profit rata-ratanya akan turun menjadi $8, dan bila TV dijual bersama DVD, maka profit rata-ratanya akan menjadi $20. Jika ada sebuah query seperti : barang-barang apakah yang sering dijual bersama sebuah produk TV tertentu yang akan memberikan keuntungan 20% lebih banyak dibandingkan keuntungan ratarata dari semua jenis TV yang ada ?, maka {TV ,DVD} akan dijadikan sebagai salah satu jawaban karena dapat memberikan rata-rata profit 50% lebih besar daripada ratarata profit dari TV itu sendiri. Pada tahun 2006 dikembangkan sebuah algoritma Frequent Closed Constrained Gradient Mining (FCCGM) oleh Wang dkk (Wang, dkk, 2006). Algoritma ini dapat melakukan penggalian terhadap frequent closed itemsets dengan batasan gradient tertentu pada sebuah basis data retail. Dari hasil analisis terhadap algoritma FCCGM, dapat disimpulkan dua hal kelemahan yang mendasar, yaitu penggunaan nilai minimum support sebagai batasan yang harus diinisialisasi secara intuitif sehingga tingkat ketepatannya pun masih diraguka dan algoritma Top-X Average yang merupakan bagian dari algoritma FCCGM dinilai kurang dapat menentukan nilai average measure yang representatif dikarenakan average measure yang dihasilkan dari Top-X Average kurang presisi. Padahal untuk analisis yang berhubungan dengan profit harusnya dilakukan dengan cara seteliti mungkin. Pada penelitian ini dilakukan pengembangan terhadap algoritma TFP sehingga dapat dipakai untuk menggali top-k frequent closed itemsets dengan batasan gradient tanpa batasan minimum support. Proses penentuan nilai average measure dirancang agar lebih kuat sehingga kelemahan kedua dari algoritma FCCGM juga dapat teratasi. Selain itu, top-k frequent closed itemset yang dihasilkan juga tidak hanya berdasarkan nilai support tertinggi saja seperti yang dihasilkan oleh algoritma TFP, tetapi juga berdasarkan nilai gradient. Hal ini dikarenakan average measure berhubungan dengan profit, sehingga dapat dipastikan pihak manajemen lebih mengutamakan besarnya profit dibandingkan nilai support dari suatu itemset. Definisi dari metode yang diimplementasikan dituliskan pada bagian 2. Bagian 3 merupakan penjelasan dari hasil uji coba kemudian diikuti oleh simpulan pada bagian 4. METODE Terdapat 2 konsep penting yang berhubungan dengan pengembangan algoritma, yaitu algoritma TFP dan Top-X Avearge. Algoritma TFP Algoritma TFP menggunakan pendekatan FP-Tree dalam melakukan penggalian itemset dan mensyaratkan inisialisasi terhadap dua buah variabel yaitu k dan min_l. K adalah jumlah frequent closed itemset tertingi yang diinginkan pengguna untuk digali dan min_l adalah panjang transaksi minimal pada frequent closed itemset yang akan digali, dimana min_l >=0. Algoritma TFP tidak memerlukan inisialisasi minimum support. Berbeda dengan inisialisasi minimum support, kedua variabel tersebut mudah dipahami dan ditentukan oleh pengguna sesuai dengan kebutuhan. Konsep penting yang harus dipahami pada algoritma ini adalah pembangkitan minimum support. Ada 2 cara untuk membangkitkan minimum support yaitu dengan Close Node Count Array yang digunakan untuk membangkitkan minimum support pada saat penyisipan transaksi didalam FP-Tree serta Descendant Sum yang digunakan untuk membangkitkan minimum support ketika FP-Tree selesai dibangun [Wang, dkk, 2005]. ISBN : 978-979-99735-6-6 C-20-2 Prosiding Seminar Nasional Manajemen Teknologi VIII Program Studi MMT-ITS, Surabaya 2 Agustus 2008 Dengan cara ini, maka minimum support tidak perlu diinisialisasikan tapi dibangkitkan secara dinamis lewat program. Penggalian terhadap frequent closed itemset dilakukan secara rekursif lewat proses penggalian conditional FP-Tree yang terdapat pada algoritma Mine CondFPTree. Pembentukan conditional FP-Tree, dilakukan secara top-down terhadap global header table sementara proses penggalian lebih lanjut pada conditional FP-Tree yang terbentuk dilakukan dengan cara bottom up. Selain itu digunakan beberapa metode pemangkasan daerah pencarian seperti item merging. Skema itemset closure cheking digunakan untuk memeriksa validitas frequent itemset yang akan disimpan dalam Result Tree yang diindex berdasarkan nilai support. K frequent closed itemset pertama yang memiliki nilai support tertinggi didapatkan berdasarkan penelusuran pada ResulTree. Kesimpulan yang dapat diambil dari hasil analisis terhadap algoritma TFP, adalah sebagai berikut : 1. Pada algoritma TFP minimum support akan dibangkitkan secara otomatis sesuai dengan keadaan sebuah basis data yaitu pada saat pembentukan FP-Tree dan pada saat setelah FP-Tree selesai terbentuk. 2. Dari hasil uji coba penelitian, algoritma TFP dapat berjalan dengan baik pada basis data yang bersifat sparse yang merupakan sifat dari basis data retail. 3. Algoritma TFP belum dapat digunakan untuk menggali frequent closed itemset yang memiliki batasan gradient. Algoritma Top-X Average Algoritma Top-X Average merupakan salah satu metode yang ada pada algoritma FCCGM yang bertujuan untuk memangkas ruang pencarian pada perhitungan gradient. Definisi dari Top-X Average adalah : Untuk m buah node dengan label I1, urutkan node tersebut berdasarkan average measure secara menurun. Top-X average yang disimbolkan dengan avgx(I1), adalah rata-rata dari measure X node pertama dimana X adalah bilangan terkecil yang memenuhi (kondisi) dimana jumlah dari count X node pertama tidak lebih kecil dari min_sup. Untuk contoh kasus pada Gambar 1, berdasarkan flist(H) dapat diperoleh avgx(p) = (45+64)/(1+2) = 36.33 dan x = 2. Gambar 1. FP-Tree dari contoh kasus (Wang, dkk, 2006) Jika Top-X Average dari item terakhir I1 dalam flist (H) tidak dapat memenuhi batasan gradient, maka tidak ada frequent closed itemset yang mengandung I1. Dengan kata lain jika avgx(I1)< (avg_m(P) x min_grad) maka I1 tidak memenuhi support dan batasan gradient . Maka I1 dapat dipangkas dari FP Tree karena tidak akan ada satupun frequent closed itemset yang mengandung I1 yang memenuhi batasan gradient. Pemangkasan dengan cara Top-X ini terus dilakukan pada semua item pada flist. Kesimpulan yang didapatkan dari hasil analisis algoritma ini adalah average measure( ISBN : 978-979-99735-6-6 C-20-3 Prosiding Seminar Nasional Manajemen Teknologi VIII Program Studi MMT-ITS, Surabaya 2 Agustus 2008 dalam kasus ini adalah rata-rata profit) dari sebuah itemset I hanya dihitung berdasarkan measure dari X node pertama saja (yang telah diurutkan secara menurun). Metode Pengembangan Algoritma Metode pengembangan algoritma untuk penggalian top-k frequent closed constrained gradient itemset terdiri dari beberapa tahap, yaitu : a. Membangun tabel global header dan mejalankan pemangkasan gradient yang kuat untuk memangkas 1-item pada tabel global header. b. Membangun FP-Tree berdasarkan tabel global header sambil membangkitkan minimum support secara dinamis. c. Penggalian top-k frequent closed constrained gadient dengan terlebih dahulu melakukan proses pemangkasan gradient terhadap kandidat frequent closed itemset kemudian menyimpan kandidat hasil pada ResultTree yang dimodifikasi. Membangun global header table serta dan melakukan pemangkasan gradient dengan metode yang lebih kuat Seperti yang telah disampaikan sebelumnya, algoritma Top X Average adalah metode pemangkasan gradient dalam algoritma FCCGM ini bersifat lemah. Karena kasus yang dihadapi berhubungan dengan profit, maka sudah selayaknya itemset yang dihasilkan harus se-presisi mungkin. Dengan kata lain, average measure harus dihitung dengan melibatkan semua transaksi yang mengandung I.. Oleh karena itu perlu dikembangkan sebuah pemangkasan gradient yang dapat menghitung average measure I berdasarkan seluruh transaksi yang melibatkan I. Ide dasar dari algoritma pemangkasan gradient yang kuat ini dapat dijelaskan sebagai berikut : untuk m buah node dengan label I, average measure dari I yang disimbolkan sebagai avg(I), merupakan jumlah dari seluruh perkalian antara average measure dari sebuah transaksi yang mengadung I dengan jumlah item pada transaksi tersebut, dibagi dengan jumlah item yang terlibat dalam semua transaksi yang mengandung I dalam sebuah basis data retail. Secara matematis, ide dasar algoritma pemangkasan gradient yang kuat ini dituliskan pada persamaan 1. j ∑ measure( I , t ) * length(t ) i avg ( I ) = i i =1 j ∑ length(t ) i .......................................(persamaan 1) Keterangan : I : sebuah item pada basis data retail i : penghitung transaksi yang mengandung item I j : jumlah transaksi yang mengandung I pada basis data retail measure(I,ti) : measure item I pada transaksi ke i length(ti) : panjang transaksi ke i i =1 Tabel 1. Projected Database on e Sumber : Wang, 2006 ISBN : 978-979-99735-6-6 C-20-4 Prosiding Seminar Nasional Manajemen Teknologi VIII Program Studi MMT-ITS, Surabaya 2 Agustus 2008 Untuk lebih memperjelas pengembangan metode ini, diambil sebuah contoh kasus untuk dapat menentukan average measure dari itemset pada Tabel 1. Beberapa langkah yang harus dilakukan untuk keperluan ini adalah : a. Melakukan pembacaan satu kali terhadap basis data untuk mengetahui panjang transaksi pada sebuah id transaksi tertentu dan menambahkan kolom panjang transaksi pada basis data retail. Maka untuk contoh kasus dengan mengacu pada Tabel 1, maka ada informasi baru yang muncul, sehingga tabelnya akan menjadi seperti Tabel 2. b. Membentuk tabel global header. Tabel global header pada algoritma ini informasi yang disimpan untuk masingmasing itemnya adalah : id item, support, average measure per item (avg(I)). Berdasarkan basis data retail pada Tabel 2 maka dapat dibentuk tabel global header yang digambarkan dalam Tabel 3. Tabel 2. Projected Database on e dengan Kolom Panjang Transaksi TID Set of Items 10 20 30 40 50 a,c,f,m,p a,c,d,f,m,p a,b,c,f,g,m b,f,i b,c,n,p Ordered Set of Items f,c,a,m,p f,c,a,m,p,d f,c,a,b,m,g f,b,i c,b,p,n Measure 25 39 50 26 45 Tabel 3. Tabel Global Header f 4 36.64 c 4 40.27 a 3 38.92 b 3 42.33 m 3 38.92 p 3 36.53 Bila dibandingkan, hasil average measure dengan menggunakan algoritma TopX Average pada sub bab 2.2, adalah 36.33 sedangkan dengan algoritma pemangkasan gradient yang dikembangkan adalah 36.53. Dari sini dapat terlihat adanya perbedaan nilai average measure walaupun kecil, yaitu 0.2. Tetapi karena average measure ini berhubungan dengan profit dimana pihak manajemen pasti menginginkan hasil yang lebih presisi, maka hasil dari metode pemangkasan gradient yang kuat akan lebih disukai . Menghilangkan minimum support sebagai batasan yang harus diinisialisaikan Metode pembangkitan minimum support pada algoritma TFP dapat digunakan untuk keperluan ini, seperti yang telah dijelaskan pada sub bab 2.1. Minimum support diinisialisasikan dengan nilai 0 untuk pertama kali dan akan dibangkitkan secara dinamis selama proses pembangunan FP-Tree, yaitu pada saat melakukan penyisipan transaksi pada FP-Tree dan pada saat setelah FP-Tree selesai dibangun. Menghasilkan Top-k Frequent Closed Itemset dengan Nilai Gradient dan Nilai Support Tertinggi Agar dapat menghasilkan k frequent closed itemset yang memenuhi batasan gradient dengan nilai average measure dan support tertinggi, ResultTree pada algoritma ISBN : 978-979-99735-6-6 C-20-5 Prosiding Seminar Nasional Manajemen Teknologi VIII Program Studi MMT-ITS, Surabaya 2 Agustus 2008 TFP yang memiliki two-level indexing perlu dimodifikasi. Sebuah index berdasarkan nilai average measure yang dijadikan index pertama diikuti support sebagai index kedua dan itemID sebagai index ketiga. Rancangan ResultTreeTigaLevelIndeks digambarkan dalam Gambar 2 berikut ini. Jika nilai k=4, maka Top-k frequent closed gradient constraint itemset yang dapat dihasilkan oleh ResultTreeTigaLevelIndeks pada Gambar 2 adalah : {ab:7;46.6}, {abc:6;45}, {abcd:3;40},{ae:3;40},{ad:4;38.5}. Gambar 2. ResultTreeTigaLevelIndeks UJI COBA DAN ANALISIS HASIL Uji coba dilakukan dengan memasukkan beberapa macam nilai k dan min_l dengan tujuan mendapatkan minimum support yang berbeda pada sebuah dataset yang sama kemudian dijalankan menggunakan kedua pendekatan pemangkasan gradient yaitu Top X dan pemangkasan dengan algoritma yang dikembangkan. Setelah itu analisis dilakukan berdasarkan average profit dari frequent closed yang dihasilkan oleh kedua pendekatan pemangkasan gradient. Uji Coba terhadap Dataset Transaksi Berikut ini adalah grafik uji coba terhadap beberapa jenis dataset transaksi. Gambar 3 dan 4 menunjukkan perbandingan nilai average profit per item dan per transaksi yang diperoleh dengan mengunakan kedua pendekatan. Warna biru adalah nilai average profit yang dihasilkan dengan mengggunakan pendekatan algoritma yang dikembangkan. Pada algoritma ini, nilai average profit adalah tetap untuk sembarang minimum support yang dibangkitkan. Sementara warna lainnya adalah nilai average profit yang dihasilkan dengan menggunakan Top X Average, dimana nilai average profit yang dihasilkan bisa jadi berubah sesuai dengan minimum support yang dibangkitkan. Perbandingan berdasarkan Average Profit Per Item Average Profit 60 50 40 sembarang minsup 30 minsup=1 (Top X) 20 minsup=5 (Top X) 10 0 0 1 2 3 4 5 6 7 8 Item Gambar 3. Perbandingan berdasarkan Average Profit Per Item ISBN : 978-979-99735-6-6 C-20-6 Prosiding Seminar Nasional Manajemen Teknologi VIII Program Studi MMT-ITS, Surabaya 2 Agustus 2008 Average Profit Perbandingan berdasarkan Average Profit Frequent Closed Itemset 47 46 45 44 43 42 41 40 39 sembarang minsup minsup=1 (Top X) minsup=5 (Top X) 0 1 2 3 4 5 6 Item FCI Gambar 4. Perbandingan berdasarkan Average Profit Frequent Closed Itemset ANALISIS HASIL UJI COBA Berdasarkan hasi uji coba, dapat ditarik beberapa analisis antara lain : a. Terdapat perbedaan average profit yang cukup signifikan antara hasil dari kedua pendekatan pemangkasan secara umum. Sekalipun average keduanya pada suatu saat cukup kecil, hal ini tetap saja akan mempengaruhi mengingat jenis transaksi yang digali bersifat frequent. b. Semakin besar nilai minimum support dihasilkan maka semakin memperkecil selisih hasil dari kedua pendekatan tersebut, namun tetap saja tidak akan pernah mencapai angka yang sama. KESIMPULAN Dari portofolio aplikasi mendatang yang telah teridentifikasi pengguna utama dari aplikasi terbanyak terdapat pada bagian wireline sales & promo dan wireless sales & promo . Bagian wireline sales & promo menggunakan enam belas aplikasi sebagai pengguna utama dan bagian wireless sales & promo menggunakan dua puluh aplikasi sebagai pengguna utama, hal ini sesuai dengan strategic objectives yang terdapat dokumen FPS Plan yaitu financial objectives dan customer focus. Dari analisa yang dilakukan menghasilkan portofolio aplikasi yang terdiri tiga puluh satu aplikasi, terdapat tiga aplikasi yaitu pengelolaan komunitas, flexi bundling product dan wireline bundling product yang bersifat strategic yang memberikan keuntungan kompetitif dan memungkinkan tercapainya tujuan bisnis dengan memberikan ‘nilai lebih’ bagi customer. Hasil dari penelitian ini dapat digunakan sebagai masukan dan memberikan suatu gambaran portofolio aplikasi mendatang yang diperlukan oleh unit Fixed Phone Sales Kandatel Surabaya Barat. DAFTAR PUSTAKA Han, J., Wang, J., Yiwen, Y, Tzevetkov, P. (2002), “ Mining Top-K Frequent Closed Patterns Without Minimum Support ”, Proceedings of the 2002 IEEE International Conference on Data Mining (ICDM'02), Washington, D.C., USA, hal. 211-218 Wang, J., Han, J., Lu, Y, Tzevetkov, P. (2005), “ Mining Top-K Frequent Closed Patterns Without Minimum Support ”, IEEE Transactions on Knowledge and Data Engineering , Vol. 17, No.5, hal. 652-664 ISBN : 978-979-99735-6-6 C-20-7 Prosiding Seminar Nasional Manajemen Teknologi VIII Program Studi MMT-ITS, Surabaya 2 Agustus 2008 Wang, J., Han, J., Pei. J. (2006), “Closed Constraint Gradient Mining in Retail Database”, IEEE Transaction on Knowledge and Data Engineering”, Vol 18, No.6, hal 764-769 ISBN : 978-979-99735-6-6 C-20-8