plagiat merupakan tindakan tidak terpuji - core.ac.uk · memanfaatkan data transaksi penjualan. ......

170
i PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH HALAMAN JUDUL SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Disusun Oleh : Elisabet Septyana Eka Enykawati 115314011 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: ledang

Post on 25-Mar-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

i

PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN

UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG

DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH

HALAMAN JUDUL

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Disusun Oleh :

Elisabet Septyana Eka Enykawati

115314011

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

ii

APPLICATION OF DATA MINING IN CLOTHING RETAIL COMPANY

TO PREDICT THE AVAILABILITY OF GOODS USING FP-GROWTH ALGORITHM

JUDUL

A Final Project

Presented as Partial Fullfillment of the Requirements

To Obtain the Sarjana Komputer Degree

In Informatics Engineering Study Program

By :

Elisabet Septyana Eka Enykawati

115314011

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

iii

HALAMAN PERSETUJUAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

iv

HALAMAN PENGESAHAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

v

HALAMAN PERSEMBAHAN

Tuhan Yesus Kristus

Bapak dan Ibu tercinta yang seantiasa memberikan

doa, dukungan semangat dan motivasi

Semua keluarga dan teman – teman tercinta

Almamaterku

Universitas Sanata Dharma Yogyakarta

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

vi

HALAMAN PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya

atau bagian karya orang lain, kecuali yang telah saya sebutkan dalam kutipan dan daftar pustaka,

sebagaimana layaknya karya ilmiah

Yogyakarta, 30 Juli 2015

Penulis

Elisabet Septyana Eka Enykawati

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

vii

ABSTRAK

Saat ini teknologi informasi berkembang sangat pesat. Hal tersebut memberikan dampak yang

besar bagi perkembangan dunia bisnis. Salah satunya adalah perkembangan bisnis di bidang

industri perdagangan. Perusahaan – perusahaaan bersaing untuk menarik perhatian dari

masyarakat dengan memberikan inovasi – inovasi baru. Perusahaan membutuhkan strategi –

strategi khusus untuk dapat menciptakan inovasi baru. Kepuasan konsumen adalah aset utama

bagi perusahaan untuk dapat mengembangkan bisnis terebut. Salah satu kepuasan konsumen di

dapatkan dengan ketersediaan barang yang dicari oleh konsumen.

Prediksi ketersediaan jenis barangdalam perusahaan tersebut dapat dilakukan dengan

memanfaatkan data transaksi penjualan. Pengolahan data transaksi yang tepat dapat digunakan

sebagai acuan dalam menentukan strategi untuk meningkatkan pelayanan konsumen. Dengan

menggunakan teknik pengolahan data mining, data transaksi penjualan akan diolah sehingga

menghasikan informasi yang bermanfaat untuk perusahaan. Teknik pengolahan data mining

terdapat bermacam – macam jenis tergantung dengan kegunaannya. Pada kasus ini, digunakan

pengolahan data mining secara asosiasi. Asosiasi adalah teknik data mining yang bertujuan

untuk menemukan hubungan antara satu item dengan item yang lain. Hubungan antar item

melalui data transaksi dapat dijadikan sebagai prediksi untuk menentukan jenis barang yang

tersedia.

Pada Tugas Akhir ini dibuat sebuah sistem untuk mengimplementasikan salah satu algoritma

yang dapat digunakan untuk mencari hubungan antara item yang ada yaitu algoritma FP-Growth.

Data yang digunakan adalah data transaksi penjualan. Hasil akhir dari proses pengolahan data

penjualan adalah pola asosiasi. Pola asosiasi yang dimaksud adalah hubungan suatu barang

terjual bersamaan dengan barang apa dalam transaksi penjualan. Hasil analisa dari pola tersebut

dapat direkomendasikan kepada pemilik perusahaan sebagai acuan dalam pengambilan

keputusan dalam penyediaan jenis barang untuk meningkatkan penjualan.

Kata kunci :data mining, algoritma asosiasi, FP-Growth.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

viii

ABSTRACT

Today information technology is developing very rapidly. It is a big impact for the development

of the business world. One is the development of business in the field of trade industry.

Companies - firms compete to attract the attention of the public by providing innovations - new

innovations. Companies need a strategy - specific strategies to be able to create new innovations.

Consumer satisfaction is a major asset for the company to able to develop the business.

Consumer satisfaction with the availability of goods obtained in the search by consumers.

Prediction availability of goods can be done by utilizing the company's sales transaction data.

The proper processing of transaction data can be used as a reference in determining a strategy to

improve customer service. By using the processing techniques of data mining, sales transaction

data will be processed so generate useful information for the company. Processing techniques

there are a variety of data mining - maca types depending on its usefulness. In this case, the

processing of data mining used in the association. Association data mining is a technique that

aims to find the relationship between one item to another. Relations between mealui item

transaction data can be used as predictorsavailability of goods.

In this final project created a system to implement one algorithm that can be used to find the

relationship between existing items that FP-Growth algorithm. The data used is the sales

transaction data. The final result of the processing of sales data is a pattern association. Patterns

of association in question is the relationship of goods sold in conjunction with any item in the

sales transaction. Results of analysis of the pattern can be recommended to the owner of the

company as a reference in the decision making in the provision of inventory to increase sales.

Key words : data mining, association algorithm, FP-Growth.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

ix

HALAMAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK

KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma

Nama :Elisabet Septyana Eka Enykawati

Nomor Mahasiswa :115314011

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas

Sanata Dharma karya ilmiah saya yang berjudul:

PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN

UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG

DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada

Perpustakan Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain,

mengelolanya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin

dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya

sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya

Dibuat di Yogyakarta

Pada tanggal : 30 Juli 2015

Elisabet Septyana Eka Enykawati

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

x

KATA PENGANTAR

Puji syukur penulis haturkan kehadirat Tuhan Yang Maha Esa atas rahmat yang

telah dilimpahkan-Nya, atas terselesaikannya Tugas Akhir ini yang berjudul “ PENERAPAN

DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN UNTUK MEMPREDIKSI

KETERSEDIAAN JENIS BARANG DENGAN MENGGUNAKAN ALGORITMA FP-

GROWTH “.

Dalam penyelesaian Tugas Akhir ini, penulis telah mendapatkan bimbingan, bantuan

serta pengarahan-pengarahan dari berbagai pihak sehingga penulis dapat menyelesaikan karya

ilmiah ini dengan baik dan lancar.

Atas terselesainya Tugas Akhir ini penulis mengucapkan terimakasih kepada :

1. Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku Dekan Fakultas Sains dan Teknoogi Universitas

Sanata Dharma Yogyakarta.

2. Ibu Ridowati Gunawan, S.Kom.,M.T. selaku Ketua Program Studi Teknik Informatika

dan dosen pembimbing akademik yang telah memberikan kesabaran, waktu dan

kebaikan.

3. Bapak Henricus Agung Hernawan S.T.,M.Kom. selaku dosen pembimbing akademik,

yang telah memberikan bimbingan dan saran selama penulis menempuh studi

4. Bapak Eko Hari Parmadi, S.Si.,M.Kom. selaku dosen penguji, yang telah memberikan

kritik dan saran kepada penulis.

5. Seluruh dosen yang telah mendidik dan memberikan ilmu pengetahuan berharga selama

penulis belajar di Universitas Sanata Dharma Yogyakarta.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

xi

6. Bapak dan Ibu tercinta yang telah memberikan kasih sayang, perhatian, doa dan

dukungan sehingga penulis dapat menyelesaikan tugas akhir.

7. Kedua adikku Destya dan Lian yang telah memberikan dukungan kepada penulis dalam

menyelesaikan tugas akhir.

8. Nanda yang senantiasa memberikan perhatian, semangat dan motivasi kepada penulis

sehingga dapat menyelesaikan tugas akhir ini.

9. Teman – teman Teknik Informatika khususnya angkatan 2011 atas kebersamaannya

selama 4 tahun ini.

10. Seluruh staff Sekretariat Fakultas Sains dan Teknologi Universitas Sanata Dharma yang

banyak membantu dalam urusan administrasi akademik

11. Seluruh pihak yang telah membantu dalam proses penyelesaian tugas akhir ini.

Penelitian tugas akhir ini masih memiliki banyak kekurangan. Untuk itu, penulis sangat

membutuhkan saran dan kritik untuk perbaikan di masa yang akan datang. Semoga penelitian

tugas akhir ini dapat membawa manfaat bagi semua pihak.

Yogyakarta, 30 Juli 2015

Penulis

Elisabet Septyana Eka Enykawati

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

xii

DAFTAR ISI

HALAMAN JUDUL ..................................................................................................................................... i

HALAMAN PERSETUJUAN ..................................................................................................................... iii

HALAMAN PENGESAHAN...................................................................................................................... iv

HALAMAN PERNYATAAN KEASLIAN KARYA ................................................................................. vi

ABSTRAK .................................................................................................................................................. vii

ABSTRACT ............................................................................................................................................... viii

HALAMAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ................................................................ ix

KATA PENGANTAR .................................................................................................................................. x

DAFTAR ISI ............................................................................................................................................... xii

DAFTAR GAMBAR .................................................................................................................................. xv

DAFTAR TABEL ....................................................................................................................................... xvi

BAB I ............................................................................................................................................................ 1

PENDAHULUAN ........................................................................................................................................ 1

1.1 Latar Belakang .............................................................................................................................. 1

1.2 Rumusan Masalah ......................................................................................................................... 2

1.3 Tujuan Penelitian .......................................................................................................................... 3

1.4 Batasan Masalah ........................................................................................................................... 3

1.5 Metodologi Penelitian ................................................................................................................... 3

1.6 Sistematika Penulisan ................................................................................................................... 5

BAB II ........................................................................................................................................................... 7

TINJAUAN PUSTAKA ............................................................................................................................... 7

2.1 Pengertian Data Mining ................................................................................................................ 7

2.2 Proses Data Mining ....................................................................................................................... 7

2.3 Teknik – Teknik Data Mining ...................................................................................................... 9

2.3.1 Association Rule Mining ....................................................................................................... 9

2.3.2 Classification ........................................................................................................................ 9

2.3.3 Clustering ............................................................................................................................ 10

2.3.4 Outlier Analysis................................................................................................................... 10

2.4 Algoritma Frequent Pattern Growth .......................................................................................... 10

BAB III ....................................................................................................................................................... 20

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

xiii

ANALISIS DAN PERANCANGAN SISTEM .......................................................................................... 20

3.1 Analisis Sistem ............................................................................................................................ 20

3.1.1 Analisis Data Awal ............................................................................................................. 21

3.1.2 Tahap – Tahap KDD ........................................................................................................... 22

3.2 Identifikasi Sistem ............................................................................................................................ 32

3.2.1 Diagram Use Case .............................................................................................................. 32

3.2.2 Narasi Use Case .................................................................................................................. 34

3.3 Perancangan Umum Sistem ........................................................................................................ 38

3.3.1 Masukan Sistem .................................................................................................................. 38

3.3.2 Proses Sistem ...................................................................................................................... 38

3.3.3 Keluaran Sistem .................................................................................................................. 39

3.3.4 Perancangan Struktur Data .................................................................................................. 39

3.2 Perancangan Sistem .................................................................................................................... 40

3.4.1 Diagram Aktivitas ............................................................................................................... 40

3.4.2 Diagram Kelas Analisis ...................................................................................................... 44

3.4.3 Diagram Sequence............................................................................................................... 45

3.4.4 Diagram Kelas Desain ........................................................................................................ 48

3.4.5 Rincian Algoritma Per Method ........................................................................................... 49

3.5 Perancangan Antar Muka Pengguna ........................................................................................... 64

3.5.1 Perancangan Antar Muka Halaman Home .......................................................................... 64

3.5.2 Perancangan Antar Muka Halaman Open ........................................................................... 65

3.5.3 Perancangan Antar Muka Halaman Prepocessing .............................................................. 66

3.5.4 Perancangan Antar Muka Halaman Hasil Proses ................................................................ 67

3.5.5 Perancangan Antar Muka Halaman Bantuan ...................................................................... 68

BAB IV ....................................................................................................................................................... 69

IMPLEMENTASI SISTEM ........................................................................................................................ 69

4.1 Implementasi Antar Muka Pengguna .......................................................................................... 69

4.1.1 Implementasi Antar Muka Halaman_Open ........................................................................ 69

4.1.2 Implementasi Antar Muka Halaman_Prepocessing ............................................................ 74

4.1.3 Implementasi Antar Muka Halaman_HasilProses .............................................................. 77

4.1.4 Implementasi Antar Muka Halaman_Home ....................................................................... 80

4.1.5 Implementasi Antar Muka Halaman_Bantuan .................................................................... 82

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

xiv

4.2 Implementasi Kelas ..................................................................................................................... 83

4.2.1 Implementasi Kelas Model ................................................................................................. 83

4.2.2 Implementasi Kelas Controller ........................................................................................... 83

4.2.3 Implementasi Kelas View .................................................................................................... 83

BAB V ........................................................................................................................................................ 85

UJICOBA DAN EVALUASI ..................................................................................................................... 85

BAB VI ..................................................................................................................................................... 105

PENUTUP ................................................................................................................................................ 105

6.1 Kesimpulan ............................................................................................................................... 105

6.2 Saran ......................................................................................................................................... 105

DAFTAR PUSTAKA ............................................................................................................................... 106

LAMPIRAN 1 ........................................................................................................................................... 107

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

xv

DAFTAR GAMBAR

No

Gambar Keterangan Hal

2.1 Proses Data Mining 10

2.2 Header table 18

3.1 Hasil scanning data transaksi 26

3.2 Scanning ke-2 ( pembentukan FP –tree) 29

3.3 Diagram Use Case 34

3.4 Diagram Konteks 40

3.5 Diagram AktivitasCari database dan data transaksi penjualan 43

3.6 Diagram AktivitasCari pola asosiasi barang 44

3.7 Diagram AktivitasSimpan hasil pola asosiasi barang 45

3.8 Diagram Kelas Analisis 46

3.9 Diagram Sequence cari data transaksi 47

3.10 Diagram Sequence cari pola asosiasi 48

3.11 Diagram Sequence Cetak hasil asosiasi 49

3.12 Diagram Kelas Desain 50

3.12 Perancangan Antar Muka Home 66

3.13 Perancangan Antar Muka Halaman Open 67

3.14 Perancangan Antar Muka Halaman Prepocessing 68

3.15 Perancangan Antar Muka Halaman Hasil Proses 69

3.16 Perancangan Antar Muka Halaman Bantuan 70

4.1 Implementasi Antar Muka Halaman Open 72

4.2 Implementasi Antar Muka Halaman Prepocessing 76

4.3 Implementasi Antar Muka Halaman Hasil Proses 79

4.4 Implementasi Antar Muka Halaman Home 82

4.5 Implementasi Antar Muka Halaman Bantuan 84

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

xvi

DAFTAR TABEL

No Tabel Keterangan Hal

2.1 Transaksi dalam database 14

2.2 Hasil scanning dan sorting dari database 15

2.3 Hasil item yang memenuhi minimum support 16

2.4 Transaksi database yang berisi item yang memenuhi minimum support 16

2.5 Hasil Akhir 20

3.1 Atribut dalam table transaksi detail 23

3.2 Atribut yang digunakan dalam transaksi 25

3.3 Item sesuai min_supp 27

3.4 Hasil Penyetaraan 1 30

3.5 Hasil Penyetaraan 2 31

3.6 Hasil Penyetaraan 3 32

3.7 Hasil Penyetaraan 4 32

3.8 Hasil Rule 33

3.9 Deskripsi Use Case 35

3.10 Narasi Use Case Cari database dan data transaksi penjualan 36

3.11 Narasi Use Case Cari pola asosiasi barang 37

3.12 Narasi Use Case Cetak hasil pola asosiasi barang 39

3.13 Struktur Data 41

3.14 Algoritma Kelas Control_Database 51

3.15 Algoritma Kelas Control_Algorithm 54

3.16 Algoritma Kelas LihatHasilAlgoTabelModel 62

3.17 Algoritma Kelas Konn 64

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

xvii

4.1 Keterangan Halaman_Open 72

4.2 Keterangan Halaman_Prepocessing 76

4.3 Keterangan Halaman_HasilProses 79

4.4 Keterangan Halaman_Home 82

4.5 Keterangan Halaman_Bantuan 84

4.6 Implementasi dari kelas model 85

4.7 Implementasi dari kelas Controller 85

4.8 Implementasi dari kelas View 86

5.1 Percobaan tanggal 1 April 2015 dengan minimum support 3% 88

5.2 Percobaan tanggal 1 April 2015 dengan minimum support 2.5% 88

5.3 Percobaan tanggal 1 April 2015 dengan minimum support 2% 89

5.4 Percobaan tanggal 1 April 2015 dengan minimum support 1.5% 90

5.5 Percobaan tanggal 2 April 2015 dengan minimum support 3% 91

5.6 Percobaan tanggal 2 April 2015 dengan minimum support 2.5% 91

5.7 Percobaan tanggal 2 April 2015 dengan minimum support 2% 92

5.8 Percobaan tanggal 2 April 2015 dengan minimum support 1.5% 92

5.9 Percobaan tanggal 2 April 2015 dengan minimum support 1.4% 93

5.10 Percobaan tanggal 3 April 2015 dengan minimum support 3% 95

5.11 Percobaan tanggal 3 April 2015 dengan minimum support 2.5% 95

5.12 Percobaan tanggal 3 April 2015 dengan minimum support 2% 96

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

xviii

5.13 Percobaan tanggal 3 April 2015 dengan minimum support 1.5% 97

5.14 Percobaan tanggal 1,2 April 2015 dengan minimum support 3% 98

5.15 Percobaan tanggal 1,2 April 2015 dengan minimum support 2.5% 99

5.16 Percobaan tanggal 1,2 April 2015 dengan minimum support 2% 100

5.17 Percobaan tanggal 1,2 April 2015 dengan minimum support 1.5% 100

5.18 Percobaan tanggal 1,2,3 April 2015 dengan minimum support 3% 102

5.19 Percobaan tanggal 1,2,3 April 2015 dengan minimum support 2.5% 102

5.20 Percobaan tanggal 1,2,3 April 2015 dengan minimum support 2% 103

5.21 Percobaan tanggal 1,2,3 April 2015 dengan minimum support 1.5% 103

5.22 Tabel rule dengan akurasi tertinggi 105

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi informasi kini berkembang dengan pesat. Hal tersebut

berpengaruh besar terhadap pertumbuhan bisnis baik di bidang industri maupun jasa.

Pengaruh tersebut sangat terlihat di dalam persaingan yang terjadi di antara perusahaan

yang ada. Mereka berlomba – lomba untuk menciptakan inovasi – inovasi baru untuk

menarik masyarakat. Oleh karena itu, para pelaku bisnis dalam sebuah perusahaan

membuat strategi – strategi bisnis yang baru agar perusahaan yang mereka kelola dapat

tetap berjalan dengan baik.

Salah satu perusahaan tersebut adalah sebuah perusahaan XYZ yang menjalankan

bisnis di bidang ritail. Aset utama dari sebuah perusahaan tersebut adalah kepuasan

konsumen terhadap ketersediaan produk yang ada. Tidak tersedianya barang yang di cari

oleh konsumen berpengaruh pula pada pelayanan maupun kepuasan konsumen serta

pendapatan perusahaan. Oleh karena itu dibutuhkan suatu prediksi untuk mengetahui

jenis barang yang harus tersedia dalam perusahaan tersebut. Prediksi jenis barang yang

harus tersedia sangat penting bagi perusahaan untuk menentukan strategi yang tepat yang

akan dijalankan dalam perusahaan tersebut untuk dapat mengoptimalkan penjualan.

Prediksi jenis barang yang harus tersedia dapat diketahui dengan mengamati data

transaksi penjualan. Data penjualan akan diolah yang menghasilkan laporan laba dan rugi

dari perusahaan tersebut. Melalui teknologi data miningyang ada dapat dijadikan sebagai

solusi bagi para pelaku perusahaan dalam pengambilan keputusan dalam menentukan

strategi perusahaan dalam meningkatkan pelayanan kepada konsumen.

Di dalam data mining terdapat beberapa teknik dimana penggunaannya

disesuaikan pada masalah yang ada. Pada permasalahan prediksi jenis barang yang harus

tersediadalam perusahaan, digunakan teknik association rule.Teknik association rule

dapat memberikan gambaran / pola – pola tertentu yang sering muncul bersamaan dalam

sekumpulan data yang ada. Dalam teknik association rule terdapat sebuah algoritma FP–

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

2

Growth yang dapat digunakan sebagai salah satu alternative algoritma dalam menentukan

prediksi jenis barang yang harus tersedia dalam perusahaan.

Algoritma FP–Growth merupakan pengembangan dari algoritma apriori. Pada

algoritma apriori dibutuhkan scanning data berulang – ulang untuk menentukan frequent

Itemset. Berbeda dengan algoritma FP–Growth yang hanya membutuhkan sebanyak dua

kali scanning data untuk menentukan frequent Itemset. Dalam menentukan frequent

Itemset pada algoritma FP–Growth digunakan pohon prefix yang biasa disebut FP–tree.

Penggunaan FP–treeakan membercepat dalam proses penentuan frequent Itemset.

Apabila frequent Itemset tersebut memiliki nilai kurang dari minimum support yang ada,

maka frequent Itemset tersebut akan dibuang dan tidak akan digunakan. Selanjutnya

untuk frequent Itemset yang berada di atas minimum support maupun sama dengan

minimum support akan digunakan untuk memprediksi.

Penerapan dari algoritma FP–Growth dapat membantu perusahaan dalam

memprediksi jenis barang yang harus tersediadengan mengolah data transaksi penjualan

barang yang ada.Hasil akhir dari proses tersebut berupagambaran / pola produk yang

sering dibeli oleh konsumen. Hasil tersebut dapat digunakan oleh perusahaan dalam

menentukan ketersediaan barang di perusahaan.

1.2 Rumusan Masalah

Berdasarkan pada latar belakang di atas, maka dapat dirumuskan menjadi dua

masalah utama yaitu :

a. Bagaimana menerapkan algoritma FP- Growth dalam memprediksi jenis

barang yang harus tersedia pada perusahaan XYZ?

b. Apakah penerapan dari algoritma FP-Growth dapat memberikan hasil yang

akurat dalam memprediksi jenis barang yang harus tersedia dalam perusahaan

XYZ tersebut ?

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

3

1.3 Tujuan Penelitian

Tujuan dari penelitian ini adalah

a. Membantu perusahaan XYZ dalam memprediksi jenis barang yang harus

tersedia dengan menggunakan algoritma FP- Growth

b. Menguji keakuratan algoritma FP-Growth dalam memprediksijenis barang

yang harus tersedia dalam perusahaan XYZ.

1.4 Batasan Masalah

Batasan masalah dari penelitian ini adalah

a. Data yang digunakan dalam penelitian ini adalah data transaksi penjualan

perusahaan XYZ yang bergerak di bidang retail meliputi no faktur penjualan,

kode barang beserta nama barang dari item yang dibeli dalam satu kali

transaksi penjualan.

b. Data diambil dalam kurun waktu satu tahun yaitu tahun 2013.

c. Data stok masing – masing barang disumsikan dengan jumlah 200.

d. Teknik Asosiasi yang digunakan untuk melakukan analisis data yaitu

menggunakan algoritma FP – Growth

1.5 Metodologi Penelitian

Dalam penelitian ini digunakan beberapa metodologi penelitian yaitu :

a. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah dengan

melakukan pengambilan data yang dibutuhkan secara langsung pada objek

penelitian dan studi pustaka dengan mengumpulkan data dan mempelajari

masalah yang berhubungan dengan objek penelitian yang bersumber dari buku

– buku pedoman untuk melengkapi data yang diperlukan dalam penelitian ini.

b. Metode Analisis Data

Metode analisis data yang digunakan dalam penelitian ini adalah

menggunakan tahapan Knowledge Discovery in Databases (KDD) yang terdiri

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

4

dari beberapa tahap diantaranya adalah selection, preprocessing,

transformation, data mining dan evaluation. (Jiawei Han, 2011)

a. Data Selection

Data Selection merupakan tahap dimana menciptakan himpunan

data target, pemilihan himpunan data, atau memfokuskan pada

