IMPLEMENTASI DATA MINING MENGGUNAKAN ALGORITMA …
Transcript of IMPLEMENTASI DATA MINING MENGGUNAKAN ALGORITMA …
IMPLEMENTASI DATA MINING MENGGUNAKAN ALGORITMA
APRIORI UNTUK MENGETAHUI POLA PEMBELIAN KONSUMEN
PADA DATA TRANSAKSI PENJUALAN DI KPRI UIN SUNAN
KALIJAGA YOGYAKARTA
SKRIPSI
Diajukan sebagai salah satu syarat untuk mendapatkan gelar strata satu Program
Studi Teknik Informatika
Diajukan oleh:
RAHMAWATI ULFA
14650010
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA
YOGYAKARTA
2018
ii
HALAMAN PENGESAHAN
iii
SURAT PERSETUJUAN SKRIPSI
iv
PERNYATAAN KEASLIAN SKRIPSI
v
KATA PENGANTAR
Segala puji bagi Allah SWT yang telah memberikan kemudahan dan
kelancaran sehingga penulis dapat menyelesaikan skripsi yang berjudul
Implementasi Data Mining Menggunakan Algoritma Apriori Untuk
Mengetahui Pola Pembelian Konsumen Pada Data Transaksi
Penjualan Di KPRI UIN Sunan Kalijaga Yogykarta. Sholawat serta
salam kepada Nabi Muhammad SAW. Dan tidak lupa juga penulis ucapkan
terimakasi kepada:
1. Kedua orang tua penulis yang sudah mendukung dan memberikan
semangat selama penyusunan skripsi ini, dan untuk semua keluarga
yang telah mendoakan untuk kelancaran penyusunan skripsi ini.
2. Bapak Dr. Murtono, M. Si, selaku Dekan Fakultas Sains dan
Teknologi.
3. Bapak Dr. Bambang Sugiantoro, M.T., selaku Kepala Program Studi
Teknik Informatika UIN Sunan Kalijaga Yogyakarta.
4. Bapak Sumarsono, S.T., selaku dosen pembimbing akademik.
5. Bapak M. Didik Rohmad Wahyudi, S.T., MT., selaku dosen
pembimbing yang telah memberikan arahan dan bimbingan selama
penyusunan skripsi ini.
6. Bapak/Ibu dosen yang telah membimbing dan memberikan ilmu dan
nasehat selama perkuliahan.
7. Teman-teman teknik Informatika UIN Sunan Kalijaga Yogyakarta
angkatan 2014 yang telah memberikan kesan selama perkuliahan.
vi
8. Rekan-rekan LAMBE TURAH/MULUT SISA terimakasih atas semua
yang sudah kita lalui bersama.
9. EX GUN, yang selalu memberikan kejutan ulang tahun dari zaman
maba, dan terimakasih untuk semua yang sudah kita lalui.
10. Kepala KPRI UIN Sunan Kalijaga beserta karyawan yang sudah
memberikan izin kepada saya untuk melakukan penelitian di KPRI UIN
Sunan Kalijaga Yogyakarta.
11. Semua pihak yang sudah membantu dalam penyusunan skripsi ini.
Penulis sangat meyadari kekurangan dalam skripsi ini, oleh karena
itu kritik dan saran sangat penulis harapkan untuk kedepannya dapat
dilakukan dengan lebih baik lagi.
Akhirnya harapan penulis adalah bahwa skripsi ini dapat
memberikan manfaat pada pihak yang berkepentingan dan menjadi salah
satu pemanfaatan teknologi dalam menyelesaikan suatu masalah, khususnya
dalam bidang pengolahan data, guna mendapatkan pengetahuan dan
informasi baru dari data yang diolah, sehingga menjadi solusi bagi yang
bersangkutan.
Yogyakarta, 15 Mei 2018
Yang Menyatakan
Rahmawati Ulfa
NIM. 14650010
vii
HALAMAN PERSEMBAHAN
Skripsi ini penulis persembahkan untuk:
1. Kedua orang tua tercinta, Bapak M. Harlan dan Ibu Nurianah yang selalu
memberikan yang terbaik dan memberikan doa, serta kasih sayang yang
begitu besar untuk saya dan adik-adik.
2. Untuk adik-adik saya Faris, Ina, dan Ways.
3. Keluarga besar yang memberikan semangat dan doa untuk bisa
menyelesaikan skripsi ini.
4. Kakak Sri Rohmatin yang telah memberikan dukungan dan selalu menjadi
kakak sekaligus teman yang baik dan asik.
5. Sahabat-sahabat saya yang selalu menanti kepulangan saya dan telah
memberikan semangat. Novi, Nunung, Eva, Rohmi, Wanda, Riska,
Kaljannah, Husnul, dan Solehiyah.
viii
HALAMAN MOTTO
“Apabila Dia hendak Menetapkan sesuatu, Dia hanya Berkata kepadanya,
“Jadilah!” Maka terjadilah sesuatu itu.”
(QS. Al-Baqarah:117)
“Dan bahwa manusia hanya memperoleh apa yang telah diusahakannya, dan
sesungguhnya usahanya itu kelak akan diperlihatkan (kepadanya), kemudian
akan diberi balasan kepadanya dengan balasan yang paling sempurna.”
(QS. An-Najm: 39-41)
“Sesungguhnya jika kamu bersyukur, niscaya Aku akan Menambah (nikmat)
kepadamu.”
(QS. Ibrahim: 7)
ix
DAFTAR ISI
COVER .................................................................................................................... i
HALAMAN PENGESAHAN ......................................................................................... ii
SURAT PERSETUJUAN SKRIPSI .............................................................................. iii
PERNYATAAN KEASLIAN SKRIPSI ....................................................................... iv
KATA PENGANTAR ...................................................................................................... v
HALAMAN PERSEMBAHAN .................................................................................... vii
HALAMAN MOTTO .................................................................................................... viii
DAFTAR ISI ..................................................................................................................... ix
DAFTAR GAMBAR ....................................................................................................... xi
DAFTAR TABEL ........................................................................................................... xii
DAFTAR LAMPIRAN ................................................................................................. xiii
INTISARI ........................................................................................................................ xiv
ABSTRACT ..................................................................................................................... xv
BAB I PENDAHULUAN ............................................................................................... 1
1.1. Latar Belakang .................................................................................................. 1
1.2. Rumusan Masalah ............................................................................................ 3
1.3. Batasan Masalah ............................................................................................... 3
1.4. Tujuan Penelitian .............................................................................................. 4
1.5. Manfaat Penelitian............................................................................................ 4
1.6. Keaslian Penelitian ........................................................................................... 4
1.7. Sistematika Penulisan ...................................................................................... 5
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI .................................. 7
2.1. Tinjauan Pustaka .............................................................................................. 7
2.2. Landasan Teori ............................................................................................... 11
2.2.1. Data Mining ............................................................................................ 11
2.2.1.1. Pengertian Data Mining................................................................. 14
2.2.1.2. Pengelompokan Data Mining ....................................................... 18
2.2.2. Data, Informasi, dan Pengetahuan (Knowledge) ................................ 19
2.2.3. Konsep Analisis Asosiasi ...................................................................... 20
2.2.4. Apriori ...................................................................................................... 23
x
2.2.4.1. Pembangkitan itemset frekuen ...................................................... 24
2.2.4.2. Pembangkitan kandidat dan pemangkasan ................................. 27
2.2.4.3. Pembangkitan Aturan..................................................................... 28
2.2.5. PHP ........................................................................................................... 30
2.2.6. Framework PHP ..................................................................................... 35
2.2.7. CodeIgniter.............................................................................................. 38
2.2.8. BOOTSTRAP ......................................................................................... 40
2.2.9. MySQL .................................................................................................... 41
BAB III METODE PENELITIAN .............................................................................. 45
3.1. Objek Penelitian ............................................................................................. 45
3.2. Metode Penelitian ........................................................................................... 45
3.3. Tahap – Tahap Penelitian .............................................................................. 45
BAB IV HASIL DAN PEMBAHASAN .................................................................... 48
4.1. Pembahasan ..................................................................................................... 48
4.1.1. Seleksi Data ............................................................................................. 48
4.1.2. Preprocessing/Cleaning ......................................................................... 49
4.1.3. Transformation ....................................................................................... 50
4.1.4. Proses Data Mining ................................................................................ 52
4.1.5. Iterpretation/Evaluation ......................................................................... 56
4.2. Hasil Penelitian ............................................................................................... 57
4.2.1. Aplikasi Data Mining Algoritma Apriori............................................ 57
4.2.2. Tampilan Aplikasi .................................................................................. 67
4.2.3. Hasil Pengolahan Data ........................................................................... 71
BAB V PENUTUP ......................................................................................................... 77
5.1. Kesimpulan ..................................................................................................... 77
5.2. Saran ................................................................................................................. 78
DAFTAR PUSTAKA .................................................................................................... 79
LAMPIRAN .................................................................................................................... 80
CURRICULUM VITAE ............................................................................................... 83
xi
DAFTAR GAMBAR
Gambar 2.1. Tahapan dalam KDD (Knowledge Discovery in Database) ............ 11
Gambar 2.2. Bidang ilmu data mining .................................................................. 16
Gambar 2.3. Posisi data mining dalam bisnis cerdas ............................................ 17
Gambar 2.4. Contoh pembangkitan itemset frekuen dengan algoritma apriori .... 25
Gambar 2.5. Cara kerja server side scripting ........................................................ 31
Gambar 2.6. Framework bootstrap........................................................................ 40
Gambar 2.7. Bootstrap 12 column grid system ..................................................... 41
Gambar 4.1. Alur penelitian .................................................................................. 48
Gambar 4.2. Data ternormalisasi dan terseleksi .................................................... 49
Gambar 4.3. Data transaksi sesudah di cleaning ................................................... 50
Gambar 4.4. Halaman login user .......................................................................... 67
Gambar 4.5. Halaman home .................................................................................. 67
Gambar 4.6. Halaman seleksi tabel data serta penentuan minimal support, dan
confidence ............................................................................................................. 68
Gambar 4.7. Halaman import data ........................................................................ 68
Gambar 4.8. Halaman create tabel ........................................................................ 69
Gambar 4.9. Halaman proses apriori 1-itemset ..................................................... 69
Gambar 4.10. Halaman proses apriori 2-itemset ................................................... 70
Gambar 4.11. Halaman pembangkitan aturan asosiasi ......................................... 71
Gambar 4.12. Halaman data transaksi................................................................... 71
xii
DAFTAR TABEL
Tabel 2.1. Tabel penelitian terdahulu .................................................................... 10
Tabel 4.1. Perbandingan data sebelum dan sesudah preprocessing/cleaning ....... 50
Tabel 4.2. Tabel transaksi ..................................................................................... 51
Tabel 4.3. Tabels users.......................................................................................... 51
Tabel 4.4 Contoh data transaksi penjualan ........................................................... 52
Tabel 4.5. Perhitungan nilai support kandidat 1-itemset ....................................... 53
Tabel 4.6. Frequent itemset k-1............................................................................ 54
Tabel 4.7. Perhitungan nilai support kandidat 2-itemset ....................................... 54
Tabel 4.8. Frequent 2-itemset................................................................................ 55
Tabel 4.9. Perhitungan nilai support kandidat 3-itemset ....................................... 55
Tabel 4.10. Aturan asosiasi ................................................................................... 56
Tabel 4.11. Perbandingan jumlah kandidat 1-itemset pada masing-masing bulan ...
............................................................................................................................... 72
Tabel 4.12. Perbandingan kandidat 1-itemset pada masing-masing transaksi
perbulan ................................................................................................................. 73
Tabel 4.13. Kandidat 2-itemset 5 tertinggi pada bulan Januari dan Februari 2018 ..
............................................................................................................................... 74
Tabel 4.14. Aturan asosiasi ................................................................................... 75
xiii
DAFTAR LAMPIRAN
LAMPIRAN 1 ................................................................................................................ 81
LAMPIRAN 2 ................................................................................................................ 82
xiv
IMPLEMENTASI DATA MINING MENGGUNAKAN ALGORITMA
APRIORI UNTUK MENGETAHUI POLA PEMBELIAN KONSUMEN
PADA DATA TRANSAKSI PENJUALAN DI KPRI UIN SUNAN
KALIJAGA YOGYAKARTA
Rahmawati Ulfa
14650010
INTISARI
Data transaksi suatu toko atau swalayan semakin hari semakin
bertambah banyak, namun kadangkala pada sebuah toko atau swalayan data
tersebut dibiarkan tanpa ada pemanfaatan lebih lanjut seperti yang terjadi
pada KPRI UIN Sunan Kalijaga Yogyakarta. Pemanfaatan data yang
terkumpul tersebut sebenarnya dapat menghasilkan suatu informasi baru
yang dapat dijadikan acuan toko atau swalayan dalam menentukan suatu
strategi bisnis.
Oleh karena itu dilakukan penelitian terhadap data transaksi
penjualan yang ada pada KPRI UIN Sunan Kalijaga sebagai objek yang
akan dianalisis menggunakan teknik data mining dengan algoritma apriori,
sehingga menghasilkan pola pembelian konsumen yang terjadi pada KPRI
UIN Sunan Kalijaga Yogyakarta. Data transaksi yang digunakan adalah data
transaksi pada bulan Januari dan Februari 2018 sebagai data sampel.
Penelitian ini berhasil mengimplementasikan teknik data mining
menggunakan algoritma apriori dalam sebuah aplikasi yang akan digunakan
untuk mengolah data transaksi yang tersedia, sehingga menghasilkan pola
pembelian konsumen yang cenderung terjadi dari kombinasi item-item
barang yang tersedia.
Kata kunci : Data mining, algoritma apriori, data transaksi penjualan, KPRI
UIN Sunan Kalijaga Yogyakarta.
xv
THE IMPLEMENTATION OF DATA MINING USING A PRIORI
ALGORITHM TO FIND OUT COMSUMER PURCHASE PATTERNS ON
SALES TRANSACTION DATA IN KPRI UIN SUNAN KALIJAGA
YOGYAKARTA
Rahmawati ulfa
14650010
ABSTRACT
Data transactions in a store or a supermarket increase more and more every
day. However, in a store or supermarket such as in KPRI UIN Sunan Kalijaga
Yogyakarta, the data is ignored without being used. The data, which increases more
and more day, can be utilized to get new information as references to decide a
business strategy.
In this case, the writer did a research toward sales transaction data in KPRI
UIN Sunan Kalijaga and then be analyzed using data mining with a priori algorithm.
This research obtained patterns of consumer purchase which happened in KPRI
UIN Sunan Kalijaga Yogyakarta. The data used was transaction data on January
and February 2018 as sample data.
This research succeeded to implement data mining technique using a priori
algorithm in an application which was used to process transaction data on each of
those two months. Therefore, it achieved patterns of consumer purchase which
tends to occur from combination of available items or goods.
Key words: data mining, a priori algorithm, sales transaction data, KPRI UIN Sunan
Kalijaga Yogyakarta.
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi yang semakin pesat memberikan dampak
yang signifikan dalam berbagai bidang. Tak terkecuali dalam bidang bisnis jual
beli khususnya usaha swalayan yang kian hari makin tinggi terjadinya
persaingan antar pelaku usaha. Banyak hal yang dilakukan pelaku usaha untuk
menghadapi perasaingan pada era teknologi seperti saat ini. Pemanfaatan
teknologi informasi dalam mendukung aktifitas usaha swalayan juga semakin
canggih dan berkembang. Para pelaku usaha memanfaatkan hal ini untuk
meningkatkan strategi-strategi bisnis mereka. Pemanfaatan data yang kerap
dijadikan objek dalam menggali pengetahuan yang dapat memberikan
informasi untuk meningkatkan kualitas dan efektifitas dalam kegiatan usaha
jual beli.
Setiap usaha swalayan mempunyai sistem operasional yang setiap
transaksi kegiatan operasinya selalu dicatat dan didokumentasikan.
Pendokumentasian setiap transaksi sangat berguna bagi swalayan tersebut
untuk segala keperluan. Data-data tersebut disimpan dalam sebuah basis data
berkapasitas besar.
Kemudahan dalam pengelolaan data yang menjadi objek dalam
menggali informasi-informasi baru yang mendukung pengentahuan pelaku
usaha swalayan dalam meningkatkan strategi bisnisnya tersebut dilakukan
2
dengan mengguanakan teknik data mining. Data mining merupakan teknik
yang digunakan untuk analisis data menggunakan tool untuk menemukan pola
dan aturan dalam himpunan data. Perangkat lunak bertugas menemukan pola
dengan mengidentifikasi aturan dan fitur pada data dan diharapkan mampu
mengenal pola dalam data dengan input minimal dari user. Munculnya data
mining didasarkan pada kenyataan bahwa jumlah data yang tersimpan dalam
basis data semakin besar. Untuk data yang semakin menggunung jumlahnya
dari waktu ke waktu menyebabkan munculnya pertanyaan yakni untuk apa
data-data tersebut, tentu menjadi hal yang sia-sia jika data tersebut tidak
dimanfaatkan untuk kepentingan perusahaan atau instansi itu sendiri.
Disiplin ilmu data mining menjadi salah satu solusi dari permasalahan
tersebut dengan proses yang dapat menemukan suatu informasi baru yang
berguna bagi perusahaan. Informasi baru tersebut dapat membantu para
pembuat keputusan dalam menetapkan keputusan yang akan mendukung
keberhasilan bisnisnya.
Dalam penelitian ini mengambil studi kasus di KPRI UIN Sunan
Kalijaga Yogyakarta, dengan menggunakan data transaksi menjadi objek yang
akan diolah dengan sebuah aplikasi data mining yang dibangun menggunakan
algoritma apriori, algoritma ini untuk menghasilkan pola pembelian konsumen
yang sering terjadi dan produk yang paling sering dibeli berdasarkan data
transaksi KPRI UIN Sunan Kalijaga Yogyakarta yang diolah.
3
1.2. Rumusan Masalah
Berdasarkan latar belakang diatas, dapat dirumuskan masalah dalam
penelitian ini yaitu:
1. Bagaimana pola pembelian konsumen pada KPRI UIN Sunan
Kalijaga Yogyakarta pada bulan Januari dan Februari 2018?
2. Apakah teknik data mining memberikan informasi dan pengetahuan
baru bedasarkan data transaksi yang diolah?
1.3. Batasan Masalah
Batasan masalah dalam penelitian ini adalah:
a. Objek yang akan digunakan sebagai bahan penelitian adalah data
transaksi penjualan pada KPRI UIN Sunan Kalijaga Yogyakarta dari
tanggal 22 Januari 2018 sampai dengan 12 Februari 2018.
b. Algoritma yang digunakan adalah algoritma apriori untuk mengetahui
aturan asosiatif antara suatu kombinasi pembelian produk oleh
konsumen.
c. Data yang diolah adalah data transaksi yang sebelumnya telah
dilakukan preprocessing.
d. Aplikasi dibuat menggunakan bahasa pemrograman PHP dengan
menggunakan framework codeigniter, dan database MySQL.
4
1.4. Tujuan Penelitian
Tujuan dari penelitian ini adalah:
1. Untuk mengetahui pola pembelian produk oleh konsumen pada bulan
Januari dan Februari 2018 di KPRI UIN Sunan Kalijaga Yogyakarta.
2. Mengetahui sejauh mana algoritma apriori dapat membantu dalam
menggali informasi dari data transaksi yang diolah.
1.5. Manfaat Penelitian
Dengan tercapainya tujuan penelitian diatas, manfaat dari penelitian ini
adalah:
1. Aplikasi data mining dapat digunakan untuk analisis data transaksi
sehingga data transaksi dapat dimanfaatkan untuk mendapatkan
informasi atau knowledge baru.
2. Memberikan kemudahan dalam menentukan strategi bisnis dengan
memanfaatkan informasi yang telah diperoleh dari data transaksi yang
diolah menggunakan aplikasi data mining yang menggunakan
algoritma apriori untuk mengetahui produk yang paling diminati dan
pola pembelian konsumen pada KPRI UIN Sunan Kalijaga
Yogyakarta.
1.6. Keaslian Penelitian
Penelitian tentang implementasi data mining dalam menganalisis data
transaksi penjualan dengan menggunakan algoritma apriori telah dilakukan
sebelumnya. Namun penelitian mengenai implementasi data mining dengan
5
menggunakan algoritma apriori untuk mengetahui pola pembelian konsumen
menggunakan data transaksi sebagai objek pada KPRI UIN Sunan Kalijaga
Yogyakarta sama sekali belum pernah dilakukan sebelumnya.
1.7. Sistematika Penulisan
Untuk memberikan gambaran yang jelas mengenai pokok bahasan
setiap baba pada penelitian ini, maka diperlukan sistematika penulisan. Berikut
sistematika penulisan pada masing-masing bab dalam penelitian ini:
BAB I : PENDAHULUAN
Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan
penelitian, manfaat penelitian, keaslian skripsi, serta sistematika penulisan.
BAB II : TINJAUAN PUSTAKA DAN LANDASAN TEORI
Pada bab ini berisi tinjauan pustaka dan landasan teori yang berkaitan
dengan pembahasan dalam penelitian ini.
BAB III : METODE PENELITIAN
Pada bab ini membahas tentang metode penelitian yang digunakan
dalam penelitian ini.
BAB IV : HASIL DAN PEMBAHASAN
Pada bab ini berisi hasil penelitian dan implementasi data mining
menggunakan algoritma apriori dari aplikasi yang sudah dibuat.
6
BAB V : PENTUP
Pada bab ini berisi kesimpulan yang dapat ditarik dari hasil
penelitian dengan menyertakan implementasi menggunakan sebuah aplikasi
yang sudah dibuat sebelumnya, sehingga menghasilkan pengetahuan atau
informasi baru dari data yang telah diolah yang dapat dijadikan acuan dalam
menentukan strategi bisnis dalam kegiatan jual beli pada KPRI UIN Sunan
Kalijaga Yogyakarta.
7
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1. Tinjauan Pustaka
Penelitian mengenai algoritma apriori yang dilakukan oleh Sari (2013).
Penjualan pakaian wanita mengalami peningkatan setiap bulannya, produk
yang ditawarkan bermacam merek, untuk mengetahui merek yang paling
diminati diperlukan algoritma apriori. Pada penelitian ini menjelaskan tentang
dalam menganalisa kebutuhan menggunakan algoritma apriori, dapat diketahui
pola frekuensi tinggi tentang jenis barang-barang yang paling banyak atau
paling sering dibeli konsumen. Disediakan data transaksi merek pakaian per-
bulannya. Dari representasi item-item data yang ada akan ditentukan kandidat
pertama sebanyak 6 item yang paling diminati setiap bulannya. Kemudian akan
disajikan tabel dari data yang telah menjadi item support dimana support
minimal adalah 50%. Tahap kedua adalah penentuan kandidat kedua yakni
kandidat kombinasi 2 itemset diambil dari kandidat pertama 1 itemset yang
mencapai ataupun melebihi support minimal. Berdasarkan tahap kedua akan
disajikan tabel yang memuat daftar kandidat dua kombinasi dan tabel daftar
support kandidat itemset dengan support minimal 50%. Setelah semua pola
frekuensi tinggi ditemukan, kemudian dihitung confidence masing-masing
kombinasi item. Iterasi akan berhenti ketika semua item telah dihitung sampai
tidak ada kombinasi item lagi.
8
Penelitian selanjutnya yang dilakukan oleh Fajri (2016). Berbagai
kendala dalam memilih konsentrasi prodi yang sesuai dengan kriteria memang
cukup membingungkan. Tujuan penelitian ini untuk menentukan konsentrasi
program studi yang akan diambil oleh mahasiswa dengan teknik data mining
menggunakan metode apriori. Penelitian ini dilakukan dengan cara interview
untuk mengumpulkan data yang diperlukan serta melakukan kajian pustaka
untuk mendukung dalam pengamilan hasil penelitian. Tahap dalam
menganalisa data dengan algoritma apriori pada penentuan program studi
dimulai dengan menyeleksi dan membersihkan data-data yang akan dianalisis,
kemudian mencari semua jenis item yang ada. Tahap selanjutnya dari item-
item yang telah terseleksi dibentuklah kombinasi dua item yang berbeda,
dengan support yang ditentukan maka terseleksilah beberapa data dua item ini
disebut pembentukan kombinasi dua item. Demikian seterusnya sampai
kombinasi batas maksimal item program studi. Apabila nilai support item ≥
minimal support maka proses pencarian calon kombinasi itemset berlanjut, jika
tidak proses pencarian selesai. Tahapan perhitungan algoritma apriori untuk
perhitungan algoritma apriori dimulai dengan mendefinisikan masing-masing
itemset. Langkah pertama adalah memuat kombinasi 1 itemset pada setiap
kriteria dan frekuensi masing-masing dihitung support sesuai dengan data
tabular. Langkah berikutnya adalah membuat kombinasi 2 itemset pada setiap
frekuensi masing-masing kombinasi dihitung sesuai dengan data tabular.
Berikutnya adalah kombinasi 3 itemset pada setiap frekuensi masing - masing
kombinasi dihitung sesuai dengan data tabular. Berikutnya adalah kombinasi 4
9
itemset pada setiap frekuensi masing-masing kombinasi dihitung sesuai
dengan data tabular. Karena pada 4 itemset nilai support tidak melebihi dari
minimu support maka proses berhenti di sini, untuk hasil Rule diambil dari
kombinasi 2 itemset dan 3 itemset dan akan dihitung confidencenya. Akan
disajikan tabel hasil kombinasi 2 itesets dan 3 itemsets yang memenuhi
minimum confidence, dari tabel tersebut akan didapatkan jurusan sebagai
itemsets yang dinyatakan sebagai frequent itemsets. Langkah selanjutnya
adalah dengan membentuk assosiaciation rule yang kuat berdasarkan frequent
itemsets yang dihasilakn tersebut berdasarkan nilai confidence.
Penelitian selanjutnya Failasufa (2014). Penelitian ini bertujuan untuk
membangun sebuah aplikasi data mining untuk mengelola data transaksi
penjualan guna mengatahui pola pembelian konsumen pada masing-masing
cabang Pamella supermarket berdasarkan lokasi dimana cabang tersebut
berada, dalam penelitian ini bertujuan untuk menganalisis pola pembelian
konsumen dari cabang Pamella yang terletak di area kampus dan area
perumahan, sehingga dapat memberikan informasi yang bermanfaat yang dapat
digunakan dalam pengambilan keputusan dan dapat menunjang proses bisnis
pada toko tersebut. Penelitian ini menerapkan algoritma apriori dalam sebuah
aplikasi yang dapat mengetahui pola pembelian konsumen Pamella
Supermarket pada masing-masing cabang yang berbeda dengan karakteristik
yang berbeda pula. Dari pola yang dihasilkan tersebut akan didapatkan sebuah
informasi atau knowledge.
10
Tabel 2.1. Tabel penelitian terdahulu
Terakhir adalah skripsi yang diajukan oleh penulis menggunakan
algoritma apriori. Dalam penelitian ini data transaksi KPRI UIN Sunan
Kalijaga Yogyakarta sebagai objek. Data yang digunakan adalah data pada
bulan Januari dan Februari 2018. Pada penelitian ini dilakukan beberapa
tahapan yaitu seleksi data, cleaning/preprocessing, transformation, data
mining, dan interpretation/ evaluation. Pada penelitian ini akan menghasilkan
pola pembelian konsumen dari data transaksi yang diolah.
Peneliti
(Tahun)
Objek
Penelitian
Metode Hasil
(Sari, 2013) Data transaksi
merek pakaian
Algoritma
apriori
Mengetahui merek
pakaian yang paling
diminati
(Fajri, 2016) Data hasil
interview
Algoritma
apriori
Menghasilkan aturan
(rules) yang
merupakan kumpulan
frequent itemset
dengan nilai
confidence yang tinggi
yang digunakan untuk
memilih program
studi yang diinginkan.
(Failasufa,
2014)
Data transaksi
penjualan pada
Pamella
Supermarket
Algoritma
apriori
Mengetahui pola
pembelian konsumen
pada masing-masing
cabang Pamella
Supermarket
berdasarkan lokasi
(Ulfa, 2018) Data transaksi
penjualan pada
KPRI UIN
Sunan Kalijaga
Yogyakarta
Algoritma
apriori
Mengetahui pola
pembelian konsumen
pada bulan Januari
dan Februari 2018
11
2.2.Landasan Teori
2.2.1. Data Mining
Nama data mining sebenarnya mulai dikenal sejak tahun 1990, ketika
pekerjaan pemanfaatan data menjadi sesuatu yang penting dalam berbagai
bidang, mulai dari bidang akademik, bisnis, hingga medis. Munculnya data
mining didasarkan pada jumlah data yang tersimpan dalam basis data semakin
besar. (Prasetyo, 2014)
Ada istilah lain yang mempunyai makna yang sama dengan data
mining yaitu knowledge-discovery in database (KDD). Memang data mining
atau KDD bertujuan untuk memanfaatkan data dalam basis data dengan
mengolahnya sehingga menghasilkan informasi baru yang berguna.
Istilah data mining dan knowledge discovery in database (KDD)
seringkali digunakan secara bergantian untuk menjelaskan proses penggalian
informasi tersembunyi dalam suatu basis data yang besar. Sebenarnya kedua
istilah tersebut memiliki konsep yang berbeda, tetapi berkaitan satu sama lain.
Dan salah satu tahapan dalam keseluruhan proses KDD adalah data mining.
(Kusrini & Luthfi, 2009)
Gambar 2.1. Tahapan dalam KDD (Knowledge
Discovery in Database)
Gambar 2.2. Tahapan dalam KDD (Knowledge
Discovery in Database)
12
Proses KDD secara garis besar dapat dijelaskan sebagai berikut (Kusrini &
Luthfi, 2009) :
1. Data Selection
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.
2. Pre-processing/ Cleaning
Sebelum proses data mining dapak dilaksanakan, perlu dilakukan proses
cleaning pada data yang menjadi fokus KDD. Proses Cleaning mencakup
antara lain membuang duplikasi data, memeriksa kesalahan pada data,
seperti kesalahan cetak (tipografi). Juga 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.
3. Transformasi
Coding adalah proses transformasi pada data yang telah dipilih sehingga
data tersebut sesuai untuk proses data mining. Proses coding dalam KDD
merupakan proses kreatif dan sangat tergantung pada jenis atau pola
informasi yang akan dicari dalam basis data.
4. Data Mining
13
Data mining adalah 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.
5. Interpertation/ Evaluation
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 disebut
interpretation. Tahap ini mencakup pemeriksaan apakah pola atau
informasi yang ditemukan bertentanga dengan fakta atau hipotesis yang
ada sebelumnya.
Data mining memiliki empat akar bidang keilmuan yaitu:
1. Statistik
Bidang ini merupakan akar paling tua, tanpa ada statistik maka data
mining mungkin tidak ada. Dengan menggunakan statistik klasik
ternyata data yang diolah dapat diringkas dalam apa yang umum dikenal
dengan exploratory data analysis (EDA). EDA berguna untuk
mengidentifikasi hubungan sistematis antarvariable/fitur ketika tidak
ada cukup informasi alami yang dibawanya.
2. Kecerdasan buatan atau artificial intelligence (AI)
Bidang ilmu ini berbeda dengan statistik. Teorinya dibangun dengan
berdasarkan tenik heuristik sehingga AI berkontribusi terhadap teknik
14
pengolahan informasi berdasarkan pada model penalaran manusia.
Salah satu cabang dari AI, yaitu pembelajaran mesin atau mechine
learning, merupakan disiplin ilmu yang paling penting yang
dipresentasikan dalam pembangun data mining, menggunakan teknik
dimana sistem komputer belajar dengan pelatihan.
3. Pengenalan pola
Sebenarnya data mining juga menjadi turunan bidang pengenalan pola,
tetapi hanya mengolah data dari basis data. Data yang diambil dari basis
data untuk diolah bukan dalam bentuk relasi, melainkan dalam bentuk
normal pertama sehingga set data dibentuk menjadi bentuk normal
pertama. Akan tetapi data mining mempunyai ciri khas yaitu pencarian
pola asosiasi dan pola sekuensial.
4. Sistem basis data
Akar bidan ilmu keempat dari data mining yang menyediakan informasi
berupa data ang akan digali menggunakan metode-metode yang
disebutkan sebelumnya.
2.2.1.1. Pengertian Data Mining
Ada beberapa pengertian data mining yaitu (Kusrini & Luthfi,
2009):
Data mining sebagai proses untuk mendapatkan informasi yang
berguna dari gudang basis data yang besar.
15
Data mining adalah suatu istilah yang digunakan untuk menguraikan
penemuan pengetahuan di dalam database. Data mining adalah proses yang
menggunakan teknik statistik, matematika, kecerdasan buatan, dan machine
learning untuk mengekstraksi dan mengidentifikasi informasi yang
bermanfaat dan pengetahuan yang terakit dari berbagai database besar
Menurut Gartener Group data mining adalah suatu proses menemukan
hubungan yang berarti, pola, dan kecendrungan dengan memeriksa dalam
sekumpulan besar data yang tersimpan dalam penyimpanan dengan
menggunakan teknik pengenalan pola seperti teknik statistik dan matematika.
Data mining adalah analisis otomatis dari data yang berjumlah besar
atau kompleks dengan tujuan untuk menemukan pola atau kecendrungan
yang penting yang biasanya tidak disadari keberadaannya.
Dari definisi-definisi yang telah disampaikan, hal penting yang terkait
dengan data mining adalah (Kusrini & Luthfi, 2009) :
1. Data mining merupakan suatu proses otomatis terhadap data yang
sudah ada.
2. Data yang akan diproses berupa data yang sangat besar.
3. Tujuan data mining adalah mendapatkan hubunga atau pola yang
mungkin memberikan indikasi yang bermanfaat.
Dari beberapa pengertian diatas gambaran bidang ilmu data mining
dapat dilihat pada gambar 2.2 berikut:
16
Selanjutnya, apa perbedaan antara data mining dengan data
warehouse? Untuk menjawabnya, Gambar 2.3. dibawah ini
mengilustrasikan posisi antara data mining dan data warehouse.
Gambar 2.2. Bidang ilmu data mining
Data
mining
Pencarian
Informasi
Artificial
Intelegent Statistik
Database
Dasar(Seleksi,
presentasi
hasil)
Ekstraksi data(bahasa
alami,web, penstrukturan
Pembelajaran
(neural
Network,
pohon
keputusan,
Data yang besar
(Normalisasi data,
transformasim
OLAP
17
Dari gambar diatas, dapat dilihat bahwa data mining adalah
bidang yang sepenuhnya mengguanakan apa yang dihasilkan oleh data
warehouse, bersama dengan bidang yang menangani masalah pelaporan
dan manajemen data. Sementara, data warehouse sendiri bertugas untuk
menarik/meng-query data dari baris data mentah untuk memberikan hasil
data yang nantinya digunakan oleh bidang yang menangani manajemen,
pelaporan, dan data mining. Dengan data mining inilah penggalian
informasi baru dapat dilakukan dengan bekal data mentah yang diberikan
BUSINESS INTELEGENCE
PERFORMANCE
MANAGEMENT
ENTERPRISE
REPORTING
DATA MINING
DATA WAREHOUSE
EXTRACT, TRANSFORM, LOAD
T RAN SACT I ONA L DA T A BA SE
Gambar 2.3. Posisi data mining dalam bisnis cerdas
18
oleh data warehouse. Hasil yang diberikan oleh ketiga bidang tersebut
berguna untuk mendukung aktivitas bisnis cerdas (business intelligent).
2.2.1.2. Pengelompokan Data Mining
Data mining dibagi menjadi beberapa kelompok berdasarkan yang
dapat dilakukan, yaitu (Prasetyo, 2012):
1. Model prediksi
Model prediksi berkaitan dengan pembuatan sebuah model yang
dapat melakukan pemetaan dari setiap himpunan variable ke
setiap targetnya, kemudian menggunakan model tersebut untuk
memberikan nilai target pada himpunan baru yang didapt. Ada
dua jenis model prediksi, yaitu kalsifikasi dan regresi. Klasifikasi
digunakan untuk variabel target diskret, sedangkan regresi untuk
variable target kontinu.
2. Analisis kelompok
Analisis kelompok melakukan pengelompokan data-data ke
dalam sejumlah kelompok (cluster) berdasarkan kesamaan
karakteristik masing-masing data pada kelompok-kelompok
yang ada. Data-data yang masuk dalam batas kesamaan dengan
kelompoknya akan bergabung dalam kelompok tersebut, dan
akan terpisah dalam kelompok yang berbeda jika keluar dari
batas kesamaan dengan kelompok tersebut.
3. Analisis asosiasi
19
Analisis asosiasi (association analysis) digunakan untuk
menemukan pola yang menggambarkan kekuatan hubungan fitur
dalam data. Pola yang ditemukan biasanya merepresentasikan
bentuk aturan implikasi atau subset fitur. Tujuannya adalah
untuk menemukan pola yang menarik dengan cara yang efisien.
4. Deteksi anomali
Pekerjaan deteksi anomali (anomaly detection) berkaitan dengan
pengamatan sebuah data dari sejumlah data yang secara
signifikan mempunyai karakteristik yang berbeda dari sisi data
yang lain. Data-data yang karakteristiknya menyimpang
(berbeda) dari data yang lain disebut outlier. Algoritma deteksi
anomali yang baik harus mempunyai laju deteksi yang tinggi dan
laju eror yang rendah. Deteksi anomali dapat diterapkan pada
sistem jaringan untuk mengetahui pola data yang memasuki
jaringan sehingga penyusupan bisa ditemukan jika pola kerja
data yang datang berbeda. Perilaku kondisi cuaca yang
mengalami anomali juga dapat dideteksi dengan algoritma ini.
2.2.2. Data, Informasi, dan Pengetahuan (Knowledge)
data adalah segala fakta, angka, atau teks yang dapat diproses oleh
komputer. Saat ini akumulasi pertumbuhan jumlah data berjalan dengan
cepat dalam format dan basis data yang berbeda. Data-data tersebut antara
lain, adalah (Prasetyo, 2012):
20
1. Data operasional atau trasaksional, seperti penjualan, inventaris,
penggajian, akuntansi, dan sebagainya.
2. Data non operasional, seperti industri penjualan (supermarket),
peramalan, dan data ekonomi makro.
3. Metadata, adalah data mengenai data itu sendiri, seperti desain
logika basis data atau definisi kamus data.
Sementara informasi adalah pola, asosiasi, atau hubungan antara
semua data yang dapat memberikan informasi. Informasi data
dikonversi menjadi pengentahuan mengenai pola-pola historis dan
tren masa depan. Misalnya, ringkasan informasi tentang penjualan
eceran supermarket dapat dianalisis sehubungan dengan upaya
promosi untuk memberikan pengetahuan menganai perilaku
konsumen dalam membeli. Dengan demikian produsen atau pengecer
dapat menentukan item yang paling rentan terhadap upaya promosi.
2.2.3. Konsep Analisis Asosiasi
Analisis asosiasi atau association rule mining adalah teknik data
mining untuk menemukan aturan asosiatif antara suatu kombinasi item.
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 perhatian banyak peneliti
untuk menghasilkan algoritma yang efisien adalah analisisi pola frekuensi
tinggi (frequent pattern mining).
21
Penting tidaknya suatu aturan asosiatif dapat diketahui dengan dua
parameter, yaitu support dan confidence. Support (nilai penunjang) adalah
presenetase kombinasi item tersebut dalam database, sedangkan confidence
(nilai kepastian) adalah kuatnya hubungan antar-item dalam aturan asosiasi.
Aturan asosiasi biasanya dinyatakan dalam bentuk :
{roti,mentega}->{susu}(support = 40%, confidence = 50%)
Aturan tersebut berarti “50% dari transaksi di database yang memuat item
roti dan mentega juga memuat item susu. Sedangkan 40% dari seluruh
transaksi yang ada di database memuat ketiga item itu.” dapat juga diartikan:
“Seorang konsumen yang membeli roti dan mentega punya kemungkinan
50% untuk juga membeli susu. Aturan ini cukup signifikan karena mewakili
40% dari catatan transaksi selama ini.” analisis asosiasi didefinisikan suatu
proses untuk menemukan semua aturan asosiasi yang memenuhi syarat
minimum untuk support (minimum support) dan syarat minimum untuk
confidence (minimum confidence).
Strategi umum yang diadopsi oleh banyak algoritma penggalian
aturan asosiasi adalah memecah masalah ke dalam dua pekerjaan utam
yaitu:
1. Frequent itemset generation
Tujuannya adalah mencari semua itemset yang memenuhi ambang
batas minsup. Itemset itu disebut itemset frekuen(itemset yang sering
muncul).
22
2. Rule generation
Tujuannya adalah mengekstrak aturan dengan confidence tinggi dari
itemset frekuen yang ditemukan dalam langkah sebelumnya. Aturan ini
kemudian disebut aturan kuat (strong rule).
Metodologi dasar analisis asosiasi terbagi menjadi dua tahap:
1. Analisis pola frekuensi tinggi
Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari
nilai support dalam database. Nilai support sebuah item ditunjukkan
pada rumus (2,1).
𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝐴) = ∑𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑥 100% (2,1)
Sementara itu, nilai support dari 2 itemset diperoleh dari rumus (2,2).
Support (A,B) = P(A ∩ B)
𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝐴, 𝐵) = ∑𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴, 𝐵
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑥 100% (2,2)
2. Pembentukan aturan asosiasi
Setelah semua pola frekuensi tinggi ditemukan, barulah dicari aturan
asosiasi yang memenuhi syarat minimum untuk confidence dengan
menghitung confidence aturan asosiatif A → B.
Nilai confidence dari aturan A → B ditunjukkan pada rumus (2,3)
berikut.
23
𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝑃(𝐵|𝐴) = ∑𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴, 𝐵
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴 𝑥 100% (2,3)
Untuk menetukan aturan asosiasi yang akan dipilih maka harus
diurutkan berdasarkan Support x Confidence. Aturan diambil sebanyak
n aturan yang memiliki hasil terbesar.
2.2.4. Apriori
Algoritma apriori termasuk jenis aturan asosiasi pada data mining
(Kusrini & Luthfi, 2009). Pendekatan dengan algoritma apriori berusaha
untuk secara efisien menemukan jumlah itemset frekuen. Algoritma ini
menjadi pelopor dalam algoritma analisis asosiasi untuk menemukan
kandidat itemset frekuen dan pembangkitan aturan asosiasi yang dapat
dibentuk. Hal utama dalam teorema algoritma apriori menggunakan prinsip:
“Jikas sebuah itemset itu frekuen, semua subset (bagian) dari itemset
tersebut pasti juga frekuen” (Prasetyo,2012).
Strategi pemangkasan wilayah pencarian yang eksponensial dengan
basis ukuran support disebut sebagai pemangkasan berbasis support
(support-based pruning). Karena strategi itemset tidak pernah melebihi
support subsetnya. Sifat seperti ini dikenal dengan properti antimonotonik
(antimonotonic property) dari ukuran support.
24
2.2.4.1. Pembangkitan itemset frekuen
Ilustrasi pembangkitan itemset frekuen dalam algoritma apriori
ditunjukkan pada gambar 2.4. Asumsi yang digunakan dalam gambar tersebut
untuk ambang batas support adalah 50%
Awalnya, setiap item dianggap sebagai kandidat 1-itemset. Setelah
menghitung support-nya, diketahui bahwa kandidat {Topi} harus dibuang
karena mempunyai nilai support 0.375 (di bawah ambang batas). Pada iterasi
berikutnya, kandidat 2-itemset dibangkitkan menggunakan itemset frekuen 1-
itemset ,yaitu {Beras}, {Buku}, {Minyak}, dan {Telur}, dan apriori yakin
bahwa semua superset dari infrequent itemset, yaitu {Topi}, pasti juga
infrenquent. Karena ada 4 item dari kandidat 1-itemset, jumlah kandidat 2-
itemset yang adapat dibangkitkan adalah (42) = 6. Selanjutnya, diketahui
bahwa dari enam kandidat, ada tiga kandidat yang nilai support-nya di bawah
ambang batas, yaitu {Beras,Buku}, {Buku, Minyak}, dan {Buku, Telur},
masing-masing bernilai 0.25,0.375,0.25. Yang tersisa adalah 4-itemset yang
berisi 3 item. Pada iterasi berikutnya, 3 item tersebut digunakan untuk
membangkitkan kandidat 3-itemset, didapatkan (33) = 1
25
Dari gambar 2.4 dapat diamati bahwa apriori hanya menjaga item yang
kandidat (k-1)-itemset memenuhi ambang untuk membangkitkan k-itemset
berikutnya.
Algoritma apriori dalam bentuk pseudokode diberikan dalam algoritma
2.1. Jika Ck meyatakan kandidat k-itemset, dan Fk menyatakan set k-itemset
yang frekuen:
Item Count
Beras 6%
Buku 4%
Minyak 6%
Telur 6%
Topi 3% Itemset Count
{Beras, Buku} 2%
{Beras, Minyak} 4%
{Beras, Telur} 5%
{Buku, Minyak} 3%
{Buku, Telur} 2%
{Minyak, Telur} 5%
Itemset Count
{Beras, Minyak, Telur} 4%
Kandidat 1-itemset
Kandidat 1-itemset
Kandidat 1-itemset
Kandidat 1-itemset
Kandidat 1-itemset
Kandidat 1-itemset
Kandidat 1-itemset
Kandidat 1-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Item yang dibuang
karena support
rendah
Gambar 2.4. Contoh pembangkitan itemset frekuen dengan
algoritma apriori
Gambar 2.47. Cara kerja server side scriptingGambar
2.48. Contoh pembangkitan itemset frekuen dengan
algoritma apriori
Gambar 2.49. Cara kerja server side scripting
Gambar 2.50. Framework bootstrapGambar 2.51. Cara
kerja server side scriptingGambar 2.52. Contoh
pembangkitan itemset frekuen dengan algoritma apriori
Kandidat 3-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
Kandidat 2-itemset
26
1. Awalnya, algoritma membaca semua transaksi satu kali untuk
menentukan support setiap item. Selanjutnya, pada langkah 2
dipilih 1-itemset yang frekuen (langkah 1 dan 2).
2. Selanjutnya secara iteratif algoritma akan membangkitkan
kandidat k-itemset yang baru menggunakan (k-1)-itemset yang
frekuen yang ditemukan pada iterasi sebelumnya (langkah 5).
Pembangkitan kandidat yang diimplementasikan dibahas di sub
bab Pembangkitan kandidat dan pemangkasan menggunakan
kandidat fungsi apriori_gen().
3. Untuk menghitung support count dari setiap kandidat, algoritma
perlu melakukan pembacaan tambahan pada set data (langkah 6
sampai 9). Fungsi subset() digunakan untuk menentukan semua
kandidat itemset dalam Ck yang mengisi setiap transaksi t.
4. Setelah menghitung support, algoritma akan membuang semua
kandidat itesmet yang nilai support count-nya kurang dari minsup
(langkah 10).
5. Algoritma berhenti ketika tidak ada lagi itemset frekuen yang bisa
dibangkitakan, misalnya Fk = Ø
Algoritma 2.1 pembangkitan itemset frekuen dengan algoritma
apriori
1. k = 1
2. Fk = {i|i Є l ˄ σ ({i}) ≥ N x minsup} % Mencari semua 1-itemset
yang frekuen.
27
3. Ulangi langkah 4 sampai 10, sampai Fk = Ø
4. k = k + 1
5. Ck = apriori_gen(Fk-1 ) % Bangkitkan kandidat itemset
6. Untuk setiap transaksi t Є T, lakukan langkah 7 sampai 9
7. Ct = subset(Ck , t) % Identifikasi semua kandidat yang dimiliki t
8. Untuk setiap kandidat itemset c Є Ct lakukan langkah 9
9. Σ(c) = σ(c) + 1 %Naikkan support count
10. Fk = {c|c Є Ck ˄ σ ({c}) ≥ N x minsup} %Ekstrak itemset yang
frekuen
11. Hasil = U Fk
2.2.4.2. Pembangkitan kandidat dan pemangkasan
Fungsi apriori_gen() dalam algoritma 2.1 membangkitkan kandidat
itemset dan melakukan dua pekerjaan berikut, yaitu:
1. Pembangkitan kandidat
Operasi ini melakukan pembangkitan kandidat baru k-iemset
berdasarkan (k-1)-itemset yang frekuen dari iterasi sebelumnya.
2. Pemangkasan kandidat
Operasi ini mengeleminasi sejumlah kandidat k-itemset dengan
strategi pemangkasan berbasis support.
Berikut adalah penjelasan untuk operasi pemangkasan kandidat. Andaikan
ada k-itemset kandidat X = {i1, i2, ....., ik }, algoritma harus menentukan
manakah di antara semua subset yang benar, X – {ij} (Ɐj = 1,2, ....., k) adalah
28
frekuen. Jika satu dari subset tersebut infrequent, X harus segera dipangkas.
Pendekatan ini secara efektif mengurangi jumlah kandidat itesmet yang
diamati selama perhitungan support. Kompleksitas operasi ini adalah O(k)
untuk setiap kandidat k-itemset, tetapi tidak perlu memeriksa semua k subset
dari kandidat tersebut. Jika m dari k subset sudah digunakan untuk
membangkitan kandidat, pemeriksaan hanya perlu dilakukan pada subset
sisa, yaitu k-m selama pemangkasan kandidat.
2.2.4.3. Pembangkitan Aturan
Pada sub-subab ini akan dibahas tentang bagaimana mengekstrak
aturan asosiasi (association rule) dari itemset frekuen yang diberikan. Setiap
k-itemset yang frekuen, Y, dapat menghasilkan sampai dengan 2k -2 aturan
asosiasi, dengan mengabaikan atran yang mempunyai anteseden atau
konsekuen kosong (Ø → Y atau Y → Ø). Aturan asosiasi dapat diekstrak
dengan mempartisi itemset Y ke dalam dua subset tidak kosong X dan Y-X
dimana X → Y-X, memenuhi syarat karena dibangkitakan dari itesmet
frekuen.
Contoh, jika X = {1,2,3} adalah itemset frekuen, ada enam kandidat
aturan asosiasi yang dapat dibangkitan dari X, yaitu{1,2} → {3}, {1,3} →
{2}, {2,3} → {1}, {1} → {2,3}, {2} → {1,3}, dan {3} → {1,2}. Mungkin
nilai support untuk semua aturan tersebut sama untuk X, aturan tersebut juga
harus memenuhi ambang batas support. Perhitungan confidence aturan
asosiasi tidak membutuhkan pemidaian tambahan pada set data transaksi.
29
Andaikan aturan {1,2} → {3} dibangkitkan dari itesmet frekuen X = {1,2,3}
frekuen, sifat antimonoton dari support memastikan bahwa {1,2} pasti
frekuen juga. Karena support count untuk kedua itemset sudah siap
ditemukan sejak itemset frekuen dibangkitan, seluruh bagian set data tidak
perlu dibaca lagi.
Tidak seperti ukuran support, confidence tidak mempunyai sifat
monoton apa pun. Misalnya, confidence X → Y bisa lebih besar, lebih kecil,
atau bahkan sama dengan confidence aturan X% → Y% yang lain.
Berikut ini adalah teorema untuk menangani ukuran confidence jika
sebuah aturan X → Y-X tidak memenuhi ambang batas confidence
sembarang aturan X’ adalah subset X, pasti tidak memenuhi ambang batas
confidenc.
Algortima 2.2 Pembangkitan aturan algoritma apriori
1. Untuk setiap k-itemset fk, k ≥ 2 dan 3
2. H1 = {i|i Є} {1-item consequent aturan}
3. Call app_generule( fk, H1 )
Algoritma 2.3 Prosedur ap_generule ( fk, Hm )
1. k = |fk| {ukuran itemset frequent}
2. m=|Hm| {ukuran consequent aturan}
3. Jika k ˃ m + 1, lakukan langkah 4 sampai 10
30
4. Hm+1 = apriori_gen(Hm)
5. Untuk setiap hm+1 Є Hm+1, lakukan langkah 6 sampai 9
6. Conf = σ(fk) / σ(fk – hm+1)
7. Periksa conf ≥ minconf, jika benar, jalankan langkah 8, jika
salah, jalankan langkah 9
8. Output aturan (fk – hm+1) → hm+1
9. Hapus hm+1 dari Hm+1
10. Call ap_genrule (fk – hm+1)
Algoritma apriori menggunakan pendekatan level yang baik dalam
pembangkitan asosiasi, dimana setiap level berhubungan dengan sejumlah
item yang dimiliki konsekuen aturan. Awalnya, aturan dengan confidence
tinggilah yang mempunyai satu item diesktrak. Aturan ini kemudian
digunakan untuk membangkitkan kandidat aturan yang baru.
2.2.5. PHP
PHP ( PHP: Hypertext Prerocessor ) adalah bahasa server-side scripting
yang menyatu dengan HTML untuk membuat halaman web dinamis. Karena
PHP merupakan server-side scripting maka sintaks dan perintah-perintah PHP
akan dieksekusi di server kemudian hasilnya dikirim ke browser dalam format
HTML. Degan demikian kode program yang ditulis dalam PHP tidak akan
terlihat oleh user sehingga keamanan halaman web lebih terjamin. PHP
dirancang untuk membentuk halaman web yang dinamis, yaitu halaman web
yang dapat membentuk suatu tampilan berdasarkan permintaan terkini, seperti
menampilkan isi basis data ke halaman web (Arief, 2011).
31
PHP termasuk dalan Open Source Product, sehingga source code PHP
dapat diubah dan didistribusikan secara bebas. PHP juga dapat berjalan pada
berbagai web server seperti IIS (Internet Information Server), PWS (Personal
Web Server), Aphace, Xitami. PHP juga mampu lintas platform. Artinya PHP
dapat berjalan dibanyak sistem operasi yang beredar saat ini, diantaranya:
Sistem Operasi Microsoft Windows (semua versi), Linux, Mac OS, Solaris.
PHP dapat dibangun sebagai modul pada web server Aphace dan sebagai
binary yang dapat berjalan sebagai binary yang dapat berjalan sebagai CGI
(Common Gateway Interface). PHP dapat mengirim HTTP header, dapat
mengatur cookies, mengatur authentication dan redirect users.
Berikut cara kerja server side scripting (Arief, 2011) :
1. User melakukan request dari sisi client melalui web browser untuk
mengakses sebuah halaman web.
2. Proses request ini akan dicari web server, khususnya URL/domain
halaman web tersebut. Lokasi dari dokumen web tersebut di web
server mungkin saja berada di internet.
Gambar 2.5. Cara kerja server side scripting
Gambar 2.92. Framework bootstrapGambar
2.93. Cara kerja server side scripting
Gambar 2.94. Framework bootstrap
Gambar 2.95. Bootstrap 12 column grid
systemGambar 2.96. Framework
bootstrapGambar 2.97. Cara kerja server side
scripting
32
3. Jika dokumen tersebut sudah ditemukan, maka web server akan
mengecek apakah dokumen yang di-request oleh user
menggunakan client side scripting ataut server side scripting. Jika
dokumen web server akan mengarahkan pemrosesannya ke sisi
client/web browser. Sebaliknya, jika berisikan server side scripting
maka pemrosesannya diarahkan kepada web engine. Pada Gambar
2.5, server side scripting -nya menggunakan PHP, maka
pemrosesnya dilakukan oleh PHP engine/Zend engine.
4. Web engine akan memproses dokumen server side scripting
tersebut menjadi format dokumen HTML.
5. Selanjutnya hasil pemroresan web engine akan dikembalikan lagi
ke web server.
6. Kemudian dilanjutkan oleh web server ke client/user yang me-
request dokumen tersebut. Format akhir dokumen tersebut adalah
format HTML. Hal ini terjadi karena web browser hanya dapat
menampilkan halaman web dalam format HTML
Kelebihan PHP
PHP (Hypertext Processor) mempunyai beberapa kemampuan yang
merupakan salah satu kelebihan PHP. Kemampuan tersebut antara lain
(Hermawan, 2009):
1. Cara koneksi dan query database yang sederhana.
33
2. Dapat bekerja pada sistem operasi berbasis Windows, Linux, Mac
OS, dan kebanyakan varian UNIX.
3. Biaya yang dibutuhkan untuk menggunakan PHP tidak mahal, atau
bahkan gratis.
4. Mudah digunakan karena memiliki fitur dan fungsi khusus untuk
membuat web dinamis. Bahasa pemrograman PHP dirancang
untuk dapat dimasukkan dalam HTML (embeded script).
5. Security system yang cukup tinggi.
6. Waktu ekseskusi yang lebih cepat dibandingkan dengan bahasa
pemrograman web lainnya berorientasi pada server side scripting.
7. Akses ke sistem database yang lebih fleksibel dan mudah, seperti
MySQL.
Kelebihan utama PHP terletak pada kemudahan koneksinya dengan berbagai
sistem database di dalam web. Sistem database yang dapat didukung oleh PHP
adalah:
• Adabas D
• Direct MS-SQQL
• Oracle (OCI7 and OCI8)
• dBase
• InterBase
• Informix
• ODBC
• Hyperwave
34
• Sybase
• IBM DB2
• MySQL
• FrontBase
• PostbreSQL
• mSQL Solid
• dll
Selain dukungan koneksi sistem database yang cukup beraga, PHP juga
dapat berhubungan dengan berbagai macam protokol, sepert: IMAP, NNTP,
LDAP, HTTP, SNMP, COM, dan lainnya. Fasilitas lainnya adalah soket
programming, yang dapat digunakan untuk membuat skrip PHP yang dapat
menghubungkan komputer pada sebuah jaringan, sehingga bisa bertukar data.
PHP memiliki banyak tipe function yang memiliki kegunaan:
1. DOM XML Functions.
2. NET Functions.
3. Filesystem Functions.
4. COM (untuk windows), untuk berkomunikasi atau mengirim data
antaraplikasi yang dibuat dengan standar com.
5. ClibPDF Functions, yang digunakan programmer web untuk
membuat web yang berhubungan dengan E-Payment.
6. Bzip2 Compression Functions, fungsi yang digunakan PHP untuk
membuat dan membaca file berformat *.zip.
35
Kelemahan PHP
Selain memiliki berbagai keunggulan, PHP juga memiliki beberapa
kekurangan. Dari segi bahasa, PHP bukanlah bahasa yang cocok untuk
pengembangan berskala besar. Kekuranga yang utama adalah tidak adanya
namespace. Namespace adalah sebuah cara untuk mengelompollan fungsi atau
nama variable dalam susunan hierarki (Arief, 2009).
2.2.6. Framework PHP
Framework PHP adalah sebuah lingkungan pengembangan aplikasi
berbasis php yang berisi sejumlah class-class yang telah dibuat agar digunakan
kembali untuk membuat aplikasi. Jenis class-class ini tergantung tujuan dari
php framework tersebut, framework php yang satu dengan yang lain
kemungkinan memiliki class yang berbeda. Sebagaian besar framework php
yang tersedia saat ini berbasi MVC(Model View Controller).
Beberapa alasan penggunaan framework php menjadi sangat penting
dalam pengembangan aplikasi berbasis web, antara lain:
1. Di dalam sebuah framework biasanya sudah tersedian struktur
aplikasi yang baik, standard coding, best practice, design pattern,
dan common function, sehingga dengan menggunakan framework
kita dapat lansung fokus kepada proses bisnis yang dihadapi.
2. Memudahkan dalam proses manintenance karena sudah ada pola
terntentu dalam sebuah framework (dengan syarat programmer
mengikuti pola stnadar yang ada).
36
3. Umumnya framework menyediakan fasilitas-fasilitas yang umum
dipakai sehingga kita tidak perlu membangun dari awal(seperti
validasi, ORM, pagination, multiple database, scaffolding,
pengaturan session, error handling dll).
4. Akan lebih mudah memahami mekanisme kerja dari sebuah
aplikasi. Ini tentunya akan sangat membantu proses pengembangan
sistem yang dilakukan secara team. Semua anggota diwajibkan
untuk memahami pola kerja framework tersebut selebihnya
anggota team hanya mempelajari proses bisnis yang dikehendaki
oleh sistem untuk kemudian dituangkan kedalam framework
tersebut. Dalam artian setiap orang harus mempunyai metode yang
sama dalam menyelesaikan aplikasi tersebut.
5. Akan menghemat waktu pengerjaan suatu aplikasi. Setiap anggota
sudah memiliki sebuah acuan dalam menyelesaikan modul.
Semakin banyak library yang ada semakin cepat anggota untuk
menemukan solusi karena tidak setiap anggota harus membuat
class atau fungsi untuk kasus yang relatif sama.
MVC merupakan sebuah pattern teknik pemrograman yang memisahkan
bisnis logic (alur pikir), data logic (penyimpanan data) dan presentation logic
(antarmukan aplikasi) atau secara sederhana adalah memisah anatara desain,
data dan proses. Adapun komponen-komponen MVC anatara lain:
1. Model
37
Model berhubungan dengan data dan interaksi ke database atau web service.
Model juga mempresentasikan struktur data aplikasi yang bisa berupa basis
data maupun data lain, misalnya dalam bentuk file teks, file XML maupun
web service. Di dalam model akan berisi class dan fungsi untuk mengambil,
melakukan update data, menyimpan data. Maka pada bagian model
berhubungan dengan perintah-perintah query SQL.
2. View
View berhubungan dengan segala sesuatu yang akan ditampilkan di end
user. Bisa berupa halaman web, css, javascript, dan lain-lain. Kita harus
menghindari logika atau pemrosesan data di view. Di dalam view hanya
berisi variabel-variabel yang berisi data yang siap untuk ditampilkan. View
dapat dikatakan sebagai halaman website yang dibuat dengan menggunakan
HTML, dan bantuan CSS atau javascript. Di dalam tidak dianjurkan adanya
koneksi basis data, view hanya dikhususkan untuk menampilkan data-data
hasil dari model dan controller.
3. Controller
Controller bertindak sebagai penghubung data dengan view. Di dalam
controller inilah terdapat class-class dan fungsi-fungsi yang memproses
permintaan dari view ke dalam struktur data di dalam model. Controller juga
tidak diperbolehkan diisi kode untuk mengakses basis data. Tugas controller
adalah menyediakan berbagai variable yang akan ditampilkan di view,
memanggil model untuk melakukan akses basis data, meyediakan
38
penanganan kesalahan/ error, mengerjakan proses logika dari aplikasi serta
melakukan validasi atau cek terhadap input.
2.2.7. CodeIgniter
CodeIgniter merupaka sebuah framework untuk web yang dibuat dalam
format php. Format yang dibuat ini selanjutnya dapat digunakan untuk
membuat sistem aplikasi web yang kompleks. CodeIgniter dapat membantu
mempercepat developer dalam pengembangan aplikasi web berbasi php karena
CodeIgniter menyediakan banya libarary untuk mengerjakan tugas-tugas yang
umumnya ada pada sebuah aplikasi berbasis web. Selain itu, struktur dan
susunan logis dari CodeIgniter membuat aplikasi yang dibuat menjadi semakin
teratur dan rapi. Dengan demikian, pengembang dapat fokus pada fitur-fitur
yang dibuthkan oleh aplikasi dengan membuat kode program seminimal
mungkin.
Adapun kelebihan yang dimiliki framework php CodeIgniter
dibandingkan dengan framework php lainnya, anatara lain:
1. Gratis
CodeIgniter berlisensi dibawah Apache/BSD opensouce, jadi bisa
menggunakannya secara besbas atau gratis.
2. Berukuran kecil
Ukuran CodeIgniter yang kecil merupakan keunggulan tersendiri.
Dibandingkan dengan framework lain yang berukuran besar, serta
membutuhka resource yang besar pula untuk menjalankannya. Pada
39
CodeIgniter, dapat diatur agar sistem me-load library yang dibutuhkan
saja, sehingga sistem dapat berjalan ringan dan cepat.
3. URL sederhana
Secara default, URL yang dihasilkan CodeIgniter sangat bersih (clean)
dan Search Engine Friendly (SEF).
4. Memiliki paket library yang lengkap
CodeIgniter memiliki library yang lengkap untuk mengerjakan operasi-
operasi yang umum dibutuhkan oleh sebuah aplikasi berbasis web,
misalnya mengakses database, mengirim email, memvalidasi form,
menangani session, dan sebagainya.
5. Menggunakan konsep MVC
CodeIgniter menggunakan konsep MVC (Model-View-Controller) yang
memungkinkan adanya pemisahan antara layer application-logic dan
presentation.
6. Extensible
Sistem dapat mudah dikembangkan dengan menggunakan plugin dan
helpe, atau dengan menggunakan hooks.
7. Tidak memerlukan template engine
Mesikipun CodeIgniter dilengkapi dengan template parses sederhana yang
dapat digunakan, tetapi hal ini tidak mengharuskan developer untuk
menggunakannya. Penggunaan template engine dapat mengurangi
peformance dari sistem.
8. Dokumentasi lengkap dan jelas
40
Dari sekian banyak framework, CodeIgniter adalah satu-satunya
framwerok dengan dokumentasi yang lengkap dan jelas. Tim pengembang
CodeIgniter berkomitmen bahwa dokumentasi juga sama pentingnya
dengan kode program CodeIgniter itu sendir. Source code CodeIgniter
juga dilengkapi comment di dalamnya, sehingga mmeperjelas fungsi
sebuah kode program.
9. Komunitas
Komunitas pengguna CodeIgniter saat ini berkembang pesat.
2.2.8. BOOTSTRAP
Bootstrap adalah sebuah framework CSS dari Twitter yang menyediakan
komponen-komponen antarmuka siap pakai dan telah
dirancang sedemikian rupa untuk keperluan desain halaman website yang
artistik.
Selain komponen-komponen dasar untuk membangun antarmuka, Bootstrap
juga menyediakan grid 12 kolom yang dapat menunjang kinerja dalam
mendesain layout yang rapi.
Gambar 2.6. Framework bootstrap
Gambar 2.116. Bootstrap 12 column grid
systemGambar 2.117. Framework bootstrap
Gambar 2.118. Bootstrap 12 column grid
systemGambar 2.119. Framework bootstrap
41
Framework Bootstrap dibangUn menggunakan Less, yaitu sebuah prepocessor
dengan fungsi tambahan seperti variabel, mixin, dan fungsi untuk
mengompilasi CSS. Fitur-fitur yang ditawarkan pada Bootstrap dapat membuat
sang developer Bootstrap kaya jika dia berorientasi dengan uang.
2.2.9. MySQL
MySQL merupakan software yang tergolong sebagai DBMS (Database
Management System) yang bersifat Open Source. Open Source menyatakan
bahwa software ini dilengkapi dengan source code (kode yang dipakai untuk
membuat MySQL), selain tentu saja bentuk executable-nya atau kode yang
dapat dijalankan secara langsung dalam sistem operasi, dan bisa diperoleh
dengan cara men-download (mengunduh) di Internet secara gratis (Kadir,
2008).
Sebagai software DBMS, MySQL memiliki sejumlah fitur
seperti yang dijelaskan di bawah ini.
• Multiplatform
MySQL tersedia pada beberapa platform (Windows, Linux, Unix,
dan lain-lain)
• Andal, cepat, dan mudah digunakan
Gambar 2.7. Bootstrap 12 column grid system
42
MySQL tergolong sebagai database server (server yang melayani
permintaan terhadap database) yang andal, dapat menangani
database yang besar dengan kecepatan tinggi, mendukung banyak
sekali fungsi untuk mengakses database, dan sekaligus mudah
untuk digunakan. Berbagai tool pendukung juga tersedia
(walaupun dibuat oleh pihak lain). Perlu diketahui, MySQL dapat
menanganisebuah tabel yang berukuran dalam terabyte (1 terabyte
=1024 gigabyte). Namun, ukuran yang sesungguhnya sangat
bergantung pada batasan sistem operasi. Sebagai contoh, pada
sistem Solaris 9/10, batasan ukuran file sebesar 16 terabyte.
• Jaminan keamanan akses
MySQL mendukung pengamanan database dengan kriteria
pengaksesan. Sebagai gambaran, dimungkinkan mengatur user
tertentu agar bisa mengakses data yang bersifat rahasia, sedangkan
user lain tidak boleh. MySQL juga mendukung konektivitas ke
berbagai software.
• Dukungan SQL
Seperti tersirat dalam namanya MySQL mendukung perintah SQL
(Structured Query Languange). Sebagaimana diketahui, SQL
merupakan standar dalam pengaksesan database relasional.
Pengetahuan akan SQL akan memudahkan siapun untuk
menggunakan MySQL.
Perintah-perintah yang dapat dilakukan pada MySQL adalah:
43
1. DDL (Data Definiton Languange)
DDL digunakan dalam membuat struktur basis data mulai dari
pendefinisian basis data, table, view, index, serta perintah yang
berhubungan dengan maintenance dan struktur basis data tersebut.
Contoh SQL yang termasuk ke dalam golongan DDL adalah: Create,
alter, drop.
2. DML (Data Manipulation Languange)
DML digunakan untuk manipulasi data dalam basis data seperti
menambah, mencari, mengubah, ataupun menghapus data dari table.
Contoh query SQL yang termasuk ke dalam DML adalah: Inser,
update, delete, select.
3. DCL (Data Control Languange)
DCL merupakan perintah atau query yang fungsinya adalah
membantu dalam melakukan pengawasan keamanan basis data
dengan query ini dimungkinkan untuk memberikan otoritas kepada
user tertentu untuk mengakses basis data, mengalokasikan ruang
dalam basis data, serta pengauditan basis data. Adapun perintah yang
termasuk ke dalam DCL antara lain adalah grant dan revoke.
4. Indeks
Indekx merupakan suatu mekanisme dalam database yang
memungkinkan proses pencarian suatu data dapat dilakukan dengan
cepat. Indeks dapat mempercepat pengaksesan data dikarenakan
teknik yang melandasi indeks itu sendiri. Sistem pada indeks akan
44
mengatur dengan sendirinya nilai-nilai kolom pada table tersebut
secara urut.
MySQL memiliki beberapa fitur seperti yang dijelaskan dibawah ini (Kadir,
2008):
a. Multiplatform
MySQL tersedia pada beberapa platform (Windows, Linux, Unix, dan
lain-lain).
b. Andal, cepat, dan mudah digunakan
tergolong sebagai database server (server yang melayani permintaan
terhadap database) yang andal, dapat menangani database yang besar
dengan kecepatan tinggi, mendukung banyak sekali fungsi untuk
mengakses database, sekaligus mudah untuk digunakan.
c. Jaminan keamanan akses
MySQL mendukung pengamanan database dengan berbagai kriteria
pengaksesan(privilege).
d. Dukungan SQL
MySQL menggunakan SQL yang merupakan standar dalam
pengaksesan datbase relasional, sehingga memudahkan siapapun
untuk menggunakan MySQL.
45
BAB III
METODE PENELITIAN
3.1. Objek Penelitian
Penelitian ini dilakukan di Koperasi Pegawai Republik Indonesia
(KPRI) UIN Sunan Kalijaga Yogyakarta yang terletak di Jl. Marsda Adisucipto
Yogyakarta. KPRI UIN Sunan Kalijaga Yogyakarta merupakan koperasi yang
diperuntukan untuk pegawai, namun dapat juga untuk umum. Koperasi ini
menyediakan berbagai kebutuhan, seperti kebutuhan mahasiswa, kebutuhan pokok,
dan kebutuhan rumah tangga lainnya.
3.2. Metode Penelitian
Metode penelitian yang dipakai dalam penelitian ini adalah metode
eksperimental atau penelitian terapan. Yaitu menerapkan algoritma apriori ke
dalam sistem serta menganalisis tren pembelian pada KPRI UIN Sunan
Kalijaga Yogyakarta, dimana data transaksi bulan Januari dan Februari
dijadikan sebagai sampel data. Dari data-data transaksi yang digunakan tadi
akan dilakukan pemebentukan itemset dengan minimum support yang telah
ditentukan. Setelah semua pembentukan itemset untuk menentukan pola
frekuensi transaksi yang sering terjadi, selanjutnya akan dilakukan
pembentukan aturan asosiasi yang memenuhi syarat minimum confidence yang
telah ditentukan.
3.3. Tahap – Tahap Penelitian
Tahap-tahap yang dilakukan dalam penelitian ini adalah:
46
1. Seleksi Data (Data Selection)
Tahap ini merupakan langkah awal, langkah awal yaitu melakukan
pemilihan pada data mentah transaksi penjualan yang diperoleh dari
KPRI UIN Sunan Kalijaga Yogyakarta yang akan digunakan dalam
proses data mining.
2. Preprocessing/Cleaning Data
Selanjutnya adalah melakukan preprocessing data pada data yang
sudah terpilih sebelumnya, preprocessing data/cleaning data meliputi
pembuangan duplikasi data dan penambahan field yang diperlukan.
3. Transformation
Pada tahap ini, hal yang dilakukan adalah proses mentransformasi data
yang sudah dilakukan preprocessing/cleaning sehingga menghasilkan
data yang siap diolah dengan data mining. Tahap ini dilakukan dengan
meng-import data kedalam basis data sehingga data siap diolah oleh
aplikasi
4. Data Mining
Pada tahap ini, data yang sudah siap diolah akan dilakukan proses data
mining pencarian pola menggunakan algoritma apriori dengan
menggunakan aplikasi yang telah dibuat. Tahap ini akan menghasilkan
pola pembaelian konsumen atau pattern yang akan menjadi acuan untuk
proses selanjutnya yaitu proses interpretation/evaluation.
47
5. Interpretation/Evaluation
Pola yang dihasilkan dari proses data mining selanjutnya akan
dinterpretasikan menjadi sebuah informasi atau pengetahuan
(knowledge).
48
BAB IV
HASIL DAN PEMBAHASAN
4.1. Pembahasan
Alur penelitian yang telah dibahas pada bab sebelumnya, dapat
diilustrasikan sebagai berikut:
Seleksi dan preprocessing data transaksi
transformation
Gambar 4.1 merupakan alur penelitian yang dapat diuraikan seperti
dibawah ini:
4.1.1. Seleksi Data
Data transaksi penjualan yang diperoleh dari KPRI UIN Sunan Kalijaga
Yogyakarta berupa data transaksi mentah dalam format excel yang dikemas
dalam bentuk tabel berdasarkan anggota yang melakukan transaksi yang sesuai
dengan kode transaksi pembelian. Sebelumnya pada proses ini dilakukan
normalisasi data, karena format tabel pada
Aturan asosiasi
Interpretation informasi
atau pengetahuan
Gambar 4.1. Alur penelitian
49
data mentah yang belum beraturan. Proses seleksi data ini, yaitu melakukan
seleksi terhadap field-field yang dibutuhkan untuk proses data mining. Setelah
itu dilakukan pemilihan field-field seperti field tanggal, kode transaksi, kode
barang, nama barang, dan jumlah barang yang dibeli.
4.1.2. Preprocessing/Cleaning
Proses selanjutnya adalah preprocessing/cleaning. Pada tahap ini
ditambahkan field id pada data transaksi penjualan sehingga data transaksi
berisi id, tanggal transaksi, kode transaksi, kode barang dan jumlah. Proses ini
dilakukan dengan menghilangkan duplikasi data dan menambahkan field yang
dibutuhkan. Pada data transaksi ditambahkan field id sebagai primary key.
Gambar 4.2. Data ternormalisasi dan terseleksi
50
Dari proses preprocessing data tersebut diperoleh data transaksi penjulan
sebagai berikut:
Tabel 4.1. Perbandingan data sebelum dan sesudah preprocessing/cleaning
No Bulan Sebelum
Preprocessing
Sesudah Preprocessing
1 Januari 1880 record 887 record dengan jumlah
transaksi 239 transaksi
2 Februari 2250 record 1865 record dengan jumlah
transaksi 530 transaksi
4.1.3. Transformation
Setelah dilakukan preprocessing data, langkah selanjutnya adalah
transformation. Selanjutnya mengubah eksistensi data tersebut menjadi file
*.csv. Kemudian diimport ke dalam database. Pengimportan data dilakukan
oleh user melalui fitur import data pada aplikasi.
Rancangan basis data akan dijelaskan sebagai berikut:
Gambar 4.3. Data transaksi sesudah di cleaning
51
Basis data terdiri dari tabel transaksi serta tabel user untuk mengakses aplikasi
apriori.
a. Tabel transaksi
Tabel transaksi berisi detail transaksi yang dilakukan konsumen, pada
data transaksi sebelumnya telah dilakukan data selection sehingga pada data
transaksi hanya terdapat field-field yang dibutuhkan saja yakni id,
kd_transaksi, tgl_transaksi, kd_brg, dan qty ditunjukkan pada tabel 4.2.
Tabel 4.2. Tabel transaksi
Nama field Tipe data Panjang Constraint
Id Int 11 Primary key
Auto_increment
tgl_transaksi Date
kd_transaksi Varchar 30
kd_brg Varchar 30
Nm_brg varchar 50
Qty Int 11
Tabel 4.3. Tabels users
Nama field Tipe data Panjang Constraint
id_user int 11 Primary key
Username Varchar 25
Password Varchar 30
52
4.1.4. Proses Data Mining
Langkah selanjutnya adalah proses data mining. Data diolah dengan
menggunakan algoritma apriori oleh aplikasi yang telah dibuat. Output dari
aplikasi apriori adalah menghasilkan rule atau aturan asosiasi pada data
transaksi yang diolah. Berikut adalah contoh perhitungan manual dengan
algoritma apriori ditunjukkan pada tabel 4.4.
Tabel 4.4. Contoh data transaksi penjualan
Id transaksi Item Jumlah
T101 Roti 2
T101 Susu 1
T102 Roti 3
T102 Pampers 6
T102 Telur 1
T102 Soda 1
T103 Susu 1
T103 Pampers 1
T103 Soda 1
T103 Mie 2
T104 Roti 2
T104 Susu 4
T104 Pampers 1
T104 Soda 3
T105 Roti 3
T105 Susu 4
T105 Pampers 2
T105 Mie 1
53
Langkah pertama adalah menghitung jumlah transaksi yang akan
diproses dengan algoritma apriori. Dari tabel di atas diketahui jumlah transaksi
yang ada sebanyak 5 transaksi. Langkah selanjutnya adalah menyeleksi item yang
terdapat dalam transaksi penjualan tersebut dengan menghitung nilai support
masing-masing item ditunjukkan pada tabel 4.5.
Tabel 4.5. Perhitungan nilai support kandidat 1-itemset
Selanjutnya adalah perhitungan nilai support, misalnya untuk itemset
susu, yaitu:
diperoleh support (susu) 80 % atau 0.8
Misal dalam contoh ini, user menginputkan nilai minimal support adalah
0.6 dan minimal confidence adalah 0.8, maka diperoleh item yang masuk ke
dalam frequent itemset untuk k=1 adalah sebagai berikut:
Nama barang Support
Roti 4/5 x 100 = 80% atau 0.8
Susu 4/5 x 100 = 80% atau 0.8
Pampers 4/5 x 100 = 80% atau 0.8
Soda 3/5 x 100 = 60% atau 0.6
Mi 2/5 x 100 = 40% atau 0.4
Telur 1/5 x 100 = 20% atau 0.2
54
Tabel 4.6. Frequent itemset k-1
Nama barang Support
Roti 0.8
Susu 0.8
Soda 0.6
Pampers 0.8
Item yang terseleksi kemudian dimasukkan ke dalam himpunan kandidat
k-itemset. Item Mie dan Telur tidak memenuhi nilai batas minimal support
yang ditentukan oleh user, maka item Mie dan Telur dihapus dari himpunan
kandidat itemset. Selanjutnya akan dilakukan seleksi untuk kandidat 2 itemset
dengan cara melakuka proses join untuk kandidat (k-1)-itemset sebelumnya
dengan dirinya sendiri, dan dicari nilai support dari masing-masing itemset,
sehingga diperoleh sebagai berikut:
Tabel 4.7. Perhitungan nilai support kandidat 2-itemset
Itemset Support
{Roti, Susu} 3/5 x 100% = 60% atau 0.6
{Roti, Soda} 2/5 x 100% = 40% atau 0.4
{Roti, Pampers} 3/5 x 100% = 60% atau 0.6
{Susu, Soda} 2/5 x 100% = 40% atau 0.4
{Susu, Pampers} 3/5 x 100% = 60% atau 0.6
{Soda, Pampers} 3/5 x 100% = 60% atau 0.6
55
Perhitungan nilai support untuk kandidat 2-itemset {Roti, Susu}
diperoleh support (Roti, Susu) 60% atau 0.6 untuk kandidat 2-itemset yang
lain, cara perhitungan nilai support sama dengan menghitung nilai support
(Roti, Susu).
Selanjutnya adalah proses pruning atau pemangkasan. Itemset dengan
nilai support kurang dari minimal support yang telah ditentukan sebelumnya
akan dihapus dari kandidat itemset. Sehingga diperoleh:
Tabel 4.8. Frequent 2-itemset
Itemset Support
{Roti, Susu} 0.6
{Roti, Pampers} 0.6
{Susu, Pampers} 0.6
{Soda, Pampers 0.6
Selajutnya adalah men-join kandidat itemset di atas dengan dirinya
sendiri, sehingga untuk k=3 adalah:
Tabel 4.9. Perhitungan nilai support kandidat 3-itemset
Itemset Support
{Roti, Susu, Pampers} 2/5 x 100 = 40% atau 0.4
{Roti, Susu, Soda} 1/5 x 100 = 20% atau 0.2
{Roti, Pampers, Soda} 2/5 x 100 = 40% atau 0.4
Karena semua itemset tidak memenuhi nilai minimal support, maka
kandidat itemset hanya berhenti pada k = 2. Selanjutnya adalah mencari aturan
asosiasi dari masing-masing itemset dengan membandingkan nilai confidence
56
masing-masing itemset dengan nilai minimal confidence. Maka aturan asosiasi
atau rule yang terbentuk adalah sebagai berikut:
Tabel 4.10. Aturan asosiasi
Itemset Support Confidence
Roti -> Susu 0.6 ¾ x 100% = 75% atau 0.75
Susu -> Roti 0.6 ¾ x 100% = 75% atau 0.75
Roti -> Pampers 0.6 ¾ x 100% = 75% atau 0.75
Pampers -> Roti 0.6 ¾ x 100% = 75% atau 0.75
Susu -> Pampers 0.6 ¾ x 100% = 75% atau 0.75
Pampers -> Susu 0.6 ¾ x 100% = 75% atau 0.75
Soda -> Pampers 0.6 3/3 x 100% = 100% atau 1
Pampers -> Soda 0.6 ¾ x 100% = 75% atau 0.75
Perhitungan nilai confidence untuk rule Roti -> Susu
diperoleh nilai confidence untuk aturan Roti -> Susu adalah 0.75%.
Rule yang kuat adalah rule yang memenuhi batas minimal confidence,
yaitu Soda -> Pampers dengan nilai support 60% dan nilai confidence 100%,
yang artinya bahwa 60% dari semua transaksi mengandung itemset {Soda dan
Pampers} dan 100% transaksi yang mengandung Soda juga mengandung
Pampers.
4.1.5. Iterpretation/Evaluation
Tahap ini merupakan pengubahan pola-pola yang dihasilkan dari proses
data mining menjadi sebuah informasi ataupun knowledge. Untuk contoh di
atas, maka interprestasi dari pola Soda -> Pampers adalah: karena nilai
57
confidence atauran Soda -> Pampers adalah 100% maka knowledge yang dapat
diketahui adalah bahwa setiap pembelian Soda pasti dengan Pampers, oleh
karena itu persediaan item Soda dan Pampers dapat diseimbangkan.
4.2. Hasil Penelitian
4.2.1. Aplikasi Data Mining Algoritma Apriori
1. Langkah pertama dalam menggunakan aplikasi ini adalah dengan
melakukan login ke dalam aplikasi, kode program untuk
login berada pada controller, kode program login user sebagai berikut :
function aksi_login(){
$username=$this->input->post('username');
$password=$this->input->post('password');
$where=array(
'username'=>$username,
'password'=>md5($password));
'status'=>"login"
);
$cek=$this->login_model->cek_login("user",$where)->num_rows();
if($cek>0){
$data_session=array(
'nama'=>$username,
'status'=>"login");
$this->session->set_userdata($data_session);
58
Kode program login model:
2. Dalam aplikasi ini terdapat fitur untuk membuat tabel yang dilakukan
oleh user sendiri dan setelahnya dapat melakukan import data sesuai
dengan tabel yang akan dipilih, kode programnya adalah sebagai berikut:
Kode program create table pada class model
Kode program view table pada class model:
redirect(base_url("index.php/dashboard/"));
}else{
echo "<script ANGUAGE='JavaScript'>
window.alert('username dan password salah');
window.location.href='http://localhost/apriori-
apps1/index.php/home';
</script>";}}
class Login_model extends CI_Model{
function cek_login($tabel,$where){
return $this->db->get_where($tabel,$where);
}}
public function create_table($nama_tabel){
$sql=$this->db->query("CREATE TABLE ".$nama_tabel."
(id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, tanggal
DATE, kd_transaksi VARCHAR(30) NOT NULL, kd_brg VARCHAR(30)
NOT NULL, nm_brg VARCHAR(50) NOT NULL, qty int(11)) ");
window.location.href='http://localhost/apriori-
apps1/index.php/dashboard/add_data';
</script>";
}else{
echo "<script type='text/javascript'>
alert('tabel gagal dibuat');
window.location.href='http://localhost/apriori-
apps1/index.php/dashboard/add_data';
function show_tabel(){
$tables=$this->db->query(" SELECT t.TABLE_NAME AS myTables FROM
INFORMATION_SCHEMA.TABLES AS t WHERE t.TABLE_SCHEMA =
'apriori_apps1' ")->result_array();
return $tables; }
59
3. Langkah selanjutnya adalah proses apriori, dalam proses ini nilai support
dan nilai confidence bersifat default yakni diinputkan dalam kode
program. Dalam tahap ini dibagi menjadi beberapa tahapan yaitu:
a. Pembentukan kandidat itemset
• Menghitung total transaksi yang digunakan dalam penelitian
dan disimpan dalam variabel TOT
• Memilih kode barang yang digunakan dalam transaksi dan
menghitung banyaknya kejadian atau frekuensi kemunculan
tiap barang
function tot_transaksi($table){
$sql=" SELECT COUNT(DISTINCT kd_transaksi )AS TOT FROM ".$table." ";
foreach ($this->db->query($sql)->result_array() as $data){
return $data['TOT'];
}
}
public function get_frek_brg($table,$kd){
$temp = explode(',', $kd);
$tmp = array();
foreach ($temp as $t) {
$tmp[] = "'".$t."'";
}
$kd = implode(',', $tmp);
$sql="SELECT COUNT(*) AS FREK FROM ".$table."
WHERE kd_brg IN (".$kd.")";
foreach($this->db->query($sql)->result_array() as $data){
return $data['FREK'];
}
}
60
Kode program hitung frekuensi gabungan
b. Perhitungan nilai support beserta proses pemangkasan
kandidat itemset dengan syarat nilai support lebih besar dari
nilai minimal support.
public function get_frek_gab($table,$kd){
$temp = explode(',', $kd);
$tmp = array();
foreach ($temp as $t) {
$tmp[] = "'".$t."'";
}
$kd = implode(',', $tmp);
$sql="SELECT COUNT(DISTINCT kd_transaksi) AS FREK FROM ".$table."
WHERE kd_transaksi IN (SELECT kd_transaksi FROM ".$table." WHERE
kd_brg IN(".$kd.") GROUP BY kd_transaksi HAVING COUNT(DISTINCT
kd_brg)=2)";
foreach($this->db->query($sql)->result_array() as $data){
return $data['FREK'];
}
}
public function barang_support($table,$min_sup){
$tot_tran=$this->tot_transaksi($table);
$minfrek=ceil($min_sup*$tot_tran/100);
$sql="SELECT A.*, COUNT(A.kd_brg) AS FREK FROM ".$table." A
GROUP BY A.kd_brg HAVING COUNT(A.kd_brg) >= ".$minfrek." ORDER
BY FREK DESC";
return $this->db->query($sql)->result_array(); }
61
c. Langkah selanjutnya adalah pembentukan frequent itemset,
dalam kode program terdapat parameter $iterasi, dimana
parameter ini sebagai acuan dalam pembentukan k-itemset.
function k1($iterasi=0){
$min_sup = $this->session->userdata('support');
$tabel = $this->session->userdata('bulan');
$itemset=1;
$data['title']='kombinasi ke- '.$itemset;
$data['tot']=$this->apriori_model->tot_transaksi($tabel);
$data['barang']=$this->apriori_model->barang_support($tabel,$min_sup);
$data['k1']=array();
foreach($data['barang'] as $brg){
array_push($data['k1'], $brg['kd_brg']);
}
$data['frek']=array();
for($a=0; $a<$iterasi; $a++){
$data['k1']=$this->combine($data['k1']);}
$data['nm_k1']=array();
for($a=0; $a<count($data['k1']); $a++){
$id=explode(',', $data['k1'][$a]);
$nm=array();
for($x=0;$x<count($id);$x++){
array_push($nm,$this->apriori_model->brg_nm_get($tabel,$id[$x]));
}
$this->load->view('itemset',$data);
}
62
Kode program untuk menggabungkan kandidat itemset sebagai
berikut:
$nama = array();
foreach ($nm as $n) {
$nama[] = $n[0]->nm_brg }
$data['nm_k1'][$a]=implode(',', $nama);
$data['frek'][$a]=$this->apriori_model->get_frek_brg($tabel,$data['k1'][$a]);
$data['min_sup'][$a]= $min_sup;
}
$nama = array();
foreach ($nm as $n) {
$nama[] = $n[0]->nm_brg;
}
$data['nm_k1'][$a]=implode(',', $nama);
$data['frek'][$a]=$this->apriori_model->get_frek_brg($tabel,$data['k1'][$a]);
$data['min_sup'][$a]= $min_sup;
}
$this->load->view('itemset',$data);
}
function combine($arr=array()){
$arr_comb=array();
for($a=0; $a<count($arr); $a++){
for($x=0; $x<count($arr); $x++){
if($arr[$a]!==$arr[$x]){
if(!in_array($arr[$x].','.$arr[$a], $arr_comb)){
$data=$arr[$a].','.$arr[$x];
$val=array_unique(explode(',', $data));
$new_data=implode(',', $val);
}
}
}
return $arr_comb;
}
}
63
d. Pembentukan aturan asosiasi, kode programnya sebagai berikut
if(!in_array($new_data, $arr_comb)){
array_push($arr_comb, $new_data);
}
}
}}
if(!in_array($new_data, $arr_comb)){
array_push($arr_comb, $new_data);
}}}
return $arr_comb;
}
}
function k_asosiasi($iterasi=1){
$min_sup = $this->session->userdata('support');
$tabel = $this->session->userdata('bulan');
$data['title']='kombinasi ke- '.$iterasi;
$data['tot']=$this->apriori_model->tot_transaksi($tabel);
$data['barang']=$this->apriori_model->barang_support($tabel,$min_sup);
$data['k1']=array();
foreach($data['barang'] as $brg){
array_push($data['k1'], $brg['kd_brg']);}
$data['frek']=array();
for($a=0; $a<$iterasi;$a++){
$data['k1']=$this->combine($data['k1']);}
$data['nm_k1']=array();
for($x=0;$x<count($id);$x++){
array_push($nm, $this->apriori_model->brg_nm_get($tabel,$id[$x]));}
$nama = array();
64
e. Pembangkitan aturan asosiasi dan menghitung nilai confidence,
pada masing-masing pola/aturan, dimana nilai minimal
foreach ($nm as $n) {
$nama[] = $n[0]->nm_brg;
}
$data['nm_k1'][$a]=implode(',', $nama);
$data['frek'][$a]=$this->apriori_model->get_frek_gab($tabel,$data['k1'][$a]); }
for($a=0; $a<count($data['k1']); $a++){
$data['min_conf']=$this->session->userdata('confidence');
$z=explode(',',$data['k1'][$a]);
$data['sf'][$a]=$this->apriori_model->get_frek_brg($tabel,$z[0]);
$data['sf1'][$a]=$this->apriori_model->get_frek_brg($tabel,$z[1]); }
$this->load->view('generate_rule',$data);
for($a=0; $a<count($data['k1']); $a++){
$id=explode(',', $data['k1'][$a]);
$nm=array();
for($x=0;$x<count($id);$x++){
array_push($nm,$this->apriori_model->brg_nm_get($tabel,$id[$x]))}
$nama = array();
foreach ($nm as $n) {
$nama[] = $n[0]->nm_brg; }
$data['nm_k1'][$a]=implode(',', $nama);
$data['frek'][$a]=$this->apriori_model->get_frek_gab($tabel,$data['k1'][$a]);
}
for($a=0; $a<count($data['k1']); $a++){
$data['min_conf']=$this->session->userdata('confidence');
$z=explode(',',$data['k1'][$a]);
$data['sf'][$a]=$this->apriori_model->get_frek_brg($tabel,$z[0]);
$data['sf1'][$a]=$this->apriori_model->get_frek_brg($tabel,$z[1]); }
$this->load->view('generate_rule',$data); }
65
confidence telah ditentukan secara default. Kode programnya
sebagai berikut:
<table class="table" id="itemset">
<tr>
<th>Asosiation Rule</th>
<th>Confidence</th>
</tr>
<?php
for($a=0; $a<count($k1); $a++){
$rule[$a]=str_replace(',',' => ', $k1[$a]);
$rule_name[$a]=str_replace(',',' => ',$nm_k1[$a]);
$conf=($frek[$a]/$sf[$a])*100;
if($conf<$min_conf) $bg='#FFAB91';
else $bg='';
?>
<tr bgcolor="<?php echo $bg; ?>">
<td class="rule"><?php echo $rule[$a]."<br/>".$rule_name[$a]; ?></td>
<td><?php echo round(($conf),2); ?>%</td>
</tr><?php } ?>
<?php
for($a=0; $a<count($k1); $a++){
$arr[$a]=explode(',', $k1[$a]);
$balik[$a]=$arr[$a][1].','.$arr[$a][0];
$rule[$a]=str_replace(',', ' => ', $balik[$a]);
$arr_name[$a]=explode(',', $nm_k1[$a]);
$nm_balik[$a]=$arr_name[$a][1].','.$arr_name[$a][0];
$rule_name[$a]=str_replace(',', ' => ', $nm_balik[$a]);
$conf=($frek[$a]/$sf1[$a])*100;
?>
</table>
66
3. Fungsi logout untuk user keluar dari aplikasi. Kode
if($conf<$min_conf) $bg='#FFAB91';
else $bg='';?>
<tr bgcolor="<?php echo $bg; ?>">
<td class="rule"><?php echo $rule[$a].'<br/>'.$rule_name[$a]; ?></td>
<td><?php echo round(($conf),2); ?>%</td></tr>
<?php for($a=0; $a<count($k1); $a++){
$arr[$a]=explode(',', $k1[$a]);
$balik[$a]=$arr[$a][1].','.$arr[$a][0];
$rule[$a]=str_replace(',', ' => ', $balik[$a]);
$arr_name[$a]=explode(',', $nm_k1[$a]);
$nm_balik[$a]=$arr_name[$a][1].','.$arr_name[$a][0];
$rule_name[$a]=str_replace(',', ' => ', $nm_balik[$a]);
$conf=($frek[$a]/$sf1[$a])*100;
if($conf<$min_conf) $bg='#FFAB91';
else $bg=''; ?>
<tr bgcolor="<?php echo $bg; ?>">
<td class="rule"><?php echo $rule[$a].'<br/>'.$rule_name[$a]; ?></td>
<td><?php echo round(($conf),2); ?>%</td>
</tr>
<?php
}?> </table>
67
4.2.2. Tampilan Aplikasi
Berikut tampilan dari aplikasi data mining menggunakan algoritma
apriori:
1. Halaman login user
Halaman ini digunakan untuk masuk ke dalam aplikasi data mining
tersebut, dengan memasukkan username dan password yang telah terdaftar
pada database.
2. Selanjutnya adalah halaman Home, halaman ini merupakan halaman
utama aplikasi setelah melakukan login, halaman Home seperti gambar
4.5.
Gambar 4.4. Halaman login user
Gambar 4.5. Halaman home
68
3. Berikutnya adalah halaman proses apriory, dimana pada halaman ini
sebagai tempat proses apriory, ketika mengklik menu proses apriori akan
diarahkan menuju halaman pertama pada proses apriori yaitu halaman
untuk menentukan tabel data transaksi yang akan diolah disertai dengan
penentuan minimal support dan minimal confidence seperti gambar 4.6.
Kemudian terdapat halaman untuk mengimport data dengan mengklik
tombol merah pada halaman pertama proses apriori, tampilannya seperti
gambar 4.7.
Gambar 4.7. Halaman import data
Gambar 4.6. Halaman seleksi tabel data serta
penentuan minimal support dan confidence
69
Pada halaman ini juga terdapat fitur create table yaitu untuk membuat tabel data
baru apabila dibutuhkan tampilannya sebagai berikut:
Selanjutnya adalah halaman untuk pembangkitan 1-itemset dan 2-itemset, halaman
ini akan muncul ketika mengklik tombol proses pada halaman pertama proses
apriori seperti pada gambar 4.9 dan 4.10.
Gambar 4.9. Halaman proses apriori 1-itemset
Gambar 4.8. Halaman create tabel
70
Pada halaman ini terlihat bahwa rows pada tabel menjadi berwarna, hal ini
karena kandidat 2-itemset tidak bisa lagi dibangkitkan menjadi kandidat
itemset selanjutnya, dan bisa dilihat juga bahwa hasil support count lebih
kecil dibandingkan dengan nilai minimal support.
Halaman Pembangkitan Aturan Asosiasi dan Nilai Confidence.
Halaman ini akan diakses ketika menekan tombol gen
erate rule pada halaman sebelumnya, halaman ini berfungsi untuk
membangkitkan aturan asosiasi dan perhitungan nilai confidence masing-
masing aturan asosiasi item yang dibeli dari data transkasi yang sudah
diproses pada proses sebelumnya. Berikut tampilan dari halaman
pembangkitan aturan asosiasi dan hasil dari perhitungan nilai confidence:
Gambar 4.10. Halaman proses apriori 2-itemset
71
4. Halaman Data Transaksi
Pada halaman ini menampilkan data dari tabel data transaksi yang telah
dipilih sebelumnya. Berikut tampilannya:
4.2.3. Hasil Pengolahan Data
Hasil dari pengolahan data dengan aplikasi data mining untuk masing-
masing tabel transaksi adalah:
Gambar 4.11. Halaman pembangkitan aturan asosiasi
Gambar 4.12. Halaman data transaksi
72
Tabel 4.11. Perbandingan jumlah kandidat 1-itemset pada masing-masing
bulan
Minimal Support (%) Tabel Januari Tabel Februari
1.0 73 49
1.5 35 28
2.0 24 13
Dari tabel 4.11 dapat dilihat bahwa data transaksi bulan januari
menghasilkan kandidat 1-itemset lebih banyak dibandingkan dengan dengan
kandidat 1-itemset yang dihasilkan oleh data transaksi bulan februari.
Berdasarkan tabel 4.11 disimpulkan bahwa semakin tinggi nilai minimal
support maka semakin sedikit frequent itemset yang didapatkan. Sehingga
digunakan minimal support dengan nilai 1.0 untuk mendapatkan itemset
frequent yang lebih banyak.
Berikut hasil pengolahan data dengan aplikasi apriori tertingi kandidat 1-
itemset:
73
Tabel 4.12. Perbandingan kandidat 1-itemset pada masing-masing
transaksi perbulan
Dari tabel di 4.12 dapat dilihat bahwa item terlaris pada bulan Januari 2018
dan Februari 2018 berbeda, yakni pada bulan Januari 2018 item terlaris adalah
SEDAAP GORENG 91GR disusul oleh CAMILAN. Sedangkan pada bulan
Bulan Kandidat 1-itemset tertinggi Support count (%)
Januari
Sedaap goreng 91gr 4.60%
CAMILAN 3.77%
Samporna Amild 16 3.55%
Beras C4 5 kg 3.55%
Dji Sam Soe 12 2.93%
FF SKM Coklat Sachet 42 gr 2.93%
Koro Kupas 2.93%
Roma biskuit kelapa 300gr 2.51%
FF BKM Putih Sachet 42 gr 2.09%
Biore Body Foam Pure Mild
250ml 1.26%
sedaap ayam bawang 70gr 1.26%
Februari
Gudang garam filter
12
4.72%
Promild 16 3.96%
Gula Pasir 1kg 3.96%
GGS 16 3.02%
Teh Tongji Melati 2.64%
Teh Tjatoet 2.26%
Gulaku 500g 1.70%
energen jagung 1.70%
Hemart 2 Liter 1.13%
74
Februari 2018, item terlaris adalah GUDANG GARAM FILTER 12 disusul
oleh PROMILD 16.
Kemudian akan disajikan data hasil pengolahan untuk kandidat 2-
itemset pada bulan Januari dan Februari 2018 sebagai berikut:
Tabel 4.13. Kandidat 2-itemset 5 tertinggi pada bulan Januari dan Februari
2018
Pembangkitan kandidat k-itemset pada penelitian ini dilakukan sampai
kandidat 2-itemset saja, karena data yang diolah jumlahnya cukup kecil
Bulan Kandidat 2-itemset tertinggi Support (%)
Januari 2018 Sedaap goreng 91gr, Sedaap
ayam bawang 70gr
1.26%
FF SKM Coklat Sachet 42 gr,
FF BKM Putih Sachet 42 gr
1.26%
FF SKM Coklat Sachet 42 gr,
Roma biskuit kelapa 300gr
1.26%
CAMILAN, Koro Kupas 1.26%
FF SKM Coklat Sachet 42 gr,
Biore Body Foam Pure Mild
250ml
0.84
Februari 2018 Gula Pasir 1kg, Teh Tjatoet 1.32%
Gudang garam filter 12,
Gulaku 500g
0.75%
Teh Tongji Melati,Gulaku
500g
0.75%
Gula Pasir 1kg, Hemart 2 Liter 0.57%
Gudang garam filter 12,
energen jagung
0.57%
75
sehingga tidak memungkinkan untuk pembangkitan 3-itemset karena apabila
dilakukan pembangkitan kandidat 3-itemset akan membutuhkan nilai minimal
support yang relatif kecil, sehingga menghasilkan itemset yang memiliki
tingkat frekuensi yang rendah. Hal ini akan menyebabkan terbentuknya pola
yang kurang akurat pada kandidat 2-itemset selebihnya pada kandidat 3-
itemset.
Dari kandidat 2-itemset pada tabel 4.13 dihasilkan aturan asosiasi yang
merupakan pola pembelian konsumen pada bulan Januari dan Februari 2018
dengan nilai minimal confidence 25%, karena 25% merupakan nilai yang ideal
untuk mendapatkan aturan asosiasi yang kuat untuk data transaksi yang telah
diolah, aturan asosiasi akan disajikan pada tabel 4.14.
Tabel 4.14. Aturan asosiasi
Bulan Kandidat 2-itemset tertinggi Confidence(%)
Januari 2018 Sedaap ayam bawang 70gr => Sedaap
goreng 91gr
100%
Biore Body Foam Pure Mild 250ml =>
FF SKM Coklat Sachet 42 gr
66.67%
FF BKM Putih Sachet 42 gr => FF
SKM Coklat Sachet 42 gr
60%
Roma biskuit kelapa 300gr => FF
SKM Coklat Sachet 42 gr
50%
Koro Kupas => CAMILAN 42.86%
Februari 2018 Teh Tjatoet => Gula Pasir 1kg 58.33%
Hemart 2 Liter => Gula Pasir 1kg 50%
Gulaku 500g => Teh Tongji Melati 44.44%
76
Tabel 4.14. Aturan asosiasi
Gulaku 500g => Gudang garam filter
12
44.44%
energen jagung => Gudang garam
filter 12
37.5%
Dari tabel di atas dapat dilihat hasil dari pembangkitan aturan asosiasi
dari bulan Januari dan Februari 2018 memiliki pola pembelian konsumen
yang berbeda. Dimana pada bulan Januari 2018 dengan nilai confidence
tertinggi adalah SEDAAP AYAM BAWANG 70GR => SEDAAP
GORENG 91GR yaitu 100%, hal ini menunujukkan tingkat kepercayaan
yang sangat kuat apabila setiap pembelian SEDAAP AYAM BAWANG
70GR maka juga diikuti dengan SEDAAP GORENG 91GR. Sedangkan
untuk bulan Februari 2018 nilai confidence tertinggi adalah TEH TJATOET
=> GULA PASIR 1KG yaitu 58.33% yang artinya sebanyak 58.33%
pembelian TEH TJATOET juga diikuti dengan pembelian GULA PASIR
1KG.
77
BAB V
PENUTUP
5.1. Kesimpulan
Kesimpulan dari yang dapat disimpulkan dari penelitian ini adalah:
1. Data mining degan algoritma apriori berhasil diimplementasikan untuk
mengetahui pola pembelian konsumen pada data transaksi bulan Januari dan
Februari 2018 KPRI UIN Sunan Kalijaga. Dengan menghasilkan pola
pembelian konsumen pada masing-masing bulan berbeda.
2. Hasil dari interpretasi pengetahuan yang diperoleh dari pola pembelian
konsumen tersebut adalah:
• Pada masing-masing bulan pola pembelian yang dihasilkan berbeda,
yaitu pada bulan Januari 2018 pembelian dengan confidence
tertinggi adalah mie instan. Sedangkan pada bulan Februari 2018
menghasilkan pola pembelian dengan confidence tertinggi adalah
pembelian teh dengan gula pasir.
• Dari pola yang dihasilkan pada bulan Januari dengan confidence
tertinggi yakni jika membeli SEDAAP AYAM BAWANG 70GR
maka akan membeli SEDAAP GORENG 91GR kedua item ini
merupakan item dengan jenis yang sama, sehingga kedua item
tersebut dapat dijadikan sebagai paket promo dengan harga promosi.
Sedangkan confidence tertinggi pada
78
bulan Februari 2018 yaitu jika membeli TEH TJATOET maka
akan membeli GULA PASIR 1KG, sehingga item TEH
TJATOET dan item GULA PASIR 1KG dapat ditempatkan pada
satu tempat dan berdampingan, sehingga memudahkan konsumen
pada saat membeli kedua item tersebut.
• Untuk aturan asosiasi item dengan pola yang berbeda seperti
SEDAAP AYAM BAWANG 70GR => SEDAAP GORENG
91GR memiliki nilai confidence tertinggi yaitu 100%, sedangkan
pola SEDAAP GORENG => SEDAAP AYAM BAWANG 70GR
memiliki nilai confidence 27.27%, hal ini menunjukkan bahwa item
SEDAAP GORENG lebih diminati, sehingga untuk stok item
SEDAAP GORENG lebih banyak dibandingkan dengan stok mie
untuk jenis lainnya.
5.2. Saran
Saran dari penulis untuk penelitian selanjutnya adalah:
• Data untuk penelitian selanjutnya, sebisa mungkin menggunakan
data yang berbeda, bukan hanya data transaksi penjualan melainkan
data yang lain yang dapat dianalisis polanya. Untuk mendapatkan
pengetahuan yang terdapat dalam kumpulan data tersebut.
79
DAFTAR PUSTAKA
Arief, R. 2011. Pemrograman Web Dinamis Menggunakan PHP dan MySQL.
Yogyakarta: ANDI.
Failasufa, F. (2014). Penerapan Data Mining Untuk Analisis Pola Pembelian
Konsumen Dengan Algoritma Apriori Pada Data Transaksi Penjualan.
Skripsi. Universitas Islam Negeri Sunan Kalijaga: Yogyakarta.
Fikri, A. F. (2016). Implementasi Algoritma Apriori Dalam Menentukan Program
Studi Yang Diambil Mahasiswa.
Hermawan, W. 2009. PHP Programming. Yogyakarta: ANDI.
Ignas. 2016. Rensponsive Web Design With Bootstrap. Yogyakarta: ANDI.
Kadir A. 2008. Belajar DATABASE Menggunakan MySQL. Yogyakarta: ANDI.
Kusrini, & Luthfi, E. T. 2009. Algoritma Data Mining. Yogyakarta: ANDI.
Prasetyo, E. 2012. Data-Mining – Konsep dan Aplikasi Menggunakan MATLAB.
Yogyakarta: ANDI.
Prasetyo, E. 2014. Data Mining – Mengolah Data Menjadi Informasi Menggunakan
Matlab. Yogyakarta: ANDI.
Sari, E. N. (2013). Analisa Algoritma Apriori Untuk Menentukan Merek Pakaian
Yang Paling Diminati Pada Mode Fashion Group Medan.
80
LAMPIRAN
81
LAMPIRAN 1
Bulan Januari Itemset 1
Minimal Support : 1
No Kode Barang Nama Barang Frekuensi Support Count
1 8998866200301 sedaap goreng 91gr 11 4.60%
2 69 CAMILAN 9 3.77%
3 5110201 Beras C4 5 kg 8 3.35%
4 8999909096004 Samporna Amild 16 8 3.35%
5 cam06 Koro Kupas 7 2.93%
6 8994222112318 Gangsar 140 g 7 2.93%
7 8998989110167 GGS 16 7 2.93%
8 81 AZ ZUKRUF 7 2.93%
9 8992753102303 FF SKM Coklat Sachet 42 gr 7 2.93%
10 8995177101112 Gulaku Hijau 1 kg 7 2.93%
11 8999909028234 Dji Sam Soe 12 7 2.93%
12 8996001301142 Roma biskuit kelapa 300gr 6 2.51%
13 8999909028999 Dji Sam Soe Super Premium 6 2.51%
14 8998989300391 Promild 16 6 2.51%
15 8998989100120 Gudang garam filter 12 6 2.51%
16 8992907952327 SARI ROTI RASA COKLAT 5 2.09%
17 8992780010015 Teh Tjatoet 5 2.09%
18 8993058304201 Bintang Toedjoe Jahe Merah 15 ml 5 2.09%
19 8993371100146 Intrafood Jahe Wangi 10's 22.5 gr 5 2.09%
20 8993175537346 Richoco nabati chocolate 5 2.09%
21 8995177109996 Gulaku 500g 5 2.09%
22 8992753031900 FF BKM Putih Sachet 42 gr 5 2.09%
23 GLP0001 Gula Pasir 1kg 5 2.09%
24 12346587 Motherland 5 2.09%
25 89686010015 Indomie Ayam Bawang 69 gr 4 1.67%
26 8998989300087 GG Mild 16 4 1.67%
27 8991977110019 MBK putih 13,6 gr 4 1.67%
28 8998989110129 Gudang Garam S 12 4 1.67%
29 8992936115021 Teh Tongji Melati 4 1.67%
30 8994537001017 Jahe Special 61 4 1.67%
31 8998989121163 GG Professional 16 4 1.67%
32 8992946520396 Hemart 1 Liter 4 1.67%
33 8997004050006 Gula MK 1KG 4 1.67%
34 8999909000773 malboro filter black 12 4 1.67%
35 8999909001909 Dji Sam Soe Magnum Filter 12 4 1.67%
36 8995177102058 Gulaku Kuning 1 kg 3 1.26%
37 8998866200745 TOP Kopi susu 31gr 3 1.26%
38 24 By Avo Kaos Kaki 3 1.26%
39 8991002103238 good day mocacinno 3 1.26%
40 8991906101132 L.A Lights 12 3 1.26%
41 8994472000014 Cap Kapak 3 ml 3 1.26%
42 8886001038011 Beng-beng 20gr 3 1.26%
43 111115 Korek Tokai 3 1.26%
44 8995102800448 Safe Care 10 ml 3 1.26%
45 8991906105758 LA Bold 20 Kretek Filter 3 1.26%
46 8999999706081 Pepsodent 75 gr 3 1.26%
47 8886008101053 Aqua 600 ml 3 1.26%
48 4711542140210 Avail FG pentiliner 20s 3 1.26%
49 8992933453119 Anget Sari Susu Jahe 28g 5's 3 1.26%
50 8992003782354 Antangin JRG 15 ml 3 1.26%
51 8996001350416 Zuperrr Keju 13 gr 3 1.26%
52 8998866200318 sedaap ayam bawang 70gr 3 1.26%
53 89686010343 Indomie Soto 70 gr 3 1.26%
54 8991002103337 good day vanilla latte 3 1.26%
55 8999909000711 magnum mild 3 1.26%
56 8992696404441 Bear Brand 189 ml 3 1.26%
57 8992907952143 Sari Roti 69gr 3 1.26%
58 8992696403413 Nescafe Classic 50 gr 3 1.26%
59 8996001302323 Roma Malkist abon 145g 3 1.26%
60 9311931024036 Indocafe coffemix 5's @20 gr 3 1.26%
61 89686010527 Indomie Ayam Kari 72 gr 3 1.26%
62 8992870410206 Salonpas Koyo 3 1.26%
63 4711036008705 Hatari Peanut Biscuits 125 gr 3 1.26%
64 8993176110067 Caplang MKP 120 ml 3 1.26%
65 8992727001342 Biore Body Foam Pure Mild 250ml 3 1.26%
66 8992112011017 Enervon-C 3 1.26%
67 8999777765392 Hansaplast hangat 3 1.26%
68 8997009510055 You C1000 Orange 140 ml 3 1.26%
69 8991002115149 kapal api grande 3 1.26%
70 8996001302026 Roma malkist crackers 150gr 3 1.26%
71 8998866805414 soklin smart 800 g 3 1.26%
72 8998838290194 Kenko 3 1.26%
73 8998898101409 Tolak Angin+Madu 3 1.26%
Minimal Support: 1.5
No Kode Barang Nama Barang Frekuensi Support Count
1 8998866200301 sedaap goreng 91gr 11 4.60%
2 69 CAMILAN 9 3.77%
3 5110201 Beras C4 5 kg 8 3.35%
4 8999909096004 Samporna Amild 16 8 3.35%
5 8998989110167 GGS 16 7 2.93%
6 8992753102303 FF SKM Coklat Sachet 42 gr 7 2.93%
7 8995177101112 Gulaku Hijau 1 kg 7 2.93%
8 8999909028234 Dji Sam Soe 12 7 2.93%
9 cam06 Koro Kupas 7 2.93%
10 81 AZ ZUKRUF 7 2.93%
11 8994222112318 Gangsar 140 g 7 2.93%
12 8998989300391 Promild 16 6 2.51%
13 8998989100120 Gudang garam filter 12 6 2.51%
14 8996001301142 Roma biskuit kelapa 300gr 6 2.51%
15 8999909028999 Dji Sam Soe Super Premium 6 2.51%
16 8992753031900 FF BKM Putih Sachet 42 gr 5 2.09%
17 12346587 motherland 5 2.09%
18 GLP0001 Gula Pasir 1kg 5 2.09%
19 8992907952327 SARI ROTI RASA COKLAT 5 2.09%
20 8992780010015 Teh Tjatoet 5 2.09%
21 8993058304201 Bintang Toedjoe Jahe Merah 15 ml 5 2.09%
22 8993175537346 Richoco nabati chocolate 5 2.09%
23 8993371100146 Intrafood Jahe Wangi 10's 22.5 gr 5 2.09%
24 8995177109996 Gulaku 500g 5 2.09%
25 8992946520396 Hemart 1 Liter 4 1.67%
26 8997004050006 Gula MK 1KG 4 1.67%
27 8999909000773 malboro filter black 12 4 1.67%
28 89686010015 Indomie Ayam Bawang 69 gr 4 1.67%
29 8999909001909 Dji Sam Soe Magnum Filter 12 4 1.67%
30 8998989110129 Gudang Garam S 12 4 1.67%
31 8998989300087 GG Mild 16 4 1.67%
32 8991977110019 MBK putih 13,6 gr 4 1.67%
33 8992936115021 Teh Tongji Melati 4 1.67%
34 8998989121163 GG Professional 16 4 1.67%
35 8994537001017 Jahe Special 61 4 1.67%
Minimal Support : 2
No Kode Barang Nama Barang Frekuensi Support Count
1 8998866200301 sedaap goreng 91gr 11 4.60%
2 69 CAMILAN 9 3.77%
3 5110201 Beras C4 5 kg 8 3.35%
4 8999909096004 Samporna Amild 16 8 3.35%
5 8998989110167 GGS 16 7 2.93%
6 8992753102303 FF SKM Coklat Sachet 42 gr 7 2.93%
7 8995177101112 Gulaku Hijau 1 kg 7 2.93%
8 8999909028234 Dji Sam Soe 12 7 2.93%
9 cam06 Koro Kupas 7 2.93%
10 81 AZ ZUKRUF 7 2.93%
11 8994222112318 Gangsar 140 g 7 2.93%
12 8998989300391 Promild 16 6 2.51%
13 8998989100120 Gudang garam filter 12 6 2.51%
14 8996001301142 Roma biskuit kelapa 300gr 6 2.51%
15 8999909028999 Dji Sam Soe Super Premium 6 2.51%
16 8992753031900 FF BKM Putih Sachet 42 gr 5 2.09%
17 12346587 motherland 5 2.09%
18 GLP0001 Gula Pasir 1kg 5 2.09%
19 8992907952327 SARI ROTI RASA COKLAT 5 2.09%
20 8992780010015 Teh Tjatoet 5 2.09%
21 8993058304201 Bintang Toedjoe Jahe Merah 15 ml 5 2.09%
22 8993175537346 Richoco nabati chocolate 5 2.09%
23 8993371100146 Intrafood Jahe Wangi 10's 22.5 gr 5 2.09%
24 8995177109996 Gulaku 500g 5 2.09%
Bulan Januari Itemset 2
No Nama Barang Frekuensi Support Count
1 sedaap goreng 91gr,FF SKM Coklat Sachet 42 gr 2 0.84%
2 sedaap goreng 91gr,SARI ROTI RASA COKLAT 2 0.84%
3 sedaap goreng 91gr,Bintang Toedjoe Jahe Merah 15 ml 2 0.84%
4 sedaap goreng 91gr,sedaap ayam bawang 70gr 3 1.26%
5 sedaap goreng 91gr,Indomie Ayam Kari 72 gr 1 0.42%
6 sedaap goreng 91gr,Sari Roti 69gr 2 0.84%
7 CAMILAN,Koro Kupas 3 1.26%
8 CAMILAN,Gangsar 140 g 1 0.42%
9 CAMILAN,Roma biskuit kelapa 300gr 1 0.42%
10 CAMILAN,SARI ROTI RASA COKLAT 2 0.84%
11 AZ ZUKRUF,Avail FG pentiliner 20s 2 0.84%
12 Gangsar 140 g,FF SKM Coklat Sachet 42 gr 2 0.84%
13 FF SKM Coklat Sachet 42 gr,Roma biskuit kelapa 300gr 3 1.26%
14 FF SKM Coklat Sachet 42 gr,Gudang garam filter 12 1 0.42%
15 FF SKM Coklat Sachet 42 gr,Richoco nabati chocolate 2 0.84%
16 FF SKM Coklat Sachet 42 gr,FF BKM Putih Sachet 42 gr 3 1.26%
17 FF SKM Coklat Sachet 42 gr,Biore Body Foam Pure Mild 250ml 2 0.84%
18 Indomie Soto 70 gr,Indomie Ayam Kari 72 gr 1 0.42%
19 Pepsodent 75 gr,Salonpas Koyo 1 0.42%
20 Pepsodent 75 gr,Antangin JRG 15 ml 1 0.42%
21 Nescafe Classic 50 gr,soklin smart 800 g 1 0.42%
22 Nescafe Classic 50 gr,Indocafe coffemix 5's @20 gr 1 0.42%
23 Nescafe Classic 50 gr,good day mocacinno 1 0.42%
24 sedaap ayam bawang 70gr,Sari Roti 69gr 1 0.42%
25 sedaap ayam bawang 70gr,Biore Body Foam Pure Mild 250ml 1 0.42%
26 sedaap ayam bawang 70gr,Enervon-C 1 0.42%
27 sedaap ayam bawang 70gr,good day mocacinno 1 0.42%
Asosiation Rule Confidence
8992753102303 => 8998866200301 28.57%
FF SKM Coklat Sachet 42 gr => sedaap goreng 91gr
8993058304201 => 8998866200301 40%
Bintang Toedjoe Jahe Merah 15 ml => sedaap goreng 91gr
8992753031900 => 8998866200301 40%
FF BKM Putih Sachet 42 gr => sedaap goreng 91gr
8992907952327 => 8998866200301 40%
SARI ROTI RASA COKLAT => sedaap goreng 91gr
8991977110019 => 8998866200301 25%
MBK putih 13 => sedaap goreng 91gr
8999999706081 => 8998866200301 33.33%
Pepsodent 75 gr => sedaap goreng 91gr
89686010527 => 8998866200301 33.33%
Indomie Ayam Kari 72 gr => sedaap goreng 91gr
8998866200318 => 8998866200301 100%
sedaap ayam bawang 70gr => sedaap goreng 91gr
8992727001342 => 8998866200301 33.33%
Biore Body Foam Pure Mild 250ml => sedaap goreng 91gr
8992907952143 => 8998866200301 66.67%
Sari Roti 69gr => sedaap goreng 91gr
8992870410206 => 8998866200301 33.33%
Salonpas Koyo => sedaap goreng 91gr
8991002103238 => 8998866200301 33.33%
good day mocacinno => sedaap goreng 91gr
8886001038011 => 8998866200301 33.33%
Beng-beng 20gr => sedaap goreng 91gr
8992112011017 => 8998866200301 33.33%
Enervon-C => sedaap goreng 91gr
Asosition rule
Bulan Januari
8999777765392 => 8998866200301 33.33%
Hansaplast hangat => sedaap goreng 91gr
8992933453119 => 8998866200301 33.33%
Anget Sari Susu Jahe 28g 5's => sedaap goreng 91gr
8992003782354 => 8998866200301 33.33%
Antangin JRG 15 ml => sedaap goreng 91gr
89686010343 => 8998866200301 66.67%
Indomie Soto 70 gr => sedaap goreng 91gr
cam06 => 69 42.86%
Koro Kupas => CAMILAN
8992907952327 => 69 40%
SARI ROTI RASA COKLAT => CAMILAN
8999909001909 => 69 25%
Dji Sam Soe Magnum Filter 12 => CAMILAN
8991977110019 => 69 25%
MBK putih 13 => CAMILAN
8992696404441 => 69 33.33%
Bear Brand 189 ml => CAMILAN
8998866200318 => 69 33.33%
sedaap ayam bawang 70gr => CAMILAN
8992907952143 => 69 33.33%
Sari Roti 69gr => CAMILAN
8997009510055 => 69 33.33%
You C1000 Orange 140 ml => CAMILAN
8998989110129 => 5110201 25%
Gudang Garam S 12 => Beras C4 5 kg
8991002103337 => 5110201 33.33%
good day vanilla latte => Beras C4 5 kg
89686010015 => 8999909096004 25%
Indomie Ayam Bawang 69 gr => Samporna Amild 16
8991906105758 => 8999909096004 33.33%
LA Bold 20 Kretek Filter => Samporna Amild 16
89686010527 => 8999909096004 33.33%
Indomie Ayam Kari 72 gr => Samporna Amild 16
8996001302026 => 8999909096004 33.33%
Roma malkist crackers 150gr => Samporna Amild 16
8996001302323 => 8999909096004 33.33%
Roma Malkist abon 145g => Samporna Amild 16
8998866200745 => 8999909096004 33.33%
TOP Kopi susu 31gr => Samporna Amild 16
8998989121163 => 81 25%
GG Professional 16 => AZ ZUKRUF
8992696403413 => 81 33.33%
Nescafe Classic 50 gr => AZ ZUKRUF
8996001302026 => 81 33.33%
Roma malkist crackers 150gr => AZ ZUKRUF
8998866805414 => 81 33.33%
soklin smart 800 g => AZ ZUKRUF
24 => 81 33.33%
By Avo Kaos Kaki => AZ ZUKRUF
8995102800448 => 81 33.33%
Safe Care 10 ml => AZ ZUKRUF
8886008101053 => 81 33.33%
Aqua 600 ml => AZ ZUKRUF
4711542140210 => 81 66.67%
Avail FG pentiliner 20s => AZ ZUKRUF
8991977110019 => cam06 25%
MBK putih 13 => Koro Kupas
8998866200318 => cam06 33.33%
sedaap ayam bawang 70gr => Koro Kupas
8992907952143 => cam06 33.33%
Sari Roti 69gr => Koro Kupas
8992753102303 => 8994222112318 28.57%
FF SKM Coklat Sachet 42 gr => Gangsar 140 g
8999909001909 => 8994222112318 25%
Dji Sam Soe Magnum Filter 12 => Gangsar 140 g
8992907952143 => 8994222112318 33.33%
Sari Roti 69gr => Gangsar 140 g
8996001301142 => 8992753102303 50%
Roma biskuit kelapa 300gr => FF SKM Coklat Sachet 42 gr
8992936115021 => 8995177109996 25%
Teh Tongji Melati => Gulaku 500g
8994537001017 => 8995177109996 25%
Jahe Special 61 => Gulaku 500g
8992946520396 => 8995177109996 25%
Hemart 1 Liter => Gulaku 500g
Minimal Support : 1
No Kode Barang Nama Barang Frekuensi Support Count
1 8998989100120 Gudang garam filter 12 25 4.72%
2 GLP0001 Gula Pasir 1kg 21 3.96%
3 8998989300391 Promild 16 21 3.96%
4 8998989110167 GGS 16 16 3.02%
5 8992936115021 Teh Tongji Melati 14 2.64%
6 76239878 Marlboro Gold Light 13 2.45%
7 38886008101047 Aqua Gelas 48 x 240 ml 12 2.26%
8 8999909028234 Dji Sam Soe 12 12 2.26%
9 8992780010015 Teh Tjatoet 12 2.26%
10 8995177101112 Gulaku Hijau 1 kg 12 2.26%
11 8993371100146 Intrafood Jahe Wangi 10's 22.5 gr 12 2.26%
12 5110201 Beras C4 5 kg 12 2.26%
13 8999909028999 Dji Sam Soe Super Premium 11 2.08%
14 8991906101132 L.A Lights 12 10 1.89%
15 206330801173321 Roti kering sempurna 10 1.89%
16 12357 Korek Gas Bara 10 1.89%
17 8999999390198 Sunlight Jeruk Nipis Pouch 800 ml 9 1.70%
18 8998989300087 GG Mild 16 9 1.70%
19 8995177109996 Gulaku 500g 9 1.70%
20 8996001440049 Energen cokelat 5's@30 gr 9 1.70%
21 8998009010569 Ultra Milk Coklat 200 ml 8 1.51%
22 69 CAMILAN 8 1.51%
23 8992753031900 FF BKM Putih Sachet 42 gr 8 1.51%
24 8999909001909 Dji Sam Soe Magnum Filter 12 8 1.51%
25 8993379500221 SunCo + Vit.A 1 liter 8 1.51%
26 PRW01 Peyek Rajawali Kcg Tanah 8 1.51%
27 8996001440520 energen jagung 8 1.51%
Bulan Februari Itemset 1
28 8991002105485 Kapal api special mix 8 1.51%
29 8992933453119 Anget Sari Susu Jahe 28g 5's 7 1.32%
30 8991906101125 Djarum Black 16 7 1.32%
31 111021 Sledri JN 7 1.32%
32 8991906101019 Djarum Super 12 7 1.32%
33 8992003782354 Antangin JRG 15 ml 7 1.32%
34 8991906101361 Djarum super mild 7 1.32%
35 8998866200301 sedaap goreng 91gr 7 1.32%
36 8991906101057 LA Light 16 6 1.13%
37 76164217 Marlboro filter 6 1.13%
38 8992957214307 Safari Coklat 100 gr 6 1.13%
39 8994222112318 Gangsar 140 g 6 1.13%
40 8995102800448 Safe Care 10 ml 6 1.13%
41 8999909096004 Samporna Amild 16 6 1.13%
42 8999999059781 Sunlight JN 200ml+400ml 6 1.13%
43 8992946512629 Hemart 2 Liter 6 1.13%
44 8991906101415 Djarum super mild 12 6 1.13%
45 8999999706180 Pepsodent 190 gr 6 1.13%
46 8999909000711 magnum mild 6 1.13%
47 8998898101409 Tolak Angin+Madu 6 1.13%
48 8992765101011 Gillette Goal KLik 6 1.13%
49 8994171101067 Kopi Luwak 165 gr 6 1.13%
Minimal Support: 1.5
No Kode Barang Nama Barang Frekuensi Support Count
1 8998989100120 Gudang garam filter 12 25 4.72%
2 8998989300391 Promild 16 21 3.96%
3 GLP0001 Gula Pasir 1kg 21 3.96%
4 8998989110167 GGS 16 16 3.02%
5 8992936115021 Teh Tongji Melati 14 2.64%
6 76239878 Marlboro Gold Light 13 2.45%
7 38886008101047 Aqua Gelas 48 x 240 ml 12 2.26%
8 8993371100146 Intrafood Jahe Wangi 10's 22.5 gr 12 2.26%
9 5110201 Beras C4 5 kg 12 2.26%
10 8999909028234 Dji Sam Soe 12 12 2.26%
11 8992780010015 Teh Tjatoet 12 2.26%
12 8995177101112 Gulaku Hijau 1 kg 12 2.26%
13 8999909028999 Dji Sam Soe Super Premium 11 2.08%
14 206330801173321 Roti kering sempurna 10 1.89%
15 12357 Korek Gas Bara 10 1.89%
16 8991906101132 L.A Lights 12 10 1.89%
17 8999999390198 Sunlight Jeruk Nipis Pouch 800 ml 9 1.70%
18 8996001440049 Energen cokelat 5's@30 gr 9 1.70%
19 8998989300087 GG Mild 16 9 1.70%
20 8995177109996 Gulaku 500g 9 1.70%
21 8996001440520 energen jagung 8 1.51%
22 8991002105485 Kapal api special mix 8 1.51%
23 8993379500221 SunCo + Vit.A 1 liter 8 1.51%
24 69 CAMILAN 8 1.51%
25 8998009010569 Ultra Milk Coklat 200 ml 8 1.51%
26 8999909001909 Dji Sam Soe Magnum Filter 12 8 1.51%
27 8992753031900 FF BKM Putih Sachet 42 gr 8 1.51%
28 PRW01 Peyek Rajawali Kcg Tanah 8 1.51%
Minimal Support: 2
No Kode Barang Nama Barang Frekuensi Support Count
1 8998989100120 Gudang garam filter 12 25 4.72%
2 8998989300391 Promild 16 21 3.96%
3 GLP0001 Gula Pasir 1kg 21 3.96%
4 8998989110167 GGS 16 16 3.02%
5 8992936115021 Teh Tongji Melati 14 2.64%
6 76239878 Marlboro Gold Light 13 2.45%
7 8993371100146 Intrafood Jahe Wangi 10's 22.5 gr 12 2.26%
8 5110201 Beras C4 5 kg 12 2.26%
9 8999909028234 Dji Sam Soe 12 12 2.26%
10 8992780010015 Teh Tjatoet 12 2.26%
11 8995177101112 Gulaku Hijau 1 kg 12 2.26%
12 38886008101047 Aqua Gelas 48 x 240 ml 12 2.26%
13 8999909028999 Dji Sam Soe Super Premium 11 2.08%
No Nama Barang Frekuensi Support Count
1 Gudang garam filter 12,Intrafood Jahe Wangi 10's 22.5 gr 1 0.19%
2 Gudang garam filter 12,Beras C4 5 kg 4 0.75%
3 Gudang garam filter 12,Korek Gas Bara 1 0.19%
4 Gudang garam filter 12,Energen cokelat 5's@30 gr 2 0.38%
5 Gudang garam filter 12,Gulaku 500g 4 0.75%
6 Gudang garam filter 12,energen jagung 3 0.57%
7 Gudang garam filter 12,Kapal api special mix 1 0.19%
8 Gudang garam filter 12,Anget Sari Susu Jahe 28g 5's 1 0.19%
9 Gudang garam filter 12,Gillette Goal Klik 1 0.19%
10 Gudang garam filter 12,magnum mild 1 0.19%
11 Gudang garam filter 12,Kopi Luwak 165 gr 2 0.38%
12 Promild 16,Kapal api special mix 1 0.19%
13 Promild 16,Djarum super mild 12 2 0.38%
14 Promild 16,magnum mild 1 0.19%
15 Gula Pasir 1kg,Teh Tongji Melati 2 0.38%
16 Gula Pasir 1kg,Teh Tjatoet 7 1.32%
17 Gula Pasir 1kg,Beras C4 5 kg 1 0.19%
18 Gula Pasir 1kg,Sunlight Jeruk Nipis Pouch 800 ml 1 0.19%
19 Gula Pasir 1kg,Energen cokelat 5's@30 gr 1 0.19%
20 Gula Pasir 1kg,Ultra Milk Coklat 200 ml 1 0.19%
21 Gula Pasir 1kg,energen jagung 2 0.38%
22 Gula Pasir 1kg,Kapal api special mix 1 0.19%
23 Gula Pasir 1kg,SunCo + Vit.A 1 liter 2 0.38%
24 Gula Pasir 1kg,CAMILAN 1 0.19%
25 Gula Pasir 1kg,Antangin JRG 15 ml 2 0.38%
26 Gula Pasir 1kg,Hemart 2 Liter 3 0.57%
27 Gula Pasir 1kg,Gillette Goal Klik 1 0.19%
Bulan Februari Itemset 2
28 Gula Pasir 1kg,Pepsodent 190 gr 1 0.19%
29 Gula Pasir 1kg,Kopi Luwak 165 gr 1 0.19%
30 Teh Tongji Melati,Teh Tjatoet 2 0.38%
31 Teh Tongji Melati,Gulaku Hijau 1 kg 3 0.57%
32 Teh Tongji Melati,Sunlight Jeruk Nipis Pouch 800 ml 1 0.19%
33 Teh Tongji Melati,Energen cokelat 5's@30 gr 1 0.19%
34 Teh Tongji Melati,Gulaku 500g 4 0.75%
35 Teh Tongji Melati,energen jagung 1 0.19%
36 Teh Tongji Melati,SunCo + Vit.A 1 liter 2 0.38%
Asosiation Rule Confidence
5110201 => 8998989100120
33.33%
Beras C4 5 kg => Gudang garam filter 12
8995177109996 => 8998989100120
44.44%
Gulaku 500g => Gudang garam filter 12
8996001440520 => 8998989100120
37.5%
energen jagung => Gudang garam filter 12
8994171101067 => 8998989100120
33.33%
Kopi Luwak 165 gr => Gudang garam filter 12
8991906101415 => 8998989300391
33.33%
Djarum super mild 12 => Promild 16
8992780010015 => GLP0001
58.33%
Teh Tjatoet => Gula Pasir 1kg
8996001440520 => GLP0001
25%
energen jagung => Gula Pasir 1kg
8993379500221 => GLP0001
25%
SunCo + Vit.A 1 liter => Gula Pasir 1kg
8992003782354 => GLP0001
28.57%
Antangin JRG 15 ml => Gula Pasir 1kg
8992946512629 => GLP0001
50%
Hemart 2 Liter => Gula Pasir 1kg
8995177101112 => 8992936115021
25%
Gulaku Hijau 1 kg => Teh Tongji Melati
8995177109996 => 8992936115021
44.44%
Gulaku 500g => Teh Tongji Melati
8993379500221 => 8992936115021
25%
SunCo + Vit.A 1 liter => Teh Tongji Melati
8999909000711 => 8999909028234
33.33%
magnum mild => Dji Sam Soe 12
8999999059781 => 8992780010015
33.33%
Sunlight JN 200ml+400ml => Teh Tjatoet
8992946512629 => 8992780010015
33.33%
Hemart 2 Liter => Teh Tjatoet
8994171101067 => 8992780010015 33.33%
Asosition rule
Bulan Februari
Kopi Luwak 165 gr => Teh Tjatoet
8999999059781 => 8995177101112
50%
Sunlight JN 200ml+400ml => Gulaku Hijau 1 kg
8994171101067 => 8995177101112
33.33%
Kopi Luwak 165 gr => Gulaku Hijau 1 kg
8992933453119 => 8993371100146
28.57%
Anget Sari Susu Jahe 28g 5's => Intrafood Jahe Wangi 10's 22.5 gr
8992957214307 => 206330801173321
33.33%
Safari Coklat 100 gr => Roti kering sempurna
8994222112318 => 206330801173321
33.33%
Gangsar 140 g => Roti kering sempurna
8999999706180 => 8999999390198
33.33%
Pepsodent 190 gr => Sunlight Jeruk Nipis Pouch 800 ml
8996001440520 => 8996001440049
37.5%
energen jagung => Energen cokelat 5's@30 gr
8991002105485 => 8996001440049
25%
Kapal api special mix => Energen cokelat 5's@30 gr
8994222112318 => 69
33.33%
Gangsar 140 g => CAMILAN
82
LAMPIRAN 2
DATA TRANSAKSI MENTAH
KPRI UIN SUNAN KALIJAGA
Laporan Penjualan Detail 1 Feb 2018 - 12 Feb 2018
Kode Barang
Nama Barang
Hrg Satuan
Jml
Total Harga
DiscRp
Total
01-Feb-18 1000240,18 NURUL MARAATI SALEH ,ST
8992982206001
nestle pure life 600ml
2,5
2
5
5
4711542140203
avail merah
38
2
76
76
4711542140210
Avail FG pentiliner 20s
30
1
30
30
8998009050053
Ultra Sari Kacang Ijo 250 ml
4,5
1
4,5
4,5
8992753102303
FF SKM Coklat Sachet 42 gr
7,6
1
7,6
7,6
8992753182008
FF Cool Choco 115 ml
2,5
2
5
5
8991038110354
Selection kaps 35g
4
1
4
4
8997035563414
Pocari sweat 500ml
7
1
7
7
8992745326748
Mitu Baby Badan&Rambut 50ml
6
1
6
6
8993053131093
Paseo Hello kitty +Extra 20's
4
1
4
4
8998899002002
Bay Fresh Rose 250 ml
10,2
1
10,2
10,2
Diskon
Grand Total
159,3
01-Feb-18 1000241,18 Uni Triswati
89686834154
Indofood Freiss Frambozen 600 ml
17,2
1
17,2
17,2
89686834253
Freiss Sirup Melon 600 ml
17,2
1
17,2
17,2
8992946520440
hemart 5000ml
67
1
67
67
8992780010015
Teh Tjatoet
5,5
5
27,5
27,5
8993371100146
Intrafood Jahe Wangi 10's 22.5 gr
5
1
5
5
8993086120118
sisir sisters
14,4
1
14,4
14,4
8992765101011
Gillette Goal KLik
7,6
1
7,6
7,6
Diskon
Grand Total
155,9
01-Feb-18 1000242,18 Uni Triswati
8,99001E+12
Maxim Herowax Teflon
160
1
160
160
8,99001E+12
Teflon Maxim24cm
74,502
1
74,502
8,502
66
Diskon
Grand Total
226
01-Feb-18 1000243,18 Umum
8,99276E+12
Nice facial tissue 200's besar
10
2
20
20
83
CURRICULUM VITAE
Nama : Rahmawati Ulfa
Tempat/ Tanggal Lahir : Praya 5 Juni 1996
Jenis Kelamin : Perempuan
Agama : Islam
Alamat : Jl. Basuki Rahmat RT
01 RW 01, Gerunung,
Praya, Lombok Tengah,
Nusa Tenggara Barat
Email :[email protected]
No. Telp : 083129405016
Status : Belum Menikah
Golongan Darah : -
Kewarganegaraan : WNI
2002-2008 SDN 1 GERUNUNG, NTB
2008-2011 SMPN 3 PRAYA, NTB
2011-2014 SMKN 2 PRAYA TENGAH, NTB
2014-2018 UIN SUNAN KALIJAGA YOGYAKARTA,
YOGYAKARTA
DATA PRIBADI
RIWAYAT PENDIDIKAN