Aplikasi Data Mining untuk Membantu Mengalisis Perbandingan Algoritma Appriori dan Fuzzy C-Covering dalam Penerapan Metode Market Basket Analysis.
vi Universitas Kristen Maranatha
ABSTRAK
Sebagai salah satu aplikasi data mining, market basket analysis umumnya dilakukan dengan menggunakan algoritma Apriori. Algoritma ini mencari asosiasi antar item dengan hanya menghitung berapa kali item-item tersebut muncul dalam keseluruhan transaksi tanpa memperhatikan jumlah item lain dalam setiap transaksi sehingga hasil yang didapat kurang akurat. Untuk mengatasi hal tersebut maka digunakanlah algoritma Fuzzy c-Covering. Algoritma ini didasarkan pada persepsi bahwa semakin banyak item yang dibeli dalam suatu transaksi, maka hubungan antar item dalam transaksi tersebut semakin lemah. Dalam penelitian ini akan dibahas penerapan algoritma Apriori dan Fuzzy c-Covering dalam proses pencarian association rules. Pengujian dilakukan dengan menggunakan data transaksi penjualan dari sebuah toko swalayan. Data yang didapat diubah ke bentuk yang dapat diolah oleh program yaitu ke dalam data warehouse. Kemudian algoritma Apriori dan Fuzzy c-Covering dibuat untuk mengolah data tersebut dengan tujuan menghitung frekuensi kemunculan dari item-item di dalam transaksi. Penelitian ini menyajikan pembahasan mengenai perbandingan waktu proses antara algoritma Apriori dengan algoritma Fuzzy c-Covering dan hasil dari perbandingan algoritma tersebut. Dari hasil pengujian, dapat disimpulkan bahwa algoritma Apriori cenderung memfokuskan pada hubungan antar item dalam keseluruhan transaksi saja tanpa memperhatikan hubungan tiap item dalam tiap transaksi, sehingga hasil yang didapat oleh algoritma Apriori kurang akurat dibandingkan dengan algoritma Fuzzy c-Covering. Sedangkan dari segi waktu pemrosesan, algoritma Apriori lebih cepat dibandingkan algoritma Fuzzy c-Covering. Hal ini dikarenakan pada algoritma Fuzzy c-Covering ketika mencari nilai support akan membandingkan tiap item dengan jumlah item pada satu transaksi, sehingga semakin banyak jumlah item dalam satu transaksi maka semakin lama proses dalam perhitungan nilai support-nya.
Kata Kunci : data mining, market basket analysis, algoritma Apriori, algoritma
(2)
vii Universitas Kristen Maranatha
ABSTRACT
As one of data mining applications, market basket analysis is generally performed using Apriori algorithm. However this algorithm tends to search the association degree of items by only counting how many times the items appears on the overall transaction without considering the amount of other item in each transaction, so the result is less accurate. To overcome this problem, Fuzzy c-Covering algorithm is used. This algorithm is based on perception that the more items bought in a transaction, the weaker the relation between items on that transaction. In this research, will be discussed the application of Apriori algorithm and Fuzzy c-Covering in process of finding association rules. The test is done by using selling transaction data from a market store. The data is converted to the form that can be processed by the program into the data warehouse. After that, Apriori and Fuzzy c-Covering algorithm is created to process the data in order to count the appearance frequency from items in transaction. This research provides the discussion about comparison of time processing between Apriori algorithm and Fuzzy c-Covering algorithm and the result of that algorithm comparison. From the trial result, can be concluded that Apriori algorithm is just focus on relation between item in a whole transaction without concerning relation on each item at each transaction, so that the result which yielded from Apriori algorithm is less accurate compare to Fuzzy c-Covering algorithm. In the other side, for processing time, Apriori algorithm is faster than Fuzzy c-Covering. This is because Fuzzy c-Covering when determining the support value will compare each item to the amount item on one transaction, so the item in one transaction, the longer processing time in counting its support value.
Keywords : data mining, market basket analysis, Apriori algorithm, Fuzzy c-Covering algorithm, association rules
(3)
viii Universitas Kristen Maranatha
DAFTAR ISI
ABSTRAK ...vi
ABSTRACT ... vii
DAFTAR ISI ... viii
DAFTAR GAMBAR ... xii
DAFTAR TABEL ...xiv
DAFTAR KODE PROGRAM ... xvii
DAFTAR KODE RUMUS ... xviii
DAFTAR SIMBOL...xix
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan ... 2
1.4. Batasan Masalah ... 3
1.5. Sistematika Pembahasan ... 4
BAB II LANDASAN TEORI ... 5
2.1. Data Warehouse ... 5
2.1.1. Definisi Data Warehouse ... 5
2.1.2. Karakteristik Data Warehouse ... 6
2.1.3. Keuntungan Data Warehouse ... 10
2.1.4. Arsitektur Data Warehouse ... 11
2.1.5. Model Data Multidimensi ... 12
2.1.6. ETL (Extraction, Transformation, Loading) ... 15
2.1.7. Data Mart ... 16
2.1.8. Metodologi Perancangan Data Warehouse ... 16
2.2. Data Mining ... 18
2.2.1. Definisi Data Mining ... 18
2.2.2. Tugas Data Mining ... 19
2.2.3. Data Mining dan KDD ... 20
(4)
ix Universitas Kristen Maranatha
2.2.5. Teknik dalam Data Mining ... 24
2.3. Market Basket Analysis ... 26
2.4. Assosiation Rule Mining ... 28
2.4.1. Proses Pencarian Association Rules ... 28
2.4.2. Metode Dasar Association Rules ... 29
2.5. Algoritma Apriori ... 31
2.6. Algoritma Fuzzy c-Covering ... 37
2.6.1. Degree of Similarity in Fuzzy c-Covering ... 38
2.6.2. Fuzzy Conditional Probability Relation ... 39
2.6.3. Algoritma untuk Market Basket Analysis Berdasarkan Fuzzy c-Covering ... 40
2.6.4. Cara Kerja Algoritma Fuzzy c-Covering ... 42
2.7. Pentaho Data Integration ... 46
BAB III ANALISIS DAN DESAIN ... 49
3.1. Analisis ... 49
3.1.1. Analisis Algoritma Apriori ... 50
3.1.2. Analisis Algoritma Fuzzy c-Covering ... 52
3.1.3. Analisis Sistem Association Rule pada Weka ... 53
3.1.4. Analisis Sumber Data yang akan Digunakan ... 57
3.1.4.1. Analisis Data Barang ... 57
3.1.4.2. Analisis Data Penjualan ... 61
3.2. Gambaran Keseluruhan ... 64
3.2.1. Antarmuka Perangkat Keras ... 64
3.2.2. Antarmuka Perangkat Lunak ... 64
3.2.3. Fitur-fitur Produk Perangkat Lunak ... 65
3.2.3.1. Fitur Apriori ... 65
3.2.3.1.1. Tujuan ... 65
3.2.3.1.2. Urutan Stimulus/Respon ... 65
3.2.3.1.3. Persyaratan Fungsional yang Berhubungan ... 65
3.2.3.2. Fitur Fuzzy c-Covering ... 66
3.2.3.2.1. Tujuan ... 66
(5)
x Universitas Kristen Maranatha
3.2.3.2.3. Persyaratan Fungsional yang Berhubungan ... 67
3.2.3.3. Fitur Status Log ... 68
3.2.3.3.1. Tujuan ... 68
3.2.3.3.2. Urutan Stimulus/Respon ... 68
3.2.3.3.3. Persyaratan Fungsional yang Berhubungan ... 68
3.2.3.4. Fitur Export ... 69
3.2.3.4.1. Tujuan ... 69
3.2.3.4.2. Urutan Stimulus/Respon ... 69
3.2.3.4.3. Persyaratan Fungsional yang Berhubungan ... 69
3.3. Desain Perangkat Lunak ... 70
3.3.1. Pemodelan Perangkat Lunak ... 70
3.3.2. Desain Penyimpanan Data ... 73
3.3.3. Desain Integrasi Data ... 76
3.3.4. Desain Antarmuka... 78
3.3.4.1. Desain Antarmuka Main Menu ... 78
3.3.4.2. Desain Antarmuka Form Source Data untuk Apriori ... 79
3.3.4.3. Desain antarmuka Form Association Rule untuk Apriori ... 81
3.3.4.4. Desain Antarmuka Form Source Data untuk Fuzzy c-Covering ... 82
3.3.4.5. Desain Antarmuka Form Association Rule untuk Fuzzy c-Covering ... 83
BAB IV PENGEMBANGAN PERANGKAT LUNAK ... 86
4.1. Implementasi Class/Modul ... 86
4.1.1. Fitur Apriori ... 86
4.1.1.1. Implementasi Algortima Apriori ... 86
4.1.1.2. Implementasi Antarmuka Apriori ... 92
4.1.2. Fitur Fuzzy c-Covering... 92
4.1.2.1. Implementasi Algortima Fuzzy c-Covering ... 93
4.1.2.2. Implementasi Antarmuka Fuzzy c-Covering... 103
4.1.3. Fitur Status Log ... 103
4.1.4. Fitur Export ... 105
(6)
xi Universitas Kristen Maranatha
4.3. Implementasi Integrasi Data ... 108
4.3.1. Integrasi Data Dimensi Product ... 110
4.3.2. Integrasi Data Dimensi Category ... 111
4.3.3. Integrasi Data Dimensi Time ... 112
4.3.4. Integrasi Data Fact Sales ... 114
4.4. Implementasi Antarmuka ... 116
BAB V TESTING DAN EVALUASI SISTEM ... 119
5.1. Rencana Pengujian ... 119
5.2. Pelaksanaan Pengujian ... 119
5.2.1. Pengujian Integrasi Data dim_product ... 120
5.2.2. Pengujian Integrasi Data dim_category ... 120
5.2.3. Pengujian Integrasi Data dim_time ... 121
5.2.4. Pengujian Integrasi Data fact_sales ... 122
5.2.5. Pengujian Fitur Apriori ... 122
5.2.5.1. Pengujian Apriori Test Case 1 ... 122
5.2.5.2. Pengujian Apriori Test Case 2 ... 124
5.2.6. Pengujian Fitur Fuzzy c-Covering... 124
5.2.6.1. Pengujian Fuzzy c-Covering Test Case 1 ... 125
5.2.6.2. Pengujian Fuzzy c-Covering Test Case 2 ... 127
5.2.7. Perbandingan Hasil Algoritma Apriori dan Fuzzy c-Covering ... 128
BAB VI KESIMPULAN DAN SARAN ... 132
6.1. Kesimpulan ... 132
6.2. Saran ... 133
DAFTAR PUSTAKA ... 135
(7)
xii Universitas Kristen Maranatha
DAFTAR GAMBAR
Gambar 2.1 Data yang berorientasi subyek (Inmon, 2005: p30) ... 7
Gambar 2.2 Integrasi data warehouse (Inmon, 2005: p31) ... 8
Gambar 2.3 Rentang waktu data warehouse (Inmon, 2005: p32) ... 9
Gambar 2.4 Data warehouse tidak berubah (Inmon, 2005: p32) ... 10
Gambar 2.5 Arsitektur three-tier data warehouse (Han & Kamber, 2006) ... 11
Gambar 2.6 Skema bintang (Han & Kamber, 2006) ... 13
Gambar 2.7 Skema snowflake (Han & Kamber, 2006) ... 14
Gambar 2.8 Skema galaksi (Han & Kamber, 2006)... 14
Gambar 2.9 Tahap Pada KDD (Han & Kamber, 2006: p6) ... 20
Gambar 2.10 Siklus CRISP-DM ... 22
Gambar 2.11 Clustering (Han & Kamber, 2006: p26) ... 25
Gambar 2.12 Ilustrasi Konsep Market Basket Analysis ... 27
Gambar 2.13 Ilustrasi algoritma Apriori (Han & Kamber, 2006: p237) ... 33
Gambar 2.14 Pseudocode Algoritma Apriori... 36
Gambar 2.15 Arsitektur platform PDI ... 47
Gambar 3.1 Flowchart proses pekerjaan secara keseluruhan ... 50
Gambar 3.2 Flowchart algoritma Apriori ... 51
Gambar 3.3 Flowchart algoritma Fuzzy c-Covering ... 53
Gambar 3.4 Fitur Explorer pada Weka ... 54
Gambar 3.5 Fitur Preprocessing Data pada Weka ... 55
Gambar 3.6 Fitur Associate pada Weka ... 56
Gambar 3.7 Fitur Visualize Data pada Weka ... 56
Gambar 3.8 Flowchart proses menjalankan association rule pada Weka ... 57
Gambar 3.9 Isi file data penjualan... 62
Gambar 3.10 Use Case Diagram ... 71
Gambar 3.11 Star Schema ... 74
Gambar 3.12 Desain integrasi data product ... 76
Gambar 3.13 Desain integrasi data category... 77
(8)
xiii Universitas Kristen Maranatha
Gambar 3.15 Desain integrasi data sales... 78
Gambar 3.16 Desain antarmuka Main Menu... 79
Gambar 3.17 Desain antarmuka Form Source Data untuk Apriori ... 80
Gambar 3.18 Desain antarmuka Form Association Rule untuk Apriori ... 81
Gambar 3.19 Desain antarmuka form source data untuk Fuzzy c-Covering ... 82
Gambar 3.20 Desain antarmuka Form Association Rule untuk Fuzzy c-Covering84 Gambar 4.1 Tampilan isi file data penjualan yang telah di join... 109
Gambar 4.2 Step-step integrasi data product... 110
Gambar 4.3 Step-step integrasi data category ... 111
Gambar 4.4 Step-step integrasi data time ... 113
Gambar 4.5 Step-step integrasi data sales ... 114
Gambar 4.6 Implementasi antarmuka Main Menu ... 116
Gambar 4.7 Implementasi antarmuka Source Data untuk Apriori ... 116
Gambar 4.8 Implementasi antarmuka Association Rule untuk Apriori... 117
Gambar 4.9 Implementasi antarmuka Source Data untuk Fuzzy c-Covering .. 117 Gambar 4.10 Implementasi antarmuka Association Rule untuk Fuzzy c-Covering118
(9)
xiv Universitas Kristen Maranatha
DAFTAR TABEL
Tabel 2.1 Contoh data transaksi ... 29
Tabel 2.2 Pola kombinasi yang memenuhi syarat minimum nilai support ... 30
Tabel 2.3 Association rules yang memenuhi syarat minimum nilai confidence . 30 Tabel 2.4 Data transaksi ... 32
Tabel 2.5 Hasil association rules ... 36
Tabel 2.6 Similarity R(X, Y) dari tiap elemen ... 40
Tabel 2.7 Contoh data transaksi penjualan ... 42
Tabel 3.1 Keterhubungan flowchart dan implementasi algoritma Apriori ... 52
Tabel 3.2 Keterhubungan flowchart dan implementasi algoritma Fuzzy c-Covering ... 53
Tabel 3.3 Isi file data barang ... 58
Tabel 3.4 Contoh data untuk kode barang ... 58
Tabel 3.5 Contoh data untuk nama barang ... 60
Tabel 3.6 Data kelompok barang ... 61
Tabel 3.7 Kolom data penjualan ... 61
Tabel 3.8 Skenario Case Apriori ... 71
Tabel 3.9 Skenario Case Fuzzy c-Covering ... 72
Tabel 3.10 Skenario Case Status Log ... 73
Tabel 3.11 Skenario Case Export ... 73
Tabel 3.12 Entity star schema ... 74
Tabel 3.13 Tabel dim_product ... 75
Tabel 3.14 Tabel dim_category ... 75
Tabel 3.15 Tabel dim_time ... 75
Tabel 3.16 Tabel fact_sales ... 76
Tabel 3.17 Deskripsi desain antarmuka Main Menu ... 79
Tabel 3.18 Keterangan button/field pada desain antarmuka Main Menu ... 79
Tabel 3.19 Deskripsi desain antarmuka form source data untuk Apriori ... 80
Tabel 3.20 Keterangan button/field pada desain antarmuka Form Source Data untuk Apriori ... 80
(10)
xv Universitas Kristen Maranatha
Tabel 3.21 Deskripsi desain antarmuka form association rule untuk Apriori ... 81
Tabel 3.22 Keterangan button/field pada desain antarmuka form Association Rule untuk Apriori ... 81
Tabel 3.23 Deskripsi desain antarmuka form source data untuk Apriori ... 83
Tabel 3.24 Keterangan button/field pada desain antarmuka Form Source Data untuk Fuzzy c-Covering ... 83
Tabel 3.25 Deskripsi desain antarmuka form association rule untuk Fuzzy c-Covering ... 84
Tabel 3.26 Keterangan button/field pada desain antarmuka form association rule untuk Fuzzy c-Covering ... 84
Tabel 4.1 Keterangan implementasi modul main_program_apriori ... 86
Tabel 4.2 Keterangan implementasi modul main_program_support ... 87
Tabel 4.3 Keterangan implementasi modul apriori_gen ... 88
Tabel 4.4 Keterangan implementasi modul has_infrequent_subset ... 89
Tabel 4.5 Keterangan implementasi modul main_program_confidence... 89
Tabel 4.6 Keterangan implementasi modul generate_candidate ... 90
Tabel 4.7 Keterangan implementasi modul generate_confidence... 91
Tabel 4.8 Class pada antarmuka Apriori ... 92
Tabel 4.9 Keterangan implementasi modul main_program_fuzzyccovering ... 93
Tabel 4.10 Keterangan implementasi modul main_program_support ... 93
Tabel 4.11 Keterangan implementasi modul subset ... 95
Tabel 4.12 Keterangan implementasi modul kombinasi ... 96
Tabel 4.13 Keterangan implementasi modul fuzzyccovering_gen ... 96
Tabel 4.14 Keterangan implementasi modul generate_candidate ... 98
Tabel 4.15 Keterangan implementasi modul has_infrequent_subset ... 98
Tabel 4.16 Keterangan implementasi modul generate_fuzzy_set ... 99
Tabel 4.17 Keterangan implementasi modul main_program_confidence... 100
Tabel 4.18 Keterangan implementasi modul generate_confidence... 101
Tabel 4.19 Keterangan implementasi modul calculate_support ... 102
Tabel 4.20 Class pada antarmuka Apriori ... 103
Tabel 4.21 Keterangan implementasi method setStatusLogSourceData ... 103
(11)
xvi Universitas Kristen Maranatha
Tabel 4.23 Keterangan implementasi method buttonClearActionPerformed ... 104
Tabel 4.24 Keterangan implementasi class FileChooser ... 105
Tabel 4.25 Keterangan implementasi class ExportExcel ... 106
Tabel 4.26 Keterangan implementasi method exportToExcel ... 106
Tabel 4.27 Penjelasan step integrasi data dim_product ... 110
Tabel 4.28 Penjelasan step integrasi data dim_category ... 112
Tabel 4.29 Penjelasan step integrasi data dim_time ... 113
Tabel 4.30 Penjelasan step integrasi data fact_sales ... 114
Tabel 5.1 Rencana pengujian ... 119
Tabel 5.2 Hasil pengujian Algoritma Apriori Test Case 1 ... 123
Tabel 5.3 Hasil pengujian Algoritma Apriori Test Case 2 ... 124
Tabel 5.4 Hasil pengujian Algoritma Fuzzy c-Covering Test Case 1 ... 125
Tabel 5.5 Hasil pengujian Fuzzy c-Covering dengan item threshold ... 126
Tabel 5.6 Hasil pengujian Algoritma Fuzzy c-Covering Test Case 2 ... 127
Tabel 5.7 Perbandingan Algoritma Apriori dan Fuzzy c-Covering untuk test case 1 ... 128
Tabel 5.8 Perbandingan Algoritma Apriori dan Fuzzy c-Covering untuk test case 2 ... 129
Tabel 5.9 Rules yang dihasilkan Algoritma Apriori ... 130
(12)
xvii Universitas Kristen Maranatha
DAFTAR KODE PROGRAM
Kode Program 1 Modul main_program_apriori ... 87
Kode Program 2 Modul main_program_support ... 88
Kode Program 3 Modul apriori_gen ... 89
Kode Program 4 Modul has_infrequent_subset ... 89
Kode Program 5 Modul main_program_confidence ... 90
Kode Program 6 Modul generate_candidate ... 91
Kode Program 7 Modul generate_confidence ... 92
Kode Program 8 Modul main_program_fuzzyccovering ... 93
Kode Program 9 Modul main_program_support ... 95
Kode Program 10 Modul subset ... 96
Kode Program 11 Modul kombinasi ... 96
Kode Program 12 Modul fuzzyccovering_gen... 97
Kode Program 13 Modul generate_candidate ... 98
Kode Program 14 Modul has_infrequent_subset ... 99
Kode Program 15 Modul generate_fuzzy_set ... 100
Kode Program 16 Modul main_program_confidence ... 101
Kode Program 17 Modul generate_confidence ... 102
Kode Program 18 Modul calculate_support ... 103
Kode Program 19 Method setStatusLogSourceData ... 104
Kode Program 20 Method setStatusLogAssociationRule ... 104
Kode Program 21 Method buttonClearActionPerformed... 105
Kode Program 22 Class FileChooser ... 106
Kode Program 23 Class ExportExcel ... 106
(13)
xviii Universitas Kristen Maranatha
DAFTAR KODE RUMUS
Kode Rumus 1. Rumus support untuk Association Rules ... 29
Kode Rumus 2. Rumus confidence untuk Association Rules ... 29
Kode Rumus 3. Rumus confidence untuk algoritma Apriori ... 36
Kode Rumus 4. Rumus Fuzzy c-Partition 1 ... 37
Kode Rumus 5. Rumus Fuzzy c-Partition 2 ... 37
Kode Rumus 6. Rumus Fuzzy c-Covering 1 ... 37
Kode Rumus 7. Rumus fuzzy set ... 38
Kode Rumus 8. Rumus fuzzy conditional probability relation ... 39
Kode Rumus 9. Rumus support untuk Fuzzy c-Covering ... 41
(14)
xix Universitas Kristen Maranatha
DAFTAR SIMBOL
No Simbol Nama
Simbol Deskripsi Penggunaan
1 Entity
Suatu obyek yang dapat dibedakan dalam dunia nyata
Entity Relational Diagram
2 Relationship
Menunjukkan nama relasi antar satu entity dengan entity lainnya Entity Relational Diagram 3 Relationship for week entity
Menunjukkan nama relasi antar satu week entity dengan entity lainnya
Entity Relational Diagram 3 Attribute Karakteristik dari sebuah
entity
Entity Relational Diagram
4 Week Entity
Entity yang kemunculannya tergantung dari entity lain yang lebih kuat
Entity Relational Diagram
5 One to many Hubungan satu ke banyak atar dua entity
Entity Relational Diagram 6 One to one Hubungan satu ke satu atar
dua entity
Entity Relational Diagram
7 Many to
many
Hubungan banyak ke banyak atar dua entity
Entity Relational Diagram
8 Actor User dari sistem atau
aplikasi.
Use case Diagram
9 Use case Merepresentasikan elemen utama dari fungsi sistem.
Use case Diagram
10 Use (Relasi)
Mengindikasikan bahwa suatu elemen memerlukan elemen yang lain untuk
Use case Diagram
(15)
xx Universitas Kristen Maranatha
No Simbol Nama
Simbol Deskripsi Penggunaan
melakukan interaksi.
11 Include
Dependency
Mengindikasikan bahwa suatu elemen termasuk fungsi dari elemen target. Relasi include digunakan di pemodelan use case untuk menggambarkan bahwa suatu use case termasuk perilaku dari use case yang lain.
Use case Diagram
12 Begin / End Memulai atau mengakhiri
proses flowchart Flowchart
13 Process
Menunjukkan jenis operasi pengolahan dalam suatu proses
Flowchart
14 Input /
Output
Memasukan data maupun menunjukkan hasil dari suatu proses
Flowchart
15 Decision
Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya
Flowchart
16 Database
Mengambarkan
penyimpanan data berupa data pada database atau data dalam komputer
Flowchart <<include>>
(16)
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
1.1. Latar Belakang
Dalam suatu organisasi bisnis maupun non bisnis dibutuhkan suatu sistem yang dapat mengolah data yang banyak dan dapat membantu menganalisis data tersebut untuk membantu pengambilan keputusan dalam mengatasi permasalahan yang ada. Suatu organisasi sering kali membutuhkan pengambilan keputusan yang cepat dan tepat dari hasil analisis data yang banyak. Namun, analisis data yang banyak dengan menggunakan metode atau cara manual membutuhkan waktu yang cukup lama dan hasilnya pun kurang memuaskan. Oleh karena itu dibutuhkan suatu teknologi yang dapat melahirkan pengetahuan-pengetahuan baru sehingga dapat membantu pihak-pihak yang terkait. Maka kini teknologi data mining hadir sebagai salah satu solusi untuk pengelolaan data yang besar secara efektif dan efisien dan bahkan dapat menghasilkan informasi atau pengetahuan yang berguna bagi para pembuat keputusan.
Perkembangan data mining (DM) yang pesat tidak dapat lepas dari perkembangan Teknologi Informasi yang saat ini membawa dampak yang sangat signifikan terutama dalam kehidupan manusia. Kemudian hal ini mempengaruhi perkembangan dalam dunia informasi yang memungkinkan data dalam jumlah besar terakumulasi. Tetapi pertumbuhan yang pesat dari data itu menciptakan kondisi yang sering disebut sebagai “Rich of data but poor of information” karena data yang terkumpul itu tidak dapat digunakan untuk aplikasi yang berguna. Tidak jarang kumpulan data dibiarkan begitu saja seakan – akan “kuburan data”. Untuk itu diperlukan pengelolaan terhadap kumpulan data sehingga kumpulan tersebut dapat menghasilkan pengetahuan yang berharga (Han & Kamber, 2006).
Dalam mempermudah proses pengelolaan terhadap kumpulan data yang besar dibutuhkan tempat khusus yang dinamakan data warehouse. Data warehouse menyediakan arsitektur dan alat bagi para eksekutif bisnis untuk mengatur secara sistematis, mengerti dan menggunakan data tersebut untuk
(17)
2
Universitas Kristen Maranatha pengambilan keputusan (Han & Kamber, 2006). Data warehouse ini dapat memudahkan dalam pemrosesan data yang akan diproses oleh data mining.
Pada perusahaan retail, istilah market basket digunakan untuk menggambarkan kelompok item (terdiri dua atau lebih item) yang cenderung dibeli oleh seorang konsumen sewaktu berbelanja di perusahaan dalam satu transaksi pembelian. Misalnya, kecenderungan konsumen untuk membeli item B jika ia membeli item A, atau sebaliknya. Jika hal itu bisa diketahui oleh perusahaan, maka perusahaan bisa meningkatkan penjulan item B dan item A dengan cara menempatkan keduanya saling berdekatan. Dengan cara itu diharapkan konsumen akan teringat/tertarik untuk membeli item B jika ia akan membeli item A, atau sebaliknya.
Dalam penelitian ini akan dilakukan analisis market basket dengan menerapkan teknik Association Rules yang melibatkan algoritma Apriori dan Fuzzy c-Covering, sehingga diperoleh informasi algoritma yang terbaik dalam segi keakurasiannya dalam menentukan keterhubungan antar item.
1.2. Rumusan Masalah
Rumusan masalah dari latar belakang yang telah dijelaskan di atas adalah sebagai berikut:
1. Bagaimana memodelkan data warehouse / data mart yang memiliki struktur sesuai dengan kebutuhan yang dapat mendukung dalam pemrosesan metode Market Basket Analysis.
2. Bagaimana cara untuk memindahkan data transaksi ke dalam data warehouse / data mart.
3. Bagaimana hasil yang diperoleh dari metode Market Basket Analysis dengan menggunakan algoritma Apriori dan Fuzzy c-Covering dari segi keakurasian dan waktu pemrosesannya.
1.3. Tujuan
Tujuan yang ingin dicapai dalam penelitian ini adalah:
1. Menerapkan penyimpanan data berupa data warehouse / data mart untuk selanjutnya diproses oleh data mining.
(18)
3
Universitas Kristen Maranatha 2. Menerapkan metode Market Basket Analysis menggunakan algoritma
Apriori dan Fuzzy c-Covering.
3. Membuat aplikasi yang merupakan simulasi data mining dengan menerapkan algorima Apriori dan Fuzzy c-Covering untuk kebutuhan Market Basket Analysis. Hasil yang didapat digunakan untuk mendukung analisis perbandingan antara kedua algoritma tersebut sehingga dapat diketahui algoritma yang lebih baik dari segi keakurasian dan waktu pemrosesan.
1.4. Batasan Masalah
Ruang lingkup aplikasi adalah sebagai berikut:
1. Studi kasus yang digunakan adalah data transaksi penjualan barang dengan format excel yang terdiri dari data no faktur jual, kode barang, nama barang, kategori barang, jumlah jual.
2. Dalam kasus ini, data transaksi yang digunakan adalah data transaksi pada bulan Januari 2009, Februari 2009, Maret 2009, April 2009, November 2009, Desember 2009, Januari 2010, Februari 2010, Maret 2010 yang diperoleh dari toko Ciremai Grosir Ciajur.
3. Data transaksi penjualan disimpan pada data warehouse / data mart yang selanjutnya diproses oleh data mining.
4. Pemindahan data transaksi penjualan ke data warehouse / data mart dengan menggunakan proses ETL (Extraction, Transformation, Loading). 5. Sistem data mining yang dikembangkan dalam penerapan metode Market
Basket Analysis menggunakan algoritma Apriori dan Fuzzy c-Covering. 6. Penentuan sejumlah kombinasi item dari algoritma Apriori dan Fuzzy
c-Covering.
7. Pencarian sejumlah kombinasi item dapat berdasarkan produk atau kategori produk.
8. Association rules yang dihasilkan maksimal memiliki empat kombinasi item.
9. Pada algoritma Fuzzy c-Covering dapat menentukan maksimal empat nilai minimum support.
(19)
4
Universitas Kristen Maranatha
1.5. Sistematika Pembahasan
Sistematika penulisan yang akan ditulis dalam penyusunan tugas akhir ini merupakan suatu rancangan yang secara garis besar menggambarkan keseluruhan dari isi tugas akhir yang mana terdiri atas enam (6) bab, yaitu:
BAB I : PENDAHULUAN
Bab ini menjelaskan suatu gambaran secara umum mengenai penyusunan tugas akhir, yang terdiri atas latar belakang, rumusan masalah, tujuan, batasan masalah, dan sistematika pembahasan yang akan diangkat pada penyusunan tugas akhir tersebut.
BAB II : KAJIAN PUSTAKA
Bab ini berisi berbagai pengertian terhadap istilah-istilah yang digunakan di dalam penulisan laporan Tugas Akhir ini, dan juga sejumlah teori yang relevan untuk mendukung kegiatan penelitian yang dilakukan.
BAB III : ANALISIS DAN DESAIN
Bab ini terdiri atas analisis, gambaran keseluruhan dan desain perangkat lunak yang akan dikembangkan.
BAB IV : PENGEMBANGAN PERANGKAT LUNAK
Bab ini terdiri atas implementasi seluruh hasil rancangan di bab 3, mulai dari implementasi class/modul, simpanan data sampai dengan antar muka.
BAB V : TESTING DAN EVALUASI SISTEM
Bab ini terdiri atas Rencana Pengujian yang terdiri atas test case dan pelaksanaan pengujian yang dapamenggunakan salah satu atau kedua metoda yaitu White Box maupun Black Box.
BAB VI : KESIMPULAN DAN SARAN
Bab ini berisikan kesimpulan yang diperoleh dari pembahasan masalah yang telah dilakukan pada bab sebelumnya serta beberapa saran yang coba disampaikan oleh penyusun.
(20)
132 Universitas Kristen Maranatha
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Berdasarkan hasil pembahasan yang dilakukan maka dapat diperoleh kesimpulan sebagai berikut.
1. Perancangan data mart sebelum proses data mining telah berhasil diterapkan dan perancangan data mart tersebut dapat memberikan suatu keteraturan mekanisme database sehingga pemrosesan yang dilakukan untuk data mining menjadi lebih baik.
2. Metode Market Basket Analysis sebagai penerapan teknik association rules telah berhasil diterapkan dengan menggunakan algoritma Apriori dan algoritma Fuzzy c-Covering.
3. Perbandingan algoritma Apriori dan Fuzzy c-Covering dengan input-an jumlah transaksi, minimum support, minimum confidence yang sama menghasilkan waktu pemrosesan algoritma Apriori lebih cepat dibandingkan dengan algoritma Fuzzy c-Covering. Hal ini dikarenakan pada algoritma Fuzzy c-Covering ketika mencari nilai support akan membandingkan tiap item dengan jumlah item pada satu transaksi, sehingga semakin banyak jumlah item dalam satu transaksi maka semakin lama proses dalam perhitungan nilai support-nya.
4. Berdasarkan hasil pengujian pada sub bab 5.2.7, algoritma Apriori cenderung memfokuskan pada hubungan antar item dalam keseluruhan transaksi saja tanpa memperhatikan hubungan tiap item dalam tiap transaksi, sehingga hasil yang didapat oleh algoritma Apriori kurang akurat dibandingkan dengan algoritma Fuzzy c-Covering.
5. Pada algoritma Fuzzy c-Covering standar penentuan nilai minimum support dan minimum confidence lebih kecil dibandingkan standar penentuan nilai minimum support dan confidence untuk algoritma Apriori. 6. Algoritma Apriori dan Fuzzy c-Covering keduanya dapat diterapkan untuk
(21)
133
Universitas Kristen Maranatha item yang cukup banyak dalam satu transaksi algoritma Fuzzy c-Covering lebih baik dari algoritma Apriori karena algoritma Fuzzy c-Covering dapat mengatur nilai item threshold yang dibutuhkan, hal ini sesuai dengan hasil yang ingin dicapai oleh tujuan pada nomor 2.
7. Berdasarkan hasil pengujian pada sub bab 5.2.5.1 dan 5.2.6.1, semakin besar minimum support dan minimum confidence yang di-input-kan, semakin kecil kemungkinan suatu item lolos dari seleksi sehingga semakin sedikit jumlah rules yang dihasilkan, begitupun sebaliknya.
8. Semakin kecil nilai minimum support dan minimum confidence yang di-input-kan oleh user, semakin lama waktu yang diperlukan untuk melakukan analisis dan akan semakin banyak rules yang dihasilkan.
9. Tingkat keragaman dan jumlah data sangat menentukan hasil dari association rules.
10. Waktu yang digunakan untuk pemrosesan tergantung pada spesifikasi komputer, jumlah transaksi, minimum support, minimum confidence dan jumlah item yang terlibat.
6.2. Saran
Beberapa saran yang diajukan dengan kemungkinan dilakukan pengembangan lebih lanjut adalah sebagai berikut.
1. Pengembangan lebih lanjut dapat diterapkan dengan menggunakan data yang terbaru, sehingga hasil analisis yang didapat akan lebih akurat.
2. Pengembangan lebih lanjut disarankan untuk melakukan proses preprocessing data bukan dari file excel melainkan langsung dari database transaksi.
3. Apabila menginginkan hasil association rules yang lebih akurat disarankan menggunakan algoritma Fuzzy c-Covering dan apabila menginginkan hasil association rules yang lebih beragam disarankan menggunakan algoritma Apriori.
4. Model data mining dapat dikembangkan dengan menggunakan aplikasi front-end selain aplikasi desktop, misalnya aplikasi web-based.
(22)
134
Universitas Kristen Maranatha 5. Model data mining dapat dikembangkan dengan menggunakan teknik data mining yang lain sehingga dapat diketahui kelebihan dan kekurangan dari teknik-teknik tersebut.
6. Ketika melakukan pengembangan program untuk algoritma Apriori maupun Fuzzy c-Covering terdapat kesulitan dalam menentukan struktur data yang digunakan atau dipilih untuk menyimpan candidate itemset dan frequent itemset.
(23)
135 Universitas Kristen Maranatha
DAFTAR PUSTAKA
Conolly, Thomas and Begg Carolyn. 2005. Database systems – A Practical Approach to Design, Implementation and Management. edisi-4: Addison Wesley Longman.Inc.
Gregorius S. Budhi, Resmana Lim, O. P. Gunawan. 2005. Penggunaan Metode Fuzzy c-Covering untuk Analisa Market Basket pada Supermarket, Jurnal Informatika: 51-58.
Han, Jiawei and Kamber, Micheline. 2006. Data Mining: Concepts and Techniques: Morgan Kaufmann Publisher.
Inmon, William H. 2005. Building Data Warehouse. 3th Edition. Canada: John Wiley & Sons.
Intan, Rolly., Mukaidono, Masao. 2003. A Proposal of Fuzzy Thesaurus Generated by Fuzzy Covering. IEEE: 167-172.
Kimball, R. 2004. The Data Warehouse ETL Toolkit: Wiley Publishing Inc. Kimball, Ralph, and Ross, Margy. 2002. The Data Warehouse Toolkit: The
Complete Guide to Dimensional Modeling. Second Edition, Canada: John Wiley & Sons, Inc.
Klir, George J. and Yuan, Bo. 2001. Fuzzy Sets and Fuzzy Logic – Theory and Applications. India: Prentice Hall.
Larose, Daniel T. 2005. Discovering Knowledge in Data: John Wiley & Sons. Olson, David L. 2008. Advanced Data Mining Techniques. Berlin: Springer. Pentaho Corporation. 2011. Pentaho Data Integration 4.2 User Guide.
Seidman, Claude. 2001. Data Mining With SQL Server 2000. Washington: Miscrosoft Press.
Tan, P.N., Steinbach, M. & Kumar, V. 2006. Introduction to Data Mining: Pearson Education, Inc.
(1)
Universitas Kristen Maranatha 2. Menerapkan metode Market Basket Analysis menggunakan algoritma
Apriori dan Fuzzy c-Covering.
3. Membuat aplikasi yang merupakan simulasi data mining dengan menerapkan algorima Apriori dan Fuzzy c-Covering untuk kebutuhan
Market Basket Analysis. Hasil yang didapat digunakan untuk mendukung
analisis perbandingan antara kedua algoritma tersebut sehingga dapat diketahui algoritma yang lebih baik dari segi keakurasian dan waktu pemrosesan.
1.4. Batasan Masalah
Ruang lingkup aplikasi adalah sebagai berikut:
1. Studi kasus yang digunakan adalah data transaksi penjualan barang dengan format excel yang terdiri dari data no faktur jual, kode barang, nama barang, kategori barang, jumlah jual.
2. Dalam kasus ini, data transaksi yang digunakan adalah data transaksi pada bulan Januari 2009, Februari 2009, Maret 2009, April 2009, November 2009, Desember 2009, Januari 2010, Februari 2010, Maret 2010 yang diperoleh dari toko Ciremai Grosir Ciajur.
3. Data transaksi penjualan disimpan pada data warehouse / data mart yang selanjutnya diproses oleh data mining.
4. Pemindahan data transaksi penjualan ke data warehouse / data mart dengan menggunakan proses ETL (Extraction, Transformation, Loading). 5. Sistem data mining yang dikembangkan dalam penerapan metode Market
Basket Analysis menggunakan algoritma Apriori dan Fuzzy c-Covering.
6. Penentuan sejumlah kombinasi item dari algoritma Apriori dan Fuzzy
c-Covering.
7. Pencarian sejumlah kombinasi item dapat berdasarkan produk atau kategori produk.
8. Association rules yang dihasilkan maksimal memiliki empat kombinasi item.
9. Pada algoritma Fuzzy c-Covering dapat menentukan maksimal empat nilai
(2)
4
Universitas Kristen Maranatha
1.5. Sistematika Pembahasan
Sistematika penulisan yang akan ditulis dalam penyusunan tugas akhir ini merupakan suatu rancangan yang secara garis besar menggambarkan keseluruhan dari isi tugas akhir yang mana terdiri atas enam (6) bab, yaitu:
BAB I : PENDAHULUAN
Bab ini menjelaskan suatu gambaran secara umum mengenai penyusunan tugas akhir, yang terdiri atas latar belakang, rumusan masalah, tujuan, batasan masalah, dan sistematika pembahasan yang akan diangkat pada penyusunan tugas akhir tersebut.
BAB II : KAJIAN PUSTAKA
Bab ini berisi berbagai pengertian terhadap istilah-istilah yang digunakan di dalam penulisan laporan Tugas Akhir ini, dan juga sejumlah teori yang relevan untuk mendukung kegiatan penelitian yang dilakukan.
BAB III : ANALISIS DAN DESAIN
Bab ini terdiri atas analisis, gambaran keseluruhan dan desain perangkat lunak yang akan dikembangkan.
BAB IV : PENGEMBANGAN PERANGKAT LUNAK
Bab ini terdiri atas implementasi seluruh hasil rancangan di bab 3, mulai dari implementasi class/modul, simpanan data sampai dengan antar muka.
BAB V : TESTING DAN EVALUASI SISTEM
Bab ini terdiri atas Rencana Pengujian yang terdiri atas test case dan pelaksanaan pengujian yang dapamenggunakan salah satu atau kedua metoda yaitu White Box maupun Black Box.
BAB VI : KESIMPULAN DAN SARAN
Bab ini berisikan kesimpulan yang diperoleh dari pembahasan masalah yang telah dilakukan pada bab sebelumnya serta beberapa saran yang coba disampaikan oleh penyusun.
(3)
132 Universitas Kristen Maranatha
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Berdasarkan hasil pembahasan yang dilakukan maka dapat diperoleh kesimpulan sebagai berikut.
1. Perancangan data mart sebelum proses data mining telah berhasil diterapkan dan perancangan data mart tersebut dapat memberikan suatu keteraturan mekanisme database sehingga pemrosesan yang dilakukan untuk data mining menjadi lebih baik.
2. Metode Market Basket Analysis sebagai penerapan teknik association
rules telah berhasil diterapkan dengan menggunakan algoritma Apriori dan
algoritma Fuzzy c-Covering.
3. Perbandingan algoritma Apriori dan Fuzzy c-Covering dengan input-an jumlah transaksi, minimum support, minimum confidence yang sama menghasilkan waktu pemrosesan algoritma Apriori lebih cepat dibandingkan dengan algoritma Fuzzy c-Covering. Hal ini dikarenakan pada algoritma Fuzzy c-Covering ketika mencari nilai support akan membandingkan tiap item dengan jumlah item pada satu transaksi, sehingga semakin banyak jumlah item dalam satu transaksi maka semakin lama proses dalam perhitungan nilai support-nya.
4. Berdasarkan hasil pengujian pada sub bab 5.2.7, algoritma Apriori cenderung memfokuskan pada hubungan antar item dalam keseluruhan transaksi saja tanpa memperhatikan hubungan tiap item dalam tiap transaksi, sehingga hasil yang didapat oleh algoritma Apriori kurang akurat dibandingkan dengan algoritma Fuzzy c-Covering.
5. Pada algoritma Fuzzy c-Covering standar penentuan nilai minimum
support dan minimum confidence lebih kecil dibandingkan standar
penentuan nilai minimum support dan confidence untuk algoritma Apriori. 6. Algoritma Apriori dan Fuzzy c-Covering keduanya dapat diterapkan untuk
(4)
133
Universitas Kristen Maranatha
item yang cukup banyak dalam satu transaksi algoritma Fuzzy c-Covering
lebih baik dari algoritma Apriori karena algoritma Fuzzy c-Covering dapat mengatur nilai item threshold yang dibutuhkan, hal ini sesuai dengan hasil yang ingin dicapai oleh tujuan pada nomor 2.
7. Berdasarkan hasil pengujian pada sub bab 5.2.5.1 dan 5.2.6.1, semakin besar minimum support dan minimum confidence yang di-input-kan, semakin kecil kemungkinan suatu item lolos dari seleksi sehingga semakin sedikit jumlah rules yang dihasilkan, begitupun sebaliknya.
8. Semakin kecil nilai minimum support dan minimum confidence yang
di-input-kan oleh user, semakin lama waktu yang diperlukan untuk
melakukan analisis dan akan semakin banyak rules yang dihasilkan.
9. Tingkat keragaman dan jumlah data sangat menentukan hasil dari
association rules.
10. Waktu yang digunakan untuk pemrosesan tergantung pada spesifikasi komputer, jumlah transaksi, minimum support, minimum confidence dan jumlah item yang terlibat.
6.2. Saran
Beberapa saran yang diajukan dengan kemungkinan dilakukan pengembangan lebih lanjut adalah sebagai berikut.
1. Pengembangan lebih lanjut dapat diterapkan dengan menggunakan data yang terbaru, sehingga hasil analisis yang didapat akan lebih akurat.
2. Pengembangan lebih lanjut disarankan untuk melakukan proses
preprocessing data bukan dari file excel melainkan langsung dari database
transaksi.
3. Apabila menginginkan hasil association rules yang lebih akurat disarankan menggunakan algoritma Fuzzy c-Covering dan apabila menginginkan hasil association rules yang lebih beragam disarankan menggunakan algoritma Apriori.
4. Model data mining dapat dikembangkan dengan menggunakan aplikasi
(5)
Universitas Kristen Maranatha 5. Model data mining dapat dikembangkan dengan menggunakan teknik data
mining yang lain sehingga dapat diketahui kelebihan dan kekurangan dari
teknik-teknik tersebut.
6. Ketika melakukan pengembangan program untuk algoritma Apriori maupun Fuzzy c-Covering terdapat kesulitan dalam menentukan struktur data yang digunakan atau dipilih untuk menyimpan candidate itemset dan
(6)
135 Universitas Kristen Maranatha
DAFTAR PUSTAKA
Conolly, Thomas and Begg Carolyn. 2005. Database systems – A Practical Approach to Design, Implementation and Management. edisi-4: Addison
Wesley Longman.Inc.
Gregorius S. Budhi, Resmana Lim, O. P. Gunawan. 2005. Penggunaan Metode
Fuzzy c-Covering untuk Analisa Market Basket pada Supermarket, Jurnal
Informatika: 51-58.
Han, Jiawei and Kamber, Micheline. 2006. Data Mining: Concepts and
Techniques: Morgan Kaufmann Publisher.
Inmon, William H. 2005. Building Data Warehouse. 3th Edition. Canada: John Wiley & Sons.
Intan, Rolly., Mukaidono, Masao. 2003. A Proposal of Fuzzy Thesaurus
Generated by Fuzzy Covering. IEEE: 167-172.
Kimball, R. 2004. The Data Warehouse ETL Toolkit: Wiley Publishing Inc.
Kimball, Ralph, and Ross, Margy. 2002. The Data Warehouse Toolkit: The
Complete Guide to Dimensional Modeling. Second Edition, Canada: John
Wiley & Sons, Inc.
Klir, George J. and Yuan, Bo. 2001. Fuzzy Sets and Fuzzy Logic – Theory and Applications. India: Prentice Hall.
Larose, Daniel T. 2005. Discovering Knowledge in Data: John Wiley & Sons.
Olson, David L. 2008. Advanced Data Mining Techniques. Berlin: Springer.
Pentaho Corporation. 2011. Pentaho Data Integration 4.2 User Guide.
Seidman, Claude. 2001. Data Mining With SQL Server 2000. Washington: Miscrosoft Press.
Tan, P.N., Steinbach, M. & Kumar, V. 2006. Introduction to Data Mining: Pearson Education, Inc.