subset variabel atau sampel data, dimana penemuan (discovery)

akan dilakukan. Pemilihan (seleksi) data dari sekumpulan data

operasional perlu dilakukan sebelum tahap penggalian informasi

dalam KDD dimulai. Data hasil seleksi yang akan digunakan untuk

proses data mining, disimpan dalam suatu berkas, terpisah dari

basis data operasional.

b. Preprocessing

Tahap Preprocessing merupakan tahap pemprosesan pendahuluan

dan pembersihan data merupakan operasi dasar seperti

penghapusan noise dilakukan. Sebelum proses data mining dapat

dilaksanakan, perlu dilakukan proses cleaning pada data yang

menjadi fokus KDD. Proses cleaning mencakup antara lain

membuang duplikasi data, memeriksa data yang inkonsisten, dan

memperbaiki kesalahan pada data, seperti kesalahan cetak

(tipografi). Dilakukan proses enrichment, yaitu proses

“memperkaya” data yang sudah ada dengan data atau informasi

lain yang relevan dan diperlukan untuk KDD, seperti data

atau informasi eksternal.

c. Transformation

Tahap transformation merupakan tahap pencarian fitur-fitur yang

berguna untuk mempresentasikan data yang bergantung kepada

tujuan yang ingin dicapai. Tahap ini juga merupakan proses

transformasi pada data yang telah dipilih, sehingga data tersebut

sesuai untuk proses data mining. Proses ini merupakan proses

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

5

kreatif dan sangat tergantung pada jenis atau pola informasi yang

akan dicari dalam basis data

d. Data mining

Proses data mining yaitu proses mencari pola atau informasi

menarik dalam data terpilih dengan menggunakan teknik atau

metode tertentu. Teknik, metode, atau algoritma dalam data

mining sangat bervariasi. Pemilihan metode atau algoritma yang

tepat sangat bergantung pada tujuan dan proses KDD secara

keseluruhan. Pemilihan algoritma data mining untuk pencarian

(searching).

e. Evaluation

Tahap evaluation merupakan tahap penerjemahan pola-pola yang

dihasilkan dari data mining. Pola informasi yang dihasilkan dari

proses data mining perlu ditampilkan dalam bentuk yang mudah

dimengerti oleh pihak yang berkepentingan. Tahap ini merupakan

bagian dari proses KDD yang mencakup pemeriksaan apakah

pola atau informasi yang ditemukan bertentangan dengan fakta

atau hipotesa yang ada sebelumnya.

1.6 Sistematika Penulisan

Sistematika ini secara garis besar memberikan isi yang berupa susunan bab dari

penelitian.

BAB I PENDAHULUAN

Bab ini berisikan tentang latar belakang, rumusan masalah, tujuan penelitian,

batasan masalah, metodologi penelitian serta sistematika penulisan tugas akhir ini.

BAB II TINJAUAN PUSTAKA

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

6

Bab ini berisikan teori – teori yang mendasari penulis dalam melakukan

pemecahan masalah yang ada guna sebagai acuan untuk penyelesaian tugas akhir

ini. Di antaranya adalah penjelasan mengenai definisi data mining,

pengelompokan data mining ,fungsi data mining, langkah – langkah data mining ,

algoritma asosiasi , algoritma FP – Growth.

BAB III ANALISIS DAN PERANCANGAN

Bab ini menjelaskan tentang analisa dan perancangan sistem yang akan dibuat

diantaranya mengumpulkan data dan menganalisis data dengan menjalankan

proses KDD.

BAB IV IMPLEMENTASI SISTEM

Bab ini menjelaskan mengenai implementasi dari analisa yang telah dibuat pada

tahap sebelumnya.

BAB V UJI COBA DAN EVALUASI

Bab ini berisi mengenai pengujian terhadap sistem yang telah dibuat dan evaluasi

terhadap sistem tersebut.

BAB VI PENUTUP

Bab ini berisi mengenai kesimpulan dan saran dari penulis terhadap sistem yang

telah dibuat untuk pengembangan selanjutnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

7

BAB II

TINJAUAN PUSTAKA

2.1 Pengertian Data Mining

Data mining sangatlah penting bagi kita di jaman sekarang ini sebab

pertumbuhan data dari hari ke hari semakin meningkat, dari terabytes hingga

pentabytes. Semakin tingginya persaingan yang ada sekarang ini membuat kita

perlu untuk mencari sesuatu atau pengetahuan yang ada dalam data. Menurut

Jiawei , secara sederhana kata data mining merujuk pada ekstraksi atau

“menambang” pengetahuan dari sejumlah data yang besar. Dari penjelasan

tersebut, data mining dapat diartikan sebagai sebuah proses dari sekumpulan data

yang memiliki jumlah besar untuk mendapatkan data yang hasilnya tidak hanya

sekedar informasi melainkan merupakan sebuah pengetahuan atau knowledge

yang tersembunyi dari data tersebut. Pengetahuan atau knowledge yang diperoleh

dari hasil mining terhadap sekumpulan kata tersebut dapat membantu dalam

pengambilan sebuah keputusan.

Proses data mining ini adalah mengolah data, dimana data sebagai input

atau masukan yang melalui sebuah proses akan menghasilkan output yang tidak

hanya berisikan informasi namun ada sebuah pengetahuan yang dapat di ambil

dari data tersebut. Dari pengetahuan yang didapatkan akan diolah menjadi wisdom

yang sangat bermanfaat.

2.2 Proses Data Mining

Proses data mining dibagi menjadi beberapa proses yang dapat diilustrasikan

seperti pada gambar 2.1 di bawah ini :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

8

Gambar 2. 1 Proses Data Mining (Jiawei Han,2011)

Gambar 2.1 dapat dijelaskan seperti berikut :

a. Data Cleaning yaitu proses untuk menghilangkan noise dan data yang

tidak konsisten.

b. Data Integration yaitu proses dimana data dari berbagai sumber

digabungkan.

c. Data Selection yaitu proses penyeleksian data yang akan digunakan

untuk proes data mining.

d. Data Transformation yaitu proses data ditransformasikan dan

digabungkan ke dalam sebuah bentuk yang sesuai dengan data mining.

e. Data mining yaitu proses mencari pola atau informasi menarik dalam

data terpilih dengan menggunakan teknik atau metode tertentu.

f. Evaluation yaitu penerjemahan pola-pola yang dihasilkan dari data

mining. Pola informasi yang dihasilkan dari proses data mining perlu

ditampilkan dalam bentuk yang mudah dimengerti oleh pihak yang

berkepentingan.

g. Knowledge Presentation yaitu proses visualisasi dan teknik

representasi pengetahuan yang digunakan untuk memberikan

gambaran pada pihak yang terkait.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

9

2.3 Teknik – Teknik Data Mining

Dalam data mining terdapat beberapa teknik yang digunakan untuk melakukan

analisa terhadap sekumpulan data. Teknik data mining yang akan digunakan dalam

melakukan analisa data disesuaikan dengan kebutuhan dan masalah yang ada. Berikut

adalah beberapa teknik yang digunakan dalam data mining.

2.3.1 Association Rule Mining

Association rule mining merupakan salah satu teknik dalam data mining

yang digunakan untuk menemukan sebuah aturan assosiatif antara suatu kombinasi

item. Aturan yang digunakan dalam teknik ini adalah menggunakan aturan “ Jika –

Maka “. Seperti contohnya yang terjadi dari sebuah transaksi pembelian adalah jika

konsumen membeli barang A maka ia akan membeli juga barang B.

Beberapa algoritma yang menggunakan teknik association rule mining

adalah algoritma apriori yang menggunakan iterasi secara berulang – ulang untuk

menentukan frequent itemset dan algoritma FP-Growth yang menggunakan

Frequent Pattern Tree dalam menentukan frequent itemset.

2.3.2 Classification

Teknik Classification merupakan teknik yang digunakan untuk

menemukan sebuah model atau sebuah fungsi yang mendiskripsikan dan

membedakan kelas atau konsep data, dengan tujuan menggunakan model tersebut

untuk memprediksi kelompok dari object yang belum diketahui labelnya. Model

dapat direpresentasikan dalam bentuk classification rules, decision tress,

mathematical formulae, atau neural networks.

Beberapa method yang digunakan untuk membangun sebuah model

classification yaitu naïve Bayesian classification, support vector machines, dan k-

nearest-neighbor classification.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

10

2.3.3 Clustering

Berbeda dengan teknik classification dan association rule, teknik clustering

merupakan teknik yang digunakan untuk melakukan pengelompokan data dan

memberikan label pada sekelompok data yang sebelumnya tidak diketahui. Object

yang dikelompokkan atau di cluster berdasarkan pada prinsip memaksimalkan

kesamaan antar anggota di dalam suatu kelas dan meminimalkan kesamaan antar

kelas. Dengan hal tersebut object dalam kelas terbentuk, jadi object di dalam sebuah

cluster memiliki kesamaan yang tinggi apabila dibandingkan antara anggota satu

dengan anggota yang lain dalam cluster tersebut. Tetapi akan memiliki perbedaan

yang tinggi apabila dibandingkan dengan object yang terletak dalam cluster yang

berbeda.

2.3.4 Outlier Analysis

Dalam sekumpulan data mungkin terdapat object yang tidak sesuai dengan

model dari data, itulah yang disebut dengan outlier. Banyak method dari data

mining yang membuang outlier yang biasa disebut dengan noise atau exception.

Outlier mendeteksi dengan menggunakan tes statistic yang mengasumsikan

kemungkinan model dalam data atau menggunakan ukuran jarak dimana object

dikendalikan dengan mempertimpangkan outlier dalam cluster yang lain.

2.4 Algoritma Frequent Pattern Growth

Algoritma FP-Growth merupakan salah satu algoritma data mining yang

menggunakan teknik association rule. Algoritma FP-Growth sangat efisien dan

scalable untuk menentukan frequent pattern baik dalam data besar maupun kecil.

Algoritma ini juga lebih cepat daripada algoritma apriori dimana pada algoritma

apriori harus dilakukan iterasi secara berulang kali sehingga membutuhkan waktu

yang cukup lama untuk menyelesaikan. Algoritma apriori juga tidak dapat

menangani data yang besar, sehingga algoritma FP-Growth ini dapat dijadikan

sebagai solusi bagi permasalahan yang terjadi pada algoritma apriori yaitu

masalah pada candidate set generation and test.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

11

Beberapa istilah yang ada dalam algoritma FP-Growth diantaranya dapat

dijelaskan dengan pemisalan berikut ini :

a. * +merupakan kumpulan dari item – item

yang ada dalam transaksi database

b. ( )merupakan transaksi yang ada dalam

database dimana ( , -)merupakan sebuah transaksi

yang mengandung item yang berada pada I.

c. Support( frekuensi kemunculan ) dari pattern A adalah angka

dari transaksi yang mengandung item A di dalam DB.

d. A merupakan sebuah frequent pattern jika nilai dari supportA

tidak kurang dari minimum support yang telah ditentukan

sebelumnya.

Dalam algoritma FP-Growth dikenal pula istilah frequent pattern tree(

FP-tree) yaitu sebuah struktur seperti pohon prefix yang digunakan untuk

mendesain struktur frequent pattern mining secara efisien. Setiap node pada

pohon diisi dengan 1 item dan di setiap anak dari node tersebut merepresentasikan

item yang berbeda dengan item yang ada pada induk. Setiap node juga

menyimpan informasi pendukung dari isi item di dalam path dari root hingga ke

node. Sebuah root dalam pohon diinisialisasikan dengan nilai null. Dengan

menggunakan FP-Tree, algoritma FP-growth dapat langsung mengekstrak

frequent Itemset.

Langkah – langkah yang dijalankan dalam algoritma FP-growth adalah

sebagai berikut :

a. Menentukan minimum support yang akan digunakan untuk

menentukan rule dalam mencari frequent pattern.

b. Melakukan scanning pada database untuk mendapatkan frekuensi

kemunculan suatu item.

c. Melakukan seleksi / pembuangan terhadap item yang memiliki count

kurang dari minimum support yang telah ditentukan. Untuk item yang

memenuhi minimum support disimpan dalam list L, dan lakukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

12

sorting secara descending berdasarkan jumlah frekuensi terbesar

hingga terkecil.

d. Membentuk root FP-Tree yang diberi nilai dengan “null”.

e. Melakukan scan yang kedua kalinya untuk cabang dari FP-Tree sesuai

dengan urutan transaksi pada list L. Apabila item yang ada pada

transaksi berikutnya sudah ada pada transaksi sebelumnya maka nilai

indeks dari item tersebut akan bertambah 1, sedangkan jika item belum

ada pada transaksi sebelumnya akan membentuk cabang baru.

f. Berdasarkan list L pisahkan tiap frequent itemsets tanpa pengulangan

g. Melakukan analisa FP-Tree yang telah terbentuk dengan cara mencari

frequent itemsets yang mengandung nilai ai lalu setarakan nilai

frequent itemsets tersebut dengan nilai ai. Setelah disetarakan,

jumlahkan kedua nilai support frequent itemsets yang sama. Untuk

nilai yang diatas maupun sama dengan minimum support lah yang

menjadi rule. Langkah analisa diatas dilakukan berulang untuk semua

subset yang ada pada FP-Tree.

h. Hasil analisa FP-Tree yang sesuai dengan minimum support itulah

yang digunakan sebagai rule

Berikut adalah contoh dari penerapan algoritma pada sebuah data transaksi :

Tabel 2. 1 Transaksi dalam database

TID Items Bought

100 f,a,c,d,g,i,m,p

200 a,b,c,f,l,m,o

300 b,f,h,j,o

400 b,c,k,s,p

500 a,f,c,e,l,p,m,n

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

13

Tabel 2.1 menjelaskan lima buah transaksi yang ada dalam database yaitu

* +. Sedangkan items bought menunjukkan item

yang ada pada transaksi tersebut adalah

* +. Untuk mulai melakukan mining

menggunakan algoritma FP-Growth, sebelumnya ditentukan dahulu minimum

support nya. Dalam contoh ini saya tentukan minimum support nyayaitu 3.

Tabel 2. 2 Hasil scanning dan sorting dari database

Item Count

f 4

c 4

a 3

b 3

m 3

p 3

l 2

o 2

d 1

g 1

i 1

h 1

j 1

k 1

s 1

e 1

n 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

14

Tabel 2.2 menjelaskan langkah pertama yang dijalankan yaitu melakukan

scan pada database untuk mendapatkan frekuensi kemunculan item dalam

database. Lalu sorting berdasarkan jumlah frekuensi terbesar hingga terkecil.

Urutan tersebut penting yang nantinya akan digunakan dalam membuat FP-Tree

Tabel 2. 3 Hasil item yang memenuhi minimum support

Item Count

f 4

c 4

a 3

b 3

m 3

p 3

Tabel 2.3 menjelaskan langkah selanjutnya yaitu melakukan seleksi

terhadap item yang memiliki count kurang dari minimum support yang telah

ditentukan sehingga menyisakan item f, c,a,m,p dan b. Sehingga transaksi dalam

database yang berisi item yang memenuhi minimum support dapat di lihat pada

table 2.4

Tabel 2. 4 Transaksi database yang berisi item yang memenuhi minimum support

TID

Items

Bought

( Ordered) Frequent

Items

100 f,a,c,d,g,i,m,p f,c,a,m,p

200 a,b,c,f,l,m,o f,c,a,b,m

300 b,f,h,j,o f,b

400 b,c,k,s,p c,b,p

500 a,f,c,e,l,p,m,n f,c,a,m,p

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

15

Langkah selanjutnya adalah membuat root dari sebuah pohon yang

di beri label “null”. Pada tahap ini dilakukan proses scanning untuk yang

kedua kalinya. Proses scan ini diawali pada transaksi pertama yaitu

transaksi yang berisi item (f,c,a,m,p). Transaksi tersebut menjadi cabang

pertama dari pohon, setiap item baru diberi nilai 1 sehingga menjadi

⟨( ) ( ) ( ) ( ) ( )⟩.

Pada transaksi kedua yaitu transaksi yang berisi item (f,c,a,b,m)

membentuk cabang baru ketika sampai pada item (b dan m) karena item

(f,c,a) sudah terbentuk pada transaksi pertama sehingga menggunakan

transaksi pertama. Hanya saja nilai dari item dalam node yang telah ada

pada transaksi pertama dan dilewati juga dalam transaksi kedua bertambah

1 sehingga nilainya menjadi 2. Sedangkan pada node yang sedang

terbentuk pertama kali pada transaksi kedua bernilai 1 sehingga hasilnya

adalah ⟨( ) ( ) ( ) ( ) ( )⟩.

Pada transaksi ketiga yaitu transaksi yang berisi item (f,b)

membentuk cabang baru ketika pada item (b) karena item (f)

menggunakan cabang yang sudah terbentuk pada transaksi sebelumnya.

Sehingga nilai dari item-item tersebut adalah ⟨( ) ( )⟩.

Pada transaksi ke empat yaitu transaksi yang berisi item (c,b,p)

membentuk cabang baru dari awal karena pada transaksi sebelumnya tidak

ada yang melakukan scan dengan diawali item ( c ). Sehingga nilai dari

masing – masing item tersebut adalah 1

Sedangkan pada transaksi terakhir yaitu transaksi yang berisi item

(f,c,a,m,p ) tidak membentuk cabang baru hanya saja nilai dari masing –

masing item tersebut bertambah 1. Hasil scan kedua yang dilakukan dalam

database yang berupa pohon dapat dilihat pada gambar 2.2 di bawah ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

16

Gambar 2. 2Header table ( Jiawei Han)

Dengan pohon yang telah terbentuk, selanjutnya akan dilakukan

mining frequent patterns. Proses ini dilakukan dengan mengoleksi patterns

dari node yang dimulai dari head( kepala) dari node dan diikuti dengan

item yang ada pada node-links tersebut. Proses mining dimulai dari item

yang terletak paling bawah pada Header table yaitu p.

Untuk node p, mendapatkan nilai frequent pattern (p:3) dan dua

path dalam FP-tree yaitu ⟨ ⟩ dan ⟨ ⟩.

Dari path yang dilalui bersama dengan p hanya ada 2 kali sehingga

disamakan dengan nilai dari p tersebut yaitu ⟨ ⟩. Begitu

juga dengan path yang kedua disamakan dengan jumlah p yang dilalui

bersama yaitu ⟨ ⟩. Kemudian dari dua path tersebut dijumlahkan

nilai dari masing – masing item yang ada di kedua path sehingga

menghasilkan satu frequent pattern yaitu (c,p) karena hanya c dan p itu

sendiri yang memenuhi minimum support yang telah ditentukan.

Untuk node m, mendapatkan nilai frequent pattern (m:3) dan dua

path dalam FP-tree yaitu ⟨ ⟩ dan

⟨ ⟩. Dari path yang dilalui bersama dengan m hanya

ada 2 kali sehingga disamakan dengan nilai dari m tersebut yaitu

⟨ ⟩. Begitu juga dengan path yang kedua disamakan dengan

jumlah m yang dilalui bersama yaitu ⟨ ⟩. Kemudian dari

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

17

dua path tersebut dijumlahkan nilai dari masing – masing item yang ada di

kedua path sehingga menghasilkan satu frequent pattern yaitu (f,c,a,m) .

Untuk node b, mendapatkan nilai frequent pattern (b:3) dan tiga

path dalam FP-tree yaitu ⟨ ⟩ , ⟨ ⟩, ⟨ ⟩.

Dari path yang dilalui bersama dengan b hanya ada 2 kali path pertama

sehingga disamakan dengan nilai dari b tersebut yaitu ⟨ ⟩.

Begitu juga dengan path yang kedua disamakan dengan jumlah b yang

dilalui bersama yaitu⟨ ⟩. Selanjutnya berlaku juga dengan path yang

ketiga disamakan dengan jumlah b yang dilalui bersama yaitu⟨ ⟩.

Kemudian dari dua path tersebut dijumlahkan nilai dari masing – masing

item yang ada di ketiga path. Dari node b ternyata tidak terdapat frequent

pattern karena tidak ada yang memenuhi minimum support.

Untuk node a, mendapatkan nilai frequent pattern (a:3) dan sebuah

path dalam FP-tree yaitu ⟨ ⟩. Dari path yang dilalui bersama

dengan a ada 3 kali sehingga disamakan dengan nilai dari m tersebut yaitu

⟨ ⟩.Dari path tersebut menghasilkan satu frequent pattern yaitu

(f,c,a).

Untuk node c, mendapatkan nilai frequent pattern (c:4) dan dua

path dalam FP-tree yaitu ⟨ ⟩ dan ⟨ ⟩. Dari path yang dilalui

bersama dengan c hanya ada 3 kali sehingga disamakan dengan nilai dari c

tersebut yaitu ⟨ ⟩. Dari path tersebut menghasilkan satu frequent

pattern yaitu (f,c).

Untuk node f yang merupakan kepala dari node tidak dilakukan

mining frequent parent karena hanya terdiri dari satu item saja.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

18

Tabel 2. 5Hasil Akhir

Dari proses tersebut dapat beberapa rule yang merupakan hasil

akhir dari proses mining dengan menggunakan algoritma FP-Growth yaitu

{ (c,p), (f,c,a,m,p), (f,c,a), (f,c)} seperti yang terlihat pada table 2.5 di atas.

2.5 Lift Ratio

Lift Ratio merupakan sebuah ukuran yang digunakan dalam teknik asosiasi untuk

mengukur seberapa besar tingkat keakuratan sebuah rule yang dihasilkan dari proses

asosiasi.

Beberapa istilah yang digunakan dalam Lift Ratio adalah sebagai berikut :

a. Antecedent merupakan sebab. Antecedent adalah item yang menjadikan item

consequent.

b. Consequent merupakan sebuah akibat. Secara sederhana dapat dijelaskan sebagai

item barang yang dibeli karena suatu barang telah dibeli.

Sehingga rumus dari Lift Ratio dapat dituliskan seperti di bawah ini :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

19

……………………..(2.1)

Dimanaconfidence:

∑ ….…….(2.2)

Antecedent disimbolkan dengan A sedangkan consequent disimbolkan dengan C

Sedangkan expected confidence :

∑ ……………(2.3)

Nilai dari Lift Ratio dapat dibaca sebagai berikut :

a. Apabila nilai dari Lift Ratio > 1 maka menyatakan bahwa A dan C muncul lebih

sering dari yang diharapkan

b. Apabila nilai dari Lift Ratio = 1 maka menyatakan bahwa A dan C muncul hampir

selalu bersamaan seperti yang diharapkan

c. Apabila nilai dari Lift Ratio< 1 maka menyatakan bahwa A dan C muncul lebih

jarang dari yang diharapkan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

20

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Tahap analisis sistem merupakan tahap dimana sebuah solusi diberikan untuk

menyelesaikan masalah yang telah dirumuskan dalam BAB I. Penyelesaian tersebut

dibagi ke dalam beberapa komponen yang nantinya akan saling berinteraksi untuk

mencapai tujuan.

Dalam bab ini, analisis sistem digambarkan dengan bentuk pemodelan fungsi – fungsi

yang ada di sistem dan alur dari sistem tersebut.

Sistem yang akan dibuat adalah sistem yang dapat mengelola data transaksi penjualan

perusahaan retail yang digunakan untuk melakukan proses data mining, melakukan

analisa terhadap rule hasil dari proses mining dan mencetak hasil analisa proses mining.

Seperti yang telah disebutkan pada BAB I dalam Tujun Penelitian, maka sistem ini akan

melakukan proses data mining dengan menggunakan algoritma FP-Growthuntuk

memprediksi ketersediaan jenis barang pada perusahaan tersebut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

21

3.1.1 Analisis Data Awal

Data yang digunakan dalam penelitian ini adalah data transaksi detail dari

perusahaan retail ABC selama 1 hari. Data tersebut terdiri dari 3556 record.

Tabel 3. 1 Atribut dalam table transaksi detail

No Nama Atribut Keterangan

1 noFaktur Nomor nota transaksi penjualan

2 kodeBarang Kode dari masing masing barang

3 namaBarang Nama dari item barang yang di beli

4 satuan Jenis satuan barang yang di beli

5 size Ukuran dari suatu item

6 hargaJual Harga dari brang yang di beli

7 quantity Jumlah pembelian barang dalam satu kali

transaksi

8 discount

