Analisis Perbandingan Algoritma Apriori dan Algoritma FP-Growth untuk Korelasi Pembelian Produk (Studi Kasus : Sumber Swalayan Medan)
ANALISIS PERBANDINGAN ALGORITMA APRIORI DAN
ALGORITMA FP-GROWTH UNTUK KORELASI
PEMBELIAN PRODUK ( STUDI KASUS:
SUMBER SWALAYAN MEDAN)
SKRIPSI
EVA CRISTY YULIANA MANURUNG
111421034
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
(2)
(3)
i
ANALISIS PERBANDINGAN ALGORITMA APRIORI DAN ALGORITMA FP-GROWTH UNTUK KORELASI PEMBELIAN PRODUK
( STUDI KASUS: SUMBER SWALAYAN MEDAN)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
EVA CRISTY YULIANA MANURUNG 111421034
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
(4)
Judul : ANALISIS PERBANDINGAN ALGORITMA APRIORI DAN ALGORITMA FP-GROWTH UNTUK KORELASI PEMBELIAN PRODUK (STUDI KASUS: SUMBER SWALAYAN MEDAN)
Kategori : SKRIPSI
Nama : EVA CRISTY YULIANA MANURUNG
Nomor Induk Mahasiswa : 111421034
Program Studi : EKSTENSI S1 ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Maya Silvi Lydia B.Sc, M.Sc Dr. Poltak Sihombing, M.Kom NIP. 19740127 200212 2 001 NIP. 19620217 199103 1 001
Diketahui/disetujui oleh
Program Studi Ekstensi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 19620217 199103 1 001
(5)
iii
PERNYATAAN
ANALISIS PERBANDINGAN ALGORITMA APRIORI DAN ALGORITMA FP-GROWTH UNTUK KORELASI PEMBELIAN PRODUK
( STUDI KASUS: SUMBER SWALAYAN MEDAN)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Januari 2014
Eva Cristy Yuliana Manurung 111421034
(6)
PENGHARGAAN
Puji syukur penulis panjatkan Tuhan Yang Maha Esa, karena atas berkat dan kasih-Nya penulis mampu menyelesaikan Skripsi ini.
Skripsi ini dikerjakan sebagai salah satu syarat guna memperoleh gelar Sarjana Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Penulis mengungkapkan rasa terima kasih dan penghargaan kepada :
1. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
2. Bapak Dr. Poltak M.Kom, selaku Ketua Program Studi Ilmu Komputer sekaligus Dosen Pembimbing I yang telah memberikan banyak bimbingan, saran, serta motivasi dalam pengerjaan skripsi ini.
3. Ibu Maya Silvi Lydia B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer sekaligus pembimbing II yang telah memberikan masukan, bimbingan, saran dan motivasi kepada penulis.
4. Bapak Dr. Nasruddin Noer M.Eng.Sc sebagai Dosen Pembanding I yang telah memberikan kritik dan saran yang membangun bagi penulis.
5. Ibu Dian Rachmawati S.Si, M.Kom sebagai Dosen Pembanding II yang telah memberikan kritik dan saran yang membangun bagi penulis.
6. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara berserta para pegawai yang bertugas di Program Studi Ilmu Komputer FASILKOM-TI USU.
7. Orang tua tercinta, Ayahanda J. Manurung dan Ibunda tercinta M. Malau, kakanda Jones Manurung, adinda Ayub Manurung atas semua doa, dukungan, dan motivasi yang tak ternilai harganya.
(7)
v
8. Seluruh sahabat buat Evi, Bella, Deni, Bora, Fenni, Jouhon, Bang Wahyu, buat adik-adikku: Leni, Vivien, Ester, Yohana, Nugraha, Anwar, Lidia, Claudia, Meli atas doa dan dukungannya.
9. Keluarga besar Ekstensi Ilmu Komputer, khususnya semua teman dan sahabat angkatan 2011 yang tidak dapat disebutkan satu persatu, terima kasih atas segala dukungan, doa dan kerja samanya selama ini.
Semoga Tuhan Yang Maha Esa membalas semua kebaikan kepada semua pihak yang telah memberikan dukungan kepada penulis dalam menyelesaikan skripsi ini.
Penulis,
(8)
Penelitian ini bertujuan untuk mendapatkan korelasi dari jenis produk-produk yang sering dibeli secara bersamaan dalam suatu waktu dan menganalisis perbandingan waktu yang diperlukan di dalam menemukan frequent itemset dengan algoritma apriori dan FP Growth. Penelitian ini dengan menggunakan proses data mining dengan metode Association Rule dengan algoritma Apriori dan algoritma FP-Growth. Langkah-langkah yang diperlukan untuk memperoleh frequent itemsets menggunakan algoritma Apriori berbeda dengan langkah-langkah dengan menggunakan algoritma FP-Growth. penelitian ini menyajikan rule dari aturan asosiasi dan perbandingan waktu antara algoritma Apriori dan algoritma FP-Growth. Waktu yang diperoleh dengan menggunakan Algotitma FP-Growth lebih cepat daripada Algoritma Apriori.
Kata kunci: data mining, Association Rule, algoritma Apriori, algoritma
(9)
vii
ANALYZE COMPARISON OF APRIORI ALGORITHM AND FP-GROWTH ALGORITHM FOR CORRELATION BUYING PRODUCTS
(STUDY CASE: SUMBER SWALAYAN MEDAN)
ABSTRACT
This research aimed to get correlation of kinds product that often bought together in the same time and analyze the comparation time to find frequent itemsets. The method of this research is association rjule with aapriori algorithm and FP-Growth algorithm. The steps of apriori algorithm are different with FP-Growth algorithm. This research contains rule of association rule and comparison time of apriori algorithm and FP-Growth algorithm. The time of apriori algorithm faster than FP-FP-Growth algorithm.
(10)
DAFTAR ISI
Hal.
PERSETUJUAN ii
PERNYATAAAN iii
PENGHARGAAN iv
ABSTRAK vi
ABSTRACT vii
DAFTAR ISI viii
DAFTAR TABEL xi
DAFTAR GAMBAR xiii
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 5
BAB 2 TINJAUAN PUSTAKA 7
2.1 DataBase 7
(11)
ix
2.3 Association Rule 10
2.4 Algoritma Apriori 12
2.5 Algoritma Fp-Growth 12
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 16
3.1 Analisis Kebutuhan 16
3.1.1 Analisis Data dengan Apriori 17
3.1.2 Pengelompokan Daftar Produk 19
3.1.3 Analisis Pencarian Pola Frekuensi Tinggi 21
3.1.4 Pembentukan Aturan Asosiasi 33
3.1.5 Analisis Data Dengan FP-Growth 35
3.2 Perancangan Sistem 49
3.2.1 Data Flow Diagram(DFD) 49
3.2.2 DFD Level 0 50
3.2.3 DFD Level 1 Apriori 51
3.2.4 DFD Level 1 FP-Growth 52
3.2.5 Flowchart Algoritma 53
3.3 Perancangan Sistem 57
3.4. Perancangan Tampilan Antarmuka 58
3.4.2 Form Login 59
3.4.3 Menu Utama 59
3.4.4 Transaksi 60
3.4.5 Olah Barang 61
3.4.6 Perancangan Proses Apriori 62
3.4.6 Perancangan Proses FP-Growth 63
3.4.7 Perancangan Output FP-Growth 64
3.4.8 Perancangan Output dengan Apriori 64
BAB 4 IMPLEMENTASI DAN PENGUJIAN
(12)
BAB 5 KESIMPULAN DAN SARAN 73
5.1 Kesimpulan 73
(13)
xi
DAFTAR TABEL
Hal.
Tabel 3.1 Tabel Data Transaksi 18
Tabel 3.2 Tabel Data Produk 19
Tabel 3.3 Tabel C1 22
Tabel 3.4 Tabel L1 24
Tabel 3.5 Tabel C2 27
Tabel 3.5 Tabel L2 33
Tabel 3.7 Tabel Pembentukan Korelasi Produk 34
Tabel 3.8 Tabel Pembentukan Aruran Asosiasi 34
Tabel 3.9 Tabel Data Barang Fp-Growth 35
Tabel 3.10 Tabel Transaksi 37
Tabel 3.11 Tabel Data Barang 58
Tabel 3.12 Tabel Transaksi Barang 58
(14)
Hal.
Gambar 2.1 Arsitektur Data Mining 8
Gambar 2.2 Langkah-Langkah Algoritma FP-Growth 14
Gambar 3.1 Diagram Ishikawa 17
Gambar 3.2 TID 1 38
Gambar 3.3 TID 2 39
Gambar 3.4 TID 3 40
Gambar 3.5 TID 4 41
Gambar 3.6 TID 5 42
Gambar 3.7 TID 6 43
Gambar 3.8 TID 7 44
Gambar 3.9 TID 8 45
Gambar 3.10 TID 9 46
Gambar 3.11 TID 10 47
Gambar 3.12 Kondisi TID untuk Ya 48
Gambar 3.13 DFD Level 0 50
Gambar 3.14 DFD Level 1 Apriori 51
Gambar 3.15 DFD Level 1 FP-Growth 52
Gambar 3.16 Flowchart Algoritma Apriori 53
Gambar 3.17 Flowchart Algoritma Apriori(lanjutan) 54
Gambar 3.18 Flowchart Algoritma FP-Growth 55
Gambar 3.19 Flowchart Algoritma FP-Growth(lanjutan) 56
Gambar 3.20 Flowchart Sistem 57
(15)
xiii
Gambar 3.22 Perancangan Menu Utama 60
Gambar 3.23 Perancangan Transaksi 60
Gambar 3.24 Perancangan Olah Barang 61
Gambar 3.25 Perancangan Proses Mining dengan Apriori 62 Gambar 3.26 Perancangan Proses Mining dengan FP-Growth 63
Gambar 3.27 Tampilan Output FP-Growth 64
Gambar 3.28 Tampilan Output Apriori 64
Gambar 4.1 Tampilan login 67
Gambar 4.2 Proses Mining dengan Apriori 1 68
Gambar 4.3 Proses Mining dengan Apriori 2 69
Gambar 4.4 Proses Mining dengan FP-Growth 1 70
(16)
(17)
ABSTRAK
Penelitian ini bertujuan untuk mendapatkan korelasi dari jenis produk-produk yang sering dibeli secara bersamaan dalam suatu waktu dan menganalisis perbandingan waktu yang diperlukan di dalam menemukan frequent itemset dengan algoritma apriori dan FP Growth. Penelitian ini dengan menggunakan proses data mining dengan metode Association Rule dengan algoritma Apriori dan algoritma FP-Growth. Langkah-langkah yang diperlukan untuk memperoleh frequent itemsets menggunakan algoritma Apriori berbeda dengan langkah-langkah dengan menggunakan algoritma FP-Growth. penelitian ini menyajikan rule dari aturan asosiasi dan perbandingan waktu antara algoritma Apriori dan algoritma FP-Growth. Waktu yang diperoleh dengan menggunakan Algotitma FP-Growth lebih cepat daripada Algoritma Apriori.
Kata kunci: data mining, Association Rule, algoritma Apriori, algoritma
(18)
BAB 1 PENDAHULUAN
1.1Latar Belakang
Perusahaan ritel yang menyediakan berbagai kebutuhan berkembang pesat bukan hanya di kota besar saja tetapi juga di kota-kota kecil. Untuk memperoleh keuntungan yang maksimal banyak hal yang dilakukan perusahaan. Dimana, perusahaan berusaha untuk menarik minat konsumen sehinnga dibutuhkan informasi yang sebanyak-banyaknya. Informasi dapat dilihat dari transaksi penjualan yang tersimpan dalam database.
Kumpulan data transaksi yang begitu besar sering kali hanya disimpan di dalam suatu database dan kurang digali pemanfaatannya. Data penjualan tersebut bisa diolah lebih lanjut sehingga didapatkan informasi baru. Misalnya, dari informasi dapat dilihat barang yang dibeli secara bersamaan. Pengetahuan tersebut dapat digunakan sebagai pemasaran produk yang saling melengkapi dan membuat posisi rak barang-barang yang dijual pada perusahaan ritel. Teknologi data mining sebagai solusi bagi para pengambil keputusan seperti manajer dalam menentukan strategi pemasaran dan korelasi antara barang yang dibeli oleh konsumen sehingga dapat meningkatkan pelayanan pada konsumen.
Proses data mining adalah proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan algoritma. Pemilihan fungsi atau algoritma yang tepat sangat bergantung pada tujuan dan proses pencarian pengetahuan secara keseluruhan. Penelitian ini menggunakan metode asosiasi yang merupakan teknik data mining untuk menemukan aturan asosiatif antara suatu korelasi item. Contoh aturan asosiatif dari analisis pembelian di suatu pasar swalayan adalah dapat diketahuinya
(19)
(20)
berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan mentega. Dengan pengetahuan tersebut, pemilik swalayan dapat mengatur penempatan barangnya dan merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu.
Banyak peneliti yang menjadikan data mining sebagai objek penelitiannya. Pathresia (2012) di dalam penelitiannya menggunakan teknik market basket analysis dengan menggunakan algoritma Apriori untuk memperoleh korelasi produk yang sering dibeli secara bersamaan pada swalayan. Selain itu juga Ahmad (2012) dalam penelitiannya memanfaatkan data transaksi yang banyak tersimpan dengan menggunakan Algoritma FP-Growth untuk membuat strategi dan kebijakan dalam berbisnis. Demikian juga Erwin(2009) dalam penelitiannya menganalisis market basket dengan algoritma Apriori dan Algoritma FP-Growth.
Banyak metode yang digunakan dalam data mining, yaitu estimation, prediction, classification, clustering, Association. Penelitian ini menggunakan association rule demgan menggunakan algoritma Apriori dan FP Growth. Kedua algoritma tersebut digunakan untuk mengetahui korelasi antara barang yang diminati oleh konsumen yang tersimpan dalam database. Setelah diperoleh frequent itemsets, maka diambil suatu aturan dan kemudian menganalisis perbandingan waktu kedua algoritma tersebut.
1.2Rumusan Masalah
Setelah melihat latar belakang masalah yang telah diuraikan maka rumusan masalah dalam penelitian ini adalah bagaimana membuat perbandingan algoritma Apriori dan algoritma FP Growth di dalam penambangan data dalam database untuk korelasi pembelian produk.
(21)
Adapun batasan masalah dalam penelitian ini adalah sebagai berikut:
1. Data yang diinput merupakan transaksi penjualan produk yang dibeli selama 3 bulan di minimarket
2. Informasi berdasarkan produk yang dibeli konsumen secara bersamaan 3. Menggunakan korelasi dari 2 jenis produk yang dijual dengan parameter
support dan confidence. Dimana nilai maksimum support 0.3 dan maksimum confidence 1.
4. Jenis barang dalam penelitian ini yaitu: makanan dan minuman, produk pembersih dan pewangi konsumen(hygiene care), pembersih dan pewangi pakaian.
5. Analisis dilihat dengan perbandingan waktuuntuk menemukan frequent itemset
6. Menggunakan bahasa pemrograman PHP dan penyimpanan data di MySql.
1.4Tujuan Penelitian
Tujuan dari penelitian ini adalah:
1. Mendapatkan korelasi dari jenis produk-produk yang sering dibeli secara bersamaan dalam suatu waktu
2. Mengimplementasikan hasil dari korelasi jenis produk-produk ke dalam sebuah aplikasi data mining pada pembelian produk menggunakan algoritma apriori dan FP Growth
3. Menganalisis perbandingan waktu yang diperlukan di dalam menemukan frequent itemset dengan algoritma apriori dan FP Growth.
1.5Manfaat Penelitian
(22)
1. Dapat mempermudah mengetahui informasi pembelian produk yang sering dibeli oleh konsumen secara bersamaan
2. Untuk mengetahui pencarian data yang sering muncul (frequent itemset) kemudian dapat diambil kesimpulan
3. Untuk mengatur tata letak produk yang sering dibeli secara bersamaan oleh konsumen supaya diletakkan secara berdekatan
4. Untuk mengetahui perbandingan waktu yang dibutuhkan dalam menemukan korelasi produk pembelian
1.6Metodologi Penelitian
Dalam menyusun tugas akhir ini penulis melakukan beberapa penerapan metode penelitian untuk menyelesaikan permasalahan. Adapun metode penelitian yang dilakukan adalah dengan cara:
1. Studi literature
Mempelajari konsep-konsep dasar mengenai data mining dan algoritma asosiasi yaitu algoritma apriori dan FP-Growth yang terdapat pada beberapa sumber literatur. Sumber literatur berupa buku teks, paper, dan jurnal.
2. Metode Pengembangan Perangkat Lunak 2.1 Analisis Kebutuhan
Dalam tahap ini mengumpulkan semua kebutuhan yang diperlukan dalam membangun perangkat lunak yang berupa data transaksi. Kemudian melakukan analisa pengolahan data untuk menghasilkan suatu informasi berupa pola (pattern) dengan teknik asosiasi (association rule).
2.2 Desain Sistem
Dalam proses desain sistem bertujuan untuk merealisasikan hasil analisis ke dalam bentuk perangkat lunak, pada tahap ini meliputi rancangan antarmuka
(23)
dan dalam perancangan prosedur yang akan diterapkan dalam perangkat lunak berdasarkan teknik asosiasi dengan algoritma apriori dan FP Growth.
3. Implementasi dan Pengujian
Pada tahapan ini menerapkan source code program untuk dijadikan hasil akhir yaitu perangkat lunak yang seutuhnya. Kemudian dilakukan proses pengujian dengan memasukkan data transaksi, selanjutnya diketahui data mana yang sering muncul (frequent itemset) secara bersamaan sesuai minimum support dan confidence yang diberikan. Kemudian, membandingkan waktu yang diperlukan oleh algoritma apriori dan algoritma FP Growth.
4. Dokumentasi
Tahap dokumentasi ini berupa penulisan skripsi yang menjelaskan proses analisis perbandingan algoritma Apriori dengan Algoritma FP Growth.
1.7Sistematika Penulisan
Peyusunan laporan tugas akhir ini menggunakan kerangka pembahasan yang terbentuk dalam susunan bab, yang dapat dijelaskan sebagai berikut:
BAB 1 : PENDAHULUAN
Bab ini berisikan tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metode penelitian, dan sistematika penulisan.
(24)
Bab ini berisikan tentang landasan teori yang mendukung perancangan aplikasi yang akan dibangun.
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas mengenai analisa data yang akan diproses berdasarkan analisis asosiasi dengan algoritma apriori kemudian membuat DFD, flowchart, struktur tabel dan merancang tampilan dari aplikasi datamining.
BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini akan membahas tentang implementasi dari sistem yang dibuat berdasarkan hasil analisis dan perancangan sistem yang telah dibuat. Kemudian dilakukan pengujian sistem untuk mengetahui apakah sistem dapat berjalan sesuai tujuan dan harapan perancangan.
BAB 5 : KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dan saran yang diberikan untuk perbaikan sistem sehingga menjadi lebih baik dan bermanfaat bagi pengguna maupun pembaca skripsi.
BAB 2
LANDASAN TEORI
(25)
Basis data adalah kumpulan terintegrasi dari occurences file/table yang merupakan representasi data dari suatu model enterprise. Sistem basisdata sebenarnya tidak lain adalah sistem penyimpanan-record secara komputer (elektronis). Basis data sendiri dapat digambarkan sebagai suatu lemari file yang berisi berbagai kumpulan file data yang terkomputerisasi. Pemilik lemari file tentu saja dapat melakukan berbagai bentuk tindakan terhadap sistem yang dimilikinya, seperti berikut ini.
1. Penambahan file baru
2. Penambahan data pada file yang ada 3. Pengambilan data dari file yang ada 4. Pemutakhiran data dalam file yang ada 5. Penghapusan data dari file yang ada
6. Penghapusan file yang sudah tidak diperlukan
Perangkat lunak yang didesain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar atau untuk memudahkan pengelolaan database disebut DBMS (Database Management System).
2.2 Data Mining
Data mining adalah sejumlah proses pencarian pola dari data-data dengan jumlah yang sangat banyak yang tersimpan dalam suatu tempat penyimpanan dengan menggunakan teknologi pengenal data, teknik statistik, dan matematik. Data mining sebagai proses untuk menemukan korelasi atau pola dari ratusan atau ribuan field dari sebuah relasional database yang besar. Data mining dapat diartikan sebagai serangkaian proses untuk menggali nilai tambah berupa pengetahuan yang selama ini tidak diketahui secara manual dari suatu kumpulan data[6].
Hubungan yang dicari dalam data mining dapat berupa hubungan antara dua atau lebih dalam satu dimensi. Penemuan pola merupakan keluaran dari data mining[4]. Misalnya suatu perusahaan ritel yang akan meningkatkan penjualan produk, maka perusahaan akan mencari pola dari pelanggan yang ada untuk mengetahui pelanggan yang potensial dan pelanggan yang tidak potensial. Data mining sering disebut juga Knowledge Discovery in Database (KDD) adalah kegiatan
(26)
yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam set berukuran besar[3].
2.2.1 Arsitektur Data mining
Arsitektur data mining dapat dilihat pada gambar berikut:
Knowledge base
Data cleaning & data integration fltering
Gambar 2.1 Arsitektur Data Mining
Keterangan :
1. Data cleaning (Pembersihan Data) : untuk membuang data yang tidak
konsisten dan noise
2. Data integration : penggabungan data dari beberapa sumber
3. Data Mining Engine : Mentranformasikan data menjadi bentuk yang sesuai
untuk di mining
4. Pattern evaluation : untuk menemukan pengetahuan yang bernilai melalui
knowledge base
5. Graphical User Interface (GUI) : untuk end user
Graphical User Interface (GUI)
Pattern Evaluation
Data Mining Engine
(27)
2.2.2 Pengelompokan Data Mining
Data mining dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat dilakukan, yaitu:
1. Deskripsi
Deskripsi dari pola dan kecenderungan sering memberikan kemungkinan penjelasan untuk suatu pola atau kecenderungan.
2. Estimasi
Pada estimasi, model dibangun menggunakan record lengkap yang menyediakan nilai dari variabel target sebagai nilai prediksi. Selanjutnya, pada peninjauan berikutnya estimasi nilai dari variabel target dibuat berdasarkan nilai variabel prediksi.
3. Prediksi
Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil akan ada di masa mendatang.
4. Klasifikasi
Dalam klasifikasi, terdapat target variabel kategori. Sebagai contoh penggolongan pendapatan dapat dipisahkan dalam tiga kategori, yaitu pendapatan tinggi, pendapatan sedang, dan pendapatan rendah.
5. Pengklusteran
Pengklusteran merupakan pengelompokkan record, pengamatan, atau memperhatikan dan membentuk kelas objek-objek yang memiliki kemiripan.
6. Asosiasi
Tugas utama dalam data mining adalah menemukan atribut yang muncul dalam suatu waktu. Dalam dunia bisnis lebih umum disebut analisis keranjang belanja.
2.3 Association Rule
Aturan asosiasi atau association rule adalah teknik data mining untuk menemukan aturan asosiatif antara suatu korelasi item. Tugas asosiasi dalam data mining adalah menemukan atribut yang muncul bersamaan dalam suatu waktu. Contoh aturan asosiatif di dalam suatu pasar swalayan adalah dapat diketahuinya berapa besar
(28)
kemungkinan seorang pelanggan membeli kopi bersamaan dengan gula. Dengan pengetahuan tersebut, pemilik pasar swalayan dapat mengatur penempatan produknya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk korelasi barang tertentu.
Analisis asosiasi dikenal juga sebagai salah satu teknik data mining yang menjadi dasar dari berbagai teknik data mining lainnya. Secara khusus, salah satu tahap analisis asosiasi yang menarik banyak peneliti untuk menghasilkan algoritma yang efisien adalah analisis pola frekuensi tinggi (frequent pattern mining). Penting tidaknya suatu aturan asosiatif dapat diketahui dengan dua parameter, yaitu support dan confidence. Support adalah presentasi kombinasi item tersebut dalam database, sedangkan confidence adalah nilai probability suatu item akan dibeli bersama item lain.
2.4 Algoritma Apriori
Apriori adalah suatu algoritma yang sudah sangat dikenal dalam melakukan pencarian frequent itemset dengan menggunakan teknik association rule. Algoritma Apriorimenggunakan knowledge mengenai frequent itemset yang telah diketahui sebelumnya untuk memproses informasi selanjutnya pada algoritma Apriori untuk menentukan kandidat-kandidat yang mungkin muncul dengan cara memperhatikan minimum support[1].
Adapun dua proses utama yang dilakukan dalam algoritma Apriori, yaitu: 1. Join (penggabungan).
Pada proses ini setiap item dikombinasikan dengan item yang lainnya sampai tidak terbentuk kombinasi lagi.
2. Prune (pemangkasan).
Pada proses ini, hasil dari item yang telah dikombinasikan tadi lalu dipangkas dengan menggunakan minimum support yang telah ditentukan oleh user. Dua proses utama tersebut merupakan langkah yang akan dilakukan untuk mendapat frequent itemset (Erwin).Contoh:
(29)
Aturan tersebut berarti “50% dari transaksi di database yang memuat item kopi dan gula dan juga memuat item roti. Sedangkan 40% dari seluruh transaksi yang ada di database memuat ketiga item tersebut. Langkah-langkah algoritma Apriori dibuat dengan diagram alir sebagai berikut. Secara terperinci, berikut adalah langkah-langkah proses pembentukan Association Rule dengan algoritma apriori[6]:
1. Di iterasi pertama ini, support dari setiap item dihitung dengan men-scan database. Support artinya jumlah transaksi dalam database yang mengandung satu item dalam C1. Setelah support dari setiap item diperoleh, kemudian nilai support tersebut dibandingkan dengan minimum support yang telah ditentukan, jika nilainya lebih besar atau sama dengan minimum support maka itemset tersebut termasuk dalam large itemset. Item yang memiliki support di atas minimum support dipilih sebagai pola frekuensi tinggi dengan panjang 1 atau sering disebut Large 1-itemset atau disingkat L1.
2. Iterasi kedua menghasilkan 2-itemset yang tiap set-nya memiliki dua item. Sistem akan menggabungkan dengan cara, kandidat 2-itemset atau disingkat C2 dengan mengkombinasikan semua candidat 1-itemset (C1). Lalu untuk tiap item pada C2 ini dihitung kembali masing-masing support-nya. Setelah support dari semua C2 didapatkan, Kemudian dibandingkan dengan minimum support. C2 yang memenuhi syarat minimum support dapat ditetapkan sebagai frequent itemset dengan panjang 2 atau Large 2-itemset (L2).
3. Itemset yang tidak termasuk dalam large itemset atau yang tidak memenuhi nilai minimum support tidak diikutkan dalam iterasi selanjutnya (prune).
4. Setelah itu dari hasil frequent itemset atau termasuk dalam Large 2-itemset tersebut, dibentuk aturan asosiasi (association rule) yang memenuhi nilai minimum support dan confidence yang telah ditentukan.
Pseudocode Algoritma Apriori (Erwin, 2009):
Ck: Candidate itemset of size k Lk: frequent itemset of size k
Input :
D, a database of a transactions;
(30)
threshold
Output : L, frequent itemsets in D Mtehod :
L1 = find_frequent_1_itemsets(D); for (k = 2; Lk-1 ;k | |) { Ck = Apriori_gen(L1-1);
for each transaction t D {//scan D for counts
Ct = subset (Ck,t); //get the subsets of t that are candidates
for each candidate c Ct c.count | |;
}
Lk = {c Ck | c.counts min_sup} }
return L = k Lk;
2.5 Algoritma FP Growth
Algoritma FP-Growth merupakan pengembangan dari algoritma Apriori. Sehingga kekurangan dari algoritma Apriori diperbaiki oleh algoritma FP-Growth. Frequent Pattern Growth (FP-Growth) adalah salah satu alternatif algoritma yang dapat digunakan untuk menentukan himpunan data yang paling sering muncul (frequent itemset) dalam sebuah kumpulan data. Pada algoritma Apriori diperlukan generate candidate untuk mendapatkan frequent itemsets. Akan tetapi, di algoritma FP-Growth generate candidate tidak dilakukan karena FP-Growth menggunakan konsep pembangunan tree dalam pencarian frequent itemsets. Hal tersebutlah yang menyebabkan algoritma FP-Growth lebih cepat dari algoritma Apriori. Karakteristik algoritma FP-Growth adalah struktur data yang digunakan adalah tree yang disebut dengan FP-Tree. Dengan menggunakan FP-Tree, algoritma FP-growth dapat langsung mengekstrak frequent Itemset dari FP-Tree.
Metode FP-Growth dapat dibagi menjadi 3 tahapan utama yaitu sebagai [3]: 1. Tahap pembangkitan conditional pattern base,
Conditional Pattern Base merupakan subdatabase yang berisi prefix path (lintasan prefix) dan suffix pattern (pola akhiran). Pembangkitan conditional pattern base didapatkan melalui FP-Tree yang telah dibangun sebelumnya. 2. Tahap pembangkitan conditional FP-Tree
Pada tahap ini, support count dari setiap item pada setiap conditional pattern base djumlahkan, lalu setiap item yang memiliki jumlah support count lebih
(31)
besar sama dengan minimum support count akan dibangkitkan dengan Conditional FP-Tree
3. Tahap pencarian frequent itemset
Apabila Conditional FP-Tree merupakan lintasan tunggal (single path), maka didapatkan frequent itemset dengan melakukan kombinasi item untuk setiap Conditional FP-Tree.
Gambar 2.2 Langkah-Langkah Algoritma FP-Growth
Jika bukan lintasan tunggal, maka dilakukan pembangkitan FP-Growth secara rekursif. Pseuducode FP-Growth sebagai berikut: Pseudocode algoritma FP-Growth (Erwin, 2009):
Pseuducode dapat dijelaskan sebagai berikut:
Input : FP-Tree Tree
Output : Rt sekumpulan lengkap pola frequent
Method : FP-growth (Tree, null) Procedure : FP-growth (Tree, _)
02: then untuk tiap kombinasi (dinotasikan _)
dari node-node dalam path do
03: bangkitkan pola _ _ dengan support dari node-node dalam _;
04: else untuk tiap a1 dalam header dari Tree do
{
05: bangkitkan pola
06: bangun _ = a1 _ dengan support = a1. support
07: if Tree _ = _
08: then panggil FP-growth (Tree, _)
} }
(32)
2.6.1 Analisis frekuensi tinggi
Tahapan ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support dalam database. Nilai support sebuah item diperoleh dengan rumus berikut:
Suport (A) =
x 100 %
Sedangkan nilai support dari 2 item diperoleh dari rumus 2 berikut: Suport (A,B) =
x 100 %
2.6.2. Pembentukan aturan assosiatif
Setelah semua pola frekuensi tinggi ditemukan, barulah dicari aturan assosiatif yang memenuhi syarat minimum untuk confidence dengan menghitung confidence aturan assosiatif A B.
Nilai confidence dari aturan A B diperoleh dari rumus berikut:
Confidence (A,B) =
x 100 %
2.7 Penelitian Terdahulu
Penelitian yang menggunakan algoritma apriori dan algoritma FP-Growth antara lain penelitian yang telah dilakukan Aritonang(2012) melakukan penelitian mengenai pengambilan keputusan untuk menentukan korelasi pembelian produk yang menggunakan algoritma apriori untuk mengetahui data yang sering muncul dan mengetahui aturan tata letak produk dimana data yang diperoleh dari indomaret medan.
Penelitian yang dilakukan Erwin(2009) dengan menggunakan Algoritma Apriori dan Algoritma FP-Growth. Penggunaan FP-Tree yang digunakan bersamaan dengan algoritma FP-Growth untuk menentukan frequent itemset dari sebuah database, berbeda dengan paradigma algoritma yang memerlukan langkah candidate
(33)
generation, yaitu dengan melakukan scanning database secara berulang-ulang unuk menentukan frequent itemset. Penelitian ini juga menyajikan pembahasan mengenai perbandingan kompleksitas waktu antara algoritma FP-Growth dan diperoleh bahwa waktu yang diperlukan algoritma FP-Growth untuk proses mining lebih cepat dibandingkan apriori.
Selain itu juga Ahmad(2012) dalam penelitiannya memanfaatkan data transaksi yang banyak tersimpan dengan menggunakan algoritma FP-Growth untuk membuat strategi dan kebijakan dalam berbisnis. Hasil dari penelitian itu yaitu diperoleh aturan asosiasi denan menggunakan menggunakan algoritma FP-Growth.
BAB 3
ANALISIS DAN PERANCANGAN
Sebelum dilakukan perancangan sistem, terlebih dahulu dilakukan analisis sistem. Analisis sistem yang akan dibangun meliputi analisis pengguna sistem, analisis kebutuhan. Selanjutnya melakukan tahap perancangan sistem untuk membangun aplikasi datamining. Pada tahap perancangan sistem, akan dibahas perancangan Data Flow Diagram (DFD), perancangan alur kerja sistem (flowchart), perancangan fungsi-fungsi program yang akan digunakan dan perancangan antarmuka pemakai (user interface).
3.1 Analisis Kebutuhan
Analisis kebutuhan adalah suatu proses yang sistematik dari pengembangan kebutuhan. Dalam analisis kebutuhan perlu dilakukan suatu perencanaan, pengumpulan data dan analisis data. Analisis kebutuhan dengan menggunakan diagram fishbone/ishikawa. Diagram ishikawa digunakan untuk menolong menemukan akar penyebab masalah atau untuk mengidentifikasi kemungkinan penyebab masalah. Pada diagram ini terdapat cause dan effect. Diagram fishbone dapat digambarkan pada gambar 3.1.
(34)
Belum menggunakan metode Asosiasi belum menggunakan sistem Dengan penggalian data
Pengambilan keputusan belum
Dengan metode association rule
Produk Pembelian
Gambar 3.1 Diagram Ishikawa
3.1.1 Analisis Data dengan Apriori
Analisa data dilakukan setelah data terkumpul dan sesuai dengan kebutuhan sistem. Oleh sebab itu, untuk menghasilkan kesimpulan berdasarkan aturan (rule) pada analisis data, diperlukan data transaksi yang telah dibeli konsumen. Analisis data tersebut dilakukan berdasarkan teknik aturan asosiasi menggunakan algoritma apriori dengan beberapa iterasi atau langkah-langkah.
Analisa data dengan menggunakan algoritma apriori dapat dilakukan dengan beberapa tahap, dimulai dengan pengelompokan data transaksi pada table 3.1. Data yang diambil merupakan data transaksi pembelian produk pada bulan Mei-Juli tahun
Method Machine
Penentuan korelasi Pembelian Produk Swalayan
Man Material
(35)
2013 pada Sumber Swalayan. Data tersebut adalah data yang mewakili keseluruhan data transaksi sebanyak 20 transaksi dan dapat dilihat pada Tabel 3.1.
Tabel 3.1 Data Transaksi
ID_Transaksi Item yang dibeli
1 Yakult, molto, rinso, olay, nutrijell, SGM, Paseo mini, sari roti 2 Close up, sari roti, yakult, dove, pantene, paseo mini, Boom,
sabun ekonomi
3 Gulaku, sari roti, yakult, mie gelas, aqua botol sedang, potato, sariwangi
4 Chitos, aqua btl sdg, potato, boom, relaxa, sarden
5 Mie sedap, telur ayam, kisspray, yakult, pulphi, detol, Promina 6 indomie, telur ayam, molto, rinso, bu cream jeruk nipis, dove 7 Kacang 2 kelinci, aqua btl sdg, nutrijell, downy, daia, detol
8 SGM, Johnson baby powder, molto, rinso, alpenliebe, paseo mini, 9 Downy, daia, telur ayam, indomie, lays, sarden, sariroti, pepsodent 10 detol, kacang 2 kelinci, aqua btl sdg, SGM, pantene
11 Luwak white coffee, sari roti, molto, boom, ponds pembersih muka, cossons baby
12 Sensodyne, mie sedap, telur ayam, sari ayu, garam, johnsons baby powder
13 Mie sedap, telur ayam, aqua btl sdg, Vaseline, potato,sensodyne 14 Sari roti, yakult, mie sedap, telur, sari wangi, pulphi, cheetos 15 Mie sedap, telur ayam, aqua btl sedang, Vaseline, potato,
sensodyne
(36)
chitos
17 Downy, daia, johnsons baby powder, SGM, garnier, mie gelas, ponds pencuci muka
Tabel 3.2 Data Transaksi(lanjutan) Id_Transaksi Item yang dibeli
18 Daia, aqua btl sedang, downy, mie gelas, olay, close up, Vaseline 19 Sariwangi, gulaku, kisspray, daia, sariroti, downy
20 SGM, Johnsons baby powder, downy, mie gelas, daia, mie gelas, Maybelline, potato
3.1.2 Pengelompokkan Daftar Produk Berdasarkan Data Transaksi
Terdapat 20 transaksi yang masing- masing transaksi terdapat beberapa produk atau item yang dibeli oleh konsumen. Untuk itu item yang dibeli diberikan kode produk untuk mempermudah dalam pencarian rule seperti tabel berikut:
Tabel 3.3 Data Produk
NO Item_Set Jumlah_item
1 Close up 2
2 Sensodyne 2
3 Ponds Pembersih muka 2
4 Olay 2
5 Garnier 1
6 Sari ayu 1
7 Telur ayam 7
8 Garam 1
9 Vaseline 2
(37)
Tabel 3.4 Data Produk(lanjutan)
No Itemset Jumlah_Item
11 Nutrijell 2
12 Yakult 6
13 Downy 6
14 Molto 5
15 Kispray 2
16 Maybelline 1
17 Johnsons Baby Powder 4
18 Cossons Baby 2
19 Paseo mini 3
20 SGM 5
21 Promina 1
22 Rinso 4
23 Daia 6
24 Boom 4
25 Sabun ekonomi 1
26 Bu cream jeruk nipis 1
27 Relaxa 1
28 Alpenliebe 1
29 Pantene 2
30 Gulaku 3
31 Sariwangi 4
32 Luwak white coffee 1
33 Kacang 2 kelinci 2
(38)
Tabel 3.5 Data Produk(lanjutan)
No Itemset Jumlah_Item
35 Lays 1
36 Pulphi 2
37 Aqua botol sedang 8
38 Indomie 2
39 Mie sedap 5
40 Mie gelas 5
41 Potato 4
42 Chitos 3
43 Detol 3
44 Dove 3
45 Pepsodent 1
3.1.3 Analisis Pencarian Pola Frekuensi Tinggi
Misalkan diberikan nilai minimum support = 20% (Ф=4 dari 20 transaksi) dan kemudian dilakukan pencarian nilai support pada masing-masing item dengan rumus:
Support =
x
(39)
Tabel 3.6 C1 (Kandidat 1-itemset)
Item Set Support
Close up 2/20* 100 = 0.1%
Sensodyne 2/20* 100 = 0.1% Ponds Pembersih muka 2/20* 100 = 0.1%
Olay 2/20* 100 = 0.1%
Garnier 0/20* 100 = 0%
Sari ayu 1/20* 100 = 0.05%
Telur ayam 7/20* 100 = 0.35%
Garam 1/20* 100 = 0.05%
Vaseline 2/20* 100 = 0.1%
Sarden 0/20* 100 = 0%
Nutrijell 2/20* 100 = 0.1%
Yakult 6/20* 100 = 0.3%
Downy 6/20* 100 = 0.3%
Molto 5/20* 100 = 0.25%
Kispray 2/20* 100 = 0.1%
Maybelline 1/20* 100 = 0.05% Johnsons Baby Powder 4/20* 100 = 0.2% Cussons Baby 2/20* 100 = 0.1% Paseo mini 3/20* 100 = 0.15%
SGM 5/20* 100 = 0.25%
Promina 1/20* 100 = 0.05%
Rinso 4/20* 100 = 0.2%
Daia 6/20* 100 = 0.3%
Tabel 3.7 C1(lanjutan)
(40)
Boom 4/20* 100 = 0.2% Sabun ekonomi 1/20* 100 = 0.05% Bu cream jeruk nipis 1/20* 100 = 0.05%
Relaxa 1/20* 100 = 0.05%
Alpenliebe 1/20* 100 = 0.05%
Pantene 2/20* 100 = 0.1%
Gulaku 3/20* 100 = 0.15%
Sariwangi 4/20* 100 = 0.2% Luwak white coffee 1/20* 100 = 0.05% Kacang 2 kelinci 2/20* 100 = 0.1% Sari roti 7/20* 100 = 0.35%
Lays 1/20* 100 = 0.05%
Pulphi 2/20* 100 = 0.1%
Aqua botol sedang 8/20* 100 = 0.4%
Indomie 2/20* 100 = 0.1%
Mie sedap 5/20* 100 = 0.25% Mie gelas 5/20* 100 = 0.25%
Potato 4/20* 100 = 0.2%
Chitos 3/20* 100 = 0.15%
Detol 3/20* 100 = 0.15%
Dove 3/20* 100 = 0.15%
Langkah 2 :
Berdasarkan Tabel yang berisi item-item dengan support yang dimilikinya, selanjutnya cari L1={large 1-itemset} dengan memilih item yang memenuhi nilai minimum support ≥15% seperti pada tabel 3.8.
Tabel 3.8 L1 (Large 1-itemset)
Item set Support
(41)
Yakult 0.3%
Downy 0.3%
Molto 0.25%
Johnsons Baby Powder 0.2%
SGM 0.15%
Rinso 0.25%
Daia 0.2%
Boom 0.3%
Gulaku 0.2%
Sariwangi 0.15%
Sari roti 0.2%
Aqua botol 0.35%
Mie Sedap 0.4%
Mie gelas 0.25%
Potato 0.25%
Chitos 0.2%
Detol 0.15%
Dove 0.15%
Langkah 3
Proses selanjutnya yaitu menghasilkan kandidat 2-itemsets atau C2, dengan melalui tahap join (gabung) yaitu dengan mengkombinasikan produk atau item, maka akan dihasilkan Tabel 3.9. Support_count adalah jumlah kombinasi item yang ada pada transaksi penjualan produk, yang berarti seberapa sering kombinasi item tersebut muncul pada transaksi.
(42)
Tabel 3.9 C2 (Kandidat item set)
No Item 1 Item 2 Support
1 telur ayam Daia 1/20* 100 = 0.05
2 telur ayam Detol 1/20* 100 = 0.05
3 telur ayam Dove 2/20* 100 = 0.1
4 telur ayam Molto 1/20* 100 = 0.05
5 telur ayam Gulaku 0/20* 100 = 0
6 telur ayam aqua btl sdg 1/20* 100 = 0.05
7 telur ayam SGM 0/20* 100 = 0
8 telur ayam Boom 0/20* 100 = 0
9 telur ayam Sariwangi 1/20* 100 = 0.05
10 telur ayam mie gelas 0/20* 100 = 0
11 telur ayam mie sedap 5/20* 100 = 0.25
12 telur ayam janson baby powder 1/20* 100 = 0.05
13 telur ayam Yakult 3/20* 100 = 0.15
14 telur ayam Downy 1/20* 100 = 0.05
15 telur ayam Potato 1/20* 100 = 0.05
Tabel 3.10 C2 (lanjutan)
No Item 1 Item 2 Suport
16 telur ayam paseo mini 0/20* 100 = 0
17 telur ayam sari roti 3/20* 100 = 0.15
18 telur ayam Rinso 1/20* 100 = 0.05
19 telur ayam Chitos 1/20* 100 = 0.05
20 Yakult Rinso 1/20* 100 = 0.05
21 Yakult paseo mini 2/20* 100 = 0.1
(43)
23 Yakult mie gelas 1/20* 100 = 0.05
24 Yakult Dove 2/20* 100 = 0.1
25 Yakult Potato 1/20* 100 = 0.05
26 Yakult mie sedap 3/20* 100 = 0.15
27 Yakult Chitos 1/20* 100 = 0.05
28 Yakult aqua btl sdg 1/20* 100 = 0.05
29 Yakult sari roti 4/20* 100 = 0.2
30 Yakult Detol 1/20* 100 = 0.05
31 Yakult Sariwangi 2/20* 100 = 0.1
32 Yakult Gulaku 1/20* 100 = 0.05
33 Yakult Boom 2/20* 100 = 0.1
34 Yakult Daia 0/20* 100 = 0
35 Yakult Molto 1/20* 100 = 0.05
36 Yakult Downy 0/20* 100 = 0
37 Yakult janson baby powder 0/20* 100 = 0
38 Downy Gulaku 1/20* 100 = 0.05
39 Downy Chitos 0/20* 100 = 0
40 Downy mie gelas 3/20* 100 = 0.15
Tabel 3.11 C2(lanjutan)
No Item 1 Item 2 Confidence
41 Downy mie sedap 0/20* 100 = 0
42 Downy Potato 1/20* 100 = 0.05
43 Downy Boom 0/20* 100 = 0
44 Downy paseo mini 0/20* 100 = 0
45 Downy aqua btl sdg 3/20* 100 = 0.15
46 Downy janson baby powder 2/20* 100 = 0.1
47 Downy Detol 1/20* 100 = 0.05
48 Downy Dove 0/20* 100 = 0
(44)
50 Downy Molto 0/20* 100 = 0
51 Downy Rinso 0/20* 100 = 0
52 Downy SGM 2/20* 100 = 0.1
53 Downy sari roti 2/20* 100 = 0.1
54 Downy Sariwangi 1/20* 100 = 0.05
55 Molto aqua btl sdg 1/20* 100 = 0.05
56 Molto Rinso 4/20* 100 = 0.2
57 Molto Gulaku 1/20* 100 = 0.05
58 Molto SGM 2/20* 100 = 0.1
59 Molto janson baby powder 1/20* 100 = 0.05
60 Molto mie gelas 1/20* 100 = 0.05
61 Molto Boom 2/20* 100 = 0.1
62 Molto Chitos 1/20* 100 = 0.05
63 Molto Potato 1/20* 100 = 0.05
64 Molto Detol 0/20* 100 = 0
65 Molto mie sedap 0/20* 100 = 0
Tabel 3.12 C2(lanjutan)
No Item 1 Item 2 Confidence
66 Molto Daia 0/20* 100 = 0
67 Molto sari roti 1/20* 100 = 0.05
68 Molto paseo mini 2/20* 100 = 0.1
69 Molto Dove 1/20* 100 = 0.05
70 Molto Sariwangi 1/20* 100 = 0.05
71 janson baby powder aqua btl sdg 1/20* 100 = 0.05 72 janson baby powder mie gelas 2/20* 100 = 0.1 73 janson baby powder sari roti 0/20* 100 = 0
74 janson baby powder Rinso 1/20* 100 = 0.05
75 janson baby powder Sariwangi 0/20* 100 = 0 76 janson baby powder mie sedap 1/20* 100 = 0.05
(45)
77 janson baby powder SGM 3/20* 100 = 0.15 78 janson baby powder Potato 1/20* 100 = 0.05
79 janson baby powder Boom 0/20* 100 = 0
80 janson baby powder paseo mini 1/20* 100 = 0.05
81 janson baby powder Dove 0/20* 100 = 0
82 janson baby powder Gulaku 0/20* 100 = 0
83 janson baby powder Detol 0/20* 100 = 0
84 janson baby powder Chitos 0/20* 100 = 0
85 janson baby powder Daia 2/20* 100 = 0.1
86 paseo mini Dove 1/20* 100 = 0.05
87 paseo mini Gulaku 0/20* 100 = 0
88 paseo mini sari roti 1/20* 100 = 0.05
89 paseo mini SGM 2/20* 100 = 0.1
90 paseo mini Rinso 2/20* 100 = 0.1
Tabel 3.13 C2(Lanjutan)
No Item 1 Item 2 Confidence
91 paseo mini Potato 0/20* 100 = 0
92 paseo mini Boom 2/20* 100 = 0.1
93 paseo mini mie sedap 0/20* 100 = 0
94 paseo mini Sariwangi 0/20* 100 = 0
95 paseo mini Daia 0/20* 100 = 0
96 paseo mini Chitos 0/20* 100 = 0
97 paseo mini mie gelas 0/20* 100 = 0
98 paseo mini Detol 0/20* 100 = 0
99 paseo mini aqua btl sdg 0/20* 100 = 0
100 SGM Potato 1/20* 100 = 0.05
101 SGM mie sedap 0/20* 100 = 0
102 SGM Rinso 2/20* 100 = 0.1
(46)
104 SGM Gulaku 0/20* 100 = 0
105 SGM Chitos 0/20* 100 = 0
106 SGM Sariwangi 0/20* 100 = 0
107 SGM Detol 1/20* 100 = 0.05
108 SGM Daia 2/20* 100 = 0.1
109 SGM Dove 0/20* 100 = 0
110 SGM Boom 1/20* 100 = 0.05
111 SGM sari roti 0/20* 100 = 0
112 SGM aqua btl sdg 2/20* 100 = 0.1
113 Rinso Gulaku 1/20* 100 = 0.05
114 Rinso Boom 1/20* 100 = 0.05
Tabel 3.14(lanjutan)
No Item 1 Item 2 Confidence
115 Rinso Potato 1/20* 100 = 0.05
116 Rinso aqua btl sdg 1/20* 100 = 0.05
117 Rinso Dove 1/20* 100 = 0.05
118 Rinso mie sedap 0/20* 100 = 0
119 Rinso Chitos 1/20* 100 = 0.05
120 Rinso Sariwangi 1/20* 100 = 0.05
121 Rinso sari roti 0/20* 100 = 0
122 Rinso Daia 0/20* 100 = 0
123 Rinso mie gelas 1/20* 100 = 0.05
124 Rinso Detol 0/20* 100 = 0
125 Daia Dove 0/20* 100 = 0
126 Daia Detol 1/20* 100 = 0.05
127 Daia Boom 0/20* 100 = 0
128 Daia Gulaku 1/20* 100 = 0.05
(47)
130 Daia Chitos 0/20* 100 = 0
131 Daia Sariwangi 1/20* 100 = 0.05
132 Daia aqua btl sdg 3/20* 100 = 0.15
133 Daia mie sedap 0/20* 100 = 0
134 Daia sari roti 2/20* 100 = 0.1
135 Daia mie gelas 3/20* 100 = 0.15
136 Boom mie gelas 0/20* 100 = 0
Tabel 3.15 (lanjutan)
No Item 1 Item 2 Confidence
137 Boom mie sedap 0/20* 100 = 0
138 Boom Potato 0/20* 100 = 0
139 Boom sari roti 2/20* 100 = 0.1
140 Boom Chitos 1/20* 100 = 0.05
141 Boom Gulaku 0/20* 100 = 0
142 Boom aqua btl sdg 1/20* 100 = 0.05
143 Boom Detol 0/20* 100 = 0
144 Boom Dove 1/20* 100 = 0.05
145 Boom Sariwangi 0/20* 100 = 0
146 Gulaku Detol 0/20* 100 = 0
147 Gulaku mie gelas 2/20* 100 = 0.1
148 Gulaku Potato 2/20* 100 = 0.1
149 Gulaku Dove 0/20* 100 = 0
150 Gulaku sari roti 2/20* 100 = 0.1
151 Gulaku Chitos 1/20* 100 = 0.05
(48)
153 Gulaku mie sedap 0/20* 100 = 0
154 Gulaku Sariwangi 3/20* 100 = 0.15
155 Sariwangi mie sedap 1/20* 100 = 0.05
156 Sariwangi sari roti 3/20* 100 = 0.15
157 Sariwangi mie gelas 2/20* 100 = 0.1
158 Sariwangi Potato 2/20* 100 = 0.1
159 Sariwangi Chitos 2/20* 100 = 0.1
160 Sariwangi Detol 0/20* 100 = 0
161 Sariwangi aqua btl sdg 2/20* 100 = 0.1
Tabel 3.16 C2(Lanjutan)
No Item 1 Item 2 Confidence
162 Sariwangi Dove 0/20* 100 = 0
163 sari roti aqua btl sdg 1/20* 100 = 0.05
164 sari roti Dove 2/20* 100 = 0.1
165 sari roti Potato 1/20* 100 = 0.05
166 sari roti Detol 0/20* 100 = 0
167 sari roti mie sedap 2/20* 100 = 0.1
168 sari roti mie gelas 1/20* 100 = 0.05
169 sari roti Chitos 1/20* 100 = 0.05
170 aqua btl sdg mie gelas 4/20* 100 = 0.2
171 aqua btl sdg Chitos 2/20* 100 = 0.1
172 aqua btl sdg Potato 4/20* 100 = 0.2
173 aqua btl sdg mie sedap 1/20* 100 = 0.05
174 aqua btl sdg Detol 2/20* 100 = 0.1
175 aqua btl sdg Dove 0/20* 100 = 0
176 mie sedap Dove 1/20* 100 = 0.05
177 mie sedap Chitos 1/20* 100 = 0.05
178 mie sedap Potato 1/20* 100 = 0.05
(49)
180 mie sedap mie gelas 0/20* 100 = 0
Langkah 4
Setelah dihitung dan ditemukan support dari tiap kandidat 2-itemsets pada Tabel 3.8 sampai Tabel 3.1 maka dengan tahap pemangkasan (prune) yaitu menghilangkan item yang tidak memenuhi nilai minimum support ≥20% dapat dihasilkan pada table 3.17.
Tabel 3.17 L2 (Large 2-itemset)
Item 1 Item 2 Support
Telur ayam Mie sedap 0.25
telur ayam Sari roti 0.15
telur ayam Yakult 0.15
Yakult mie sedap 0.25
Yakult mie sedap 0.15
Yakult sari roti 0.2
Downy mie gelas 0.15
Downy aqua btl sdg 0.15
Downy Daia 0.3
Molto Rinso 0.2
janson baby powder SGM 0.15
Daia Mie gelas 0.15
Daia Aqua btl sdg 0.15
Gulaku Sariwangi 0.15
Aqua btl sdg Potato, 0.15
aqua btl sdg Potato 0.2
aqua btl sdg mie gelas 0.2
mie gelas Potato 0.15
3.1.4 Pembentukan Aturan Asosiasi
Untuk mencari aturan asosiasi dari iterasi terhadap langkah-langkah yang dilakukan sebelumnya, kemudian akan dihitung nilai confidence dari setiap item yang terdapat pada L2 berdasarkan rumus berikut:
(50)
Confidence = P (A B) =
x 100 %
Tabel 3.18 Pembentukan Korelasi Produk
Item 1 Item 2 Confidence
telur ayam yakult 0.42
telur ayam sari roti 0.42
telur ayam mie sedap 0.71
Yakult mie sedap 0.5
Yakult sari roti 0.66
Downy mie gelas 0.5
Downy aqua btl sdg 0.5
Downy daia 1
Molto rinso 0.8
janson baby powder SGM 0.75
Daia aqua btl sdg 0.5
Daia mie gelas 0.5
Gulaku sariwangi 1
Sariwangi sari roti 0.75
aqua btl sdg potato 0.5
aqua btl sdg mie gelas 0.5
mie gelas potato 0.6
Dimisalkan confidence 60 %, aturan yang terbentuk :
Tabel 3.19 Pembentukan Aturan Asosiasi
No Rule ( Korelasi Produk ) Support Confidence
1 Jika Konsumen Membeli telur ayam, maka membeli mie sedap
25 %
0.71 2 Jika Konsumen Membeli yakult,
maka membeli sari roti
25 %
0.66 3 Jika Konsumen Membeli downy,
maka membeli daia
25 %
1
(51)
4 Jika Konsumen Membeli molto, maka membeli rinso
25 %
0.8 5 Jika Konsumen Membeli janson
baby powder, maka membeli SGM
15 %
0.75
Tabel 3.20 Pembentukan Aturan Asosiasi(Lanjutan)
No Rule(Korelasi Produk) Suport Confidence
6 Jika Konsumen Membeli gulaku, maka membeli sariwangi
15 %
1 7 Jika Konsumen Membeli
sariwangi, maka membeli sari roti
30 %
0.75 8 Jika Konsumen Membeli mie
gelas, maka membeli potato
30 % 0.6
3.1.5 Analisis Data dengan FP-Growth
Pada tahap ini, untuk mempermudah dalam pembuatan tree, maka nama barang dibuat dengan menggunakan abjad seperti pada tabel 3.9.
Tabel 3.21 Data Barang
No Item_Set Kode Item
1 Close up Cl
2 Sensodyne Se
3 Ponds Pembersih muka Po
4 Olay Ol
5 Garnier Ga
6 Sari ayu Sa
7 Telur ayam Te
8 Garam Ga
9 Vaseline Va
10 Sarden Sa
11 Nutrijell Nu
12 Yakult Ya
(52)
Tabel 3.22 Data Barang(lanjutan)
No Item_Set Kode_Item
14 Molto Mo
15 Sariwangi Sw
16 Maybelline Ma
17 Johnsons Baby Powder Jo
18 Cossons Baby Co
19 Paseo mini Pa
20 Sari roti Sr
21 Promina Pr
22 Rinso Ri
23 Daia Da
24 Boom Bo
25 Sabun ekonomi Se
26 Bu cream jeruk nipis Bu
27 Relaxa Re
28 Alpenliebe Al
29 Pantene Pt
30 Gulaku Gu
31 Kisspray Ki
32 Luwak white coffee Lu
33 Kacang 2 kelinci Kc
34 SGM Sg
35 Lays La
36 Pulphi Pu
37 Aqua botol sedang Aq
(53)
Tabel 3.23 Data Barang(lanjutan)
No Item_Set Kode_Item
39 Mie Sedap Ms
40 Mie gelas Mg
41 Potato Pt
42 Chitos Ct
43 Detol Dt
44 Dove Do
45 Pepsodent Pe
Tabel 3.24 Tabel Transaksi
TID Item
1 Ya, Bo,Ri,Sg, Pa, Mo 2 Ya,Bo, Pa, Sr, do, pt 3 Ya, Sr, Aq
4 Bo, Sr
5 Ya, Te, Pe, Dt
6 Mo, Ri, Te, Pe, Do, In 7 Dt, Nu, Aq,Do, Da, Kc 8 Ri, Sg, Pa, Mo, Al 9 Sg, Pe, de, Pt, Aq, Kc 10 Pe, Sr, Te, In, Do, Da, Al
Pada tahap ini, diambil contoh data 10 transaksi. Diberikan batasan minimum support 0.2 dan confidence 0.75.
Dari data pada tabel 3.24, dibentuk tree untuk proses menambang data. Untuk tahap pertama dengan pembacaan TID (ID Transaksi).
(54)
1. Pembacaan TID 1: Lintasan {} Ya, Bo,Ri,Sg, Pa, Mo, L { Root}
Ya:1
Bo:1
Ri:1
Sg:1
Pa:1
Mo:1
Gambar 3.2 TID 1
2. Pembacaan TID 2
{Root}
Y
B
R
S
P
M
(55)
Gambar 3.3 TID 2
3. Pembacaan TID 3
{Root}
S
A
B o Y
(56)
Gambar 3.4 TID 3
4. Pembacaan TID 4
{Root}
S
S
A
B o Y
(57)
Gambar 3.5 TID 4
5. Pembacaan TID 5
{Root}
T P
D
S
S
A
B o
P a Y
B
(58)
Gambar 3.6 TID 5
6. Pembacaan TID 6
{Root}
T P
D
S
S
A
B o
S P a Y
B
R
(59)
Gambar 3.7 TID 6
7. Pembacaan TID
{Root}
N
u A
D
T P
D
S
S
A
B o
S P a
Do Y
B
R
S
(60)
Gambar 3. 8 TID 7
8. Pembacaan TID 8
{Root}
S
P N
u A
T P
D
S
S
A
B o
S P a
Do Y
B
R
S
(61)
Gambar 3.9 TID
9. Pembacaan TID 9
{Root} P D P S M o P N u A D D T P D S S A B o S P a Do P Y B R S P M
(62)
Gambar 3.10 TID 9
10.Pembacaan TID 10
{Root} S T D I D a Al P D A P S M o P Al N u A D D K Ri T P D S S A B o S P D P Y B R S P M
(63)
Gambar 3.11 TID 10
Kemudian dicari frequent list nya dengan melihat kondisi FP-Growth dari item yang digambarkan dengan tree berikut.
1. Kondisi FP-Growth untuk Ya
{Root}
N
u A
D D
K Ri
T P
D
S
A
B o
S
P
D Y
B
R
S
P
(64)
Gambar 3.12 Kondisi FP-Growth Untuk Ya
Nilai Kemunculan yang bersamaan dengan Ya:
{Te,Ya},{Ya,Aq},{Do,Ya},{Ya,Bo},{Ya,Pa},{Ya,Pe},{Ya,Sr}. Dalam Association rule, minimal frequent itemset yang dihitung terdapat 2 item, jika membeli A maka membeli B.setelah diperoleh frequent itemset, maka membuat rule dengan
menghitung confidencenya ≥ 60 %. Karena perhitungan nya sangat banyak, maka penulis mengambil contoh dari frequent itemset {Ya,Sr}.
Ya Sr = 4/6 = 0.66 Sr Ya = 4/7 = 0.57
Dari perhitungan confidence terhadap pola diatas maka Association rule yang
memenuhi syarat confidence ≥ 60 % adalah:
1. Ya Sr ( jika konsumen membeli Yakult maka membeli Sari roti dengan nilai confidence 0.66).
3.2 Perancangan Sistem
Perancangan sistem adalah suatu pengindentifikasian kebutuhan fungsional dalam mempersiapkan rancangan implementasi yang bertujuan untuk mendesain sistem dalam memenuhi kebutuhan user sistem. Perancangan sistem terdiri dari pembuatan flowchart sistem, perancangan database, dan perancangan antarmuka pemakai (user interface).
3.2.1 Data Flow Diagram (DFD)
T
D
(65)
Data Flow Diagram (DFD) adalah suatu model logika data atau proses yang dibuat untuk menggambarkan dari mana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang tesimpan serta proses yang dikenakan pada data tersebut. DFD menunjukan hubungan antar data pada sistem dan proses pada sistem.
Pada sistem ini digunakan DFD level-0, DFD Level-1, untuk penjelasan lebih lanjut akan dijabarkan sebagai berikut.
(66)
1.0 Data login
Info login
Info login
3.2.2 DFD Level 0
0
Data Mining Untuk Menentukan Korelasi Pembelian Produk Dengan
Algoritma Apriori dan FP-Growth
user
Data barang Data transaksi barang Data minimum support Data minimum confidence
Data jumlah transaksi Info barang Info transaksi barang Info hasil pola pembelian produk
Gambar 3.13 DFD Level 0
Pada DFD Level 0, merupakan proses dalam sistem yang dirancang. User memasukan data transaksi ke dalam sistem, kemudian data transaksi diproses di dalam sistem dengan melalui beberapa iterasi dengan menggunakan masing-masing algoritma yaitu Algoritma Apriori dan algoritma FP-Growth. kemudian menghasilkan association rule yang merupakan korelasi pembelian produk yang merupakan informasi yang berguna. Setelah rule diperoleh, maka dilakukan perbandingan waktu antara kedua algoritma dengan menggunakan sistem tersebut.
(67)
Gambar 3.14 DFD Level-1(Apriori)
Pada DFD level-1, proses yang terjadi lebih terperinci lagi bila dibandingkan pada diagram Level-0. User menginput data transaksi dan diproses di sistem dengan menggunakan masing-masing algoritma, yaitu algoritma Apriori dimulai dengan proses login, kemudian dilakukan pengelolan data barang dan data transaksi barang dan menginput nilai minimum suport dan confidence sehingga memperoleh hasil pola pembelian produk.
(68)
Start
3.2.4 DFD Level 1 (FP-Growth)
user 1.0 login 2.0 barang 3.0 Transaksi barang user barang Transaksi_ barang Data login Info login Data login Info login Data barang Info barang Data transaksi barang Info transaksi barang Data transaksi barang Info transaksi barang Data barang Info barang Info barang
Data Minimum support Data minimum confidence
Data jumlah transaksi
4.0 Mencari Hasil asosiasi
Info hasil pola pembelian produk
Support_FP-Growth
kombinasi_Fp-Growth
confidence_ Fp-Growth Data minimum support
Info nilai support
Info kombinasi
Data minimum confindence
Info hasil pola pembelian produk
Gambar 3.15 DFD Level 1(FP-Growth)
User menginput data transaksi dan diproses di sistem dengan menggunakan algoritma FP-Growth dimulai dengan proses login, kemudian dilakukan pengelolan data barang dan data transaksi barang dan menginput nilai minimum suport dan confidence sehingga memperoleh hasil pola pembelian produk.
3.2.5 Flowchart Algoritma
(69)
(70)
Tabel L2 Terbentuk P1
If confidence > = min confidence
Tabel L2 yang confidence > = min
confidence Y
Kesimpulan hasil asosiasi terbentuk
End
T P1
Gambar 3.17 Flowchart Algoritma Apriori ( lanjutan )
(71)
P2
Barang, kode transaksi, kombinasi,
support
Proses pembuatan tabel kombinasi fp_ growth
Terbentuk tabel T P2
P2
Barang, kode transaksi, kombinasi,
support
Proses pembuatan tabel kombinasi fp_ growth
Terbentuk tabel kombinasi fp_ growth
Apakah jumlah kombinasi tabel kombinasi_ fpgrowth
> = 2
Kombinasi barang 1 dan kombinasi barang 2
Proses pembuatan tabel hasil_ kombinasi
Apakah ditabel hasil kombinasi terdapat nilai
support?
Jumlah kombinasi dan jumlah barang
hasil perhitungan = jumlah_ kombinasi/ jumlah_ barang
Apakah hasil perhitungan > = confidence
Nilai confidence, hasil perhitungan, dan support
Proses pembuatan tabel confidence_ fpgrowth Menampilkan hasil akhir
asosiasi fpgrowth dari tabel confidence_ fpgrowth Y Y Y End T T T P2
(72)
(73)
Input data barangI
D ata M ining
Apriori
FP-Growth
hasil
hasil
Apriori
hasil Perbandingan Start
End Y
T
Gambar 3.20 Flowchart Sistem
Perancangan flowchart sistem, dimulai dengan menginput data barang. Kemudian dilakukan penambangan data dengan masing-masing algoritma, yang pertama dengan algoritma Apriori. Setelah dilakukan proses mining maka diperoleh hasil dalam bentuk kombinasi barang pembelian. Setelah itu dilakukan penambangan data dengan algoritma FP-Growth. setelah dilakukan proses, maka diperoleh hasil dalam bentuk kombinasi barang. Lalu setelah diperoleh hasil dari kedua algoritma maka dilakukan perbandingan waktu antara kedua algoritma. Kemudian diperoleh waktu yang lebih cepat antara kedua algoritma. Kemudian selesai(end).
3.3 Perancangan Basis Data
Pada perancanngan basis data terdapat perancangan struktur table barang dan struktur table transaksi.
3.3.1 Struktur tabel
Dalam struktur table, table-tabel yang digunakan di database adalah sebagai berikut:
1. Struktur Tabel Barang
Tabel barang berguna untuk menyimpan data barang penjualan. Struktur tabel barang dapat dilihat pada tabel 3.12.
(74)
Login to Admin Username Password
Tabel 3.25 Data Barang
Nama Field Type Length Keterangan
id_barang(*) Integer 10 Nama_barang Varchar 30
2. Struktur Tabel Transaksi
Tabel Transaksi berguna untuk menyimpan data transaksi penjualan. Struktur Tabel transaksi dapat dilihat tabel 3.13.
Tabel 3.26 Data Transaksi
Nama Field Type Length Keterangan
id_transaksi(*) Integer 10 Id Transaksi kode_transaksi Integer 10 Kode Transaksi
tgl_transaksi Date 5 Tgl Transaksi
id_barang(**) Integer 10 Id Barang
Keterangan : * = Primary Key ** = Foregn Key
3.4 Perancangan Tampilan Antarmuka
Perancangan tampilan program dari aplikasi datamining yang akan dibuat adalah sebagai berikut :
(75)
Menu Utama
Projek: Datamining Supermarket Algoritma Apriori dan FPGrowth Tanggal : xx-xx-xx
About Me Barang Transaksi Home
Algoritma Apriori Algoritma FP-Growth
Halaman Admin
Logout
Gambar 3.21 Perancangan Form Login
Untuk masuk ke dalam sistem, terlebih dahulu memasukan username(1) dan
password(2), dan jika keduanya sudah sesuai maka klik login. Dan sudah dapat masuk ke sistem.
3.4.2 Perancangan Menu Utama
Gambar 3.22 Perancangan Menu Utama Keterangan gambar:
3. Nama Projek Datamining Supermarket Algoritma Apriori dan FP-Growth 4. Tanggal
5. Menu home
6. About me, menu tentang penulis
7. Menu barang berisikan menginput dan penyimpanan nama barang 8. Menu transaksi berisikan pengolahan transaksi barang
9. Menu logout untuk keluar dari sistem
10. Algoritma Apriori, untuk proses mining dengan algoritma Apriori
11. Algoritma FP-Growth, untuk proses mining dengan algoritma FP-Growth 12. Halaman admin
Pada menu utama, terdapat beberapa sub menu, yaitu: home, about me, barang, transaksi, dan logout. Terdapat juga tombol untuk proses mining dengan algoritma apriori dan algoritma FP-Growth. Menu barang digunakan untuk mengolah barang.
1 1 3 2 8 9
4 5 6 7
(76)
3.4.3 Perancangan Transaksi
Gambar 3.23 Perancangan Data Transaksi
Pada Perancangan Transaksi terdapat tanggal transaksi. Di dalam pengelolaan transaksi, dapat menambah transaksi dengan mengklik yang ditandai no 5, dan dapat melihat data transaksi yang sudah di input, dengan memilih kode transaksi yang ditandai no 2, dan dapat memilih kode transaksi sesuai yang diinginkan dengan cara mengklik search ditandai no 3.No 4 adalah no nama barang yang diinput, sedangkan no 5 adalah kode transaksi, No 6 Tanggal transaksi, no 7 nama-nama barang, no 8 adalah options delete dan edit yaitu untuk menghapus atau mengedit nama barang.
3.4.4 Perancangan Olah Barang
Transaksi
Projek: Datamining Supermarket Algoritma Apriori dan FPGrowth Tanggal : xx-xx-xx
About Me Barang Transaksi Home
Algoritma Apriori Algoritma FP-Growth
Data Transaksi Penjualan Barang
Logout
+ Transaksi Kode Transaksi
Search
No Kode Transaksi Tanggal Transaksi Transaksi Barang Options
1 2
3 5
4 6 7 8
Olah Data Barang
Projek: Datamining Supermarket Algoritma Apriori dan FPGrowth Tanggal : xx-xx-xx
About Me Barang Transaksi
Home
Algoritma Apriori
Algoritma FP-Growth
Olah Data Barang
Logout
Nama Barang
cansel Publish Barang
Id Barang Nama Barang Options
1 3
4 5 6
(77)
Scanning Data Transaksi Dengan Algoritma Apriori
Algoritma Apriori Scanning Data Transaksi Dengan Algoritma Apriori
Minimum support
Minimum confidence
Jumlah transaksi
Gambar 3.24 Perancangan Olah Barang
Pada perancangan olah barang, dapat menambah, mengedit, dan menghapus data barang. Dengan cara menginput nama barang yang ditandai no 5, untuk menampilkan barang yang sudah diinput dapat mengklik publish yang ditandai no 3 , dan untuk membatalkan dengan dengan mengklik cansel yang ditandai no 2. No 4 merupakan id barang, dan no. 5 merupakan nama barang yang sudah diinput, dan pada no 6 merupakan options dimana nama barang yang sudah diinput dapat dihapus dengan mengklik delete dan dapat diedit dengan mengklik edit.
3.4.5 Perancangan Apriori
1
2
(78)
Gambar 3.25 Perancangan Proses Mining dengan Algoritma Apriori
Pada proses mining Apriori, dengan menginput minimum support yang ditandai no 5, minimum confidence yang ditandai no 2, dan jumlah transaksi yang ditandai no 3, kemudian kirm queri yang ditandai no 4. Maka tampil output, yaitu rule yang dihasilkan dengan menggunakan apriori.
3.4.6 Perancangan FP-Growth
(79)
Scanning Data Transaksi Dengan Algoritma FP-Growth
Algoritma FP-Growth Scanning Data Transaksi Dengan Algoritma FP-Growth
Minimum support
Minimum confidence
Kirm Kueri Jumlah transaksi
Gambar 3.26 Perancangan Proses Mining dengan Algortima FP-Growth
Pada proses mining FP-Growth, dengan menginput minimum support yang ditandai no 1, minimum confidence yang ditandai no 2, dan jumlah transaksi yang ditandai no 3, setelah semua diinput kemudian kirm queri yang ditandai no 4. Maka tampil output, yaitu rule yang dihasilkan dengan menggunakan FP-Growth.
3.4.7 Perancangan Tampilan Out put FP-Growth
Setelah dikirm queri, maka tampil minimum confidence, minimum support, jumlah transaksi, dan tampil table kesimpulan(rule) dengan menggunakan apriori yang berisi kombinasi item yang sering dibeli konsumen. Waktu proses filtering juga tampil.
1
2
3
4
Algoritma FP-Growth
Scanning Data Transaksi Dengan Algoritma FP-Growth
Minimum support : xx Minimum confidence : xx
Jumlah transaksi : xx Tabel Kesimpulan Waktu proses filtering : xx
1 2
(80)
Setelah dikirim queri data yang sudah diinput, maka tampil table kesimpulan berupa kombinasi barang dengan menggunakan algoritma FP-Growth yang ditandai no. 1, dan waktu proses filtering yang ditandai no. 2.
3.4.8 Perancangan Tampilan Out Put Apriori
Setelah dikirm queri, maka tampil minimum confidence, minimum support, jumlah transaksi, dan tampil table kesimpulan(rule) dengan menggunakan FP-Growth yang berisi kombinasi item yang sering dibeli konsumen. Waktu proses filtering juga tampil.
Setelah dikirim queri maka tampil output dengan menggunakan algoritma FP-Growth. yang berupa Tabel kesimpulan yang ditandai no. 1. Tabel kesimpulan berisi korelasi barang pembelian yang merupakan informasi yang sangat berguna. Waktu proses dfiltering juga muncul yang ditandai no.2.
BAB 4 IMPLEMENTASI
Algoritma Apriori Scanning Data Transaksi Dengan Algoritma Apriori
Minimum support : xx Minimum confidence : xx
Jumlah transaksi : xx Tabel Kesimpulan
Waktu proses filtering : xx
Gambar 3.28 Out Put Algoritma Apriori
1 2
(81)
Setelah melalui tahap perancangan sistem kemudian dilanjutkan ke tahap implementasi dan pengujian. Implementasi ini harus berdasarkan pada perancangan ditahap sebelumnya. Dalam mengimplementasikan sistem ini, dibutuhkan 3 buah komponen, yang meliputi kebutuhan hardware (perangkat keras), software (perangkat lunak), dan brainware (unsur manusia). Sedangkan dalam pengujian dilakukan terhadap hasil association rule yang dimasukkan dengan nilai minimum support dan minimum confidence yang berbeda.
4.1 Implementasi
Implementasi adalah suatu prosedur yang dilakukan untuk menyelesaikan sistem yang ada dalam dokumen rancangan sistem yang telah disetujui dan telah diuji, menginstal dan memulai menggunakan sistem baru yang diperbaiki.
4.2 Persiapan Teknis
Dalam implementasi dari program data mining ini membutuhkan perangkat keras (hardware) dan perangkat lunak (software). Adapun hardware dan software yang akan dibutuhkan adalah sebagai berikut :
1. Perangkat Keras ( Hardware ) 1. Micro processor minimal Pentium 4 2. Harddisk minimal 40 GB
3. RAM berkapasitas 512MB 4. Monitor Super VGA 14 inchi 5. Keyboard
2. Perangkat Lunak yang digunakan dalam membangun sistem ini yaitu:
1. PHP
2. XAMPP ( MySQL ) 3. Brainware
(82)
Brainware merupakan faktor manusia yang menangani fasilitas komputer yang ada. Faktor ini mutlak diperlukan karena aplikasi ini memerlukan perawatan atau maintenance, baik perawatan hardware maupun software. Aplikasi ini tidak dapat beroperasi sendiri tanpa adanya instruksi dari user. User diperlukan untuk proses update data dan proses menjalankan proses lainnya.
4.3 Menjalankan Aplikasi
Setelah semua persiapan teknis dilakukan, selanjutnya menjalankan aplikasi data mining dengan teknik association rule menggunakan algoritma apriori ini dapat dilakukan. Untuk dapat menjalankannya, terlebih dahulu install aplikasi data mining pada personal computer (PC) atau laptop kemudian buka aplikasi pada menu start program.
(83)
Gambar 4.1 Tampilan login
Admin dapat masuk ke system dengan memasukan username dan password, lalu menekan tombol login.
4.3.5 Proses Mining dengan Algoritma Apriori
Untuk melihat perbandingan waktu antara Algoritma Apriori dan Algoritma FP-Growth, maka dilakukan 3 kali pengujian tergadap sistem yang sudah dibuat.
(84)
Proses mining dengan menggunakan apriori, dengan minimum support 0.15 dan
minimumconfidence 0.60 dan jumlah transaksi 20 dalam waktu 7.2 detik.
Gambar 4.3 Proses Mining dengan Apriori
Proses mining dengan menggunakan apriori, dengan minimum support 0.25 dan
minimum confidence 0.75 dan jumlah transaksi 300 menghasilkan 1 rule dalam
(85)
4.3.4 Proses Mining dengan FP-Growth
Gambar 4.4 Proses Mining dengan Algoritma FP Growth
Bentuk rule yang dihasilkan dengan FP-Growth dalam waktu 1.09 detik. Dengan
(86)
Gambar 4.5 Proses Mining dengan Algoritma FP-Growth.
Bentuk rule yang dihasilkan dengan FP-Growth dalam waktu 28 detik. Dengan
minimum support 0.15 dan minimum confidence 0.8 dan jumlah transaksi 300.
Perbandingan waktu Algoritma Apriori dan Algoritma FP-Growth dapat dilihat pada tabel 4.1.
Tabel 4.1 Perbandingan Waktu Algoritma Apriori dan Algoritma FP-Growth
Algoritma Min Support Min Confidence Waktu
(detik)
Jlh Transaksi
Apriori 0.15 0.6 7 20
Apriori 0.15 0.8 63 300
Apriori 0.25 0.75 5.6 300
FP-Growth 0.15 0.6 3.6 20
FP-Growth 0.15 0.8 28 300
(87)
Dengan melihat table 4.1, waktu yang diperlukan untuk mendapatkan korelasi barang pembelian dengan menggunakan algoritma apriori dan FP-Growth, maka waktu yang diperlukan algoritma apriori lebih lama dibandingkan dengan algoritma FP-Growth.
(1)
83
}
}
7. Menghitung confidence
$sql_tampil_support = mysql_query("SELECT * FROM hasil_kombinasi"); while($array_tampil_support=mysql_fetch_array($sql_tampil_support)){ $sql_nama_barang1=mysql_query("SELECT * FROM barang where id_barang='" . $array_tampil_support['hasil_kombinasi_1'] . "'"); $array_nama_barang1 = mysql_fetch_array($sql_nama_barang1); $sql_nama_barang2=mysql_query("SELECT * FROM barang where id_barang='" . $array_tampil_support['hasil_kombinasi_2'] . "'"); $array_nama_barang2 = mysql_fetch_array($sql_nama_barang2);
$sql_num_1 = mysql_query("SELECT * FROM transaksi_barang WHERE id_barang='". $array_tampil_support['hasil_kombinasi_1'] . "'
and kode_transaksi <= '$jum_transaksi'") or die(mysql_error());
$num_1 = mysql_num_rows($sql_num_1);
$sql_num_2 = mysql_query("SELECT * FROM kombinasi_fpgrowth WHERE kombinasi_1='". $array_tampil_support['hasil_kombinasi_1'] . "' and kombinasi_2='". $array_tampil_support['hasil_kombinasi_2'] . "'") or die(mysql_error());
$num_2 = mysql_num_rows($sql_num_2); $hasil = $num_2 / $num_1;
if($hasil >= $confidence){
$confidence1 =$array_tampil_support['hasil_kombinasi_1']; $confidence2 =$array_tampil_support['hasil_kombinasi_2']; $sql_num_confidence = mysql_query("SELECT * FROM confidence_fpgrowth WHERE confidence_1='" .
$array_tampil_support['hasil_kombinasi_1'] . "'
and confidence_2 = '" . $array_tampil_support['hasil_kombinasi_2'] . "'") or die(mysql_error());
(2)
} else {
$sql_confidence = mysql_query("INSERT INTO confidence_fpgrowth VALUES ('','$confidence1',
'$confidence2', '$hasil')") or die(mysql_error()); }
}
}
8. Menampilkan hasil kombinasi dan menginput ke tabel confidence
$sql_tampil_support = mysql_query("SELECT * FROM hasil_kombinasi"); while($array_tampil_support=mysql_fetch_array($sql_tampil_support)){ $sql_nama_barang1=mysql_query("SELECT * FROM barang where id_barang='" . $array_tampil_support['hasil_kombinasi_1'] . "'"); $array_nama_barang1 = mysql_fetch_array($sql_nama_barang1); $sql_nama_barang2=mysql_query("SELECT * FROM barang where id_barang='" . $array_tampil_support['hasil_kombinasi_2'] . "'"); $array_nama_barang2 = mysql_fetch_array($sql_nama_barang2);
$sql_num_1 = mysql_query("SELECT * FROM transaksi_barang WHERE id_barang='". $array_tampil_support['hasil_kombinasi_1'] . "'
and kode_transaksi <= '$jum_transaksi'") or die(mysql_error());
$num_1 = mysql_num_rows($sql_num_1);
$sql_num_2 = mysql_query("SELECT * FROM kombinasi_fpgrowth WHERE kombinasi_1='". $array_tampil_support['hasil_kombinasi_1'] . "' and kombinasi_2='". $array_tampil_support['hasil_kombinasi_2'] . "'") or die(mysql_error());
(3)
85
$hasil = $num_2 / $num_1; if($hasil >= $confidence){
$confidence1 =$array_tampil_support['hasil_kombinasi_1']; $confidence2 =$array_tampil_support['hasil_kombinasi_2']; $sql_num_confidence = mysql_query("SELECT * FROM confidence_fpgrowth WHERE confidence_1='" .
$array_tampil_support['hasil_kombinasi_1'] . "'
and confidence_2 = '" . $array_tampil_support['hasil_kombinasi_2'] . "'") or die(mysql_error());
if(mysql_num_rows($sql_num_confidence)){ echo '';
} else {
$sql_confidence = mysql_query("INSERT INTO confidence_fpgrowth VALUES ('','$confidence1',
'$confidence2', '$hasil')") or die(mysql_error()); }
}
} ?>
<br />
<table class="hovertable"> <tr>
<td>Kesimpulan</td> <td>Confidence</td> </tr>
(4)
?> <tr>
<td><?php $sql_nama_barang1=mysql_query("SELECT * FROM barang where id_barang='" . $array_tampil_support['confidence_1'] . "'");
$array_nama_barang1 = mysql_fetch_array($sql_nama_barang1);
$sql_nama_barang2=mysql_query("SELECT * FROM barang where id_barang='" . $array_tampil_support['confidence_2'] . "'");
$array_nama_barang2 = mysql_fetch_array($sql_nama_barang2); echo "Jika " . $array_nama_barang1['nama_barang'] . " maka " . $array_nama_barang2['nama_barang'];
?></td> <td><?php
echo $array_tampil_support['hasil_confidence']; ?></td>
</tr> <?php }
9. Menampilkan hasil korelasi
?> </table> <?php
$time = microtime(); $time = explode(' ', $time); $time = $time[1] + $time[0]; $finish = $time;
$total_time = round(($finish - $start), 4);
(5)
87
echo "Lama Proses Filtering : " . $total_time." detik";
} ?>
(6)
Nama : Eva Cristy Yuliana Manurung
Alamat Sekarang : Jl. Jamin Ginting Gang Ganefo No. 8 Padang Bulan Medan Alamat Orang Tua : Bahbutong, Kecamatan Sidamanik, Kabupaten Simalungun Telepon/ hp : 085359807001
Riwayat Pendidikan:
1996 – 2002 : SD NEGERI NO 091423 BAH BUTONG 2002 – 2005 : SMP NEGERI 1 SIDAMANIK
2005 – 2008 : SMA NEGERI 3 PEMATANG SIANTAR
2008 – 2011 : D3 TEKNIK INFORMATIKA UNIVERSITAS SUMATERA UTARA
Keahlian/ Kursus yang diikuti:
1. Kursus bahasa inggris
2. Mengetahui Microsoft Visual Basic 3. Mengetahui PHP