semanTIK, Vol.3, No.1, Jan-Jun 2017, pp. 67-80 ISSN : 2502-8928 (Online)
67
IMPLEMENTASI ALGORITMA FREQUENT PATTERN GROWTH PADA APLIKASI RETAIL BERBASIS JAVA MODEL VIEW CONTROLLER (MVC) Laila Wahda Basalamah*1, Natalis Ransi2, LM Bahtiar Aksara3 Jurusan Teknik Informatika, Fakultas Teknik Universitas Halu Oleo, Kendari e-mail: *
[email protected],
[email protected],
[email protected] *1,2,3
Abstrak Bisnis retail berkembang pesat di Indonesia dalam beberapa tahun ini dan kita dapat menjumpainya di kota-kota besar maupun kota-kota kecil. Dalam bisnis retail, diperlukan pengendalian dan pengawasan yang baik dalam arus data barang dagangan. Salah satunya dengan melakukan pencatatan data yang teratur mulai dari pendistribusian ke gudang kemudian dilakukan penyusunan di swalayan hingga sampai ke tangan konsumen, serta penyuguhan informasi dalam bentuk sistem pelaporan yang tepat waktu dan akurat. Masalah ketersediaan barang yang selalu ada dapat diatasi dengan menyimpan informasi pembelian dalam database, dari data transaksi konsumen yang tersimpan hal ini dapat memberikan pengetahuan kepada pihak swalayan dalam melihat barang-barang mana yang sering dibeli oleh konsumen dan barang-barang yang dibeli secara bersamaan oleh konsumen. Algoritma Frequent Pattern Growth digunakan untuk menentukan kombinasi dari jenis barang yang sering dibeli konsumen dengan mencari item yang sering muncul kemudian dihitung menggunakan support dan confidence.Pengujian dilakukan menggunakan dataset yang merupakan data transaksi penjualan pada Swalayan Surya Cabang Wua-Wua menggunakan algoritma Frequent Pattern Growth yang bertujuan untuk menentukan pola analisis kombinasi barang yang dibeli secara bersamaan. Hasil dari penelitian adalah sebuah aplikasi retail yang dapat mengetahui pola pembelian konsumen menggunakan algoritma FP-Growth berbasis Java Model View Controller (MVC) pada Swalayan Surya Cabang Wua-Wua. Kata kunci— Asosiasi Pengusaha Ritel Indonesia, Aplikasi Retail, Frequent Pattern Growth, Java, MVC. Abstract Retail business has grown rapidly in Indonesian in these recent years and it can be found either in big cities or small towns. In retail business, it is a need for a good management and supervision for data flow of merchandise. One of them is by recording a well organized data starting from distribution to warehouse then to the preparation at the supermarket then to the customer, and also providing information in the form of a reporting system that on time and accurate. The existing problem of goods availability can be solved with storing the purchase information in the database. These consumer transaction’s saved data can tell the supermarket to see goods which are frequently bought by customer the goods are purchased simultaneously by consumer. Frequent Pattern Growth algorithm is used to determine the combination of types which are frequently purchased items by searching for items that often appear then calculated using the support and confidence.Testing is done using a dataset that is a sales transaction data at the Surya Cabang Wua-Wua with Frequent Pattern Growth algorithm that aims to determine the pattern of combined analysis of items purchased simultaneously.Results of the study is a retail application that can identify patterns of consumer purchases using FP-Growth algorithm based on Java Model View Controller (MVC) at Surya Cabang Wua-Wua. Received June 1st ,2012; Revised June 25th, 2012; Accepted July 10th, 2012
Implementasi Algoritma Frequent Pattern Growth
68
Keywords— Asosiasi Pengusaha Ritel Indonesia, Aplikasi Retail, Frequent Pattern Growth, Java, MVC. 1. PENDAHULUAN
I
ndustri retail terus berubah seiring dengan perkembangan teknologi informasi, perkembangan dunia usaha, dan tentunya kebutuhan konsumen. Retail adalah suatu kegiatan bisnis yang bergerak dalam bidang transaksi penjualan dan pembelian dalam jumlah kecil, satuan, ataueceran. Retail memiliki peran penting dalam dunia perekonomian dan merupakantahap akhir proses distribusi dengan dilakukannya penjualan langsung pada konsumen akhir.Agar berhasil dalam pasar retail yang kompetitif, perusahaan retail dalam hal ini swalayan harus dapat menawarkan produk yang tepat, dengan harga , tempat dan waktu yang tepat [1]. Dalam perdagangan retail, arus data barang dagangan dan uang berputar sangat cepat diperlukan pengendalian dan pengawasan yang baik. Salahsatunya adalah dengan melakukanpencatatandatayang tertib dan teratur mulai dari pendistribusian ke gudang kemudiandilakukan penyusunan di swalayan hingga sampai ke tangan konsumen. Dalam pendistribusian barang, swalayanmasih menjumpai permasalahan inventory berupa kekurangan stok (out of stock) dan kelebihan stok (over stock). Hal ini mengakibatkan konsumen akan beralih ke produk sejenis dari swalayan lain, sehingga dapat mengurangi kesempatan pihak swalayan untuk memperoleh laba.Masalah ketersediaan barang yang selalu ada dapat diatasi dengan menyimpan informasi pembelian dalam database. Data transaksi konsumen yang tersimpandapat memberikan pengetahuan kepada pihak swalayandalam melihat barangbarang mana yang sering dibeli oleh konsumen dan barang-barang yang dibeli secara bersamaan oleh konsumen, sehingga dapat membantu dalam mengorder atau memesan barang secara bijaksana. Pihak swalayan juga dapat mengatur penempatan susunan barang, bahwa barang-barang yang sering dibeli bersamaan untuk disusun saling berdekatan. Menurut [2] Algoritma Frequent Pattern Growth dapat digunakan untuk menentukan kombinasi dari jenis barang yang sering dibeli konsumen dengan cara mencari item
yang sering muncul kemudian dihitung dengan menggunakan support dan confidence. Sebelumnya menurut [3], menyatakan bahwa pemanfaatan data transaksi yang banyak tersimpan dapat memberikan pengetahuan yang berguna dalam membuat kebijakan dan strategi bisnis. Oleh karena itu, pada penelitian ini penulis mengajukan pembuatan aplikasi retailyang berfungsi untuk menyediakan pelayanan guna memudahkan konsumen dalam pembelian barang di Swalayan Surya cabang Wua-Wua. Pihak swalayan juga dapat menganalisis pola pembelian konsumen dengan hasil dari aplikasi ini karena barangbarang yang sering terjual dengan menggunakan Algoritma Frequent Pattern Growth. Aplikasi yang dibuat berbasis desktop menggunakan object oriented programming berbasis Java MVC karena dengan menggunakan Java MVC, programmer akan sangat terbantu dalam membuatcodingyang bersifat repetitif. Selain itu, source code secara otomatis akan mengikuti struktur file yang ada di framework tersebut sehingga memudahkan manajemen source code. 2. METODE PENELITIAN 2.1
Sejarah Retail Retail adalah satu rangkaian aktivitas bisnis untuk menambah nilai guna barang dan jasa yang dijual kepada konsumen untuk konsumsi pribadi atau rumah tangga [4]. Dalam matarantai perdagangan bisnis retail merupakan bagian terakhir dari proses distribusi suatu barang atau jasa dan bersentuhan langsung dengan konsumen. Perusahaan retail tidak membuat barang dan tidak menjual ke pengecer lain. Akan tetapi dalam praktik bisnis retail modern saat ini tidak tertutup kemungkinan, banyak pengecer kecil membeli barang di gerai retail besar, mengingat perbedaan harga yang muncul pada waktu-waktu promosi tertentu yang dilakukan oleh gerai retail besar. Bisnis Retail di Indonesia secara umum dapat diklasifikasikan menjadi dua yaitu, retail modern dan retail tradisional. Retail modern sebenarnya merupakan pengembangan dari
IJCCS Vol. x, No. x, July 201x : first_page – end_page
Basalamah, Ransi dan Aksara
1978-1520
retail tradisional, yang pada praktiknya mengaplikasikan konsep yang modern, pemanfaatan teknologi, dan mengakomodasi perkembangan gaya hidup di masyarakat (konsumen) [5]. 2.2
Data Mining Data mining adalah proses untuk menemukan interesting knowledge dari sejumlah data besar yang disimpan dalam database, data warehouse, atau media penyimpanan yang lainnya [6]. Data mining diterapkan dengan paradigma untuk melihat informasi yang tersembunyi. Data mining muncul berdasarkan fakta bahwa pertumbuhan data yang sangat pesat, tetapi minim pengetahuan apa yang ada di dalam data tersebut. Berikut adalah tahapan-tahapan untuk mendapatkan knowledge dari proses data mining : 1. Selection, proses memilih dan memisahkan data berdasarkan beberapa kriteria, misalnya berdasarkan kota tempat tinggal konsumen. 2. Preprocessing, mempersiapkan data, dengan cara membersihkan data informasi atau field yang tidak dibutuhkan, yang jika dibiarkan hanya akan memperlambat proses query , misalnya nama pelanggan jika sudah mengetahui kode pelanggannya. Selain itu juga, ditahap ini dilakukan penyeragaman format terhadap data yang tidak konsisten. 3. Transformation, data yang telah melalui proses select dan pre-processing tidak begitu saja langsung digunakan, tapi ditransformasikan terlebih dahulu kebentuk yang lebih navigable dan useable. 4. Data Mining, tahap ini dipusatkan untuk mendapatkan pola dari data (extraction of data). 5. Interpretation and evaluation, dalam proses ini pattern atau pola-pola yang telah diidentifikasi oleh sistem kemudian diterjemahkan/ diinterpretasikan kedalam bentuk knowledge yang lebih mudah dimengerti oleh user untuk mengambil keputusan. Gambar 1 menunjukkan Tahapan Data Mining.
69
2.3
Frequent Pattern Tree (FP-Tree) Frequent Pattern Tree (Tree) merupakan struktur penyimpanan data yang dimampatkan. FP-Tree dibangun dengan memetakan setiap data transaksi ke dalam setiap lintasan tertentu dalam FP-Tree. Karena dalam setiap transaksi yang dipetakan, mungkin ada transaksi yang memiliki item yang sama, maka lintasannya memungkinkan untuk saling menimpa. Semakin banyak data transaksi yang memiliki item yang sama, maka proses pemampatan dengan struktur data FP-Tree semakin efektif. Kelebihan dari FP-Tree adalah hanya memerlukan dua kali pemindaian data transaksi yang terbukti sangat efisien [7].
Gambar 1 Tahapan Data Mining Adapun FP-Tree dibentuk oleh sebuah akar yang diberi label null. Setiap simpul dalam FP-Tree mengandung tiga informasi penting, yaitu label item, menginformasikan jenis item yang direpresentasikan simpul tersebut, support count, mereprestasikan jumlah lintasan transaksi yang melalui simpul tersebut dan pointer penghubung yang menghubungkan simpul-simpul dengan label item sama antar lintasan, ditandai dengan garis putus-putus. 2.4
Algoritma Frequent Pattern Growth (FP-Growth) Frequent Pattern Growth (FP-Growth) adalah salah satualternatif algoritma yang dapat digunakan untuk menentukanhimpunan data yang paling sering muncul (frequent item set) dalam sebuah kumpulan data. Algoritma FP-Growth merupakan pengembangan dari algoritma Apriori, sehingga kekurangan dari
Title of manuscript is short and clear, implies research results (First Author)
70
Implementasi Algoritma Frequent Pattern Growth
algoritmaApriori diperbaiki oleh algoritma FP-Growth [8]. Pada algoritma Apriori diperlukan generate candidate untuk mendapatkan frequent item sets. Akan tetapi, di algoritma FP-Growthgenerate candidate tidak dilakukan karena FP-Growth menggunakan konsep pembangunan tree dalam pencarian frequent item sets. Hal tersebut yang menyebabkan algoritma FP-Growth lebih cepat dari algoritma Apriori. Karakteristik algoritma FPGrowth adalah struktur data yang digunakan adalah tree yang disebut dengan Frequent Pattern Tree (FP-Tree). Setelah tahap pembangunan FP-Tree dari sekumpulan data transaksi, akan diterapkan algoritma FP-Growth untuk mencari frequent item set yang signifikan. Algoritma FP-Growth dibagi menjadi tiga langkah utama, yaitu : 1. Tahap pembangkitan conditional pattern base Conditional Pattern Base merupakan subdata yang berisi prefix path (lintasan awal) dan suffix pattern (pola akhiran). Pembangkitan conditional pattern base didapatkan melalui FP-Treeyang telah dibangun sebelumnya.
confidance (minconf) pada sebuah database [9]. Pada tahap ini digunakan untuk menentukan nilai support dan confidence pada setiap item set dengan Persamaan (1).
2. Tahap pembangkitan conditional FP-Tree Pada tahap ini, support count dari setiap item pada setiap conditional pattern base dijumlahkan, lalu setiap item yang memiliki jumlah support count lebih besar atau sama dengan minimum support count akan dibangkitkan dengan conditional FP-Tree. 3. Tahap pencarian frequent item set Apabila Conditional FP-Tree merupakan lintasantunggal (single path),maka didapatkan frequent item set dengan melakukan kombinasi item untuk setiap conditional FPTree. Jika bukan lintasan tunggal, maka dilakukan pembangkitan FP-Growth secara rekursif (proses memanggil dirinya sendiri). 2.5
Assosiation Rule Association rule merupakan suatu proses pada datamining untuk menentukan suatu aturan asosiatif yang memenuhi syarat minimum untuk support (minsup) dan
Support (A) =
(1) Kemudian untuk mendapatkan nilai support dari dua item dapat diperoleh dengan Persamaan (2). Support (A,B) = P(A∩B) =
(2) Setelah semua frequent item dan large item set didapatkan, dapat dicari syarat minimum confidence (mincof) dengan menggunakan Persamaan (3). Confidence (A→B) = P(A│B) = (3)
2.6. Model View Controller (MVC) Model-View-Controller (MVC) adalah sebuah konsep yang diperkenalkan oleh penemu Smalltalk (Trygve Reenskaug) untuk mengenkapsulasi data bersama dengan pemrosesan (model), mengisolasi dari proses manipulasi (controller) dan tampilan (view) untuk direpresentasikan pada sebuah user interface [10]. MVC mengikuti pendekatan yang paling umum dari Layering. Layering hanyalah sebuah logika yang membagi kode ke dalam fungsi di kelas yang berbeda. Pendekatan ini mudah dikenal dan yang paling banyak diterima. Keuntungan utama dalam pendekatan ini adalah penggunaan ulang kode [11]. Model, view dan controller sangat erat terkait, oleh karena itu, mereka harus merujuk satu sama lain. Gambar 2 mengilustrasikan hubungan dasar Model-View-Controller. Bagian Model View Controller yaitu : 1) Model Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain.
IJCCS Vol. x, No. x, July 201x : first_page – end_page
Basalamah, Ransi dan Aksara
1978-1520
71
1. Permulaan (Inception) Pada tahap ini dilakukan penentuan ruang lingkup dan kebutuhan secara intensif serta analisis pada aplikasi yang akan dibuat. Seperti manfaat dan tujuan pembuatan aplikasi serta batasan masalah yang akan diterapkan.
Gambar 2 Arsitektur MVC 2) View View adalah bagian yang mengatur tampilan ke pengguna. Bisa di katakanaberupa halaman web. 3) Controller Controller merupakan bagian yang menjembatani model dan view. Controllerberisi perintah-perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke view. 2.7. Unified Modelling Language (UML) Unified Modelling Language (UML) adalah bahasa dalam mendesain perangkat lunak secara visual, yang serupa dengan skema elektronika yang dalam gambar rangkaian [12]. Dengan UML, desainer dapat melihat konsep global suatu desain. Desain kemudian dapat dijadikan panduan dalam proses pengembangan dan rekayasa perangkat lunak. Selain itu, UML dapat menjadi media komunikasi gagasan antara pengembang perangkat lunak dengan pengguna. Bagian-bagian UML yang pada pembuatan aplikasi kelayakan finansial usaha ini adalah: A. Use Case Diagram B. Activity Diagram C. Sequence Diagram D. Class Diagram 2.8. Metode Pengembangan Sistem Metode pengembangan sistem yang digunakan untuk membangun Aplikasi Retail adalah Rational Unified Model (RUP). Adapun tahap-tahap dalam RUP adalah sebagai berikut:
2. Perluasan/ Perencanaan (Elaboration) Pada tahap ini dilakukan perencanaan dari aplikasi. Tahap ini meliputi Mendesain basis data. UML sistem, seperti diagram use case, diagram aktivitas, diagram kelas, dan diagram sekuen dari perangkat lunak yang akan dibuat, serta pada tahap ini desain antarmuka aplikasi dilakukan. 3. Konstruksi (Construction) Padatahap ini dilakukan implementasi desain yang telah dirancang dengan bahasa pemrograman Java MVC dan database MySQL. 4. Transisi (Transition)
Pada tahap ini dilakukan proses pengujian sistem, untuk menjadikan aplikasi menjadi sesuatu yang layak dan bermanfaat memberikan pengetahuan tentang prediksi kombinasi barang yang dibeli bersamaan oleh Swalayan Surya cabang Wua-Wua. 3. HASIL DAN PEMBAHASAN Implementasi merupakan tahap dimana sistem siap dioperasikan. Aplikasi ini merupakan executable berekstensi JAR. Spesifikasi hardware dan software yang digunakan dalam implementasi adalah sebagai berikut: 1. Hardware yang dibutuhkan: a. Processor Intel Core i-5 b. RAM 4 GB c. Harddisk 500 GB 2. Software yang dibutuhkan: a. Sistem operasi Windows 7 Ultimate b. Netbeans 8.0 c. GUI Controller Java Berikut adalah tampilan halaman pada aplikasi:
Title of manuscript is short and clear, implies research results (First Author)
72
Implementasi Algoritma Frequent Pattern Growth
3.1
Growth, Logout, dan Exit. Selain itu terdapat juga 3 menu bar yang merupakan shortcut dari kesembilan menu utama dalam halaman ini yaitu File, Data Master dan Report.
Halaman Login Ketika aplikasi dijalankan maka akan tampil halaman Login seperti terlihat pada Gambar 3.
3.3
Halaman Data User Ketika tombol data user pada halaman menu utama ditekan maka akan tampil halaman data user seperti terlihat pada Gambar 5.
Gambar 3 Halaman Login Halaman login digunakan untuk melakukan validasi terhadap pengguna aplikasi ini sehingga yang menggunakan aplikasi ini hanyalah petugas/orang yang mempunyai otorisasi. Gambar ini mengharuskan setiap pengguna atau dalam hal ini admin untuk memasukkan username dan password. Jika username dan password yang dimasukkan valid akan tampil pesan jika login yang dilakukan berhasil.
Pada halaman ini admin dapat mengisi dengan menginput data ID user, Nama, alamat, telepon, username, password, dan hak akses sebagai admin atau kasir. Secara otomatis data yang diinputkan tersebut akan masuk ke dalam database.
3.2
3.4
Halaman Menu Utama Setelah login berhasil maka program akan menampilkan halaman utama seperti pada Gambar 4.
Gambar 5 Halaman Data User
Tampilan Halaman Stok Barang Ketika admin memilih menu Stok Barang terdapat form yang harus diisi oleh admin yang bertugas untuk mengelola data keluar masuknya stok barang, menambah, menghapus, dan mengubah data barang. Tampilan halaman stok barang aplikasi ini ditunjukan pada Gambar 6.
Gambar 4 Halaman Menu Utama Pada halaman menu ini admin memilih menu yang akan dibuka sesuai dengan kebutuhannya, terdapat 9 menu utama, yaitu: Data user, Stok barang, Data Supplier, Laporan transaksi, Chart line, Chart bar, FPIJCCS Vol. x, No. x, July 201x : first_page – end_page
Gambar 6 Halaman Stok Barang
1978-1520
Basalamah, Ransi dan Aksara
3.5
Tampilan Halaman Data Supplier Admin memilih data supplier pada menu utama terlebih dahulu. Kemudian sistem akan menampilkan form data supplier, setelah itu admin dapat mengelola data supplier. Dalam menu ini admin memiliki kewenangan untuk menambah data supplier baru, mengubah data supplier yang telah ada maupun menghapus data supplier. Hasil pengolahan data ini selanjutnya akan tersimpan ke database. Proses tersebut dapat dilihat pada Gambar 7.
73
menampilkan Chart Bar berupagrafik chart penjualan sebagai alat control adminberbentuk batang atau bar. Proses tersebut dapat dilihat pada Gambar 9.
Gambar 9 Halaman Chart Bar 3.8
Gambar 7 Halaman Data Supplier
Tampilan Halaman Analisis FP-Growth Halaman Analisis FP-Growth ini adalah bagian yang terpenting dalam pengembangan aplikasi ini. Halaman ini akan menampilkan analisis asosiasi sehingga dapat diketahui pola pembelian konsumen. Rancangan halaman analisis seperti yang ditunjukkan pada Gambar 10 dengan Algoritma FP-Growth.
3.6
Tampilan Halaman Laporan Transaksi Penjualan Ketika admin memilih menu laporan pada menu utama. Kemudian sistem melakukan proses untuk menampilkan laporan transaksi penjualan dan dapat melakukan cetak laporan. Proses tersebut dapat dilihat pada Gambar 8.
Gambar 10 Halaman FP-Growth 3.9
Gambar 8 Penjualan 3.7
Halaman
Laporan
Transaksi
Tampilan Halaman Chart Bar Ketika admin memilih Menu Chart Bar pada menu utama, maka sistem akan
Implementasi Model, View, Controller (MVC) pada Aplikasi Retail Arsitektur MVC diimplementasikan dalam setiap modul aplikasi dalam aplikasi retail ini. Setiap modul memiliki satu model, satu controller dan beberapa view. Berikut ini pada Gambar 11 dapat dilihat implementasi arsitektur MVC pada component retail.
Title of manuscript is short and clear, implies research results (First Author)
Implementasi Algoritma Frequent Pattern Growth
74
hasil penelitian. Adapun data uji penjualan dapat dilihat pada Tabel 1. Tabel 1 Data Uji Penjualan Tanggal 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 30/08/16 31/08/16 31/08/16 31/08/16 31/08/16 31/08/16 31/08/16 31/08/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16 01/09/16
Gambar 11 Component MVC Retail 1. Model Model perlu dibuat sebelum mulai memisahkan view untuk mendapatkan informasi yang akan kita tampilkan. 2. Controller Controller bekerja berdasarkan task apa yang telah diminta dan berdasarkan task tersebut maka controller mengambil data dari model dan mengirimkan data dari model tersebut ke view. Jadi tugas controller adalah bekerja berdasarkan inputan user, memanggil metode pada model untuk memanipulasi data pada tabel, dan mengirimkan data dari model ke view untuk ditampilkan ke user. 3.10 Menentukan Data Pengujian Tahap ini merupakan tahap untuk memilih data uji yang digunakan untuk proses perhitungan. Data uji yang digunakan merupakan data hasil penjualann barang di Swalayan Surya Wua-Wua berdasarkan dari
TID 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 7 7 7 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 10 10 10 10
Item Gula Kopi Teh Gula Kopi Teh Susu Roti Gula Roti Gula Air Susu Kopi Gula Ice Cream Frestea Parfum Axe Ice Cream Keju Shampoo Mie Instan Susu Parfum axe Ice Cream Mie Instan Freshtea Keju Shampoo Keju Shampoo Freshtea Parfum axe Ice cream Keju Shampoo Roti Ice cream
TID merupakan pengelompokkan transaksi barang dalam satu transaksi yang sama. Contohnya Gula, Kopi dan Teh memiliki TID 1 artinya ketiga item tersebut berada pada transaksi yang sama yang terjual pada tanggal 30 Agustus 2016. Begitu pula
IJCCS Vol. x, No. x, July 201x : first_page – end_page
1978-1520
Basalamah, Ransi dan Aksara
dengan keju, shampoo, roti, dan ice cream memiliki TID 10 yang artinya ketiga barang tersebut dibeli dalam satu transaksi pada 1 September 2016. Dari data penjualan tersebut maka dibuatkan tabel dengan semua item yang dalam satu transaksi sudah disatukan sesuai nomor transaksi pembelian konsumen, dapat dilihat pada Tabel 2.
maka item tersebut akan dihapus dan tidak dipakai dalam proses data mining. Misalkan ditentukan nilai support count ξ = 2, maka hasilnya dapat dilihat pada Tabel 4. Tabel 4 Frekuensi item setelah proses filter
Tabel 2 Data Transaksi Awal TID 1 2 3 4 5 6 7 8 9 10
Item Gula, kopi, teh Gula, kopi, teh Susu, roti, gula Roti, gula, air Susu, kopi, gula Ice cream Frestea, parfum axe, keju, shampoo, mie instan, ice cream Susu, parfum axe, ice cream, mie instan, frestea, keju, shampoo Keju, shampoo, frestea, parfum axe, ice cream Keju, shampoo, roti , ice cream
Kemudian dibuatlah frekuensi kemunculan setiap item dari keseluruhan transaksi awal yang dapat dilihat pada Tabel 3. Tabel 3 Frekuensi item dari data tranksaksi awal Item
Jumlah
Gula Kopi Teh Susu Roti Air Keju Shampoo Mie instan Frestea Ice cream Parfum axe
5 3 2 3 3 1 4 4 2 3 5 3
Setelah frekuensi setiap item diperoleh, kemudian dibatasi dengan support count. Jika frekuensi item tidak kurang dari support count,
75
Item
Jumlah
Gula Kopi Teh Susu Roti Keju Shampoo Mie instan Frestea Ice cream Parfum axe
5 3 2 3 3 4 4 2 3 5 3
Item Air hilang karena frekuensinya tidak lebih dari sama dengan 2. Tahap selanjutnya adalah pembangunan Tree berdasarkan pertransaksi dengan item yang telah dibatasi, dapat dilihat pada Tabel 5. Tabel 5 Data transaksi setelah proses filter TID 1 2 3 4 5 6 7 8 9 10
Item Gula, kopi, the Gula, kopi, the Susu, roti, gula Roti, gula, Susu, kopi, gula Ice cream Frestea, parfum axe, keju, shampoo, mie instan, ice cream Susu, parfum axe, ice cream, mie instan, frestea, keju, shampoo Keju, shampoo, frestea, parfum axe, ice cream Keju, shampoo, roti , ice cream
3.11 Frequent Pattern Growth (FP-Growth) Langkah selanjutnya adalah tahap pembangkitan conditional pattern base, tahap pembangkitan conditional FP-Tree, dan tahap pencarian frequent itemset. 1. Tahap Conditional Pattern Base Merupakan subdata yang berisi prefix path (lintasan awal) dan suffix pattern (pola
Title of manuscript is short and clear, implies research results (First Author)
Implementasi Algoritma Frequent Pattern Growth
76 akhiran). Pembangkitan conditional pattern base didapatkan melalui FP-Tree. Berikut adalah hasil Conditional Pattern Base yang ditunjukkan pada Tabel 6.
Mie Instan
{{Ice cream: 2}, {keju: 2}, {Shampoo: 2}, {Freshtea: 2}, {Parfume axe: 2}, {Ice cream, keju, Shampoo, Freshtea, Parfum axe : 2}}
Tabel 6 Conditional Pattern Base Item The Kopi
Conditional Pattern Base {Gula, Kopi: 2} {Gula: 3} {Gula:2}, {ice cream, keju, Roti shampoo : 1} {{Gula, Roti: 1}, {Gula, Kopi: 1}, {ice cream, keju, shampoo, Susu Freshtea, Parfum axe, mie instan : 1}} Keju {Ice cream : 4} Shampoo {Ice cream, keju: 4} Freshtea {Ice cream, keju, Shampoo: 3} Parfum {Ice cream, keju, Shampoo, Axe Freshtea: 3} Mie {Ice cream, keju, Shampoo, Instan Freshtea, Parfum axe : 2} 2. Tahap pembangkitan conditional FP-Tree Pada tahap ini, support count dari setiap item pada setiap conditional pattern base dijumlahkan, lalu setiap item yang memiliki jumlah support count lebih besar atau sama dengan minimum support count akan dibangkitkan dengan conditional FP-Tree. Tahap pencarian conditional FP-Tree dapat dilihat pada Tabel 7. Tabel 7 Conditional FP-Tree Item The Kopi Roti Susu Keju Shampoo Freshtea
Parfum Axe
Conditional FP-Tree {{Gula: 2}, {Kopi: 2}, {Gula, Kopi: 2}} {Gula: 3} {Gula:2} {Gula: 2 {Ice cream : 4} {{Ice cream : 4}, {Keju: 4}, {Ice cream, keju :4}} {{Ice cream: 3}, {keju: 3}, {Shampoo: 3}, {Ice cream, keju, Shampoo: 3}} {{Ice cream: 3}, {keju: 3}, {Shampoo: 3}, {Freshtea: 3}, {Ice cream, keju, Shampoo, Freshtea: 3}}
3. Tahap pencarian frequent itemset Apabila Conditional FP-Tree merupakan lintasan tunggal (single path), maka didapatkan frequent itemset dengan melakukan kombinasi item untuk setiap conditionalFP-Tree. Jika bukan lintasan tunggal, maka dilakukan pembangkitan FPGrowth secara rekursif (proses memanggil dirinya sendiri). Tahap pencarian frequent itemset dapat dilihat pada Tabel 8. Tabel 8 Frequent Itemset Item
Frequent Itemset
Teh Kopi
{{Gula, teh: 2}, {Kopi, teh: 2}, {Gula, Kopi, teh: 2}} {Gula, kopi: 3}
Roti
{Gula, roti:2}
Susu
{Gula, susu: 2}
Keju
{Ice cream, keju : 4}
Shampoo
{{Ice cream , Shampoo: 4}, {Keju, Shampoo: 4}, {Ice cream, keju, Shampoo :4}} {{Ice cream, freshtea: 3}, {keju, freshtea: 3}, {Shampoo, freshtea: 3}, {Ice cream, keju, Shampoo, freshtea: 3}, {{Ice cream, Parfum axe: 3}, {keju, Parfum axe: 3}, {Shampoo, Parfum axe: 3}, {Freshtea, Parfum axe: 3}, {Ice cream, keju, Shampoo, Freshtea, Parfum axe: 3}} {{Ice cream, Mie Instan: 2}, {keju, Mie Instan: 2}, {Shampoo, Mie Instan: 2}, {Freshtea, Mie Instan: 2}, {Parfume axe, Mie Instan: 2}, {Ice cream, keju, Shampoo, Freshtea, Parfum axe, Mie Instan : 2}}
Freshtea
Parfum Axe
Mie Instan
3.12 Association Rule dan Menghitung Nilai Support dan Nilai Confidence Association rule merupakan suatu proses pada data mining untuk menentukan suatu IJCCS Vol. x, No. x, July 201x : first_page – end_page
Basalamah, Ransi dan Aksara
aturan asosiatif yang memenuhi syarat minimum untuk support (minsup) dan confidence (mincof) pada sebuah database. Pada tahap ini digunakan untuk menentukan nilai support dan confidence pada setiap itemset dengan rumus yang sudah dijelaskan sebelumnya pada Persamaan (1), (2) dan (3). Dari beberapa tabel tersebut maka dilakukan perhitungan Nilai Support dan Nilai Confidence masing-masing item. 1. Nilai Support Untuk mendapatkan nilai Support dapat menggunakan Persamaan (2). Nilai “jumlah transaksi yang mengandung A dan B” berada pada Frequent Setdan “total transaksi” adalah 11 karena keseluruhan item berjumlah 11. Rule Rule Rule Rule Axe
: Ice Cream => Frestea 3 ( ⋂ )= = 0,27 11 : Keju => Frestea 3 ( ⋂ )= = 0,27 11 : Keju => Frestea, Ice Cream 3 ( ⋂ )= = 0,27 11 : Keju => Frestea, Ice Cream, Parfum 3 = 0,27 11 : Keju => Parfum Axe 2 ( ⋂ )= = 0,18 11 ( ⋂ )=
Rule
1978-1520
: Shampoo => Keju 4 ( ⋂ )= = 0,36 11 Rule : Shampoo => Frestea 3 ( ⋂ )= = 0,27 11 Rule : Shampoo => Frestea, Ice Cream 3 ( ⋂ )= = 0,27 11 Rule : Shampoo => Frestea, Ice Cream, Parfum Axe 3 ( ⋂ )= = 0,27 11 Rule : Shampoo => Frestea, Ice Cream, Parfum Axe, Keju 2 ( ⋂ )= = 0,18 11 Rule : Susu => Gula
77
2 = 0,18 11 Rule : Parfum Axe => Frestea 3 ( ⋂ )= = 0,27 11 Rule : Parfum Axe => Frestea, Ice Cream 3 ( ⋂ )= = 0,27 11 Rule : Parfum Axe => Ice Cream 3 ( ⋂ )= = 0,27 11 Rule : Roti => Gula 2 ( ⋂ )= = 0,18 11 Rule : Kopi => Gula 3 ( ⋂ )= = 0,27 11 Rule : Mie Instan => Frestea 2 ( ⋂ )= = 0,18 11 Rule : Mie Instan => Frestea, Ice Cream 2 ( ⋂ )= = 0,18 11 Rule : Mie Instan => Frestea, Ice Cream, Parfum Axe 2 ( ⋂ )= = 0,18 11 Rule : Mie Instan => Shampoo 2 ( ⋂ )= = 0,18 11 Rule : Teh => Gula 2 ( ⋂ )= = 0,18 11 ( ⋂ )=
Rule
Rule
Rule
: Teh => Gula, Kopi 2 ( ⋂ )= = 0,18 11 : Teh => Kopi 2 ( ⋂ )= = 0,18 11
2. Nilai Confidence Untuk mendapatkan nilai Confidence dapat menggunakan Persamaan (3). Nilai “jumlah transaksi yang mengandung A dan B” berada pada Frequent Set pada Tabel 8 dan nilai “jumlah transaksi yang mengandung A” dapat diambil dari nilai frekuensi item. Rule Rule
: Ice Cream => Frestea 3 ( ⋂ ) = = 0,6 5 : Keju => Frestea
Title of manuscript is short and clear, implies research results (First Author)
Implementasi Algoritma Frequent Pattern Growth
78 3 = 0,75 4 : Keju => Frestea, Ice Cream 3 ( ⋂ ) = = 0,75 4 : Keju => Frestea, Ice Cream, Parfum ( ⋂ )=
Rule Rule Axe
3 = 0,75 4 Rule : Keju => Parfum Axe 2 ( ⋂ ) = = 0,5 4 Rule : Shampoo => Keju 4 ( ⋂ )= =1 4 Rule : Shampoo => Frestea 3 ( ⋂ ) = = 0,75 4 Rule : Shampoo => Frestea, Ice Cream 3 ( ⋂ ) = = 0,75 4 Rule : Shampoo => Frestea, Ice Cream, Parfum Axe 3 ( ⋂ ) = = 0,75 4 Rule : Shampoo => Frestea, Ice Cream, Parfum Axe, Keju 2 ( ⋂ ) = = 0,5 4 Rule : Susu => Gula 2 ( ⋂ ) = = 0,67 3 Rule : Parfum Axe => Frestea 3 ( ⋂ )= =1 3 Rule : Parfum Axe => Frestea, Ice Cream 3 ( ⋂ )= =1 3 Rule : Parfum Axe => Ice Cream 3 ( ⋂ )= =1 3 Rule : Roti => Gula 2 ( ⋂ ) = = 0,67 3 Rule : Kopi => Gula 3 ( ⋂ )= =1 3 Rule : Mie Instan => Frestea 2 ( ⋂ )= =1 2 Rule : Mie Instan => Frestea, Ice Cream 2 ( ⋂ )= =1 2 ( ⋂ )=
Rule : Mie Instan => Frestea, Ice Cream, Parfum Axe 2 ( ⋂ )= =1 2 Rule : Mie Instan => Shampoo 2 ( ⋂ )= =1 2 Rule : Teh => Gula 2 ( ⋂ )= =1 2 Rule : Teh => Gula, Kopi 2 ( ⋂ )= =1 2 Rule : Teh => Kopi 2 ( ⋂ )= =1 2 Dari perhitungan tersebut maka didapatkan nilai Support dan nilai Confidence seperti ditunjukkan pada Tabel 9. Tabel 9 Nilai Support dan Nilai Confidence Tiap Transaksi Rule
Support
Confidence
Ice Cream => frestea
0,27
0,6
Keju => frestea
0,27
0,75
0,27
0,75
0,27
0,75
Keju => parfum axe
0,18
0,5
Shampoo => Keju
0,36
1
Shampoo => freshtea
0,27
0,75
0,27
0,75
0,27
0,75
0,18
0,5
Susu => gula
0,18
0,67
Parfum axe => frestea
0,27
1
0,27
1
0,27
1
Keju => frestea, ice cream Keju => frestea, ice cream, parfum axe
Shampoo => frestea, ice cream Shampoo => frestea, ice cream, parfum axe Shampoo => frestea, ice cream, parfum axe, keju
Parfum axe => frestea, ice cream Parfum axe => ice cream
IJCCS Vol. x, No. x, July 201x : first_page – end_page
1978-1520
Basalamah, Ransi dan Aksara
frestea
Roti => gula
0,18
0,67
Kopi => gula
0,27
1
Keju => frestea
Mie instan => frestea
0,18
1
Keju => frestea,
0,27
0,75
0,27
0,75
0,27
0,75
0,27
0,75
0,27
0,75
0,27
0,75
0,18
0,5
0,18
0,5
0,36
1
0,36
1
0,27
0,75
0,27
0,75
0,27
0,75
0,27
0,75
0,27
0,75
0,27
0,75
0,18
0,5
0,18
0,5
0,18
0,67
0,18
0,67
0,27
1
0,27
1
0,27
1
0,27
1
0,27
1
0,27
1
Roti => gula
0,18
0,67
0,18
0,67
Kopi => gula
0,27
1
0,27
1
0,18
1
0,18
1
0,18
1
0,18
1
0,18
1
0,18
1
0,18
1
0,18
1
Teh => gula
0,18
1
0,18
1
Teh => gula, kopi
0,18
1
0,18
1
Teh => kopi
0,18
1
0,18
1
ice cream
Mie instan =>
0,18
freshtea, ice cream
1
Keju => frestea, ice cream, parfum
Mie instan => freshtea, ice cream,
0,18
axe
1
parfum axe
Keju => parfum
Mie instan =>
axe
shampoo Teh => gula
0,18
1
0,18
1
Shampoo => Keju Shampoo => freshtea
Teh => gula, kopi
0,18
1
Teh => kopi
0,18
1
79
Shampoo => frestea, ice cream Shampoo =>
Kemudian dilakukan perbandingan dengan hasil perhitungan pada aplikasi yang ditunjukkan pada Gambar 12.
frestea, ice cream, parfum axe Shampoo => frestea, ice cream, parfum axe, keju Susu => gula Parfum axe => frestea Parfum axe => frestea, ice cream Parfum axe => ice cream
Mie instan =>
Gambar 12 Hasil Perhitungan Pada Aplikasi Dari hasil perbandingan tersebut, maka dapat disimpulkan perhitungan manual dan perhitungan pada aplikasi 100% yang dapat dilihat pada Tabel 10. Tabel 10 Perbandingan Hitungan Manual dan Aplikasi
frestea Mie instan => freshtea, ice cream Mie instan => freshtea, ice cream, parfum axe Mie instan => shampoo
Rule
Ice Cream =>
Manual
Aplikasi
Supp
Conf
Supp
Conf
0,27
0,6
0,27
0,6
Title of manuscript is short and clear, implies research results (First Author)
Implementasi Algoritma Frequent Pattern Growth
80 4. KESIMPULAN Berdasarkan penelitian dan hasil pengujian yang dilakukan pada penelitian ini, maka dapat disimpulkan: 1. Pembuatan aplikasi retail telah berhasil dibuat dengan menggunakan Java Model View Controller (MVC), serta Algoritma Frequent pattern growth dalam pengimplementasiannya telah berhasil menentukan pola analisis kombinasi barang yang dibeli secara bersamaan oleh konsumen. 2. Hasil perhitungan manual dan aplikasi retail yang dibangun menggunakan algoritma Frequent Pattern Growth 100 % sama.
[5]
Astiko, 1996. Manajemen Perkreditan. Andi Offset. Yogyakarta.
[6]
Han, K. P., 2012, Data Mining Concepts And Techniques Third Edition, San Massachusetts (US): Morgan Kaufmann Publisher.
[7]
Wicaksono, A., 2014, Penerapan Kaidah Asosiasi Pada Data Transaksi Minimarket Dengan Menggunakan Algoritma Frequent Pattern Growth (FP-Growth), Surabaya.
[8]
Samuel, D, 2008, Penerapan Struktur FP-Tree Dan Algoritma FP-Growth Dalam Optimasi Penentuan Frequent Itemset, Institut Teknologi Bandung.
[9]
Rafsanzani, R., 2015, Pencarian Association Rule Pada Data Pengguna Aplikasi Android Dengan Metode FpGrowth, Malang.
5. SARAN Berikut ini adalah saran-saran yang dapat diberikan untuk pengembangan lebih lanjut terhadap penelitian Tugas Akhir ini adalah: 1. Pada penelitian selanjutnya dapat melakukan penelitian terkait dengan objek ini terhadap algoritma lain. 2. Pada penelitian selanjutnya perlu dilakukan pengelompokkan barang berdasarkan kategorinya, sehingga jumlah item yang dihasilkan lebih sedikit. DAFTAR PUSTAKA [1]
Purba N., 2016, Faktor-Faktor Yang Memengaruhi tingkat Penyaluran kredit Pada BPR konvensional di Indonesia, Bogor.
[2]
Wicaksono, A., 2014, Penerapan Kaidah Asosiasi Pada Data Transaksi Minimarket Dengan Menggunakan Algoritma Frequent Pattern Growth (FP-Growth), Surabaya.
[3]
Maulida, T,A., 2013, Analisa Data Mining Menggunakan Algoritma Frequent Pattern Growth Pada Data Transaksi Penjualan Restoran Joglo Kampoeng Doeloe, Semarang.
[4]
Levy dan Weitz, 2001, Retailing Management, 4th Edition, New York: Mc.Graw Hill, Irwin.
[10] Deacon, J., 2009, Model-ViewController (MVC) Architecture. John Deacon Computer Systems Development, Consulting & Training. Johndeacon. [11] Satish, L., 2004, Biodiesel In India. Navi Mumbai. India. [12] Rosa dan Shalahudin, M., 2013, Rekayasa Perangkat Lunak (Terstruktur Dan Berorientasi Objek). Bandung. Informatika.
IJCCS Vol. x, No. x, July 201x : first_page – end_page