Potongan harga dari suatu barang 9 discountReal

10 discount2

11 total Total harga setelah discount

12 urut No urut barang dari setiap nota transaksi

13 hpp

14 hppdpp

15 hargasatuan

16 sisapesan

17 statusReturOrder Berisi status dari retur order

18 statusNotaKredit Berisi status dari nota kredit

19 nourut No urut transaksi penjualan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

22

3.1.2 Tahap – Tahap KDD

Sebelum data tersebut dimasukkan ke dalam sistem untuk dilakukan

penambangan data, maka dilakukan terlebih dahulu tahap – tahap dalam KDD (

Knowledge Discovery In Database). Tahap – tahap tersebut akan dijelaskan lebih detail

pada penjelasan berikut ini :

3.1.2.1 Pembersihan Data (Data Cleaning)

Proses pembesihan data ini merupakan tahap pertama dalam KDD. Proses

ini merupakan proses dimana record yang mengandung data – data yang tidak

relevan, tidak konsisten akan dibuang. Pada penelitian ini data transaksi sudah

relevan dan konsisten sehingga tidak perlu dilakukan pembersihan data.

3.1.2.2 Integrasi Data (Data Integration)

Integrasi data merupakan penggabungan data dari beberapa sumber.

Dalam penelitian ini, peneliti hanya menggunakan satu sumber saja yaitu data

transaksi detail dari perusahaan retail XYZ dalam kurun waktu satu tahun

sehingga tidak dilakukan proses intergrasi data.

3.1.2.3 Pemilihan Data (Data Selection)

Pada tahap ini akan dilakukan penyeleksian data – data yang akan

digunakan dalam penelitian. Pada data transaksi penjualan detail terdapat 19

atribut yaitu noFaktur, kodeBarang, namaBarang, satuan, size, hargaJual,

quantity, discount, discountReal, discount2, total, urut, hpp, hppdpp, hargasatuan,

sisapesan, statusReturOrder, statusNotaKredit, nourut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

23

Beberapa atribut data yang diseleksi adalah satuan, size, hargaJual,

quantity, discount, discountReal, discount2, total, urut, hpp, hppdpp, hargasatuan,

sisapesan, statusReturOrder, statusNotaKredit, nourut. Sehingga setelah dilakukan

seleksi data, hanya ada tiga record yang digunakan yaitu noFaktur, kodeBarang

dan namaBarang.

Tabel 3. 2 Atribut yang digunakan dalam transaksi

No Nama Atribut Keterangan

1 noFaktur Nomor nota transaksi penjualan

2 kodeBarang Kode dari masing masing barang

3 namaBarang Nama dari item barang yang di beli

3.1.2.4 Transformasi Data (Data Transformation)

Tahap transformasi data merupakan tahap dimana data diolah setelah

selesai dilakukan pembersihan dan seleksi. Tahap ini akan melakukan

pengubahan format data asli ke dalam format data yang sesuai untuk

dilakukan proses penambangan data. Pada penelitian ini, peneliti

melakukan transformasi data pada table transaksi detail penjualan. Tabel

transaksi detail penjualan di ubah menjadi dua kolom yaitu no faktur dan

transaksi. Kolom pada noFaktur menyimpan no faktur dari transaksi yang

ada, sedangkan kolom transaksi menyimpan data transaksi penjualan

berupa nama barang dank ode barang yang dibeli. Sehingga dengan

bentuk table yang telah ditransformasikan dapat dengan mudah dilakukan

proses data mining.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

24

3.1.2.5 Penambangan data (Data Mining)

a. Menentukan minimum support yang akan digunakan untuk

menentukan rule dalam mencari frequent pattern.

Dalam penelitian ini, peneliti menentukan min_supportyaitu : 11

b. Melakukan scanning pada database untuk mendapatkan frekuensi

kemunculan suatu item.

Di bawah ini merupakan gambar dari proses scanning data transaksi

untuk menentukan frequent itemset. Proses scanning ini dilakukan

terhadap 1818 transaksi penjualan dari 18 kasir yang ada. Dari hasil

scanning tersebut ditemukan 646 jenis item barang yang ada.

Gambar 3. 1 Hasil scanning data transaksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

25

c. Melakukan seleksi / pembuangan terhadap item yang memiliki count

kurang dari minimum support yang telah ditentukan. Untuk item yang

memenuhi minimum support disimpan dalam list L, dan lakukan

sorting secara descending berdasarkan jumlah frekuensi terbesar

hingga terkecil.Setelah dilakukan scanning dan dilakukan sorting ,

terdapat sebanyak 71 item barang yng supportnya memenuhi

min_supp yang telah ditentukan seperti yang terdapat pada gambar di

bawah ini :

Tabel 3. 3 Item sesuai min_supp

No Nama Barang Kode Barang Frekuensi

1 TAS 034010450 243

2 SINGLET/KAOS CE 032010145 190

3 SINGLET/KAOS 032010135 99

4 KAOS CE 017010250 80

5 SINGLET/KAOS CE 032010185 77

6 KAOS CE 017010210 59

7 CD PAKET/3 PCS 035060100 52

8 SINGLET 032010105 49

9 SINGLET 032010115 43

10 TALI RAMBUT 31020013 42

11 BLAZER 005010420 39

12 KAOS CO 018010250 37

13 KAOS CE 017010300 32

14 TALI RAMBUT 31020011 31

15 BLAZER 005010430 31

16 BLAZER 005010410 29

17 JAM TANGAN 015010200 27

18 BAJU CE 1 001010400 27

19 BAJU CE 001010450 26

20 CARDIGAN 007010320 25

21 CELANA/BAJU CE 008020500 25

22 JAM TANGAN 015010230 25

23 JILBAB 016010160 24

24 CELANA CE PJG 008020400 24

25 JAKET 013010580 23

26 KAOS CO 018010300 23

27 JAM TANGAN 015010170 22

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

26

28 CELANA CE 008020430 21

29 BAJU CE 001010430 20

30 BAJU CE 001010480 19

31 BAJU CE 001010440 19

32 JILBAB 016010270 18

33 BLAZER 005010450 17

34 HANDUK S 012020289 17

35 JILBAB 016010210 16

36 SPT X109 030010440 16

37 BLAZER 005010490 15

38 BLAZER 005010460 15

39 SHALL 040010082 15

40 BAJU CE 001010415 15

41 JAKET CE 013010620 15

42 CARDIGAN 007010350 15

43 CARDIGAN 007010330 15

44 KEMEJA CO 021030750 14

45 TP MAKE UP 31270073 14

46 BAJU CE 001010350 14

47 KAOS CE 017010240 14

48 BAJU ANAK 038010300 14

49 BAJU CE 001010420 14

50 BAJU CE 001010410 14

51 JILBAB 016010220 13

52 TALI RAMBUT 31020024 13

53 KAOS CO 018010259 13

54 HANDUK B 012010465 13

55 TP MAKE UP 31270098 13

56 JAM TANGAN 015010240 12

57 BLAZER 005010470 12

58 SISIR 31380048 12

59 SPT ASB 030010260 12

60 ROMPI/BALERO 025010380 12

61 BAJU CE 001010470 12

62 BAJU CE 001010500 12

63 BAJU CE 001010390 12

64 SDL RMT 029010270 12

65 JAKET CE/BALERO JEANS 013010520 11

66 TP MAKE UP 31270110 11

67 TP MAKE UP 31270085 11

68 KAOS CE PJG 017030250 11

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

27

69 SPT D09 030010290 11

70 SEPRAI DBL 031021023 11

71 ROMPI/BALERO 025010330 11

d. Membentuk root FP-Tree yang diberi nilai dengan “null”. Selanjutnya

melakukan scan yang kedua kalinya untuk cabang dari FP-Tree sesuai

dengan urutan transaksi pada list L. Apabila item yang ada pada

transaksi berikutnya sudah ada pada transaksi sebelumnya maka nilai

indeks dari item tersebut akan bertambah 1, sedangkan jika item belum

ada pada transaksi sebelumnya akan membentuk cabang baru.

Gambar 3. 2 Scanning ke-2 ( pembentukan FP –tree)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

28

e. Melakukan analisa FP-Tree yang telah terbentuk dengan cara mencari

frequent itemsets yang mengandung nilai ai lalu setarakan nilai

frequent itemsets tersebut dengan nilai ai. Setelah disetarakan,

jumlahkan kedua nilai support frequent itemsets yang sama. Untuk

nilai yang diatas maupun sama dengan minimum support lah yang

menjadi rule. Langkah analisa diatas dilakukan berulang untuk semua

subset yang ada pada FP-Tree.

Setelah dilakukan penyetaraan, dari 73 item barang yang memiliki

min_supp lebih dari maupun sama dengan 11, hanya ada 4 rule yang di

hasilkan seprti yang terlihat pada gambar di bawah ini :

Tabel 3. 4 Hasil Penyetaraan 1

NODE : SINGLET / KAOS CE(032010185)

Frequent: 77

Path Item Hasil Setelah di Setarakan

1

TAS(450) : 243, SINGLET/ KAOS

CE(145) : 13, SINGLET/ KAOS CE(185)

: 1 =

TAS(450) : 1, SINGLET/ KAOS CE(145) :

1, SINGLET/ KAOS CE(185) : 1

2

TAS(450) : 243, SINGLET/ KAOS

CE(185) : 1 =

TAS(450) : 4, SINGLET/ KAOS CE(185) :

4

3

SINGLET/ KAOS CE(145) : 177,

SINGLET/ KAOS CE(185) : 14 =

SINGLET/ KAOS CE(145) : 15, SINGLET/

KAOS CE(185) : 14

4

SINGLET/ KAOS CE(145) : 177,

SINGLET / KAOS CE(135) : 17 ,

SINGLET/ KAOS CE(185) : 1 =

SINGLET/ KAOS CE(145) : 1, SINGLET /

KAOS CE(135) : 1 , SINGLET/ KAOS

CE(185) : 1

5

SINGLET / KAOS CE(135) : 71,

SINGLET/ KAOS CE(185) : 2 =

SINGLET / KAOS CE(135) : 2 , SINGLET/

KAOS CE(185) : 2

6

KAOS CE(250) : 61 , SINGLET/ KAOS

CE(185) : 1 =

KAOS CE(250) : 1 , SINGLET/ KAOS

CE(185) : 1

7 SINGLET/ KAOS CE(185) : 56 = SINGLET/ KAOS CE(185) : 56

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

29

KESIMPULAN :

TAS(450) : 5, SINGLET/ KAOS

CE(145) : 16, SINGLET / KAOS

CE(135) : 3, KAOS CE(250) : 1,

SINGLET/ KAOS CE(185) : 77

Tabel 3. 5 Hasil Penyetaraan 2

NODE : BLAZER (005010420)

Frequent : 39

Path Item Hasil Setelah di Setarakan

1

SINGLET/ KAOS CE(145) : 177 , KAOS CE(250) : 5 , KAOS CE(210) : 2 , SINGLET(115) : 1 , BLAZER(420) : 1 =

SINGLET/ KAOS CE(145) : 1 , KAOS CE(250) : 1 , KAOS CE(210) : 1 , SINGLET(115) : 1 , BLAZER(420) : 1

2 SINGLET/ KAOS CE(145) : 177 , SINGLET/ KAOS(135) : 1, BLAZER(420) : 1 =

SINGLET/ KAOS CE(145) : 1 , SINGLET/ KAOS(135) : 1, BLAZER(420) : 1

3 SINGLET/ KAOS CE(145) : 177 , BLAZER(420) : 7 = SINGLET/ KAOS CE(145) : 7, BLAZER(420) : 7

4 SINGLET/ KAOS CE(185) : 56, CD PAKET / 3 PCS (100) : 2 , BLAZER(420) : 1 =

SINGLET/ KAOS CE(185) : 1, CD PAKET / 3 PCS (100) : 1 , BLAZER(420) : 1

5 SINGLET/ KAOS CE(185) : 56, BLAZER(420) : 1 = SINGLET/ KAOS CE(185) : 1, BLAZER(420) : 1

6 SINGLET/ KAOS CE(145) : 177 , SINGLET/ KAOS CE(185) : 1, BLAZER(420) : 1 =

SINGLET/ KAOS CE(145) : 1 , SINGLET/ KAOS CE(185) : 1, BLAZER(420) : 1

7 SINGLET/ KAOS (135) : 71 , BLAZER(420) : 4 = SINGLET/ KAOS (135) : 4 , BLAZER(420) : 4

8 KAOS CE(250) : 61, SINGLET( 115) : 2 , BLAZER( 420) : 2 =

KAOS CE(250) : 2, SINGLET( 115) : 2 , BLAZER( 420) : 2

9 KAOS CE(250) : 61 , BLAZER(420) : 2 = KAOS CE(250) : 2 , BLAZER(420) : 2

10

SINGLET/ KAOS CE(145) : 177 , CD PAKET / 3 PCS (100) : 2 , SINGLET(115) : 1, BLAZER(420) : 1 =

SINGLET/ KAOS CE(145) : 1 , CD PAKET / 3 PCS (100) : 1 , SINGLET(115) : 1, BLAZER(420) : 1

11 CD PAKET / 3 PCS(100) : 30 , BLAZER( 420) : 1 = CD PAKET / 3 PCS(100) : 1 , BLAZER( 420) : 1

12 SINGLET(115) : 23, BLAZER( 420) : 1 = SINGLET(115) : 1 , BLAZER( 420) : 1

13 BLAZER(420) : 17 = BLAZER(420) : 17

KESIMPULAN :

SINGLET/ KAOS CE(145) : 11 , KAOS

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

30

CE(250) : 5 , KAOS CE(210) : 1 , SINGLET(115) : 4,

SINGLET/ KAOS(135) : 5, SINGLET/ KAOS CE(185) : 4, CD PAKET / 3 PCS (100) : 2, SINGLET(105) : 1,

BLAZER(420) : 39

Tabel 3. 6 Hasil Penyetaraan 3

NODE : SINGLET/KAOS (032010135)

Frequent: 99

Path Item Hasil Setelah di Setarakan

1

TAS(450) : 243, SINGLET/ KAOS

(135) : 11 =

TAS(450) : 11, SINGLET/ KAOS

(135) : 11

2

SINGLET/ KAOS CE(145) : 177,

SINGLET/ KAOS (135) : 17 =

SINGLET/ KAOS CE(145) : 17,

SINGLET/ KAOS (135) : 17

3 SINGLET/ KAOS(!35) : 71 = SINGLET/ KAOS(!35) : 71

KESIMPULAN :

TAS(450) : 11, SINGLET/ KAOS

CE(145) : 17, SINGLET/ KAOS (135)

: 99

Tabel 3. 7 Hasil Penyetaraan 4

NODE : SINGLET/KAOS CE (032010145)

Frequent: 190

Path Item Hasil Setelah di Setarakan

1

TAS(450) : 243, SINGLET/ KAOS

CE(145) : 13 =

TAS(450) : 13, SINGLET/ KAOS

CE(145) : 13

2 SINGLET/ KAOS CE(145): 177 = SINGLET/ KAOS CE(145): 177

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

31

KESIMPULAN :

TAS(450) : 13, SINGLET/ KAOS

CE(145) : 190

Sehingga dari proses asosiasi data transaksi dihasilkan rule seperti pada gambar di

bawah ini :

Tabel 3. 8 Hasil Rule

No RULE :

1 { SINGLET/ KAOS CE(145) ,SINGLET/ KAOS CE(185) }

2 { SINGLET/ KAOS CE(145) , BLAZER (420) }

3 {TAS(450) , SINGLET/ KAOS CE(145) , SINGLET/ KAOS (135) }

4 {SINGLET/ KAOS CE(145), TAS(450) }

3.1.2.6 Evaluation

Tahap ini akan dilakukan evaluasi terhadap ppola yang ditemukan, apakah

sesuai degan tujuan awal penelitian yang dilakukan oleh peneliti atau

tidak.

3.1.2.7 Knowledge Presentation

Setelah melakukan evaluasi terhadap hasil pola asosiasi yang ditemukan,

tahap ini akan dilakukan penterjemahan dengan melakukan pembacaan

rule yang dihasilkan. Sehingga hasil dari asosiasi tersebut dapat di

mengerti oleh pengguna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

32

3.2 Identifikasi Sistem

3.2.1 Diagram Use Case

Diagram use case merupakan sebuah diagram yang

menggambarkan pekerjaan yang dilakukan oleh sistem tersebut. Beberapa

pekerjaan sistem yang peneliti bangun dapat dilihat pada gambar di bawah

ini :

Gambar 3. 3Diagram Use Case

Cari database &

data transaksi

penjualan

Cari pola asosiasi

barang User

<<depends on>>

<<depends on>>

Simpan hasil pola

asosiasi barang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

33

Tabel 3. 9 Deskripsi Use Case

Nomor Use Case Nama Use Case Deskripsi Use Case

001 Cari database dan data

transaksi

Use case ini menggambarkan

proses dimana pengguna

melakukan pencarian database

dan tabel transaksi yang akan

digunakan untuk melakukan

proses data mining

002 Cari pola asosiasi Use case ini menggambarkan

proses dimana pengguna

melakukan pencarian pola

asosiasi terhadap data transaksi

yang ada

003 Simpan hasil asosiasi Use case ini menggambarkan

pengguna melakukan simpan

hasil pola asosiasi yang telah

dilakukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

34

3.2.2 Narasi Use Case

Deskripsi dari use case di atas akan dijabarkan dan dijelaskan pada table narasi

use case berikut ini :

3.2.2.1 Cari database dan data transaksi penjualan

Tabel 3. 10 Narasi Use Case Cari database dan data transaksi penjualan

Nama Use Case Cari database dan data transaksi penjualan

Id Use Case 001

Source Penjelasan Use case

Deskripsi Menjelaskan proses pencarian database yang digunakan dan data

transaksi penjualan untuk proses data mining

Aktor User

Kondisi Awal Tampil Halaman Home

Kondisi Akhir Tampil Data Transaksi yang akan diproses

Aksi Aktor Reaksi Sistem

1. Klik tombol Open pada

Halaman_Home

2. Tampil Halaman_Open

3. Isikan nama database

4. Klik Cek Koneksi

5. Jika database terhubung, maka muncul

exception “ Koneksiberhasil !”

6. Tampil daftar table pada button pilih

tabel dan data transaksi

7. Pilih table yang akan digunakan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

35

8. Klik OK

9. Tampil data dari tabel yang dimaksud

Alternatif

Alt 4.Jika database tidak cocok, Muncul

exception “ Koneksi gagal !”, kembali step

2

Conclusion : User dapat melanjutkan proses apabila

database terhubung.

Businesse Rules : -

Assumptions : -

3.2.2.2 Cari pola asosiasi barang

Tabel 3. 11 Narasi Use Case Cari pola asosiasi barang

Nama Use Case Cari pola asosiasi barang

Id Use Case 002

Source Penjelasan Use case

Deskripsi Menjelaskan proses mencari pola asosiasi barang

Aktor User

Kondisi Awal Tampil Halaman_Open

Kondisi Akhir Tampil Hasil Proses data mining

Aksi Aktor Reaksi Sistem

1. Isikan indeks noFaktur dan kodeBarang

pada kolom yang tersedia

2. Klik tombol prepocessing

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

36

3. Tampil Halaman Prepocessing yang

berisi table data hasil dari proses

preprocessing, jumlah transaksi dan

jumlah jenis barang

4. Isikan minimum_support

5. Klik tombol Konfirmasi

6. Tampil banyaknya barang yang muncul

berdasarkan minimum_support yang di

masukkan oleh user

7. Klik tombol Proses

8. Tampil Halaman Hasil proses yang

berisi rule dari proses asosiasi

Alternatif

-

Conclusion : User dapat mengetahui rule dari data

transaksi penjualan

Businesse Rules : -

Assumptions : -

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

37

3.2.2.3 Simpan hasil pola asosiasi barang

Tabel 3. 12 Narasi Use Case Cetak hasil pola asosiasi barang

Nama Use Case Cetak hasil pola asosiasi barang

Id Use Case 003

Source Penjelasan Use case

Deskripsi Menjelaskan proses user melakukancetak hasil pola asosiasi dari

proses data mining

Aktor User

Kondisi Awal Tampil Home Page

Kondisi Akhir Hasil Analisa Pola tercetak

Aksi Aktor Reaksi Sistem

1. Klik tombol Save

2. Tampil JFileChooser untuk memilih

lokasi penyimpanan, nama dokumen

penyimpanan dan jenis penyimpanan

3. Klik tombol Oke

4. Hasil proses asosiasi berhasil di simpan

Alternatif

Alt 4. -

Conclusion : Hasil proses asosiasi dapat tersimpan

apabila telah dilakukan proses data mining

Businesse Rules :

Assumptions : - User dapat melihat hasil apabila telah

melakukan proses data mining

Open Issues : -

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

38

3.3 Perancangan Umum Sistem

3.3.1 Masukan Sistem

Masukan data dari sistem ini berasal dari table data yang berada di dalam

database. Database yang akan digunakan dapat dipilih sendiri oleh user. Tabel

data transaksi yang digunakan bergantung penuh pada koneksi database yang

digunakan oleh user. Selain itu, dalam proses pencarian rule dalam proses data

mining diperlukan sebuah masukan berupa minimum support yang digunakan

dalam menentukan rule.

Gambar 3. 4Diagram Konteks

3.3.2 Proses Sistem

Proses sistem terdiri dari beberapa langkah untuk dapat menemukan rule yang

berfungsi untuk memprediksi jenis barang yaitu :

a. Pengambilan data transaksi yang akan digunakan untuk proses data mining.

b. Menentukan minimum support yang berfungsi dalam menentukan rule.

c. Proses asosiasi untuk memprediksi dijalankan

d. Menganalisa hasil asosiasi terhadap proses data mining yang telah

dijalankan.

e. Menyimpan hasil analisa proses data mining yang telah dijalankan pada

langkah sebelumnya.

Pengguna Aplikasi pencarian

rulemenggunakan

algoritma FP-Growth

Min_supp

Rule hasil proses

penambangan data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

39

3.3.3 Keluaran Sistem

Sistem yang akan di bangun ini akan memberikan beberapa keluaran

diantaranya adalah jumlah kemunculan yang terjadi dari banyaknya transaksi

yang ada ketika menentukan minimum support. Selain itu juga akan menampilkan

hasil dari proses data mining yang dijalankan berupa rule.

3.3.4 Perancangan Struktur Data

Dalam penelitian ini, peeliti menggunakan ArrayList dalam proses

pembentukan itemset dari pencarian frequentitemset sampai dengan terbentuknya

rule. Pemilihan ArrayList oleh peneliti dalam menyelesaikan penelitian ini

dikarenakan ArrayList tidak membutuhkan pendeklarasian panjang dari sebuah

larik. Larik akan secara otomatis bertambah seiring dengan banyak nya data yang

digunakan dalam penelitian ini.

Tabel 3. 13 Struktur Data

ArrayList Fungsi

prepocessing Menyimpan hasil preprocessing

count Menyimpan count dari masing – masing jenis

barang

trns Menyimpan transaksi yang mengadung kode

yang memiliki count sesuai dengan

min_support yang di masukkan

Tis Menyimpan transaksi dan item yang

mengadung kode yang memiliki count sesuai

dengan min_support yang di masukkan

dataSet Menyimpan data yang siap untuk dibuat tree

candidate Menyimpan hasil dari penyetaraan masing –

masing item dan support nya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

40

3.2 Perancangan Sistem

3.4.1 Diagram Aktivitas

3.4.1.1 Cari database dan data transaksi penjualan

Klik tombol Open

Tampil Halaman_Open

Klik Cek Koneksi

Valid ?

Tampil exception “ koneksi

berhasil ! “

Tampil exception “ koneksi

gagal ! “

Tampil semua tabel yang

ada pada database tersebut

Pilih tabel yang akan

digunakan

Klik OK

Tampil data dari tabel yang

dimaksud

SISTEM USER

YA

TIDAK

Pilih koeksi , Isikan nama

database, usernme ,

password dan url

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

41

Gambar 3. 5 Diagram Aktivitas Cari database dan data transaksi penjualan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

42

3.4.1.2 Cari pola asosiasi barang

Isikan indeks noFaktur dan

kodeBarng pada kolom yang

disediakan

Tampil Halaman

Prepocessing yang berisi data

