PENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi Kasus Pada Toko “Kafe Swalayan”) SKRIPSI
PENERAPAN ALGORITMA APRIORI
UNTUK PENCARIAN POLA ASOSIASI BARANG
PADA DATA TRANSAKSI PENJUALAN
(Studi Kasus Pada Toko “Kafe Swalayan”)
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Disusun Oleh :
APRIORI ALGORITHM IMPLEMENTATION
FOR FINDING GOODS ASSOCIATION RULES
ON TRANSACTION OF SELLING DATA
(Case Study at “Kafe Swalayan” Store)
A THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Informatics Engineering
By :
MOTO
Hidup tak selamanya indah.Kebahagiaan hidup bukan ditentukan oleh materi yang berlimpah, tapi oleh hati yang tentram.
Seperti filosofi padi, semakin dia berisi semakin dia menunduk.
Tak ada yang tak mungkin dalam hidup ini jika kita mau berusaha.
“sepi ing pamrih, rame ing gawe”
HALAMAN PERSEMBAHAN
ABSTRAK
Transaksi penjualan barang pada suatu toko swalayan menghasilkan data transaksi yang besar dan disimpan dalam database. Dalam suatu periode waktu tertentu, data transaksi tersebut bertambah seiring dengan banyaknya transaksi yang dilakukan oleh konsumen. Data transaksi tersebut dapat di analisa untuk menghasilkan pengetahuan yang lebih berguna bagi pemilik toko.
Pada Tugas Akhir ini akan dibuat sebuah sistem untuk mengimplementasikan algoritma Apriori menggunakan teknik Association Rules
Mining
untuk menganalisa data transaksi penjualan. Sistem yang dibuat mengunakan bahasa pemrograman java dan database MySQL.
Hasil akhir yang diperoleh dari implementasi algoritma Apriori untuk analisa data transaksi adalah pola asosiasi penjualan antar barang. Pengertian secara sederhana adalah hubungan suatu barang terjual bersamaan dengan barang apa saja pada transaksi penjualan yang telah terjadi. Hasil analisa tersebut dapat direkomendasikan kepada pemilik swalayan sebagai pendukung pengambilan keputusan dalam rangka pengembangan usaha.
ABSTRACT
Goods selling transaction in the department store results large transaction data and have been saving into database. In a periodic the transaction data grow as much as transaction has been done by customer. The transaction data can be analyzed to results more knowledge for owner department store.
In this thesis would be made a system to implemented Apriori algorithm using Association Rules Mining technique to analyze transaction of selling data. The system made by using java programming language and MySQL database.
The result that will be achieved by Apriori algorithm implementation for transaction data analyze is accompanying goods association rules. The Simple of definition is a goods has been selling be equal to any goods relationship on the selling transaction that occur. The analysis can be recommended to department store owner as decision support maker on the trade developing framework.
KATA PENGANTAR
Puji dan syukur saya panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya, sehingga saya dapat menyelesaikan Tugas Akhir ini dengan baik.
Dalam proses penulisan tugas akhir ini saya menyadari bahwa ada begitu banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya masing-masing sehingga tugas akhir ini dapat diselesaikan. Oleh karena itu saya ingin mengucapkan terima kasih antara lain kepada :
1. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
2. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Tugas Akhir dan Pembimbing Akademik, yang telah banyak memberikan bimbingan, dukungan, motivasi dan waktu untuk membimbing saya
6. Seluruh staff Sekretariat Sains dan Teknologi Universitas Sanata Dharma, yang banyak membantu saya dalam urusan administrasi akademik.
7. Staff laboran Teknik Informatika, terima kasih atas bantuannya dalam mempersiapkan laboratorium untuk praktikum saya.
8. Ibu Novi selaku pemilik toko Kafe Swalayan yang telah memberikan data kepada saya guna keperluan tugas akhir ini.
9. Bapak dan Ibu tercinta, terima kasih atas doa, semangat, dukungan dan cintanya sehingga saya bisa menyelesaikan studi dengan lancar.
10. Teman-teman Teknik Informatika khususnya angkatan 2003, terima kasih atas bantuan, ilmu, dan persahabatan yang telah kita bagi.
11. Seluruh pihak yang telah membantu dalam proses penulisan tugas akhir ini yang tidak bisa saya sebutkan satu per satu.
Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu kritik dan saran untuk perbaikan tugas akhir ini sangat
DAFTAR ISI
HALAMAN JUDUL BAHASA INDONESIA HALAMAN JUDUL BAHASA INGGRIS HALAMAN PERSETUJUAN .................................................................................. iii HALAMAN PENGESAHAN ................................................................................... iv PERNYATAAN KEASLIAN KARYA ................................................................... v MOTO ....................................................................................................................... vi HALAMAN PERSEMBAHAN ............................................................................... vii ABSTRAK ................................................................................................................ viii ABSTRACT .............................................................................................................. ix LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ................................................................. x KATA PENGANTAR .............................................................................................. xi
1.4 Tujuan Penelitian .................................................................................
4 1.5 Manfaat Penelitian ...............................................................................
4 1.6 Metodologi Penelitian ..........................................................................
4 1.7 Sistematika Penulisan ........................................................................
5 BAB II. LANDASAN TEORI 7 2.1 Data Mining .......................................................................................
7 2.2 Proses Data Mining ...........................................................................
9 Association Rules 2.3 ..............................................................................
11 2.4 Algoritma Apriori ..............................................................................
13 BAB III. ANALISIS DAN DESAIN SISTEM
20 3.1 Analisis Sistem ..................................................................................
20 3.1.1 Gambaran Umum Sistem ......................................................
20
3.1.4.2.2 Activity Diagram Menambah Data Barang ...
29
35
34
34
33
33
32
31
30
30
28
3.1.4.2.3 Activity Diagram Mengedit Data Barang ......
3.1.4.2.13 Activity Diagram Mencetak Data Asosiasi Barang ........................................................
3.1.4.2.12 Activity Diagram Melakukan Pencarian Pola Asosiasi Barang .................................
3.1.4.2.11 Activity Diagram Mencetak Data Transaksi
3.1.4.2.10 Activity Diagram Melihat Data Transaksi ..
3.1.4.2.9 Activity Diagram Mencetak Data User .........
3.1.4.2.8 Activity Diagram Menghapus Data User .......
3.1.4.2.7 Activity Diagram Mengedit Data User …......
3.1.4.2.6 Activity Diagram Menambah Data User .......
3.1.4.2.5 Activity Diagram Mencetak Data Barang ......
3.1.4.2.4 Activity Diagram Menghapus Data Barang ...
36
3.1.5.2.3 Sequence Diagram Mengedit Data Barang ...
41 Sequence
3.1.5.2.4 Diagram Menghapus Data Barang
42 Sequence 3.1.5.2.5 Diagram Mencetak Data Barang ...
43 Sequence 3.1.5.2.6 Diagram Menambah Data User ....
44 Sequence 3.1.5.2.7 Diagram Mengedit Data User .......
45 Sequence 3.1.5.2.8 Diagram Menghapus Data User ....
46 Sequence 3.1.5.2.9 Diagram Mencetak Data User .......
47 Sequence
3.1.5.2.10 Diagram Melihat Data Transaksi
48 Sequence
3.1.5.2.11 Diagram Mencetak Data Transaksi ....................................................
49 Sequence
3.1.5.2.12 Diagram Melakukan Pencarian Pola Asosiasi Barang .................................
50 Sequence
3.1.5.2.13 Diagram Mencetak Data Asosiasi Barang ..........................................
51
3.2.3.5 Form Daftar User .......................................................
58 Form 3.2.3.6 Daftar Barang ...................................................
58 Form 3.2.3.7 Daftar Transaksi ...............................................
59 Form 3.2.3.8 Perhitungan Apriori ..........................................
59 Form
3.2.3.9 Perhitungan Apriori - Mengambil Data Transaksi ....................................................................
60 Form
3.2.3.10 Perhitungan Apriori - Mengambil Data Transaksi ....................................................................
60 Form 3.2.3.11 Perhitungan Apriori - Cleaning Data ..............
61 Form
3.2.3.12 Perhitungan Apriori - Pencarian Pola Asosiasi Barang ........................................................................
62 Form 3.2.3.13 Perhitungan Apriori - Hasil Analisa ................
62 BAB IV. IMPLEMENTASI SISTEM
63
4.4.4 Form Utama Sistem Admin ..................................................
70
77
76
75
74
73
72
71
4.4.13 Form Perhitungan Apriori – Pencarian Pola Asosiasi
4.4.5 Form Daftar User ..................................................................
4.4.12 Form Perhitungan Apriori – Data Hasil Preprosesing/Cleaning ...................................................
4.4.11 Form Perhitungan Apriori – Pemilihan Data Dari Database Sistem dan Preprosesing/Cleaning Data ........................
4.4.10 Form Perhitungan Apriori – Pemilihan Data Dari Database Sistem dan Preprosesing/Cleaning Data ........................
4.4.9 Form Perhitungan Apriori – Pemilihan Data Dari Database
4.4.8 Form Perhitungan Apriori – Langkah-langkah Perhitungan Apriori ............................................................................
4.4.7 Form Daftar Transaksi ..........................................................
4.4.6 Form Daftar Barang ..............................................................
79
5.3.1 Kelebihan Sistem ........................................................... 106
5.3.2 Kekurangan Sistem ........................................................ 107
BAB VI. PENUTUP
108
6.1 Kesimpulan ........................................................................................ 108
6.2 Saran .................................................................................................. 109
DAFTAR PUSTAKA
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Proses KDD
9
2.2 Proses Data Mining
12
3.1 Use Case Diagram
24
3.2 Class Diagram
24
3.3 Activity Diagram Login Kasir
25
3.4 Activity Diagram Mencatat Data Transaksi
26
3.5 Activity Diagram Logout Kasir
27
3.6 Activity Diagram Login Admin
27
3.7 Activity Diagram Menambah Data Barang
28
3.8 Activity Diagram Mengedit Data Barang
29
3.9 Activity Diagram Menghapus Data Barang
30
3.10 Activity Diagram Mencetak Data Barang
30
3.11 Activity Diagram Menambah Data User
31
3.12 Activity Diagram Mengedit Data User
32
3.13 Activity Diagram Menghapus Data User
33
3.25 Sequence Diagram Mengedit Data Barang
3.34 Sequence Diagram Melakukan Pencarian Pola Asosiasi Barang
3.41 Form Utama Sistem Admin
57
3.40 Form Transaksi
56
3.39 Form Utama Sistem Kasir
56
3.38 Form Login
52
3.37 ER Diagram
51
3.36 Sequence Diagram Logout Admin
51
3.35 Sequence Diagram Mencetak Data Asosiasi Barang
50
49
41
3.29 Sequence Diagram Mengedit Data User
3.26 Sequence Diagram Menghapus Data Barang
42
3.27 Sequence Diagram Mencetak Data Barang
43
3.28 Sequence Diagram Menambah Data User
44
45
3.33 Sequence Diagram Mencetak Data Transaksi
3.30 Sequence Diagram Menghapus Data User
46
3.31 Sequence Diagram Mencetak Data User
47
3.32 Sequence Diagram Melihat Data Transaksi
48
57
4.4 Form Utama Sistem Admin
70
4.5 Form Daftar User
71
4.6 Fom Daftar Barang
72
4.7 Form Daftar Transaksi
73
4.8 Form Perhitungan Apriori - Langkah-langkah
74 Perhitungan Apriori
Form
4.9 Perhitungan Apriori - Pemilihan Data Dari
75 Database
4.10 Form Perhitungan Apriori - Pemilihan Data Dari
76 Database Sistem dan Preprosesing/Cleaning Data
4.11 Form Perhitungan Apriori - Pemilihan Data Dari
78 Database di Luar Sistem dan Preprosesing/Cleaning Data
4.12 Form Perhitungan Apriori - Pemilihan Data Dari
79 Database di Luar Sistem dan Preprosesing/Cleaning Data
4.13 Form Perhitungan Apriori - Pencarian Pola Asosiasi
80 Barang
4.14 Form Perhitungan Apriori - Menganalisa Aturan
99
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 Tabel Data Transaksi AllElectronic
15
2.2 Tabel Candidate Itemset C1
16
2.3 Tabel Large 1-itemset L1
16
2.4 Tabel Candidate Itemset C2
17
2.5 Tabel Large 2-temset L2
17
2.6 Tabel Candidate Itemset C3
18
2.7 Tabel Large 3-itemset L3
18
2.8 Tabel Hasil Aturan Asosiasi
19
3.1 Tabel Barang
52
3.2 Tabel Transaksi
53
3.3 Tabel Cleaning
53
3.4 Table Rule
53
3.5 Tabel Largeitem
54
3.6 Tabel Candidate
54
3.7 Tabel Staff
55
DAFTAR RUMUS
Rumus Keterangan Halaman
2.1 Nilai Support ) (
B A ⇒
12
2.2 Nilai Confidence ) ( B A ⇒
12
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah
Dewasa ini teknologi informasi berkembang pesat seiring dengan peningkatan kebutuhan pengolahan data untuk memperoleh informasi yang lebih berguna. Penelitian dari berbagai disiplin ilmu dilakukan untuk menemukan metode dalam rangka memenuhi kebutuhan tersebut. Salah satu cabang ilmu teknologi informasi yang dikembangkan sebagai metode adalah data mining. Data
mining merupakan ilmu yang mempelajari tentang penggalian pengetahuan baru
dari suatu data di dalam database agar lebih bermanfaat. Dalam cakupannya data
mining memiliki keterkaitan dengan berbagai disiplin ilmu yang lain, seperti
statistik, Artificial Intellegence (AI), dan pengolahan citra gambar. Sehingga dapat diterapkan di berbagai bidang yang menggunakan peran teknologi informasi ukurannya bisa mencapai ribuan bahkan jutaan byte dan biasanya data transaksi tersebut hanya dibiarkan menumpuk begitu saja sebagai data yang tidak berguna.
Maka dari itu perlu adanya suatu cara untuk memanfaatkan data transaksi tersebut agar lebih berguna. Salah satu cara yang bisa digunakan untuk pemanfaatan data transaksi tersebut adalah dengan menerapkan konsep data mining. Data mining digunakan untuk menganalisa pola penjualan barang dari data transaksi penjualan sehingga akan diperoleh suatu pengetahuan baru mengenai pola asosiasi penjualan suatu barang dengan barang lain. Atau dapat dijelaskan sebagai cara untuk mengetahui hubungan barang apa saja yang dibeli pelanggan secara bersamaan dalam sekian banyak transaksi. Hal ini merupakan pengetahuan yang bermanfaat bagi pemilik toko swalayan untuk mengatur strategi penjualan barang di tokonya, yang tidak lain adalah sebagai pendukung keputusan untuk pengembangan usaha.
Pada penelitian analisa keranjang belanja yang telah dilakukan, digunakan
1
1.2. Rumusan Masalah
Bagaimana menerapkan algoritma Apriori pada data mining untuk analisa data transaksi penjualan sehingga dapat diketahui pola asosiasi penjualan suatu barang terhadap barang lain?
1.3. Batasan Masalah
Batasan masalah pada tugas akhir ini adalah sebagai berikut :
1. Proses analisa data dilakukan berdasarkan data transaksi secara keseluruhan atau periodik untuk data dari database sistem dan secara keseluruhan untuk data dari database di luar sistem dengan menggunakan database MySQL.
2. Sistem tidak menangani data dalam bentuk file, misal file Microsoft Office
Excel (*.xls) atau file dalam format Comma Separated Values (*.csv).
3. Hasil analisa berupa pengetahuan pola asosiasi penjualan antar barang yang disajikan dalam bentuk file cetak, grafik, dan tabel.
1.4. Tujuan Penelitian
Penelitian dalam Tugas Akhir ini memiliki tujuan, yaitu menerapkan algoritma Apriori sebagai metode pada data mining untuk menganalisa data transaksi penjualan, sehingga dapat diperoleh pengetahuan mengenai hubungan penjualan suatu barang dengan barang lain.
1.5. Manfaat Penelitian Manfaat dari penelitian ini lebih difokuskan bagi pemilik swalayan.
Adapun manfaat tersebut adalah sebagai berikut :
1. Memperoleh pengetahuan mengenai hubungan penjualan suatu barang terhadap barang lain dari transaksi penjualan.
2. Dari pengetahuan tersebut, pemilik swalayan dapat mengatur strategi penjualan tentang barang-barang yang terjual bersamaan dalam beberapa transaksi. b. Melakukan data cleaning and preprocessing, yaitu dengan cara merestrukturisasi field yang tidak sesuai dengan target data.
c. Mengubah data menjadi bentuk yang sesuai untuk di-mining, atau disebut juga dengan transformasi data.
d. Mengaplikasikan teknik data mining, berupa pencarian hubungan penjualan suatu barang dengan barang lain menggunakan algoritma
Apriori.
e. Mengevaluasi pola yang ditemukan dari hasil aplikasi teknik data mining untuk menemukan pengetahuan yang bermanfaat.
f. Melakukan presentasi pengetahuan yang didapatkan.
1.7. Sistematika Penulisan
BAB I PENDAHULUAN Bab ini menjelaskan latar belakang masalah, rumusan masalah,
BAB IV IMPLEMENTASI SISTEM Bab ini berisi penjelasan mengenai implementasi sistem sesuai dengan analisis dan rancangan sistem ke dalam bentuk program. BAB V ANALISIS HASIL IMPLEMENTASI Bab ini merupakan analisis dari implementasi sistem yang telah dibuat. BAB VI PENUTUP Bab ini berisi kesimpulan yang diperoleh dari penelitian yang dikerjakan, serta saran untuk pengembangan sistem lebih lanjut.
BAB II LANDASAN TEORI
2.1. Data Mining
Data mining atau sering disebut sebagai Knowledge Discovery in
Database (KDD)
didefinisikan sebagai suatu proses nontrivial untuk mengidentifikasi keabsahan, potensi bermanfaat, dan pola akhir yang dapat
2
dimengerti dari data . Data mining adalah proses secara otomatis untuk
3 menemukan informasi yang bermanfaat di dalam gudang data yang besar .
Dari pengertian tersebut data mining mempunyai tujuan untuk memperoleh pengetahuan baru yang lebih berarti dari proses penggalian data yang tersimpan didalam database. Secara umum data mining mempunyai 2 tujuan, yaitu :
1. Deskriptif
1.2. Summarization
Metode untuk memetakan data ke dalam subset yang lebih ringkas dari keseluruhan atau sebagian data.
1.3. Clustering
Proses untuk mengelompokkan data ke dalam sebuah cluster berdasarkan kemiripannya. Prinsipnya adalah memaksimalkan kemiripan dalam sebuah
cluster , dan meminimalisasikan kemiripan antar cluster. Beberapa teknik yang digunakan misalnya k-means, k-medoids.
2. Prediktif Data mining dilakukan untuk membentuk sebuah model pengetahuan yang akan digunakan untuk melakukan prediksi. Adapun metode yang digunakan adalah sebagai berikut :
2.1. Classification
2.2. Proses Data Mining
Data mining mengacu pada aplikasi algoritma untuk mendapatkan pola dari data tanpa langkah-langkah tambahan dalam proses KDD. Proses KDD
4
diilustrasikan pada gambar 2.1 berikut :
Gambar 2.1. Proses KDD3. Data cleaning and preprocessing merupakan proses untuk menghilangkan
noise , mengumpulkan informasi yang dibutuhkan untuk pemodelan atau
perhitungan bagi noise, menentukan strategi untuk menangani field data yang hilang, dan menghitung informasi berdasarkan urutan waktu dan perubahan yang ditemukan.
4. Data reduction and projection adalah proses menemukan corak yang bermanfaat untuk menyajikan data yang sesuai dengan tujuan dari tugas. Serta menggunakan pengurangan dimensi atau perubahan bentuk metode untuk mengurangi jumlah variabel yang efektif atau untuk menemukan penyajian yang sama dari data dalam pembahasan.
5. Menganalisa task data mining untuk memutuskan tujuan dari proses KDD, apakah itu berupa classification, regression, clustering, atau task lainnya.
6. Memilih algoritma data mining melalui pemilihan metode untuk digunakan dalam mencari pola dari data, memutuskan parameter dan model yang sesuai,
9. Penerapan dari pengetahuan yang ditemukan, baik itu dengan menggunakan pengetahuan secara langsung, menggabungkan pengetahuan tersebut ke dalam sistem yang lain untuk langkah lebih lanjut, atau melakukan dokumentasi sederhana dan membuat laporan untuk pihak yang tertarik.
Meskipun demikian, proses KDD tersebut tidak selalu digunakan sepenuhnya pada penerapannya. Hal tersebut lebih disesuaikan pada kebutuhan aplikasi dan karakteristik data.
2.3. Association Rules
Association Rules merupakan suatu metode data mining untuk mencari
pola asosiasi yang sering muncul dalam data. Metode ini menjadi popular karena sering digunakan untuk menganalisa keranjang belanja (Market Basket Analysis).
Aturan asosiasi yang terbentuk adalah sebuah implikasi atau “if-then-rule” yang ⇒ didukung oleh data. Bentuk dasar dari aturan asosiasi adalah .
Α Β
tuple n keseluruha jumlah B dan A mengandung yang tuple jumlah B A Support
_ _ _ _ _ _ _ _
) (
=
⇒ .............. Rumus 2.1 Nilai Support ) ( B A ⇒ 3.
Confidence . Confidence
merupakan persentasi banyaknya A pada transaksi yang mengandung B.
A mengandung yang tuple jumlah B dan A mengandung yang tuple jumlah B A Confidence
_ _ _ _ _ _ _ _ _ _
) (
=
⇒ ………. Rumus 2.2 Nilai Confidence ) ( B A ⇒
Support dan confidence merupakan parameter yang digunakan untuk
mengukur aturan asosiasi. Sehingga aturan asosiasi dapat diperoleh dari itemset yang mempunyai support dan confidence lebih besar dari minimum support (disebut minsup) dan minimum confidence (disebut minconf).
Permasalahan mendasar dalam Association Rules dibagi menjadi dua, Untuk setiap large itemset l, harus dapat ditemukan seluruh subset yang tidak kosong dari l. Untuk setiap subset a, akan memperoleh keluaran sebuah aturan
Support _ l
− Support _ a besar dari minconf.
⇒ dalam bentuk a ( l a ) , jika perbandingan paling sedikit lebih
Algoritma yang digunakan dalam teknik Association Rules antara lain:
1. Apriori
Algoritma ini mencari frequent itemset dari database transaksi melalui beberapa tahap iterasi.
2. Frequent Pattern Growth (FP Growth)
Berbeda dengan Apriori, algoritma FP Growth tidak perlu melakukan pencarian kandidat. Data direpresentasikan menggunakan Frequent Patttern
Tree melalui pendekatan devide and conquer untuk memperoleh frequent itemset .
- 1
- 1
k-1
Υ k
L
k
; Langkah pertama algoritma ini adalah menghitung kejadian item untuk menentukan large 1-itemset atau frequent itemset kemudian disimpan pada L
1 .
Langkah berikutnya untuk large itemset sebesar L
terdiri dari (k-1) langkah yang digunakan untuk menghasilkan kandidat itemset C
10) End 11) Answer
k
menggunakan fungsi
Apriori-gen
8
. Adapun fungsi Apriori-gen terdiri dari 2 tahap yaitu penggabungan
L k-1
(L k-1 p) dengan L k-1
=
∈ Ct | c.count ≥ minsup)
superset- nya sehingga jumlah kandidat yang harus diperiksa menjadi berkurang.
2) For {k=2;L k
Berikut adalah algoritma Apriori
7
:
1) L
1
={large 1-itemset}
≠ 0;k++}do begin
= {c
3) Ck = apriori-gen(L k
);//new candidate
4) Forall transaction t ∈
D do begin 5) Ct = subset(C k
,t );//candidate contained in t 6) Forall candidates c
∈
Ct do7) c .count ++; 8) End 9) L k
(L k-1 q) dan penghapusan kandidat itemset yang tidak Kemudian dicari semua subset (k-1) dari semua kandidat itemset pada C
k
dan menghapus beberapa (k-1)-subset dari kandidat itemset pada C yang tidak
k
termasuk dalam L . Tahap penghapusan atau disebut juga prune step
k-1
menggunakan algoritma sebagai berikut :
1) forall itemsets c Ck do ∈
2) forall (k-1)-subsets s of c do 3) if L
(s ) then
∉ k-1 4) delete
c from Ck; Selanjutnya dilakukan scan database untuk menghasilkan kandidat C yang
k
memenuhi syarat support dan hasilnya disimpan pada L . Sehingga hanya
k
kandidat itemset yang memenuhi support yang akan diolah pada proses selanjutnya. Demikian langkah pencarian kandidat dilakukan melalui iterasi hingga tidak mungkin lagi diperoleh kandidat baru. Kemudian untuk memperoleh aturan asosiasinya digunakan syarat confidence seperti pada rumus 2.2 diatas.
Untuk lebih jelasnya berikut ini merupakan contoh penerapan algoritma
Tabel 2.1 Data Transaksi AllElectronicTID List_Item T100 I1, I2, I5 T200 I2, I4 T300 I2, I3 T400 I1, I2, I4 T500 I1, I3 T600 I2, I3 T700 I1, I3 T800 I1, I2, I3, I5 T900 I1, I2, I3
Dari tabel data transaksi tersebut akan dicari pola asosiasi dengan minsup 22% (kemunculan 2 dari 9 transaksi). Maka penyelesaian dengan menggunakan algoritma Apriori adalah sebagai berikut : Langkah pertama menentukan C1={candidate 1-Itemset} dengan scan database. Hasil pembentukan C1 disajikan pada tabel 2.2 berikut :
Tabel 2.2 Candidate Itemset C1Tabel 2.3 Large 1-itemset L1Itemset Sup.Count {I1}
6 {I2} 7 {I3} 7 {I4} 2 {I5}
2 Langkah selanjutnya adalah implementasi dari algoritma Apriori-gen,
yaitu menggabungkan masing-masing itemset pada L1 dengan itemset pada L1 untuk menghasilkan candidate itemset C2. Hasil dari penggabungan tersebut disajikan pada tabel 2.4 Candidate Itemset C2 dibawah ini.
Tabel 2.4 Candidate Itemset C2Itemset Sup.Count {I1, I2}
4 {I1, I3} 4 {I1, I4} 1 {I1, I5} 2 {I2, I3}
4
Tabel 2.5 Large 2-temset L2Itemset Sup.Count {I1, I2}
4 {I1, I3} 4 {I1, I5} 2 {I2, I3} 4 {I2, I4} 2 {I2, I5}
2 Pada langkah selanjutnya dilakukan penggabungan masing-masing itemset
pada L2 dengan itemset pada L2 untuk menghasilkan candidate itemset C3. Hasil dari penggabungan tersebut disajikan pada tabel 2.6 Candidate Itemset C3 dibawah ini
Tabel 2.6 Candidate Itemset C3
Itemset Sup.Count
{I1, I2, I3}2 {I1, I2, I5}
2 Seperti langkah sebelumnya, setelah candidate itemset C3 terbentuk, maka Karena nilai candidate support count lebih kecil dari 2, maka pembentukan frequent itemset dihentikan.
Untuk mencari aturan asosiasi digunakan nilai confidence, yaitu dengan menghitung nilai ) (
2 2 100% I2 ^ I5
2 7 29%
I1 ^ I5
⇒
I2
2 6 33%
I2 ^ I5
⇒
I1
2 2 100%
I1
⇒
I2
) (
⇒
2 4 50% I1 ^ I5
I5
⇒
Support ) ( A Confidence I1 ^ I2
Aturan Assosiasi ) ( B A ⇒ Support ) ( B A ∪
Tabel 2.8 Hasil Aturan Asosiasitabel 2.8 dibawah ini.Misal diberikan nilai minconf sebesar 70%, maka hasil aturan asosiasi yang mungkin terbentuk dari large 3-itemset {I1, I2, I5} adalah seperti disajikan dalam
. Asosiasi yang akan dibentuk berasal dari
Large 3-itemset L3 atau dengan kata lain berasal dari large itemset L k terbanyak.
A Support B A Support ∪
⇒
BAB III ANALISIS DAN PERANCANGAN SISTEM
2.2. Analisis Sistem
Tahap analisis sistem merupakan tahap penyelesaian masalah (problem
solving) dengan cara membagi sistem ke dalam bagian dari komponennya dengan
tujuan agar bagian dari komponen tersebut dapat bekerja dan berinteraksi dengan baik untuk melengkapi tujuan sistem.
3.1.1. Gambaran Umum Sistem
Gambaran umum sistem yang akan dibuat adalah sistem yang dapat menangani pencatatan transaksi penjualan, manipulasi data barang, manipulasi data user, dan menangani data transaksi penjualan, serta sistem untuk melakukan proses data mining dari data transaksi penjualan sebagai tujuan utama sistem. ke dalam form transaksi. Kasir dapat melakukan pencatatan transaksi penjualan barang melalui form transaksi dan menyimpan data transaksi tersebut ke dalam
database .
2. Sistem Admin Admin login ke dalam sistem. Jika login berhasil, maka sistem akan menampilkan form yang berisi menu-menu yang disediakan untuk admin. Admin dapat melakukan manipulasi data user, data barang, dan data transaksi, serta melakukan proses pencarian asosiasi barang. Pada menu user, admin dapat melakukan penambahan, pengubahan, dan penghapusan data user. Selanjutnya admin dapat melakukan penambahan, pengubahan, dan penghapusan data barang.
Pada menu daftar transaksi, admin dapat menampilkan data transaksi yang tersimpan di dalam database secara keseluruhan maupun secara periodik.
Selanjutnya dapat mencetak data transaksi yang ditampikan ke bentuk file cetak.
Pada BAB II Landasan Teori telah disebutkan mengenai proses KDD yang terdiri dari beberapa tahap. Adapun analisis dari proses KDD tersebut pada penerapan pencarian pola asosiasi barang didalam penelitian ini adalah sebagai berikut :
10. Mempelajari kebutuhan untuk menerapkan data mining dalam penggalian pengetahuan mengenai hubungan penjualan antar barang di swalayan.
11. Memilih data yang akan digunakan dalam proses penggalian pengetahuan tersebut. Data yang dimaksud adalah data yang mengandung field nomor transaksi/faktur/nota dan field nama barang, yaitu berupa data transaksi penjualan.
12. Mengubah data transaksi penjualan menjadi bentuk data yang sesuai dengan kebutuhan sistem.
13. Dari data transaksi penjualan tersebut digunakan algoritma Apriori dengan teknik Association Rules untuk menemukan pola asosiasi penjualan antar diperoleh C1 >= minsup, maka kandidat tersebut dimasukkan ke dalam tabel largeitemset. Jika tidak diperoleh hasil, maka proses pencarian dihentikan. Pada tahap selanjutnya proses tersebut dilakukan dengan menaikkan nilai k menjadi k+1. Sebagai contoh, jika diperoleh hasil C1 >=
minsup , maka C1 yang memenuhi syarat tersebut dimasukkan ke dalam
tabel largeitemset dan menaikkan nilai k menjadi k+1 untuk pembentukan C2 dan L2. Demikian proses tersebut dilakukan sampai tidak ditemukan lagi kandidat yang memenuhi syarat Ck >= minsup.
c. Setelah diperoleh large k-itemset (Lk), kemudian diambil nilai Lk tertinggi dari tabel largeitemset. Dari Lk yang diambil tersebut, dilakukan analisa dengan menerapkan aturan asosiasi sesuai dengan rumus confidence. Hasil dari analisa tersebut adalah nilai support dan confidence dari asosiasi barang yang memenuhi syarat lebih besar atau sama dengan minsup dan minconf .
3.1.2. Use Case Diagram Use case diagram sistem disajikan seperti pada gambar 3.1 dibawah ini.
Mengedit data barang Menambah data barang Menghapus data barang Mengedit data user logout Menambah data user Menghapus data user Admin login Mencatat data transaksi Kasir logout Mencetak data user Mencetak data barang Melakukan pencarian pola asosiasi barang Mencetak data asosiasi barang <<depend on>> Melihat data transaksi Mencetak data transaksi <<depends on>>
Gambar 3.1 Use Case Diagram 3.1.3.Class Diagram
3.1.4. Activity Diagram
3.1.4.1. Activity Diagram Sistem Kasir
3.1.4.1.1. Activity Diagram Login Kasir
Mulai Verifikasi Usename dan Password Memasukkan Username dan Password Tampilan Form Login Tampilan Halaman Form Kasir Seles ai ( salah ) ( benar )
Gambar 3.3 Activity Diagram Login Kasir3.1.4.1.2. Activity Diagram Mencatat Data Transaksi
Memasukkan ID Barang Mulai Tampilan Pesan ID Barang Salah ( tidak ) Benar? ID Barang
jumlah barang data barang
Memasukkan Menghapus
(tidak) ( benar ) ada didalam tabel? ID Barang sudah (ada) tombol tambah Menekan Mengubah jumlah data barang(ada)
tombol hapus Menekan Tampilan perubahan tabel, tombol ubah Menekan jumlah pembayaran3.1.4.1.3. Activity Diagram Logout Kasir
Mulai Selesai Menekan Tombol Logout Keluar Dari Sistem Konfirmasi Logout Tampilan Halaman Sistem Selesai ( ya ) ( tidak )
Gambar 3.5 Activity Diagram Logout Kasir3.1.4.2. Activity Diagram Sistem Admin
3.1.4.2.1. Activity Diagram Login Admin
Mulai
3.1.4.2.2. Activity Diagram Menambah Data Barang
Mulai Memasukkan Data Memilih Menu Daftar Barang Barang Baru Mengubah ID Barang Menekan tombol Tambah Barang ( ya ) Data Barang Data Barang Konfirmasi Menambah Membatalkan Menambah ( tidak ) Tampilan Pesan ID Barang Sudah Ada Sudah Ada? ( Ada ) Menyimpan Data Barang Baru ( Belum ) ID Barang Selesai Selesai
Gambar 3.7 Activity Diagram Menambah Data Barang3.1.4.2.3. Activity Diagram Mengedit Data Barang
Mulai Tampilan Pesan ID Barang Salah Memasukkan ID Memilih Menu Daftar Barang Barang ( tidak ) Mengedit Data Barang ( ya )
ID Barang Ada? Kelengkapan Data Menambah Tombol Edit Menekan ( ya ) Data Barang ( tidak ) Data Barang Konfirmasi Menyimpan Membatalkan Mengedit Data Tidak Lengkap Sudah Lengkap? Tampilan Pesan ( tidak ) Perubahan Data Barang Menyimpan Hasil ( ya ) Data Barang Selesai Selesai
3.1.4.2.4. Activity Diagram Menghapus Data Barang
Mulai Tampilan Pesan ID Barang Salah Memilih Menu Memasukkan Daftar Barang ID Barang Membatalkan Penghapusan Konfirmasi Menghapus Data Barang Data Barang ( tidak ) ( tidak ) ( ya )
ID Barang Ada? Tombol Hapus Menghapus Menekan ( ya ) Seles ai Data Barang Selesai
Gambar 3.9 Activity Diagram Menghapus Data Barang3.1.4.2.6.Activity Diagram Menambah Data User
Mulai Memasukkan Memilih menu Data User User Tampilan Pesan ID User Sudah Ada Ada? Mengubah ID User Tambah ( ya ) Menekan Tombol ID User Sudah Menyimpan Data ( tidak ) ( ya ) Data User Menambah Data User Konfirmas i Menambah Membatalkan ( tidak ) User Baru Selesai Selesai
Gambar 3.11 Activity Diagram Menambah Data User3.1.4.2.7. Activity Diagram Mengedit Data User
Mulai Tampilan Pesan ID User Salah Memasukkan ID Memilih Menu User User ( tidak ) Mengedit Data User ( ya )
ID Us er Ada? Kelengkapan Data Menambah Menekan Tombol Edit ( ya ) Data User Mengedit Data User Konfirmasi Menyimpan Membatalkan ( tidak ) Data Tidak Lengkap Sudah Lengkap Tampilan Pesan ( tidak ) Menyimpan Perubahan Data User ( ya ) Data User Seles ai Selesai
3.1.4.2.8. Activity Diagram Menghapus Data User
Mulai Tampilan Pesan ID User Salah Memilih Menu Memasukkan ID User User
Membatalkan Konfirmasi Menghapus