SKRIPSI
Diajukan sebagai salah satu syarat untuk mendapatkan gelar strata satu Program
Studi Teknik Informatika
Diajukan oleh:
RAHMAWATI ULFA
14650010
YOGYAKARTA
2018
HALAMAN PENGESAHAN
ii
SURAT PERSETUJUAN SKRIPSI
iii
PERNYATAAN KEASLIAN SKRIPSI
iv
KATA PENGANTAR
Segala puji bagi Allah SWT yang telah memberikan kemudahan dan
salam kepada Nabi Muhammad SAW. Dan tidak lupa juga penulis ucapkan
terimakasi kepada:
Teknologi.
v
8. Rekan-rekan LAMBE TURAH/MULUT SISA terimakasih atas semua
10. Kepala KPRI UIN Sunan Kalijaga beserta karyawan yang sudah
11. Semua pihak yang sudah membantu dalam penyusunan skripsi ini.
itu kritik dan saran sangat penulis harapkan untuk kedepannya dapat
informasi baru dari data yang diolah, sehingga menjadi solusi bagi yang
bersangkutan.
Rahmawati Ulfa
NIM. 14650010
vi
HALAMAN PERSEMBAHAN
1. Kedua orang tua tercinta, Bapak M. Harlan dan Ibu Nurianah yang selalu
memberikan yang terbaik dan memberikan doa, serta kasih sayang yang
4. Kakak Sri Rohmatin yang telah memberikan dukungan dan selalu menjadi
vii
HALAMAN MOTTO
“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)
viii
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
ix
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
x
DAFTAR GAMBAR
xi
DAFTAR TABEL
xii
DAFTAR LAMPIRAN
LAMPIRAN 1 ................................................................................................................ 81
LAMPIRAN 2 ................................................................................................................ 82
xiii
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
Kata kunci : Data mining, algoritma apriori, data transaksi penjualan, KPRI
UIN Sunan Kalijaga Yogyakarta.
xiv
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
Key words: data mining, a priori algorithm, sales transaction data, KPRI UIN Sunan
Kalijaga Yogyakarta.
xv
BAB I
PENDAHULUAN
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
canggih dan berkembang. Para pelaku usaha memanfaatkan hal ini untuk
jual beli.
untuk segala keperluan. Data-data tersebut disimpan dalam sebuah basis data
berkapasitas besar.
1
2
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
data-data tersebut, tentu menjadi hal yang sia-sia jika data tersebut tidak
Disiplin ilmu data mining menjadi salah satu solusi dari permasalahan
tersebut dengan proses yang dapat menemukan suatu informasi baru yang
keberhasilan bisnisnya.
akan diolah dengan sebuah aplikasi data mining yang dibangun menggunakan
yang sering terjadi dan produk yang paling sering dibeli berdasarkan data
konsumen.
dilakukan preprocessing.
adalah:
Yogyakarta.
menggunakan data transaksi sebagai objek pada KPRI UIN Sunan Kalijaga
setiap baba pada penelitian ini, maka diperlukan sistematika penulisan. Berikut
BAB I : PENDAHULUAN
Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan
Pada bab ini berisi tinjauan pustaka dan landasan teori yang berkaitan
Pada bab ini berisi hasil penelitian dan implementasi data mining
BAB V : PENTUP
Pada bab ini berisi kesimpulan yang dapat ditarik dari hasil
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.
BAB II
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
disajikan tabel yang memuat daftar kandidat dua kombinasi dan tabel daftar
support kandidat itemset dengan support minimal 50%. Setelah semua pola
kombinasi item. Iterasi akan berhenti ketika semua item telah dihitung sampai
7
8
kendala dalam memilih konsentrasi prodi yang sesuai dengan kriteria memang
program studi yang akan diambil oleh mahasiswa dengan teknik data mining
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
kombinasi batas maksimal item program studi. Apabila nilai support item ≥
minimal support maka proses pencarian calon kombinasi itemset berlanjut, jika
dengan data tabular. Karena pada 4 itemset nilai support tidak melebihi dari
minimu support maka proses berhenti di sini, untuk hasil Rule diambil dari
konsumen dari cabang Pamella yang terletak di area kampus dan area
pada toko tersebut. Penelitian ini menerapkan algoritma apriori dalam sebuah
yang berbeda pula. Dari pola yang dihasilkan tersebut akan didapatkan sebuah
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
2.2.Landasan Teori
Nama data mining sebenarnya mulai dikenal sejak tahun 1990, ketika
bidang, mulai dari bidang akademik, bisnis, hingga medis. Munculnya data
mining didasarkan pada jumlah data yang tersimpan dalam basis data semakin
Ada istilah lain yang mempunyai makna yang sama dengan data
atau KDD bertujuan untuk memanfaatkan data dalam basis data dengan
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.
Proses KDD secara garis besar dapat dijelaskan sebagai berikut (Kusrini &
Luthfi, 2009) :
1. Data Selection
Data hasil seleksi yang akan digunakan untuk proses data mining,
2. Pre-processing/ Cleaning
cleaning pada data yang menjadi fokus KDD. Proses Cleaning mencakup
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
4. Data Mining
13
Data mining adalah proses mencari pola atau informasi menarik dalam
metode atau algoritma yang tepat sangat bergantung pada tujuan dan
5. Interpertation/ Evaluation
Pola informasi yang dihasilkan dari proses data mining perlu ditampilkan
ada sebelumnya.
1. Statistik
Bidang ini merupakan akar paling tua, tanpa ada statistik maka data
ternyata data yang diolah dapat diringkas dalam apa yang umum dikenal
Salah satu cabang dari AI, yaitu pembelajaran mesin atau mechine
3. Pengenalan pola
tetapi hanya mengolah data dari basis data. Data yang diambil dari basis
data untuk diolah bukan dalam bentuk relasi, melainkan dalam bentuk
pertama. Akan tetapi data mining mempunyai ciri khas yaitu pencarian
Akar bidan ilmu keempat dari data mining yang menyediakan informasi
disebutkan sebelumnya.
2009):
Data mining adalah analisis otomatis dari data yang berjumlah besar
sudah ada.
Pencarian
Informasi
Pembelajaran
Ekstraksi data(bahasa (neural
alami,web, penstrukturan Network,
pohon
keputusan,
Statistik Data Artificial
mining Intelegent
Dasar(Seleksi,
presentasi Data yang besar
hasil) (Normalisasi data,
transformasim
OLAP
Database
BUSINESS INTELEGENCE
DATA WAREHOUSE
TRANSACTIONAL DATABASE
informasi baru dapat dilakukan dengan bekal data mentah yang diberikan
18
oleh data warehouse. Hasil yang diberikan oleh ketiga bidang tersebut
1. Model prediksi
2. Analisis kelompok
3. Analisis asosiasi
19
4. Deteksi anomali
anomali yang baik harus mempunyai laju deteksi yang tinggi dan
data adalah segala fakta, angka, atau teks yang dapat diproses oleh
cepat dalam format dan basis data yang berbeda. Data-data tersebut antara
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
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:
50% untuk juga membeli susu. Aturan ini cukup signifikan karena mewakili
40% dari catatan transaksi selama ini.” analisis asosiasi didefinisikan suatu
yaitu:
muncul).
22
2. Rule generation
Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴
𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝐴) = ∑ 𝑥 100% (2,1)
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖
Sementara itu, nilai support dari 2 itemset diperoleh dari rumus (2,2).
Support (A,B) = P(A ∩ B)
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴, 𝐵
𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝐴, 𝐵) = ∑ 𝑥 100% (2,2)
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖
berikut.
23
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴, 𝐵
𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝑃(𝐵|𝐴) = ∑ 𝑥 100% (2,3)
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴
2.2.4. Apriori
“Jikas sebuah itemset itu frekuen, semua subset (bagian) dari itemset
ditunjukkan pada gambar 2.4. Asumsi yang digunakan dalam gambar tersebut
karena mempunyai nilai support 0.375 (di bawah ambang batas). Pada iterasi
itemset ,yaitu {Beras}, {Buku}, {Minyak}, dan {Telur}, dan apriori yakin
bahwa semua superset dari infrequent itemset, yaitu {Topi}, pasti juga
bahwa dari enam kandidat, ada tiga kandidat yang nilai support-nya di bawah
3
membangkitkan kandidat 3-itemset, didapatkan ( )=1
3
25
Kandidat 1-itemset
Item Count
Kandidat 1-itemset
Beras 6%
Buku 4%
Kandidat 1-itemset
Minyak 6%
Kandidat 2-itemset
Telur 6%
Kandidat 1-itemset Itemset Count
Topi 3%
Kandidat 2-itemset
{Beras, Buku} 2%
Kandidat 1-itemset {Beras, Minyak} 4%
Kandidat 2-itemset
{Beras, Telur} 5%
Kandidat 1-itemset {Buku, Minyak} 3%
Kandidat 2-itemset
{Buku, Telur} 2%
Kandidat 1-itemset {Minyak, Telur} 5%
Kandidat 2-itemset
Item yang dibuang
karena support Kandidat 3-itemset
Kandidat 1-itemset
rendah
Itemset
Kandidat 2-itemset Count
{Beras, Minyak, 2-itemset
Kandidat Telur} 4%
Kandidat 2-itemset
Gambar 2.4. Contoh pembangkitan itemset frekuen dengan
Kandidat 2-itemset
algoritma apriori
Kandidat 2-itemset
Dari gambar 2.4 dapat diamati bahwa apriori hanya menjaga item yang
Kandidat 2-itemset
kandidat (k-1)-itemset memenuhi ambang untuk membangkitkan k-itemset
Gambar 2.47. Cara kerja server side scriptingGambar
berikutnya. 2.48. Contoh pembangkitan itemset frekuen dengan
Kandidat 2-itemset
algoritma apriori
Algoritma apriori dalam bentuk pseudokode diberikan dalam algoritma
Kandidat 2-itemset
2.1. Jika Ck meyatakan kandidat k-itemset, dan Fk menyatakan set k-itemset
Gambar 2.49. Cara kerja server side scripting
yang frekuen: Kandidat 2-itemset
Kandidat 2-itemset
Gambar 2.50. Framework bootstrapGambar 2.51. Cara
kerja server side scriptingGambar 2.52. Contoh
pembangkitan itemset frekuen dengan algoritma apriori
26
(langkah 10).
5. Algoritma berhenti ketika tidak ada lagi itemset frekuen yang bisa
dibangkitakan, misalnya Fk = Ø
apriori
1. k = 1
yang frekuen.
27
4. k = k + 1
frekuen
11. Hasil = U Fk
1. Pembangkitan kandidat
2. Pemangkasan kandidat
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.
untuk setiap kandidat k-itemset, tetapi tidak perlu memeriksa semua k subset
aturan asosiasi (association rule) dari itemset frekuen yang diberikan. Setiap
dengan mempartisi itemset Y ke dalam dua subset tidak kosong X dan Y-X
frekuen.
{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
frekuen juga. Karena support count untuk kedua itemset sudah siap
ditemukan sejak itemset frekuen dibangkitan, seluruh bagian set data tidak
monoton apa pun. Misalnya, confidence X → Y bisa lebih besar, lebih kecil,
confidenc.
4. Hm+1 = apriori_gen(Hm)
2.2.5. PHP
yang menyatu dengan HTML untuk membuat halaman web dinamis. Karena
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
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
1. User melakukan request dari sisi client melalui web browser untuk
Gambar 2.92. Framework bootstrapGambar
2.93. Cara sebuah
mengakses kerja server sideweb.
halaman scripting
ke web server.
format HTML. Hal ini terjadi karena web browser hanya dapat
Kelebihan PHP
(Hermawan, 2009):
bahkan gratis.
MySQL.
sistem database di dalam web. Sistem database yang dapat didukung oleh PHP
adalah:
• Adabas D
• Direct MS-SQQL
• 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
LDAP, HTTP, SNMP, COM, dan lainnya. Fasilitas lainnya adalah soket
programming, yang dapat digunakan untuk membuat skrip PHP yang dapat
2. NET Functions.
3. Filesystem Functions.
Kelemahan PHP
kekurangan. Dari segi bahasa, PHP bukanlah bahasa yang cocok untuk
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
bisnis logic (alur pikir), data logic (penyimpanan data) dan presentation logic
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,
2. View
user. Bisa berupa halaman web, css, javascript, dan lain-lain. Kita harus
berisi variabel-variabel yang berisi data yang siap untuk ditampilkan. View
HTML, dan bantuan CSS atau javascript. Di dalam tidak dianjurkan adanya
3. Controller
permintaan dari view ke dalam struktur data di dalam model. Controller juga
tidak diperbolehkan diisi kode untuk mengakses basis data. Tugas controller
2.2.7. CodeIgniter
format php. Format yang dibuat ini selanjutnya dapat digunakan untuk
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
mungkin.
1. Gratis
2. Berukuran kecil
3. URL sederhana
presentation.
6. Extensible
9. Komunitas
2.2.8. BOOTSTRAP
artistik.
2.2.9. MySQL
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
2008).
• Multiplatform
dan lain-lain)
berbagai software.
• Dukungan SQL
menggunakan MySQL.
alter, drop.
dalam basis data, serta pengauditan basis data. Adapun perintah yang
4. Indeks
teknik yang melandasi indeks itu sendiri. Sistem pada indeks akan
44
secara urut.
MySQL memiliki beberapa fitur seperti yang dijelaskan dibawah ini (Kadir,
2008):
a. Multiplatform
lain-lain).
pengaksesan(privilege).
d. Dukungan SQL
METODE PENELITIAN
(KPRI) UIN Sunan Kalijaga Yogyakarta yang terletak di Jl. Marsda Adisucipto
diperuntukan untuk pegawai, namun dapat juga untuk umum. Koperasi ini
dalam sistem serta menganalisis tren pembelian pada KPRI UIN Sunan
dijadikan sebagai sampel data. Dari data-data transaksi yang digunakan tadi
telah ditentukan.
45
46
2. Preprocessing/Cleaning Data
3. Transformation
Pada tahap ini, hal yang dilakukan adalah proses mentransformasi data
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
pola pembaelian konsumen atau pattern yang akan menjadi acuan untuk
5. Interpretation/Evaluation
(knowledge).
BAB IV
4.1. Pembahasan
Aturan asosiasi
transformation
Interpretation informasi
atau pengetahuan
dibawah ini:
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
48
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
4.1.2. Preprocessing/Cleaning
berisi id, tanggal transaksi, kode transaksi, kode barang dan jumlah. Proses ini
sebagai berikut:
4.1.3. Transformation
Basis data terdiri dari tabel transaksi serta tabel user untuk mengakses aplikasi
apriori.
a. Tabel transaksi
data transaksi sebelumnya telah dilakukan data selection sehingga pada data
diproses dengan algoritma apriori. Dari tabel di atas diketahui jumlah transaksi
yang ada sebanyak 5 transaksi. Langkah selanjutnya adalah menyeleksi item yang
susu, yaitu:
Misal dalam contoh ini, user menginputkan nilai minimal support adalah
0.6 dan minimal confidence adalah 0.8, maka diperoleh item yang masuk ke
k-itemset. Item Mie dan Telur tidak memenuhi nilai batas minimal support
yang ditentukan oleh user, maka item Mie dan Telur dihapus dari himpunan
dengan dirinya sendiri, dan dicari nilai support dari masing-masing 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
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).
nilai support kurang dari minimal support yang telah ditentukan sebelumnya
Itemset Support
{Roti, Susu} 0.6
{Roti, Pampers} 0.6
{Susu, Pampers} 0.6
{Soda, Pampers 0.6
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.
4.1.5. Iterpretation/Evaluation
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
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
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>";}}
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:
function show_tabel(){
window.location.href='http://localhost/apriori-
$tables=$this->db->query(" SELECT t.TABLE_NAME AS myTables FROM
apps1/index.php/dashboard/add_data';
INFORMATION_SCHEMA.TABLES AS t WHERE t.TABLE_SCHEMA =
'apriori_apps1' ")->result_array();
return $tables; } </script>";
}else{
echo "<script type='text/javascript'>
alert('tabel gagal dibuat');
window.location.href='http://localhost/apriori-
apps1/index.php/dashboard/add_data';
59
3. Langkah selanjutnya adalah proses apriori, dalam proses ini nilai support
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'];
}
}
tiap barang
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
function k1($iterasi=0){
$min_sup = $this->session->userdata('support');
$tabel = $this->session->userdata('bulan');
$itemset=1;
$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();
$data['k1']=$this->combine($data['k1']);}
$data['nm_k1']=array();
$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
$nama = array();
$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();
$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();
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
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['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
$nama[] = $n[0]->nm_brg;
$data['nm_k1'][$a]=implode(',', $nama);
$data['frek'][$a]=$this->apriori_model->get_frek_gab($tabel,$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);
$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();
$nama[] = $n[0]->nm_brg; }
$data['nm_k1'][$a]=implode(',', $nama);
$data['frek'][$a]=$this->apriori_model->get_frek_gab($tabel,$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); }
sebagai berikut:
<tr>
<th>Asosiation Rule</th>
<th>Confidence</th>
</tr>
<?php
$conf=($frek[$a]/$sf[$a])*100;
if($conf<$min_conf) $bg='#FFAB91';
else $bg='';
?>
</tr><?php } ?>
<?php
$arr[$a]=explode(',', $k1[$a]);
$balik[$a]=$arr[$a][1].','.$arr[$a][0];
$arr_name[$a]=explode(',', $nm_k1[$a]);
$nm_balik[$a]=$arr_name[$a][1].','.$arr_name[$a][0];
$conf=($frek[$a]/$sf1[$a])*100;
?>
</table>
66
if($conf<$min_conf) $bg='#FFAB91';
else $bg='';?>
$arr[$a]=explode(',', $k1[$a]);
$balik[$a]=$arr[$a][1].','.$arr[$a][0];
$arr_name[$a]=explode(',', $nm_k1[$a]);
$nm_balik[$a]=$arr_name[$a][1].','.$arr_name[$a][0];
$conf=($frek[$a]/$sf1[$a])*100;
if($conf<$min_conf) $bg='#FFAB91';
</tr>
<?php
}?> </table>
3. Fungsi logout untuk user keluar dari aplikasi. Kode
67
apriori:
pada database.
4.5.
sebagai tempat proses apriory, ketika mengklik menu proses apriori akan
untuk menentukan tabel data transaksi yang akan diolah disertai dengan
gambar 4.7.
Pada halaman ini juga terdapat fitur create table yaitu untuk membuat tabel data
baru apabila dibutuhkan tampilannya sebagai berikut:
Pada halaman ini terlihat bahwa rows pada tabel menjadi berwarna, hal ini
itemset selanjutnya, dan bisa dilihat juga bahwa hasil support count lebih
masing aturan asosiasi item yang dibeli dari data transkasi yang sudah
Pada halaman ini menampilkan data dari tabel data transaksi yang telah
Hasil dari pengolahan data dengan aplikasi data mining untuk masing-
bulan
Dari tabel 4.11 dapat dilihat bahwa data transaksi bulan januari
itemset:
73
dan Februari 2018 berbeda, yakni pada bulan Januari 2018 item terlaris adalah
Tabel 4.13. Kandidat 2-itemset 5 tertinggi pada bulan Januari dan Februari
2018
kandidat 2-itemset saja, karena data yang diolah jumlahnya cukup kecil
75
tingkat frekuensi yang rendah. Hal ini akan menyebabkan terbentuknya pola
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
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
untuk bulan Februari 2018 nilai confidence tertinggi adalah TEH TJATOET
=> GULA PASIR 1KG yaitu 58.33% yang artinya sebanyak 58.33%
1KG.
BAB V
PENUTUP
5.1. Kesimpulan
mengetahui pola pembelian konsumen pada data transaksi bulan Januari dan
77
78
5.2. Saran
79
LAMPIRAN
80
LAMPIRAN 1
81
Bulan Januari
Itemset 1
Minimal Support : 1
Minimal Support : 2
Support
No Nama Barang Frekuensi
Count
sedaap goreng 91gr,FF SKM Coklat
1 Sachet 42 gr 2 0.84%
sedaap goreng 91gr,SARI ROTI RASA
2 COKLAT 2 0.84%
sedaap goreng 91gr,Bintang Toedjoe
3 Jahe Merah 15 ml 2 0.84%
sedaap goreng 91gr,sedaap ayam
4 bawang 70gr 3 1.26%
sedaap goreng 91gr,Indomie Ayam Kari
5 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%
Gangsar 140 g,FF SKM Coklat Sachet 42
12 gr 2 0.84%
FF SKM Coklat Sachet 42 gr,Roma
13 biskuit kelapa 300gr 3 1.26%
FF SKM Coklat Sachet 42 gr,Gudang
14 garam filter 12 1 0.42%
FF SKM Coklat Sachet 42 gr,Richoco
15 nabati chocolate 2 0.84%
FF SKM Coklat Sachet 42 gr,FF BKM
16 Putih Sachet 42 gr 3 1.26%
FF SKM Coklat Sachet 42 gr,Biore Body
17 Foam Pure Mild 250ml 2 0.84%
Indomie Soto 70 gr,Indomie Ayam Kari
18 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%
Nescafe Classic 50 gr,Indocafe coffemix
22 5's @20 gr 1 0.42%
Nescafe Classic 50 gr,good day
23 mocacinno 1 0.42%
sedaap ayam bawang 70gr,Sari Roti
24 69gr 1 0.42%
sedaap ayam bawang 70gr,Biore Body
25 Foam Pure Mild 250ml 1 0.42%
26 sedaap ayam bawang 70gr,Enervon-C 1 0.42%
sedaap ayam bawang 70gr,good day
27 mocacinno 1 0.42%
Asosition rule
Bulan Januari
Asosiation Rule Confidence
8992753102303 => 8998866200301 28.57%
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
Anget Sari Susu Jahe 28g 5's => sedaap goreng 91gr
8992003782354 => 8998866200301 33.33%
Antangin JRG 15 ml => sedaap goreng 91gr
Minimal Support: 2
82
DATA TRANSAKSI MENTAH
Kode Barang
Nama Barang Hrg Satuan Jml Total Harga DiscRp Total
8992982206001 2,5
nestle pure life 600ml 2 5 5
38
4711542140203 avail merah 2 76 76
30
4711542140210 Avail FG pentiliner 20s 1 30 30
4,5
8998009050053 Ultra Sari Kacang Ijo 250 ml 1 4,5 4,5
7,6
8992753102303 FF SKM Coklat Sachet 42 gr 1 7,6 7,6
2,5
8992753182008 FF Cool Choco 115 ml 2 5 5
4
8991038110354 Selection kaps 35g 1 4 4
7
8997035563414 Pocari sweat 500ml 1 7 7
6
8992745326748 Mitu Baby Badan&Rambut 50ml 1 6 6
4
8993053131093 Paseo Hello kitty +Extra 20's 1 4 4
10,2
8998899002002 Bay Fresh Rose 250 ml 1 10,2 10,2
Diskon
Grand 159,3
Total
89686834154 17,2
Indofood Freiss Frambozen 600 ml 1 17,2 17,2
17,2
89686834253 Freiss Sirup Melon 600 ml 1 17,2 17,2
67
8992946520440 hemart 5000ml 1 67 67
5,5
8992780010015 Teh Tjatoet 5 27,5 27,5
5
8993371100146 Intrafood Jahe Wangi 10's 22.5 gr 1 5 5
14,4
8993086120118 sisir sisters 1 14,4 14,4
7,6
8992765101011 Gillette Goal KLik 1 7,6 7,6
Diskon
Grand 155,9
Total
8,99001E+12 160
Maxim Herowax Teflon 1 160 160
74,502
8,99001E+12 Teflon Maxim24cm 1 74,502 8,502 66
Diskon
Grand 226
Total
8,99276E+12 10
Nice facial tissue 200's besar 2 20 20
CURRICULUM VITAE
DATA PRIBADI
RIWAYAT PENDIDIKAN
83