PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PENENTUAN ATURAN ASOSIASI DENGAN ALGORITMA APRIORI UNTUK TRANSAKSI PENJUALAN KERUPUK (Studi Kasus : Industri Kerupuk “Sri Tanjung”) SKRIPSI Diajukan Untuk Memenuhi Salah Satu Sayarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh: Riyadlah Yuniati 125314142
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016 i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
THE DETERMINATION OF THE RULES OF THE ASSOCIATION WITH THE APRIORI ALGORITHM FOR A SALE CRACKERS (Case Study : Industry Crackers “Sri Tanjung”) A Final Project Presented as Partial Fulfillment of The Requirements To Obtain Sarjana Komputer Degree In Informatics Engineering Study Program
By : Riyadlah Yuniati 125314142
INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2016 ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSETUJUAN PEMBIMBING
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PENGESAHAN
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN
"Musa berkata, 'Robbis rohlii shodrii, wa yassirlii amrii, wahlul 'uqdatam mil lisaani yafqohu qoulii' “ Wahai Tuhanku, lapangkanlah dadaku, mudahkanlah untukku urusanku, dan lepaskan kekakuan lidahku, supaya mereka mengerti perkataanku ” (QS Thaha [20]: 25-28)
Karya ini dipersembahkan kepada : Allah SWT Muhammad SAW dan Para Sahabat Keluarga Besar Arih dan Tjasir Sahabat
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK
Saat ini untuk setiap data transaksi penjualan di industri kerupuk banyak mengalami peningkatan dan data tersebut tersimpan dalam jumlah yang sangat banyak. Banyaknya data tersebut dapat mempengaruhi banyaknya barang yang dibeli oleh konsumen. Untuk meminimalisasi banyaknya data yang tersimpan dalam jumlah yang sangat besar maka, data tersebut dapat dimanfaatkan untuk melihat jenis barang yang dibeli secara bersamaan oleh konsumen. Data tersebut dapat digunakan sebagai referensi produsen dalam memperbanyak jumlah produksi barang yang banyak di minati. Cara melihat hubungan diantara item tersebut dapat dilakukan proses data mining
dengan analisis asosiasi menggunakan algoritma apriori. Algoritma
apriori dapat mengetahui aturan kemungkinan seorang pelanggan membeli kerupuk udang dan secara bersamaan membeli juga kerupuk bawang. Pengetahuan tersebut dapat digunakan produsen untuk memperbanyak produksi kerupuk yang banyak diminati konsumen.Aturan tersebut didapat dari jumlah item dan support yang ditentukan. Support tersebut merupakan jumlah item pada setiap transaksi yang ada di dalam basis data. Sedangkan nilai confidence berpengaruh terhadap jumlah aturan yang didapat melalui proses asosiasi.Nilai confidence ditentukan dari nilai support suatu aturan dalam sebuah transaksi.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Currently for every sales transaction data in many cracker industry has increased and it stored in huge quantities. The number of such data may affect the amount of goods purchased by consumers. To minimize the amount of data stored in very large then, the data can be used to view any type of goods purchased by consumers simultaneously. Such data can be used as reference for expanding the number of producers in the production of goods in interest. How to see the relationship among the items, this research do the datamining
process by association analysis using apriori algorithms. Apriori
algorithm can determine the rules of the possibility of a customer buying shrimp crackers and simultaneously bought crackers also onions. Such knowledge can be used to augment the production of crackers manufacturers of many consumer demand. The rules are derived from the number of items and support specified. The support is the number of items on each transaction that is in the database. While the value of confidence affect the number of rules that can go through the process of association. Confidence value is determined from the value of the support of a rules in a transaction.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Allah SWT atas berkat dan rahmatnya. Sehingga penulis dapat menyelesaikan skripsi dengan tepat waktu. Penulisan skripsi ini tidak lepas dari peran pentingnya berbagai pihak, sehingga dalam kesempatan ini penulis dengan kerendahan hati mengucapkan terimakasih kepada semua pihak yang teah memberikan dukungan baik secara langsung maupun tidak langsung kepada penulis dalam penyelesaian skripsi hingga selesai. Pada penulisan skripsi ini saya ucapkan terimakasih kepada : 1.
Drs. Johanes Eka Priyatma, M.Sc., Ph.D. selaku Rektor dan dosen pembimbing akademik.
2.
Allah SWT selaku maha yang selalu membimbing dan memberi pertolongan atas segala rahmat yang senantiasa selalu diberikan.
3.
Nabi kita Muhammad SAW beserta para sahabat
4.
Dr. Cyprianus Kuntoro Adi, SJ., M.A., M.Sc. selaku dosen pembimbing tugas akhir yang dengan sabar dan membimbing saya dalam penyusunan tugas akhir ini.
5.
Kedua Orang tua, Bapak Waryono dan Ibu Caskem yang selalu memberikan dorongan doa dan motivasi kepada penulis
6.
Kakak kandung Rina Purnamasari S.pd yang selalu memberikan dorongan motivasi dan doa kepada penulis agar selalu ingat untuk mengerjakan tugas akhir.
7.
Keluarga besar “Arih Tjasir”, mamang “Nurwedi bin Arih dan Sawin bin Arih”,Bude “Danyem bin Arih (Nanyeng)” dan keponakan tercinta “Melin, Hanif, Annisa, Khasna dan Amal” yang selalu memberikan dorongan serta motivasi kepada penulis
8.
Teman-teman tercinta yang selalu memberikan dukungan dan motivasi dalam mengerjakan skripsi “Agustin, Monica, Niputu, Eric, Bagus, Candra, Vitto, Bany, Lukas, Tegar, Andre ” dan seluruh teman-teman
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN PERSETUJUAN PEMBIMBING .................................................... iii HALAMAN PENGESAHAN ................................................................................ iv HALAMAN PERSEMBAHAN ............................................................................. v PERNYATAAN KEASLIAN KARYA ................................................................ vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI................................ vii ABSTRAK ........................................................................................................... viii ABSTRACT ............................................................................................................. ix KATA PENGANTAR ............................................................................................ x DAFTAR ISI ......................................................................................................... xii DAFTAR GAMBAR ........................................................................................... xiv DAFTAR TABEL ................................................................................................. xv BAB I PENDAHULUAN ....................................................................................... 1 1.1
Latar Belakang ......................................................................................... 1
1.2
Rumusan Masalah .................................................................................... 3
1.3
Batasan Masalah ....................................................................................... 3
1.4
Tujuan Penelitian ...................................................................................... 3
1.5
Manfaat Penelitian .................................................................................... 4
1.5
Metodologi Penelitian .............................................................................. 4
1.6
Sistematika Penulisan ............................................................................... 5
BAB II LANDASAN TEORI ................................................................................. 7 2.1
Penambangan Data ................................................................................... 7
2.1.2 2.1
Proses Penambangan Data ................................................................ 7
Analisis Asosiasi ...................................................................................... 9
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.2.1
Aturan Asosiasi ............................................................................... 13
2.3
Algoritma Apriori ................................................................................... 14
2.4
Lift Ratio ................................................................................................. 16
BAB III METODOLOGI PENELITIAN.............................................................. 18 3.1
Diagram Blok Penelitian ........................................................................ 18
3.2
Data ........................................................................................................ 18
3.3
Proses...................................................................................................... 23
3.3.1
FreqItemset ..................................................................................... 23
3.3.2
Generate Rule.................................................................................. 28
3.3.3
Sorting ............................................................................................. 32
3.4
Rincian Algoritma Untuk Proses Asosiasi ............................................. 33
3.4.1
Metode-metode yang digunakan dalam proses asosiasi.................. 33
3.5
Hasil atau Rules ...................................................................................... 34
3.6
Spesifikasi Software dan Hardware ....................................................... 35
BAB IV DISAIN IMPLEMENTASI HASIL ANALISIS .................................... 36 4.1
Hasil........................................................................................................ 36
4.2
Analisis ................................................................................................... 37
4.3
DesignInterface ...................................................................................... 39
BAB V PENUTUP ................................................................................................ 42 5.1
Kesimpulan ............................................................................................. 42
5.2
Saran ....................................................................................................... 43
DAFTAR PUSTAKA ........................................................................................... 44 LAMPIRAN .......................................................................................................... 45
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Gambar 2.1 Tahap penemuan Knowledge pada Data Mining Han, et al (2012) ... 8 Gambar 3.1 Diagram BlokPenelitian .................................................................... 18 Gambar 4.1 Halaman Utama ................................................................................. 39 Gambar 4.2 Halaman Inputan ............................................................................... 40 Gambar 4.3 Halaman Jumlah Data ....................................................................... 40 Gambar 4.4 Halaman Hasil Aturan Asosiasi ........................................................ 41
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 2.1 Data Transaksi Semua Merk Elektronik ............................................... 11 Tabel 2.2 C1 .......................................................................................................... 11 Tabel 2.3 L1 .......................................................................................................... 11 Tabel 2.4 C2 .......................................................................................................... 12 Tabel 2.5 L2 .......................................................................................................... 12 Tabel 2.6 C3 .......................................................................................................... 12 Tabel 2.7 L3 .......................................................................................................... 13 Tabel 3.1 Transaksi Kerupuk ................................................................................ 21 Tabel 3.2 Representasi Biner Untuk Transaksi Kerupuk ...................................... 22 Tabel 3.3 C1 .......................................................................................................... 23 Tabel 3.4 L1 .......................................................................................................... 25 Tabel 3.5 C2 .......................................................................................................... 25 Tabel 3.6 L2 .......................................................................................................... 26 Tabel 3.7 C3 .......................................................................................................... 27 Tabel 3.8 L3 .......................................................................................................... 28 Tabel 3.9 Hasil Aturan .......................................................................................... 28 Tabel 4 1Hasil Percobaan...................................................................................... 36
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN
1.1
Latar Belakang Indonesia memiliki sumberdaya perikanan yang sangat melimpah. Peranan
sub sektor perikanan dalam pembangunan nasional terutama adalah menyediakan bahan pangan hewani, menyediakan bahan baku untuk mendorong agroindustri, meningkatkan devisa melalui penyediaan ekspor perikanan, menyediakan kesempatan kerja dan berusaha, meningkatkan kelestarian sumberdaya perikanan dan lingkungan hidup (Kementrian Kelautan dan Perikanan, 2009). Jawa Barat memiliki potensi sektor perikanan yang sangat besar, baik perikanan darat maupun perikanan lepas pantai yang tidak hanya mencukupi untuk kebutuhan lokal, namun juga diekspor ke luar negeri. Salah satu daerah potensial di Provinsi Jawa Barat adalah Kabupaten Indramayu. Produksi perikanan Indramayu yang menyumbang 32,87 persen dari produksi perikanan Jawa Barat yaitu sebesar 94,6 ribu ton pada tahun 2007. Pengembangan Industri hasil perikanan merupakan salah satu prioritas dalam pembangunan nasional di sektor perindustrian. Industri pengolahan ikan di Indramayu yang potensial adalah industri pengolahan kerupuk ikan atau udang yang ditandai dengan adanya peningkatan jumlah unit usaha dalam setiap tahunnya. Di kabupaten Indramayu, industri pengolahan ikan yang memiliki produksi paling tinggi adalah produksi pengolahan kerupuk ikan yaitu sebesar 3,5 ribu ton atau sebesar 45,20 persen dari seluruh total produksi olahan hasil perikanan. Salah satu desa yang merupakan sentra industri pengolahan kerupuk ikan atau udang adalah Desa Kenanga Kecamatan Sindang dan salah satu perusahaan yang memproduksi kerupuk ikan atau udang di Desa Kenanga Kecamatan Sindang adalah Perusahaan Kerupuk Cap Dua Gajah. Perusahaan ini merupakan perusahaan yang mengolah kerupuk ikan atau udang dengan jumlah produksi terbesar di Indramayu (Dinas Koperasi Perindustrian dan Perdagangan, 2010).
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Hasil pengolahan ikan dari Kabupaten Indramayu kini menembus pasar internasional yakni menyuplai untuk kebutuhan negara-negara Asia. Meskipun produknya diminati masyarakat luar negeri, namun para pengusaha lokal belum sanggup untuk memenuhinya. Dengan kata lain permintaan kerupuk ini dapat meningkat setiap tahunnya. Oleh sebab itu jika data transaksi tidak dapat digunakan dengan baik maka akan sia-sia. Banyaknya data tersebut dapat mempengaruhi banyaknya barang yang dibeli oleh konsumen. Untuk meminimalisasi banyaknya data yang tersimpan dalam jumlah yang sangat besar maka, seharusnya data tersebut dimanfaatkan untuk melihat keterikan setiap jenis barang yang dibeli oleh konsumen secara bersamaan. Salah satunya adalah transaksi penjualan kerupuk “Sri Tanjung” yang ada di daerah Indramayu. Dari data transaksi penjualan kerupuk tersebut akan dilihat dan dicari keterikatan antara item kerupuk satu dengan kerupuk lainnya yang akhirnya dapat diketahui jenis kerupuk yang sering di beli oleh konsumen. Data akan diolah dengan menggunakan teknik data mining , karena dengan teknik data mining , dapat ditemukan informasi yang berguna yang belum di ketahui informasi sebelumnya. Dalam transaksi kerupuk ini menggunakan analisis asosiasi yang berguna untuk menemukan hubungan penting yang tersembunyi diantara set data yang sangat besar. Hubungan yang sudah terbuka direpresentasikan dalam bentuk aturan asosiasi
(association
rules) atau set
aturan
item
yang sering
muncul.Hubungan yang sangat besar dari aturan tersebut direpresentasikan dalam bentuk aturan asosiasi atau melihat jenis set aturan item yang sering muncul dalam setiap transaksi. Tugas asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut analisis keranjang belanja. Contoh asosiasi dalam bisnis dan penelitian adalah meneliti jumlah pelanggan dari perusahaan telekomunikasi seluler yang diharapkan untuk memberikan respons positif terhadap penawaran upgrade layanan yang diberikan
2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dan menemukan barang dalam supermarket yang dibeli secara bersamaan dan barang yang tidak pernah dibeli secara bersamaan (Kusrini & Luthfi, 2009). Jenis algoritma yang digunakan adalah algoritma apriori. Algoritma apriori sebagai analisis dari suatu pembelian dan dapat mengatahui besar kemungkinan seorang pelanggan membeli kerupuk udang dan secara bersamaan membeli juga kerupuk bawang. Dengan pengetahuan tersebut dapat melihat keterikatan jenis produk yang dibeli secara bersamaan untuk transaksi kerupuk. 1.2
Rumusan Masalah Berdasarkan uraian dari latar belakang di atas,maka rumusan masalahnya adalah sebagai berikut: 1. Aturan asosiasi seperti apakah yang berlaku untuk penjualan kerupuk di industri “Sri Tanjung”? 2. Apakah algoritma apriori mampu menemukan aturan asosiasi yang kuat pada industri penjualan kerupuk tersebut?
1.3
Batasan Masalah Batasan masalah yang ada dalam industri penjualan kerupuk yaitu sebagai berikut: 1. Data yang digunakan adalah data transaksi penjualan kerupuk di industri kerupuk “Sri Tanjung” 2. Data yang digunakan adalah data perhari dari setiap item transaksi 3. Data dikelompokan secara manual 4. Algoritma Aprioriyang digunakan untuk transaksi penjualan kerupuk di industri kerupuk “Sri Tanjung” 5. Data transkaksi yang diambil adalah data satu tahun yaitu tahun 2015
1.4
Tujuan Penelitian Tujuan dari penelitian tugas akhir ini adalah bagaimana mengetahui algoritma apriori dapat diterapkan untuk melihat produk kerupuk yang dibeli secara bersamaan dengan produk lainnya
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.5
Manfaat Penelitian Manfaat dari penelitian tugas akhir ini adalah sebagai berikut : Membantu menemukan item kerupuk yang dibeli secara bersamaandengan item kerupuk lain oleh konsumen.
1.5
Metodologi Penelitian Dalam penyelesaian tugas akhir yang berjudul Penentuan Aturan Asosiasi Dengan Algoritma Apriori Untuk Transaksi Penjualan Kerupuk (Studi Kasus : Industri Kerupuk “Sri Tanjung”), akan ditempuh langkah-langkah sebagai berikut : 1. Studi Pustaka
a.
Penelitian pustaka, yaitu dengan mempelajari hal-hal yang berkaitan dengan data mining dan algoritma apriori, dengan mengumpulkan dan mempelajari informasi dari buku-buku, artikel dan website yang ada di internet
b.
Interview, yaitu dengan datang langsung ke sentra industri kerupuk melakukan konsultasi, tanya jawab dengan orang yang memiliki pengetahuan dan wawasan yang berhubungan dengan topik tugas akhir
2. Pengumpulan Data Metodologi yang kedua adalah pengumpulan data. Data yang digunkan dalam penelitian ini bersumber dari industri kerupuk “Sri Tanjung” pengumpulan data dengan wawancara dan mengambil dari nota-nota transaksi 3. Pembuatan Alat Uji Metodologi yang ketiga adalah pembuatan alat uji. Pembuatan alat uji dilakukan dengan teknik data mining yang langkah-langkahnya seperti dibawah ini : a.
Pembersihan data, menghilangkan noise, dan daya yang tidak konsisten
b.
Integrasi data, menggabungkan data dari berbagai sumber data yang berbeda
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
c.
Seleksi data dan transformasi data, untuk menentukan kualitas dari hasil data mining, sehingga data diubah menjadi bentuk yang sesuai untuk dimining
d.
Penerapan data mining menggunakan analisis asosiasi dengan algoritma apriori sebagai cara untuk menemukan pola yang ada di dalam asosiasi
e.
Evaluasi pola yang ditentukan, menampilkan hasil dari teknik data mining berupa aturan yang khas maupun mengukur hasil akhir
f.
Presentasi pengetahuan, merupakan tahap terakhir dari proses data mining yaitu memformulasikan keputusan atau aksi dari hasil analisa yang di dapat
4. Pembuatan Dokumen Metodologi yang terakhir adalah pembuatan dokumen berdasarkan semua metodologi penelitian yang sudah dilakukan 1.6
Sistematika Penulisan Sistematika penulisan yang akan digunakan adalah sebagai berikut : BAB I PENDAHULUAN Bab ini akan menjelaskan latar belakang, perumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metodologi penelitian dan sistematika penulisan. BAB II LANDASAN TEORI Bab ini akan menjelaskan dasar-dasar teori tentang sistem yang dipergunakan sebagai landasan utama penelitian dan pembuatan tugas akhir. Bab ini berisi landasan teori yang akan digunakan dalam penelitian ini antara lain pengertian penambangan data, analisis asosiasi, algoritma apriori dan Lift ratio .
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III METODOLOGI PENELITIAN Bab ini akan dijelaskan metedologi penelitian yang akan dibuat untuk Penerapan Data Mining
untuk penentuan analisis asosiasi dengan
algoritma apriori BAB IVHASIL DAN ANALISIS Bab ini berisi tentang hasil dan analisis hasil dari sistem yang telah dibuat untuk penelitian. BAB V PENUTUP Bab ini berisi tentang kesimpulan dan saran dari penelitian yang dibuat yang dipergunakan sebagai pengembangan dan penyempurnaan tugas akhir ini
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II LANDASAN TEORI
Bab ini akan membahas lebih lanjut landasan teori yang digunakan penelitian antara lain pengertian penambangan data, analisis asosiasi, algoritma apriori dan Lift ratio . 2.1
Penambangan Data
2.1.2
Proses Penambangan Data 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 mechine learninguntuk mengekstraksi dan mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai database besar(Turban, ddk. 2005 dalam Kusrini & Luthfi, 2009). Datamining adalah serangkaian proses untuk menggali nilai tambah dari suatu kumpulan data berupa pengetahuan yang selama ini tidak dikatahui manual (Pramudiono, 2006 dalam Kusrini & Luthfi, 2009) Hubungan yang dicari dalam data mining dapat berupa hubungan antara dua atau lebih dalam satu dimensi. Misalnya dalam dimensi produk kita dapat melihat keterikatan pembelian suatu produk dengan produk yang lain. Selain itu, hubungan juga dapat dilihat antara dua atau lebih atribut dan dua atau lebih objek (Ponniah, 2001 dalam Kusrini & Luthfi, 2009) Istilah data mining dan knowledge discovery in database (KDD) sering kali 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 (Fayyad, 1996 dalam Kusrini & Luthfi, 2009).
7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2.1Tahap penemuan Knowledge pada Data Mining Han, et al(2012) Proses KDD secara garis besar dapat di jelaskan sebagai berikut : 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 operational
2.
Pre-processing atau Cleaning Sebelum proses data mining dapat dilaksanakan, perlu dilakukan proses cleaning pada data yang menjadi fokus KDD. Proses cleaning mencakup antara lain membuang duplikasi data, memeriksa data yang inkonsisten, dan memperbaiki kesalahan pada data, seperti kesalahan cetak (tipografi). 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.
Transformation Coding adalah proses transformasi pada data yang dipilih, sehingga data tersebut sesuai untuk proses data mining. Proses coding dalam KDD
8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
merupakan proses kreatif dan sangat tergantung pada jenis atau pola informasi yang akan dicari dalam basis data 4.
Data Mining 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.
Interpretation atau 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 bertentangan dengan fakta atau hipotesis yang ada sebelumnya
2.1
Analisis Asosiasi Analisis asosiasi atau association rules mining adalah teknik data mining
untuk menemukan aturan asosiatif antara satu kombinasi item. Contoh aturan asosiatif dari analisis pembelian di suatu pasar swalayan adalah dapat diketahuinya berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu. Dengan pengetahuan tersebut, pemilik pasar swalayan dapat mengatur penempatan barangnya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu (Kusrini & Luthfi, 2009). Analisis asosiasi dapat digunakan sebagai penelitian untuk data perusahaan sebagai contoh. Setiap harinya perusahaan bisnis mengakumulasikan data transaksi dalam jumlah besar. Jika satu hari ada 100 transaksi, dalam setahun setidaknya ada 36.000 transaksi, bisa dibayangkan jumlahnya jika data tersebut sudah bertahun-tahun. Setelah data selesai digunakan untuk apa data tersebut disimpan, apakah akan disimpan begitu saja atau dibuang begitu saja hingga menjadi sangat banyak jumlahnya. Tentu saja data tidak digunakan maka
9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
perusahaan akan mengalami kerugian. Karena, ada biaya perawatan yang harus di bayar perusahaan untuk menyimpan data-data tersebut. Kita dapat ambil contoh lagi untuk data keranjang belanja pembelian di sebuah supermarket. Pada setiap transaksi pembelian oleh pelanggan terdapat ID transaksi, dan pada setiap transaksi ada sejumlah barang yang dibeli oleh pelanggan. Dengan menerapkan teknik analisis asosiasi, supermarket dapat mengetahui pola pembelian pelanggan. Misalnya, biasanya pelanggan dari kalangan rumah tangga akan membeli minyak, telur dan beras. Dan jarang sekali ada ibu rumah tangga yang menyertai pembelian ketiga barang tersebut dengan topi dan buku. Dengan
mengetahui
pola-pola
pembelian
pelanggan,
manajemen
supermarket dapat membuat keputusan, misalnya, kapan waktu yang tepat untuk promosi diskon barang, bagaimana strategi untuk menghabiskan barang yang kurang laku, bagaimana menerapkan barang yang sebaiknya dibeli bersama-sama dan sebagainya. Pekerjaan yang berkaitan dengan kebutuhan seperti di atas dikenal dengan analisis asosiasi (association analysis). Analisis asosiasi berguna untuk menemukan hubungan penting yang tersembunyi di antara set data yang sangat besar. Hubungan yang sudah ada tersebut direpresentasikan dalam bentuk aturan asosiasi (association rules) atau set aturan item yang sering muncul (Prasetyo,Eko. 2012). Contoh proses perhitungan asosiasi sebagai berikut (Han, Kamber dan Pie. 2012) :
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 2.1 Data Transaksi Semua Merk Elektronik TID T100 T200 T300 T400 T500 T600 T700 T800 T900
List of item_IDS I1, I2, I5 I2, I4 I2, I3 I1, I2, I4 I1, I3 I2, I3 I1, I3 I1, I2, I3, I5 I1, I2, I3
Tabel 2.1 merupakan data transaksi untuk semua merk elektronik yang diambil dari buku sebagai contoh untuk perhitungan manual mengenai proses asosiasi. Untuk nilai minimum supportnya adalah 2 Tabel 2.2 C1 Itemset {I1} {I2} {I3} {I4} {I5}
Sup. Count 6 7 6 2 2
Memisahkan item yang ada dalam transaksi dan menghitung masing-masing kandidat yang ada di transaksi elektronik. Jika nilai peritem tersebut sama atau lebih dari minimum support yang di tentukan maka akan masuk ke perhitungan selanjutnya. Tabel 2.3 L1 Itemset {I1} {I2} {I3} {I4} {I5}
Sup. Count 6 7 6 2 2
11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 2.3 merupakan nilai frekuen yang semua jumlah itemnya masuk dalam kandidat itemset dan langkah selanjutnya yaitu pencarian kandidat 2 itemset . Tabel 2.4 C2 Itemset {I1, I2} {I1, I3} {I1, I4} {I1, I5} {I2, I3} {I2, I4} {I2, I5} {I3, I4} {I3, I5} {I4, I5}
Sup. Count 4 4 1 2 4 2 2 0 1 0
Hasil dari perhitungan untuk penggabungan kandidat 2 itemset , akan dipilih nilai dengan bobot sama dengan atau lebih dari minimumsupport Tabel 2.5 L2 Itemset {I1, I2} {I1, I3} {I1, I5} {I2, I3} {I2, I4} {I2, I5}
Sup. Count 4 4 2 4 2 2
Hasil dari perhitungan untuk kandidat 2 itemset yang nilainya sama atau lebih dari minimumsupport yang akan dilanjutkan untuk perhitungan kandidat 3 itemset Tabel 2.6 C3 Itemset {I1, I2, I3} {I1, I2, I5}
Sup. Count 2 2
Mencari kandidat 3 itemset yang nilainya sama atau lebih dari minimumsupport
12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 2.7 L3 Itemset {I1, I2, I3} {I1, I2, I5}
Sup. Count 2 2
Hasil untuk data transaksi pada Tabel 2.1 untuk data elektronik menghasilkan kandidat 3 itemset dengn aturan sebagai berikut : {I1, I2, I3} dengan nilai support 2 dan {I1, I2, I5} dengan nilai support 2 2.2.1
Aturan Asosiasi Analisis asosiasi berguna untuk menemukan hubungan penting antar item
dalam setiap transaksi, hubungan tersebut dapat menandakan kuat tidaknya suatu aturan dalam asosiasi, untuk itu penemuan aturan asosiasi (association rules discovery) tersebut dapat di definisikan sebagai berikut : Sebagai contoh sejumlah transaksi, dapat mencari semua aturan yang mempunyai support minsup dan confidence minconf, dimana minsup adalah ambang batas support , sedangkan minconf adalah ambang batas confidence . Untuk menemukan aturan asosiasi seperti yang diharapkan maka harus menemukan nilai dari support
yang telah di tentukan. Support
tersebut
merupakan jumlah item pada setiap transaksi yang ada di dalam database. Untuk dapat menemukan nilai support kita dapat mencari semua aturan yang jumlah support minsup. Dalam hal ini dapat digunakan sebagai cara untuk menemukan sebuah nilai confidence . Nilai confidence ditentukan dari nilai support suatu aturan dalam sebuah transaksi. Jikaitemsetpada setiap transaksi tidak sering muncul (infrequent), maka kandidat yang tidak sesuai dengan nilai support minsup tersebut harus segera dipangkas tanpa harus menghitung nilai confidence-nya. Strategi umumdigunakan oleh banyak algoritma penggalian aturan asosiasi adalah memecahkan masalah ke dalam dua pekerjaan utama, yaitu 1.
Frequent itemset generation 13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tujuannya adalah mencari semua itemsetyang memenuhi ambang batas minsup. Itemset itu disebut itemset frekuen (itemset yang sering muncul). 2.
Rules generation Tujuannya adalah mengekstrak aturan dengan confidence tinggi dari itemset frekuen yang ditemukan dalam langkah sebelumnya. Aturan ini kemudian disebut aturan yang kuat (strong rules) (Prasetyo,Eko. 2012).
2.3 Algoritma Apriori Algoritma apriori termasuk jenis aturan asosiasi pada data mining . Selain apriori, yang termasuk pada golongan ini adalah metode generlized rules induction dan algoritma hashbased. Aturan yang menyatakan asosiasi antara beberapa atribut sering disebut affinity analysis atau market bisnis analysis (Larose, 2005 dalam Kusrini & Luthfi, 2009) Pembentukan frequent itemset s dilakukan dengan mencari semua kombinasi item-item yang memiliki support lebih besar atau sama dengan minsup yang telah ditentukan. Beberapa istilah yang digunakan dalam algoritma apriori antara lain (Yulita, 2004) : a.
Support (dukungan) : probabilitas pelanggan membeli beberapa produk secara bersamaan dari seluruh transaksi. Support
untuk aturan XY
adalah probabilitas atribut untuk kumpulan atribut X dan Y yang terjadi secara bersamaan b.
Confidence (tingkat kepercayaan) : probabilitas kejadian beberapa produk dibeli secara bersamaan dimana salah satu produk sudah pasti dibeli. Contoh jika ada n transaksi dimana X dibeli, dan m transaksi dimana X dan Y dibeli secara bersamaan, maka confidence dari aturan if X then Y adalah m atau n
c.
Minimun support : Parameter yang digunakan sebagai batasan frekuensi kejadian atau support count yang harus dipenuhi suatu kelompok data untuk dapat dijadikan aturan
14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
d.
Minimum confidence: parameter yang mendefinisikan minimum level dari confidence yang harus dipenuhi oleh aturan yang berkualitas
e.
Itemset : kelompok produk
f.
Support count: frekuensi kejadian untuk sebuah kelompok produk atau itemset dari seluruh transaksi
g.
Kandidat itemset : itemset-itemset yang akan dihitung support count-nya
h.
Large itemset : itemset yang sering terjadi, atau itemset-itemset yang sudah melewati batas minimum support yang telah ditentukan
Ada dua proses utama yang dilakukan algoritma apriori, yaitu (Yulita, 2004) : 1.
Join (penggabungan) : untuk menemukan Lk, Ckdibangkitkan dengan melakukan proses join Lk-1dengan dirinya sendiri, Ck=Lk-1 * Lk-1, lalu anggota Ckdiambil hanya terdapat didalam L k-1
2.
Prune (pemangkasan) : mengilangkan anggota Ckyang memiliki support count lebih Kecil dari minimum support agar tidak dimasukan ke dalam Lk
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).Metodologi dasar
analisis asosiasi terbagi menjadi dua tahap yaitu sebagai berikut : (Kusrini dan Taufiq Emha Luthfi, 2009) 1.
Analisis pola frekuensi tinggi Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support dalam database. Nilai support sebuah itemdiperoleh dengan rumus berikut. 𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝐴) =
Jumlah transaksi mengandung A Total transaksi
Sementara, nilai support
(2.1)
dari 2 itemdiperoleh dengan menggunakan
rumus:
15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝐴, 𝐵) =
Transaksi mengandung A dan B Transaksi
(2.2)
Seorang analis mungkin hanya akan mengambil aturan yang memiliki support dan/atau confidence yang tinggi. Aturan yang kuat adalah aturanaturan yang melebihi kriteria support dan/atau confidence minimum. Sebuah Itemset menunjukan itemset yang memiliki frekuensi kemunculan lebih dari nilai minimum yang telah ditentukan (). 2.
Pembentukan Aturan Asosiasi Setelah semua pola frekuensi tinggi ditemukan, barulah dicari aturan asosiasi yang memenuuhi syarat minimum untuk confidence dengan menghitung confidence aturan asosiatif A B.Nilai confidence
dari
aturan A B diperoleh rumus berikut. 𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 = P(B𝐴) = 2.4
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔𝐴 𝑑𝑎𝑛 𝐵 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴
(2.3)
Lift Ratio Salah satu cara yang lebih baik untuk melihat kuat tidaknya aturan asosiasi
adalah dengan menghitung Lift ratio. Cara kerja metode ini adalah membagi confidence
dengan expected confidence. Confidence
dapat dihitung dengan
rumus : 𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 = P(B𝐴) =
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔𝐴 𝑑𝑎𝑛 𝐵 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴
(2.3)
Antecedent merupakan sebab yang menjadikan item consequent. Sedangkan Consequentadalah sebuah akibat atau juga item yang akan dibeli setelah membeli Antecedent. Nilai dari expected confidence dapat dihitung dengan rumus : 𝐸𝑥𝑝𝑒𝑐𝑡𝑒𝑑 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 =
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐵 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖
(2.4)
Lift ratio dapat dihitung dengan cara membandingkan antara confidence untuk suatu aturan dibagi dengan expected confidence . Berikut rumus dari Lift ratio :
16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒
𝐿𝑖𝑓𝑡 𝑅𝑎𝑡𝑖𝑜 = 𝐸𝑥𝑝𝑒𝑐𝑡𝑒𝑑𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 Nilai Lift ratio
(2.5)
lebih besar dari 1 menunjukkan adanya manfaat dari aturan
tersebut. Lebih tinggi nilai Lift ratio , leih besar kekuatan asosiasinya (Santosa, 2007).
17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III METODOLOGI PENELITIAN
Dalam metodologi penelitian ini akan dijelaskan lebih rinci mengenai data, dan proses penelitian. Data berisi mengenai sumber data dan apa saja proses yang digunakan untuk penelitian Penentuan Aturan Asosiasi Dengan Algoritma Apriori Untuk Transaksi Penjualan Kerupuk (Studi Kasus : Industri Kerupuk “Sri Tanjung”) 3.1
Diagram Blok Penelitian Berikut ini adalah diagram blok alur atau tahapan proses yang dilakukan
dalam penelitian sebagai berikut :
Data
Proses
Hasil atau Rules
1. Frequent Itemset 2. Generate Rule 3. Sorting
Gambar 3.1Diagram BlokPenelitian 3.2
Data Jawa Barat memiliki potensi sektor perikanan yang sangat besar, baik perikanan darat maupun perikanan lepas pantai yang tidak hanya mencukupi untuk kebutuhan lokal, namun juga diekspor ke luar negeri. Salah satu daerah potensial di Provinsi Jawa Barat adalah Kabupaten Indramayu. Indramayu adalah sebuah tempat dimana kekayaan hasil laut yang melimpah mulai dari ikan, udang, cumi dan lain-lain. Sebagaian
18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
besar wilayah indramayu dekat dengan pesisir pantai. Pengembangan Industri
hasil
perikanan
merupakan
salah
satu
prioritas
dalam
pembangunan nasional di sektor perindustrian. Industri pengolahan ikan di Indramayu yang potensial adalah industri pengolahan kerupuk ikan atau udang yang ditandai dengan adanya peningkatan jumlah unit usaha dari kalangan kecil sampai menengah ke atas dalam setiap tahunnya. Sentra industri kerupuk terbesar yang ada di wilayah indramayu terdapat di Desa Kenanga dimana kerupuk tersebut dibuat dan di produksi untuk konsumsi dalam negri ataupun luar negri. Tidak sedikit industri pengolahan tersebut banyak memasarkan produknya sampai keluar negri dan menembus pasar internasional dilihat dari perkembangan kerupuk tersebut meningkah dalam setiap tahunnya. Di desa Kenanga banyak sekali indutri dan rumah-rumah yang mengolah sebagian hasil laut menjadi makanan seperti kerupuk. Industri besar yang ada di wilayah desa Kenanga yaitu dua gajah, sri tanjung, bunga sari,bulak kapal, gedong gincu, padi kapas dan lain-lain. Tidak hanya menjual kerupuk saja di desa tersebut banyak menjual olahan ikan asin dan juga terasi. Didesa Kenanga indutri rumahan sangat berkembang maka dari itu banyak sekali rumah-rumah yang menjual hasil olahannya ke berbagai pasar yang ada di wilayah Indramayu. Saat ini untuk setiap data transaksi penjualan banyak mengalami peningkatan dan data tersebut tersimpan dalam jumlah yang sangat banyak. Banyaknya data tersebut dapat mempengaruhi banyaknya barang yang dibeli oleh konsumen. Untuk meminimalisasi banyaknya data yang tersimpan dalam jumlah yang sangat besar untuk setiap transaski maka, seharusnya data tersebut dimanfaatkan untuk melihat keterikan setiap jenis barang yang dibeli oleh konsumen secara bersamaan. Data tersebut nantinya bisa digunakan sebagai referensi produsen dalam menambah jumlah produksi. Data tersebut didapat dari industri kerupuk yang bernama“Sri Tanjung” yang berada di Desa Dukuh. Sentra industri kerupuk yang
19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
berada di wilayah Indramayu masih menggunakan sistem arsip nota penjualan atau laporan dengan menggunakan buku tahunan, belum adanya sistem yang mengatur penyimpanan data penjualan tersebut banyak membuat produsen kadang hanya mencatat sebagian transaksi saja. Industri kerupuk “Sri Tanjung” merupakan salah satu dari banyaknya industri-industri lain yang ada di sekitar Kenanga yang data transaksinya belum digunakan secara maksimal karena belum adanya sistem yang dapat mengolah data penjualan. Industri yang berada disanapun belum mempunyai sistem yang dapat menampung data transaksi maupun data penjualan karena semua datanya itu disimpan sebagai laporan dan belum tersimpan rapih. Dari data transaksi penjualan kerupuk tersebut akan dilihat dan dicari keterikatan antara jenis kerupuk satu dengan kerupuk lainnya yang akhirnya dapat diketahui jenis kerupuk yang sering di beli oleh konsumen. Untuk melihat jenis kerupuk yang dibeli secara bersamaan tersebut sangat sulit jika dilakukan secara manual karena data transaksi yang ada dalam jumlah yang banyak. Masalah ini dapat di atasi dengan menggunakan teknologi penambangan data karena dengan penambangan data, dapat ditemukan informasi yang berguna yang belum di ketahui informasi sebelumnya. Penelitian ini dimulai dengan studi pustaka yang berhubungan dengan metode dan transaksi penjualan kerupuk. Selanjutnya adalah proses pengumpulan data. Data kerupuk “Sri Tanjung” yang akan digunakan diambil dari beberapa nota yang ada di dalam sebuah transaksi perhari dalam jangkah waktu satu tahun yaitu tahun 2015. Setelah data terkumpul barulah akan dimulai proses penelitian. Dari data transaksi tersebut akan diambil datanya perlabel pada setiap hari transaksi. Aribut yang gunakan untuk proses penelitian ini adalah atribut jenis atau produk kerupuk atau sama dengan produk kerupuk yang lainnya dibeli konsumen. Data setiap transaksi label dalam kerupuk diperoleh setiap hari transaksi. Dalam penelitian ini akan mencoba mencari aturan asosiasi antar jenis
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
kerupuk yang terdapat dalam setiap produksi. Hanya jenisproduk saja yang digunakan untuk setiap transaksi yang diproses dalam sistem yang nantinya bisa digunakan produsen untuk melihat jenis kerupuk mana yang banyak diminati kosumen. Data transaksi kerupuk dapat dilihat pada Tabel 3.1 Tabel 3.1 Transaksi Kerupuk Transaksi 1 2 3 4 5 6 7 8 9 10
Nama Barang Merpati1, Blaster 1, Lidah, Tanggung, Garuda Poleng Merpati1, Sirian Merpati, Kecil, Bawang Kancing, Jengkol Merpati1, Sirian Merpati, Lidah, Tanggung, Kecil, Bawang Kancing, Jengkol Merpati1, Sirian Merpati, Blaster 1, Tanggung, Bawang Kancing Merpati1, Lidah, Tanggung, Bawang Kancing, Garuda Poleng, Jengkol Merpati1, Sirian Merpati, Blaster 1, Tanggung, Bawang Kancing Merpati1, Sirian Merpati, Blaster 1, Tanggung, Bawang Kancing Merpati1, Sirian Merpati, Blaster 1, Bawang Kancing, Jengkol Merpati1, Sirian Merpati, Blaster 1, Kecil Merpati1, Sirian Merpati, Blaster 1, Lidah, Tanggung, Kecil, Bawang Kancing
Tabel 3.1 merupakan sebagaian data mentah transaksi penjualan kerupuk “Sri Tanjung”. Data mentah tersebut diambil dari transaksi penjualan dan diambil
peritem
setiap
hari.
Proses
selanjutnya
adalah
proses
preprocessing yang dilakukan secara manual. Proses preprocessing tersebut meliputi seleksi data yaitu pemilihan data dari sekumpulan data sehingga data yang digunakan tidak memiliki duplikasi dan inkonsisten data dan transformasi data yaitu proses transformasi pada data yang telah dipilih, sehingga data tersebut sesuai untuk proses data mining . Data mentah akan diubah menjadi data dalam bentuk angka atau dalam bentuk
21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
label dengan keterangan.Nilai untuk item adalah 1 jika item tersebut ada dalam transaksi, atau 0 jika tidak ada dalam transaksi.
Tabel 3.2 Representasi Biner Untuk Transaksi Kerupuk
NO
1
1 1 1 1 1 1 1 1 1 1
2 0 1 1 1 0 1 1 1 1 1
3 1 0 0 1 0 1 1 1 1 1
4 1 0 1 0 1 0 0 0 0 1
5 1 0 1 1 1 1 1 0 0 1
6 0 1 1 0 0 0 0 0 1 1
7 0 1 1 1 1 1 1 1 0 1
8 1 0 0 0 1 0 0 0 0 0
9 0 1 1 0 1 0 0 1 0 0
10 0 0 0 0 0 0 0 0 0 0
Penjelasan representasi biner untuk Tabel 3.2 adalah penjelasan untuk nama item yang ada di sebuah transaksi yang ada di industri kerupuk yaitusebagai berikut : 1.
Merpati 1
2.
Sirian merpati
3.
Blaster 1
4.
Lidah
5.
Tanggung
6.
Kecil
7.
Bawang kancing
8.
Garuda poleng
9.
Jengkol
10. Kulit Tabel 3.2 merupakan representasi dari bentuk biner dengan nilai 1 dan 0. Tabel data transaksi kerupuk ini menandakan jika ada transaksi kerupuk yang dibeli 22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
konsumen maka bernilai 1 dan jika tidak ada transaksi bernilai 0. Data transaksi ini merupakan data yang digunakan untuk proses penelitian. 3.3
Proses Setelah melalui tahapan proses mengenai data yang akan di gunakan maka
langkah selanjutnya yaitu proses untuk tahap alur perhitungan untuk sistem yang akan dibuat sebagai berikut : 3.3.1
FreqItemset Proses pertama yang dilakukan pada alat uji adalah proses FreqItemset.
Pada proses ini dilakukan pengelompokan label berdasarkan transaksi. Untuk melakukan proses FreqItemset harus memasukan data kerupuk dan nilai minimum support yang ditentukan. Support
(dukungan): probabilitas
pelanggan membeli beberapa produk secara bersamaan dari seluruh transaksi. Dihitung dengan rumus sebagai berikut (2.1) : 𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝐴) =
Jumlah transaksi mengandung A Total transaksi
Sementara, nilai support dari 2 item diperoleh dengan menggunakan rumus sebagai berikut (2.2) : 𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝐴, 𝐵) =
Transaksi mengandung A dan B Transaksi
Untuk menemukan frequent item set dapat dihitung dengan menggunakan rumus
support
yaitu
menggabungkan
Antecedent
(pendahulu)
dan
Consequent (pengikut) dalam setiap transaksi dan dibagi dengan jumlah seluruh data yang ada di dalam basis data atau total transaksi. Jika di dalam sebuah transaksi dapat memasukan nilai minimum support yang di tentukan, maka
hasil
dari
keluaran
data
tersebut
berupa
Antecedent
dan
Consequentyang terdiri dari satu itemset pada setiap transaksi. Dalam hal ini frequent item set yaitu menghitung beberapa item yang ada di dalam sebuah transaksi yang kemudian item tersebut dan dihitung dengan menggunakan support. Nilai support dari suatu itemset merupakan penggabungan item dari
23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
setiap transaksi yang memiliki nilai minimumsupport
atau lebih dari
minimum support yang telah ditentukan. Semua itemset yang support -nya lebih tinggi dari nilai minimum yang ditetapkan user
disebut dengan
minimum support. Nilai minimum supportuntuk pengujian sistem ini adalah 0.7 Implementasi pada perhitungan untuk data transaksi pada Tabel 3.1yang data tersebut belum di ubah menjadi bentuk biner dan dapat dihitung secara manual adalah sebagai berikut : Tabel 3.3 C1 No
Item
1
Merpati 1
10
2
Sirian Merpati
8
3
Blaster 1
7
4
Lidah
4
5
Tanggung
7
6
Kecil
4
7
Bawang kancing
8
8
Garuda Poleng
2
9
Jengkol
4
10
Kulit
0
Menghitung kandidat 1-itemset (himpunan yang terdiri dari 1 item) dan menghitung nilai support nya, kemudian nilai support tersebut dibandingkan dengan minimum support yang telah di tentukan, jika nilai lebih besar atau sama dengan minimum support maka itemset masuk ke dalam langkah selanjutnya
24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.4 L1 No 1 2 3 4 5
Item Merpati 1 Sirian Merpati Blaster 1 Tanggung Bawang Kancing
10 8 7 7 8
Tabel 3.4 merupakan hasil dari kandidat itemset yang memiliki nilai support yang sama atau lebih besar dari minimum support yang telah ditentukan yaitu 0.7, kemudian hasil dari itemset tersebut masuk ke dalam large itemset yang akan menghasilkan kandidat itemset dengan menggabungkan dua item jika item tersebut masuk dalam nilai support yang telah di tentukan. Tabel 3.5 C2 No 1 2 3 4 5 6 7 8 9 10
Item Merpati 1, Sirian Merpati Merpati 1, Blaster 1 Merpati 1, Tanggung Merpati 1, Bawang Kancing Sirian Merpati, Blaster 1 Sirian Merpati, Tanggung Sirian Merpati, Bawang Kancing Blaster 1, Tanggung Blaster 1, Bawang Kancing Tanggung, Bawang Kancing
8 7 7 8 6 5 7 5 5 6
Supp Confi 0,8 0,8 0,7 0,7 0,7 0,7 0,8 0,8 0,6 0,75 0,5 0,62 0,7 0,5 0,5 0,6
0,87 0,71 0,71 0,85
Lift EC ratio 0,8 1 0,7 1 0,7 1 0,8 1 0,7 1,07 0,7 0,89 0,8 0,7 0,8 0,8
1,09 1,02 0,89 1,07
Tabel 3.5 merupakan hasil dari kandidat penggabungkan kedua itemset yang dipilih secara random, jika hasil support dari kedua itemset tersebut memiliki nilai yang sama dengan minimum support maka akan masuk pada tahap selanjutnya yaitu menggabungkan ketiga itemset yang memiliki nilai support yang telah ditentukan.
25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.6 L2 No 1 2 3 4
Item Merpati 1, Sirian Merpati Merpati 1, Blaster 1 Merpati 1, Tanggung Merpati 1, Bawang Kancing Sirian Merpati, Bawang 5 Kancing
8 7 7 8 7
Lift Supp Confi EC ratio 0,8 0,8 0,8 1 0,7 0,7 0,7 1 0,7 0,7 0,7 1 0,8 0,8 0,8 1 0,7
0,87
0,8
1,09
Tabel 3.6 merupakan hasil dari penggabungan kedua itemset yang memiliki nilai support 0.7 atau lebih dari minimum support yang kemudian hasil dari itemset tersebut dapat digabungkan membentuk kandidat 3 itemset.
26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.7 C3 No 1 2 3 4 5 6 7 8 9 10 11 12
Item Merpati 1 Sirian Merpati, Blaster 1 Merpati 1, Sirian Merpati Blaster 1 Merpati 1 Sirian Merpati, Tanggung Merpati 1, Sirian Merpati Tanggung Merpati 1 Sirian Merpati, Bawang Kancing Merpati 1, Sirian Merpati Bawang Kancing Sirian Merpati Blaster 1, Tanggung Sirian Merpati, Blaster 1 Tanggung Sirian Merpati Blaster 1 , Bawang Kancing Sirian Merpati, Blaster 1 Bawang Kancing Blaster 1 Tanggung, Bawang Kancing Blaster 1, Tanggung Bawang Kancing
Supp Confi EC Lift ratio 6 0,6 0,6 0,6 1 6
0,6
0,75
0,7
1,07
5
0,5
0,5
0,5
1
5
0,5
0,62
0,7
0,89
7
0,7
0,7
0,7
1
7
0,7
0,87
0,8
1,09
4
0,4
0,5
0,5
1
4
0,4
0,66
0,7
0,95
5
0,5
0,62
0,5
1,25
5
0,5
0,83
0,8
1,04
4
0,4
0,57
0,6
0,95
4
0,4
0,8
0,8
1
Tabel 3.7 merupakan hasil dari kandidat penggabungkan ketiga itemset dan item tersebut di dapat dari perhitungan pada Tabel 3.6 yang itemnya dipilih secara random, jika hasil support dari ketiga itemset tersebut memiliki nilai yang sama dengan minimum support maka akan masuk pada tahap selanjutnya yaitu memilih ketiga itemset yang telah ditentukan support dan minimum support yang telah ditentukan.
27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.8 L3 No
Item Merpati 1Sirian Merpati, 1 Bawang Kancing Merpati 1, Sirian Merpati 2 Bawang Kancing
Lift Supp Confi EC ratio 7 0,7 0,7 0,7 1 7
0,7
0,87
0,8
1,09
Tabel 3.8 menghasilkan nilai untuk perhitungan kandidat 3 itemset yang memiliki nilai support 0.7 yaitu bahwa jika konsumen membeli kerupuk merpati 1, maka konsumen juga akan membeli sirian merpati juga bawang kancing dan jika konsumen membeli kerupuk merpati 1, sirian merpati maka akan membeli kerupuk bawang kancing 3.3.2
Generate Rule Setelah selewati proses FreqItemset, maka akan dilakukan proses
GenerateRule yang berfungsi untuk menggabungkan semua frequent item set yang memiliki satu set item dari semua transaksi yang masuk. Setiapitemset merupakan sebuah kandidat dari frequent itemset, menghitung support dari tiap kandidat dengan mengecek data seluruh transaksi dimana data yang termasuk kedalam minimum supportdan terakhir mencocokan setiap transaksi terdapat setiap kandidat pada itemset. Dalam generate rules sendiri yaitu akan membentuk sebuah rules yang akan menghasilkan aturan itu sendiri. Dalam generate rules ini harus memasukan berupa nilai minimumsupport dan confidence . Nilai support digunakan untuk probabilitas pelanggan membeli beberapa produk secara bersamaan dari seluruh transaksi Sedangkan confidence probabilitas kejadian beberapa produk dibeli secara bersamaan dimana salah satu produk sudah pasti dibeli. Rumus confidence adalah sebagai berikut (2.3) : 𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 = P(B 𝐴) =
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔𝐴 𝑑𝑎𝑛 𝐵 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴
28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Confidence di dalam masukan user adalah confidence untuk menemukan nilai minimum yang akan diberikan user untuk data itu sendiri yang memenuhi syarat perhitungan nilai, sedangkan confidence output adalah hasil dari masukan yang berupa aturan dan hasil dari minimum atau lebih dari minimum confidence yang telah dimasukan user. Nilai minimum confidence untuk pengujian sistem ini adalah 0.7. Rules adalah sebuah hasil dari penggabungan perhitungan nilai minimum support dan minimum confidence. Sebagai contoh : {merpati 1, bawang kancing} Lift ratio adalah cara lebih baik untuk melihat kuat atau tidaknya aturan asosiasi. Di dalam rumus Lift ratio
kita harus menemukan nilai untuk perhitungan
expected confidence. Antecedent merupakan sebab yang menjadikan item consequent. Sedangkan Consequent adalah sebuah akibat atau juga item yang akan dibeli setelah membeli Antecedent. Untuk menghitung expected confidence yang digunakan adalah nilai Consequent. Nilai dari expected confidence dapat dihitung dengan rumus sebagai berikut (2.4) : 𝐸𝑥𝑝𝑒𝑐𝑡𝑒𝑑 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 =
𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝑚𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐵 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖
Lift ratio dapat dihitung dengan cara membandingkan antara confidence untuk suatu aturan dibagi dengan expected confidence . Berikut rumus dari Lift ratio sebagai berikut (2.5): 𝐿𝑖𝑓𝑡 𝑅𝑎𝑡𝑖𝑜 =
𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝐸𝑥𝑝𝑒𝑐𝑡𝑒𝑑 𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒
Dengan menggunakan perhitungan Lift ratio dapat dilihat bahwa aturan tersebut strong rules.
29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Untuk aturan asosiasi yang memenuhi syarat minimum support dan confidence . Langkah pertama, menemukan frequent item set, yaitu itemset yang memenuhi support yang diiginkan. Selanjutnya, dari frequent itemset tadi, kita kembangkan aturan asosiasi yang memenuhi syarat minimum confidence. Langkah pertama dimaksudkan untuk menghilangkan kombinasi item yang jarang ada di dalam basis data. Langkah kedua untuk menyaring aturan yang tersisa dan memilih mana yang mempunyai minimum confidence yang tinggi. Hasil penggabungan untuk data transaksi yang menghasilkan nilai aturan, confidence dan Lift ratio terdapat di dalam tabel-tabel berikut : 1.
Tabel 3.5 merupakan hasil dari perhitungan kandidat 2 itemset yang memiliki nilai support dan confidence yang telah di tentukan. Jika itemset tersebut memiliki nilai sama dengan minimum support dan nilai confidence sama dengan minimum confidence maka itemset tersebut akan masuk ke dalam kandidat lager itemset yang dapat digabungkan menjadi 3 itemset. Nilai Lift ratio yang yang lebih besar dari 1 memiliki aturan yang kuat untuk item tersebut.
2.
Tabel 3.6 merupakan hasil dari penggabungan kedua itemset yang memiliki nilai support atau lebih dari minimum support yang telah ditentukan dan memiliki nilai confidence dan minimum confidence yang telah ditentukan nilainya. Kemudian hasil dari itemset tersebut dapat digabungkan membentuk kandidat 3 itemset. Nilai Lift ratio yang yang lebih besar dari 1 memiliki aturan yang kuat untuk item tersebut.
3.
Tabel 3.7 merupakan hasil dari kandidat penggabungkan ketiga itemset dan item tersebut di dapat dari perhitungan pada Tabel 4.0 yang itemnya dipilih secara random dan langkah selanjutnya menemukan kandidat 3 itemset yang memiliki nilai support yang sama dengan minimum support dan confidence yang sama dengan minimum confidence. Nilai Lift ratio yang yang lebih besar dari 1 memiliki aturan yang kuat untuk item tersebut.
30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.
Tabel 3.8 menghasilkan nilai untuk perhitungan kandidat 3 itemset yang memiliki nilai support dan confidence 0.7 yaitu bahwa jika konsumen membeli kerupuk merpati 1, maka konsumen juga akan membeli sirian merpati juga bawang kancing dan jika konsumen membeli kerupuk merpati 1, sirian merpati maka akan membeli kerupuk bawang kancing. Nilai Lift ratio yang yang lebih besar dari 1 memiliki aturan yang kuat untuk item tersebut. Tabel 3.9 Hasil Aturan
No 1 2 3 4 5 6 7
Item Merpati 1 Sirian Merpati Merpati 1 Blaster 1 Merpati 1 Tanggung Merpati 1 Bawang Kancing Sirian Merpati Bawang Kancing Merpati 1 Sirian Merpati, Bawang Kancing Merpati 1, Sirian Merpati Bawang Kancing
Lift ratio
8 7 7 8
Supp 0,8 0,7 0,7 0,8
Confi 0,8 0,7 0,7 0,8
EC 0,8 0,7 0,7 0,8
1 1 1 1
7
0,7
0,87
0,8
1,09
7
0,7
0,7
0,7
1
7
0,7
0,87
0,8
1,09
Tabel 3.9 merupakan hasil untuk perhitungan dari data transaksi yang ada pada data mentah Tabel 3.1 dari data tersebut menghasilkan sejumlah 7 aturan yang memiliki nilai support, confidence , expected confidence dan Lift ratio hasil tersebut merupakan data sudah ditentukan nilai support dan confidence nya sebesar 0.7 Hasil dari confidence
yang ada di dalam setiap transaksi ini sama dengan
confidence yang dimasukan user tetapi dalam confidence yang ada di dalam generate rules ini berupa hasil confidence yang akan menampilkan hasil dari setiap aturan di dalam transaksi yang ada di seluruh basis data. Aturan tersebut dipilih secara random yang memenuhi syarat minimum confidence itu sendiri. Lift ratio adalah cara untuk melihat kuat tidaknya suatu aturan dalam algoritma 31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
asosiasi. Nilai Lift ratio lebih besar dari 1 menunjukan adanya manfaat dari aturan tersebut. lebih tinggi nilai Lift ratio, lebih besar aturan asosiasinya. 3.3.3
Sorting Tahap ketiga dari proses alat uji adalah proses sorting yaitu menampilkan
semua data hasil dari proses RulesVerbose yang nilai confidence nya lebih besar atau sama dengan nilai confidence yang dimasukan user. Dalam sorting ini jika user memasukan nilai confidence kurang dari nilai yang dimasukan user maka pada bagian ini nilai confidence tersebut tidak akan ditampilkan sistem. Karena pada bagian sistem ini akan memilih nilai yang benar-benar masuk dalam kriteria confidence yang lebih dari atau sama dengan user masukan. Tabel 3.9 menampilkan 7 hasil aturan. Perhitungan pertama dari hasil tersebut berupa masukkan nilai support dan confidence sebesar 0.7 Hasil tersebut mengampilkan aturan sebagai berikut : 1. Sirian merpati bawang kancing dengan nilai confidence 0.87 dan Lift ratio 1,09 2. Merpati 1, sirian merpati bawang kancing dengan nilai confidence 0.87 dan Lift ratio 1.09 3. Merpati 1 sirian merpati dengan nilai confidence 0.8 dan Lift ratio 1 4. Merpati 1 blaster 1 dengan nilai confidence 0.7 dan Lift ratio 1 5. Merpati 1 tanggung dengan nilai confidence 0.7 dan Lift ratio 1 6. Merpati 1 bawang kancing 0.8 dan Lift ratio 1 7. Merpati 1 sirian merpati , bawang kancing dengan nilai confidence 0.7 dan Lift ratio 1 Perhitungan keduadari hasil tersebut berupa masukkan nilai support dan confidence sebesar 0.8 menghasilkan 2 aturan sebagai berikut : 1. Merpati 1 sirian merpati dengan nilai confidence 0.8 dan Lift ratio 1 2. Merpati 1 bawang kancing 0.8 dan Lift ratio 1
32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Untuk hasil aturan yang di tampilkan dalam sistem hanya menampilkan support dan confidence yang user masukan saja. Jika support dalam aturan tersebut lebih besar dari nilai minimum support tetapi hasil aturan untuk nilai confidence lebih rendah dari minimum confidence, maka aturan tersebut tidak akan ditampilkan di dalam sistem. 3.4
Rincian Algoritma Untuk Proses Asosiasi
3.4.1
Metode-metode yang digunakan dalam proses asosiasi
Nama Metode Fungsi Metode
Frequent Itemset(data, minsupport) Memisahkan data peritem dari seluruh transaksi dan menghitung jumlah support count atau jumlah setiap item dari seluruh transaksi
Algoritma : 1. Memisahkan item yang unik dari seluruh transaksi dan menghitung rumus minimum support 2. Setelah memisahkan peritem data yang unik maka akan menghitung support count dari jumlah setiap item yang ada di seluruh transaksi 3. Jika nilai support count yang di hitung lebih dari batas minimum support yang telah di tentukan maka akan di ijinkan untuk masuk langkah perhitungan selanjutnya dan jika nilai support count tersebut tidak memenuhi batas minimum support maka tidak masuk perhitungan selanjutnya 4. Setelah nilai support count masuk ke dalam perhitungan untuk memilih kandidat untuk item ke i dari seluruh transaksi maka akan di lanjutkan dengan perhitungan kandidat 5. Jika kandidat tersebut nilainya memenuhi ambang batas minimum support yang ditentukan maka akan masuk ke dalam bagian dari itemset yang nilainya frekuen (nilai yang memenuhi ambang batas support) Nama Metode Fungsi Metode
Generate Rule(itemset, conf, data) Menjumlahkan dan menggabungkan item Antecedent dan consequent menjadi sebuah itemset jika itemset tersebut nilainya sama atau lebih dari batas minimum support yang di tentukan maka akan membentuk sebuah rules dengan menampilkan masing-masing nilai rules bersamaan dengan nilai confidence dan lift ratioyang memenuhi ambang batasan yang telah di tentukan
Algoritma : 1. Persiapan untuk membentuk sebuah rules yaitu dengan menghitung hasil dari item Antecedent dengan item consequent 2. Jika item tersebut nilainya sama atau lebih dari ambang batas minimum support maka akanmembentuk sebuah itemset 3. Dan jika itemset tersebut sudah ditemukan maka akan masuk ke dalam rules 4. Setelah nilai rules sudah di dapatkan maka akan menghitung nilai confidence untuk setiap rules, hasil confidence di dapat jika nilai dari itemset antecendent dan consequent dibagi dengan nilai antecendent tersebut memenuhi ambang batas minimum confidence yang telah di tentukan
33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5. 6.
Jika sudah ditemukan hasil berupa rules dan confidence yang memenuhi ambang batas minimumnya maka akan menghitung nilai lift rationya Langkah selanjutnya yaitu menghasilkan berupa data rules bersamaan dengan nilai confidence dan lift ratio untuk masing-masing rules yang sudah ditemukan dari seluruh transaksi yang memenuhi ambang batas yang sudah di tentukan
Nama Metode Fungsi Metode
Sorting(r, confi) Menampilkan hasil secara berurutan berdasarkan nilai lift ratio tertinggi dan menampilkan data confidence yang nilainya sama atau lebih dari yang di tentukan
Algoritma : 1. Data yang akan ditampilkan adalah data yang nilainya sama dengan atau lebih dari data yang dimasukkan 2. Jika data yang dimasukan kurang dari minimum confidence tidak akan ditampilkan didalam sistem
3.5
Hasil atau Rules Berdasarkan data transaksi penjualan kerupuk hasil yang di dapat untuk
transaksi dengan nilai minimum support dan confidence sebesar 0.7 menghasilkan aturan sebagai berikut : 1. Sirian merpati bawang kancing dengan nilai confidence 0.87 dan Lift ratio 1,09 2. Merpati 1, sirian merpati bawang kancing dengan nilai confidence 0.87 dan Lift ratio 1.09 3. Merpati 1 sirian merpati dengan nilai confidence 0.8 dan Lift ratio 1 4. Merpati 1 blaster 1 dengan nilai confidence 0.7 dan Lift ratio 1 5. Merpati 1 tanggung dengan nilai confidence 0.7 dan Lift ratio 1 6. Merpati 1 bawang kancing 0.8 dan Lift ratio 1 7. Merpati 1 sirian merpati , bawang kancing dengan nilai confidence 0.7 dan Lift ratio 1 Analisis hasil untuk aturan tersebut adalah sebagai berikut : 1. Jika konsumen membeli Merpati 1, maka akan membeli Kerupuk Sirian Merpati 2. Jika konsumen membeli Merpati 1, maka akan membeli kerupuk Blaster 1
34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3. Jika konsumen membeli Merpati 1, maka akan membeli kerupuk Tanggung 4. Jika konsumen membeli Merpati 1, maka akan membeli kerupuk Bawang Kancing 5. Jika konsumen membeli Sirian Merpati, maka akan membeli kerupuk Bawang Kancing 6. Jika konsumen membeli Merpati 1, maka akan membeli kerupuk Sirian Merpati juga Bawang Kancing 7. Jika konsumen membeli Merpati 1 dan Sirian Merpati, maka akan membeli kerupuk Bawang Kancing 3.6
Spesifikasi Software dan Hardware Spesifikasi software dan hardware yang digunakan dalam implementasi
sistem ini adalah : Bahasa pemrograman
: MATLAB R2012b
Processor
: Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz
2.40 GHz Memory
: 2,00 GB
Operating System (OS)
: Windows 10 Pro 32-bit, x64- Based Processor
35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV DISAIN IMPLEMENTASI HASIL ANALISIS
Bab ini membahas lebih rinci hal-hal yang berkaitan dengan hasil dan analisis yang didapatkan dari pengujian-pengujian yang akan dilakukan dari hasil pengujian. 4.1
Hasil Berdasarkan hasil pengujian yang dilakukan dengan menggunakan
Asosiasi Algoritma Apriori dengan menggunakan masukan minimum support dan confidence , didapat hasil seperti Tabel 4.1 berikut ini. Tabel 4 1Hasil Percobaan HASIL RULES UNTUK POLA ASOSIASI Min Support Antecedent Consequent Confidence Lift dan Confidence ratio 0.7 [Merpati 1] [Sirian Merpati] 0.98 1.00 [Merpati 1]
[Tanggung]
0.72
1.00
[Merpati 1]
[Bawang Kancing]
0.84
1.00
[Sirian Merpati] [Merpati 1]
[Bawang Kancing]
0.84
1.00
[Sirian Merpati Bawang Kancing]
, 0.82
1.00
[Merpati 1, [Bawang Kancing] Sirian Merpati] Min Support Antecedent Consequent dan Confidence 0.8 [Merpati 1] [Sirian Merpati]
0.84
1.00
Confidence Lift ratio 0.98 1.00
[Merpati 1]
[Bawang Kancing]
0.84
1.00
[Sirian Merpati] [Merpati 1]
[Bawang Kancing]
0.84
1.00
[Sirian Merpati Bawang Kancing]
, 0.82
1.00
[Merpati 1, [Bawang Kancing] Sirian Merpati]
0.84
1.00
36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Min Support Confidence 0.9
4.2
HASIL RULES UNTUK POLA ASOSIASI dan Antecedent Consequent Confidence Lift ratio [Merpati 1] [Sirian 0.98 1.00 Merpati]
Analisis Tabel 4.1 ini merupakan tabel hasil semua percobaan menggunakan
seluruh data transaksi berjumlah 299 data dengan menggunakan support dan confidence sebesar 0.7, 0.8 dan 0.9 Percobaan pertama untuk masukan nilai min support dan min confidence sebesar 0.7 menghasilkan 6 aturan. 1. Merpati1 Sirian Merpati dengan nilai confidence 0.98 dan Lift ratio 1.00 2. Merpati1 Tanggung dengan nilai confidence 0.72 dan Lift ratio 1.00 3. Merpati 1 Bawang Kancing dengan nilai confidence 0.84 dan Lift ratio 1.00 4. Sirian Merpati Bawang Kancing dengan nilai confidence 0.84 dan Lift ratio 1.00 5. Merpati 1 Sirian Merpati , Bawang Kancing dengan nilai confidence 0.82 dan Lift ratio 1.00 6. Merpati 1, Sirian Merpati Bawang Kancing dengan nilai confidence 0.84 dan Lift ratio 1.00 Dengan memasukan nilai support dan confidence sebesar 0.7 dan menghasilkan 6 aturan dengan hasil aturan terendah Merpati 1 Tanggung dengan nilai confidence 0.72 dan Lift ratio 1.00 dan aturan tertinggi Merpati 1 Sirian Merpati dengan nilai confidence 0.98 dan Lift ratio 1.00 Percobaan kedua memasukan nilai minimum support dan confidence sebesar 0.8 menghasilkan 5 aturan.
37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1. Merpati 1 sirian merpati dengan nilai confidence 0.98 dan Lift ratio 1.00 2. Merpati 1 bawang kancing dengan nilai confidence 0.84 dan Lift ratio 1.00 3. Sirian merpati bawang kancing dengan nilai confidence 0.84 dan Lift ratio 1.00 4. Merpati 1 sirian merpati , bawang kancing dengan nilai confidence 0.82 dan Lift ratio 1.00 5. Merpati 1, sirian merpati bawang kancing dengan nilai confidence 0.84 dan Lift ratio 1.00 Dengan memasukan nilai support dan confidence sebesar 0.8 dan menghasilkan 6 aturan dengan hasil aturan terendah Sirian merpati bawang kancing dengan nilai confidence 0.84 dan Lift ratio 1.00 dan Merpati 1, sirian merpati bawang kancing dengan nilai confidence 0.84 dan Lift ratio 1.00 hasil aturan tertinggi Merpati 1 sirian merpati dengan nilai confidence 0.98 dan Lift ratio 1.00 Percobaan ketiga memasukan nilai minimum support dan confidence sebesar 0.9 menghasilkan 1 aturan. 1. Merpati 1 sirian merpati dengan nilai confidence 0.98 dan Lift ratio 1.00 Dari hasil rules tersebut semua ditampilkan bersama dengan hasil confidence dan Lift ratio . Hasil ini hanya menampilkan jumlah confidence yang lebih dari atau sama dengan user masukan pada sistem. Hal ini dapat dilihat bahwa aturan asosiasi untuk tiap transaksi berbeda-beda karena untuk nilai confidence dan Lift ratio nya. Lift ratio yang lebih besar dari 1 menunjukan adanya manfaat dari aturan tersebut. Lebih tinggi nilai lift rasio, lebih besar kekuatan asosiasinya.
38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.3
DesignInterface Untuk mempermudah dalam melakukan tahap asosiasi pada penelitian
dibuat User Interface. User Interface ini dibuat untuk membantu proses Asosiasi. Berikut merupakan halaman utama dalam penelitian ini :
Gambar 4.1Halaman Utama Halaman digunakan untuk melakukan proses inputan berupa data, nilai support dan confidence . Untuk proses perhitungan Asosiasi. a.
Tombol data merupakan untuk proses pemilihan data yang akan digunakan user
b.
.
Tombol proses merupakan tombol untuk tahap perhitungan asosiasi jika nilai data, support dan confidence sudah dimasukan.
c.
Tombol reset merupakan untuk menghapus masukan dan hasil dasi poses asoasi.
d.
Tombol keluar merupakan jika proses asosiasi sudah selesai digunakan. 39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Implementasi menu inputan dapat dilihat pada gambar dibawah ini :
Gambar 4.2 Halaman Inputan Halaman digunakan untuk menampilkan suluruh data yang dimasukan dan jumlah data. Dapat dilihat pada gambar dibawah ini :
Gambar 4.3Halaman Jumlah Data Halaman Hasil Aturan Asosiasi untuk menampilkan hasil dari proses asosiasi yang akan menampilkan hasil berupa rules, confidence dan Lift ratio pada seiap
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
transaksi yang dipilih secara random yang memiliki nilai confidence lebih dari atau sama dengan masukan user .
Gambar 4.4 Halaman Hasil Aturan Asosiasi Halaman hasil aturan asosiasi yang menampilkan rules, confidence dan lift ratio yang nilai minimal support dan minimal confidencenya sudah dimasukan. Tombol simpan adalah untuk menyimpan hasil aturan yang ada di dalam sistem.
41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V PENUTUP
5.1
Kesimpulan Dari hasil penelitian ini, dengan menggunakan Analisis asosiasi
denganalgoritma aprioriuntuk melihat adanya keterikatan suatu produk kerupuk yang dibeli secara bersamaan oleh konsumen dan melihat produk apa saja yang banyak dibeli konsumen maka, dapat diambil kesimpulan, sebagai berikut : 1. Metode
analisis
asosiasi
menggunakan
algoritma
apriori
dapat
menemukan aturan asosiasi untuk industri kerupuk “Sri Tanjung” dan Algoritma apriori mampu menemukan aturan asosiasi dengan melihat item kerupuk yang banyak dibeli konsumen bersamaan dengan item kerupuk lainnya. 2. Untuk hasil aturan yang di tampilkan dalam sistem hanya menampilkan support dan confidence yang user masukan saja. Jika support dalam aturan tersebut lebih besar dari nilai minimum support tetapi hasil aturan untuk nilai confidence lebih rendah dari minimum confidence, maka aturan tersebut tidak akan ditampilkan di dalam sistem. 3. Untuk melihat kuat tidaknya suatu rules dilihat dengan nilai yang dihasilkan dari confidence dan lift rationya 4. Dari pengujian dengan menggunakan support dan confidence sebesar 0.7, 0.8 dan 0.9 menghasilkan rata-rata 0.8 hasil rules terendah sebesar 0.7dan menghasilkan aturan sebagai berikut: {Merpati 1 Sirian Merpati} dengan nilai confidence
0.98 dan Lift ratio 1.00, {Merpati 1 Tanggung}
dengan nilai confidence 0.72dan Lift ratio 1.00, {Merpati 1Bawang Kancing} dengan nilai confidence 0.84dan Lift ratio 1.00, {Sirian merpati Bawang Kancing} dengan nilai confidence 0.84dan Lift ratio 1.00, {{Merpati 1 Sirian Merpati} , Bawang Kancing}} dengan nilai confidence
0.82 dan Lift ratio 1.00, {{Merpati 1, Sirian Merpati}
Bawang Kancing}} dengan nilai confidence 0.84 dan Lift ratio 1.00 42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5.2
Saran Saran untuk penelitian akhir ini adalah : 1. Bisa melakukan proses preprocessing sehingga data bisa langsung digunakan tidak perlu mengubah ke dalam bentuk biner 2. Data ditambah lebih banyak lagi untuk jenis kerupuk.
43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA
Han, et al. (2012). DataMining : Concepts and TechniquesThird EditionNew York : Morgan Kaufmann Deni. 2014. Pengolahan Ikan Indramayu Tembus Ekspor. 5 januari 2015. Diambil dari : http://indramayukab.go.id/component/content/article/40-seputar-indramayu/706pengolahan-ikan-indramayu-tembus-ekspor.html Kusrina, Rina. 2011. Analsis kelayakan Usaha Pengolahan Kerupuk Perusahaan Kerupuk Cap Dua Gajah Indramayu, Jawa Barat. 5 januari 2016. Diambil dari : http://repository.ipb.ac.id/handle/123456789/47692 Kusrini, Taufiq Emha Luthfi. (2009). Algoritma Data Mining. Yogyakarta: Andi Offset. Prasetyo,Eko. 2012. DataMining: Konsep dan Aplikasi Menggunakan Matlab. Yogyakarta : Andi Offset Santosa, Budi. 2007. Data Mining : Teknik Pemanfaatan Data untuk Keperluan Bisnis. Yogyakarta : Graha Ilmu
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
1.
readData.m
% membaca data logical matrix dan diubah menjadi data transaksi function data=readData(logicalMatrix) data=zeros(size(logicalMatrix)); [c r]=find(logicalMatrix'); for i=1:size(logicalMatrix,1) idx=find(r==i); x=c(idx); data(i,1:size(x,1))=x; end end
2.
partition.m
function part=partition(x) c=size(x,2); r=size(x,1); part=cell(r*(c-1),2); index=1; for j=1:r a=x(j,:); temp=cell(c-1,2); for i=1:c-1 temp{i,2}=a(i+1:c); temp{i,1}=a(1:i); end part(index:index+size(temp,1)-1,:)=temp(:,:); index=index+size(temp,1); end end % umtuk membagi data menjadi rules A maka B % membagi data ke dalam rules misalkan % A,B,C % jika A maka B dan C % A dan B maka C
45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.
contains.m
function c=contains(a,b) c=isequal(intersect(a,b),b); end % apakah A ada di dalam B
4.
joincell.m
function a=joincell(c) a=[cell2mat(c(1)) cell2mat(c(2))]; end % untuk menggabungkan cell % cell sendri2 setelah itu di bikin menjadi matrik setelah itu cell digabungkan
46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5.
generateRules.m
function [rules,confi,lift]=generateRules(itemset,conf,data) %n=numel(itemset); % 1. Persiapan Untuk membuat sebuah rules nrules=0; for i=1:size(itemset) set=itemset{i}; nrules=nrules+(size(set,2)-1)*(size(set,1)); end rules=cell(nrules,2); % sebelum membuat rules membuat kotak untuk membuat rules dengan bagiannya % {} atau [] % perisian untuk membuat rules % 2. looping 1 (untuk membuat sebuah rules dimulai dari 2 item karena % dalam membuat rules itu A maka B tidak bisa A maka A dan membagi data % menjadi sebuah rules % 3. setelah ketemu rules yang ada maka hasil pembagian itu akan dimasukan % kedalam rules index=1; for i=1:size(itemset,1)-1 temp=itemset{i+1}(:,:); % untum membuat rules dimulai dari 2 % karena dalam membuat rules itu A maka B tidak bisa A maka A part=partition(temp); % umtuk membagi data menjadi rules A maka B dan membuat partisi dan % indexs di tambah rules(index:index+size(part,1)-1,:)=part(:,:); index=index+size(part,1); % setelah itu hasil pembagiannya dimasukan ke dalam rules end a=[]; if nargout==2 confi=zeros(nrules,1); % untuk menambah output confidence elseif nargout==3 confi=zeros(nrules,1); lift=zeros(nrules,1); % menambahkan output lift ratio end for i=1:size(rules,1) c=confidence (rules(i,:),data); if c>=conf if nargout==2 confi(i)=c; elseif nargout==3
47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
confi(i)=c; lift(i)=liftRatio(rules(i,:),data); % megisi data confidence dan lift ratio end a(end+1)=i; % menambah dan mengisi data yang di panggil dari masukan user end % jika confidence lebih besar dari parameter barulah rules dimasukan end rules=rules(a,:); %conf({A,B}=>{C})=supp({A,B,C})/supp({A,B}) end
6.
freqItemset.m
function itemset=freqItemset(data,minSupport ) %ntrans : jumlah transaksi %nitems : jumlah item/label ntrans=size(data,1); nitems=numel(unique(data))-1; minSupport =minSupport *ntrans; % menghitung supp = minsupp * jmlh transaksi itemset=cell(nitems,1); % item = 1 supcount=zeros(nitems,1); % itemset dengan jumlah item 1 for i=1:nitems supcount(i)=numel(find(data==i)); % untuk menghitung support setiap items % menjadi C1 End itemset{1}=find(supcount>=minSupport ); % menjadi itemset L1 for i=2:nitems temp=nchoosek(itemset{1},i); % memilih Ci item dari itemset for j=1:size(temp,1) sup=0; for k=1:ntrans if contains(data(k,:),temp(j,:)) sup=sup+1; % menghitung support nya end end if sup>=minSupport itemset{i}(end+1,:)=temp(j,:); % menjadi Li adalah nilai yang sudah jadi end
48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
end end %memotong nilai yang kosong pada data/yang tidak terpakai nonempty=0; for i=1:nitems if ~isempty(itemset{i}) nonempty=nonempty+1; end end itemset=itemset(1:nonempty); end
7.
Supp.m
function s=supp(itemset,data) %menghitung support s=0; %jika sup 1 maka data juga 1 for i=1:size(data,1) if isequal(intersect(data(i,:),itemset),itemset) s=s+1; end end end %s=support hasil %parameternya itu itemset dan data s=supp(itemset,data) % jika semua itemset ada di data maka suportnya di tambahin 1
8.
confidence .m
function conf=confidence (rules,data) %conf ({A}->{B})=supp({A,B})/supp({A}) anteseden=cell2mat(rules(1)); itemset=joincell(rules); %menghitung confidence yaitu supp(jumlahitem,dan jumlah data supp) / %supp(jumlahitem dan jumlah seluruh data) conf=supp(itemset,data)/supp(anteseden,data); % confid = supp (jmlh item dan data) / supp (pendahulu,data) end
49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9.
liftratio.m
% rumus lift ratio function l=liftRatio(rules,data) c=confidence (rules,data); % memanggil nilai confidence yang di dalamnya terdapat rules dan data e=expectedconfidence (rules,data); % memanggil nilai expected confidence yang didalamnya terdapat rules dan % data l=c/e; % rumus lift ratio yaitu confidence dibagi dengan expected confidence end function exptconf=expectedconfidence (rules,data) %liftrat ({A}->{B})= jumlah consequent({B})/total semua transaksi consequent=rules{2}; %menghitung expected confidence yaitu julah transaksi yang mengandung %Consequent/ total transaksi dalam database exptconf=supp(consequent,data)/size(data,1); end
50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10. rulesVerbose.m function r=rulesVerbose(rules,nama,conf,liftRatio) %fungsi memanggil semua output dari rules yang akan keluar, nama label, %confidence dan lift ratio ncols=size(rules,2); nrules=size(rules,1); if nargin==3 r=cell(nrules,ncols+1); elseif nargin==4 r=cell(nrules,ncols+2); else r=cell(nrules,ncols); end for i=1:nrules for j=1:size(rules,2) r{i,j}='['; for k=rules{i,j} r{i,j}=[r{i,j} nama{k}]; if k==rules{i,j}(end) r{i,j}=[r{i,j} ']']; else r{i,j}=[r{i,j} ', ']; end end end if nargin==3 r{i,end}=num2str(conf(i),'%.2f'); % menampilkan nilai confidence end if nargin==4 r{i,end-1}=num2str(conf(i),'%.2f'); r{i,end}=num2str(liftRatio(i),'%.2f'); % menampilkan nilai lift ratio end end
11. sorting.m % untuk menampilkan hasil dari masukan user sama atau lebih % besar dari minimum confidence function hasil=akhir(r,confi) data_r=str2num(cell2mat(r(:,3))); a=(data_r>(confi)); hasil=r(data_r>=(confi),:); end
51
yang nilainya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12. Apriori.m function varargout = Apriori1(varargin) % APRIORI1 MATLAB code for Apriori1.fig % APRIORI1, by itself, creates a new APRIORI1 or raises the existing % singleton*. % % H = APRIORI1 returns the handle to a new APRIORI1 or the handle to % the existing singleton*. %., % APRIORI1('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in APRIORI1.M with the given input arguments. % % APRIORI1('Property','Value',...) creates a new APRIORI1 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Apriori1_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to Apriori1_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help Apriori1 % Last Modified by GUIDE v2.5 12-Aug-2016 11:30:59 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Apriori1_OpeningFcn, ... 'gui_OutputFcn', @Apriori1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
52
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before Apriori1 is made visible. function Apriori1_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hbject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Apriori1 (see VARARGIN) % Choose default command line output for Apriori1 handles.output = hObject; clc; %Logo axes(handles.logo); imshow('Image\sadhar.png'); % Update handles structure guidata(hObject, handles); % UIWAIT makes Apriori1 wait for user UIRESUME) % uiwait(handles.figure1);
response (see
% --- Outputs from this function are returned to the command line. function varargout = Apriori1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
function filedata_Callback(hObject, eventdata, handles) % hObject handle to filedata (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of filedata as text % str2double(get(hObject,'String')) returns contents of filedata as a double
% --- Executes during object creation, after setting all properties. function filedata_CreateFcn(hObject, eventdata, handles) % hObject handle to filedata (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function supp1_Callback(hObject, eventdata, handles) % hObject handle to supp1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of supp1 as text % str2double(get(hObject,'String')) returns contents of supp1 as a double % --- Executes during object creation, after setting all properties. function supp1_CreateFcn(hObject, eventdata, handles) % hObject handle to supp1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
54
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function confid1_Callback(hObject, eventdata, handles) % hObject handle to confid1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of confid1 as text % str2double(get(hObject,'String')) returns contents of confid1 as a double
% --- Executes during object creation, after setting all properties. function confid1_CreateFcn(hObject, eventdata, handles) % hObject handle to confid1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in Data. function Data_Callback(hObject, eventdata, handles) % hObject handle to Data (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[file, alamat] = uigetfile ({'*.xls;*.xlsx','Excel Files'},'Select data file'); namafile = strcat(alamat,file); data=xlsread(namafile); %set(handles.nama_file,'String',file); set(handles.Tabel_data,'data',data); %mengambil data dan menampilkan data set(handles.nama_file,'String',file); %mengambil file dan menampilkan nama file dataPrep=readData(data); panjangdata=length(dataPrep); set(handles.jumdat,'String',panjangdata); %menghitung jumlah seluruh data save('dataPrep.mat');
% --- Executes on button press in Proses. function Proses_Callback(hObject, eventdata, handles) % hObject handle to Proses (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) load('dataPrep.mat'); %memanggil untuk menghitung nilai support support =get(handles.supp1,'String'); disp(support ); %memenggil untuk menghitung nilai confidence confidence =get(handles.confi,'String'); coff=str2double(confidence ); %memanggil fungsi itemset,dalam itemset berupa data dan nilai support itemset=freqItemset(dataPrep,str2double(support )); %memanggil fungsi rules,confidence yang didalamnya data berupa rules dan %confidence yang akan ditampilkan dalam outup Tabel hasil [rules,conf,liftRatio]=generateRules(itemset,str2double(conf idence ),dataPrep); %memanggil namaproduk yang berupa data label dari kerupuk itu sendiri load('namaProduk.mat'); %memanggil fungsi rulesverbose yang didalamnya terdapat rules,nama label %kerupuk dan confidence yang nantinya akan ditampilkan dalam output r=rulesVerbose(rules,nama,conf,liftRatio); % memanggil rulesverbose dan menampilkan ke dalam Tabel hasil hasil=sorting(r,coff); set(handles.Tabel_hasil,'Data',hasil); disp(rules);
56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
% --- Executes on button press in reset. function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
%fungsi untuk mereset data file,suport,confidence ,Tabel data dan Tabel %hasil clc set(handles.nama_file, 'string', ''); set(handles.supp1, 'string', ''); set(handles.confi, 'string', ''); set(handles.Tabel_data,'Data',''); set(handles.Tabel_hasil,'Data',''); set(handles.jumdat,'string','');
% --- Executes on button press in keluar. function keluar_Callback(hObject, eventdata, handles) % hObject handle to keluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
%fungsi untuk keluar dari aplikasi button = questdlg('Anda yakin ingin keluar Aplikasi?', 'Konfirmasi','Ya','Tidak','Tidak'); switch button case'Ya', disp('Keluar dari Aplikasi'); close all; case'Tidak', quit cancel; end
57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
function nama_file_Callback(hObject, eventdata, handles) % hObject handle to nama_file (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of nama_file as text % str2double(get(hObject,'String')) returns contents of nama_file as a double
% --- Executes during object creation, after setting all properties. function nama_file_CreateFcn(hObject, eventdata, handles) % hObject handle to nama_file (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu2. function popupmenu2_Callback(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu2 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu2
58
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
% --- Executes during object creation, after setting all properties. function popupmenu2_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on key press with focus on popupmenu2 and none of its controls. function popupmenu2_KeyPressFcn(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata structure with the following fields (see UICONTROL) % Key: name of the key that was pressed, in lower case % Character: character interpretation of the key(s) that was pressed % Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed % handles structure with handles and user data (see GUIDATA) function confi_Callback(hObject, eventdata, handles) % hObject handle to confi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of confi as text % str2double(get(hObject,'String')) returns contents of confi as a double
59
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
function confi_Callback(hObject, eventdata, handles) % hObject handle to confi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of confi as text % str2double(get(hObject,'String')) returns contents of confi as a double
functionrules_Callback(hObject, eventdata, handles) % hObject handle to rules (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of rules as text % str2double(get(hObject,'String')) returns contents of rules as a double
% --- Executes during object creation, after setting all properties. functionrules_CreateFcn(hObject, eventdata, handles) % hObject handle to rules (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
function hasil_Callback(hObject, eventdata, handles) % hObject handle to hasil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of hasil as text % str2double(get(hObject,'String')) returns contents of hasil as a double
% --- Executes during object creation, after setting all properties. function hasil_CreateFcn(hObject, eventdata, handles) % hObject handle to hasil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes during object creation, after setting all properties. function Tabel_hasil_CreateFcn(hObject, eventdata, handles) % hObject handle to Tabel_hasil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called function jumdat_Callback(hObject, eventdata, handles) % hObject handle to jumdat (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of jumdat as text % str2double(get(hObject,'String')) returns contents of jumdat as a double
61
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
% --- Executes during object creation, after setting all properties. function jumdat_CreateFcn(hObject, eventdata, handles) % hObject handle to jumdat (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% ------------------------------------------------------------------function File_Callback(hObject, eventdata, handles) % hObject handle to File (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% ------------------------------------------------------------------function New_Callback(hObject, eventdata, handles) % hObject handle to New (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %fungsi sama seperti mereset atau menghapus data %file,support ,confidence ,Tabel data dan Tabel hasil clc set(handles.nama_file, 'string', ''); set(handles.supp1, 'string', ''); set(handles.confi, 'string', ''); set(handles.Tabel_data,'Data',''); set(handles.Tabel_hasil,'Data','');
62
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
% ------------------------------------------------------------------function Print_Callback(hObject, eventdata, handles) % hObject handle to Print (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) print;
% ------------------------------------------------------------------function Printpreview_Callback(hObject, eventdata, handles) % hObject handle to Printpreview (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) printpreview;
% ------------------------------------------------------------------function Exit_Callback(hObject, eventdata, handles) % hObject handle to Exit (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %fungsi untuk keluar dari aplikasi button = questdlg('Anda yakin ingin keluar Aplikasi?', 'Konfirmasi','Ya','Tidak','Tidak'); switch button case'Ya', disp('Keluar dari Aplikasi'); close all; case'Tidak', quit cancel; end
63
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
function edit12_Callback(hObject, eventdata, handles) % hObject handle to edit12 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit12 as text % str2double(get(hObject,'String')) returns contents of edit12 as a double
% --- Executes during object creation, after setting all properties. function edit12_CreateFcn(hObject, eventdata, handles) % hObject handle to edit12 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
64