135
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

PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

  • Upload
    others

  • View
    30

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 2: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 3: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi
Page 4: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi
Page 5: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi
Page 6: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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”

Page 7: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 8: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 9: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 10: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi
Page 11: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 12: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (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

Page 13: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 14: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 15: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 16: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 17: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 18: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 19: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 20: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 21: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 22: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 23: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 24: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

xxiv

DAFTAR RUMUS

Rumus Keterangan Halaman

2.1 Nilai Support )( BA⇒ 12

2.2 Nilai Confidence )( BA⇒ 12

Page 25: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 26: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 27: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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⇒ .

Page 28: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 29: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 30: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 31: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 32: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 33: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 34: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 35: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 36: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 37: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 38: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 39: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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)

Page 40: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 41: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 42: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 43: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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%

Page 44: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 45: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 46: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 47: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 48: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

24

3.1.2. Use Case Diagram

Use case diagram sistem disajikan seperti pada gambar 3.1 dibawah ini.

<<depends on>>

<<depends on>>

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

<<depend on>>

Melihat data transaksi

Mencetak data transaksi

<<depends on>>

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

Page 49: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 50: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 51: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 52: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 53: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 54: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 55: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 56: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 57: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 58: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 59: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 60: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 61: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 62: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 63: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 64: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 65: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 66: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 67: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 68: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 69: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 70: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 71: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 72: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 73: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 74: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 75: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 76: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 77: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 78: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 79: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 80: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 81: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 82: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 83: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 84: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 85: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 86: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 87: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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)

Page 88: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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 :

Page 89: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 90: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 91: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 92: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 93: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 94: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 95: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 96: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 97: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 98: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 99: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 100: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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

Page 101: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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.

Page 102: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

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 Data Dari

Database di Luar Sistem dan Preprosesing/Cleaning Data seperti Gambar 4.11

dibawah ini.

Gambar 4.11. Form Perhitungan Apriori – Pemilihan Data Dari Database Sistem

dan Preprosesing/Cleaning Data

Pada form ini user mengetikkan letak URL dan port. Kemudian user

menekan tombol ENTER pada keyboard, maka system akan menampilkan nama-

nama database pada mysql. Selanjutnya user mengetikkan username dan

password, maka field tabel akan menampilkan nama-nama tabel yang terdapat

Page 103: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

79

pada database yang dipilih. User memilih data yang akan di proses dari tabel-

tabel tersebut dan menekan tombol OK. Kemudian sistem akan menampilkan data

transaksi melalui tabel data.

Langkah selanjutnya adalah user melakukan proses preprosesing dengan

mengetikkan indeks kolom yang menyatakan id transaksi/nota/faktur dan nama

barang dari tabel data. Setelah itu dilanjutkan dengan melakukan proses cleaning

dengan menekan tombol cleaning.

5.3.2 Form Perhitungan Apriori – Data Hasil Preprosesing/Cleaning

Gambar 4.12. Form Perhitungan Apriori – Data Hasil Preprosesing/Cleaning

Setelah proses cleaning selesai, maka akan sistem akan menampilkan data

hasil cleaning tersebut melalui tabel cleaning pada Form Perhitungan Apriori –

Page 104: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

80

Data Hasil Preprosesing dan Cleaning seperti disajikan pada Gambar 4.12. Untuk

melanjutkan ke proses pencarian pola asosiasi, user menekan tombol lanjut.

Maka sistem akan menampilkan Form Perhitungan Apriori – Pencarian Asosiasi

seperti disajikan pada Gambar 4.13. dibawah.

5.3.2 Form Perhitungan Apriori – Pencarian Pola Asosiasi Barang

Gambar 4.13. Form Perhitungan Apriori – Pencarian Pola Asosiasi Barang

Setelah diperoleh data cleaning, maka langkah selanjutnya adalah

pencarian pola asosiasi barang. Gambar 4.13. diatas merupakan tampilan pada

proses pencarian pola asosiasi barang. Dalam form ini terdapat beberapa langkah

yang harus dilakukan oleh user.

Page 105: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

81

Langkah pertama adalah memasukkan nilai minimum support (minsup)

dan minimum confidence (minconf). Setelah ditentukan nilai minsup dan minconf

langkah kedua adalah mencari asosiasi barang. Pada langkah ini terdapat 2 proses,

yaitu :

1. Membentuk kandidat itemset

Pembentukan kandidat itemset dilakukan dengan membuat kombinasi-

kombinasi barang yang terdapat didalam data cleaning dan menghitung nilai

supportnya melalui query database secara bertahap dengan menaikan jumlah

kombinasi dan seleksi berdasarkan nilai support. Pada tahap pertama, kandidat

1-itemset (kombinasi 1 barang) dibentuk, dihitung nilai supportnya, dan

disimpan ke dalam tabel C . Kemudian dilakukan proses pengecekan terhadap

kandidat tersebut. Jika diantara kandidat tersebut terdapat kandidat yang

mempunyai nilai support lebih besar dari minsup, maka proses pembentukan

kandidat dilanjutkan ke tahap selanjutnya dan kandidat yang mempunyai nilai

lebih besar atau sama dengan nilai minsup tersebut dimasukan ke dalam tabel

L. Jika diantara kandidat 1-itemset tersebut tidak terdapat kandidat yang

mempunyai nilai support lebih besar atau sama dengan nilai minsup, maka

proses pencarian akan dihentikan.

Adapun penerapan rumus nilai support yang telah di jelaskan pada BAB

II Landasan Teori, Rumus 2.1. Nilai Support BA⇒ adalah dengan membagi

jumlah kemunculan kombinasi barang dengan total transaksi. Sedangkan

implementasi pada kode program adalah sebagai berikut.

Page 106: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

82