hasil prepocessing, jumlah

transaksi dan jumlah jenis

barangIsikan minimum_support

Tampil banyaknya barang yang

muncul bedasarkan

minimum_support yng di

masukkan

Klik tombol proses

Tampil Halaman Hasil proses

yang berisi rule dari proses

sosiasi

SISTEMUSER

Klik tombol prepocessing

Klik tombol Konfirmasi

Gambar 3. 6 Diagram Aktivitas Cari pola asosiasi barang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

43

3.4.1.3 Simpan hasil pola asosiasi barang

Menjalankan proses data

mining

Tampil hasil proses

asosiasi

Klik tombol save

Tampil JFileChooser untuk memilih

lokasi penyimpanan, nama dokumen

dan jenis penyimpanan

Klik tombol Oke

Data berhasil disimpan

SISTEM USER

Gambar 3. 7 Diagram Aktivitas Simpan hasil pola asosiasi barang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

44

3.4.2 Diagram Kelas Analisis

USER

Halaman_Home Halaman_Bantuan

Controller_Data

base

Halaman_Open

Halaman_Prepoce

ssing

Controller_Algo

rithmLarik Comparable

StrukturTabel

TreeNode

Halaman_HasilPro

ses

Contoller_Data

baseambilHasil

LihatHasilAlgoTabel

Model

Konn

Gambar 3. 8 Diagram Kelas Analisis

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

45

3.4.3 Diagram Sequence

3.4.3.1 Cari database dan data transaksi penjualan

Gambar 3.9 Diagram Sequence cari data transaksi

USER

<<interface>>

Halaman_Home.java

Klik Masuk

password inputInput

username dan

password

password input Konn()

1

4

<<controller>>

ControlDatabase.java

<<model>>

Konn.java

2

3 ambilTabel() 5

Tampil

Halaman_Open

password input Isikan nama database,

username, password,

url

password input Hasil Connection

password input

6 7

Koneksi berhasil Tampil pilihan tabel 8

Pilih tabel transaksi 9

ambildatatabel() 10

11 Tabel valid

Tampil data transaksi

12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

46

3.4.3.2 Cari pola asosiasi barang

Gambar 3.10 Diagram Sequence cari pola asosiasi

USER

<<interface>>

HalamanAwal.java

Masukkan min_supp

& klik konfirmasi

password input

Hasilprepoce

ssig() count,

transaksisesu

ai, transaksi

dan item

sesuai

1

4

<<controller>>

Control

Algorithm.java

<<model>>

StrukturTabel

, TreeNode,

ambilHasil

2

3

5 Tampil banyak

kemunculan

password input Klik proses

password input

Hasil asosiasi

password input

Tampil

Halaman_HasilProse

s

Tabel hasil

asosiasi

Set

transaksi

sesuai,

kode, count

<<Controller

>>

Larik

<<controller>

>

Control

Algorithm.ja

va

Larik

password input Data urut

password input

Datafix(),tree(),

addNode(),

penyetaraan()

Buat tree ,

penyetaraan

password input

cariNama

Kode()

password

input

6

7

8

9 10

11 12

13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

47

3.4.3.3 Simpan hasil pola asosiasi

Gambar 3.11 Diagram Sequence Cetak hasil asosiasi

USER

<<interface>>

Halaman_HasilProses.java

Tekan Tombol Save

password input

1

Pilih format penyimpanan dan

klik tombol simpan

Tampil Save dialog

2

3

Konfirmasi pentimpanan

Simpan data

4

5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

48

3.4.4 Diagram Kelas Desain

Gambar 3.12 Diagram Kelas Desain

<<view>> Halaman_Home

<<view>> Halaman_Open

<<view>> Halaman_Bantuan

<<model>> Konn

<<controller>> Controller_Database

<<view>> Halaman_Prepo

cesing

<<controller>> Contoller_Algorithm

<<controller>> Larik

<<model>> Comparable

<<model>> StrukturTabe

l

<<model>> TreeNode

<<view>> Halaman_Prepo

cesing

<<controller>> Contoller_Database

<<model>> ambilHasil

<<model>> LihatHasilAlgoTableModel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

49

3.4.5 Rincian Algoritma Per Method

3.4.5.1 Algoritma Kelas Control Database

Tabel 3.14 Algoritma Kelas Control_Database

No Nama

Method

Fungsi

Method Algoritma Method

1.

Ambildata

tabel(Con

nection

conn,

String

table)

Mengambil

isi/data dari

tabel transaksi

yang dipilih

oeh pengguna

1. Buat variable st bertipe Statement

2. Buat variable rs bertipe ResultSet

3. Buat variable query bertipe String

4. Buat koneksi ke dalam database dan

simpan koneksi ke dalam variable st

5. Melakukan set query untuk mengambil

semua data di tabel dan ditampung dalam

variable query

6. Mengeksekusi query tersebut dan

menampung dalam variable rs

7. Mengembalikan nilai rs

2.

Ambiltabe

l(Connecti

on conn)

Mengambil

nama – nama

tabel dari

koneksi

database yang

dilakukan oleh

pengguna

1. Buat variable st bertipe Statement

2. Buat variable rs bertipe ResultSet

3. Buat variable query bertipe String

4. Buat koneksi ke dalam database dan

simpan koneksi ke dalam variable st

5. Melakukan set query untuk mengambil

nama tabel di database dan ditampung

dalam variable query

6. Mengeksekusi query tersebut dan

menampung dalam variable rs

7. Mengembalikan nilai rs

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

50

3. cariNama

Barang

Mencari nama

barang dari

sebuah

kodebarang

dalam sebuah

tabel transaksi

tertentu

1. Buat variable statement bertipe

PreparedStatement dan inisialisasi

dengan nilai null

2. Buat variable result bertipe

PreparedStatement dan inisialisasi

dengan nilai null

3. Buat variable nama bertipe String

4. Melakukan autocommit pada koneksi.

5. Melakukan set query untuk mengambil

nama barang di database dan ditampung

dalam variable sql bertipe String

6. Mengeksekusi query tersebut dan

menampung dalam variable result

7. Selama result.next() maka menjalankan

method getString dari variable result dan

disimpan pada variable nama

8. Mengembalikan nilai nama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

51

4. cariNama

Kategori

Mencari nama

kategori dari

sebuah kode

kategori dalam

sebuah tabel

transaksi

tertentu

1. Buat variable statement bertipe

PreparedStatement dan inisialisasi

dengan nilai null

2. Buat variable result bertipe

PreparedStatement dan inisialisasi

dengan nilai null

3. Buat variable nama bertipe String

4. Melakukan autocommit pada koneksi.

5. Melakukan set query untuk mengambil

nama kategori di database dan ditampung

dalam variable sql bertipe String

6. Mengeksekusi query tersebut dan

menampung dalam variable result

7. Selama result.next() maka menjalankan

method getString dari variable result dan

disimpan pada variable nama

8. Mengembalikan nilai nama

5. prepocessi

ng

Melakukan

proses

preprocessing,

yaitu

menggabungka

n beberapa row

yang memiliki

nofaktur sama

agar menjadi

satu row

1. Buat variable st bertipe Statement

2. Buat variable rs bertipe ResultSet

3. Buat variable query bertipe String

4. Buat koneksi ke dalam database dan

simpan koneksi ke dalam variable st

5. Melakukan set query untuk

menggabungkan beberapa row yang

memiliki nofaktur sama agar menjadi

satu row di tabel dan ditampung dalam

variable query

6. Mengeksekusi query tersebut dan

menampung dalam variable rs

7. Mengembalikan nilai rs

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

52

3.4.5.2 Algoritma Kelas Control_Algorithm

Tabel 3.15 Algoritma Kelas Control_Algorithm

No Nama

Method

Fungsi

Method Algoritma Method

1.

HasilPrep

ocessing(

ArayList

<Struktur

Tabel>

prepocess

ing)

Berisi kode

barang

hasil proses

prepocessin

g yang

disimpan

dalam

bentuk

ArrayList<

ArrayList<

String>>

1. Buat obyek baru dataset yang beripe

ArrayList<ArrayList<String>>

2. Selama processing.size() menjalankan :

- Memanggil kode barang dan di simpan

dalam variable String code

- Buat obyek baru data bertipe

ArrayList<String>

- Menambahkan obyek data dengan nilai dari

code

- Menambahkan obyek dataSet dengan nilai

dari data

3. Mengambalikan nilai dataset

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

53

2

Count<A

rrayList<

ArrayList

<String>

> b, int a

Menjumlah

an count

dari

masing-

masing

jenis

barang

yang ada

1. Buat obyek baru arr dengan tipe List<String>

2. Buat obyek countbertipe ArrayList

<TreeNode>

3. Buat obyek baru hash yang bertipe HashSet

4. Buat variable string bertipe String dan

diinisialisasikan dengan nilai null

5. Selama i kurang dari b.size maka

menjalankan :

a. Mengambil isi dari b dan disimpan dalam

variable items bertipe ArrayList<String>

b. Selama items.size melakukan :

1. Menyimpan isi dari items dan

menyimpan di variable string

2. Menjalankan method split dari

variable kode dan menyimpan ke

dalam z bertipe String[]

c. Selama k kurang dari z.length :

1. Memasukkan hasilsplit dari j ke dalam

variable string1

2. Menambahkan obyek hash dengan

string1

3. Menambahkan obyek arr dengan

string1

6. Mengambil nilai dari hash.iterator yang

disimpan dalam variable iterasi bertipe

iterator

7. Selama iterasi.hasNext() melakukan :

a. Mengambil nilai dari iterasi.next dan

disimpan dalam variable unik bertipe

String

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

54

8. Buat obyek baru unqueset bertipe Set<String>

9. Selama uniqueset. Size() melakukan :

a. Mengecek apakah nilai dari

collection.frequency(arr, temp) lebih besar

atau sama dengan min support, jika ya

melakukan :

4. Buat obyek baru tn bertipe TreeNode

5. Memanggil method tambahCount()

6. Melakukan set item pada tn dengan

nilai dari temp

7. Melakukan setCounts dengan

Collections.frequency(ar,temp)

8. Menambahkan obyek count dengan

nilai dari tn

10. Mengembalikan nilai count

3

Transaksi

YgSesuai

(ArrayLis

t<Struktu

rTabel>

prepocesi

ng,

ArrayList

<TreeNo

de>

itemSesu

ai)

Mengambil

transaksi

yang

mengandun

g kode

yang sesuai

dengan

minimum

supportyag

dimasukka

n oleh

pengguna

1. Buat obyek baru transaksi bertipe ArrayList

<StrukturTabel>

2. Buat obyek baru trns bertipe ArrayList

<TreeNode>

3. Buat variable string bertipe String dan

diinisalisasikan dengan nilai null

4. Selama preprocessing.size() maka melakukan :

a. Mengambil kode dan di tamping di variable a

bertipe String

b. Melakukan split terhadap a dan menyimpan di

dalam variable l bertipe String[]

c. Selama l.length() maka menjalankan :

9. String = l

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

55

10. Selama itemSesuai.size() melakukan :

Jika item dari item sesuai dibandingkan

dengan nilai dari string dan

menghasilkan nilai no maka :

i. Buat obyek baru temp5 bertipe

StrukturTabel

ii. Menyimpan transaksi ke dalamtemp5

iii. Menambahkan obyek transaksi

dengan nilai dari temp5

5. Buat obyek hashurut bertipe TreeSet <String>

6. Selama i kurang dari transaksi.size() maka

menambahkan hashurut dengan nilai dari

transaksi

7. Menampung hashurut.iterator ke dalam variable

iterasi yang bertipe Iterator

8. Selama (iterasi.hasNext()) melakukan :

a. Penyimpanan isi dari iterasi.next ke dalam

variable unik bertipe String

b. Membuat obyek baru temp6 bertipe

TreeNode

c. Menyimpan isi dari variable unik ke

dalam setTransaksi dan di simpan di

obyek temp2

d. Menambahkan trns dengan temp6

9. Mengembalikan nilai trns

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

56

4

Transaksi

danItem

YangSes

uai(Array

List<Stru

kturTabel

>

prepocess

ing,

ArayList

<TreeNo

de>

transaksi

Sesuai,

ArrayList

<Struktur

Tabel>

count, int

x)

Mengambil

dan

mengurutk

an

transaksi

dan kode

yang sesuai

dengan

minimum

supportyag

dimasukka

n oleh

pengguna

1. Buat obyek baru transaksidanItemSesuai bertipe

ArrayList<StrukturTabel>

2. Buat obyek baru tis yang bertipe ArrayList

<TreeNode>

3. Buat variable y dan inisialisasikan dengan nilai

null

4. Selama preprocessing.size() maka melakukan :

a. Mengambil nilai noFaktur dan ditampung di

variable c bertipe String

b. Mengambil nilai kode dan ditampung di

variable d bertipe String

c. Selama transaksiSesuai.size() melakukan :

11. Mengambil nilai transaksi dan ditampung

di variable e bertipe String

12. Jika nilai e dibandingkan dengn nilai dari

c dan bernilai 0 maka :

Melakukan split pada nilai d dan

ditampung dalam variable l bertipe

String[]

Selama l.length() melakukan :

a) y = l

b) Selama count.size() melakukan :

i. Memanggil niai kode dari count

dan ditampung pada variable n

ii. Jika nilai n dibandingkan dengan

y menghasilkan nilai nol maka :

13. Mengambil nilai cout dan

menyimpan di variable gg

14. Selama gg >= nilai x maka :

Buat obyek baru temp7

dengan tipe StrukturTabel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

57

Melakukan set no fakur,

kode dan count pada temp7

Menambahkan

transaksidanItemSesuai

dengan temp7

15. Membuat obyek baru s[] beripe Struktur

Tabel

16. Selama transaksidanItemSesuai.size()

Membuat obyek baru bertipe

StrukturTabel dan melakukan set no

faktur, kode dan count

17. Memanggil method

Larik.quickSortDesc(s)

18. Selama s.length maka melakukan :

Melakukan set variable

struturTabel degan s[o]

Melakukan set variable n dengan

kode barang , m dengan count

barang

Buat obyek temp77 bertipe

TreeNode

Melakukan set transaksi dan item

pada temp77

Menambahkan obyek tis dengan

temp77

19. Menghapus isi dari obyek

transaksidanItemSesuai

5. Mengembalikan nilai obyek tis

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

58

5.

Datafix(

ArrayList

<TreeNo

de>

transaksi

Seuai,

ArrayList

<TreeNo

de>

transaksi

danItemS

esuai)

Memasukk

an data

transaksi

yang sesuai

ke dalam

Array

untuk

proses

pembentuk

an Tree

1. Buat obyek baru dataSet dengan tipe ArrayList

<ArrayList<String>>

2. Buat obyek baru ah yang bertipe StrukturTabel

3. Buat variable f dengan tipe String dan di

inisialisasi kan dengan nilai null

4. Buat variable string dengan tipe String dan di

inisialisasi kan dengan nilai null

5. Selama i kurang dari transaksiSesuai.size(), maka

menjalankan :

20. Memanggil transaksi dari transaksiSesuai dan

ditampung dalam variable c bertipe String

21. Buat obyek baru data dengan tipe ArrayList

<String>

22. Selama j kurang dari

transaksidanItemSesuai.size(), maka

menjalankan :

Memanggil transaksi dari

transaksidanItemSesuai dan ditampung

dalam variable e bertipe String

Jika nilai dari e dibandingkan dengan niai

dari c bernilai nol maka menampung nilai

item dalam variable f dan ditambahkan

dalam obyek data.

23. Menambahkan dataset dengan nilai dari data

6. Mengembalikan nilai dataset

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

59

6.

FP-

Tree(Arr

ayList<A

rrayList<

String>>

datafix,

Arrayist<

TreeNod

e> cek)

Membuat

struktur

Tree

1. Buat obyek baru root bertipe TreeNode()

2. Mengeset curNode dengan nilai dari root

3. Mengeset variable anak dengan memanggil

curNode.getChildNodes

4. Selama datafix.size, menjalankan :

a. Melakuakn set curNode dengan root

b. Mengambil nilai dari datafix dan disimpan

dalam variable bertipe ArrayList<String>

c. Selama items.size , menjalankan :

- Mengamil nilai items dan di simpan dalam

item bertipe String

- Membuat obyek baru temp bertipe TreeNode

- Jika variable anak tidak null , maka :

Selama anak.size(), menjalankan :

a). Menyimpan nilai dari anak di itm

bertipe TreeNode

b). Jika nilai dari itm dibandingkan

dengan item sama maka

melakukan set temp dengan itm

- Buat obyek tmp baru bertipe TreeNode

- Melakukan setItem(item) pada tmp

- Melakukan setParentNode(curNode) pada

tmp

- Menambahkan anak pada curNode dengan

nilai dari tmp

- Memangil perintah ntuk menambahkan node

baru

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

60

- Melakukan set pada curNode dengan nilai

temp

- Memanggil perintah tambahCount pada temp

5. Mengembalikan nilai dari root.

7.

addNode(

TreeNod

e tn,

ArrayList

<TreeNo

de>

head)

Menambah

kan node

dalam tree

1. Buat variable curNode dan diinisialisasikan

dengan nilai null;

2. Selama( TreeNode node : head), menjalankan :

Melakukan set curNode dengan temp

Jika node.getItem() sama dengan

tn.getItem() maka :

Mengeset nilai curNode dengan node

Selama curNode.getNextNode() tidak

sama dengan null maka mengeset

curNode dengan

curNode.getNextNode()

3. Mengeset nextNode pada curNode dengan tn

4. Mengembaikan nilai curNode

3.4.5.3 Algoritma Kelas LihatHasilAlgoTabelModel

Tabel 3.16 Algoritma Kelas LihatHasilAlgoTabelModel

No Nama

Method

Fungsi

Method Algoritma Method

1. delete(int

row)

Menghapus

row yang

ada

1. Memanggil method remove( row) pada obyek

rule

2. Memanggil method fireTable

RowDeleted(row,row)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

61

2. update

Melakukan

perubahan

terhadap row

yang ada

1. Memanggil method update( row) pada obyek

rule

2. Memanggil method fireTable

RowUpdated(row,row)

3. add

Menambahka

n row pada

tabel

3. Memanggil method add( row) pada obyek rule

4. Memanggil method fireTable

RowInserted(row,row)

4. getValueA

t

Mengambil

nilai dari

baris dan

kolom

1. Menjalankan perintah rule.get(rowIndex) dan

ditampung di variable s bertipe ambilHasil

2. Melakukan switch(coloumIndex)

3. Case 0 : megembalikan nilai candidate

4. Case 1 : mengembalikan nilai item

5. Case 2 : mengembalikan nilai count

6. Case 3 : mengembalikan nilai confidence

7. Case 4 : mengembalikan nilai suppxconf

5. getColou

mName

Mengambil

nama kolom

dalam tabel

1. Melakukan switch(coloumIndex)

2. Case 0 : mengembalikan “Produk 1 ”

3. Case 1 : mengembalikan “Produk 2 ”

4. Case 2 : mengembalikan “Support ”

5. Case 3 : mengembalikan “Confidence ”

6. Case 4 : mengembalikan “Sup x Con ”

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

62

3.4.5.4 Algoritma Kelas Konn

Tabel 3.17 Algoritma Kelas Konn

No Nama

Method

Fungsi

Method Algoritma Method

1.

Konn(String

namaDB,

String url,

String

username,

String

password)

Melakukan

koneksi ke

database

1. Memanggil method getClose()

2. Menjalankan method DriverManager

dengan mengambil nilai masukkan

berupa nama database, url, username

dan password dan disimpan dalam

atribut connection

3. Apabila koneksi berhasil maka

menampilkan pesan “ Koneksi berhasil”

4. Apabila koneksi gagal akan

menampilkan pesan “ Koneksi gagal”

2. isConnected

Mengecek

apakah koneksi

dengan

database

terhubung atau

tidak

1. Menjalankan perintah if dengan syarat

apabila atribut connection tidak null

maka akan mengembalikan nilai true

2. Apabila atribut connection bernilai null

maka mengembalikan nilai false

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

63

3. getClose

Method ini

berfungsi

untuk memutus

koneksi ke

database

5.1 Melakukan perintah if dengan syarat

apakah terhubung ke database atau

tidak, jika terhubung maka akan

dilakukan pemutusan koneksi dan

melakukan set pada atribut connection

dengan niai null

5.2 Jika tidak terhubung kembalikan nilai

false

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

64

3.5 Perancangan Antar Muka Pengguna

3.5.1 Perancangan Antar Muka Halaman Home

Gambar 3.12 Perancangan Antar Muka Home

Penjelasan gambar :

Gambar 3.12 merupakan halaman awal tampilan dari sistem pencarian pola asosiasi

barang dengan menggunakan algoritma FP –Growth. Halaman ini berisi Judul dari

penelitian yang peneliti lakukan, logo universitas, tombol keluar untuk keluar dari

system, tombol bantuan untuk melihat informasi tentang system, dan tombol masuk

untuk memulai proses pencarian rule.

PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN

UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG

DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH

Logo

Universitas

KELUAR BANTUAN MASUK

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

65

3.5.2 Perancangan Antar Muka Halaman Open

Gambar 3.13 Perancangan Antar Muka Halaman Open

Penjelasan gambar :

Gambar 3.13 merupakan perancangan antar muka halaman open ketika pengguna

telah melakukan klik pada tombol masuk. Pada halaman ini terdapat masukan berupa

koneksi database, namadatabase, username, password dan url. Pengguna dapat

memilih tabel transaksi yang akan digunakan ketika telah terkoneksi dengan

database. Halaman ini pula akan menampilkan isi dari tabel transaksi yang telah

dipilih. Untuk melakukan preprocessing pengguna harus mengisikan indeks nofaktur

dan indeks kode pada kolom yang tersedia.

PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN

UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG

DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH

Logo

Universitas

Prepocessing

Nama Database :

Url :

Username :

Password :

Batal

Cek Koneksi

Pilih Tabel :

OKE

TABEL DATA TRANSAKSI

Masukkan indeks no faktur dan kode barang pada kolom di bawah ini :

No faktur : Kode :

Pengambilan Data Prepocessing Hasil Proses

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

66

3.5.3 Perancangan Antar Muka Halaman Prepocessing

Gambar 3.14 Perancangan Antar Muka Halaman Prepocessing

Penjelasan gambar :

Gambar 3.14 merupakan perancangan antar muka halaman preprocessing. Halaman

ini berisi tabel transaksi hasil preprocessing, masukkan minimum support dari

pengguna untuk melanjutkan ke proses pencarian rule.

PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN

UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG

DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH

Logo

Universitas

Process

TABEL DATA TRANSAKSI HASIL PREPOCESSING

Jumlah data transaksi :

Minimum Support : % dari

Pengambilan Data Prepocessing Hasil Proses

Jenis Item Barang :

transaksi

Konfirmasi

Banyak Kemunculan : kali dari transaksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

67

3.5.4 Perancangan Antar Muka Halaman Hasil Proses

Gambar 3.15 Perancangan Antar Muka HalamanHasil Proses

Penjelasan gambar :

Gambar 3.15 merupakan perancangan antar muka halaman hasil proses yang berisi

tabel rule hasil dari proses. Selain itu juga berisi penjelasan terhadap rule yang

dihasilkan.

PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN

UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG

DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH

Logo

Universitas

Home

TABEL RULE HASIL PROSES

Jumlah data transaksi : Min Supp:

Penjelasan rule dari hasil proses

Pengambilan Data Prepocessing Hasil Proses

Jenis Item Barang :

Save

Waktu Komputasi Pencarian rule :

Back

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

68

3.5.5 Perancangan Antar Muka Halaman Bantuan

Gambar 3.16 Perancangan Antar Muka Halaman Bantuan

Penjelasan gambar :

Gambar 3.16 merupakan halaman bantuan. Halaman ini berisi langkah – langkah

pencarian rule maupun informasi mengenai sistem ini.

PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN

UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG

DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH

Logo

Universitas

Home

LANGKAH – LANGKAH PROSES ALGORITMA

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

69

BAB IV

IMPLEMENTASI SISTEM

Setelah melakukan analisis dan perancangan sistem, maka tahap berikutnya adalah

melakukan implementasi terhadap rencangan yang telah di buat ke sebuah sistem untuk

