Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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 :
Amin Nurdiyanto
035314041
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2009
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 :
Amin Nurdiyanto
035314041
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2009
vi
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”
vii
HALAMAN PERSEMBAHAN
Karya ilmiKarya ilmiKarya ilmiKarya ilmiah ini saya persembahkan kepada :ah ini saya persembahkan kepada :ah ini saya persembahkan kepada :ah ini saya persembahkan kepada :
Bapak dan Ibu tercinta atas doa, semangat serta dukungan
yang tak terhingga nilainya baik secara moril maupun
materiil.
Adikku tercinta, atas doa, semangat, dan kerelaannya
untuk mengalah, berbagi kasih sayang dari bapak dan ibu.
Almamaterku Teknik Informatika
Universitas Sanata Dharma, khususnya angkatan 2003
viii
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.
ix
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.
xi
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
sehingga saya dapat menyelesaikan tugas akhir ini dengan baik.
3. Bapak Puspaningtyas Sanjaya Adi, S.T., M.T., selaku Ketua Jurusan Teknik
Informatika.
4. Bapak Alb. Agung Hadhiatma, S.T., M.T., dan bapak Eko Hari Parmadi
S.Si., M.Kom., selaku panitia penguji yang telah memberikan banyak kritik
dan saran demi sempurnanya tugas akhir saya.
5. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang
telah banyak memberikan bekal ilmu, arahan, dan pengalaman selama saya
menempuh studi.
xii
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
saya harapkan. Akhir kata, semoga tugas akhir ini bermanfaat bagi semua pihak.
Terima kasih.
Yogyakarta, 27 Februari 2009
Amin Nurdiyanto
xiii
DAFTAR ISI
HALAMAN JUDUL BAHASA INDONESIA
HALAMAN JUDUL BAHASA INGGRIS
HALAMAN PERSETUJUAN ..................................................................................
HALAMAN PENGESAHAN ...................................................................................
PERNYATAAN KEASLIAN KARYA ...................................................................
MOTO .......................................................................................................................
HALAMAN PERSEMBAHAN ...............................................................................
ABSTRAK ................................................................................................................
ABSTRACT ..............................................................................................................
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS .................................................................
KATA PENGANTAR ..............................................................................................
DAFTAR ISI .............................................................................................................
DAFTAR GAMBAR ................................................................................................
DAFTAR TABEL ....................................................................................................
DAFTAR RUMUS ...................................................................................................
iii
iv
v
vi
vii
viii
ix
x
xi
xiii
xx
xxiii
xxiv
BAB I. PENDAHULUAN
1.1 Latar Belakang Masalah .......................................................................
1.2 Rumusan Masalah ................................................................................
1.3 Batasan Masalah ...................................................................................
1
3
3
xiv
1.4 Tujuan Penelitian .................................................................................
1.5 Manfaat Penelitian ...............................................................................
1.6 Metodologi Penelitian ..........................................................................
1.7 Sistematika Penulisan ........................................................................
BAB II. LANDASAN TEORI
2.1 Data Mining .......................................................................................
2.2 Proses Data Mining ...........................................................................
2.3 Association Rules ..............................................................................
2.4 Algoritma Apriori ..............................................................................
BAB III. ANALISIS DAN DESAIN SISTEM
3.1 Analisis Sistem ..................................................................................
3.1.1 Gambaran Umum Sistem ......................................................
3.1.2 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 ........................
3.1.4.1.2 Activity Diagram Mencatat Data Transaksi ...
3.1.4.1.3 Activity Diagram Logout Kasir ......................
3.1.4.2 Activity Diagram Sistem Admin .................................
3.1.4.2.1 Activity Diagram Login Admin .....................
4
4
4
5
7
7
9
11
13
20
20
20
24
25
25
25
22
26
27
26
27
xv
3.1.4.2.2 Activity Diagram Menambah Data Barang ...
3.1.4.2.3 Activity Diagram Mengedit Data Barang ......
3.1.4.2.4 Activity Diagram Menghapus Data Barang ...
3.1.4.2.5 Activity Diagram Mencetak Data Barang ......
3.1.4.2.6 Activity Diagram Menambah Data User .......
3.1.4.2.7 Activity Diagram Mengedit Data User …......
3.1.4.2.8 Activity Diagram Menghapus Data User .......
3.1.4.2.9 Activity Diagram Mencetak Data User .........
3.1.4.2.10 Activity Diagram Melihat Data Transaksi ..
3.1.4.2.11 Activity Diagram Mencetak Data Transaksi
3.1.4.2.12 Activity Diagram Melakukan Pencarian
Pola Asosiasi Barang .................................
3.1.4.2.13 Activity Diagram Mencetak Data Asosiasi
Barang ........................................................
3.1.4.2.14 Activity Diagram Logout Kasir ...................
3.1.5 Sequence Diagram .................................................................
3.1.5.1 Sequence Diagram Sistem Kasir ................................
3.1.5.1.1 Sequence Diagram Login Kasir .....................
3.1.5.1.2 Sequence Diagram Mencatat Data Transaksi
3.1.5.1.3 Sequence Diagram Logout Kasir ...................
3.1.5.2 Sequence Diagram Sistem Admin ..............................
3.1.5.2.1 Sequence Diagram Login Admin ..................
3.1.5.2.2 Sequence Diagram Menambah Data Barang
28
29
30
30
31
32
33
33
34
34
35
36
36
37
37
37
38
39
39
39
40
xvi
3.1.5.2.3 Sequence Diagram Mengedit Data Barang ...
3.1.5.2.4 Sequence Diagram Menghapus Data Barang
3.1.5.2.5 Sequence Diagram Mencetak Data Barang ...
3.1.5.2.6 Sequence Diagram Menambah Data User ....
3.1.5.2.7 Sequence Diagram Mengedit Data User .......
3.1.5.2.8 Sequence Diagram Menghapus Data User ....
3.1.5.2.9 Sequence Diagram Mencetak Data User .......
3.1.5.2.10 Sequence Diagram Melihat Data Transaksi
3.1.5.2.11 Sequence Diagram Mencetak Data
Transaksi ....................................................
3.1.5.2.12 Sequence Diagram Melakukan Pencarian
Pola Asosiasi Barang .................................
3.1.5.2.13 Sequence Diagram Mencetak Data
Asosiasi Barang ..........................................
3.1.5.3 Sequence Diagram Logout Kasir ................................
3.2 Desain Sistem ....................................................................................
3.2.1 ER Diagram ............................................................................
3.2.2 Desain Database ....................................................................
3.2.3 Desain Antar Muka (User Interface Design) .........................
3.2.3.1 Form Login ................................................................
3.2.3.2 Form Utama Sistem Kasir ..........................................
3.2.3.3 Form Transaksi ...........................................................
3.2.3.4 Form Utama Sistem Admin .......................................
41
42
43
44
45
46
47
48
49
50
51
51
52
52
52
56
56
56
57
57
xvii
3.2.3.5 Form Daftar User .......................................................
3.2.3.6 Form Daftar Barang ...................................................
3.2.3.7 Form Daftar Transaksi ...............................................
3.2.3.8 Form Perhitungan Apriori ..........................................
3.2.3.9 Form Perhitungan Apriori - Mengambil Data
Transaksi ....................................................................
3.2.3.10 Form Perhitungan Apriori - Mengambil Data
Transaksi ....................................................................
3.2.3.11 Form Perhitungan Apriori - Cleaning Data ..............
3.2.3.12 Form Perhitungan Apriori - Pencarian Pola Asosiasi
Barang ........................................................................
3.2.3.13 Form Perhitungan Apriori - Hasil Analisa ................
BAB IV. IMPLEMENTASI SISTEM
4.1 Spesifikasi Hardware dan Software yang Digunakan .......................
4.1.1 Spesifikasi Hardware ............................................................
4.1.2 Spesifikasi Software ..............................................................
4.2 Pembuatan Database .........................................................................
4.3 Koneksi Java dan MySQL .................................................................
4.4 Pembuatan Antar Muka .....................................................................
4.4.1 Form Login User ..................................................................
4.4.2 Form Utama Sistem Kasir ....................................................
4.4.3 Form Transaksi .....................................................................
58
58
59
59
60
60
61
62
62
63
63
63
63
64
64
66
66
67
68
xviii
4.4.4 Form Utama Sistem Admin ..................................................
4.4.5 Form Daftar User ..................................................................
4.4.6 Form Daftar Barang ..............................................................
4.4.7 Form Daftar Transaksi ..........................................................
4.4.8 Form Perhitungan Apriori – Langkah-langkah Perhitungan
Apriori ............................................................................
4.4.9 Form Perhitungan Apriori – Pemilihan Data Dari Database
4.4.10 Form Perhitungan Apriori – Pemilihan Data Dari Database
Sistem dan Preprosesing/Cleaning Data ........................
4.4.11 Form Perhitungan Apriori – Pemilihan Data Dari Database
Sistem dan Preprosesing/Cleaning Data ........................
4.4.12 Form Perhitungan Apriori – Data Hasil
Preprosesing/Cleaning ...................................................
4.4.13 Form Perhitungan Apriori – Pencarian Pola Asosiasi
Barang ............................................................................
4.4.14 Form Perhitungan Apriori – Menganalisa Aturan Asosiasi ..
4.4.15 Form Perhitungan Apriori – Pembacaan Grafik Support .....
4.4.16 Form Perhitungan Apriori – Pembacaan Grafik Confidence
BAB V. ANALISIS HASIL
5.1 Analisis Pengujian Sistem .................................................................
5.2 Analisis Manfaat Sistem ....................................................................
5.3 Kelebihan dan Kekurangan Sistem ...................................................
70
71
72
73
74
75
76
77
79
80
99
100
101
102
102
106
106
xix
5.3.1 Kelebihan Sistem ...........................................................
5.3.2 Kekurangan Sistem ........................................................
BAB VI. PENUTUP
6.1 Kesimpulan ........................................................................................
6.2 Saran ..................................................................................................
DAFTAR PUSTAKA
106
107
108
108
109
xx
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.14 Activity Diagram Mencetak Data User 33
3.15 Activity Diagram Melihat Data Transaksi 34
3.16 Activity Diagram Mencetak Data Transaksi 34
3.17 Activity Diagram Melakukan Pencarian Pola Asosiasi
Barang
35
3.18 Activity Diagram Mencetak Data Asosiasi Barang 36
3.19 Activity Diagram Logout Admin 36
3.20 SequenceDiagram Login Kasir 37
3.21 SequenceDiagram Mencatat Data Transaksi 38
3.22 Sequence Diagram Logout Kasir 39
3.23 Sequence Diagram Login Admin 39
3.24 Sequence Diagram Menambah Data Barang 40
xxi
3.25 Sequence Diagram Mengedit Data Barang 41
3.26 Sequence Diagram Menghapus Data Barang 42
3.27 Sequence Diagram Mencetak Data Barang 43
3.28 Sequence Diagram Menambah Data User 44
3.29 Sequence Diagram Mengedit Data User 45
3.30 Sequence Diagram Menghapus Data User 46
3.31 Sequence Diagram Mencetak Data User 47
3.32 Sequence Diagram Melihat Data Transaksi 48
3.33 Sequence Diagram Mencetak Data Transaksi 49
3.34 Sequence Diagram Melakukan Pencarian Pola Asosiasi
Barang
50
3.35 Sequence Diagram Mencetak Data Asosiasi Barang 51
3.36 Sequence Diagram Logout Admin 51
3.37 ER Diagram 52
3.38 Form Login 56
3.39 Form Utama Sistem Kasir 56
3.40 Form Transaksi 57
3.41 Form Utama Sistem Admin 57
3.42 Form Daftar User 58
3.43 Form Daftar Barang 58
3.44 Form Daftar Transaksi 59
3.45 Form Utama Perhitungan Apriori 59
3.46 Form Perhitungan Apriori - Mengambil Data Transaksi 60
3.47 Form Perhitungan Apriori - Mengambil Data Transaksi 61
3.48 Form Perhitungan Apriori - Cleaning Data 61
3.49 Form Perhitungan Apriori - Pencarian Asosiasi Barang 62
3.50 Form Perhitungan Apriori - Hasil Analisa 62
4.1 Form Login User 66
4.2 Form Utama Sistem Kasir 67
4.3 Form Transaksi Kasir 68
xxii
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
Perhitungan Apriori
74
4.9 Form Perhitungan Apriori - Pemilihan Data Dari
Database
75
4.10 Form Perhitungan Apriori - Pemilihan Data Dari
Database Sistem dan Preprosesing/Cleaning Data
76
4.11 Form Perhitungan Apriori - Pemilihan Data Dari
Database di Luar Sistem dan Preprosesing/Cleaning
Data
78
4.12 Form Perhitungan Apriori - Pemilihan Data Dari
Database di Luar Sistem dan Preprosesing/Cleaning
Data
79
4.13 Form Perhitungan Apriori - Pencarian Pola Asosiasi
Barang
80
4.14 Form Perhitungan Apriori - Menganalisa Aturan
Asosiasi
99
4.15 Form Perhitungan Apriori - Pembacaan Grafik Support 100
4.16 Form Perhitungan Apriori - Pembacaan Grafik
Confidence
101
xxiii
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
3.8 Tabel Login 55
5.1 Tabel Pengujian 1 102
5.2 Tabel Pengujian 2 103
5.3 Tabel Pengujian 3 104
5.4 Tabel Pengujian 4 105
xxiv
DAFTAR RUMUS
Rumus Keterangan Halaman
2.1 Nilai Support )( BA⇒ 12
2.2 Nilai Confidence )( BA⇒ 12
1
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
sebagai pendukungnya. Beberapa penerapan tersebut diantaranya adalah untuk
analisa dibidang pemasaran, telekomunikasi, asuransi, keuangan, astronomi,
kedokteran, dan lain-lain.
Salah satu penerapan data mining dalam analisa pemasaran adalah untuk
analisa keranjang belanja (Market Basket Analysis) pada suatu pasar. Sebagai
contoh adalah pada sebuah toko swalayan. Dari sekian banyak transaksi penjualan
pada toko swalayan akan mengandung data penjualan barang dengan pola yang
berbeda. Di dalam database data transaksi tersebut
2
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
teknik Association Rules dengan algoritma FP Growth1. Hasil yang diperoleh
berupa pengetahuan mengenai hubungan antara penjualan suatu barang dengan
barang lain untuk rekomendasi pembeli dan penjual pada suatu situs e-commerce.
Maka pada tugas akhir ini akan dilakukan penelitian analisa keranjang belanja
menggunakan teknik Association Rules dengan algoritma Apriori yang
diaplikasikan pada sebuah sistem pencarian pola asosiasi barang. Hasil penelitian
diharapkan dapat memberikan pengetahuan kepada pemilik toko swalayan untuk
mengatur strategi penjualan.
1I Gede Sudiadiarta, Market Basket Analysis Menggunakan Algoritma Frequent Pattern Growth (FP-Growth) Untuk Situs E-Commerce: Universitas Sanata Dharma Yogyakarta, Skripsi, 2006.
3
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.
4. Proses pencarian kandidat itemset dibatasi sampai dengan kombinasi 10
barang.
5. Proses pencarian pola asosiasi dibatasi untuk kombinasi 2 barang yaitu
asosiasi BA⇒ dan kombiasi 3 barang yaitu asosiasi CAB⇒ .
4
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.
1.6. Metodologi Penelitian
Metodologi penelitian yang digunakan untuk membuat aplikasi ini adalah :
1. Menerapkan metodologi pemrograman berorientasi objek dalam
pengembangan sistem.
2. Menerapkan metode data mining, yaitu :
a. Menyiapkan suatu set target data transaksi penjualan yang akan dikenai
proses knowledge discovery.
5
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,
batasan masalah, tujuan penelitian, manfaat penelitian, serta
sistematika penulisan laporan dari penelitian yang akan dilakukan.
BAB II LANDASAN TEORI
Bab ini berisi penjelasan tentang teori-teori yang digunakan untuk
memecahkan masalah yang akan diteliti.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas mengenai analisis dan perancangan sistem yang
akan dikerjakan dalam penelitian.
6
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.
7
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
dimengerti dari data2. Data mining adalah proses secara otomatis untuk
menemukan informasi yang bermanfaat di dalam gudang data yang besar3.
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
Data mining dilakukan untuk mencari pola-pola yang dapat dipahami manusia
yang menjelaskan karakteristik data. Beberapa metode yang digunakan untuk
tujuan ini adalah :
1.1. Association Rules
Metode untuk mencari pola asosiasi yang sering muncul dalam data.
Teknik yang digunakan misalnya algoritma Apriori dan FP-Growth.
2 Fayyad, U. M., G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy, editor, Advances in Knowledge Discovery and Data Mining, MIT Press, Menlo Park, CA, 1996. http://www2.cs.uregina.ca/~dbd/cs831/notes/kdd/ - akses terakhir tanggal 23 Oktober 2008, 23:35. 3 Pang-Ning Tan, Michael Steinbach, Vipin Kumar, Introduction to Data Mining. Boston : Pearson Addison Wesley, 2006.
8
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
Classification adalah proses untuk menemukan model atau fungsi yang
menjelaskan atau membedakan konsep atau kelas data, dengan tujuan
untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak
diketahui. Beberapa teknik yang termasuk dalam metode ini antara lain
Decission Tree, Neural Network, Bayesian Network, dan k-nearest
Neighbour.
2.2. Regression
Merupakan proses memetakan data item menjadi sebuah angka nyata (real
value) dari nilai variabel prediksi.
9
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
diilustrasikan pada gambar 2.1 berikut4:
Gambar 2.1. Proses KDD
Proses KDD pada gambar 2.1 dapat dijelaskan sebagai berikut :
1. Mengembangkan pemahaman mengenai aplikasi yang menyangkut
pengetahuan terlebih dahulu serta tujuan dari proses KDD bagi pengguna
akhir.
2. Menciptakan suatu set target data melalui pemilihan suatu data set, atau
memusatkan pada suatu subset variabel, atau contoh data, dimana proses
penemuan dilakukan.
4 Fayyad, U. M., G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy, editor, Advances in Knowledge Discovery and Data Mining, MIT Press, Menlo Park, CA, 1996. http://www2.cs.uregina.ca/~dbd/cs831/notes/kdd/ - akses terakhir tanggal 17 Oktober 2008, 23:35.
10
3. 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,
serta mencocokan metode khusus dari data mining dengan keseluruhan proses
KDD.
7. Melakukan data mining itu sendiri, yaitu mencari pola yang sesuai dari bentuk
representasi tertentu atau suatu set representasi tersebut, seperti association
rules, regression, clustering, dan sebagainya.
8. Menafsirkan pola yang didapatkan dari penggalian data, juga dapat melibatkan
visualisasi dari pola yang sudah digali dan pemodelan atau visualisasi dari
data yang berasal dari model-model yang sudah digali.
11
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 Β⇒Α .
Didefinisikan jika A terjadi dalam transaksi, maka B pun terjadi dalam transaksi
yang sama.
Istilah penting dalam Association Rules yaitu :
1. Item, Itemset, dan k-Itemset
Sebuah nilai atribut disebut dengan item, sedangkan kumpulan dari beberapa
item disebut dengan itemset. k-Itemset merupakan itemset yang berisi k item.
2. Support
Merupakan persentasi dari transaksi yang mengandung seluruh itemset.
12
tuplenkeseluruhajumlah
BdanAmengandungyangtuplejumlahBASupport
__
______)( =⇒
.............. Rumus 2.1 Nilai Support )( BA⇒
3. Confidence.
Confidence merupakan persentasi banyaknya A pada transaksi yang
mengandung B.
Amengandungyangtuplejumlah
BdanAmengandungyangtuplejumlahBAConfidence
____
______)( =⇒
………. Rumus 2.2 Nilai Confidence )( BA⇒
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,
yaitu5:
1. Menemukan seluruh itemset yang memiliki support >= minsup.
Itemset yang memilki support lebih besar atau sama dengan minsup disebut
dengan large itemset (l-itemset), sedangkan itemset yang memiliki support
lebih kecil dari minimum support disebut dengan small itemset.
2. Menggunakan large itemset untuk menghasilkan aturan asosiasi yang
diinginkan. 5 Rakesh Agrawal and Ramakrishnan Srikant, Fast Algorithms for Mining Association Rules : Article, IBM Almaden Research Center, 1996. http://rakesh.agrawal-family.com/papers/vldb94apriori.pdf - akses terakhir tanggal 17 Oktober 2008, 23:19.
13
Untuk setiap large itemset l, harus dapat ditemukan seluruh subset yang tidak
kosong dari l. Untuk setiap subset a, akan memperoleh keluaran sebuah aturan
dalam bentuk )( ala −⇒ , jika perbandingan aSupport
lSupport
_
_ paling sedikit lebih
besar dari minconf.
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.
2.4. Algoritma Apriori
Secara umum kinerja dari algoritma ini adalah mencari frequent itemset
dari database transaksi melalui beberapa tahap iterasi6. Prinsipnya adalah jika
sebuah itemset infrequent, maka itemset yang infrequent tidak perlu lagi dicari
6 Sushmita Mitra and Tinku Acharya, Data Mining : Multimedia, Soft Computing, and Bioinformatics. Hoboken, New Jersey : John Wiley and Sons, inc., 2003.
14
superset-nya sehingga jumlah kandidat yang harus diperiksa menjadi berkurang.
Berikut adalah algoritma Apriori7:
1) L1={large 1-itemset} 2) For {k=2;Lk-1≠0;k++}do begin 3) Ck = apriori-gen(Lk-1);//new candidate 4) Forall transaction t ∈D do begin 5) Ct = subset(Ck,t);//candidate contained in t 6) Forall candidates c ∈ Ct do 7) c.count ++; 8) End 9) Lk = {c ∈ Ct | c.count ≥ minsup) 10) End 11) Answer = Υ k Lk;
Langkah pertama algoritma ini adalah menghitung kejadian item untuk
menentukan large 1-itemset atau frequent itemset kemudian disimpan pada L1.
Langkah berikutnya untuk large itemset sebesar Lk-1 terdiri dari (k-1) langkah
yang digunakan untuk menghasilkan kandidat itemset Ck menggunakan fungsi
Apriori-gen8. Adapun fungsi Apriori-gen terdiri dari 2 tahap yaitu penggabungan
Lk-1 (Lk-1 p) dengan Lk-1 (Lk-1 q) dan penghapusan kandidat itemset yang tidak
terdapat pada Lk-1. Algoritma untuk melakukan penggabungan Lk-1 (Lk-1 p) dengan
Lk-1 (Lk-1 q) adalah sebagai sebagi berikut :
1) insert into Ck 2) select p.itemI, q.item1, . . . , p.itemk-1, q.itemk-1 3) from Lk-1 p, Lk-1q 4) where p.item1 = q.item1, . . . p.itemk-2 = q.itemk-2, p.itemk-1 < q.itemk-1;
7 Rakesh Agrawal and Ramakrishnan Srikant, Fast Algorithms for Mining Association Rules : Article, IBM Almaden Research Center, 1996. http://rakesh.agrawal-family.com/papers/vldb94apriori.pdf - akses terakhir tanggal 17 Oktober 2008, 23:19. 8 Rakesh Agrawal and Ramakrishnan Srikant, Fast Algorithms for Mining Association Rules : Article, IBM Almaden Research Center, 1996. http://rakesh.agrawal-family.com/papers/vldb94apriori.pdf - akses terakhir tanggal 17 Oktober 2008, 23:19.
15
Kemudian dicari semua subset (k-1) dari semua kandidat itemset pada Ck
dan menghapus beberapa (k-1)-subset dari kandidat itemset pada Ck yang tidak
termasuk dalam Lk-1. Tahap penghapusan atau disebut juga prune step
menggunakan algoritma sebagai berikut :
1) forall itemsets c ∈Ck do 2) forall (k-1)-subsets s of c do 3) if (s ∉Lk-1) then 4) delete c from Ck;
Selanjutnya dilakukan scan database untuk menghasilkan kandidat Ck yang
memenuhi syarat support dan hasilnya disimpan pada Lk. Sehingga hanya
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
Apriori untuk pencarian Association Rules. Sebagai contoh terdapat data transaksi
AllElectronic9 seperti pada tabel 2.1 dibawah ini.
9 Han, Jiawei and Micheline Kamber, Data Mining : Concepts and Techniques. San Francisco : Morgan Kaufman Publisher, 2001. (Halaman : 232)
16
Tabel 2.1 Data Transaksi AllElectronic
TID 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 C1
Itemset Sup.Count
{I1} 6
{I2} 7
{I3} 7
{I4} 2
{I5} 2
Kemudian membandingkan candidate support count dengan nilai minsup untuk
memperoleh large 1-itemset atau disebut L1. C1 yang memenuhi minsup
selanjutnya disimpan dalam L1 seperti pada tabel 2.3 dibawah.
17
Tabel 2.3 Large 1-itemset L1
Itemset 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 C2
Itemset Sup.Count
{I1, I2} 4
{I1, I3} 4
{I1, I4} 1
{I1, I5} 2
{I2, I3} 4
{I2, I4} 2
{I2, I5} 2
{I3, I4} 0
{I3, I5} 1
{I4, I5} 0
Setelah C2 terbentuk, kemudian dilakukan perbandingan nilai candidate support
count dengan nilai minsup. Hasilnya berupa Large 2-itemset L2 seperti pada tabel
2.5 dibawah ini.
18
Tabel 2.5 Large 2-temset L2
Itemset 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
dilakukan perbandingan nilai candidate support count dengan nilai minsup yang
menghasilkan Large 3-itemset L3 seperti disajikan pada tabel 2.7 dibawah ini.
Tabel 2.7 Large 3-itemset L3
Itemset Sup.Count
{I1, I2, I3} 2
{I1, I2, I5} 2
Langkah selanjutnya adalah penggabungan masing-masing itemset pada
L3 dengan itemset pada L3 untuk menghasilkan candidate itemset C4. Hasil yang
diperoleh adalah {I1, I2, I3, I5} yang mempunyai candidate support count = 1.
19
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 )(
)(
ASupport
BASupport ∪. Asosiasi yang akan dibentuk berasal dari
Large 3-itemset L3 atau dengan kata lain berasal dari large itemset Lk terbanyak.
Misal diberikan nilai minconf sebesar 70%, maka hasil aturan asosiasi yang
mungkin terbentuk dari large 3-itemset {I1, I2, I5} adalah seperti disajikan dalam
tabel 2.8 dibawah ini.
Tabel 2.8 Hasil Aturan Asosiasi
Aturan Assosiasi )( BA⇒ Support )( BA ∪ Support )(A Confidence
I1 ^ I2 ⇒ I5 2 4 50%
I1 ^ I5 ⇒ I2 2 2 100%
I2 ^ I5 ⇒ I1 2 2 100%
I1 ⇒ I2 ^ I5 2 6 33%
I2 ⇒ I1 ^ I5 2 7 29%
I5 ⇒ I1 ^ I2 2 2 100%
20
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.
Adapun user yang terlibat dalam sistem ini terdiri dari kasir dan admin. Maka dari
itu sistem akan dibagi menjadi 2 bagian, yaitu sistem kasir yang menangani
pencatatan transaksi penjualan dan sistem admin yang menangani manipulasi
data barang, data user, data transaksi, dan pencarian pola asosiasi dengan metode
data mining.
Alur kerja sistem dapat dijelaskan sebagai berikut:
1. Sistem Kasir
Kasir login ke dalam sistem. Jika login berhasil, maka sistem akan
menampilkan form kasir. Selanjutnya kasir memilih menu transaksi untuk masuk
21
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.
Admin dapat melakukan pencarian pola asosiasi barang dengan masuk ke
dalam menu pencarian asosiasi. Pada menu ini terdapat beberapa langkah yang
dikerjakan. Pertama, admin mengambil data transaksi dari tabel transaksi di dalam
database sistem atau mengambil data transaksi dari tabel di luar database sistem.
Langkah selanjutnya adalah melakukan preprosesing terhadap data, jika
diperlukan, dan melakukan proses cleaning data sehingga diperoleh data yang
sesuai untuk di proses pada pencarian pola asosiasi barang, disebut dengan data
cleaning. Dari data cleaning tersebut, maka dapat dilakukan proses pencarian pola
asosiasi barang dengan memasukkan nilai minsup dan minconf.
22
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
barang.
14. Selanjutnya dilakukan proses pencarian pola asosiasi penjualan antar barang
dengan menggunakan algoritma Apriori . Langkah-langkah yang dikerjakan
adalah sebagai berikut :
a. Memasukkan nilai minsup dan minconf sebagai syarat dari nilai asosiasi
barang yang akan dicari.
b. Melakukan pembentukan kandidat k-itemset (Ck) dan large k-itemset (Lk).
Tahap awal adalah pembentukan kandidat 1-itemset (C1) dan large 1-
itemset (L1) dengan melakukan kueri berdasarkan nilai support. Jika
23
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.
15. Setelah ditemukan pola asosiasi penjualan antar barang, maka dari
pengetahuan tersebut dapat digunakan untuk mengatur strategi penjualan
barang oleh pemilik swalayan.
24
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
logout
Mengedit data user
Menambah data user
Menghapus data user
Admin
login
Mencatat data transaksiKasir logout
Mencetak data user Mencetak data barang
Melakukan pencarian pola asosiasi barang
Mencetak data asosiasi barang
Melihat data transaksi
Mencetak data transaksi
Gambar 3.1 Use Case Diagram
3.1.3. Class Diagram
Asosiasiid_ruleid_barangnama_barangconfidencesupport
createCandidate()createRule()
Barangid_barangnama_barangjumlah_stockharga_beliharga_jual
tambah_barang()edit_barang()hapus_barang()cetak_data_barang()
1..*1..* 1..*1..*
punya
Cleaningid_notaid_barangnama_barang
insertCleaning()
1
1..*
1
1..*
hasil
Loginid_loginnikjabatanusernamepassword
login()batal_login()
Usernikusernamepasswordjabatannamaalamatno_telepon
tambah_user()edit_user()hapus_user()cetak_data_user()
1
1
1
1
lakukan
Transaksiid_notaid_barangniknama_barangjumlahtotal_hargatanggal
tambah_transaksi()edit_transaksi()hapus_transaksi()cetak_data_transaksi()
1..*
1
1..*
1
punya
11..* 11..*
hasil
1..*1
catat
1..*1
Gambar 3.2 Class Diagram
25
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
Selesai
( salah )
( benar )
Gambar 3.3 Activity Diagram Login Kasir
26
3.1.4.1.2. Activity Diagram Mencatat Data Transaksi
Tampilan Pesan ID Barang Salah
Mulai
Memasukkan ID Barang
Menekan tombol OK
Tampilan perubahan tabel, jumlah pembayaran
Selesai
ID Barang Benar?
( tidak )
Memasukkan jumlah barang
Mengubah jumlah data barang
ID Barang sudah ada didalam tabel?
(tidak)
(ada)
( benar )
Menekan tombol ubah
Menekan tombol hapus
Menghapus data barang(ada)
Menekan tombol tambah
Uang yang dibayarkan lebih besar atau sama dengan jumlah uang total transaksi?
Mengubah jumlah uang yang
Menambah, mengubah atau menghapus data barang lagi? (ya)
Memasukkan nilai jumlah uang yang dibayarkan
(tidak)
Tampilan pesan jumlah uang yang dibayarkan kurang
(ya)
(tidak)
Gambar 3.4 Activity Diagram Mencatat Data Transaksi
27
3.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 Kasir
3.1.4.2. Activity Diagram Sistem Admin
3.1.4.2.1. Activity Diagram Login Admin
Mulai
Memasukkan Username dan Password
Tampilan Form Login
Tampilan Halaman Menu Admin
Selesai
Verifikasi Usename dan Password
(benar)
( salah )
Gambar 3.6 Activity Diagram Login Admin
28
3.1.4.2.2. Activity Diagram Menambah Data Barang
Mulai
Selesai
Memilih Menu Daftar Barang
Menekan tombol Tambah Barang
Menyimpan Data Barang Baru
Memasukkan Data Barang Baru
ID Barang Sudah Ada?
( Belum )
Tampilan Pesan ID Barang Sudah Ada ( Ada )
Mengubah ID Barang
Konfirmasi Menambah Data Barang
( ya )
Membatalkan Menambah Data Barang( tidak )
Selesai
Gambar 3.7 Activity Diagram Menambah Data Barang
29
3.1.4.2.3. Activity Diagram Mengedit Data Barang
Mulai
Selesai
Memilih Menu Daftar Barang
Memasukkan ID Barang
Mengedit Data Barang
Menekan Tombol Edit
Tampilan Pesan Data Tidak Lengkap
Data Barang Sudah Lengkap?
( tidak )
Menambah Kelengkapan Data
Menyimpan Hasil Perubahan Data Barang
( ya )
Membatalkan Mengedit Data Barang
Konfirmasi Menyimpan Data Barang
( ya )
( tidak )
Selesai
ID Barang Ada?
Tampilan Pesan ID Barang Salah
( ya )
( tidak )
Gambar 3.8 Activity Diagram Mengedit Data Barang
30
3.1.4.2.4. Activity Diagram Menghapus Data Barang
Mulai
Selesai
Memilih Menu Daftar Barang
Konfirmasi Menghapus Data Barang
Menghapus Data Barang
Membatalkan Penghapusan Data Barang ( tidak )
Selesai
Menekan Tombol Hapus
( ya )
Memasukkan ID Barang
ID Barang Ada?
Tampilan Pesan ID Barang Salah
( ya )
( tidak )
Gambar 3.9 Activity Diagram Menghapus Data Barang
3.1.4.2.5.Activity Diagram Mencetak Data Barang
Mulai
Selesai
Menekan tombol cetak
Memilih Menu Daftar Barang
Gambar 3.10 Activity Diagram Mencetak Data Barang
31
3.1.4.2.6.Activity Diagram Menambah Data User
Mulai
Memilih menu User
Memasukkan Data User
Menekan Tombol Tambah
Selesai
Konfirmasi Menambah Data User
ID User Sudah Ada?
( tidak )
Menyimpan Data User Baru
( ya )
Tampilan Pesan ID User Sudah Ada ( ya )
Mengubah ID User
Membatalkan Menambah Data User( tidak )
Selesai
Gambar 3.11 Activity Diagram Menambah Data User
32
3.1.4.2.7. Activity Diagram Mengedit Data User
Mulai
Memilih Menu User
Memasukkan ID User
Mengedit Data User
Menekan Tombol Edit
Selesai
Tampilan Pesan ID User Salah
ID User Ada?
( tidak )( ya )
Konfirmasi Menyimpan Data User
Data User Sudah Lengkap
( ya )
Membatalkan Mengedit Data User( tidak )
Menyimpan Perubahan Data User
( ya )
Tampilan Pesan Data Tidak Lengkap ( tidak )
Menambah Kelengkapan Data
Selesai
Gambar 3.12 Activity Diagram Mengedit Data User
33
3.1.4.2.8. Activity Diagram Menghapus Data User
Mulai
Menekan Tombol Hapus
Selesai
Konfirmasi Menghapus Data User
Membatalkan Menghapus Data User
Menghapus Data User
Selesai
Memilih Menu User
Memasukkan ID User
ID User Ada?
Tampilan Pesan ID User Salah
( tidak )
( ya )
tidak
ya
Gambar 3.13 Activity Diagram Menghapus Data User
3.1.4.2.9. Activity Diagram Mencetak Data User
Mulai
Selesai
Memilih menu user
Menekan tombol cetak
Gambar 3.14 Activity Diagram Mencetak Data User
34
3.1.4.2.10. Activity Diagram Melihat Data Transaksi
Mulai
Memilih Menu Transaksi
Memasukkan Periode Transaksi yang akan Diambil Datanya
Tampilan Data Transaksi
Selesai
Menekan tombol OK
Gambar 3.15 Activity Diagram Melihat Data Transaksi
3.1.4.2.11. Activity Diagram Mencetak Data Transaksi
Mulai
Selesai
Memilih menu daftar transaksi
Memilih periode data transaksi
Menekan tombol cetak
Menekan tombol OK
Tampilan Data Transaksi
Gambar 3.16 Activity Diagram Mencetak Data Transaksi
35
3.1.4.2.12. Activity Diagram Melakukan Pencarian Pola Asosiasi Barang
Mulai
Melakukan Proses Preprosesing dan Cleaning Data
Memilih Menu Perhitungan Apriori
Mengambil Data Transaksi yang akan Diproses
Memasukkan Nilai Support dan Confidence
Melakukan Proses Pencarian Pola Asosiasi Menggunakan Algoritma Apriori
Selesai
Cek data transaksi
Ada
Memperoleh Hasil Asosiasi
Tampilan Pesan Data Tidak Ada
Tidak
Menganalisa Hasil Asosiasi
Gambar 3.17 Activity Diagram Melakukan Pencarian Pola Asosiasi Barang
36
3.1.4.2.13. Activity Diagram Mencetak Data Asosiasi Barang
Mulai
Selesai
Melakukan pencarian pola asosiasi barang
Memperoleh hasil asosiasi barang
Menekan tombol cetak
Gambar 3.18 Activity Diagram Mencetak Data Asosiasi Barang
3.1.4.2.14. Activity Diagram Logout Admin
Mulai
Selesai
Menekan Tombol Logout
Keluar Dari Sistem
Konfirmasi Logout
Tampilan Halaman Sistem
Selesai
( ya )
( tidak )
Gambar 3.19 Activity Diagram Logout Admin
37
3.1.5. Sequence Diagram
3.1.5.1. Sequence Diagram Sistem Kasir
3.1.5.1.1. Sequence Diagram Login Kasir
: halamanTransaksiKasir : Kasir : halamanLogin : kontrolLogin : dataKasir
masukkan username, password
username, password
cek username, password
status username, password
username, password benar
username, password salah
pesan username, password salah
tampilan halaman sistem kasir
Gambar 3.20 Sequence Diagram Login Kasir
38
3.1.5.1.2. Sequence Diagram Mencatat Data Transaksi
: Kasir : halamanTransaksiKasir : kontrolDataBarang : dataBarang : kontrolDataTransaksi : dataTransaksi
masukkan data barang
data barang
cek data barang
data barang ada
pesan data barang tidak ada
menekan tombol tambah
data barang
queri menambah data barang ke data transaksi
menekan tombol ubah
data barang
queri mengubah data barang di dalam data transaksi
menekan tombol hapus
data barang
queri menghapus data barang di dalam data t ransaksi
data transaksi bertambah
data transaksi berubah
data transaksi berkurang
data barang tidak ada
menampilkan data transaksi
memasukkan nilai pembay aran
menekan tombol OK
data transaksi
meny impan data transaksi
data transaksi tersimpan
tampilan f orm transaksi kosong
Gambar 3.21 Sequence Diagram Mencatat Data Transaksi
39
3.1.5.1.3. Sequence Diagram Logout Kasir
: Kasir : halamanSistemKasir : kontrolLogout
menekan tombol logout
menutup sistem
mematikan koneksi
Gambar 3.22 Sequence Diagram Logout Kasir
3.1.5.2. Sequence Diagram Sistem Admin
3.1.5.2.1. Sequence Diagram Login Admin
: Admin : halamanLogin : kontrolLogin : dataAdmin : halamanSistemAdmin
masukkan username, password
username, password
cek username, password
status username, password
username, password benar
username, password salah
pesan username, password salah
tampilan halaman sistem admin
Gambar 3.23 Sequence Diagram Login Admin
40
3.1.5.2.2. Sequence Diagram Menambah Data Barang
: Admin : halamanMenuBarang : kontrolDataBarang : dataBarang
masukkan data barang
data barang
queri menambah data barang
data barang sudah ada
pesan data barang sudah ada
data barang belum ada
data barang bertambah
tampilan data barang pada tabel
Gambar 3.24 Sequence Diagram Menambah Data Barang
41
3.1.5.2.3. Sequence Diagram Mengedit Data Barang
: Admin : halamanMenuBarang : kontrolDataBarang : dataBarang
masukkan id barang
id barang
queri data barang
data barang tidak ada
pesan data barang t idak ada
data barang ada
tampilan data barang pada f orm
masukkan perubahan data barang
data barang
queri mengubah data barang
data barang berubah
tampilan data barang pada tabel
Gambar 3.25 Sequence Diagram Mengedit Data Barang
42
3.1.5.2.4. Sequence Diagram Menghapus Data Barang
: Admin : halamanMenuBarang : kontrolDataBarang : dataBarang
masukkan id barang
id barang
queri data barang
data barang tidak ada
pesan data barang tidak ada
data barang ada
tampilan data barang pada f orm
menghapus data barang
data barang
queri menghapus data barang
data barang terhapus
tampilan data barang pada tabel
Gambar 3.26 Sequence Diagram Menghapus Data Barang
43
3.1.5.2.5. Sequence Diagram Mencetak Data Barang
: Admin : halamanMenuBarang : kontrolDataBarang : dataBarang
menekan tombol cetak
data barang
queri data barang
prev iew data barang
mencetak data barang
Gambar 3.27 Sequence Diagram Mencetak Data Barang
44
3.1.5.2.6. Sequence Diagram Menambah Data User
: Admin : halamanMenuUser : kontrolDataUser : dataUser
masukkan data user
data user
queri menambah data user
data user sudah ada
data user belum ada
pesan data user sudah ada
tampilan data user pada tabel
data user bertambah
Gambar 3.28 Sequence Diagram Menambah Data User
45
3.1.5.2.7. Sequence Diagram Mengedit Data User
: Admin : halamanMenuUser : kontrolDataUser : dataUsermasukkan id user
id user
queri data user
data user tidak ada
pesan data user tidak ada
data user ada
tampilan data user pada f orm
masukkan perubahan data user
data user
queri mengubah data user
data user berubah
tampilan data user pada tabel
Gambar 3.29 Sequence Diagram Mengedit Data User
46
3.1.5.2.8. Sequence Diagram Menghapus Data User
: Admin : halamanMenuUser : kontrolDataUser : dataUser
masukkan id user
id user
queri data user
data user tidak ada
pesan data user tidak ada
data user ada
tampilan data user pada f orm
menghapus data user
data user
queri menghapus data user
data user terhapus
tampilan data user pada tabel
Gambar 3.30 Sequence Diagram Menghapus Data User
47
3.1.5.2.9. Sequence Diagram Mencetak Data User
: dataUser : Admin : halamanMenuUser : kontrolDataUser
menekan tombol cetak
data user
queri data user
preview data user
mencetak data user
Gambar 3.31 Sequence Diagram Mencetak Data User
48
3.1.5.2.10. Sequence Diagram Melihat Data Transaksi
: Admin : halamanMenuTransaksi : kontrolDataTransaksi : dataTransaksi
masukkan periode transaksi
periode transaksi
queri data transaksi berdasarkan periode
data transaksi tidak ada
pesan data transaksi tidak ada
data transaksi ada
tampilan data transaksi
Gambar 3.32 Sequence Diagram Melihat Data Transaksi
49
3.1.5.2.11. Sequence Diagram Mencetak Data Transaksi
: Admin : halamanMenuTransaksi : kontrolDataTransaksi : dataTransaksi
masukkan periode transaksi
periode transaksi
queri data transaksi berdasarkan periode
menekan tombol cetak
data transaksi
queri data transaksi untuk dicetak
prev iew data transaksi
mencetak data transaksi
Gambar 3.33 Sequence Diagram Mencetak Data Transaksi
50
3.1.5.2.12. Sequence Diagram Melakukan Pencarian Pola Asosiasi Barang
: halamanPemil ihanDatabase : Admin : halamanLangkahPencarian : kontrolDataTransaksi : dataTransaksi : dataCleaning : halamanCleaning : halamanPencarianAsosiasi : kontrolPencarianAsosiasi : dataAsosiasiBarang : kontrolDataCleaning
menekan tombol lanjut
memilih sumber database
database data transaksi
queri data transaksi
data transaksi
tampilan data transaksi
menekan tombol cleaning
data transaksi
queri data transaksi
data transaksi hasil cleaning
data cleaning
tampilan data cleaning pada tabel
menekan tombol lanjut
data cleaning
masukkan minsup dan minconf
menekan tombol hitung
minsup dan minconf
queri pembentukan pola asosiasi
hasil pencarian asosiasi
data asosiasi
tampilan data asosiasi
Gambar 3.34 Sequence Diagram Melakukan Pencarian Pola Asosiasi
51
3.1.5.2.13. Sequence Diagram Mencetak Data Asosiasi Barang
: dataAsosiasiBarang : Admin : halamanPencarianAsosiasi : kontrolDataAsosiasi
menekan tombol cetak
data asosiasi barang
queri data asosiasi barang
prev iew data asosiasi barang
mencetak data asosiasi barang
Gambar 3.35 Sequence Diagram Mencetak Data Asosiasi Barang
3.1.5.2.14. Sequence Diagram Logout Admin
: Admin : halamanSistemAdmin : kontrolLogout
menekan tombol logout
menutup sistem
mematikan koneksi
Gambar 3.36 Sequence Diagram Logout Admin
52
3.2. Desain Sistem
3.2.1. ER Diagram
Gambar 3.37 ER Diagram
3.2.2. Desain Database
Desain database berisi tabel-tabel yang digunakan didalam sistem,yaitu :
1. Tabel Barang
Tabel barang digunakan untuk menyimpan data barang yang dijual di
swalayan tersebut. Struktur tabelnya adalah sebagai berikut :
Tabel 3.1 Tabel Barang
Nama Field Tipe Data Size Keterangan
id_barang VARCHAR 15 ID untuk barang
nama_barang VARCHAR 50 Nama barang
jumlah_stock DOUBLE Jumlah stock barang
harga_beli DOUBLE Harga beli barang
harga_jual DOUBLE Harga jual barang
53
2. Tabel Transaksi
Tabel transaksi digunakan untuk menyimpan transaksi yang terjadi.
Tabel 3.2 Tabel Transaksi
Nama Field Tipe Data Size Keterangan
id_nota VARCHAR 10 ID untuk transaksi
id_barang VARCHAR 15 ID untuk barang
nama_barang VARCHAR 50 Nama barang
jumlah DOUBLE Jumlah barang yang dibeli
harga_total DOUBLE Harga total transaksi
tanggal DATE Tanggal transaksi dilakukan
3. Tabel Cleaning
Tabel cleaning merupakan tabel untuk menyimpan data cleaning.
Tabel 3.3 Tabel Cleaning
Nama Field Tipe Data Size Keterangan
id_nota INTEGER 6 ID untuk transaksi
id_barang VARCHAR 15 ID untuk barang
nama_barang VARCHAR 50 Nama Barang
4. Tabel Rule
Tabel rule digunakan untuk menyimpan asosiasi barang hasil
pencarian pola asosiasi.
Tabel 3.4 Tabel Rule
Nama Field Tipe Data Size Keterangan
id_rule INTEGER 11 ID untuk rule yang terbentuk
subset INTEGER 11 Nilai jumlah kombinasi
support DOUBLE Nilai support Lk-1 itemset
confidence DOUBLE Nilai confidence Lk-1 itemset
nama_barang1 VARCHAR 200 Nama barang ke-1 asosiasi
nama_barang2 VARCHAR 200 Nama barang ke-2 asosiasi
54
5. Tabel Largeitem
Tabel ini digunakan untuk menyimpan data large itemset yang
diperoleh selama proses pencarian asosiasi.
Tabel 3.5 Tabel Largeitem
Nama Field Tipe Data Size Keterangan
subset INTEGER 6 Nilai jumlah kombinasi
support DOUBLE 6 Nilai support Lk-1 itemset
nama_barang1 VARCHAR 200 Nama barang ke-1 kombinasi
nama_barang2 VARCHAR 200 Nama barang ke-2 kombinasi
nama_barangN VARCHAR 200 Nama barang ke-n kombinasi
6. Tabel Candidate
Tabel ini digunakan untuk menyimpan kandidat itemset yang diperoleh
selama proses pencarian asosiasi.
Tabel 3.6 Tabel Candidate
Nama Field Tipe Data Size Keterangan
subset INTEGER 6 Nilai jumlah kombinasi
support DOUBLE 6 Nilai support Lk-1 itemset
nama_barang1 VARCHAR 200 Nama barang ke-1 kombinasi
nama_barang2 VARCHAR 200 Nama barang ke-2 kombinasi
nama_barangN VARCHAR 200 Nama barang ke-n kombinasi
55
7. Tabel Staff
Tabel staff digunakan untuk menyimpan data user.
Tabel 3.7 Tabel Staff
Nama Field Tipe Data Size Keterangan
nik VARCHAR 10 ID untuk user
username VARCHAR 20 Nama login user
password VARCHAR 20 Password login user
jabatan VARCHAR 20 Jabatan kerja user (Admin/Kasir)
nama VARCHAR 30 Nama user
alamat VARCHAR 100 Alamat user
no_telepon VARCHAR 15 Nomor telepon user
8. Tabel Login
Tabel login digunakan untuk menyimpan data user yang melakukan
login ke dalam sistem.
Tabel 3.8 Tabel Login
Nama Field Tipe Data Size Keterangan
id_login VARCHAR 10 ID login
nik VARCHAR 20 Nik user
tanggal DATE 20 Tanggal user melakukan login
jam TIME Jam user melakukan login
56
3.2.3. Desain Antar Muka (User Interface Design)
3.2.3.1. Form Login
Gambar 3.38 Form Login
3.2.3.2. Form Utama Sistem Kasir
Gambar 3.39 Form Utama Sistem Kasir
57
3.2.3.3. Form Transaksi
Gambar 3.40 Form Transaksi
3.2.3.4. Form Utama Sistem Admin
Gambar 3.41 Form Utama Sistem Admin
58
3.2.3.5. Form Daftar User
Gambar 3.42 Form Daftar User
3.2.3.6. Form Daftar Barang
Gambar 3.43 Form Daftar Barang
59
3.2.3.7. Form Daftar Transaksi
Gambar 3.44 Form Daftar Transaksi
3.2.3.8. Form Utama Perhitungan Apriori
Gambar 3.45 Form Utama Perhitungan Apriori
60
3.2.3.9. Form Perhitungan Apriori – Mengambil Data Transaksi
Gambar 3.46 Form Perhitungan Apriori – Mengambil Data Transaksi
3.2.3.10. Form Perhitungan Apriori – Mengambil Data Transaksi
61
Gambar 3.47 Form Perhitungan Apriori – Mengambil Data Transaksi
3.2.3.11. Form Perhitungan Apriori – Cleaning Data
Gambar 3.48 Form Perhitungan Apriori – Cleaning Data
62
3.2.3.12. Form Perhitungan Apriori – Pencarian Pola Asosiasi Barang
Gambar 3.49 Form Perhitungan Apriori – Pencarian Pola Asosiasi Barang
3.2.3.13. Form Perhitungan Apriori – Hasil Analisa
Gambar 3.50 Form Perhitungan Apriori – Hasil Analisa
63
BAB IV
IMPLEMENTASI SISTEM
Setelah melakukan analisis dan perancangan sistem, maka tahap
selanjutnya adalah mengimplementasikan hasil perancangan tersebut ke dalam
sebuah sistem untuk pencarian pola asosiasi penjualan antar barang. Sistem ini
dapat melakukan pencarian pola asosiasi penjualan antar barang yang berasal dari
data transaksi didalam database sistem dan data transaksi di luar database sistem.
Hasil dari pencarian tersebut berupa pengetahuan pola asosiasi penjualan antar
barang yang disajikan dalam tabel, grafik dan file cetak.
5.1.Spesifikasi hardware dan software yang Digunakan
Sistem dibuat dengan menggunakan hardware dan software sebagai
berikut :
5.3.2 Spesifikasi hardware
1. Prosesor Intel Pentium Dual Core 1,86GHz
2. Memori 1 GB
3. Hardisk 80 GB
5.3.2 Spesifikasi software
1. Sistem Operasi Microsoft Windows XP Profesional Service Pack 2
2. Kompiler IDE NetBeans 5.5
3. Basis data MySQL 5.0
4. Bahasa Pemrograman Java 2 Standar Edition (J2SE)
64
5.1.Pembuatan Database
Pada bagian ini dilakukan pembuatan database baru pada MySQL yang
berisi tabel-tabel untuk menyimpan data yang diperlukan di dalam sistem. Adapun
pembuatan database tersebut terdiri dari langkah-langkah sebagai berikut :
1. Membuat database baru dengan nama apriori.
2. Dari database apriori selanjutnya dibuat tabel-tabel, baik melalui perintah
create new table pada MySQL Query Browser, eksekusi perintah create table
dengan sintak SQL, atau create table pada SQLyog.
Tabel-tabel yang dibuat pada sistem ini adalah :
1. Tabel staff
2. Tabel barang
3. Tabel transaksi
4. Tabel cleaning
5. Tabel candidate
6. Tabel largeitemset
7. Tabel rule
8. Tabel login
5.1.Koneksi Java dan MySQL
Untuk menangani komunikasi Java dengan MySQL digunakan JDBC
(Java Databases Connectivity), sehingga sistem dapat mengakses data di dalam
database. Adapun langkah-langkah untuk membuat koneksi antara Java dengan
MySQL adalah :
65
1. Menambahkan driver (mysql-connector-java-5.0.4-bin.jar) pada library Java.
2. Membuat file untuk menangani koneksi yaitu file koneksi.java.
package tools; import java.sql.*; public class koneksi { public Connection con; public Statement st; public ResultSet rs; public static void cekDriver() { try{ Class.forName("com.mysql.jdbc.Driver"); }catch(Exception e) { e.printStackTrace(); } } public void cekKoneksi() { try{ con = DriverManager.getConnection("jdbc:mysql://localhost :3306/apriori","root","root"); st = con.createStatement(); }catch(Exception e){ e.printStackTrace(); } } }
Dalam file koneksi.java tersebut terdapat 2 buah fungsi, yaitu :
1. Fungsi cekDriver()
Fungsi cekDriver() digunakan untuk melakukan pengecekan terhadap driver
mysql.
2. Fungsi cekKoneksi()
Fungsi cekKoneksi() digunakan untuk mendefinisikan letak dari database
server. Isi dari definisi tersebut adalah letak alamat server, port mysql, nama
database, username dan password.
66
5.1.Pembuatan Antar Muka (User Interface)
Dalam pembuatan Antar Muka ini sistem dibagi menjadi 2 bagian, yaitu :
5.3.2 Form Login User
Gambar 4.1. Form Login User
Pada Gambar 4.1. Form Login User terdapat 2 field masukan, yaitu text
area untuk memasukkan nama username dan password field untuk memasukkan
password. User mengetikkan username kemudian menekan tombol ENTER pada
keyboard, jika username tersebut ada di dalam daftar user, maka field ID Check
akan menampilkan NIK dari username user tersebut. Jika username tidak terdaftar
di dalam database user, maka field ID Check tidak akan menampilkan NIK dari
username user tersebut. Kemudian user memasukkan password pada password
field, dan menekan tombol LOGIN.
Jika username dan password yang diketikkan benar, maka sistem akan
memeriksa jabatan dari user yang melakukan login tersebut. Jika user mempunyai
jabatan admin, maka sistem akan masuk ke Form Admin. Jika user mempunyai
jabatan kasir, maka sistem akan masuk ke Form Kasir. Namun jika username dan
67
password yang diketikkan user salah, maka akan muncul pesan bahwa login
gagal dan user diminta untuk mengulangi login.
5.3.2 Form Utama Sistem Kasir
Gambar 4.2. Form Utama Sistem Kasir
Gambar 4.2. diatas merupakan form yang ditampilkan sistem jika user
berhasil melakukan login sebagai kasir. Selanjutnya user dapat melakukan proses
pencatatan transaksi dengan menekan tombol transaksi. Jika user ingin keluar dari
sistem, maka user dapat menekan tombol LOGOUT, atau jika ingin melakukan
login ulang, user dapat menekan tombol LOGIN ULANG.
68
5.3.2 Form Transaksi Kasir
Gambar 4.3. Form Transaksi Kasir
Gambar 4.3. diatas merupakan Form Transaksi Kasir, yaitu form yang
digunakan untuk mencatat transaksi penjualan. Mekanisme pencatatan transaksi
adalah user mengetikkan kode barang di dalam field Kode Barang dan menekan
tombol ENTER pada keyboard. Jika kode barang tersebut terdapat didalam
database barang, maka field Harga Satuan akan menampilkan harga satuan dari
barang tersebut dan field Nama Barang akan menampilkan nama dari kode barang
tersebut. Jika kode barang yang diketikkan tidak terdapat didalam database
barang, maka sistem akan menampilkan pesan bahwa barang tidak ada.
Selanjutnya user memasukkan jumlah barang yang dibeli konsumen ke dalam
field Jumlah dan menekan tombol TAMBAH untuk memasukkan barang yang
69
dibeli konsumen tersebut ke dalam tabel transaksi, maka nilai pada field Rupiah
(Rp) akan berubah dengan menambahkan nilai yang sudah ada dengan nilai harga
baru dari jumlah harga satu barang yang di catat. Setelah semua barang yang
dibeli konsumen selesai dicatat, user memasukkan jumlah uang yang dibayarkan
konsumen pada field Tunai dan menekan tombol OK untuk memasukkan data
transaksi tersebut ke dalam database.
User dapat merubah jumlah barang yang dibeli konsumen atau menghapus
barang yang sudah dimasukkan ke dalam tabel transaksi dengan mengetikkan
kode barang field Kode Barang. Selanjutnya user menekan tombol ENTER pada
keyboard, maka field Jumlah, Harga Satuan, dan Nama Barang akan menampilkan
data dari kode barang tersebut. User dapat merubah jumlah barang dengan
mengganti nilai pada field Jumlah dan menekan tombol UBAH, maka jumlah
barang dan jumlah harga pada tabel transaksi akan berubah sesuai dengan nilai
baru yang di masukkan. User dapat menghapus barang dari tabel transaksi dengan
menekan tombol HAPUS.
70
5.3.2 Form Utama Sistem Admin
Gambar 4.4. Form Utama Sistem Admin
Gambar 4.4. merupakan tampilan Form Admin, yaitu form utama jika user
yang melakukan login mempunyai jabatan sebagai admin. Pada form tersebut,
user dapat memilih untuk masuk ke menu-menu sistem dengan menekan masing-
masing tombol. Sebagai contoh jika user akan masuk ke menu perhitungan
apriori, maka user menekan tombol PERHITUNGAN APRIORI dan sistem akan
masuk ke bagian perhitungan apriori.
71
5.3.2 Form Daftar User
Gambar 4.5. Form Daftar User
Gambar 4.5. merupakan tampilan Form Daftar User, yaitu form yang
disediakan sistem untuk menambah, mengubah, dan menghapus user yang diberi
wewenang untuk masuk ke dalam sistem. Sistem juga menyediakan fasilitas untuk
mencetak daftar user tersebut ke media kertas atau disebut print.
72
5.3.2 Form Daftar Barang
Gambar 4.6. Form Daftar Barang
Gambar 4.6. merupakan tampilan Form Daftar Barang, yaitu form yang
disediakan sistem untuk menambah barang baru, dan mengubah atau menghapus
barang yang sudah tersimpan di dalam database. Sistem juga menyediakan
fasilitas untuk mencetak daftar barang tersebut ke media kertas atau disebut print.
73
5.3.2 Form Daftar Transaksi
Gambar 4.7. Form Daftar Transaksi
Gambar 4.7. merupakan tampilan Form Daftar Transaksi, yaitu form yang
disediakan sistem untuk menampilkan transaksi-transaksi yang telah dicatat kasir
ke dalam database. User dapat memilih data transaksi yang akan ditampilkan
secara keseluruhan atau secara periodik. Sistem juga menyediakan fasilitas untuk
mencetak daftar user tersebut ke media kertas atau disebut print.
74
5.3.2 Form Perhitungan Apriori – Langkah-langkah Perhitungan Apriori
Gambar 4.8. Form Perhitungan Apriori – Langkah-langkah Perhitungan Apriori
Gambar 4.8. merupakan tampilan awal jika user masuk ke dalam menu
perhitungan apriori. Form ini berisi langkah-langkah untuk mencari pola asosiasi
menggunakan algoritma apriori. Untuk memulai melakukan pencarian pola
asosiasi, user dapat menekan tombol lanjut. Maka sistem akan menampilkan form
pengambilan data seperti disajikan pada Gambar 4.9 dibawah ini.
75
5.3.2 Form Perhitungan Apriori – Pemilihan Data Dari Database
Gambar 4.9. Form Perhitungan Apriori – Pemilihan Data Dari Database
Langkah pertama dalam pencarian pola asosiasi adalah mengambil data
transaksi yang akan diproses. Pada Form Perhitungan Apriori – Pemilihan Data
Dari Database, user dapat memilih sumber data transaksi yang akan diproses.
Sistem menyediakan 2 buah pilihan, yaitu data transaksi diambil dari database
sistem atau data transaksi diambil dari database lain (di luar database sistem).
Kemudian user menekan tombol lanjut untuk mengambil data transaksi yang akan
diambil berdasarkan sumber database.
76
5.3.2 Form Perhitungan Apriori – Pemilihan Data Dari Database Sistem dan
Preprosesing/Cleaning Data
Jika user memilih untuk mengambil data transaksi dari database sistem,
maka akan ditampilkan Form Perhitungan Apriori – Pemilihan Data Dari
Database Sistem dan Preprosesing/Cleaning Data seperti Gambar 4.10 dibawah
ini.
Gambar 4.10. Form Perhitungan Apriori – Pemilihan Data Dari Database Sistem
dan Preprosesing/Cleaning Data
Sistem menyediakan 2 pilihan sumber data transaksi, yaitu data dari tabel
backup dan data dari tabel transaksi. Jika user memilih data dari tabel backup,
user mengetikkan nama tabel yang akan diambil datanya didalam field tabel
77
backup dan menekan tombol OK. Maka tabel data akan menampilkan isi dari
tabel yang diketikkan user tersebut dan secara bersamaan field preprosesing akan
di aktifkan. Dalam hal ini user terlebih dahulu harus melakukan preprosesing
terhadap data dari tabel backup sebelum melakukan proses cleaning. User
mengetikkan nama kolom yang menyatakan id transaksi/nota/faktur dan nama
barang pada field yang disediakan. Selanjutnya user dapat melanjutkan untuk
melakukan proses cleaning dengan menekan tombol CLEANING.
Jika user memilih mengambil data dari tabel transaksi, sistem
menyediakan 2 buah pilihan untuk pengambilan data. Data dapat diambil secara
keseluruhan atau secara periodik berdasarkan periode waktu yang dipilih user
pada kalender waktu yang disediakan. Selanjutnya user menekan tombol OK dan
sistem akan menampilkan data ke dalam tabel data.
Berbeda dengan pilihan data backup, dalam hal ini user tidak perlu melakukan
proses preprosesing terlebih dahulu sebelum melakukan proses cleaning. Field
preprosesing akan tetap di non-aktifkan dan user dapat menekan tombol cleaning
untuk melanjutkan proses.
78
5.3.2 Form Perhitungan Apriori – Pemilihan Data Dari Database di Luar
Sistem dan Preprosesing/Cleaning Data
Jika user memilih untuk mengambil data transaksi dari database di luar
sistem, maka akan ditampilkan Form Perhitungan Apriori – Pemilihan Da