public void createCandidate(){ koneksi.cekDriver(); koneksi conect = new koneksi(); try{ conect.cekKoneksi(); conect.con.createStatement(); CariRule cari = new CariRule(); PreparedStatement statCL = conect.con.prepareStatement(cari.callCL); statCL.executeUpdate(); Double supp = Double.parseDouble(sama.getText()); PreparedStatement cariC = conect.con.prepareStatement(cari.QueryC1); cariC.setInt(1, Integer.parseInt(field_total.getTex t())); cariC.executeUpdate(); String SyaratL1 ="select subset,round(support,2), b arang1 from candidate where support >='"+supp+"' and subset=1"; ResultSet r1 = conect.st.executeQuery(SyaratL1); r1.last(); int b1 = r1.getRow(); r1.beforeFirst(); if(b1!=0){ PreparedStatement cariL = conect.con.prepareStatement(cari.QueryL1); cariL.setDouble(1, Double.parseDouble(sama.getText( ))); cariL.executeUpdate(); PreparedStatement crC = conect.con.prepareStatement (cari.AlterC1); crC.executeUpdate(); PreparedStatement cariC1 = conect.con.prepareStatement(cari.QueryC2); cariC1.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC1.executeUpdate(); String SyaratL2 = "select subset,round(support,2), barang1,barang2 from candidate where support >='"+supp+"' and subse t=2"; ResultSet r2 = conect.st.executeQuery(SyaratL2); r2.last(); int b2 = r2.getRow(); r2.beforeFirst(); if(b2!=0){ PreparedStatement crL = conect.con.prepareStatement (cari.AlterL1); crL.executeUpdate(); PreparedStatement cariL1 = conect.con.prepareStatement(cari.QueryL2); cariL1.setDouble(1, Double.parseDouble(sama.getText ())); cariL1.executeUpdate(); PreparedStatement crC1 = conect.con.prepareStatement(cari.AlterC2); crC1.executeUpdate(); PreparedStatement cariC2 = conect.con.prepareStatement(cari.QueryC3); cariC2.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC2.executeUpdate(); String SyaratL3 = "select subset,round(support,2), barang1,

Page 107: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

83

barang2, barang3 from candidate where support >='"+supp+"' a nd subset=3"; ResultSet r3 = conect.st.executeQuery(SyaratL3); r3.last(); int b3 = r3.getRow(); r3.beforeFirst(); if(b3!=0){ PreparedStatement crL1 = conect.con.prepareStatement(cari.AlterL2); crL1.executeUpdate(); PreparedStatement cariL2 = conect.con.prepareStatement(cari.QueryL3); cariL2.setDouble(1, Double.parseDouble(sama.getText ())); cariL2.executeUpdate(); PreparedStatement crC2 = conect.con.prepareStatement(cari.AlterC3); crC2.executeUpdate(); PreparedStatement cariC3 = conect.con.prepareStatement(cari.QueryC4); cariC3.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC3.executeUpdate(); String SyaratL4 = "select subset,round(support,2), barang1,barang2,barang3,barang4 from candidate wher e support >='"+supp+"' and subset=4"; ResultSet r4 = conect.st.executeQuery(SyaratL4); r4.last(); int b4 = r4.getRow(); r4.beforeFirst(); if(b4!=0){ PreparedStatement crL2 = conect.con.prepareStatement(cari.AlterL3); crL2.executeUpdate(); PreparedStatement cariL3 = conect.con.prepareStatement(cari.QueryL4); cariL3.setDouble(1, Double.parseDouble(sama.getText ())); cariL3.executeUpdate(); PreparedStatement crC3 = conect.con.prepareStatement(cari.AlterC4); crC3.executeUpdate(); PreparedStatement cariC4 = conect.con.prepareStatement(cari.QueryC5); cariC4.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC4.executeUpdate(); String SyaratL5 = "select subset,round(support,2), barang1, barang2, barang3, barang4, barang5 from candidate where support >='"+supp+"' and subset=5"; ResultSet r5 = conect.st.executeQuery(SyaratL5); r5.last(); int b5 = r5.getRow(); r5.beforeFirst(); if(b5!=0){ PreparedStatement crL3 = conect.con.prepareStatement(cari.AlterL4);

Page 108: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

84

crL3.executeUpdate(); PreparedStatement cariL4 = conect.con.prepareStatement(cari.QueryL5); cariL4.setDouble(1, Double.parseDouble(sama.getText ())); cariL4.executeUpdate(); PreparedStatement crC4 = conect.con.prepareStatement(cari.AlterC5); crC4.executeUpdate(); PreparedStatement cariC5 = conect.con.prepareStatement(cari.QueryC6); cariC5.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC5.executeUpdate(); String SyaratL6 = "select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6 fro m candidate where support >='"+supp+"' and subset=6"; ResultSet r6 = conect.st.executeQuery(SyaratL6); r6.last(); int b6 = r6.getRow(); r6.beforeFirst(); if(b6!=0){ PreparedStatement crL4 = conect.con.prepareStatement(cari.AlterL5); crL4.executeUpdate(); PreparedStatement cariL5 = conect.con.prepareStatement(cari.QueryL6); cariL5.setDouble(1, Double.parseDouble(sama.getText ())); cariL5.executeUpdate(); PreparedStatement crC5 = conect.con.prepareStatement(cari.AlterC6); crC5.executeUpdate(); PreparedStatement cariC6 = conect.con.prepareStatement(cari.QueryC7); cariC5.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC5.executeUpdate(); String SyaratL7 = "select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6,bar ang7 from candidate where support >='"+supp+"' and subset=7"; ResultSet r7 = conect.st.executeQuery(SyaratL7); r7.last(); int b7 = r7.getRow(); r7.beforeFirst(); if(b7!=0){ PreparedStatement crL5 = conect.con.prepareStatement(cari.AlterL6); crL5.executeUpdate(); PreparedStatement cariL6 = conect.con.prepareStatement(cari.QueryL7); cariL6.setDouble(1, Double.parseDouble(sama.getText ())); cariL6.executeUpdate(); PreparedStatement crL6 = conect.con.prepareStatement(cari.AlterL7); crL6.executeUpdate(); PreparedStatement cariC7 = conect.con.prepareStatement(cari.QueryC8);

Page 109: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

85

cariC7.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC7.executeUpdate(); String SyaratL8 = "select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6,bar ang7,barang8 from candidate where support >='"+supp+"' and subse t=8"; ResultSet r8 = conect.st.executeQuery(SyaratL8); r8.last(); int b8 = r8.getRow(); r8.beforeFirst(); if(b8!=0){ PreparedStatement crC6 = conect.con.prepareStatement(cari.AlterC7); crC6.executeUpdate(); PreparedStat ement cariL7 = conect.con.prepareStatement(cari.QueryL8); cariL7.setDouble(1, Double.parseDouble(sama.getText ())); cariL7.executeUpdate(); PreparedStatement crC7 = conect.con.prepareStatement(cari.AlterC8); crC7.executeUpdate(); PreparedStatement cariC8 = conect.con.prepareStatement(cari.QueryC9); cariC8.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC8.executeUpdate(); String SyaratL9 = "select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6,bar ang7,barang8,barang9 from candidate where support >='"+supp+"' and subset=9"; ResultSet r9 = conect.st.executeQuery(SyaratL9); r9.last(); int b9 = r9.getRow(); r9.beforeFirst(); if(b9!=0){ PreparedStatement crL7 = conect.con.prepareStatement(cari.AlterL8); crL7.executeUpdate(); PreparedStatement cariL8 = conect.con.prepareStatement(cari.QueryL9); cariL8.setDouble(1, Double.parseDouble(sama.getText ())); cariL8.executeUpdate(); PreparedStatement crC8 = conect.con.prepareStatement(cari.AlterC9); crC8.executeUpdate(); PreparedStatement cariC9 = conect.con.prepareStatement(cari.QueryC10); cariC9.setInt(1, Integer.parseInt(field_total.getTe xt())); cariC9.executeUpdate(); String SyaratL10 = "select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6,bar ang7,barang8,barang9,barang10 from candidate where support >='"+su pp+"' and subset=10"; ResultSet r10 = conect.st.executeQuery(SyaratL10); r10.last(); int b10 = r10.getRow(); r10.beforeFirst();

Page 110: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

86

if(b10!=0){ PreparedStatement crL8 = conect.con.prepareStatement(cari.AlterL9); crL8.executeUpdate(); PreparedStatement cariL9 = conect.con.prepareStatement(cari.QueryL10); cariL9.setDouble(1, Double.parseDouble(sama.getText ())); cariL9.executeUpdate(); }else{ cariRule1(); }//untuk b10 }else{ cariRule1(); }//untuk b9 }el se{ cariRule1(); }// untuk b8 }else{ car iRule1(); }//unut k b7 }else{ cariRul e1(); }//untuk b6 }else{ cariRule1(); }//untuk b5 }else{ cariRule1(); }//untuk b4 }else{ cariRule1(); }//untuk b3 }else{ cariRule1(); }//untuk b2 }else{ internalframe.setVisible(false); String editWaktu = "call waktueksek usiakhir()"; PreparedStatement stt = conect.con.prepareStatement(editWaktu); stt.executeUpdate(); String hitungTotal = "select TIMEDIFF(ts2,ts1) as totaltime from t1"; ResultSet rst = conect.st.executeQuery(hitungTotal); if(rst.next()){ String total = rst.getString(" totaltime"); lbltime.setText(total); System.out.print(total); } JOptionPane.showMessageDialog(this, "Proses pencarian selesai","Pesan!",JOptionPane.INFORMATION _MESSAGE); JOptionPane.showMessageDialog(this, "Tabel

Page 111: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

87

LargeItem(L) Kosong!\ nTidak Diperoleh Hasil","Pesan!",JOptionPane.ERROR_MESSAGE); setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT _CURSOR)); pembanding.setText(""); minsup.setText(""); field_total.setText(""); field_banding.setText(""); sama.setText(""); minconf.setText(""); jmlrule.setText(""); Kosong(); this.minsup.grabFocus(); minsup.setEnabled(true); field_banding.setEnabled(true); hitung.setEnabled(true); btn_clear.setEnabled(true); btn_back.setEnabled(true); btn_logout2.setEnabled(true); btn_menu2.setEnabled(true); rule.setEnabled(false); this.rekomendasi.setEnabled(false); this.cetak.setEnabled(false); this.jchart.setEnabled(false); this.jchart1.setEnabled(false); } conect.st.close(); conect.con.close(); }catch(SQLException e){ } }

Kode program diatas merupakan method createCandidate() yang berfungsi

membentuk candidate itemset Ck sampai dengan 10 kombinasi barang atau C10.

Mekanismenya adalah query database yang menghasilkan nilai support dan

kombinasi barang yang disimpan ke dalam tabel candidate. Adapun querynya

terletak pada kelas cariRule seperti pada listing program dibawah ini.

public String callCL = "call dropcreateCL()"; public String deleteL = "delete from largeitems et"; public String QueryC1 = "insert into candidate (select 1,round(count(*)/?,2) as support,nama_barang from c leaning group by nama_barang)"; public String QueryC2 = "insert into candidate (select 2,round(count(*)/?,2) as support,b1.nama_barang as

Page 112: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

88

barang1,b2.nama_barang as barang2 " + "from cleaning b1, cleaning b2 where b1.nama_barang<b2.nama_barang " + "and b1.id_nota=b2.id_nota group by b1.nama_barang,b2.nama_barang)"; public String QueryC3 = "insert into candidate (select 3,round(count(*)/?,2) as support,b1.nama_barang as barang1,b2.nama_barang as barang2, b3.nama_barang a s barang3 " + "from cleaning b1, cleaning b2, cleaning b 3 where b1.nama_barang < b2.nama_barang and b2.nama_barang < b3.nama_barang " + "and b1.id_nota=b2.id_nota and b1.id_no ta=b3.id_nota " + "and b2.id_nota=b3.id_nota group by b1.nama_barang,b2.nama_barang,b3.nama_barang)"; public String QueryC4 = "insert into candidate (select 4,round(count(*)/?,2) as support,b1.nama_barang as barang1,b2.nama_barang as barang2, b3.nama_barang a s barang3, b4.nama_barang as barang4 " + "f rom cleaning b1, cleaning b2, cleaning b3, cleaning b4 where b1.nama_barang < b2.nama_barang and b2.nam a_barang < b3.nama_barang and b3.nama_barang < b4.nama_barang " + "and b1.id_nota=b2.id_nota and b1.id_no ta=b3.id_nota and b1.id_nota=b4.id_nota " + "and b2.id_nota=b3.id_nota and b2.id_no ta=b4.id_nota " + "and b3.id_nota=b4.id_nota group by b1.nama_barang,b2.nama_barang,b3.nama_barang,b4.nam a_barang)"; public String QueryC5 = "insert into candidate (select 5,round( count(*)/?,2) as support,b1.nama_barang as barang1,b2.nama_barang as barang2, b3.nama_barang a s barang3, b4.nama_barang as barang4, b5.nama_barang as barang 5 " + "from cleaning b1, cleaning b2, cleanin g b3, cleaning b4, cleaning b5 where b1.nam a_barang < b2.nama_barang and b2.nama_barang < b3.nama_barang and b3.nama_barang < b4.nama_barang and b4.nama_barang < b5.nama_barang " + "and b1.id_nota=b2.id_nota and b1.id_no ta=b3.id_nota and b1.id_nota=b4.id_nota and b1.id_nota=b5.id_nota " + "and b2.id_nota=b3.id_nota and b2.id_no ta=b4.id_nota and b2.id_nota=b5.id_nota " + "and b3.id_nota=b4.id_nota and b3.id_no ta=b5.id_nota " + "and b4.id_nota=b5.id_nota group by b1.nama_barang,b2.nama_barang,b3.nama_barang,b4.nam a_barang,b5.nama_barang)"; public String QueryC6 = "insert into candidate (select 6,round(count(*)/?,2) as support,b1.nama_barang as barang1,b2.nama_barang as barang2, b3.nama_barang a s barang3, b4.nama_barang as barang4, b5.nama_bar ang as barang5, b6.nama_barang as barang6 " + "from cleaning b1, cleaning b2, cleanin g b3, cleaning b4, cleaning b5, cleaning b6 where b1.nama_barang < b2.nama_barang

Page 113: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

89

and b2.nama_barang < b3.nama_barang and b3.nama_bar ang < b4.nama_barang and b4.nama_barang < b5.nama_barang and b5.nama_barang < b6.nama_barang " + "and b1.id_nota=b2.id_nota and b1.id_no ta=b3.id_nota and b1.id_nota=b4.id_nota and b1.id_nota=b5.id_nota and b1.id_nota=b6.id_nota " + "and b2.id_nota=b3.id_not a and b2.id_nota=b4.id_nota and b2.id_nota=b5.id_nota and b2.id_nota=b6.id_nota " + "and b3.id_nota=b4.id_nota and b3.id_no ta=b5.id_nota and b3.id_nota=b6.id_nota " + "and b4.id_nota=b5.id_nota and b4.id_no ta=b6.id_nota " + "and b5.id_nota=b6.id_nota group by b1.nama_barang,b2.nama_barang,b3.nama_barang,b4.nam a_barang,b5.nama_barang,b6.nama_barang)"; public String QueryC7 = "insert into candidate (select 7,round(count(*)/?,2) as support,b1.nama_barang as barang1,b2.n ama_barang as barang2, b3.nama_barang as barang3, b4.nama_barang as barang4, b5.nama_barang as barang 5, b6.nama_barang as barang6, b7.nama_barang as barang 7 " + "from cleaning b1, cleaning b2, cleanin g b3, cleaning b4, cleaning b5, cleaning b6, cleaning b7 where b1.nama_barang < b2.nama_barang and b2.nama_barang < b3.nama_barang and b3.nama_barang < b4.nama_barang and b4.nama_barang < b5.nama_barang and b5.nama_barang < b6.nama_barang and b6.nama_barang < b7.nama_barang " + "and b1. id_nota=b2.id_nota and b1.id_nota=b3.id_nota and b1.id_nota=b4.id_nota and b1.id_nota=b5.id_nota and b1.id_nota=b6.id_nota and b1.id_nota=b7.id_nota " + "and b2.id_nota=b3.id_nota and b2.id_no ta=b4.id_nota and b2.id_nota=b5.id_nota and b2.id_no ta=b6.id_nota and b2.id_nota=b7.id_nota " + "and b3.id_nota=b4.id_nota and b3.id_no ta=b5.id_nota and b3.id_nota=b6.id_nota and b3.id_nota=b7.id_nota " + "and b4.id_nota=b5.id_nota and b4.id_no ta=b6.id_nota and b4.id_nota=b7.id_nota " + "and b5.id_nota=b6.id_nota and b5.id_no ta=b7.id_nota " + "and b6.id_nota=b7.id_nota " + "group by b1.nama_barang,b2.nama_barang,b3.nama_barang,b4.nam a_barang,b5.nama_barang,b6.nama_barang,b7.nama_barang)"; public String QueryC8 = "insert into candidate (select 8,round(count(*)/?,2) as support,b1.nama_barang as barang1,b2.nama_barang as barang2, b3.nama_barang a s barang3, b4.nama_barang as barang4, b5.nama_barang as barang 5, b6.nama_barang as barang6, b7.nama_bara ng as barang7, b8.nama_barang " + "from cleaning b1, cleaning b2, cleanin g b3, cleaning b4, cleaning b5, cleaning b6, cleaning b7, cleaning b8 where b1.nama_barang < b2.nama_barang and b2.nama_barang < b3.nama_barang and b3.nama_barang < b4.nam a_barang and b4.nama_barang < b5.nama_barang and b5.nama_barang < b6.nama_barang and b6.nama_barang < b7.nama_barang and

Page 114: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

90

b7.nama_barang < b8.nama_barang " + "and b1.id_nota=b2.id_nota and b1.id_no ta=b3.id_nota and b1.id_nota=b4.id_nota and b1.i d_nota=b5.id_nota and b1.id_nota=b6.id_nota and b1.id_nota=b7.id_nota and b1.id_nota=b8.id_nota " + "and b2.id_nota=b3.id_nota and b2.id_no ta=b4.id_nota and b2.id_nota=b5.id_nota and b2.id_nota=b6.id_nota and b2.id_nota=b7.id_nota and b2.id_nota=b8.id_nota " + "and b3.id_nota=b4.id_nota and b3.id_no ta=b5.id_nota and b3.id_nota=b6.id_nota and b3.id_nota=b7.id_nota and b3.id_nota=b8.id_nota " + "and b4.id_nota=b5.id_nota and b4.id_no ta=b6.id_nota and b4.id_nota=b7.id_nota and b4.id_nota=b8.id_nota " + "and b5.id_nota=b6.id_nota and b5.id_no ta=b7.id_nota and b5.id_nota=b8.id_nota " + "and b6.id_nota=b7.id_nota and b6.id_no ta=b8.id_nota " + "and b7.id_nota=b8.id_nota " + "group by b1.nama_barang,b2.nama_barang,b3.nama_barang,b4.nam a_barang,b5.nama_barang,b6.nama_barang,b7.nama_barang,b8.nama_bara ng)"; public String QueryC9 = "insert into candidate (select 9,round(count(*)/?,2) as support,b1.nama_barang as barang1,b2.nama_bara ng as barang2, b3.nama_barang as barang3, b4.nama_barang as barang4, b5.nama_barang as barang 5, b6.nama_barang as barang6, b7.nama_barang as barang 7, b8.nama_barang, b9.nama_barang " + "from cleaning b1, cleaning b2, cleanin g b3, cleaning b4, c leaning b5, cleaning b6, cleaning b7, cleaning b8, cleaning b9 where b1.nama_barang < b2.nama_barang and b2.nam a_barang < b3.nama_barang and b3.nama_barang < b4.nama_barang and b4.nama_barang < b5.nama_barang and b5.nama_barang < b6.nama_barang and b6.nama _barang < b7.nama_barang and b7.nama_barang < b8.nama_barang and b8.nama_barang < b9.nama_barang " + "and b1.id_nota=b2.id_nota and b1.id_no ta=b3.id_nota and b1.id_nota=b4.id_nota and b1.id_nota=b5.id_nota and b1.id_nota=b6.id_nota and b1.id_no ta=b7.id_nota and b1.id_nota=b8.id_nota and b1.id_nota=b9.id_nota " + "and b2.id_nota=b3.id_nota and b2.id_no ta=b4.id_nota and b2.id_nota=b5.id_nota and b2.id_nota=b6.id_nota and b2.id_nota=b7.id_nota and b2.id_nota=b8.id_nota and b2.id_nota=b9.id_nota " + "and b3.id_nota=b4.id_nota and b3.id_no ta=b5.id_nota and b3.id_nota=b6.id_nota and b3.id_nota=b7.id_nota and b3.id_nota=b8.id_nota and b3.id_nota=b9.id_nota " + "and b4.id_nota=b5.id_nota and b4.id_no ta=b6.id_nota and b 4.id_nota=b7.id_nota and b4.id_nota=b8.id_nota and b4.id_nota=b9.id_nota " + "and b5.id_nota=b6.id_nota and b5.id_no ta=b7.id_nota and b5.id_nota=b8.id_nota and b5.id_nota=b9.id_nota " + "and b6.id_nota=b7.id_nota and b6.id_no ta=b8.i d_nota and b6.id_nota=b9.id_nota " + "and b7.id_nota=b8.id_nota and b7.id_no ta=b9.id_nota " +

Page 115: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

91

"and b8.id_nota=b9.id_nota " + "group by b1.nama_barang,b2.nama_barang,b3.nama_barang,b4.nam a_barang,b5.nama_barang,b6.nama_barang,b7.nama_barang,b8.nama_bara ng,b9.nama_barang)"; public String QueryC10 = "insert into candidate (select 10,round(count(*)/?,2) as support,b1.nama_barang as barang1,b2.nama_barang as barang2, b3.nama_barang a s barang3, b4.nama_barang as barang4, b 5.nama_barang as barang5, b6.nama_barang as barang6, b7.nama_barang as barang 7, b8.nama_barang, b9.nama_barang, b10.nama_barang " + "from cleaning b1, cleaning b2, cleanin g b3, cleaning b4, cleaning b5, cleaning b6, cleaning b7, cleaning b8, cl eaning b9, cleaning b10 where b1.nama_barang < b2.nama_bar ang and b2.nama_barang < b3.nama_barang and b3.nama_barang < b4.nama_barang and b4.nama_barang < b5.nama_barang and b5.nama_barang < b6.nama_barang and b6.nama_barang < b7.nama_barang and b7.nama_ba rang < b8.nama_barang and b8.nama_barang < b9.nama_barang and b9.nama_barang < b10.nama_barang " + "and b1.id_nota=b2.id_nota and b1.id_no ta=b3.id_nota and b1.id_nota=b4.id_nota and b1.id_nota=b5.id_nota and b1.id_nota=b6.id_nota and b1.id_nota =b7.id_nota and b1.id_nota=b8.id_nota and b1.id_nota=b9.id_nota and b1.id_nota=b10.id_nota " + "and b2.id_nota=b3.id_nota and b2.id_no ta=b4.id_nota and b2.id_nota=b5.id_nota and b2.id_nota=b6.id_nota and b2.id_nota=b7.id_nota and b2.id_nota=b8. id_nota and b2.id_nota=b9.id_nota and b2.id_nota=b10.id_nota " + "and b3.id_nota=b4.id_nota and b3.id_no ta=b5.id_nota and b3.id_nota=b6.id_nota and b3.id_nota=b7.id_nota and b3.id_nota=b8.id_nota and b3.id_nota=b9.id_nota and b3.id_nota=b10.id_nota " + "and b4.id_nota=b5.id_nota and b4.id_no ta=b6.id_nota and b4.id_nota=b7.id_nota and b4.id_nota=b8.id_nota and b4.id_nota=b9.id_nota and b4.id_nota=b10.id_nota " + "and b5.id_nota=b6.id_nota and b5.id_no ta=b7.id_nota and b5.i d_nota=b8.id_nota and b5.id_nota=b9.id_nota and b5.id_nota=b10.id_nota " + "and b6.id_nota=b7.id_nota and b6.id_no ta=b8.id_nota and b6.id_nota=b9.id_nota and b6.id_nota=b10.id_not a " + "and b7.id_nota=b8.id_nota and b7.id_no ta=b9.id _nota and b7.id_nota=b10.id_nota " + "and b8.id_nota=b9.id_nota and b8.id_no ta=b10.id_nota " + "and b9.id_nota=b10.id_nota " + "group by b1.nama_barang,b2.nama_barang,b3.nama_barang,b4.nam a_barang,b5.nama_barang,b6.nama_barang,b7.nama_barang,b8.nama_bara ng,b9.nama_barang,b10.nama_barang)"; public String QueryL1 = "insert into largeitemset (select subset,round(support,2), barang1 from candidate whe re support >=? and subset=1)"; public String QueryL2 = "insert into largeitemset (select

Page 116: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

92

subset,round(support,2), barang1,barang2 from candi date where support >=? and subset=2)"; public String QueryL3 = "insert into largeitemset (select subset,round(support,2), barang1,barang2,barang3 fr om candidate where support >=? and subset=3)"; public String QueryL4 = "insert into largeitemset (select subset,round(support,2), barang1,barang2,barang3,ba rang4 from candidate where support >=? and subset=4)"; public String QueryL5 = "insert into largeitemset (select subset ,round(support,2), barang1,barang2,barang3,barang4, barang5 from candidate where support >=? and subset=5)"; public String QueryL6 = "insert into largeitemset (select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6 fro m candidat e where support >=? and subset=6)"; public String QueryL7 = "insert into largeitemset (select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6,bar ang7 from candidate where support >=? and subset=7)"; public String QueryL8 = "insert into largeitemset (select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6,bar ang7,barang8 from candidate where support >=? and subset=8)"; public String QueryL9 = "insert into largeitemset (select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6,bar ang7,barang8,barang9 from candidate where support >=? and subset=9 )"; public String QueryL10 = "insert into largeitemset (select subset,round(support,2), barang1,barang2,barang3,barang4,barang5,barang6,bar ang7,barang8,barang9,barang10 from candidate where support >=? and subset=10)"; public String AlterC1 = "alter table candidate add(barang2 varchar(100))"; public String AlterL1 = "alter table largeitemset add(barang2 varchar(100))"; public String AlterC2 = "alter table candidate add(barang3 varchar(100))"; public String AlterL2 = "alter table largeitemset add(barang3 varchar(100))"; public String AlterC3 = "alter table candidate add(barang4 varchar(100))"; public String AlterL3 = "alter table largeitemset add(barang4 varchar(100))"; public String AlterC4 = "alter table candidate add(barang5 varchar(100))"; public String AlterL4 = "alter table largeitemset add(barang5 varchar(100))"; public String AlterC5 = "alt er table candidate add(barang6 varchar(100))"; public String AlterL5 = "alter table largeitemset add(barang6 varchar(100))"; public String AlterC6 = "alter table candidate add(barang7 varchar(100))"; public String AlterL6 = "alter table largeit emset add(barang7 varchar(100))";

Page 117: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

93

public String AlterC7 = "alter table candidate add(barang8 varchar(100))"; public String AlterL7 = "alter table largeitemset add(barang8 varchar(100))"; public String AlterC8 = "alter table candidate add(barang 9 varchar(100))"; public String AlterL8 = "alter table largeitemset add(barang9 varchar(100))"; public String AlterC9 = "alter table candidate add(barang10 varchar(100))"; public String AlterL9 = "alter table largeitemset add(barang10 varchar(100))";

2. Membentuk asosiasi barang yang diperoleh dari kandidat itemset yang

mempunyai subset tertinggi. Penerapan Rumus 2.2 Nilai Confidence )( BA⇒

adalah membagi nilai support dari kombinasi A dan B dengan nilai support

dari A. Maka akan diperoleh nilai confidence dari asosiasi BA⇒ .

Implementasi pada kode program adalah sebagai berikut.

public void cariRule1(){ double mins = Double.parseDouble(minconf.ge tText()); koneksi.cekDriver(); koneksi conect = new koneksi(); try{ conect.cekKoneksi(); conect.con.createStatement(); String carirule = "call pencarianru le()"; PreparedStatement stat = conect.con.prepareStatement(carirule); stat.executeUpdate(); String MaxColumn = "select * from c arirule"; ResultSet rs = conect.st.executeQue ry(MaxColumn); ResultSetMetaData rsmd = rs.getMeta Data(); int k = rsmd.getColumnCount(); //penentuan pemanggilan procedure b erdasarkan nilai k : jumlah kolom pd carirule int c = k-4; rs.last(); int b = rs.getRow(); rs.beforeFirst(); if(b!=0){ if(rs.next()){ for(int i=0;i<=c;i++){ if (i==1){ String cari = "call cariasosias i1()"; PreparedStatement st = conect.con.prepareStatement(cari);

Page 118: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

94

st.executeUpdate(); System.out.print(k); }else if(i==2){ String cari = "call cariasosias i2()"; PreparedStatement st = conect.con.prepareStatement(cari); st.executeUpdate(); System.out.print(k); }else if(i==3){ String cari = "call cariasosias i3()"; PreparedStatement st = conect.con.prepareStatement(cari); st.executeUpdate(); System.out.print(k); }else if(i==4){ String cari = "call cariasosias i4()"; PreparedStatement st = conect.con.prepareStatement(cari); st.executeUpdate(); System.out.print(k); }else if(i==5){ String cari = "call cariasosias i5()"; PreparedStatement st = conect.con.prepareStatement(cari); st.executeUpdate(); System.out.print(k); }else if(i==6){ String cari = "call cariasosias i6()"; PreparedStatement st = conect.con.prepareStatement(cari); st.executeUpdate(); System.out.print(k); }else if(i==7){ String cari = "call cariasosias i7()"; PreparedStatement st = conect.con.prepareStatement(cari); st.executeUpdate(); System.out.print(k); }else if(i==8){ String cari = "call cariasosias i8()"; PreparedStatement st = conect.con.prepareStatement(cari); st.executeUpdate(); System.out.print(k); }else if(i==9){ String cari = "call cariasosias i9()"; PreparedStatement st = conect.con.prepareStatement(cari); st.executeUpdate(); System.out.print(k); } }} String editWaktu = "call waktueksek usiakhir()"; PreparedStatement stt = conect.con.prepareStatement(editWaktu); stt.executeUpdate();

Page 119: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

95

String hitungTotal = "select TIMEDI FF(ts2,ts1) as totaltime from t1"; ResultSet rst = conect.st.executeQuery(hitungTotal); if(rst.next()){ String total = rst.getString(" totaltime"); lbltime.setText(total); System.out.print(total); } internalframe.setVisible(false); JOptionPane.showMessageDialog(this, "Proses pencarian selesai","Pesan!",JOptionPane.INFORMATION _MESSAGE); tabel(); minsup.setEnabled(true); field_banding.setEnabled(true); hitung.setEnabled(true); btn_clear.setEnabled(true); btn_back.setEnabled(true); btn_logout2.setEnabled(true); btn_menu2.setEnabled(true); }else{ Kosong(); } conect.st.close(); conect.con.close(); }catch(SQLException ex){ //ex.printStackTrace(); //JOptionPane.showMessageDialog(this,"err or karena "+ex); } }

Listing program diatas merupakan method cariRule1() yang berfungsi

untuk membentuk asosiasi barang. Adapun mekanismenya adalah mengambil

large itemset yang memiliki kombinasi tertinggi. Kemudian dari large itemset

tersebut dilakukan pengecekan berapa banyak kombinasi dari large itemset

tersebut dan dibentuk asosiasi barang dengan pemanggilan melalui store

procedure berdasarkan nilai jumlah kombinasi pengecekan large itemset. Listing

program berikut merupakan store procedure untuk kombinasi 4 barang dari large

itemset. Untuk kombinasi lain digunakan store procedure yang sesuai dengan

nilai jumlah kombinasi large itemset yang diperoleh.

Page 120: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

96

DELIMITER $$; DROP PROCEDURE IF EXISTS `apriori`.`cariasosiasi3`$ $ CREATE DEFINER=`root`@`localhost` PROCEDURE `carias osiasi3`() BEGIN declare c int; declare i int; declare ct int; select count(id) into c from carirule; set ct = c; set i=1; loop1: while i<=ct do insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=2 and barang1=(select bar ang1 from carirule where id=i) and barang2=(select barang4 fr om carirule where id=i)) as support,round((select supp ort from largeitemset where subset=2 and barang1=(select barang1 from car irule where id=i) and barang2=(select barang4 from carirule whe re id=i))/(select support from largeitemset where subs et=1 and barang1=(select barang1 from carirule where id=i)), 2) as confidence,barang1,barang4 from carirule where id=i ); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=2 and barang1=(select bar ang2 from carirule where id=i) and barang2=(select barang4 fr om carirule where id=i)) as suppor t,round((select support from largeitemset where subset=2 and barang1=(select barang2 from car irule where id=i) and barang2=(select barang4 from carirule whe re id=i))/(select support from largeitemset where subs et=1 and barang1=(select barang2 from carirule where id=i)),2) as confidence,barang2,barang4 from carirule where id=i ); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=2 and barang1=(select bar ang3 from carirule where id=i) and barang2=(select barang4 fr om carirule where id=i)) as support,round((select support from la rgeitemset where subset=2 and barang1=(select barang3 from car irule where id=i) and barang2=(select barang4 from carirule whe re id=i))/(select support from largeitemset where subs et=1 and barang1=(select b arang3 from carirule where id=i)),2) as confidence,barang3,barang4 from carirule where id=i ); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=3 and barang1=(select bar ang1 from carirule where id=i) and barang2=(select bara ng2 from carirule where id=i) and barang3=(select barang4 from cariru le where id=i)) as support,round((select support from largeitemset where subset=3 and barang1=(select barang1 from carirule where id= i) and barang2=(select barang2 from carirule where id= i) and barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subset=2 an d barang1=(select barang1 from carirule where id=i) a nd barang2=(select barang2 from carirule where id=i)), 2) as confidence,concat(barang1,”, “,ba rang2),barang4 from carirule

