1.
Pendahuluan
Persaingan di dunia bisnis yang semakin ketat membuat para pelaku bisnis harus berpikir lebih keras dalam menyusun strategi untuk menghadapi persaingan tersebut. Salah satu strategi yang dapat digunakan adalah dengan memanfaatkan teknologi informasi. Teknologi informasi diyakini dapat membantu perusahaan dalam menjalankan kegiatan bisnisnya. Perusahaan dapat memanfaatkan data yang dihasilkan oleh sistem informasi yang digunakan untuk membantu dalam pengambilan keputusan. Jika diolah dengan benar, data-data tersebut dapat menghasilkan informasi berharga yang sangat berguna bagi perusahaan. Data mining merupakan salah satu cara yang dapat digunakan untuk mengolah data menjadi informasi berharga. Data mining menyediakan beberapa metode dalam menghasilkan informasi penting dari tumpukan data. Data-data yang dihasilkan dari proses penjualan yaitu data transaksi dapat diolah menggunakan Association Rule untuk mengetahui informasi keterkaitan pembelian produk yang dilakukan oleh pembeli. Perusahaan dapat memanfaatkan informasi ini untuk melakukan strategi pemasaran, misalnya untuk pembuatan paket pembelian dan penempatan produk di dalam toko. Pada penelitian ini akan dibuat aplikasi untuk melakukan Market Basket Analysis, yaitu mencari keterkaitan pembelian antar produk di toko oleh-oleh Wisata Rasa menggunakan Association Rule. Toko Wisata Rasa merupakan toko yang menjual berbagai macam oleh-oleh khas Surabaya. Toko ini berada di kota Surabaya dan memiliki omset yang besar. Meskipun toko oleh-oleh Wisata Rasa saat ini telah menggunakan sistem terkomputerisasi dalam setiap transaksi penjualanya, namun sistem tersebut hanya dapat digunakan untuk mencatat transaksi penjualan biasa, oleh karena itu pemilik toko oleh-oleh Wisata Rasa menginginkan sebuah sistem baru yang dapat digunakan untuk melakukan Market basket Analysis, sehingga pihak toko dapat mengetahui keterkaitan pembelian barang produk yang dilakukan oleh pembeli, dengan diketahuinya keterkaitan pembelian produk oleh pembeli, pihak toko dapat menyusun strategi pemasaran yaitu antara lain melalui penempatan produk di dalam toko, menyediakan stok barang yang lebih banyak untuk produk yang saling berkaitan dan untuk menyusun paket oleh-oleh bagi para pembeli. 2.
Kajian Pustaka
Penelitian Terdahulu Penelitian tentang Market Basket Analysis sudah pernah dikerjakan sebelumnya, yaitu penelitian dengan judul Sistem Data Mining dengan Association Rule untuk Menentukan Keterkaitan Antar Produk (Studi Kasus: Swalayan Ada Baru Salatiga). Pada penelitian ini, penentuan keterkaitan antar poduk dicari dengan algoritma Apriori, yaitu dicari kombinasi item yang memenuhi minimum support dalam database dan dilakukan pembentukan Association Rule yang memenuhi minimum confidence [1]. Penelitian lain yang membahas tentang Market Basket Analysis adalah penelitian dengan judul Market Basket Analysis Menggunakan Metode Fuzzy CCovering untuk Menentukan Pola Pembelian Pelanggan pada Toko Buku (Studi 2
Kasus: Toko Buku Andi Star Salatiga). Penelitian ini membahas tentang pencarian keterkaitan antar produk yaitu buku yang dibeli oleh pembeli dengan memanfaatkan metode Fuzzy C-Covering. Hasil yang didapat adalah terdapat keterkaitan produk yang dihasilkan oleh sistem yang dibuat. Semakin tinggi nilai confidence, maka semakin kuat keterkaitan antar item yang terjadi [2]. Pada penelitian ini dibuat sebuah sistem yang dapat menentukan keterkaitan antar produk oleh-oleh yang dibeli oleh pembeli pada toko oleh-oleh Wisata Rasa menggunakan Association Rule yaitu algoritma Apriori. Sistem ini juga dilengkapi dengan fasilitas yang mendukung untuk proses transaksi pada toko, serta dapat menampilkan hasil transaksi toko pada periode waktu yang dipilih oleh pengguna sistem. Data Mining Data Mining seringkali diartikan dengan “menulis banyak laporan dan query”. Namun pada kenyataannya kegiatan data mining tidak melakukan pembuatan laporan dan query sama sekali. Data mining dilakukan dengan tool khusus, yang mengeksekusi operasi data yang telah didefinisikan berdasarkan model analisis. Data mining adalah ekstraksi informasi atau pola yang penting atau menarik dari data yang berada pada basis data yang besar yang selama ini tidak diketahui tetapi mempunyai potensi informasi yang bermanfaat [3]. Konsep data mining muncul dikarenakan timbulnya data explosion akibat dari penumpukan data oleh sistem pengolahan basis data terpadu di suatu organisasi. Proses data mining menggunakan berbagai perangkat analisis data untuk menemukan pola dan hubungan dalam data yang mungkin dapat digunakan untuk membuat prediksi yang valid. Data mining menganalisis data untuk menemukan informasi yang tersembunyi pada sejumlah besar data yang disimpan. Data mining merupakan proses yang berbeda dengan analisis statistik biasa. Fungsi-fungsi yang umum diterapkan dalam data mining adalah: [4]. - Assosiation, adalah proses untuk menemukan aturan asosiatif antara suatu kombinasi item dalam suatu waktu - Sequence, proses untuk menemukan aturan asosiatif antara suatu kombinasi item dalam suatu waktu dan diterapkan lebih dari satu periode - Clustering, adalah proses pengelompokan sejumlah data/obyek, ke dalam kelompok data sehingga setiap kelompok berisi data yang mirip - Classification, proses penemuan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. - Regretion, adalah proses pemetaan data dalam suatu nilai prediksi - Forecasting, adalah proses pengestimasian nilai prediksi berdasarkan pola-pola di dalam sekumpulan data. - Solution, adalah proses penemuan akar masalah dan problem solving dari persoalan bisnis yang dihadapi atau paling tidak sebagai informasi dalam pengambilan keputusan.
3
Market Basket Analysis Market Basket Analysis adalah asosiasi dalam data mining yang dapat menemukan atribut yang muncul dalam satu waktu [5]. Proses ini menganalisis pola pembelian pelanggan dengan cara menemukan hubungan antara item-item yang berbeda yang diletakkan konsumen dalam shopping basket. Hasil yang telah didapatkan ini nantinya dapat dimanfaatkan oleh perusahaan retail seperti toko atau swalayan untuk mengembangkan strategi pemasaran dengan melihat item-item mana saja yang kemungkinan dibeli secara bersamaan oleh konsumen. Untuk beberapa kasus, pola dari item-item yang dibeli secara bersamaan oleh konsumen dapat ditebak, misalnya selai dibeli secara bersamaan dengan roti. Akan tetapi juga tidak menutup kemungkinan tercipta pola pembelian item yang belum pernah terpikirkan. Misalnya pembelian sabun mandi dengan makanan ringan. Bisa saja pola seperti ini terbentuk ketika suatu transaksi berlangsung. karena kebutuhan customer berbeda-beda dan tidak dapat diprediksi sehingga tidak ada jalan keluar, misalnya seperti stok sabun mandi di gudang habis. Oleh karena itu Market Basket Analysis diharapkan dapat membantu dalam penyelesaian masalah ini. Dengan menggunakan aplikasi ini seorang penjual bisa dengan cepat dan tepat dalam menentukan pola pembelian dari beberapa customer. Association Rule Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan asosiatif antara suatu kombinasi item [5]. Contoh asosiasi yang biasa terjadi seperti seberapa besar kemungkinan pembeli membeli roti dengan selai secara bersamaan. Penting tidaknya suatu aturan asosiatif dapat diketahui dengan dua parameter, yaitu support dan confidence. - Support (nilai penunjang) adalah persentase kombinasi item tersebut dalam database. - Confidence (nilai kepastian) adalah kuatnya hubungan antar item dalam aturan asosiasi. Aturan asosiasi biasanya dinyatakan dalam bentuk: {roti, mentega} {susu} (support=40%, confidence=50%) Aturan tersebut berarti “50% dari transaksi di database yang memuat item roti dan mentega juga memuat item susu. Sedangkan 40% dari seluruh transaksi yang ada di database memuat ketiga item itu.” Dapat juga diartikan: ”Seorang konsumen yang membeli roti dan mentega punya kemungkinan 50% untuk juga membeli susu. Aturan ini cukup signifikan karena mewakili 40% dari catatan transaksi selama ini.” Analisis asosiasi didefinisikan sebagai suatu proses untuk menemukan semua aturan asosiasi yang memenuhi syarat minimum untuk support (minimum support) dan syarat minimum untuk confidence (minimum confidence) [5]. Jika supportnya>=minimum support dan confidencenya>= minimum confidence, maka rule tersebut bisa dikatakan sebagai interesting rule. Algoritma Apriori Algoritma Apriori termasuk jenis aturan asosiasi pada data mining. Selain Apriori, yang termasuk pada golongan ini adalah metode Generalized Rule Induction 4
dan Algoritma Hash Based. Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan asosiasi antara suatu kombinasi item. Contoh aturan asosiasi dari analisis pembelian di suatu pasar swalayan adalah dapat diketahuinya berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu. Berdasarkan pengetahuan tersebut, pemilik swalayan dapat mengatur penempatan barangnya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu. [5]. Penting tidaknya suatu aturan asosiasi dapat diketahui dengan dua parameter, yaitu support dan confidence. Support (nilai penunjang) adalah persentase kombinasi item tersebut dalam database, sedangkan confidence (nilai kepastian) adalah kuatnya hubungan antar item dalam aturan asosiasi. Metodologi dasar analisis asosiasi terbagi menjadi 2 (dua) tahap, yaitu: 1. Analisis pola frekuensi tinggi Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support dalam database. Nilai support sebuah item diperoleh dengan Rumus 1 ............................. 1 Sementara itu, nilai support dari 2 item diperoleh dari Rumus 2. Support(A,B) = P(A B) .................... 2
Seorang analis mungkin hanya akan mengambil aturan yang memiliki support dan/atau confidence yang tinggi. Aturan yang kuat adalah aturan-aturan yang melebihi kriteria support dan/atau confidence minimum. Misalnya seorang analis menginginkan aturan yang memiliki support lebih dari 20% dan confidence lebih dari 35%. Sebuah itemset adalah himpunan item-item yang berada dalam I, dan k-itemset adalah itemset yang berisi k item. Misalnya {Teh, Gula} adalah sebuah 2-itemset dan {Teh, Gula, Roti} merupakan 3-itemset. Frequent Itemset menunjukkan itemset yang memiliki frekuensi kemunculan lebih dari nilai minimum yang telah ditentukan ( ). Misalnya = 2, maka semua itemset yang frekuensi kemunculannya lebih dari atau sama dengan 2 kali disebut frequent. Himpunan dari frequent k-itemset dilambangkan dengan Fk. 2. Pembentukan aturan asosiasi Setelah semua pola frekuensi ditemukan, barulah dicari aturan asosiasi yang memenuhi syarat minimum untuk confidence dengan menghitung confidence aturan asosiatif A B dengan Rumus 3. ................... 3 Walaupun algoritma Apriori mudah untuk dipahami dan dimplementasikan dibandingkan dengan algoritma yang lainnya yang memang diterapkan untuk proses association rule, akan tetapi algoritma Apriori juga memiliki kekurangan yaitu, untuk melakukan pencarian frequent itemset, algoritma Apriori harus melakukan scanning database berulang kali untuk setiap kombinasi item. Hal tersebut 5
menyebabkan banyaknya waktu yang dibutuhkan untuk melakukan scanning database. Selain itu, dibutuhkan generate candidate yang besar untuk mendapatkan kombinasi item dari database. Algoritma Apriori dalam bentuk pseudocode, adalah sebagai berikut: Input : D, a database of a transactions; Min_support, the minimum support count threshold Output : L, frequent itemsets in D Method : L1 = find_frequent_1_itemsets(D);
for (k = 2; Lk-1 ≠ Φ ;k | |) { Ck = Apriori_gen(L1-1);
for each transaction t ⊂ D {//scan D for counts Ct = subset (Ck,t); //get the subsets of t that are candidates for each candidate c c.count | |; }
Lk = {c }
⊂ Ck
return L =
3.
∈ Ct
| c.counts
∪k
≥ min_sup}
Lk;
Metode dan Perancangan Sistem
Metode penelitian yang digunakan pada pembuatan aplikasi ini yaitu model waterfall. Model waterfall disebut juga dengan classic life cycle. Secara lengkap, alur model waterfall yang merupakan model klasik akan digambarkan seperti pada Gambar 1 [6].
Gambar 1 Waterfall Model [6]
Keuntungan dari model waterfall ini, yaitu setiap tahapan akan dievaluasi secara teliti untuk mendapatkan hasil yang maksimal. Berikut ini merupakan tahapan metode Waterfall dalam penelitian ini: - Analisis kebutuhan dan pendefinisiannya Analisis kebutuhan dilakukan dengan melakukan penelitian di toko oleh-oleh Wisata Rasa Surabaya. Pengumpulan data dilakukan dengan wawancara bersama pemilik toko tersebut.
6
Pada tahap ini dilakukan analisa terhadap kebutuhan pengguna sistem berdasarkan proses bisnis yang ada. Kebutuhan pengguna tersebut antara lain : 1. Sistem dapat memproses transaksi pembelian oleh pembeli di toko oleh-oleh tersebut dan menyimpannya dalam basis data. 2. Sistem dapat digunakan untuk melakukan manajemen barang dagangan pada toko tersebut. 3. Sistem dapat digunakan untuk melakukan manajemen kategori barang dagangan. 4. Sistem dapat digunakan untuk menampilkan pendapatan toko berdasarkan periode waktu yang dimasukkan oleh pemilik toko. 5. Sistem dapat melakukan analisis keranjang belanja (Market Basket Analysis) supaya dapat diketahui keterkaitan pembelian produk oleh pembeli pada periode waktu yang diinginkan. - Perancangan sistem dan perangkat lunak Setelah melakukan analisis kebutuhan pengguna sistem, tahap kedua adalah melakukan perancangan sistem yang akan dibangun. Perancangan sistem dibuat dengan menggunakan diagram-diagram UML, yang meliputi use case diagram, activity diagram, sequence diagram dan class diagram. Perancangan user interface juga dilakukan pada tahap ini. - Integrasi dan pengujian unit Tahap ketiga adalah melakukan implementasi dari hasil perancangan sistem menggunakan bahasa pemrograman Java, serta dilakukan pengujian untuk mencari kesalahan pemrogramannya. Hasilnya dievaluasi kembali, jika masih belum sempurna, maka dikembalikan ke tahap sebelumnya yaitu tahap perancangan dari tahap tersebut. - Integrasi dan pengujian sistem Tahap ke 4 (empat) adalah menyatukan program dan melakukan pengujian sistem, apakah benar-benar memberikan manfaat dalam segi efisiensi dan efektifitas serta memudahkan pengguna dalam pemakaiannya sehingga bisa menciptakan sebuah sistem yang terkomputerisasi dengan baik. Pada tahapan ini sistem akan dievaluasi. - Operasi dan pemeliharaan sistem Tahapan terakhir, sistem yang telah dibangun harus dijaga dan dirawat serta harus dilakukan evaluasi untuk mencari kelemahan-kelemahan yang ada. Jika di kemudian hari sistem tersebut masih perlu penyempurnaan, maka hasil evaluasi terakhir ini, akan menjadi analisa data dan kebutuhan yang baru untuk pengembangan ke depannya. Perancangan Sistem dengan UML (Unified Modelling Language) Perancangan sistem menggunakan Unified Modelling Language (UML), yaitu dibuat 4 (empat) diagram: use case diagram, activity diagram, sequence diagram dan class diagram. Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem.
7
Gambar 2 Use Case Diagram sistem
Gambar 2 mendeskripsikan fungsi-fungsi yang dapat dilakukan jika seorang pengguna masuk sebagai admin atau pegawai, di mana admin atau pemilik toko mempunyai hak akses untuk melakukan update barang, update user, update kategori, melakukan transaksi penjualan, melihat laporan penjualan, dan juga melakukan Market Basket Analysis. Sedangkan pegawai hanya dapat melakukan transaksi penjualan saja. Activity Diagram Activity diagram menggambarkan proses-proses yang terjadi dari suatu aktivitas dimulai sampai berhenti. Untuk kebutuhan proses dari sistem yang akan dibangun, terdapat 2 (dua) activity diagram, yaitu untuk Pemilik Toko dan Pegawai Toko. Activity diagram untuk Pemilik Toko dapat dilihat pada Gambar 3.
Gambar 3 Activity Diagram Pemilik Toko
8
Gambar 3 merupakan activity diagram untuk pemilik toko. Aktivitas yang dapat dilakukan oleh pemilik toko setelah login dengan valid adalah melakukan manajemen barang, manajemen kategori, manajemen user, melakukan transaksi penjualan, melihat laporan penjualan dan melakukan Market Basket Analysis.
Gambar 4 Activity Diagram Pegawai Toko
Gambar 4 merupakan activity diagram dari pegawai toko. Seorang pegawai toko memiliki aktivitas melakukan transaksi penjualan setelah selesai melakukan login dengan valid.
Sequence Diagram Sequence diagram menggambarkan interaksi antar obyek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu.
: Pemilik Toko
MarketBas ketUI
input(support, confidence, tanggal)
PenjualanController
tb_penjualan
tb_detail_penju alan
send data(support, confidence, tanggal) reques t(tanggal) reques t(tanggal) return data perhitungan market basket analysis menampilkan hasil MBA
Gambar 5 Sequence Diagram Market Basket Analysis
9
Gambar 5 merupakan sequence diagram pemilik toko dalam melakukan Market Basket Analysis. Proses diawali oleh pemilik toko dengan memasukkan nilai support, confidence dan memasukkan tanggal melalui form yang disediakan. Proses dilanjutkan dengan memanggil PenjualanController untuk mengambil data dari tabel tb_penjualan dan tb_detail_penjualan. Data yang diambil kemudian dilakukan perhitungan untuk menentukan Market Basket Analysis, hasilnya ditampilkan kembali pada form Market Basket Analysis.
: Pegawai Toko
Form PenjualanTransaksi
PenjualanController
input transaksi(no_nota, tanggal, kode_barang,banyak,subtotal, total) transaksi(no_not a, tanggal, send data(no_nota, kode_barang,ban tanggal, yak,subtotal, total) kode_barang,banyak,subt otal, total)
tb_penjualan
tb_detail_penju alan
send data(no_nota, tanggal, total) send data(no_nota, kode_barang, banyak, subtotal) simpan data simpan data
send info send info konfirmasi
Gambar 6 Sequence Diagram Transaksi Penjualan
Gambar 6 adalah sequence diagram transaksi penjualan yang dilakukan oleh pegawai toko. Proses dimulai dengan memasukkan data transaksi, kemudian data dikirimkan oleh controller untuk disimpan dalam tabel tb_penjualan dan tb_detail_penjualan. Tabel tb_penjualan digunakan untuk menyimpan data nomor nota, tanggal transaksi dan total bayar, sedangkan tabel tb_detail_penjualan menyimpan detail penjualan, yaitu nomor nota, kode barang, banyak barang dan sub total. Class Diagram Class Diagram memperlihatkan atau menampilkan struktur dari sebuah sistem, di mana sistem tersebut akan menampilkan kelas, atribut, method dan hubungan antara kelas.
10
Gambar 7 Class Diagram Sistem
Gambar 7 merupakan class diagram sistem, di mana ditampilkan class-class yang dibuat dalam sistem. Class-class ini dapat dikelompokkan dalam 3 (tiga) macam, yaitu class entity, class controller dan class user interface. Perancangan Basis Data Pada bagian ini akan disampaikan perancangan basis data dan akan ditampilkan tabel-tabel yang ada dalam basis data. Tabel tb_barang Tabel tb_barang digunakan untuk menyimpan data barang yang dijual oleh toko Wisata Rasa. Struktur tabel tb_barang bisa dilihat pada Tabel 1 Tabel 1Struktur Tabel tb_barang
Field kode_barang nama_barang Satuan kode_kategori harga_satuan
Type varchar varchar varchar varchar integer
Size 15 100 45 45
Keterangan Kode barang, primary key Nama barang Satuan barang Kategori barang Harga satuan
Tabel tb_kategori Tabel tb_kategori digunakan untuk menyimpan data kategori dari barang yang dijual oleh toko Wisata Rasa. Struktur tabel tb_kategori dapat dilihat pada Tabel 2.
11
Tabel 2 Struktur Tabel tb_kategori
Field Type Size Keterangan varchar 45 Kode kategori, primary key kode_kategori nama_kategori varchar 45 Nama kategori keterangan varchar 100 Satuan barang Tabel tb_penjualan Tabel tb_penjualan digunakan untuk menyimpan transaksi penjualan. Struktur tabel tb_penjualan dapat dilihat pada Tabel 3. Tabel 3 Struktur Tabel tb_penjualan
Field Type Size Keterangan varchar 45 Nomor nota, primary key no_nota tanggal date Tanggal transaksi total integer Total harga diskon integer Diskon bayar grand_total integer Grand total Tabel tb_user Tabel tb_user digunakan untuk menyimpan data user pengguna sistem ini. Struktur tabel tb_user dapat dilihat pada Tabel 4. Tabel 4 Struktur Tabel tb_user
Field user_id
Type integer
Size
username password level
varchar varchar varchar
45 45 10
Keterangan Id user, primary key, auto increment Username pengguna sistem Password pengguna sistem Level pengguna sistem
Tabel tb_detail_penjualan Tabel detail_penjualan digunakan untuk menyimpan data detail dari transaksi penjualan yang terjadi. Struktur tabel detail_penjualan dapat dilihat pada Tabel 5. Tabel 5 Struktur Tabel tb_detail_penjualan
Field no_nota kode_barang banyak sub_total 4.
Type varchar varchae integer double
Size 45 15
Keterangan
Tanggal transaksi Banyak barang dibeli Sub total harga
Hasil Implementasi dan Pembahasan
Menu Utama Tampilan pertama yang dihadapi oleh user adalah tampilan form login seperti terlihat pada Gambar 8.
12
Gambar 8 Form Login
Gambar 8 adalah tampilan awal saat aplikasi ini dijalankan, yaitu form login. Pilihan menu pada menu bar akan disable untuk pertama kali, namun akan aktif jika user telah melakukan login dengan sukses.
Gambar 9 Form untuk Admin
Gambar 9 adalah tampilan untuk hak akses admin. Pada hak akses admin, seorang admin yaitu pemilik toko dapat melakukan semua fasilitas dalam sistem ini, yaitu melakukan manajemen barang, kategori, user, melakukan transaksi penjualan, melakukan analisis keranjang belanja dan dapat melihat laporan penjualan berdasarkan waktu tertentu. Fasilitas-fasilitas ini dapat dipilih pada deretan menu bar yang ada pada bagian atas aplikasi. Menu Manajemen Barang Tampilan manajemen barang dapat dilihat pada Gambar 10.
13
Gambar 10 Form Manajemen Barang
Gambar 10 adalah tampilan untuk melakukan manajemen barang pada toko. Kegiatan ini hanya dapat dilakukan oleh pemilik toko, di mana pemilik toko dapat menambah, mengubah dan menghapus barang. Selain itu juga disediakan fasilitas search barang berdasarkan kode barang, nama barang dan kode kategori. Menu Transaksi Penjualan Aplikasi ini menyediakan fasilitas yang dapat digunakan untuk memproses transaksi penjualan pada toko. Gambar 11 menunjukkan fasilitas ini.
Gambar 11 Form Transaksi Penjualan Barang
Gambar 11 adalah fasilitas untuk melakukan transaksi penjualan. Sistem akan melakukan generate nomor nota secara otomatis. Untuk memasukkan item-item barang yang dibeli oleh pembeli, pegawai atau pemilik toko cukup memasukkan kode barang yang sudah ditempel pada barang ke textfield yang disediakan, memasukkan jumlah barang dan memilih tombol simpan. Setelah semua item dimasukkan akan muncul jumlah total bayar.
14
Menu Laporan Penjualan Menu laporan penjualan hanya dapat dilihat oleh pemilik toko. Form laporan penjualan dapat dilihat pada Gambar 12.
Gambar 12 Form Lihat Laporan Penjualan
Laporan penjualan pada Gambar 13 akan menampilkan laporan hasil penjualan pada periode waktu tertentu, yaitu sesuai dengan tanggal yang dimasukkan oleh pemilik toko. Fasilitas ini dapat digunakan untuk mengetahui pendapatan toko dari hasil transaksi tersebut. Menu Market Basket Analysis Pada menu Market Basket Analysis akan ditampilkan form untuk melakukan analisis keranjang belanja menggunakan Association Rule yaitu algoritma Apriori. Untuk masuk ke form ini, pemilik toko dapat memilih menu Analisis – Market Basket. Form Market Basket Analysis diperlihatkan pada Gambar 13.
Gambar 13 Form Market Basket Analysis
Gambar 13 adalah tampilan untuk melakukan analisis keranjang belanja, di mana pemilik toko dapat memasukkan nilai support dan confidence sesuai dengan 15
keinginan dalam melakukan analisis. Fasilitas date picker dapat digunakan untuk menentukan periode waktu dalam melakukan analisis keranjang belanja. Setelah tombol Analisis dipilih, maka sistem akan melakukan perhitungan untuk menghasilkan Association Rule dan akan ditampilkan pada textarea. Penentuan Association Rule menggunakan bantuan algoritma Apriori. Hasil perhitungan dan aturan asosiasi yang terbentuk dari input pada Gambar 13, dapat dilihat pada Gambar 14.
Gambar 14 Form Hasil Market Basket Analysis
Gambar 14 menunjukkan hasil perhitungan dan analisis keranjang belanja menggunakan Association Rule yaitu algoritma Apriori. 1. Tahapan pertama dalam perhitungan adalah melakukan pencarian transaksi pada tanggal awal dan tanggal akhir yang dimasukkan oleh user. Berdasarkan tanggal yang dimasukkan (tanggal awal 2012-04-01 dan tanggal akhir 2012-04-22), maka transaksi yang ada dapat dilihat pada Tabel 6. Tabel 6 Barang yang Dibeli Hasil Pencarian
Transaksi 1 2 3 4 5 6 7 8 9 10 2.
Item yang dibeli 18, 726, 187 740, 180, 187 187, 179, 8, 180 726, 187, 179, 8 8, 740, 18 180, 740, 8, 179 179, 187 18, 179, 726 180, 740, 8 8, 187
Langkah berikutnya adalah membuat tabel tabular untuk melakukan perhitungan banyaknya pembelian untuk setiap item. Tabel banyaknya item yang dibeli dapat dilihat pada Tabel 7.
16
Tabel 7 Tabel Banyaknya Item yang Dibeli
Transaksi 1 2 3 4 5 6 7 8 9 10
3.
740 0 1 0 0 1 1 0 0 1 0 4
8 0 0 1 1 1 1 0 0 1 1 6
18 1 0 0 0 1 0 0 1 0 0 3
187 1 1 1 1 0 0 1 0 0 1 6
726 1 0 0 1 0 0 0 1 0 0 3
180 0 1 1 0 0 1 0 0 1 0 4
179 0 0 1 1 0 1 1 1 0 0 5
Menentukan nilai dan menentukan frequent itemset Nilai ditentukan dengan banyak transaksi yaitu 10 dikalikan dengan nilai support 30%, sehingga = 3. Langkah berikutnya adalah menentukan frequent itemset. Berdasarkan Tabel 7 diketahui total untuk transaksi k = 1 semuanya lebih besar atau sama dengan nilai , sehingga: F1 = {{740}, {8}, {18}, {187}, {726}, {180}, {179}} Untuk k = 2 (2 item), diperlukan tabel untuk masing-masing item. Kombinasi item yang terbentuk adalah: {740,8}, {740,18}, {740,187}, {740,726}, {740,180}, {740,179}, {8,18}, {8,187}, {8,726}, {8,180}, {8,179}, {18,187}, {18,726}, {18, 180}, {18,179}, {187,726}, {187,180}, {187,179}, {726,180}, {726,179}, {180,179}. Dari setiap kombinasi yang terbentuk, akan dicari frequent itemset masingmasing item seperti pada Gambar 16 dan Gambar 17.
Gambar 15 Hasil Perhitungan 2 Itemset
17
Gambar 16 Hasil Perhitungan 2 Itemset
Pada Gambar 16 dan Gambar 17, P artinya adalah item-item yang dibeli bersamaan, sedangkan S berarti tidak ada item yang dibeli bersamaan atau tidak dibeli oleh pembeli. melambangkan jumlah frequent itemset. Jumlah frequent itemset harus lebih besar atau sama dengan nilai yaitu 3, sehingga didapat: F2 = {{740,8}, {740,180}, {8,187}, {8,180}, {8,179}, {187,179}} Kombinasi dari itemset dalam F2 dapat digabungkan menjadi calon 3 itemset. Itemset-itemset yang dapat digabungkan adalah itemset-itemset yang memiliki kesamaan dalam k-1 item pertama. Misalnya {740,8} dan {740,180} memiliki k1 itemset pertama yang sama yaitu 740, maka dapat digabungkan menjadi 3itemset baru yaitu {740,8,180}. Untuk k = 3 (3 unsur), himpunan yang bisa dibentuk adalah: {740,8,180}, {8,187,180} {8,187,179}, {8,180,179}. Dari setiap kombinasi yang terbentuk, akan dicari frequent itemset masingmasing item seperti pada Gambar 17.
Gambar 17 Hasil Perhitungan 3 Itemset
4.
Berdasarkan Gambar 17, didapatkan himpunan F3 = {}, karena tidak memenuhi >= , sehingga F4, F5, F6 dan seterusnya juga merupakan himpunan kosong. Langkah berikutnya adalah membuat rule berdasarkan frequent itemset yang didapat. Rule yang digunakan adalah jika x, maka y, di mana x adalah antecedent dan y adalah consequent. Berdasarkan rule tersebut, maka dibutuhkan 2 buat item yang mana salah satunya sebagai antecedent dan sisanya sebagai consequent. Berdasarkan langkah 3 didapatkan 1 buah Fk yaitu F2. F1
18
5.
6.
tidak ikut disertakan karena hanya terdiri dari 1 item saja. Untuk antecedent boleh lebih dari 1 unsur, sedangkan untuk consequent terdiri dari 1 unsur. Menentukan (ss-s) sebagai antecedent dan s sebagai consequent dari Fk yang didapat pada langkah 4. Pada langkah 4 didapat himpunan F2 = {{740,8}, {740,180}, {8,187}, {8,180}, {8,179}, {187,179}}, jadi dapat disusun rule: • Untuk {740,8}: - Jika (ss-s) = 740, jika s = 8, maka jika membeli 740, maka membeli 8. - Jika (ss-s) = 8, jika s = 740, maka jika membeli 8, maka membeli 740. • Untuk {740,180}: - Jika (ss-s) = 740, jika s = 180, maka jika membeli 740, maka membeli 180. - Jika (ss-s) = 180, jika s = 740, maka jika membeli 180, maka membeli 740. • Untuk {8,187}: - Jika (ss-s) = 8, jika s = 187, maka jika membeli 8, maka membeli 187. - Jika (ss-s) = 187, jika s = 8, maka jika membeli 187, maka membeli 8. • Untuk {8,180}: - Jika (ss-s) = 8, jika s = 180, maka jika membeli 8, maka membeli 180. - Jika (ss-s) = 180, jika s = 8, maka jika membeli 180, maka membeli 8. • Untuk {8,179}: - Jika (ss-s) = 8, jika s = 179, maka jika membeli 8, maka membeli 179. - Jika (ss-s) = 179, jika s = 8, maka jika membeli 179 maka membeli 8. • Untuk {187,179}: - Jika (ss-s) = 187, jika s = 179, maka jika membeli 187, maka membeli 179. - Jika (ss-s) = 179, jika s = 187, maka jika membeli 179, maka membeli 187. Berdasarkan hasil rule pada langkah 5, dibuat tabel kandidat aturan asosiasi untuk 1 antecedent seperti pada Tabel 8 dan dihitung nilai support dan confidence-nya.
19
Untuk item yang dibeli sekaligus pada “jika membeli 740, maka membeli 8” ada 3 transaksi, jumlah seluruh transaksi ada 10 transaksi, sehingga nilai support-nya adalah: Untuk item yang dibeli sekaligus pada “jika membeli 740, maka membeli 8” ada 3, sedangkan jumlah transaksi yang membeli 740 ada 4 transaksi, sehingga confidence-nya: Tabel 8 Hasil Perhitungan Support dan Confidence
Jika antecedent, maka consequent Jika membeli 740, maka membeli 8 Jika membeli 8, maka membeli 740 Jika membeli 740, maka membeli 180 Jika membeli 180, maka membeli 740 Jika membeli 8, maka membeli 187 Jika membeli 187, maka membeli 8 Jika membeli 8, maka membeli 180 Jika membeli 180, maka membeli 8 Jika membeli 8, maka membeli 179 Jika membeli 179, maka membeli 8 Jika membeli 187, maka membeli 179 Jika membeli 179, maka membeli 187
Support (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30% (3/10) x 100% = 30%
Confidence (3/4) x 100% = 75% (3/6) x 100% = 50% (3/4) x 100% = 75% (3/4) x 100% = 75% (3/6) x 100% = 50% (3/6) x 100% = 50% (3/6) x 100% = 50% (3/4) x 100% = 75% (3/6) x 100% = 50% (3/5) x 100% = 60% (3/6) x 100% = 50% (3/5) x 100% = 60%
Tabel 8 menunjukkan hasil perhitungan support dan confidence setelah sebelumnya pada Gambar 14, user memasukkan nilai minimum support sebesar 30% dan minimum confidence sebesar 75%. Langkah berikutnya adalah dengan melakukan perkalian antara nilai support dan confidence dari transaksi yang memenuhi minimum support dan minimum confidence yang dimasukkan sebelumnya. Tabel 9 Hasil Perhitungan Support x Confidence
Jika antecedent, maka consequent
Jika membeli 740, maka membeli 8 Jika membeli 740, maka membeli 180 Jika membeli 180, maka membeli 740 Jika membeli 180, maka membeli 8
Support
Confidence
30% 30%
75% 75%
Support Confidence 22.5% 22.5%
30%
75%
22.5%
30%
75%
22.5%
x
Tabel 9 menunjukkan hasil perkalian support dan confidence, setelah melakukan perkalian antara support dan confidence lalu dicari hasil perkalian yang paling besar. Hasil dari perkalian yang paling besar merupakan rule yang dipakai pada saat menjual. Hasil perkalian pada Tabel 9 bernilai sama besar, sehingga semuanya dapat digunakan sebagai rule. - Jika membeli “Susu Ultra”, maka membeli “Lapis Surabaya” dengan support 30% dan confidence 75%. - Jika membeli “Susu Ultra”, maka membeli “Ledre Hello” dengan support 30% dan confidence 75%.
20
- Jika membeli “Ledre Hello”, maka membeli “Susu Ultra” dengan support 30% dan confidence 75%. - Jika membeli “Ledre Hello”, maka membeli “Lapis Surabaya” dengan support 30% dan confidence 75%. Hasil Pengujian dan Analisis Hasil pengujian Market Basket Analysis dari sistem yang telah dibuat dapat dilihat pada Tabel 10. No. 1
Minimum Support 30%
Minimum Confidence 75%
Tabel 10 Hasil Uji Coba Sistem Aturan Asosiasi yang Terbentuk
Jika membeli " LEDRE HELLO " maka akan membeli " SUSU ULTRA " dengan Supp 30% dan Conf 75% Jika membeli " SUSU ULTRA " maka akan membeli " LEDRE HELLO " dengan Supp 30% dan Conf 75% Jika membeli “ LEDRE HELLO “ maka akan membeli “ LAPIS SURABAYA “ dengan Supp 30% dan Conf 75% Jika membeli “ SUSU ULTRA “ maka akan membeli “ LAPIS SURABAYA “ dengan Supp 30% dan Conf 75%
Support x Confidence 22.5%
22.5%
22.5%
22.5%
Support dari suatu itemset merupakan presentase dari seluruh data yang ada dalam basis data yang mengandung itemset tersebut. Nilai support 30% artinya presentase kemunculan suatu itemset adalah 30% dari seluruh data yang terdapat dalam basis data. Sedangkan nilai minimum support 30% artinya kemunculan itemset yang membentuk rule adalah kurang atau sama dengan 30%. Berdasarkan hasil pengujian pada Tabel 10 diketahui bahwa dengan menggunakan nilai minimum support yang berbeda dihasilkan rule yang berbeda pula. Confidence merupakan tingkat kepercayaan atau tingkat kebenaran dari rule yang terbentuk. Rule yang dicari adalah yang mempunyai nilai kebenaran yang besar, yaitu rule yang membuat prediksi yang benar. Semakin tinggi nilai support dan confidence, maka semakin tinggi tingkat keakuratan dari rule atau pola yang dihasilkan. 5.
Simpulan Berdasarkan hasil pengujian Market Basket Analysis dari sistem yang telah dibuat dengan menggunakan data transaksi bulan April 2012, dapat disimpulkan bahwa semakin tinggi nilai support dan confidence, maka semakin tinggi tingkat keakuratan dari rule atau pola yang dihasilkan. dari hasil pengujian menggunakan minimum support 30% dan minimum confidence 75% menghasilkan kemungkinan sebesar 22,5% jika membeli “LEDRE HELLO” juga akan membeli “SUSU ULTRA” dan “LAPIS SURABAYA”. Kita dapat menggunakan hasil dari pengujian sistem untuk menentukan pola penjualan dan menyusun strategi pemasaran, yaitu
21
antara lain “LEDRE HELLO” diletakkan bersebelahan dengan “SUSU ULTRA” dan “LAPIS SURABAYA” dalam penjualan produknya, dan kita dapat menggunakannya untuk menyusun paket parcel untuk pembeli. Terdapat kendala apabila sistem digunakan untuk menghitung data transaksi yang sangat banyak, yaitu waktu perhitungan yang semakin lama, dan saran yang diajukan dalam pengembangan aplikasi ini adalah optimalisasi dalam hal waktu pemrosesan data pada saat analisis, algoritma Apriori memerlukan waktu yang cukup lama dalam hal generating itemset. untuk mempercepat akses ke database bisa digunakan teknologi Hibernate, atau ORM. 6.
Pustaka
[1]
Tandyo R. A., Kristoko D. H., Jasson P., 2009, Sistem Data Mining dengan Association Rule untuk Menentukan Keterkaitan Antar Produk (Studi Kasus : Swalayan Ada Baru Salatiga), Salatiga: Koleksi Perpustakaan Pusat UKSW.
[2]
Dewi A. O., Yessica N., Yos R. B., 2010, Market Basket Analysis Menggunakan Metode Fuzzy C-Covering untuk Menentukan Pola Pembelian Pelanggan Pada Toko Buku (Studi Kasus: Toko Buku Andi Star Salatiga), Salatiga: Koleksi Perpustakaan Pusat UKSW.
[3]
Rifa, Noverino, Kharizt Attria Gupta., 2004, Business Intelligence, ITB.
[4]
Han, Jiawei & Kember, Michelin, 2001, Data mining Concepts & Techniques, Simon Fraser University Academic Press, US.
[5]
Kusrini, Emha T. L., 2009, Algoritma Data Mining, Yogyakarta: Penerbit Andi.
[6]
Pressman, R.S., 2001, Software Engineering : A Practitioner’s Approach, Amerika Serikat : R.S. Pressman and Associates.
[7]
Agrawal, Rakesh, Ramakrishnan Srikant., 1994, Fast Algorithm for Mining Association Rules. In Proc. 1994 International Conference Very Large Data Bases (VLDB).
22