melakukan proses prediksi minat konsumen terhadap suatu barang di sebuah perusahaan XYZ.

Implementasi ini dilakukan dengan menggunakan bahasa pemrograman Java dengan

menggunakan Netbeans IDE versi 7.2 pda computer dengan spesifikasi intel core i3, memori

1GB.

4.1 Implementasi Antar Muka Pengguna

Berikut adalah hasil implementasi antar muka pengguna dari sistem deteksi minat

konsumen dengan menggunakan algoritma FP-Growth :

4.1.1 Implementasi Antar Muka Halaman_Open

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

70

Gambar 4.1 Halaman_Open

Tabel 4.1 Keterangan Halaman_Open

Id Objek Jenis Teks Keterangan

PanelKoneksi JPanel - Panel yang mendasari bagian cari

koneksi database

lblNamaDb Jlabel Nama

Database

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk memasukkan

nama database

lblNamaUrl Url

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk memasukkan

alamat url

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

71

lblUsername Username

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk memasukkan

username

lblPwd Password

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk memasukkan

password

titikdua1 Jlabel : -

titikdua2 Jlabel : -

titikdua3 Jlabel : -

titikdua4 Jlabel : -

txtNamaDatabase JtextField -

Kolom yang bertujuan untuk

pengguna menuliskan nama

database

txtUrl JtextField - Kolom yang bertujuan untuk

pengguna menuliskan alamat url

txtUsername JtextField -

Kolom yang bertujuan untuk

pengguna menuliskan nama

username

txtPassword JpasswordF

ield -

Kolom yang bertujuan untuk

pengguna menuliskan password

btnBatalKoneksi Jbutton Batal

Tombol yang bertujuan untuk

mengosongkan kembali kolom

nama database, url, username,

password

btnCekKoneksiDB Jbutton Cek

Koneksi

Tombol yang bertujuan untuk

melakukan cek koneksi terhadap

nama database, url, username,

password yang telah dituliskan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

72

pengguna pada kolom yang

tersedia

PanelPilihTabel Jpanel - Panel yang mendasari bagian cari

table transaksi

lblPilihTabel Jlabel Pilih

Tabel

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk memilih tabel

transaksi

Titikdua Jlabel : -

comboPilihTabel JcomboBo

x -

Berisi pilihan – pilihan tabel yang

ada pada database yang telah

terkoneksi

btnOkePilihanTabel Jbutton Oke

Tombol ini bertujuan untuk

menampilkan isi dari tabel yang

dipilih pengguna ke dalam tabel

yang ada di layar output

PanelDataTransaksi Jpanel - Panel yang mendasari tabel

transaksi

lblJumlahData Jlabel Jumlah

Data

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna jumlah data transaksi

yang ada

titikdua5 Jlabel : -

lblJmlhData2 Jlabel -

Menampilkan jumlah data

transaksi yang ada pada tabel

transaksi yang dipilih

lblIndek1 Jlabel -

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk mengisi kolom

indeks nofaktur dan kolom kode

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

73

lblIndek2 Jlabel -

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk mengisi kolom

indeks nofaktur dan kolom kode

lblNoFaktur Jlabel No Faktur

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk mengisi kolom

indeks nofaktur

txtIndekNoFaktur JtextField Kolom untuk pengguna

menuliskan indeks nofaktur

lblIndekKode Jlabel Kode

Barang

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk mengisi kolom

indeks kode

txtIndekKode JtextField Kolom untuk pengguna

menuliskan indeks kode

btnPrepocessing Jbutton Prepocessi

ng

Tombol yang bertujuan untuk

melakukan proses preprocessing

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

74

4.1.2 Implementasi Antar Muka Halaman_Prepocessing

Gambar 4.2 Halaman_Prepocessing

Tabel 4.2 Keterangan Halaman_Prepocessing

Id Objek Jenis Teks Keterangan

PanelDataPreposesi

ng JPanel -

Panel yang mendasari hasil proses

prepocessing

ScrollPaneTableDat

aHasilPrepocessing JScrollPane -

ScrollPaneyang berfungsi agar

tabel bisa di scroll ke bawah

TableDataHasilPrep

ocessing JTable -

Menampung data transaksi hasil

prepocessing

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

75

lblJmlhDtTransaksi JLable

Jumlah

Data

Transaksi

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna jumlah data transaksi

setelah hasil preprocessing

titikdua8 JLable : -

lblJmlhDataPrepoce

ssing JLable -

Menampilkan jumlah data

transaksi hasil prepocessing

lblJenisItem JLable Jenis Item

Barang

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna jumlah data item barang

setelah hasil prepocessing

titikdua9 JLable : -

lblJmlhItemPrepoce

ssing1 JLable -

Menampilkan jumlah item

transaksi hasil prepocessing

lblMinSupp JLable Minimum

Support

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna untuk menuliskan

minimum support

titikdua10 JLable : -

txtMin_supp JTextField Kolom untuk pengguna

menuliskan minimum support

lblMinnsupp2 JLable % dari

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang minimum

support

lblJmlhDataPrepoce

ssing1 JLable -

Menampilkan jumlah data

transaksi hasil prepocessing

lblMinsupp3 JLable transaksi

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang minimum

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

76

support

btnOkMin_Supp JButton Konfirmas

i

Tombol untuk menghitung jumlah

kemunculan item dalam transaksi

lblBnykKemuncula

n JLable

Banyak

Kemuncul

an

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang banyak item

yang muncul dalam transaksi

berdasar minimum support

titikdua11 JLable : -

lblJmlhItemMuncul JLable -

Menampilkan banyak banyak item

yang muncul dalam transaksi

berdasar minimum support

lblBnykKemuncula

n2 JLable kali dari

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang banyak item

yang muncul dalam transaksi

berdasar minimum support

lblJmlhDataPrepoce

ssing2 JLable -

Menampilkan jumlah data

transaksi hasil prepocessing

lblBnykKemuncula

n3 JLable transaksi

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang banyak item

yang muncul dalam transaksi

berdasar minimum support

btnProses JButton Process Tombol yang bertujuan untuk

melakukan proses pencarian rule

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

77

4.1.3 Implementasi Antar Muka Halaman_HasilProses

Gambar 4.3 Halaman_HasilProses

Tabel 4.3 Keterangan Halaman_HasilProses

Id Objek Jenis Teks Keterangan

Halaman_HasilPros

es JPanel -

Panel yang mendasari hasil proses

dari pencarian rule

ScrollPaneTableHas

ilProses JscrollPane -

ScrollPaneyang berfungsi agar

tabel bisa di scroll ke bawah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

78

TabelHasilProses Jtable - Menampung rule hasil proses

lblKetTable Jlable

Tabel

Hasil

Proses

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna bahwa tabel di bawah

adalah tabel hasil proses

btnSave Jbutton Save

Tombol yang berfungsi untuk

melakukan penyimpanan data hasil

proses

btnKembali Jbutton Home Tombol yang berfungsi untuk

kembali menuju Halaman_Home

ScrollPaneTextArea JscrollPane - ScrollPaneyang berfungsi agar

textarea bisa di scroll ke bawah

TextAreaHasil JtextArea - Menampung penjelasan rule hasil

proses

lblPenjelasanRule Jlable Penjelasan

Hasil Rule

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna mengenai penjelasan

hasil rule

lblTingkatAkurasi2 Jlable

Tingkat

Akurasi

Algoritma

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang tingkat akurasi

dari algoritma

lblTingkatAkurasi Jlabel - Menampilkan hasil perhitungan

akurasi algoritma

lblMinSuppHasilPr

oses Jlabel

Minimum

Support :

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang minimum

support

lblMinSuppHasilPr

oses2 Jlabel - Menampilkan minimum support

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

79

lblJmlhDtTransHasi

lProses Jlabel

Jumlah

Data

Transaksi

:

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang jumlah data

transaksi

lblJmlhDtTransHasi

lProses Jlabel -

Menampilkan jumlah data

transaksi

lblItemTransHasilPr

oses Jlabel

Jumlah

Item :

Tulisan yang tampil pada halaman

untuk memberikan keterangan

pengguna tentang jumlah item

lblItemTransHasilPr

oses Jlabel - Menampilkan jumlah item

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

80

4.1.4 Implementasi Antar Muka Halaman_Home

Gambar 4.4 Halaman_Home

Tabel 4.4 Keterangan Halaman_Home

Id Objek Jenis Teks Keterangan

PanelHome JPanel - Panel yang mendasari

Halaman_Home

lblLogo JLable - Menampilkan logo universitas

btnKeluarHome JButton Keluar Tombol yang bertujuan untuk

keluar dari aplikasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

81

lblJudul1 JLable

Penerapan

Data

Mining Pada

Perusahaan

Retail

Pakaian

Judul

lblJudul2 JLable

Untuk

Memprediks

i Minat

Konsumen

Judul

lblJudul3 JLable

Dengan

Menggunak

an

Algoritma

FP-Growth

Judul

btnBantuanHome JButton Bantuan Tombol yang bertujuan untuk

masuk ke Halaman_Bantuan

btnMasukHome JButton Masuk Tombol yang bertujuan untuk

masuk ke Halaman_Open

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

82

4.1.5 Implementasi Antar Muka Halaman_Bantuan

Gambar 4.5 Halaman_Bantuan

Tabel 4.5 Keterangan Halaman_Bantuan

Id Objek Jenis Teks Keterangan

PanelJudul JPanel - Panel yang mendasari Judul

PanelLangkahSistem JPanel - Berisi langkah – langkah

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

83

btnHomeBantuan JButton HOME Tombol untuk kembali ke halaman

home

4.2 Implementasi Kelas

4.2.1 Implementasi Kelas Model

Tabel 4.6 Implementasi dari kelas model

No. Nama Kelas Model Nama File Fisik Nama File Executable

1. Koneksi Koneksi.java Koneksi.class

2. StrukturTabel StrukturTabel.java StrukturTabel.class

3. TreeNode TreeNode.java TreeNode.class

4. Comparable Comparable.java Comparable.class

5. AmbilHasil AmbilHasil.java AmbilHasil.class

6. LihatHasilAlgoTableM

odel

LihatHasilAlgoTableMo

del.java

LihatHasilAlgoTableMo

del.class

4.2.2 Implementasi Kelas Controller

Tabel 4.7 Implementasi dari Kelas Controller

No. Nama Kelas Controller Nama File Fisik Nama File Executable

1. Konn Konn.java Konn.class

2. ControlAlgorithm ControlAlgorithm.java ControlAlgorithm.class

3. Control_Database Control_Database.java Control_Database.class

4. Larik Larik.java Larik.class

4.2.3 Implementasi Kelas View

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

84

Tabel 4.8 Implementasi dari kelas view

No. Use Case Antarmuka Nama Kelas Boundary

1. Cari Database dan

Data Transaksi Halaman_Open.java Halaman_Open.java

2. Cari Pola Asosiasi

Barang Halaman_Prepocessing.java Prepocessing.java

3. Simpan Hasil

Asosiasi Barang Halaman_HasilProses.java HasilProses.java