Page 121: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

97

where id=i); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=3 and barang1=(select bar ang1 from carirule where id=i) and barang2=(select barang3 fr om carirule where id=i) and barang3=(select ba rang4 from carirule where id=i)) as support,round((select support from largeitemset where subset=3 and barang1=(select barang1 from carirule where id= i) and barang2=(select barang3 from carirule where id=i) a nd barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subset=2 an d barang1=(select barang1 from carirule where id=i) a nd barang2=(select barang3 from carirule where id=i)), 2) as confidence,concat(barang1,”, “ ,barang3),barang4 from carirule where id=i); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=3 and barang1=(select bar ang2 from carirule where id=i) and barang2=(select barang3 fr om carirule where id=i) and barang3=(select barang4 from cariru le where id=i)) as support,round((s elect support from largeitemset where subset=3 and barang1=(select barang2 from carirule where id= i) and barang2=(select barang3 from carirule where id=i) a nd barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subse t=2 and barang1=(select barang2 from carirule where id=i) a nd barang2=(select barang3 from carirule where id=i)), 2) as confidence,concat(barang2,”, “ ,barang3),barang4 from carirule where id=i); insert into rule(select ‘’ ,subset,(select support from largei temset where subset=3 and barang1=(select barang1 f rom carirule where id=i) and barang2=(select barang2 fr om carirule where id=i) and barang3=(select barang4 from cariru le where id=i)) as support,round((select support from largeitemset where subset=3 and b arang1=(select barang1 from carirule where id=i) an d barang2=(select barang2 from carirule where id=i) a nd barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subset=2 an d barang1=(select barang2 from carirule where id=i) and barang2=(select barang4 from carirule where id=i)), 2) as confidence,concat(barang2,”, “ ,barang4),barang1 from carirule where id=i); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=3 and barang1=(select bar ang1 fr om carirule where id=i) and barang2=(select barang3 fr om carirule where id=i) and barang3=(select barang4 from cariru le where id=i)) as support,round((select support from largeitemset where subset=3 and barang1=(select barang1 from carirule where id= i) and barang2=(select barang3 from carirule where id=i) a nd barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subset=2 an d barang1=(select barang3 from carirule where id=i) a nd barang2=(select barang4 from carirule wher e id=i)),2) as confidence,concat(barang3,”, “ ,barang4),barang1 from carirule

