-
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