(Listing program terlampir pada Lampiran 1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

85

BAB V

UJICOBA DAN EVALUASI

Setelah aplikasi prediksi dengan menggunakan algoritma FP-Growth selesai di buat, pada

tahap ini akan dilakukan ujicoba terhadap aplikasi tersebut. Ujicoba dilakukan dengan

menggunakan data transaksi penjualan dalam perusahan XYZ. Data transaksi yang digunakan

untuk unicoba adalah data transaksi penjualan selama 3 hari pada tanggal 1 April 2015 sampai

dengan tanggal 3 April 2015.

Dalam ujicoba ini akan dilakukan beberapa jenis percobaan untuk setiap data transaksi

dengan tujuan untuk mendapatkan aturan asosiasi dengan algoritma FP-Growth yang akurat dan

dapat dijadikan sebagai prediksi dalam menentukan stok barang dalam perusahaan.

5.1 Percobaan Data Transaksi Berdasarkan Kode Kategori Per Hari

Pada percobaan yang pertama ini, penulis melakukan ujicoba pada system tersebut

dengan menggunakan data transaksi penjualan pada perusahaan XYZ dengan berdasarkan kode

kategori barang yang ada pada perusahaan.

Percobaan ini akan dilakukan sebanyak 4 kali di setiap tanggal 1 April 2015, 2 April

2015 dan 3 April 2015 dengan dilakukan pengubahan pada minimum support yang dimasukkan.

Pada ujicoba tersebut akan menggunakan minimum support dengan nilai sebesar 3%, 2.5%, 2%

dan 1.5 %. Penulis mengunakan nilai minimum supportdengan beberapa nilai tersebut dengan

alasan karena data transaksi tersebut tidak memiliki persebaran nilai yang merata. Apabila

menggunakan nilai minimum support besar maka tidak akan menampilkan rule. Sedangkan

apabila menggunkan minimum support dengan nilai dibawah yang telah ditentukan oleh penulis,

akan menghasilkan rule yang sangat banyak, sehingga akan sulit untuk dianalisa.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

86

5.1.1 Percobaan pada data transaksi tanggal 1 April 2015

Data transaksi yang digunakan adalah sebanyak 2245 , sedangkan jumlah item

yang ada sebanyak 91.

a. Percobaan tanggal 1 April 2015 dengan minimum support 3%

Tabel 5.1 Percobaan tanggal 1 April 2015 dengan minimum support 3%

No Produk 1 Produk 2 Support Confidence LiftRatio

1 ACC(700) SENDAL(510) 0.68 0.21 1.27419

Waktu Komputasi Pencarian Rule : 1 detik

Pada saat peneliti menggunakan minimum support 3% hanya terdapat satu buah rule yang

dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua barang

tersebut adalah 0.68 persen, besar confidence adalah 0.21, besar nilai lift ratio sebesar

1.27419. Proses algoritma tersebut membutuhkan waktu sebesar 1 detik.

b. Percobaan tanggal 1 April 2015 dengan minimum support 2.5 %

Tabel 5.2 Percobaan tanggal 1 April 2015 dengan minimum support 2.5%

No Produk 1 Produk 2 Support Confidence LiftRatio

1 K.KAKI(640) ACC(700) 0.56 0.589 4.08119

2 ACC(700) SENDAL(510) 0.68 0.21 1.27419

Waktu Komputasi Pencarian Rule : 2 detik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

87

Pada saat peneliti menggunakan minimum support 2,5% terdapat dua buah rule yang

dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua barang

tersebut adalah 0.68 persen, besar confidence adalah 0.21 ,dengan nilai lift ratio sebesar

1.27419. Yang kedua adalah kode K.KAKI(640) dan ACC(700) dengan support kedua

barang tersebut adalah 0.56 persen, besar confidence adalah 0.589 ,dengan nilai lift ratio

sebesar 4.08119. Waktu yang di butuhkan untuk melakukan proses tersebut adalah 2

detik

c. Percobaan tanggal 1 April 2015 dengan minimum support 2 %

Tabel 5.3 Percobaan tanggal 1 April 2015 dengan minimum support 2 %

No Produk 1 Produk 2 Support Confidence LiftRatio

1 K.KAKI(640) ACC(700) 0.56 0.589 4.08119

2 ACC(700) SENDAL(510) 0.68 0.21 1.27419

Waktu Komputasi Pencarian Rule : 2 detik

Pada saat peneliti menggunakan minimum support 2,5% terdapat dua buah rule yang

dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua barang

tersebut adalah 0.68 persen, besar confidence adalah 0.21 ,dengan nilai lift ratio sebesar

1.27419. Yang kedua adalah kode K.KAKI(640) dan ACC(700) dengan support kedua

barang tersebut adalah 0.56 persen, besar confidence adalah 0.589 ,dengan nilai lift ratio

sebesar 4.08119. Waktu yang di butuhkan untuk melakukan proses tersebut adalah 2

detik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

88

d. Percobaan tanggal 1 April 2015 dengan minimum support 1.5 %

Tabel 5.4 Percobaan tanggal 1 April 2015 dengan minimum support 1.5 %

No Produk 1 Produk 2 Support Confidence LiftRatio

1 JAM TANGAN(450) SENDAL(510) 0.34 0.274 1.66251

2 JAM TANGAN(450) ACC(700) 0.41 0.331 2.2935

3 K.KAKI(640) ACC(700) 0.56 0.589 4.08119

4 ACC(700) SENDAL(510) 0.68 0.21 1.27419

Waktu Komputasi Pencarian rule : 2 detik

Pada saat peneliti menggunakan minimum support 2 % terdapat empat buah rule yang

dihasilkan yaitukode JAM TANGAN( 450) dan SENDAL(510) dengan support kedua

barang tersebut adalah 0.34 persen, besar confidence adalah 0.274 ,besar nilai lift

ratioadalah 1.66251. Yang kedua adalah kode JAM TANGAN(450) dan ACC(700)

dengan support kedua barang tersebut adalah 0.41 persen, besar confidence adalah 0.331

,besar nilai lift ratio adalah 2.2935

Yang ketiga adalah kode K.KAKI(640) dan ACC(700) dengan support kedua barang

tersebut adalah 0.56 persen, besar confidence adalah 0.589 ,besar nilai lift ratio adalah

4.08119. Yang keempat adalah kode ACC(700) dan SENDAL(510) dengan support

kedua barang tersebut adalah 0.68 persen, besar confidence adalah 0.21 ,besar nilai lift

ratio adalah 1.27419. Waktu yang dibutuhkan untuk melakukan proses tersebut adalah 2

detik

Dari hasil pengujian terhadap data transaksi tanggal 1 April 2015, kesimpulan yang dapat

diambil adalah sebagai berikut :

1. Dari hasil ke empat percobaan pola dengan kode ACC(700) dan SENDAL(510)

adalah dua barang yang selalu muncul dengan berbagai minimum support.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

89

2. Tingkat keakuratan rule dari keempat proses tersebut yang paling besar terdapat

pada rule kode K.KAKI(640) dan ACC(700) , dengan nilai lift ratio sebesar

4.08119.

5.1.2 Percobaan pada data transaksi tanggal 2 April 2015

Data transaksi yang digunakan adalah sebanyak 2450 , sedangkan jumlah item

yang ada sebanyak 89.

a. Percobaan tanggal 2 April 2015 dengan minimum support 3%

Tabel 5.5 Percobaan tanggal 2 April 2015 dengan minimum support 3%

No Produk 1 Produk 2 Support Confidence LiftRatio

Waktu Komputasi Pencarian rule : -

Pada saat pengguna menggunakan minimum support 3 % tidak menghasilkan suatu pola

apapun.

b. Percobaan tanggal 2 April 2015 dengan minimum support 2.5 %

Tabel 5.6 Percobaan tanggal 2 April 2015 dengan minimum support 2.5%

No Produk 1 Produk 2 Support Confidence LiftRatio

1 ACC(700) SENDAL(510) 0.69 0.22 1.32432

Waktu Komputasi Pencarian rule : 2 detik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

90

Pada saat peneliti menggunakan minimum support 2.5 % hanya terdapat satu buah rule

yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua barang

tersebut adalah 0.69 persen, besar confidence adalah 0.22, besar nilai lift ratio adalah

sebesar 1.32432. Waktu yang diperlukan untuk melakukan proes tersebut sebesar 2 detik

c. Percobaan tanggal 2 April 2015 dengan minimum support 2 %

Tabel 5.7 Percobaan tanggal 2 April 2015 dengan minimum support 2%

No Produk 1 Produk 2 Support Confidence LiftRatio

1 ACC(700) SENDAL(510) 0.69 0.22 1.32432

Waktu Komputasi Pencarian rule : 2 detik

Pada saat peneliti menggunakan minimum support 2.5 % hanya terdapat satu buah rule

yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua barang

tersebut adalah 0.69 persen, besar confidence adalah 0.22, besar nilai lift ratio adalah

sebesar 1.32432. Waktu yang diperlukan untuk melakukan proes tersebut sebesar 2 detik

d. Percobaan tanggal 2 April 2015 dengan minimum support 1.5 %

Tabel 5.8 Percobaan tanggal 2 April 2015 dengan minimum support 1.5 %

No Produk 1 Produk 2 Support Confidence LiftRatio

1 JOGER(531) ATASAN CE(610) 0.43 0.222 1.46604

2 ACC(700) SENDAL(510) 0.69 0.22 1.32432

3

ATASAN

CE(610) SENDAL(510) 0.42 0.113 0.68022

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

91

4 TAS(340) SENDAL(510) 0.4 0.223 1.34238

Waktu Komputasi Pencarian rule : 2 detik

Pada saat peneliti menggunakan minimum support 1.5% terdapat 4 buah rule yang

dihasilkan yaitu kode JOGER(531) dan ATASAN CE(610) dengan support kedua

barang tersebut adalah 0.43 persen, besar confidence adalah 0.22, besar lift ratio adalah

1.46604 . Yang kedua adalah kode ACC(700) dan SENDAL(510) dengan support kedua

barang tersebut adalah 0.69 persen, besar confidence adalah 0.22, lift ratio adalah

1.32432. Yang ketiga adalah kode ATASAN CE(610) dan SENDAL(510) dengan

support kedua barang tersebut adalah 0.42 persen, besar confidence adalah 0.113, besar

nilai lift ratio adalah 0.68022. Yang keempat adalahkode TAS(340) dan

SENDAL(510) dengan support kedua barang tersebut adalah 0.4 persen, besar

confidence adalah 0.223, besar nilai lift ratio adalah 1.34238 . Waktu yang dibutuhkan

untuk menjalankan proses tersebut adalah 2 detik.

e. Percobaan tanggal 2 April 2015 dengan minimum support 1.4 %

Tabel 5.9 Percobaan tanggal 2 April 2015 dengan minimum support 1.4%

No Produk 1 Produk 2 Support Confidence LiftRatio

1 JOGER(531)

ATASAN

CE(610) 0.43 0.222 1.46604

2 ACC(700) SENDAL(510) 0.69 0.22 1.32432

3

ATASAN

CE(610) SENDAL(510) 0.42 0.113 0.68022

4 TAS(340) SENDAL(510) 0.4 0.223 1.34238

5 ACC(700) ATASAN 0.36 0.115 0.75943

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

92

CE(610)

6 K.KAKI(640) ACC(700) 0.34 0.415 3.23806

Waktu Komputasi Pencarian rule : 2 detik

Pada saat peneliti menggunakan minimum support 1.5 % terdapat 4 buah rule yang

dihasilkan yaitu kode JOGER(531) dan ATASAN CE(610) dengan support kedua

barang tersebut adalah 0.43 persen, besar confidence adalah 0.22, besar lift ratio adalah

1.46604 . Yang kedua adalah kode ACC(700) dan SENDAL(510) dengan support kedua

barang tersebut adalah 0.69 persen, besar confidence adalah 0.22, lift ratio adalah

1.32432. Yang ketiga adalah kode ATASAN CE(610) dan SENDAL(510) dengan

support kedua barang tersebut adalah 0.42 persen, besar confidence adalah 0.113, besar

nilai lift ratio adalah 0.68022. Yang keempat adalahkode TAS(340) dan

SENDAL(510) dengan support kedua barang tersebut adalah 0.4 persen, besar

confidence adalah 0.223, besar nilai lift ratio adalah 1.34238 . Yang kelima adalahkode

ACC(700) dan ATASAN CE(610) dengan support kedua barang tersebut adalah 0.36

persen, besar confidence adalah 0.115, besar nilai lift ratio adalah 0.75943. Yang keenam

adalahkode K.KAKI(640) dan ACC(700) dengan support kedua barang tersebut adalah

0.34 persen, besar confidence adalah 0.115, besar nilai lift ratio adalah 3.23806.

Waktu yang dibutuhkan untuk menjalankan proses tersebut adalah 2 detik.

Dari hasil pengujian terhadap data transaksi tanggal 2 April 2015, dan dari prediksi yang

dilakukan pada data transaksi 1 April 2015, kesimpulan yang adapat diambil adalah

sebagai berikut :

5.1.1 Dari hasil ke empat percoban pola dengan kode ACC(700) dan

SENDAL(510) adalah dua barang yang selalu muncul dengan berbagai minimum

support. Hal ini sesuai dengan pola yang dihasilkan ketika percobaan tanggal 1

April 2015, tetapi nilai dari support, confiden dan lift ratio lebih besar karena

jumlah data transaksi pada tanggal 2 April 2015 lebih banyak dari data transaksi

tanggal 1 April 2015.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

93

5.1.2 Tingkat keakuratan rule dari proses tersebut yang paling besar terdapat

pada rule kode K.KAKI(640) dan ACC(700) , dengan nilai lift ratio sebesar

3.23086. Apabila dilihat prediksi berdasarkan hasil rule pada tanggal 1 April

2015, maka rule tersebut sesuai.

5.1.3 Percobaan pada data transaksi tanggal 3 April 2015

Data transaksi yang digunakan adalah sebanyak 2684 , sedangkan jumlah item

yang ada sebanyak 91.

a. Percobaan tanggal 3 April 2015 dengan minimum support 3%

Tabel 5.10 Percobaan tanggal 3 April 2015 dengan minimum support 3%

No Produk 1 Produk 2 Support Confidence LiftRatio

1 ACC(700) SENDAL(510) 1.08 0.286 1.60927

Waktu Komputasi Pencarian rule : 2 detik

Pada saat peneliti menggunakan minimum support 3 % hanya terdapat satu buah rule

yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua barang

tersebut adalah 1.08 persen, besar confidence adalah 0.286, besar nilai lift ratio adalah

1.60927 danwaktu yng dibutuhkan untuk melakukan proses tersebut sebesar 2 detik

b. Percobaan tanggal 3 April 2015 dengan minimum support 2.5 %

Tabel 5.11 Percobaan tanggal 3 April 2015 dengan minimum support 2.5%

No Produk 1 Produk 2 Support Confidence LiftRatio

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

94

1 ACC(700) SENDAL(510) 1.08 0.286 1.60927

Waktu Komputasi Pencarian rule : 2 detik

Pada saat peneliti menggunakan minimum support 2.5 % hanya terdapat satu buah rule

yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua barang

tersebut adalah 1.08 persen, besar confidence adalah 0.286, besar nilai lift ratio adalah

1.60927 danwaktu yng dibutuhkan untuk melakukan proses tersebut sebesar 2 detik

c. Percobaan tanggal 3 April 2015 dengan minimum support 2 %

Tabel 5.12 Percobaan tanggal 3 April 2015 dengan minimum support 2%

No Produk 1 Produk 2 Support Confidence LiftRatio

1 ACC(700) SENDAL(510) 1.08 0.286 1.60927

Waktu Komputasi Pencarian rule : 3 detik

Pada saat peneliti menggunakan minimum support 2 % hanya terdapat satu buah rule

yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua barang

tersebut adalah 1.08 persen, besar confidence adalah 0.286, besar nilai lift ratio adalah

1.60927 danwaktu yng dibutuhkan untuk melakukan proses tersebut sebesar 3 detik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

95

d. Percobaan tanggal 3 April 2015 dengan minimum support 1.5 %

Tabel 5.13 Percobaan tanggal 3 April 2015 dengan minimum support 1.5%

No Produk 1 Produk 2 Support Confidence LiftRatio

1 JAM TANGAN(450) ACC(700) 0.42 0.359 2.54909

2 K.KAKI(640) ACC(700) 0.52 0.553 3.92659

3 JOGER(531) ATASAN

CE(610) 0.52 0.259 2.02669

4 ACC(700) SENDAL(510) 1.08 0.286 1.60927

5 ATASAN CE(610) ACC(700) 0.48 0.14 0.99407

6 TAS(340) SENDAL(510) 0.46 0.179 1.0072

7 TAS(340) ACC(700) 0.5 0.195 1.3846

Waktu Komputasi Pencarian rule : 3 detik

Pada saat pengguna menggunakan minimum support 1.5 % terdapat 7 buah rule yang

dihasilkan yaitu kode JAM TANGAN(450) dan ACC(700) dengan support kedua

barang tersebut adalah 0.42 persen, besar confidence adalah 0.359, besar nilai lift ratio

adalah 2.54909. Yang kedua adalah kode K.KAKI(640) dan ACC(700) dengan support

kedua barang tersebut adalah 0.52 persen, besar confidence adalah 0.553, besar nilai lift

ratio adalah 3.92659. Yang ketiga adalah kode JOGER(531) dan ATASAN CE(610)

dengan support kedua barang tersebut adalah 0.52 persen, besar confidence adalah

0.14368, besar nilai lift ratio adalah 2.02669. Yang keempat adalah kode ACC(700)

dan SANDAL(510) dengan support kedua barang tersebut adalah 1.08 persen, besar

confidence adalah 0.286, besar nilai lift ratio adalah 1.60927. Yang kelima adalah kode

ATASAN CE(610) dan ACC(700) dengan support kedua barang tersebut adalah 0.48

persen, besar confidence adalah 0.179, besar nilai lift ratio adalah 0.99407. Yang keenam

adalah kode TAS(340) dan SANDAL(510) dengan support kedua barang tersebut

adalah 0.46 persen, besar confidence adalah 0.179, besar nilai lift ratio adalah 1.0072.

Yang ketujuh adalah kode TAS(340) dan ACC(700) dengan support kedua barang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

96

tersebut adalah 0.5 persen, besar confidence adalah 0.195, besar nilai lift ratio adalah

1.3846. Waktu yang dibutuhkan untuk melakukan proses tersebut adalah 3 detik

Dari hasil pengujian terhadap data transaksi tanggal 3 April 2015, dan dari prediksi yang

dilakukan pada data transaksi 2 April 2015, kesimpulan yang adapat diambil adalah

sebagai berikut :

1. Dari hasil ke empat percoban pola dengan kode ACC(700) dan SENDAL(510)

adalah dua barang yang selalu muncul dengan berbagai minimum support. Hal ini

sesuai dengan pola yang dihasilkan ketika percoban tanggal 2 April 2015, tetapi

nilai dari support, confiden dan nilai lift ratio lebih besar karena jumlah data

transaksi pada tanggal 3 April 2015 lebih banyak dari data transaksi tanggal 2

April 2015.

2. Tingkat keakuratan algoritma dari keempat percobaan proses tersebut yang paling

besar adalah pada kode K.KAKI(640) dan ACC(700) dengan nilai lift ratio

sebesar 3.92659

5.2 Percobaan Data Transaksi Berdasarkan Kode Kategori Per 2 Hari

5.2.1 Percobaan pada data transaksi tanggal 1 dan 2 April 2015

Data transaksi yang digunakan adalah sebanyak 4695, sedangkan jumlah item

yang ada sebanyak 92.

a. Percobaan tanggal 1 dan 2 April 2015 dengan minimum support 3 %

Tabel 5.14Percobaan tanggal 1 dan 2 April 2015 dengan minimum support 3 %

No Produk 1 Produk 2 Support Confidence LiftRatio

Waktu Komputasi Pencarian rule :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

97

Pada saat peneliti menggunakan minimum support 3 % tidak menghasilkan suatu

rule apapun.

b. Percobaan tanggal 1 dan 2 April 2015 dengan minimum support 2.5 %

Tabel 5.15Percobaan tanggal 1 dan 2 April 2015 dengan minimum support 2.5 %

No Produk 1 Produk 2 Support Confidence LiftRatio

1 ACC(700) SENDAL(510) 1.37 0.125 1.29913

Waktu Komputasi Pencarian rule : 4 detik

Pada saat peneliti menggunakan minimum support 2.5 % hanya terdapat satu

buah rule yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan

support kedua barang tersebut adalah 1.37 persen, besar confidence adalah 0.125,

besar nilai lift ratio adalah sebesar1.29913. Waktu yang diperlukan untuk

melakukan proses tersebut adalah 4 detik.

c. Percobaan tanggal 1 dan 2 April 2015 dengan minimum support 2%

Tabel 5.16Percobaan tanggal 1 dan 2 April 2015 dengan minimum support 2 %

No Produk 1 Produk 2 Support Confidence LiftRatio

1 ACC(700) SENDAL(510) 1.37 0.125 1.29913

Waktu Komputasi Pencarian rule : 5 detik

Pada saat peneliti menggunakan minimum support 2 % hanya terdapat satu buah

rule yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support

kedua barang tersebut adalah 1.37 persen, besar confidence adalah 0.125, besar

nilai lift ratio adalah sebesar 1.29913. Waktu yang diperlukan untuk melakukan

proses tersebut adalah 5 detik.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

98

d. Percobaan tanggal 1 dan 2 April 2015 dengan minimum support 1.5 %

Tabel 5.17Percobaan tanggal 1 dan 2 April 2015 dengan minimum support 1.5 %

No Produk 1 Produk 2 Support Confidence LiftRatio

1 ACC(700) SENDAL(510) 1.37 0.125 1.29913

2 K.KAKI(640) ACC(700) 0.9 0.508 3.73834

Waktu Komputasi Pencarian rule : 6 detik

Pada saat peneliti menggunakan minimum support 1.5 % terdapat dua buah rule

yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support kedua

barang tersebut adalah 1.37 persen, besar confidence adalah 0.125, besar nilai lift

ratio sebesar 1.29913. Yang kedua adalah kode K.KAKI(640) dan ACC(700)

dengan support kedua barang tersebut adalah 0.9 persen, besar confidence adalah

0.508, besar nilai lift ratio adalah sebesar 3.73834. Waktu yang dibutuhkan untuk

menyelesaikan proses tersebut adalah 6 detik.

Dari hasil pengujian terhadap data transaksi tanggal 1 dan 2 April 2015 terhadap

hasil prediksi tanggal 3 April 2015, kesimpulan yang adapat diambil adalah

sebagai berikut :

1. Dari hasil ke empat percobaan pola dengan kode ACC(700) dan

SENDAL(510) adalah dua barang yang selalu muncul dengan berbagai

minimum support. Hal ini sesuai dengan pola yang dihasilkan ketika

percobaan tanggal 3 April 2015, tetapi nilai dari support, confiden dan

lift ratio lebih besar karena jumlah data transaksi pada tanggal 3 April

2015 lebih sedikit dari data transaksi tanggal 1 dan 2 April 2015.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

99

2. Tingkat keakuratan algoritma dari keempat percobaan tersebut yang paling

besar adalah ketika K.KAKI(640) dan ACC(700) yaitu sebesar 3.73834

5.3 Percobaan pada data transaksi selama 3 hari tanggal 1,2,3 April 2015

Data transaksi yang digunakan adalah sebanyak 7379, sedangkan jumlah item

yang ada sebanyak 93.

5.3.1 Percobaan pada data transaksi selama 3 hari tanggal 1,2,3 April 2015

a. Percobaan tanggal 1,2,3 April 2015 dengan minimum support 3 %

Tabel 5.18Percobaan tanggal 1,2,3 April 2015 dengan minimum support 3 %

MinSupp : 3 %

No Produk 1 Produk 2 Support Confidence Lift Ratio

1 ACC(700) SENDAL(510) 2.45 0.241 1.41813

Waktu Komputasi Pencarian rule : 8 detik

Pada saat peneliti menggunakan minimum support 3 % hanya terdapat satu buah

rule yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support

kedua barang tersebut adalah 2.45 persen, besar confidence adalah 0.241, besar

nilai lift ratio sebesar 1.41813. Waktu yang dibutuhkan untuk menyelesaikan

proses tersebut adalah sebesar 8 detik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

100

b. Percobaan tanggal 1,2,3 April 2015 dengan minimum support 2.5 %

Tabel 5.19Percobaan tanggal 1,2,3 April 2015 dengan minimum support 2.5 %

No Produk 1 Produk 2 Support Confidence Lift Ratio

1 ACC(700) SENDAL(510) 2.45 0.241 1.41813

Waktu Komputasi Pencarian Rule : 8 detik

Pada saat peneliti menggunakan minimum support 2.5 % hanya terdapat satu

buah rule yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan

support kedua barang tersebut adalah 2.45 persen, besar confidence adalah 0.241,

besar nilai lift ratio sebesar 1.41813. Waktu yang dibutuhkan untuk

menyelesaikan proses tersebut adalah sebesar 8 detik

c. Percobaan tanggal 1,2,3 April 2015 dengan minimum support 2 %

Tabel 5.20Percobaan tanggal 1,2,3 April 2015 dengan minimum support 2 %

No Produk 1 Produk 2 Support Confidence Lift Ratio

1 ACC(700) SENDAL(510) 2.45 0.241 1.41813

Waktu Komputasi Pencarian Rule : 9 detik

Pada saat peneliti menggunakan minimum support 2 % hanya terdapat satu buah

rule yang dihasilkan yaitu kode ACC(700) dan SENDAL(510) dengan support

kedua barang tersebut adalah 2.45 persen, besar confidence adalah 0.241, besar

nilai lift ratio sebesar 1.41813. Waktu yang dibutuhkan untuk menyelesaikan

proses tersebut adalah sebesar 9 detik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

101

d. Percobaan tanggal 1,2,3 April 2015 dengan minimum support 1.5 %

Tabel 5.21Percobaan tanggal 1,2,3 April 2015 dengan minimum support 1.5 %

No Produk 1 Produk 2 Support Confidence Lift Ratio

1 K.KAKI(640) ACC(700) 1.42 0.524 3.8057

2 JOGER(531)

ATASAN

CE(610) 1.16 0.23 1.77343

3 ACC(700) SENDAL(510) 2.45 0.241 1.41813

4 TAS(340) SENDAL(510) 1.14 0.184 1.08272

Waktu Komputasi Pencarian Rule : 10 detik

Pada saat peneliti menggunakan minimum support 1.5 % terdapat 4buah rule

yang dihasilkan yaitu yang pertama adalah kode K.KAKI(640) dan ACC(700)

dengan support kedua barang tersebut adalah 1.42 persen, besar confidence

adalah 0.524, besar nilai lift ratio adalah 3.8057 . Yang kedua adalah

kodeJOGER(531) dan ATASAN CE(610) dengan support kedua barang tersebut

adalah 1.16 persen, besar confidence adalah 0.23, besar nilai lift ratio adalah

1.77343. Yang ketiga adalah kodeACC(700) dan SENDAL(510) dengan

support kedua barang tersebut adalah 2.45 persen, besar confidence adalah 0.241,

besar nilai lift ratio adalah 1.41813. Yang keempat adalah kodeTAS(340) dan

SENDAL(510) dengan support kedua barang tersebut adalah 1.14 persen, besar

confidence adalah 0.184, besar nilai lift ratio adalah 1.08272. Waktu yang

diperlukan untuk meyelesaikan proses tersebut adalah sebesar 10 detik

Dari hasil pengujian terhadap data transaksi tanggal 1, 2, 3 April 2015

kesimpulan yang adapat diambil adalah sebagai berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

102

1. Dari hasil ke empat percobaan pola dengan kode ACC(700) dan

SENDAL(510) adalah dua barang yang selalu muncul dengan berbagai

minimum support.

2. Tingkat keakuratan algoritma dari keempat percobaan tersebut yang

paling besar adalah kode K.KAKI(640) dan ACC(700) dengan nilai lift

ratio 3.8057

Dari beberapa uji coba yang telah dilakukan terdapat sebuah rule yang selalu

memiliki nilai keakuratan tinggi yaitu barang K.KAKI(640) dengan ACC(700).

Melalui nilai keakuratan data tersebut dapat dijadikan sebagai prediksi dalam

penyediaan barang dalam perusahaan tersebut.

Tabel 5.22 Tabel rule dengan akurasi tertinggi

Tanggal 1 April 2015

Item

Tanggal 1 Penambahan

Barang Jumlah Awal Penjualan Sisa

K.KAKI(640) 200 56 144 0

ACC(700) 200 165 35 200

Tanggal 2 April 2015

Item

Tanggal 2 Penambahan

Barang Jumlah Awal Penjulan Sisa

K.KAKI(640) 144 34 110 0

ACC(700) 235 139 96 200

Tanggal 3 April 2015

Item

Tanggal 3

Jumlah Awal Penjualan Sisa

K.KAKI(640) 110 52 58

ACC(700) 296 252 44

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

103

Ketika tanggal 1 April 2015 rule yang memiliki nilai akurasi tinggi adalah

K.KAKI(640) dan ACC(700). Di asumsikan jumlah dari masing – masing jenis

barang adalah 200. Pada tanggal tersebut penjualan K.KAKI(640) adalah sebesar 56

sehingga memiliki sisa item 144, sedangkan penjualan item ACC(700) adalah sebesar

165 sehingga memiliki sisa item 35.

Pada tanggal 2 April 2015 ruletersebut juga memiliki tingkat keakuratan tertinggi.

Penjualan K.KAKI(640) adalah sebesar 34 , sisa item dari hari sebelumnya adalah

144, sehingga memiliki sisa item pada tanggal 2 adalah 110, sedangkan penjualan

item ACC(700) adalah sebesar 139 namun sisa item pada tanggal sebelumnya hanya

35. Oleh karena itu dilakukan penambahan item sebesar 200 seperti stok awal,

sehingga sisa dari item tersebut adalah 96.

Pada tanggal 3 April 2015 ruletersebut juga memiliki tingkat keakuratan tertinggi.

Penjualan K.KAKI(640) adalah sebesar 52 , sisa item dari hari sebelumnya adalah

110, sehingga memiliki sisa item pada tanggal 3 adalah 58, sedangkan penjualan item

ACC(700) adalah sebesar 252 namun sisa item pada tanggal sebelumnya hanya 96.

Oleh karena itu dilakukan penambahan item sebesar 200 seperti stok awal, sehingga

sisa dari item tersebut adalah 44.

Dengan melihat penjelasan di atas, rule yang dihasilkan dari proses asosiasi

sangat membantu perusahaan untuk menentukan jenis barang apa yang harus

ditambahkan. Seperti hasil di atas, jenis ACC(700) selalu membutuhkan penambahan

barang untuk hari berikutnya sesuai dengan hasil yang telah diprediksi.

5.4 Kelebihan dan Kekurangan Sistem

5.4.1 Kelebihan Sistem

Kelebihan dari sistem pendekteksian miat konsumen dengan menggunakan

algoritma FP-Growth adalah sebagai berikut :

1. Sistem ini dapat menyimpan hasil proses ke dalam file dengan tipe .doc ,

.xls ,.pdf dan .txt

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

104

2. Sistem ini dapat melakukan proses deteksi dengan kode barang maupun

kode kategori.

5.4.2 Kekurangan Sistem

Kekurangan dari sistem pendekteksian miat konsumen dengan menggunakan

algoritma FP-Growth adalah sebagai berikut :

1. Sistem tidak dapat mengelola data yang berasal dari luar database ,

misalnya file dengan extensi .csv , .xls sehingga hanya dapat mengelola

data yang berasal dari database saja. ( Mysql)

2. Sistem hanya dapat menggunakan satu tabel saja dari database. Tidak

dapat melakukan relasi antar tabel secara sistem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

105

BAB VI

PENUTUP

6.1 Kesimpulan

1. Algoritma Frequent Pattern Growth (FP-Growth) dapat digunakan untuk melakukan

pendekteksian jenis barang yang harus tersedia. Dengan melihat rule yang dihasilkan

dari proses asosiasi dalam uji coba, item - item yang ada merupakan sebuah prediksi

item akan di beli di kemudian hari. Item – item tersebut yang harus di prioritaskan

untuk di sediakan dalam perusahaan tersebut.

2. Nilai dari minimum support sangat berpengaruh terhadap hasil pola yang dihasilkan

dalam proses pendekteksian pola. Semakin tinggi nilai minimum support maka

semakin sedikit rule yang dihasilkan, sedangkan semakin kecil minimum support

maka rule yang dihasilkan semakin banyak.

3. Besar nilai support dan confidence berpengaruh terhadap keakuratan data yang di uji

menggunakan lift ratio. Apabila suatu rule memiliki support yang tinggi dan

confidence yang tinggi maka rule tersebut memiliki tingkat akurasi yang besar dan

rule tersebut dapat dijadikan sebagai prediksi. Apabila suatu rule memiliki support

yang rendah dan confidence yang rendah maka rule tersebut memiliki tingkat akurasi

yang rendah yaitu memiliki nilai kurang dari 1, dan rule tersebut tidak dapat dijadikan

sebagai prediksi. Sedangkan Apabila suatu rule memiliki support yang rendah dan

confidence yang tinggi maka rule tersebut kemungkinan memiliki nilai akurasi yang

tinggi dan dapat dijadikan sebagai prediksi.

4. Waktu yang dibutuhkan untuk menyelesaikan proses bergantung pada jumlah

transaksi yang ada. Semakin banyak data transaksi dan semakin kecilminimum

support maka waktu yang dibutuhkan semakin besar.

6.2 Saran

1. Penulis berharap agar sistem ini dapat dikembangkan sehingga dapat digunakan

dengan data yang berasal dari luar database seperti .csv, dll

2. Penulis berharap agar sistem ini dikembangkan agar dapat menggunakan data

transaksi dalam database lebih dari satu tabel.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

106

DAFTAR PUSTAKA

Agrawal,Rakesh,Ramakrishnan, Srikant. Fast Algoritms for Mining Association Rules, IBM

Almaden Research Center 650 Harry Road, Sn Jose, CA 95120

Han, J dan Kamber, M. 21001. Data Mining : Concepts and Techniques. Morgan Kaufman. San

Fransisco.

Han,J.,Pie, J., Y,Yin. 2000.Mining Frequent Patterns without Candidate Generation, School of

Computing Science Simon Fraser University.

Hill,Mc Graw. 2007 The Complete Reference Java Seventh Edition.

Prof. Fomby Tom. July 2013. Association Rules(Aka Affinity Analysis or Market Basket

Analysis). Department of Economics Southern Methodist University Dallas, Texas

75275.

Tim Dosen USD. Quick Sort dan Merge Sort. Jurusan Teknik Informatika USD

McNicholas.P.D., T.B. Murphy, M. O’Regan. Standardising the Lift of an Association Rule.

Department of Statistic, Trinity College Dublin, Ireland.

Sudiadiarta, I Gede, Market Basket Analysis Menggunakan Algoritma Frequent Pattern

Growth(FP-Growth) Untuk Situs E-Commerce. Universitas Sanata Dharma Yogyakarta

: Skripsi, 2006

Nurdiyanto, Amin. Penenerapan Algoritma Apriori Untuk Pencarian Pola Asosiasi Barang

Pada Data Transaksi Penjualan(Studi Kasus Pada Toko “Kafe Swalayan”).

Universitas Sanata Dharma Yogyakarta : Skripsi : 2009.

www.solver.com/association-rules-example

https://en.m.wikipedia.org/wiki/Lift_(data_mning)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

107

LAMPIRAN 1

1. Implementasi Kelas Control_Database

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package CONTROLLER;

import TOOLS.Konn;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/**

*

* @author elsa

*/

public class Control_Database {

public ResultSet ambiltable(Connection conn) throws SQLException{

Statement st;

ResultSet rs;

String query;

st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

query = "show tables";

System.out.println("\nExecuting query : " +query);

rs = st.executeQuery(query);

return rs;

}

public ResultSet ambildatatabel(Connection conn, String table) throws

SQLException{

Statement st;

ResultSet rs;

String query;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

108

st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

query = "select * from " + table;

System.out.println("\nExecuting query : " +query);

rs = st.executeQuery(query);

return rs;

}

public ResultSet prepocessing(Connection conn, String table, String key1 ,

String key2) throws SQLException{

Statement st;

ResultSet rs;

String query;

st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

query ="SELECT "+key1+",

GROUP_CONCAT(distinct("+key2+"))'"+key2+"' FROM " +table+" GROUP

BY "+key1;

System.out.println("\nExecuting query : " +query);

rs = st.executeQuery(query);

return rs;

}

public String cariNamaBarangg(Connection conn, String kode,String table)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String nama = "";

conn.setAutoCommit(false);

String sql = "select namaBarang "

+ "from "+table+" where kodeBarang = "+kode;

System.out.println("Query : "+sql);

statement = conn.prepareStatement(sql);

result = statement.executeQuery();

while(result.next()){

nama = result.getString("namaBarang");

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

109

return nama;

}

public String cariNamaKategori(Connection conn, String kode,String table)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String nama = "";

conn.setAutoCommit(false);

String sql = "select namakategori "

+ "from "+table+" where kategori = "+kode;

System.out.println("Query : "+sql);

statement = conn.prepareStatement(sql);

result = statement.executeQuery();

while(result.next()){

nama = result.getString("namakategori");

}

return nama;

}

}

2. Implementasi Kelas Contol_Algorithm

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package CONTROLLER;