Page 122: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

98

where id=i); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=3 and barang1=(select bar ang2 from carirule where id=i) and barang2=(select barang3 from carirule where id=i) and barang3=(select barang4 from cariru le where id=i)) as support,round((select support from largeitemset where subset=3 and barang1=(select barang2 from carirule where id= i) and barang2=(select barang3 from carirule where id=i) a nd barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subset=2 an d barang1=(select barang2 from carirule where id=i) a nd barang2=(select barang4 from carirule where id=i)), 2) as confidence,concat(barang2,”, “,barang 4),barang3 from carirule where id=i); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=3 and barang1=(select bar ang2 from carirule where id=i) and barang2=(select barang3 fr om carirule where id=i) and barang3=(select barang 4 from carirule where id=i)) as support,round((select support from largeitemset where subset=3 and barang1=(select barang2 from carirule where id= i) and barang2=(select barang3 from carirule where id=i) a nd barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subset=2 an d barang1=(select barang3 from carirule where id=i) a nd barang2=(select barang4 from carirule where id=i)), 2) as confidence,concat(barang3,”, “ ,barang4),barang2 from carirule where id=i); insert into rule(select ‘’ ,subset,(select support from largeitemset where subset=3 and barang1=(select bar ang1 from carirule where id=i) and barang2=(select barang2 fr om carirule where id=i) and barang3=(select barang4 from cariru le where id=i)) as support,round((selec t support from largeitemset where subset=3 and barang1=(select barang1 from carirule where id= i) and barang2=(select barang2 from carirule where id=i) a nd barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subset=2 and barang1=(select barang1 from carirule where id=i) a nd barang2=(select barang4 from carirule where id=i)), 2) as confidence,concat(barang1,” , ",barang4),barang2 from carirule where id=i); insert into rule(select '',subset,(select support f rom largeitems et where subset=3 and barang1=(select barang1 from carirule where id=i) and barang2=(select barang3 fr om carirule where id=i) and barang3=(select barang4 from cariru le where id=i)) as support,round((select support from largeitemset where subset=3 and baran g1=(select barang1 from carirule where id=i) and barang2=(select barang3 from carirule where id=i) a nd barang3=(select barang4 from carirule where id=i))/ (select support from largeitemset where subset=2 an d barang1=(select barang1 from carirule where id=i ) and barang2=(select barang4 from carirule where id=i)), 2) as confidence,concat(barang1,", ",barang4),barang3 fro m carirule

Page 123: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

99

where id=i); SET i = i + 1; END while loop1; END$$ DELIMITER ;$$

Hasil asosiasi barang disajikan dalam tabel asosiasi pada form. Pada

langkah ketiga dilakukan pembacaan aturan asosiasi yang terbentuk dengan

mengklik baris pada tabel asosiasi dan text area dibawah tabel asosiasi yang akan

menampilkan aturan asosiasinya.

5.3.2 Form Perhitungan Apriori – Menganalisa Aturan Asosiasi

Gambar 4.14. Form Perhitungan Apriori – Menganalisa Aturan Asosiasi

Pada gambar 4.14. diatas merupakan tampilan internal frame yang berisi

tabel-tabel pembentukan asosiasi barang dan contoh rekomendasi dari penerapan

Page 124: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

100

asosiasi yang terbentuk. Admin dapat melihat intenal frame tersebut dengan

menekan tombol DETAIL pada Form Perhitungan Apriori – Pencarian Pola

Asosiasi seperti pada gambar 4.13.

5.3.2 Form Perhitungan Apriori – Pembacaan Grafik Support

Gambar 4.15. Form Perhitungan Apriori – Pembacaan grafik support

Gambar 4.15. diatas merupakan tampilan grafik dari hasil pencarian

asosiasi barang berdasarkan nilai support. Koordinat X mewakili asosiasi barang

dan koordinat Y menjelaskan nilai support dari asosiasi barang pada koordinat X.

Sedangkan chart berwarna merah menunjukkan besarnya nilai support asosiasi

barang.

Page 125: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

101

5.3.2 Form Perhitungan Apriori – Pembacaan Grafik Confidence

Gambar 4.16. Form Perhitungan Apriori – Pembacaan grafik confidence

Gambar 4.16. diatas merupakan tampilan grafik dari hasil pencarian

asosiasi barang berdasarkan nilai confidence. Koordinat X mewakili asosiasi

barang dan koordinat Y menjelaskan nilai confidence dari asosiasi barang pada

koordinat X. Sedangkan chart berwarna merah menunjukkan besarnya nilai

confidence asosiasi barang.

Page 126: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

102

BAB V

ANALISIS HASIL IMPLEMENTASI

5.1 Analisis Pengujian Sistem

Pengujian sistem dilakukan dengan melakukan pencarian pola asosiasi

barang terhadap beberapa data transaksi. Dalam hal ini data transaksi yang diuji

memiliki ukuran yang besar. Maka dari itu diperlukan spesifikasi mesin yang

sesuai dengan kebutuhan sistem.

Pengujian 1

Sumber Data : tabel datatoko

Jumlah Baris : 13494

Jumlah Transaksi : 2623

Jumlah Jenis Barang : 31

Tabel 5.1 Tabel Pengujian 1

Minimum Support 40% 50% 60%

Minimum Confidence 50% 50% 50%

Candidate Itemset 11125 11125 2597

Large Itemset 8 7 4

Asosiasi barang 6 6 1

Waktu 13 menit 1 detik 12 menit 55 detik 3 menit 6 detik

Minimum Support 40% 50% 60%

Minimum Confidence 90% 90% 90%

Candidate Itemset 11125 11125 2597

Large Itemset 8 7 4

Asosiasi barang 5 5 1

Waktu 12 menit 50 detik 12 menit 54 detik 3 menit 4 detik

Page 127: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

103

Pengujian 2

Sumber Data : tabel sistem

Jumlah Baris : 4172

Jumlah Transaksi : 862

Jumlah Jenis Barang : 115

Tabel 5.2 Tabel Pengujian 2

Minimum Support 3% 4% 5%

Minimum Confidence 50% 50% 50%

Candidate Itemset 15203 10151 10151

Large Itemset 103 59 39

Asosiasi barang 18 2 1

Waktu 32 detik 14 detik 13 detik

Minimum Support 3% 4% 5%

Minimum Confidence 90% 90% 90%

Candidate Itemset 15203 tidak diketahui tidak diketahui

Large Itemset 103 tidak diketahui tidak diketahui

Asosiasi barang 7 kosong kosong

Waktu 32 detik 13 detik 13 detik

Page 128: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

104

Pengujian 3

Sumber Data : tabel datatokox

Jumlah Baris : 12227

Jumlah Transaksi : 2613

Jumlah Jenis Barang : 31

Tabel 5.3 Tabel Pengujian 3

Minimum Support 30% 35% 40%

Minimum Confidence 50% 50% 50%

Candidate Itemset 76749 10830 10830

Large Itemset 48 17 8

Asosiasi barang 22 18 6

Waktu 1 jam 38 menit 57

detik 11 menit 14 detik 11 menit 17 detik

Minimum Support 30% 35% 40%

Minimum Confidence 90% 90% 90%

Candidate Itemset 76749 10830 10830

Large Itemset 48 17 8

Asosiasi barang 9 9 3

Waktu 1 jam 39 menit 0

detik 11 menit 16 detik 11 menit 14 detik

Page 129: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

105

Pengujian 4

Sumber Data : tabel datakafe2

Jumlah Baris : 7361

Jumlah Transaksi : 1483

Jumlah Jenis Barang : 115

Tabel 5.4 Tabel Pengujian 4

Minimum Support 20% 30% 40%

Minimum Confidence 50% 50% 50%

Candidate Itemset 17502 10867 10867

Large Itemset 7 4 3

Asosiasi barang 5 1 1

Waktu 1 menit 45 detik 40 detik 39 detik

Minimum Support 20% 30% 40%

Minimum Confidence 90% 90% 90%

Candidate Itemset 17502 tidak diketahui tidak diketahui

Large Itemset 7 tidak diketahui tidak diketahui

Asosiasi barang 2 kosong kosong

Waktu 1 menit 44 detik 40 detik 40 detik

Page 130: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

106

5.2 Analisis Manfaat Sistem

Manfaat yang diperoleh dengan adanya sistem ini adalah sebagai berikut :

1. Admin dapat melakukan pencarian pola asosiasi barang yang terjual

sehingga dapat memperoleh pengetahuan mengenai barang apa saja yang

dibeli konsumen secara bersamaan.

2. Dari pengetahuan tersebut admin dapat melakukan analisa tentang

penjualan barang yang terjadi di swalayan yang hasilnya dapat

direkomendasikan kepada pemilik swalayan untuk pengembangan usaha.

5.3 Kelebihan dan Kekurangan Sistem

5.3.1 Kelebihan Sistem

1. Sistem dapat melakukan pencarian pola asosiasi barang dari data yang

berasal dari database sistem maupun data yang berasal dari luar database

sistem.

2. Sistem menyediakan panduan langkah pencarian pola asosiasi yang

memudahkan user dalam mencari asosiasi penjualan antar barang.

3. Sistem menyediakan informasi tentang pembentukan asosiasi barang

berupa kandidat itemset, large itemset dan asosiasi yang diperoleh dalam

pencarian pola asosiasi barang.

Page 131: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

107

5.3.2 Kekurangan Sistem

1. Sistem sangat sederhana, hanya disesuaikan dengan kebutuhan untuk

menerapkan algoritma Apriori untuk pencarian pola asosiasi penjualan

barang.

2. Pada pengambilan data yang berasal dari luar database sistem masih

terdapat beberapa paket data yang hilang.

Page 132: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

108

BAB VI

PENUTUP

6.1 Kesimpulan

Berdasarkan implementasi dan pengujian sistem yang telah dilakukan, maka

diperoleh beberapa kesimpulan antara lain :

1. Algoritma Apriori dapat diimplementasikan untuk menemukan pola asosiasi

penjualan barang pada data transaksi penjualan.

2. Nilai minimum support (minsup) menjadi parameter yang mempengaruhi

jumlah kandidat yang diperoleh. Semakin kecil nilai minsup maka semakin

banyak kandidat itemset yang diperoleh, sedangkan semakin besar nilai

minsup maka semakin sedikit kandidat itemset yang diperoleh.

3. Nilai minimum confidence (minconf) menjadi parameter yang

mempengaruhi jumlah asosiasi barang yang terbentuk. Semakin kecil nilai

minconf maka semakin banyak asosiasi barang yang diperoleh, sedangkan

semakin besar nilai minconf maka semakin sedikit asosiasi barang yang

diperoleh.

4. Besarnya ukuran data transaksi yang dianalisa, spesifikasi mesin yang

digunakan, nilai minsup dan minconf mempengaruhi waktu pencarian pola

asosiasi barang.

Page 133: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

109

6.2 Saran

Dari sistem yang telah dibuat masih dibutuhkan beberapa saran guna

pengembangan sistem ke arah lebih baik, diantaranya adalah sebagai berikut :

1. Sistem lebih dikembangkan untuk dapat menangani sistem penjualan yang

lebih besar, seperti untuk sistem point of sales yang berbasis client server.

2. Teknik pemrograman yang digunakan lebih diefektifkan. Sebagai contoh

dengan menggunakan store procedure.

Page 134: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

DAFTAR PUSTAKA Fayyad, U. M., G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy, Advances in

Knowledge Discovery and Data Mining. Menlo Park, CA : MIT Press, 1996. http://www2.cs.uregina.ca/~dbd/cs831/notes/kdd/ - akses terakhir tanggal 23 Oktober 2008, 20:35.

Tan, Pang-Ning, Michael Steinbach, Vipin Kumar, Introduction to Data Mining.

Boston : Pearson Addison Wesley, 2006. Han, Jiawei., and Micheline. Kamber, Data Mining : Concepts and Technique.

San Francisco : Morgan Kaufman Publisher, 2001. Witten, Ian H. and Eibe Frank, Data Mining : Practical Machine Learning Tools

and Techniques, 2nd Edition. San Francisco : Morgan Kaufman Publisher, 2005.

Mitra, Sushmita and Tinku Acharya, Data Mining : Multimedia, Soft Computing,

and Bioinformatics. Hoboken, New Jersey : John Wiley and Sons, inc., 2003.

Agrawal, Rakesh 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.

Sudiadiarta, I Gede, Market Basket Analysis Menggunakan Algoritma Frequent

Pattern Growth (FP-Growth) Untuk Situs E-Commerce. Universitas Sanata Dharma Yogyakarta : Skripsi, 2006.

Hartati, G. S., B. Herry. Suharto, M. Susilo Wijono, Pemrograman GUI Swing

Java dengan NetBeans 5. Yogyakarta : Penerbit Andi, 2007. Hermawan, Benny, Menguasai Java 2 dan Object Oriented Programming,

Yogyakarta : Penerbit Andi, 2004.

Page 135: PENERAPAN ALGORITMA APRIORI SKRIPSIrepository.usd.ac.id/32279/2/035314041_Full.pdfPENERAPAN ALGORITMA APRIORI UNTUK PENCARIAN POLA ASOSIASI BARANG PADA DATA TRANSAKSI PENJUALAN (Studi

Daftar alamat website yang dijadikan sumber penulisan : http://infolab.stanford.edu/~ullman/mining/assocrules.pdf. Akses terakhir tanggal 17 Oktober 2008, 23:27. http://fportfolio.petra.ac.id/user_files/00-016/Data Mining Andreas Handojo.pdf. Akses terakhir tanggal 18 Oktober 2008, 23:35. http://dosen.amikom.ac.id/downloads/artikel/Publikasi Apriori-Kusrini Feb-07.pdf Akses terakhir tanggal 20 Oktober 2008, 00:35 http://www2.cs.uregina.ca/~hamilton/courses/831/ Akses terakhir tanggal 5 Mei 2008, 19:20 http://www.koders.com/ Akses terakhir tanggal 28 Agustus 2008, 01:20 http://www.java2s.com/Open-

Source/JavaDocument/Science/weka/weka/associations/ Akses terakhir tanggal 28 Agustus 2008, 01:52 http://www.google.com/