import TOOLS.Larik;

import TOOLS.StrukturTabel;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Collections;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

110

import java.util.HashMap;

import java.util.HashSet;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Set;

import java.util.TreeSet;

import java.util.logging.Level;

import java.util.logging.Logger;

/**

*

* @author elsa

*/

public class Control_Algorithm {

ResultSet result = null;

PreparedStatement pst = null;

Connection conn;

public Control_Algorithm(Connection koneksi) {

this.conn = koneksi;

}

public static ArrayList<ArrayList<String>>

HasilPrepocessing(ArrayList<StrukturTabel> prepocessing) {

ArrayList<String> data1 = new ArrayList<String>();

ArrayList<ArrayList<String>> dataSet = new

ArrayList<ArrayList<String>>();

StrukturTabel ah = new StrukturTabel();

int jum = 0;

String string = null;

for (int i = 0; i < prepocessing.size(); i++) {

String d = prepocessing.get(i).getNoFaktur();

String c = prepocessing.get(i).getKodeBarang();

System.out.println((i + 1) + " . " + d + " : " + c);

ArrayList<String> data = new ArrayList<String>();

data.add(c);

dataSet.add(data);

}

System.out.println(dataSet);

return dataSet;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

111

public static ArrayList<TreeNode> Count(ArrayList<ArrayList<String>> b, int

a) {

List<String> arr = new ArrayList<String>();

ArrayList<TreeNode> count = new ArrayList<>();

HashSet<String> hash = new HashSet<>();

String string = null;

for (int i = 0; i < b.size(); i++) {

ArrayList<String> items = b.get(i);

for (int j = 0; j < items.size(); j++) {

string = items.get(j).toString();

String z[] = string.split(",");

for (int k = 0; k < z.length; k++) {

String string1 = z[k];

hash.add(string1);

arr.add(string1);

}

}

}

Iterator iterasi = hash.iterator();

while (iterasi.hasNext()) {

String unik = (String) iterasi.next();

// System.out.println(unik);

}

Set<String> uniqueset = new HashSet<String>(arr);

int jum = 0;

for (String temp : uniqueset) {

if (Collections.frequency(arr, temp) >= a) {

// System.out.println(temp + " : " + Collections.frequency(arr, temp));

TreeNode tn = new TreeNode();

tn.tambahCount();

tn.setItem(temp);

tn.setCounts(Collections.frequency(arr, temp));

count.add(tn);

}

}

return count;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

112

public static ArrayList<TreeNode>

TransaksiYgSesuai(ArrayList<StrukturTabel> prepocessing,

ArrayList<TreeNode> itemSesuai) {

ArrayList<StrukturTabel> transaksi = new ArrayList<>();

ArrayList<TreeNode> trns = new ArrayList<TreeNode>();

String string = null;

int jmlh = 0;

for (int i = 0; i < prepocessing.size(); i++) {

String a = prepocessing.get(i).getKodeBarang();

String[] l = a.split(",");

for (int j = 0; j < l.length; j++) {

string = l[j];

for (int k = 0; k < itemSesuai.size(); k++) {

if (itemSesuai.get(k).getItem().compareTo(string) == 0) {

StrukturTabel temp5 = new StrukturTabel();

temp5.setTransaksiSesuaitpDuplikasi(prepocessing.get(i).getNoFaktur());

transaksi.add(temp5);

}

}

}

}

// System.out.println(transaksi.size());

TreeSet<String> hashurut = new TreeSet<>();

for (int i = 0; i < transaksi.size(); i++) {

hashurut.add(transaksi.get(i).getTransaksiSesuaitpDuplikasi());

}

// Cetak

int jumlah = 0;

Iterator iterasi = hashurut.iterator();

while (iterasi.hasNext()) {

String unik = (String) iterasi.next();

TreeNode temp6 = new TreeNode();

temp6.setTransaksi(unik);

trns.add(temp6);

}

System.out.println(jumlah);

return trns;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

113

}

public static ArrayList<TreeNode>

TransaksidanItemYangSesuai(ArrayList<StrukturTabel> prepocessing,

ArrayList<TreeNode> transaksiSesuai, ArrayList<TreeNode> count, int x) {

ArrayList<StrukturTabel> transaksidanItemSesuai = new ArrayList<>();

ArrayList<TreeNode> tis = new ArrayList<TreeNode>();

int jum = 0;

String y = null;

for (int i = 0; i < prepocessing.size(); i++) {

String c = prepocessing.get(i).getNoFaktur();

String d = prepocessing.get(i).getKodeBarang();

// System.out.println((i+1) + " . " + c + " " +d);

for (int j = 0; j < transaksiSesuai.size(); j++) {

String e = transaksiSesuai.get(j).getTransaksi();

if (e.compareTo(c) == 0) {

String[] l = d.split(",");

System.out.println((j + 1) + " . " + "Transaksi " + c);

for (int k = 0; k < l.length; k++) {

y = l[k];

// System.out.println(y);

jum++;

for (int m = 0; m < count.size(); m++) {

String n = count.get(m).getItem();

// System.out.println(n);

if (n.compareTo(y) == 0) {

int gg = count.get(m).getCounts();

if (gg >= x) {

System.out.println(n + " : " + gg);

StrukturTabel temp7 = new StrukturTabel();

temp7.setNoFaktur(c);

temp7.setKodeBarang(n);

temp7.setCount(gg);

transaksidanItemSesuai.add(temp7);

}

}

}

}

StrukturTabel s[] = new

StrukturTabel[transaksidanItemSesuai.size()];

for (int o = 0; o < transaksidanItemSesuai.size(); o++) {

jum++;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

114

s[o] = new StrukturTabel();

s[o].setNoFaktur(transaksidanItemSesuai.get(o).getNoFaktur());

s[o].setKodeBarang(transaksidanItemSesuai.get(o).getKodeBarang());

s[o].setCount(transaksidanItemSesuai.get(o).getCount());

}

Larik.quickSortDesc(s);

System.out.println("Daftar Kode Barang Setelah Diurutkan: ");

String n = null;

int m = 0;

for (int o = 0; o < s.length; o++) {

StrukturTabel strukturTabel = s[o];

System.out.println((o + 1) + ". " + s[o].getKodeBarang()

+ " : " + s[o].getCount());

n = s[o].getKodeBarang();

m = s[o].getCount();

TreeNode temp77 = new TreeNode();

temp77.setTransaksi(c);

temp77.setItem(n);

tis.add(temp77);

}

transaksidanItemSesuai.clear();

System.out.println("\n");

}

}

}

return tis;

}

public static ArrayList<ArrayList<String>> DataFix(ArrayList<TreeNode>

transaksiSesuai, ArrayList<TreeNode> transaksidanItemSesuai) {

ArrayList<String> data1 = new ArrayList<String>();

ArrayList<ArrayList<String>> dataSet = new

ArrayList<ArrayList<String>>();

StrukturTabel ah = new StrukturTabel();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 133: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

115

String f = null;

int jum = 0;

String string = null;

for (int i = 0; i < transaksiSesuai.size(); i++) {

String c = transaksiSesuai.get(i).getTransaksi();

ArrayList<String> data = new ArrayList<String>();

for (int j = 0; j < transaksidanItemSesuai.size(); j++) {

String e = transaksidanItemSesuai.get(j).getTransaksi();

if (e.compareTo(c) == 0) {

f = transaksidanItemSesuai.get(j).getItem();

data.add(f);

}

}

dataSet.add(data);

}

System.out.println(dataSet);

return dataSet;

}

Control_Algorithm() {

}

public static TreeNode FPTree(ArrayList<ArrayList<String>> datafix,

ArrayList<TreeNode> cek) {

TreeNode root = new TreeNode();

TreeNode curNode = root;

List<TreeNode> anak = curNode.getChildNodes();

for (int i = 0; i < datafix.size(); i++) {

curNode = root;

ArrayList<String> items = datafix.get(i);

for (int j = 0; j < items.size(); j++) {

String item = items.get(j);

TreeNode temp = new TreeNode();

if (anak != null) {

for (int k = 0; k < anak.size(); k++) {

TreeNode itm = anak.get(k);

if (itm.getItem().compareTo(item) == 0) {

temp = itm;

}

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

116

temp = new TreeNode();

temp.setItem(item);

temp.setParentNode(curNode);

curNode.getChildNodes().add(temp);

addNode(temp, cek);

curNode = temp;

temp.tambahCount();

}

curNode = root;

}

return root;

}

public static TreeNode addNode(TreeNode tn, ArrayList<TreeNode> head) {

TreeNode curNode = null;

for (int l = 0; l < head.size(); l++) {

TreeNode node = head.get(l);

if (node.getItem().compareTo(tn.getItem()) == 0) {

curNode = node;

while (curNode.getNextNode() != null) {

curNode = curNode.getNextNode();

}

curNode.setNextNode(tn);

}

}

return curNode;

}

}

3. Implementasi Kelas TreeNode

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package CONTROLLER;

import java.util.ArrayList;

import java.util.List;

/**

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 135: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

117

*

* @author elsa

*/

public class TreeNode {

private String item;

private String transaksi;

private String itemdalamtransaksi;

private TreeNode parentNode;

private List<TreeNode> childNodes = new ArrayList<TreeNode>();

private int counts;

private TreeNode nextNode;

public String getItem() {

return item;

}

public void setItem(String item) {

this.item = item;

}

public TreeNode getParentNode() {

return parentNode;

}

public void setParentNode(TreeNode parentNode) {

this.parentNode = parentNode;

}

public List<TreeNode> getChildNodes() {

return childNodes;

}

public void setChildNodes(List<TreeNode> childNodes) {

this.childNodes = childNodes;

}

public int getCounts() {

return counts;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 136: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

118

public void tambahCount() {

this.counts = counts + 1;

}

public TreeNode getNextNode() {

return nextNode;

}

public void setNextNode(TreeNode nextNode) {

this.nextNode = nextNode;

}

public void setCounts(int counts) {

this.counts = counts;

}

public String getTransaksi() {

return transaksi;

}

public void setTransaksi(String transaksi) {

this.transaksi = transaksi;

}

public String getItemdalamtransaksi() {

return itemdalamtransaksi;

}

public void setItemdalamtransaksi(String itemdalamtransaksi) {

this.itemdalamtransaksi = itemdalamtransaksi;

}

}

4. Implementasi Kelas LihatHasilAlgoTabelModel

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 137: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

119

*/

package MODEL;

import MODEL.ambilHasil;

import java.util.ArrayList;

import java.util.List;

import javax.swing.table.AbstractTableModel;

/**

*

* @author elsa

*/

public class LihatHasilAlgoTabelModel extends AbstractTableModel {

private List<ambilHasil> rule = new ArrayList<ambilHasil>();

public LihatHasilAlgoTabelModel() {

}

public void delete(int row) {

rule.remove(row);

fireTableRowsDeleted(row, row);

}

public void update(int row, ambilHasil s) {

rule.set(row, s);

fireTableRowsUpdated(row, row);

}

public void add(ambilHasil Add) {

rule.add(Add);

fireTableRowsInserted(getRowCount() - 1, getColumnCount() - 1);

}

public int getRowCount() {

return rule.size();

}

public int getColumnCount() {

return 5;

}

public Object getValueAt(int rowIndex, int columnIndex) {

ambilHasil s = rule.get(rowIndex);

switch (columnIndex) {

case 0:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 138: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

120

return s.getCandidate1();

case 1:

return s.getItem1();

case 2:

return s.getCount1();

case 3:

return s.getConfidence();

case 4:

return s.getLiftRatio();

default:

return "";

}

}

@Override

public String getColumnName(int column) {

switch (column) {

case 0:

return "PRODUK 1";

case 1:

return "PRODUK 2";

case 2:

return "SUPPORT";

case 3:

return "CONFIDENCE";

case 4:

return "LIFT RATIO";

default:

return "";

}

}

}

5. Implementasi Kelas ambilHasil

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package MODEL;

import java.util.ArrayList;

/**

*

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 139: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

121

* @author elsa

*/

public class ambilHasil {

ArrayList<String> candidate;

ArrayList<String> item;

ArrayList<String> count;

private String candidate1;

private String item1;

private String count1;

private String confidence;

private String liftRatio;

public ArrayList<String> getCandidate() {

return candidate;

}

public void setCandidate(ArrayList<String> candidate) {

this.candidate = candidate;

}

public ArrayList<String> getItem() {

return item;

}

public void setItem(ArrayList<String> item) {

this.item = item;

}

public ArrayList<String> getCount() {

return count;

}

public void setCount(ArrayList<String> count) {

this.count = count;

}

public String getCandidate1() {

return candidate1;

}

public void setCandidate1(String candidate1) {

this.candidate1 = candidate1;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 140: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

122

public String getItem1() {

return item1;

}

public void setItem1(String item1) {

this.item1 = item1;

}

public String getCount1() {

return count1;

}

public void setCount1(String count1) {

this.count1 = count1;

}

public String getConfidence() {

return confidence;

}

public void setConfidence(String confidence) {

this.confidence = confidence;

}

public String getLiftRatio() {

return liftRatio;

}

public void setLiftRatio(String liftRatio) {

this.liftRatio = liftRatio;

}

}

6. Implementasi Kelas Comparable

package TOOLS;

public interface Comparable {

public int compareTo(Object o);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 141: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

123

7. Implementasi Kelas Konn

package TOOLS;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

public class Konn {

private String namaDB;

private String url;

private String username;

private String password;

private Connection connection = null;

public Konn(String namaDB, String url, String username, String password) {

getClose();

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException ex) {

Logger.getLogger(Konn.class.getName()).log(Level.SEVERE, null, ex);

}

try {

connection = DriverManager.getConnection(url + "/" + namaDB,

username, password);

System.out.println("Koneksi berhasil");

} catch (SQLException ex) {

System.out.println("Koneksi gagal");

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 142: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

124

public boolean isConnected() {

if (connection != null) {

return true;

} else {

return false;

}

}

public boolean getClose() {

if (isConnected()) {

try {

connection.close();

connection = null;

} catch (SQLException ex) {

ex.printStackTrace();

//Logger.getLogger(Konn.class.getName()).log(Level.SEVERE, null,

ex);

}

return true;

} else {

return false;

}

}

public String getNamaDB() {

return namaDB;

}

public void setNamaDB(String namaDB) {

this.namaDB = namaDB;

}

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 143: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

125

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Connection getConn() {

return connection;

}

public void setConn(Connection connection) {

this.connection = connection;

}

}

8. Implementasi Kelas Larik

package TOOLS;

public class Larik {

// Descending

public static void quickSortHelperDesc(Object[] x, int indeksAwal, int

indeksAkhir) {

if (indeksAwal < indeksAkhir) {

int i = indeksAwal + 1;

int j = indeksAkhir;

while (i <= indeksAkhir && (((Comparable)

x[i]).compareTo(x[indeksAwal])) >= 0) {

i++;

}

while (j > indeksAwal && (((Comparable)

x[j]).compareTo(x[indeksAwal])) < 0) {

j--;

}

while (i < j) {

swap1(x, i, j);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 144: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

126

while (i <= indeksAkhir && (((Comparable)

x[i]).compareTo(x[indeksAwal])) >= 0) {

i++;

}

while (j > indeksAwal && (((Comparable)

x[j]).compareTo(x[indeksAwal])) < 0) {

j--;

}

}

swap1(x, indeksAwal, j);

quickSortHelperDesc(x, indeksAwal, j - 1);

quickSortHelperDesc(x, j + 1, indeksAkhir);

}

}

private static void swap1(Object[] x, int i, int j) {

Object y = x[i];

x[i] = x[j];

x[j] = y;

}

public static void quickSortDesc(Object[] x) {

quickSortHelperDesc(x, 0, x.length - 1);

}

}

9. Implementasi Kelas StrukturTabel

package TOOLS;

public class StrukturTabel implements Comparable {

private String noFaktur;

private String kodeBarang;

private String namaBarang;

private String split;

private int count;

private String tnpdup;

private String transaksiSesuaitpDuplikasi;

public String getNoFaktur() {

return noFaktur;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 145: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

127

public void setNoFaktur(String noFaktur) {

this.noFaktur = noFaktur;

}

public String getKodeBarang() {

return kodeBarang;

}

public void setKodeBarang(String kodeBarang) {

this.kodeBarang = kodeBarang;

}

public String getNamaBarang() {

return namaBarang;

}

public void setNamaBarang(String namaBarang) {

this.namaBarang = namaBarang;

}

public int getCount() {

return count;

}

public void setCount(int count) {

this.count = count;

}

public String getSplit() {

return split;

}

public void setSplit(String split) {

this.split = split;

}

//

public int compareTo(Object o) {

if (count == ((StrukturTabel) o).getCount()) {

return 0;

} else if (count > ((StrukturTabel) o).getCount()) {

return 1;

}

return -1;

}

//

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 146: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

128

// /**

// * @return the tnpdup

// */

public String getTnpdup() {

return tnpdup;

}

/**

* @param tnpdup the tnpdup to set

*/

public void setTnpdup(String tnpdup) {

this.tnpdup = tnpdup;

}

public String getTransaksiSesuaitpDuplikasi() {

return transaksiSesuaitpDuplikasi;

}

public void setTransaksiSesuaitpDuplikasi(String transaksiSesuaitpDuplikasi) {

this.transaksiSesuaitpDuplikasi = transaksiSesuaitpDuplikasi;

}

}

10. Implementasi Kelas Halaman_Open

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package VIEW;

import javax.swing.JOptionPane;

import CONTROLLER.Control_Database;

import CONTROLLER.Control_Algorithm;

import CONTROLLER.TreeNode;

import MODEL.LihatHasilAlgoTabelModel;

import MODEL.ambilHasil;

import TOOLS.Konn;

import TOOLS.Larik;

import TOOLS.StrukturTabel;

import com.lowagie.text.SplitCharacter;

import java.awt.Component;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 147: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

129

import java.io.FileWriter;

import java.io.IOException;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.text.DecimalFormat;

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashMap;

import java.util.HashSet;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Set;

import java.util.Vector;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JTextArea;

import javax.swing.filechooser.FileNameExtensionFilter;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.TableModel;

/**

*

* @author elsa

*/

public class Halaman_Open extends javax.swing.JFrame {

ArrayList<TreeNode> jmlhItem = new ArrayList<TreeNode>();

ArrayList<StrukturTabel> prepocessing = new ArrayList<>();

ArrayList<ArrayList<String>> countItem = new ArrayList<>();

ArrayList<TreeNode> ambilTransaksi = new ArrayList<>();

ArrayList<ambilHasil> candidate = new ArrayList<>();

LihatHasilAlgoTabelModel model;

ambilHasil ah = new ambilHasil();

ArrayList<String> aa = new ArrayList<String>();

ArrayList<String> ab = new ArrayList<String>();

ArrayList<String> ac = new ArrayList<String>();

/**

* Creates new form Halaman_Open

*/

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 148: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

130

public Halaman_Open() {

initComponents();

txtPassword.setText("root");

txtUsername.setText("root");

txtUrl.setText("jdbc:mysql://localhost");

txtNamaDatabase.setText("distribusi_sakola7sept");

model = new LihatHasilAlgoTabelModel();

tampilhasil();

jTabbedPane1.setEnabledAt(0, true);

jTabbedPane1.setEnabledAt(1, false);

jTabbedPane1.setEnabledAt(2, false);

btnOkePilihanTabel.setEnabled(false);

btnPrepocessing.setEnabled(false);

}

//Method Penyetaraan mengambil referensi dari :

//stackoverflow.com/questions/24242657/one-java-file-use-another-java-file-

//compile-error

public void Penyetaraan(ArrayList<ArrayList<String>> datafix,

ArrayList<String> kumpulanRule, int a) {

ArrayList<TreeNode> head = Control_Algorithm.Count(datafix, a);

TreeNode root = Control_Algorithm.FPTree(datafix, head);

Iterator anak = root.getChildNodes().iterator();

while (anak.hasNext() != true) {

return;

}

if (kumpulanRule != null) {

for (int l = 0; l < head.size(); l++) {

TreeNode treenode = head.get(l);

for (String s : kumpulanRule) {

aa.add(s);

ah.setCandidate(aa);

System.out.print(s + " ");

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 149: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

131

ab.add(treenode.getItem());

ah.setItem(ab);

int count = treenode.getCounts();

String cont = String.valueOf(count);

ac.add(cont);

ah.setCount(ac);

candidate.add(ah);

System.out.println(treenode.getItem() + ":" + treenode.getCounts());

}

}

for (int i = 0; i < head.size(); i++) {

TreeNode hd = head.get(i);

ArrayList<String> rule = new ArrayList<String>();

rule.add(hd.getItem());

if (kumpulanRule != null) {

rule.addAll(kumpulanRule);

}

// Menemukan conditional pattern base

ArrayList<ArrayList<String>> datafixbaru = new

ArrayList<ArrayList<String>>();

TreeNode curNode = hd.getNextNode();

while (curNode != null) {

int counter = curNode.getCounts();

ArrayList<String> parentNodes = new ArrayList<String>();

TreeNode parent = curNode;

while ((parent = parent.getParentNode()).getItem() != null) {

parentNodes.add(parent.getItem());

}

for (int k = counter; k > 0; k--) {

datafixbaru.add(parentNodes);

}

curNode = curNode.getNextNode();

}

Penyetaraan(datafixbaru, rule, a);

}

}

public String cariNamaBrg(String kode) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 150: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

132

String namaBarang = null;

String nb = null;

try {

String tabel = comboPilihTabel.getSelectedItem().toString();

Control_Database kn = new Control_Database();

String nama = txtNamaDatabase.getText();

String url = txtUrl.getText();

String user = txtUsername.getText();

String pwd = txtPassword.getText();

Konn conn = new Konn(nama, url, user, pwd);

conn.setNamaDB(nama);

conn.setUrl(url);

conn.setUsername(user);

conn.setPassword(pwd);

conn.getConn();

Connection co = conn.getConn();

namaBarang = kn.cariNamaBarangg(co, kode, tabel);

} catch (SQLException ex) {

Logger.getLogger(Halaman_Open.class.getName()).log(Level.SEVERE,

null, ex);

}

return namaBarang;

}

public String cariNamaKategori(String kode) {

String namaBarang = null;

String nb = null;

try {

String tabel = comboPilihTabel.getSelectedItem().toString();

Control_Database kn = new Control_Database();

String nama = txtNamaDatabase.getText();

String url = txtUrl.getText();

String user = txtUsername.getText();

String pwd = txtPassword.getText();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 151: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

133

Konn conn = new Konn(nama, url, user, pwd);

conn.setNamaDB(nama);

conn.setUrl(url);

conn.setUsername(user);

conn.setPassword(pwd);

conn.getConn();

Connection co = conn.getConn();

namaBarang = kn.cariNamaKategori(co, kode, tabel);

} catch (SQLException ex) {

Logger.getLogger(Halaman_Open.class.getName()).log(Level.SEVERE,

null, ex);

}

return namaBarang;

}

public int cariCount(String kode) {

int count = 0;

jmlhItem.size();

for (int i = 0; i < jmlhItem.size(); i++) {

String a = jmlhItem.get(i).getItem();

if (a.compareTo(kode) == 0) {

count = jmlhItem.get(i).getCounts();

}

}

System.out.println(kode + " " + count);

return count;

}

public void hapus() {

for (int i = 0; i < model.getColumnCount(); i++) {

for (int j = 0; j < model.getRowCount(); j++) {

model.delete(j);

ah.getCandidate().remove(j);

ah.getCount().remove(j);

ah.getItem().remove(j);

}

}

TabelHasilProses.setModel(model);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 152: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

134

TableModel tb1 = TabelHasilProses.getModel();

System.out.println("Jumlah row : " + model.getRowCount());

}

public void tampilhasil() {

hapus();

for (int j = 0; j < candidate.size(); j++) {

String key = ah.getCandidate().get(j);

if (key.length() == 3) {

ambilHasil hasilProses = new ambilHasil();

String kode1 = ah.getCandidate().get(j);

String nama1 = cariNamaKategori(kode1);

hasilProses.setCandidate1(nama1 + " (" + kode1 + ")");

int count = cariCount(kode1);

String kode2 = ah.getItem().get(j);

String nama2 = cariNamaKategori(kode2);

hasilProses.setItem1(nama2 + " (" + ah.getItem().get(j) + ")");

String supp = ah.getCount().get(j);

double supp2 = (Double.parseDouble(supp) / 100);

System.out.println(supp2);

String supp3 = String.valueOf(supp2);

hasilProses.setCount1(supp3);

System.out.println(count);

double confiden = (Double.parseDouble(supp) / count);

System.out.println(confiden);

DecimalFormat df = new DecimalFormat("#.###");

double df2 = Double.valueOf(df.format(confiden));

System.out.println("nilai confiden : " + df2);

String conf1 = String.valueOf(df2);

hasilProses.setConfidence(conf1);

int count2 = cariCount(kode2);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 153: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

135

String jt = lblJmlhDataPrepocessing.getText();

System.out.println("jumlh transaksi : " + jt);

double liftRatio = ((df2 / (count2 / Double.parseDouble(jt))));

System.out.println(confiden);

DecimalFormat df1 = new DecimalFormat("#.#####");

double df3 = Double.valueOf(df1.format(liftRatio));

System.out.println("nilai left ratio : " + df3);

String sc1 = String.valueOf(df3);

hasilProses.setLiftRatio(sc1);

model.add(hasilProses);

} else {

ambilHasil hasilProses = new ambilHasil();

String kode1 = ah.getCandidate().get(j);

String nama1 = cariNamaBrg(kode1);

hasilProses.setCandidate1(nama1 + " (" + kode1 + ")");

int count = cariCount(kode1);

String kode2 = ah.getItem().get(j);

String nama2 = cariNamaBrg(kode2);

hasilProses.setItem1(nama2 + " (" + ah.getItem().get(j) + ")");

String supp = ah.getCount().get(j);

double supp2 = (Double.parseDouble(supp) / 100);

System.out.println(supp2);

String supp3 = String.valueOf(supp2);

hasilProses.setCount1(supp3);

System.out.println(count);

double confiden = (Double.parseDouble(supp) / count);

System.out.println(confiden);

DecimalFormat df = new DecimalFormat("#.###");

double df2 = Double.valueOf(df.format(confiden));

System.out.println("nilai confiden : " + df2);

String conf1 = String.valueOf(df2);

hasilProses.setConfidence(conf1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 154: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

136

int count2 = cariCount(kode2);

String jt = lblJmlhDataPrepocessing.getText();

System.out.println("jumlh transaksi : " + jt);

double liftRatio = ((df2 / (count2 / Double.parseDouble(jt))));

System.out.println(confiden);

DecimalFormat df1 = new DecimalFormat("#.#####");

double df3 = Double.valueOf(df1.format(liftRatio));

System.out.println("nilai lift ratio : " + df3);

String sc1 = String.valueOf(df3);

hasilProses.setLiftRatio(sc1);

model.add(hasilProses);

}

}

TabelHasilProses.setModel(model);

TableModel tb1 = TabelHasilProses.getModel();

}

public void pilihDB(Konn kn, String table) {

try {

Control_Database cd = new Control_Database();

ResultSet rs;

rs = cd.ambildatatabel(kn.getConn(), table);

ResultSetMetaData rsmd = rs.getMetaData();

int coloumCount = rsmd.getColumnCount();

System.out.println(coloumCount);

Vector headers = new Vector();

Vector data = new Vector();

headers.clear();

for (int i = 1; i <= coloumCount; i++) {

headers.add(rsmd.getColumnName(i));

}

data.clear();

int jum = 0;

while (rs.next()) {

Vector d = new Vector();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 155: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

137

for (int i = 1; i <= coloumCount; i++) {

d.add(rs.getString(i));

}

d.add("\n");

data.add(d);

jum++;

}

System.out.println(jum);

String a = Integer.toString(jum);

lblJmlhData2.setText(a);

DefaultTableModel model = new DefaultTableModel(data, headers);

jTable2.setModel(model);

jTable2.setAutoCreateRowSorter(true);

} catch (SQLException ex) {

Logger.getLogger(Halaman_Open.class

.getName()).log(Level.SEVERE, null, ex);

}

}

public ArrayList<StrukturTabel> pilihSumberData(Konn kn, String table,

String a, String b) {

ArrayList<StrukturTabel> o = new ArrayList<>();

try {

String z = txtIndeknoFaktur.getText();

System.out.println(txtIndeknoFaktur.getText());

int c = Integer.parseInt(z);

String x = txtIndekKode.getText();

System.out.println(txtIndekKode.getText());

int d = Integer.parseInt(x);

TableModel tb = jTable2.getModel();

tb.getColumnName(c);

String k = tb.getColumnName(c);

tb.getColumnName(d);

String l = tb.getColumnName(d);

Control_Database cd = new Control_Database();

ResultSet rs;

ResultSet rs1;

rs = cd.prepocessing(kn.getConn(), table, k, l);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 156: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

138

rs1 = cd.prepocessing(kn.getConn(), table, k, l);

ResultSetMetaData rsmd = rs.getMetaData();

int coloumCount = rsmd.getColumnCount();

System.out.println(coloumCount);

Vector headers = new Vector();

Vector data = new Vector();

headers.clear();

for (int i = 1; i <= coloumCount; i++) {

headers.add(rsmd.getColumnName(i));

}

data.clear();

int jum = 0;

while (rs.next()) {

Vector e = new Vector();

for (int i = 1; i <= coloumCount; i++) {

e.add(rs.getString(i));

}

e.add("\n");

data.add(e);

jum++;

}

// System.out.println(jum);

System.out.println();

String f = Integer.toString(jum);

lblJmlhDataPrepocessing.setText(f);

lblJmlhDataPrepocessing1.setText(f);

lblJmlhDataPrepocessing2.setText(f);

DefaultTableModel model = new DefaultTableModel(data, headers);

TableDataHasilPrepocessing.setModel(model);

TableDataHasilPrepocessing.setAutoCreateRowSorter(true);

TableModel tb1 = TableDataHasilPrepocessing.getModel();

// System.out.println(tb1.getRowCount());

while (rs1.next()) {

StrukturTabel temp = new StrukturTabel();

temp.setNoFaktur(rs1.getString(1));

temp.setKodeBarang(rs1.getString(2));

o.add(temp);

}

} catch (SQLException ex) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 157: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

139

Logger.getLogger(Halaman_Open.class

.getName()).log(Level.SEVERE, null, ex);

}

// System.out.println("size dari o : " + o.size());

return o;

}

public int cariJumlah(ArrayList<StrukturTabel> b) {

List<String> arr = new ArrayList<String>();

ArrayList<TreeNode> count = new ArrayList<>();

HashSet<String> hash = new HashSet<>();

String string = null;

for (int i = 0; i < b.size(); i++) {

String items = b.get(i).getKodeBarang();

String z[] = items.split(",");

for (int k = 0; k < z.length; k++) {

String string1 = z[k];

hash.add(string1);

arr.add(string1);

}

}

Iterator iterasi = hash.iterator();

while (iterasi.hasNext()) {

String unik = (String) iterasi.next();

// System.out.println(unik);

}

Set<String> uniqueset = new HashSet<String>(arr);

int jum = 0;

for (String temp : uniqueset) {

System.out.println(temp + " : " + Collections.frequency(arr, temp));

jum++;

}

return jum;

}

private void btnCekKoneksiDBActionPerformed(java.awt.event.ActionEvent

evt) {

String nama = txtNamaDatabase.getText();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 158: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

140

String url = txtUrl.getText();

String user = txtUsername.getText();

String pwd = txtPassword.getText();

Konn conn = new Konn(nama, url, user, pwd);

conn.setNamaDB(nama);

conn.setUrl(url);

conn.setUsername(user);

conn.setPassword(pwd);

conn.getConn();

if (conn.getConn() != null) {

JOptionPane.showMessageDialog(null, "Koneksi Berhasil");

btnOkePilihanTabel.setEnabled(true);

Connection co = conn.getConn();

Control_Database cd = new Control_Database();

ResultSet a = null;

try {

a = cd.ambiltable(co);

} catch (SQLException ex) {

Logger.getLogger(Halaman_Open.class

.getName()).log(Level.SEVERE, null, ex);

}

try {

while (a.next()) {

String namaa = a.getString(1);

comboPilihTabel.addItem(namaa);

}

} catch (SQLException ex) {

Logger.getLogger(Halaman_Open.class

.getName()).log(Level.SEVERE, null, ex);

}

} else {

JOptionPane.showMessageDialog(null, "Koneksi gagal");

}

// TODO add your handling code here:

}

private void btnBatalKoneksiDBActionPerformed(java.awt.event.ActionEvent

evt) {

txtNamaDatabase.setText("");

txtUrl.setText("");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 159: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

141

txtUsername.setText("");

txtPassword.setText("");

// TODO add your handling code here:

}

private void txtPasswordActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void btnOkePilihanTabelActionPerformed(java.awt.event.ActionEvent

evt) {

String nama = txtNamaDatabase.getText();

String url = txtUrl.getText();

String user = txtUsername.getText();

String pwd = txtPassword.getText();

String namatable = comboPilihTabel.getSelectedItem().toString();

Konn conn = new Konn(nama, url, user, pwd);

conn.setNamaDB(nama);

conn.setUrl(url);

conn.setUsername(user);

conn.setPassword(pwd);

conn.getConn();

Connection co = conn.getConn();

Control_Database cd = new Control_Database();

pilihDB(conn, namatable);

// TODO add your handling code here:

}

private void txtIndekKodeActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void btnPrepocessingActionPerformed(java.awt.event.ActionEvent evt)

{

jTabbedPane1.setSelectedIndex(1);

jTabbedPane1.setEnabledAt(1, true);

jTabbedPane1.setEnabledAt(2, false);

String nama = txtNamaDatabase.getText();

String url = txtUrl.getText();

String user = txtUsername.getText();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 160: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

142

String pwd = txtPassword.getText();

String namatable = comboPilihTabel.getSelectedItem().toString();

String a = txtIndeknoFaktur.getText();

String b = txtIndekKode.getText();

Konn conn = new Konn(nama, url, user, pwd);

conn.setNamaDB(nama);

conn.setUrl(url);

conn.setUsername(user);

conn.setPassword(pwd);

conn.getConn();

Connection co = conn.getConn();

Control_Database cd = new Control_Database();

prepocessing = pilihSumberData(conn, namatable, a, b);

System.out.println("PREPOCESIING");

for (int i = 0; i < prepocessing.size(); i++) {

System.out.println(prepocessing.get(i).getNoFaktur() + " " +

prepocessing.get(i).getKodeBarang());

}

countItem = Control_Algorithm.HasilPrepocessing(prepocessing);

int jumlahitem = cariJumlah(prepocessing);

String c = Integer.toString(jumlahitem);

lblJmlhItemPrepocessing1.setText(c);

//

lblItemHsilProses2.setText(c);

//

// PREPOCESSING.setEnabled(true);

// TODO add your handling code here:

}

private void txtMin_suppActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void txtMin_suppKeyPressed(java.awt.event.KeyEvent evt) {

}

private void txtMin_suppKeyReleased(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 161: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

143

}

private void btnOkMin_SuppActionPerformed(java.awt.event.ActionEvent evt)

{

if (txtMin_supp.getText() == null) {

JOptionPane.showMessageDialog(null, "Minimum Support Harus Diisi");

} else {

String a = txtMin_supp.getText();

System.out.println(a);

String c = lblJmlhDataPrepocessing1.getText();

double b = Double.parseDouble(a);

int d = Integer.parseInt(c);

double rumus = ((b / 100) * d);

// int g = Integer

DecimalFormat df = new DecimalFormat("#");

double df2 = Double.valueOf(df.format(rumus));

// System.out.println("Jumlah Kemunculan : " + rumus);

int df3 = (int) df2;

String e = Integer.toString(df3);

lblJmlhItemMuncul.setText(e);

}

// TODO add your handling code here:

}

private void btnProsesActionPerformed(java.awt.event.ActionEvent evt) {

long awal = System.currentTimeMillis();

//MIN_SUPPORT

String minsup = txtMin_supp.getText();

System.out.println("minsupp :" + minsup);

String c = lblJmlhDataPrepocessing1.getText();

String a = lblJmlhItemMuncul.getText();

int b = Integer.parseInt(a);

lblMinSuppHsilProses2.setText(minsup);

lblJmlhDtTransHsilProses2.setText(c);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 162: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

144

jmlhItem = Control_Algorithm.Count(countItem, b);

System.out.println("Jumlah Item : " + countItem.size());

int jumlahitem = 0;

for (int i = 0; i < jmlhItem.size(); i++) {

String x = jmlhItem.get(i).getItem();

int y = jmlhItem.get(i).getCounts();

System.out.println("kode : " + x + "count : " + y);

jumlahitem++;

}

ambilTransaksi = Control_Algorithm.TransaksiYgSesuai(prepocessing,

jmlhItem);

System.out.println("Transaksi yg Sesuai : " + ambilTransaksi.size());

ArrayList<TreeNode> TransaksidanItemSesuai =

Control_Algorithm.TransaksidanItemYangSesuai(prepocessing, ambilTransaksi,

jmlhItem, b);

System.out.println("Transaksi dan Item Sesuai : " +

TransaksidanItemSesuai.size());

//

System.out.println(TransaksidanItemSesuai.size());

for (int i = 0; i < TransaksidanItemSesuai.size(); i++) {

String y = TransaksidanItemSesuai.get(i).getItem();

}

ArrayList<ArrayList<String>> datafix =

Control_Algorithm.DataFix(ambilTransaksi, TransaksidanItemSesuai);

Penyetaraan(datafix, null, b);

tampilhasil();

long akhir = System.currentTimeMillis();

if (candidate.size() == 0) {

jTabbedPane1.setSelectedIndex(1);

JOptionPane.showMessageDialog(null, "Tidak Ada Rule yang

dihasilkan");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 163: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

145

} else {

jTabbedPane1.setSelectedIndex(2);

jTabbedPane1.setEnabledAt(2, true);

long waktu = (akhir - awal) / 1000;

String waktu_eksekusi = String.valueOf(waktu);

lblTingkatAkurasi.setText(waktu_eksekusi + " detik ");

String newline = "\n";

TextAreaHasil.setEditable(false);

TextAreaHasil.append("Hasil dari proses terdapat : " + candidate.size() + "

rule");

TextAreaHasil.append("\n" + newline);

TextAreaHasil.append("Minimum support yang digunakan : " +

lblMinSuppHsilProses2.getText() + " %");

TextAreaHasil.append("\n" + newline);

TextAreaHasil.append("Jumlah data transaksi : " + c);

TextAreaHasil.append("\n" + newline);

TextAreaHasil.append("Jumlah item barang : " +

lblItemHsilProses2.getText());

TextAreaHasil.append("\n" + newline);

TextAreaHasil.append("PENJELASAN RULE DALAM TABEL : ");

TextAreaHasil.append("\n" + newline);

for (int i = 0; i < candidate.size(); i++) {

ambilHasil hasil = new ambilHasil();

String kode1 = ah.getCandidate().get(i);

if (kode1.length() == 3) {

String nama1 = cariNamaKategori(kode1);

// String produk1 = hasil.setCandidate1(nama1 + " ("

+ah.getCandidate().get(i)+")");

String kode2 = ah.getItem().get(i);

String nama2 = cariNamaKategori(kode2);

hasil.setItem1(nama2 + " (" + ah.getItem().get(i) + ")");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 164: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

146

hasil.setCount1(ah.getCount().get(i));

TextAreaHasil.append((i + 1) + ". " + "Jika konsumen membeli barang " +

nama1 + " (" + ah.getCandidate().get(i) + ")"

+ " maka akan membeli barang " + nama2 + " (" +

ah.getItem().get(i) + ")" + newline

+ "dengan support " + ah.getCount().get(i) + newline +

newline);

// TextAreaHasil.setText("\n");

} else {

String nama1 = cariNamaBrg(kode1);

// String produk1 = hasil.setCandidate1(nama1 + " ("

+ah.getCandidate().get(i)+")");

String kode2 = ah.getItem().get(i);

String nama2 = cariNamaBrg(kode2);

hasil.setItem1(nama2 + " (" + ah.getItem().get(i) + ")");

hasil.setCount1(ah.getCount().get(i));

TextAreaHasil.append((i + 1) + ". " + "Jika konsumen membeli barang " + nama1

+ " (" + ah.getCandidate().get(i) + ")"

+ " maka akan membeli barang " + nama2 + " (" +

ah.getItem().get(i) + ")" + newline

+ "dengan support " + ah.getCount().get(i) + newline +

newline);

// TextAreaHasil.setText("\n");

}

}

}

}

private void btnKembaliActionPerformed(java.awt.event.ActionEvent evt) {

this.setVisible(false);

Halaman_Home a = new Halaman_Home();

a.setVisible(true);

}

private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {

JFileChooser fileOutput = new JFileChooser(new File("D:/"));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 165: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

147

fileOutput.setFileFilter(new FileNameExtensionFilter("Microsoft

Excel(*.xls)", "xls"));

fileOutput.setFileFilter(new FileNameExtensionFilter("Microsoft

Word(*.doc)", "doc"));

fileOutput.setFileFilter(new FileNameExtensionFilter("Text

Documents(*.txt)", "xls"));

fileOutput.setFileFilter(new FileNameExtensionFilter("PDF(*.pdf)", "pdf"));

FileOutputStream outputStream;

int pilihanOutput = fileOutput.showSaveDialog(this);

if (pilihanOutput == JFileChooser.APPROVE_OPTION) {

String namaFileOutput = fileOutput.getSelectedFile().getPath();

String tipeFileOutput = fileOutput.getFileFilter().getDescription();

if (tipeFileOutput.equals("Microsoft Excel(*.xls)")) {

File fileHasil = new File(namaFileOutput + ".xls");

try {

outputStream = new FileOutputStream(fileHasil);

} catch (FileNotFoundException fe) {

fe.printStackTrace();

return;

}

try {

TableModel tabelModel = TabelHasilProses.getModel();

FileWriter outputExcel = new FileWriter(fileHasil);

for (int i = 0; i < tabelModel.getColumnCount(); i++) {

outputExcel.write(tabelModel.getColumnName(i) + "\t");

}

outputExcel.write("\n");

for (int i = 0; i < tabelModel.getRowCount(); i++) {

for (int j = 0; j < tabelModel.getColumnCount(); j++) {

outputExcel.write(tabelModel.getValueAt(i, j) + "\t");

}

outputExcel.write("\n");

}

outputExcel.close();

JOptionPane.showMessageDialog(null, "Penyimpanan Berhasil",

"Pembeitahuan", JOptionPane.INFORMATION_MESSAGE);

} catch (IOException ie) {

JOptionPane.showMessageDialog(null, "Penyimpanan Gagal",

"Pemberitahuan", JOptionPane.INFORMATION_MESSAGE);

}

} else if (tipeFileOutput.equals("Microsoft Word(*.doc)")) {

File fileHasil = new File(namaFileOutput + ".doc");

try {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 166: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

148

outputStream = new FileOutputStream(fileHasil);

} catch (FileNotFoundException fe) {

fe.printStackTrace();

return;

}

try {

TableModel tabelModel = TabelHasilProses.getModel();

BufferedWriter outputWord = new BufferedWriter(new

FileWriter(fileHasil));

for (int i = 0; i < tabelModel.getColumnCount(); i++) {

outputWord.write(tabelModel.getColumnName(i) + "\t");

}

outputWord.write("\n");

for (int i = 0; i < tabelModel.getRowCount(); i++) {

for (int j = 0; j < tabelModel.getColumnCount(); j++) {

outputWord.write(tabelModel.getValueAt(i, j) + "\t");

}

outputWord.write("\n");

}

outputWord.close();;

JOptionPane.showMessageDialog(null, "Penyimpanan Berhasil",

"Pembeitahuan", JOptionPane.INFORMATION_MESSAGE);

} catch (IOException ie) {

JOptionPane.showMessageDialog(null, "Penyimpanan Gagal",

"Pemberitahuan", JOptionPane.INFORMATION_MESSAGE);

}

} else if (tipeFileOutput.equals("Text Documents(*.txt)")) {

File fileHasil = new File(namaFileOutput + ".txt");

try {

outputStream = new FileOutputStream(fileHasil);

} catch (FileNotFoundException fe) {

fe.printStackTrace();

return;

}

try {

TableModel tabelModel = TabelHasilProses.getModel();

FileWriter outputtxt = new FileWriter(fileHasil);

for (int i = 0; i < tabelModel.getColumnCount(); i++) {

outputtxt.write(tabelModel.getColumnName(i) + "\t\t\t\t");

}

outputtxt.write("\n");

for (int i = 0; i < tabelModel.getRowCount(); i++) {

for (int j = 0; j < tabelModel.getColumnCount(); j++) {

outputtxt.write(tabelModel.getValueAt(i, j) + "\t\t\t\t");

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 167: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

149

outputtxt.write("\n");

}

outputtxt.close();

JOptionPane.showMessageDialog(null, "Penyimpanan Berhasil",

"Pembeitahuan", JOptionPane.INFORMATION_MESSAGE);

} catch (IOException ie) {

JOptionPane.showMessageDialog(null, "Penyimpanan Gagal",

"Pemberitahuan", JOptionPane.INFORMATION_MESSAGE);

}

} else if (tipeFileOutput.equals("PDF(*.pdf)")) {

File fileHasil = new File(namaFileOutput + ".pdf");

try {

outputStream = new FileOutputStream(fileHasil);

} catch (FileNotFoundException fe) {

fe.printStackTrace();

return;

}

try {

TableModel tabelModel = TabelHasilProses.getModel();

FileWriter outputpdf = new FileWriter(fileHasil);

for (int i = 0; i < tabelModel.getColumnCount(); i++) {

outputpdf.write(tabelModel.getColumnName(i) + "\t\t\t\t");

}

outputpdf.write("\n");

for (int i = 0; i < tabelModel.getRowCount(); i++) {

for (int j = 0; j < tabelModel.getColumnCount(); j++) {

outputpdf.write(tabelModel.getValueAt(i, j) + "\t\t\t\t");

}

outputpdf.write("\n");

}

outputpdf.close();

JOptionPane.showMessageDialog(null, "Penyimpanan Berhasil",

"Pembeitahuan", JOptionPane.INFORMATION_MESSAGE);

} catch (IOException ie) {

JOptionPane.showMessageDialog(null, "Penyimpanan Gagal",

"Pemberitahuan", JOptionPane.INFORMATION_MESSAGE);

}

}

}

}

private void btnKembali1ActionPerformed(java.awt.event.ActionEvent evt) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 168: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

150

jTabbedPane1.setSelectedIndex(1);

TextAreaHasil.setText("");

// hapus();

candidate.clear();

}

private void txtIndekKodeKeyPressed(java.awt.event.KeyEvent evt) {

btnPrepocessing.setEnabled(true);

}

11. Implementasi Kelas Halaman_Home

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package VIEW;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

/**

*

* @author elsa

*/

public class Halaman_Home extends javax.swing.JFrame {

/**

* Creates new form Home

*/

public Halaman_Home() {

initComponents();

}

private void btnKeluarHomeActionPerformed(java.awt.event.ActionEvent evt)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 169: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

151

{

int result = JOptionPane.showConfirmDialog(null, "Apakah Anda yakin ingin

keluar ?");

switch (result) {

case JOptionPane.YES_OPTION:

this.dispose();

break;

case JOptionPane.NO_OPTION:

break;

case JOptionPane.CANCEL_OPTION:

break;

}

// TODO add your handling code here:

}

private void btnMasukHomeActionPerformed(java.awt.event.ActionEvent evt)

{

this.setVisible(false);

Halaman_Open frame = new Halaman_Open();

frame.setVisible(true);

// TODO add your handling code here:

}

12. Implementasi Kelas Halaman_Bantuan

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package VIEW;

import javax.swing.JFrame;

/**

*

* @author elsa

*/

public class Halaman_Bantuan extends javax.swing.JFrame {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 170: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · memanfaatkan data transaksi penjualan. ... relationship between existing items that FP-Growth algorithm. The data used is

152

/**

* Creates new form Bantuan

*/

public Halaman_Bantuan() {

initComponents();

}

private void btnHomeBantuanActionPerformed(java.awt.event.ActionEvent

evt) {

Halaman_Home home = new Halaman_Home();

home.setVisible(true);

this.setVisible(false);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI