Algoritma Data Mining Menggunakan Aturan Asosiasi dengan Metode Apriori
MAKALAH diajukan untuk memenuhi salah satu tugas Mata Kuliah Data Mining
Kelas 6A Anggota Kelompok : Asep Sudirman Erna Haerani
107006001 107006005
Asep Kurniawan
107006023
Firman Cahyana
107006025
Kicep Sutisna
107006026
Isna Nur Khoerani
107006035
Bayu Gumilar
107006039
Ramma Yudha
107006046
FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS SILIWANGI TASIKMALAYA 2013
KATA PENGANTAR
Puji dan syukur Tim Penulis panjatkan kepada Tuhan Yang Maha Esa atas rahmatNya yang telah dilimpahkan kepada Tim Penulis sehingga Tim Penulis dapat menyelesaikan makalah yang berjudul Algoritma Data Mining Asosiasi dengan menggunakan Metode Apriori yang merupakan salah satu tugas Mata Kuliah Data Mining. Dalam menyelesaikan makalah ini, Tim Penulis telah banyak mendapat bantuan dan masukan dari berbagai pihak. Oleh karena itu, dalam kesempatan ini Tim Penulis ingin menyampaikan terimakasih kepada : 1.
Bapak Acep Irham, Gufroni, M,Eng. selaku Dosen Mata Kuliah Data Mining yang
telah mmbimbing kami dalam pengerjaan makalah ini. 2.
Kedua Orangtua yang telah membina, mendidik dan membesarkan saya.
3.
Teman-teman sekelompok dan juga teman sekelas, serta Pihak-pihak lainnya yang
tidak dapat Penulis sebutkan satu persatu yang telah turut membantu sehingga makalah ini dapat terselesaikan dengan baik dalam waktu yang tepat. Penulis menyadari bahwa penyusunan makalah ini masih jauh dari kesempurnaan, mudahmudahan dapat memberikan manfaat bagi Tim Penulis khususnya dan umumnya kepada para pembaca sekalian. Akhir kata Tim Penulis berharap mendapatkan kritik dan saran yang bersifat membangun untuk pembuatan makalah selanjutnya yang lebih baik lagi.
Tasikmalaya, April 2013
Penulis
i
DAFTAR ISI Kata Pengantar ............................................................................................................... i Daftar Isi ......................................................................................................................... ii Bab I Pendahuluan A. Latar Belakang .................................................................................................. 1 B. Rumusan Masalah .............................................................................................. 2 C. Tujuan Makalah.................................................................................................. 3
Bab II Pembahasan A. Algoritma Apriori .............................................................................................. 1 B. Rumusan Masalah .............................................................................................. 1 C. Tujuan Makalah.................................................................................................. 2 D. Latar Belakang .................................................................................................. 1
Bab III Contoh Kasus A. Rumusan Masalah .............................................................................................. 1 B. Tujuan Makalah.................................................................................................. 2 C. Latar Belakang .................................................................................................. 1 D. Rumusan Masalah .............................................................................................. 1
Bab IV Simpulan dan Saran A. Tujuan Makalah.................................................................................................. 2 B. Tujuan Makalah.................................................................................................. 2 C. Latar Belakang .................................................................................................. 1 D. Rumusan Masalah .............................................................................................. 1
Daftar Pustaka ............................................................................................................... 4
ii
BAB I PENDAHULUAN
A.
Latar Belakang
Ketersediaan data sudah bukan hal yang sulit diperoleh lagi dewasa ini apalagi ditunjang dengan banyaknya kegiatan yang sudah dilakukan secara komputerisasi. Namun data ini seringkali diperlakukan hanya sebagai rekaman tanpa pengolahan lebih lanjut sehingga tidak mempunyai nilai guna lebih untuk keperluan masa mendatang. Analisa dari tiap koleksi data tersebut akan menghasilkan pengetahuan atau informasi, misalnya berupa pola dan kaidah asosiasi yang terjadi pada data. Pola dan kaidah asosiasi bisa terjadi pada berbagai jenis data baik data ekonomi, keuangan, kesehatan dan lain-lain. Penggalian kaidah asosiasi mempunyai peranan penting dalam proses pengambilan keputusan. Tahapan besar dari proses Data Mining adalah mengidentifikasikan frequent itemset dan membentuk kaidah asosiasi dari itemset tersebut. Kaidah asosiasi digunakan untuk menggambarkan hubungan antar item pada tabel data transaksional. Tapi semakin berkembangnya teknologi komputer di dunia industri, semakin pesat pula perkembangan ukuran data tabel transaksional yang dihasilkan. Dan pada data tabel transaksional yang besar (VLDB, Very Large Database) tersebut, proses pencarian frequent itemset sangatlah sulit. Dari kondisi tersebut, sudah banyak algoritma yang dibentuk untuk mencari kaidah asosiasi. Tetapi keterbatasan tetap saja ada. Keterbatasan yang paling mencolok adalah diperlukannya pembacaan basis data secara berulang yang mengurangi kinerja algoritma tersebut. Sehingga diperlukan suatu algoritma yang sangat efisien yang bisa meminimalisasi pembacaan basis data, sehingga bisa mengoptimasi waktu yang dibutuhkan. Perangkat lunak yang dibuat ini menggunakan suatu algoritma yang menyimpan data tabel transaksional di memory pada pembacaan awal. Sehingga untuk proses selanjutnya pembacaan basis data dapat dikurangi. Sifat ini tentu saja menguntungkan algoritma tersebut. Banyak teori dan pendekatan yang dikembangkan untuk memperoleh hasil penemuan kaidah asosiasi dan pola. Salah satu metode yang dikembangkan yaitu dengan menggunakan metode apriori. Beberapa dari metode sebelumnya melakukan pencarian 3
itemset
dengan
pendekatan
graf
asosiasi
yang
memiliki
kelemahan
pada
penggunaan memori yang besar. Keterbatasan memori jelas akan mempengaruhi banyaknya item yang bisa diproses. Lebih jauh lagi, sebagian besar pendekatan menggunakan struktur data internal sangat rumit yang tidak bersifat lokal dan membutuhkan tambahan sumber daya dan banyak komputasi. Pada riset ini, metode apriori digunakan untuk memperoleh kaidah asosiasi yang menggambarkan hubungan antar item pada database transaksional. Database yang digunakan ada tiga buah yang masing-masing memiliki jumlah transaksi yang berbeda. Dari hasil pengujian empiris dapat ditarik kesimpulan bahwa waktu komputasi untuk menghasilkan kaidah asosiasi dipengaruhi oleh jumlah transaksi dan Penggunaan struktur data “tidlist” pada algoritma apriori menyebabkan waktu komputasi yang dibutuhkan relatif berkurang karena hanya memerlukan pembacaan basis data sekali saja
B.
Rumusan Masalah
Masalah yang akan dibahas dalam makalah ini adalah : 1.
Apa Deskripsi Organisasi?
2.
Bagaimana Investigasi Situasi dan Stakeholder?
3.
Bagaimana Analisis Lingkungan Eksternal Bisnis Organisasi?
4.
Bagaimana Analisis Lingkungan Internal Bisnis Organisasi?
5.
Bagaimana Analisis Lingkungan Internal dan Eksternal Sistem dan Teknologi
Informasi? 6.
Bagaimana Penetapan Target Sistem dan Teknologi Informasi?
4
C.
Tujuan Makalah
Tujuan dari penulisan makalah ini adalah untuk : 1.
Mengetahui Deskripsi Organisasi.
2.
Mengetahui Investigasi Situasi dan Stakeholder.
3.
Mengetahui Analisis Lingkungan Eksternal Bisnis Organisasi.
4.
Mengetahui Analisis Lingkungan Internal Bisnis Organisasi.
5.
Mengetahui Analisis Lingkungan Internal dan Eksternal Sistem dan Teknologi
Informasi. 6.
Mengetahui Penetapan Target Sistem dan Teknologi Informasi.
5
BAB II PEMBAHASAN A.
Algoritma A Priori
Algoritma a priori termasuk jenis aturan assosiasi pada data mining. Selain a priori yang termasuk pada golongan ini adalah metode Generalized Rule Induction dan Algoritma Hash Based.
Aturan yang menyatakan asosiasi antara beberapa atribut
sering disebut sebagai affinity analysis atau market basket analysis. Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan assosiatif antara suatu kombinasi item. Contoh dari aturan assosiatif dari analisa 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. Karena analisis asosiasi menjadi terkenal karena aplikasinya untuk menganalisa isi keranjang belanja di pasar swalayan, analisis asosiasi juga sering disebut dengan istilah market basket analysis. Analisis asosiasi dikenal juga sebagai salah satu teknik data mining yang menjadi dasar dari berbagai teknik data mining lainnya. Khususnya salah satu tahap dari analisis asosiasi yang disebut analisis
pola
frequensi
tinggi
(frequent
pattern
mining) menarik perhatian banyak peneliti untuk menghasilkan algoritma yang efisien. Penting tidaknya suatu aturan assosiatif dapat diketahui dengan dua parameter, support (nilai penunjang) yaitu persentase kombinasi item tersebut dalam database dan confidence (nilai kepastian) yaitu kuatnya hubungan antar
item dalam aturan
asosiasi. Aturan asosiasi biasanya dinyatakan dalam bentuk : {roti, mentega} -> {susu} (support = 40%, confidence = 50%) Yang artinya : "50% dari transaksi di database yang memuat item roti dan mentega juga memuat item susu. Sedangkan 40% dari seluruh transaksi yang ada di database memuat ketiga item itu." Dapat juga diartikan : "Seorang konsumen yang membeli roti dan mentega punya kemungkinan 50% untuk juga membeli susu. Aturan ini cukup signifikan karena mewakili 40% dari catatan transaksi selama ini."
6
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 : Analisa pola frekuensi tinggi
1.
Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support dalam database. Nilai support sebuah item diperoleh dengan rumus berikut:
Support( A)
Jumlah transaksi mengandung A
Total Transaksi sedangkan nilai support dari 2 item diperoleh dari rumus 2 berikut : Support ( A, B) Support ( A, B)
P( A
B)
∑
Transaksi mengandung A dan B ∑ Transaksi
Tabel 5.1. Transaksi Transaksi 1 2 3 4 5 6 7 8 9 10
Item yang dibeli Susu, Teh, Gula Teh, Gula, Roti Teh, Gula Susu, Roti Susu, Gula, Roti Teh, Gula Gula, Kopi, Susu Gula, Kopi, Susu Susu, Roti, Kopi Gula, Teh, Kopi
Sebagai contoh, ada database dari transaksi belanja pasar swalayan
seperti
ditunjukkan dalam Tabel 5.1
7
Data pada Tabel 5.1 dalam database transaksional biasa direpresentasikan dalam bentuk seperti tampak pada Tabel 5.2
Representasi Data Transaksi dalam Database Transaksional
Transaksi 1 1 1 2 2 2 3 3 4 4 5 5 5 6 6 7 7 7 8 8 8 9 9 9 10 10 10
Item yang dibeli Susu Teh Gula Teh Gula Roti Teh Gula Susu Roti Susu Gula Roti Teh Gula Gula Kopi Susu Gula Kopi Susu Susu Roti Kopi Gula Teh Kopi
8
Dan bila kita bentuk dalam bentuk tabular, data transaksi akan tampak seperti pada Tabel 5.3. Format Tabular Data Transaksi Transaksi 1 2 3 4 5 6 7 8 9 10
Teh 1 1 1 0 0 1 0 0 0 1
Gula 1 1 1 0 1 1 1 1 0 1
Kopi 0 0 0 0 0 0 1 1 1 1
Susu 1 0 0 1 1 0 1 1 1 0
Roti 0 1 0 1 1 0 0 0 1 0
Misalkan D adalah himpunan transaksi yang direperesentasikan dalam Tabel 5.1, dimana masing-masing transaksi T dalam D merepresentasikan himpunan item yang berada dalam I. I adalah himpunan iterm yang dijual {Teh, Gula, Kopi, Susu, Roti}. Misalkan kita memiliki himpunan items A (misal Susu dan Gula) dan himpunan item lain B (misal Kopi). Kemudian aturan asosiasi akan berbentuk
Jika
A, maka B ( A-7B)
Dimana antecedent A dan consequent B merupakan subset dari I, dan A dan B merupakan mutually exclusive dimana aturan Jika A maka B tidak berarti
Jika B maka A Definisi ini tidak berlaku untuk aturan trivial seperti : Jika beans dan Squash Maka beans Seorang analis mungkin hanya akan mengambil aturan yang memiliki support dan/atau confidence yang tinggi. Aturan yang kuat adalah aturan-aturan yang melebihi kriteria support dan/atau confidence minimum. Misalnya seorang analist menginginkan aturan yang memiliki support lebih dari 20% dan confidence lebih dari 35%. 9
Sebuah itemset adalah himpunan item-item yang ada dalam I, dan k-itemset adalah itemset yang berisi k item. Misalnya {Teh, Gula) adalah sebuah 2-itemset dan {Teh, Gula, Roti) merupakan 3- itemset. Frequent Itemset menunjukkan itemset yang memiliki frekuensi kemunculan lebih dari nilai minimum yang telah ditentukan (ф). Misalkan ф = 2, maka semua itemset yang frekuensi kemunculannya lebih dari atau sama dengan 2 kali disebut frequent. Himpunan dari frequent k-itemset dilambangkan dengan Fk. Tabel 5.4 berikut ini menujukkan calon 2-itemset dari data transaksi pada Tabel 5.1.
10
Calon 2-itemset Kombinasi Teh, Gula Teh, Kopi Teh, Susu Teh, Roti Gula, Kopi Gula, Susu Gula, Roti Kopi, Susu Kopi, Roti Susu, Roti
Jumlah 5 1 1 1 3 4 2 3 1 3
Dari data tersebut diatas, jika ditetapkan nilai ф = 3 maka
F2 =
{ {Teh, Gula}, {Gula, Kopi}, {Gula,
Susu}, {Gula, Roti}, {Kopi, Susu}, {Susu, Roti}}
Calon 3-itemset Kombinasi Teh, Gula, Kopi Teh, Gula, Susu Gula, Susu, Kopi Gula, Susu, Roti Gula, Kopi, Roti Kopi, Susu, Roti
Jumlah 1 1 2 0 0 1
Kombinasi dari itemset dalam F2 dapat kita gabungkan menjadi calon 3-itemset. Itemset- itemset dari F2 yang dapat digabungkan adalah itemset-itemset yang memiliki kesamaan dalam k-1
item pertama. Calon 3-itemset yang dapat dibentuk dari F2 seperti tampak pada Tabel 5.5. Dengan demikian F3 = {{Gula, Susu, Kopi}}, karena hanya kombinasi inilah yang memiliki frekeunsi kemunculan >= ф. 11
2.
Pembentukan aturan Asosiasi
Setelah semua pola frekuensi tinggi ditemukan, barulah dicari aturan asosiasi yang memenuhi syarat minimum untuk confidence dengan menghitung confidence aturan assosiatif A -7 B
Nilai confidence dari aturan A-7 B diperoleh dari rumus berikut:
12
Dari F3 yang telah ditemukan, dapat dilihat besarnya nilai support dan confidence dari calon aturan asosiasi seperti tampak pada Tabel 5.6.
Calon Aturan Asosiasi dari F3 Aturan Confidence Jika membeli Gula dan Susu2/4 50% Maka akan membeli Jika membeli Gula Kopi dan Kopi2/3
67%
Maka akan membeli Jika membeli Kopi Susu dan Susu2/3
67%
Maka akan membeli Gula Misalkan ditetapkan nilai confidence minimal adalah 60% maka aturan yang bisa terbentuk adalah aturan dengan 2 antecedent berikut:
Jika membeli Gula dan Kopi Maka akan membeli Susu
Jika
membeli Kopi
dan
Susu Maka akan membeli Gula
Sementara itu calon aturan asosiasi dari F2 bisa dilihat pada tabel 5.7
Aturan Asosiasi Aturan Jika membeli Teh
Confidence 5/5 100%
Maka akan membeli Jila membeli Gula Gula
5/8
62.5%
Maka akan membeli Jika membeli Gula Teh
3/8
37.5%
Maka akan membeli Jika membeli Kopi Kopi
3/4
75%
Maka akan membeli Jika membeli Gula Gula
4/8
50%
Maka akan membeli Jika membeli Susu Susu
4/6
67%
Maka akan membeli Jika membeli Gula Gula
2/8
25%
Maka akan membeli Roti 13
Jika membeli Roti
2/4
50%
Maka akan membeli Jika membeli Kopi Gula
3/4
75%
Maka akan membeli Jika membeli Susu Susu
3/6
50%
Maka akan membeli Kopi akan3/6 Jika membeli Susu Maka
50%
membeli Roti Roti Jika membeli
75%
3/4
Maka akan membeli Susu
14
dan aturan asosiasi final terurut berdasarkan Support x Confidence terbesar dapat dilihat pada Table 5.8. Aturan Asosiasi Final SUPPORT x ATURAN Jika membeli
SUPPORT 100% CONFIDENC CONFIDENC Teh 50%
Maka akan membeli Jila Gula membeli Gula 50% Maka akan membeli Jika membeli Susu40% Teh Maka akan membeli Jika Gula membeli Kopi 30%
E 62.50%
50.0% 67% 31.3% 75%
Maka akan membeli Jika Gula membeli Kopi 30%
75%
Maka akan membeli Jika Susu membeli Roti 30%
75%
Maka akan membeli Jika Susu membeli Gula 20% dan Kopi Maka akan Jika Kopi 20% membelimembeli Susu dan Susu Maka akan
E
26.8% 22.5% 22.5% 67% 22.5% 67% 13.4%
membeli Gula B.
Contoh Aplikasi
13.4%
Dalam mengimplementasikan algoritma apriori untuk mencari aturan asosiasi, penulis menggunakan database default saat instalasi SQL server 2000 yaitu database Northwind, dimana dalam database tersebut terdapat diantaranya 2 tabel dengan relasi seperti tampak pada Gambar 5.1. 15
Gambar 5.1 Relasi Tabel
Tabel Orders menyimpan transaksi yang terjadi dalam suatu perusahaan sedangkan tabel Order Details menjelaskan prodecur apa saja yang terbeli dalam masing-masing transaksi pada tabel Orders.
Dalam menerapkan algoritma apriori, kami menggunakan tabel-tabel dalam database untuk menyimpan frequent itemset. Selain itu fasilitas query dalam database juga dimanfaatkan untuk mendapatkan kombinasi item yang mungkin dalam itemset.
Langkah yang dilakukan dalam pembuatan aplikasi mining aturan asosisasi dengan algoritma apriori pada penelitian ini dijelaskan dalam flowchart yang tampak pada Gambar 5.2, Gambar 5.3, Gambar 5.4 dan Gambar 5.5
16
17
Gambar 5.2 Flowchart Program untuk mendapatkan kombinasi yang memenuhi (1)
18
Gambar 5.3. Flowchart Program untuk mendapatkan kombinasi yang memenuhi(2)
19
Gambar 5.4 Flowchart Program untuk mendapatkan kombinasi yang memenuhi(3)
20
Gambar 5.5 Flowchart Program untuk mendapatkan kombinasi yang memenuhi(4)
Gambar 5.6 menunjukkan Rancangan Form yang digunakan dalam impelementasi algoritma apriori.
21
Gambar 5.6. Rancangan Form
File aplikasi dan source code dapat di peroleh dalam CD yang disertakan dalam buku ini. Untuk dapat menjalankan aplikasi ini, komputer harus terinstal SQL Server 2000.
Kode program ditulis dengan bahasa pemrograman Borland Delphi 6. Aplikasi ini berjalan diatas sistem operasi Microsoft Windows.
Aplikasi ini membutuhkan database Northwind, yaitu database default saat menginstal SQL Server 2000. Setelah SQL Server terinstal, masukkan database Northwind 22
dalam ODBC. Berikut ini adalah langkah yang harus dilakukan untuk menambahkan database Northwind dalam ODBC: 1.
Buka Control Panel – Administrative Tool –Data Source (ODBC).
Fasilitas ini dapat dilihat pada Gambar 5.7
Gambar 5.7 Adminiatrative Tools
2.
Pada form ODBC, tekan tombol Add. Form ini dapat dilihat pada
Gambar 5.8
23
Gambar 5.8. Form ODBC
3.
Pada Form Create New Data Source pilih Driver SQL Server
dan tekan Tombol Finish. Form ini dapat dilihat pada gambar 5.9.
Gambar 5.9 Form Create New Data Source
4.
Pada Form Create a New Data Source to SQL Server masukkan 24
name Northwind dan pilih server dimana databasenya diletakkan kemudian tekan Tombol Next dan pada halaman selanjutnya tekan Tombol Next lagi. Form ini dapat dilihat pada Gambar 5.10
Gambar 5.10 Form Create a New Data Source to SQL Server 5.
Pada halaman
pemilihan database,
ganti
database default dengan database Northwind seperti tampak pada Gambar 5.11, kemudian tekan Tombol Next dan di halaman berikutnya tekan Tombol Finish.
Gambar 5.11. Halaman Pemilihan Database
25
Setelah database Northwind terdaftar dalam ODBC, langkah selanjutnya adalah membuat form seperti tampak pada Gambar 5.6. Properti yang paling penting dalam rancangan form tersebut adalah properti database pada komponen Query dan Query1. properti tersebut harus diisi dengan Northwind untuk menghubungkan aplikasi dengan databasenya.
Gambar 5.12 berikut ini adalah tampilan hasil running program aplikasi untuk mengimplementasikan algoritma apriori.
Gambar 5.12 Aplikasi Aturan Asosiasi dengan algoritma apriori 26
Aturan asosiasi yang diperoleh adalah sebagai berikut:
27
1.
JIKA membeli 21 MAKA akan membeli 61 dengan SUPPORT 0.96 %
dan CONFIDENCE 20.51 % 2.
JIKA membeli 61 MAKA akan membeli 21
dengan SUPPORT 0.96 % dan CONFIDENCE 33.33 % 3.
JIKA membeli 16 MAKA akan membeli 31
dengan SUPPORT 0.84 % dan CONFIDENCE 16.28 % 4.
JIKA membeli 31 MAKA akan membeli 16 dengan SUPPORT 0.84 %
dan CONFIDENCE 13.73 % 5.
JIKA membeli 16 MAKA akan membeli 60 dengan SUPPORT 0.72 %
dan CONFIDENCE 13.95 % 6.
JIKA membeli 60 MAKA akan membeli 16
dengan SUPPORT 0.72 % dan CONFIDENCE 12.76 % 7.
JIKA membeli 16 MAKA akan membeli 62
dengan SUPPORT 0.72 % dan CONFIDENCE 13.95 % 8.
JIKA membeli 62 MAKA akan membeli 16
dengan SUPPORT 0.72 % dan CONFIDENCE 12.50 % 9.
JIKA membeli 30 MAKA akan membeli 54 dengan SUPPORT 0.72 %
dan CONFIDENCE 18.75 % 28
10.
JIKA membeli 54 MAKA akan membeli 30 dengan SUPPORT 0.72 %
dan CONFIDENCE 16.67 % 11.
JIKA membeli 31 MAKA akan membeli 72
dengan SUPPORT 0.72 % dan CONFIDENCE 12.76 % 12.
JIKA membeli 72 MAKA akan membeli 31
dengan SUPPORT 0.72 % dan CONFIDENCE 15.79 % 13.
JIKA membeli 60 MAKA akan membeli 71 dengan SUPPORT 0.72 %
dan CONFIDENCE 12.76 %
29
14.
JIKA membeli 71 MAKA akan membeli 60 dengan SUPPORT 0.72 % dan
CONFIDENCE 14.29 %
Aturan-aturan tersebut diperoleh dengan langkah- langkah sebagai berikut: 1.
Mengambil ProductId dan frekunesi transaksi
terhadap produk tersebut dari tabel Order Details yang memenuhi minimum transaksi dan dimasukkan ke dalam tabel C1. Tabel Order Details dan tabel C1 dapat dilihat pada lampiran 2, sedangkan minimum transaksi ditentukan oleh user pada form aplikasi, dan dalam hal ini diambil nilai minimum transaksi sebesar 5. 2.
Membuat kombinasi item-item pada tabel C1 dan
dimasukkan ke dalam tabel C2 menjadi calon 2-itemset. Pada langkah ini dilakukan pula penghitungan frekuensi transaksi yang mengandung kombinasi item-item tersebut. Kombinasi item yang memiliki frekuensi transaksi kurang dari nilai minimum_transaksi dihapus dari tabel C2. Isi dari tabel C2 dapat dilihat pada lampiran 2. 3.
Membuat kombinasi item-item pada tabel C2 dan
dimasukkan ke tabel C3 menjadi calon 3- itemset. Seperti pada langkah 2, dilakukan penghitungan frekuensi transaksi yang mengandung kombinasi item dari calon kitemset, dan kombinasi yang tidak memenuhi nilai minimum transaksi dihapus dari tabel C3. Isi dari tabel C3 kosong, yang artinya tidak ada kombinasi item yang memuhi syarat minimum transaksi. 4.
Dari tabel C2 dibentuk aturan asosiasi yang berbentuk
jika nilai[item1] maka nilai[item2]
dan sebaliknya
jika nilai[item2] maka nilai[item1]
1
5.
dari masing-masing bentuk aturan asosiasi pada seluruh record
yang ada di tabel C2 di lakukang perhitungan nilai confidence.
Bagi aturan yang
memenuhi syarat minimum confidence akan ditampilkan, sedangkan yang tidak memenuhi tidak ditampilkan. Dalam hal ini, minimum confidence ditentukan sebesar 10%
Aplikasi ini sudah dapat digunakan untuk mencari aturan asosiasi sampai tingkat nantecedent. Tetapi karena data dalam database belum terlalu banyak, maka aturan asosiasi yang ditemukan baru sampai 1-anteced
BAB III PEMBAHASAN CONTOH KASUS Data mining adalah suatu istilah yang digunakan un- tuk menguraikan penemuan pengetahuan di dalam database. Data mining merupakan bagian integral dari Knowledge Discovery in Database (KDD), di- mana mencakup keseluruhan proses konversi data mentah menjadi informasi yang berguna. Data min- ing adalah proses yang menggunakan teknik statistic, matematika, kecerdasan buatan, dan machine learn- ing untuk mengekstraksi dan mengidentifikasi infor- masi yang bermanfaat dan pengetahuan yang terkait dari berbagai database besar [4]. Dengan adanya sistem komputerisasi pada setiap transaksi di semua bidang saat ini dan tersedianya suatu perangkat keras untuk menyimpan data yang besar, data mining dapat digunakan untuk menam- bang suatu informasi penting yang dapat dihasilkan dari basis data tersebut. Proses ini dapat membantu dalam pengambilan keputusan bagi pengguna. 2
Analisis Keranjang Belanja (Market Basket Analysis) Analisis keranjang belanja merupakan sebuah analisis terhadap kebiasaan berbelanja customer[5]. Analisis dilakukan dengan menemukan hubungan antara barang-barang yang telah dibeli. Data ker- anjang pasar di analisis untuk mendapatkan aturan asosiasi dari kombinasi barang yang ada. Analisis Asosiasi (Association Analysis) Analisis asosiasi adalah suatu proses untuk mene- mukan semua aturan asosiasi yang memenuhi syarat minimum untuk support (minimum support) dan syarat minimum untuk confidence (minimum confi- dence). Untuk beberapa simbol, I adalah himpunan item, D adalah data transaksi, dimana setiap transaksi mempunyai ID unik (tid) dan terdiri dari bebera- pa item. Sebuah itemset adalah himpunan item-item yang ada di dalam I. K-itemset adalah itemset yang berisis k item. Support dari itemset X, dinotasikan sebagai σ(X), adalah jumlah transaksi dimana X be- rada sebagai subset. Sebuah subset dari itemset yang mempunyai panjang k disebut k-subset. Item- set disebut maksimal bila bukan merupakan subset dari itemset lainnya. Frequent itemset menunjukkan itemset yang memiliki frekuensi kemunculan lebih
3
dari nilai minimum support (minsup) yang telah di- tentukan sebelumnya. Himpunan dari frequent k- itemset dilambangkan dengan Fk . Aturan asosiasi merupakan ekspresi AB, dengan A dan B adalah itemset. Support=
jumlah transaksi mengandung A dan B T otal transaksi
Confidence=
jumlah transaksi mengandung A dan B jumlah transaksi mengandung A
Tugas dari Data Mining adalah untuk menghasil- kan semua aturan asosiasi pada suatu tabel transak- sional, yang mempunyai nilai support lebih dari min- sup. Aturan tersebut juga harus mempunyai confi- dence yang lebih besar dari mincof. Data yang diambil sebagai contoh adalah data transaksi penjualan obat disuatu apotek. Terdapat 5 jenis obat yang berbe- da, yang dianggap sebagai 5 item. Setiap item dino- tasikan dengan inisial yang berbeda. Misalnya jenis obat Antibiotik diberi inisial huruf „A‟, seperti terlihat pada tabel 1. Kemudian semua inisial tersebut di ma- sukkan ke dalam himpunan I = A,B,C,D,E. Data tabel transaksional D (table 2) terdiri dari 7 transaksi pen- jualan obat dimana tiap transaksi penjualan terdiri dari beberapa obat yang terdapat pada table 1.
4
Tabel 1: Keterangan Jenis Obat beserta inisialnya
Jenis Obat Antibiotik Ekspektoran Vitamin&Miner Hemostatik al Psikofarmaka
Inisial A B C D E
Tabel 1
Tabel 3 berikut ini menunjukkan salon 2-itemset dari data transaksi pada tabel 2. Dari data di atas jika ditetapkan nilai frequent itemset = 2, maka : Tabel 2: Data Tabel Transaksional
Ta bel 3: Calon 2-itemset
F2 = A,B, A,C, A,D, A,E, B,C, B,D, C,D Kombinasi dari itemset dalam F2 dapat diga- bungkan menjadi calon 3-itemset. 5
Calon 3-itemset yang dapat dibentuk dari F2 tampak pada tabel 5. Dengan demikian F3 = A,B,C, A,C,D , karena hanya kombinasi ini yang memiliki frekuensi kemunculan >= 2. Dari F3 yang telah ditemukan, dapat dilihat be- sarnya nilai support dan confidence dari calon aturan asosiasi seperti terlihat pada tabel 5. Association Rules (mincof=60%) Selama frequent itemset yang lain adalah sub- set dari salah satu maksimal frequent itemset, ma- ka proses pencarian itemset dapat dikurangi dengan hanya mencari maksimal frequent itemset saja. Un- tuk membentuk semua aturan asosiasi, diperlukan nilai support dari semua frequent itemset. Proses ini mudah dilakukan selama maksimal frequent itemset sudah ditemukan.
Algoritma Apriori Tabel 4: Calon 3-itemset
Tabel 5: Calon Aturan Asosiasi dari F3
6
Algoritma apriori adalah algoritma yang dikenal untuk menemukan pola frekuensi tinggi. Arti apri- ori secara umum adalah anggapan atau sikap yang sudah ditentukan sebelum (melihat,menyelidiki) ter- hadap sesuatu [4]. Algoritma Apriori dibagi menjadi beberapa tahap yang disebut iterasi.
1.
Pembentukan
kandidat itemset,
kandidat
k- itemset dibentuk
dari
kombinasi (k-1)-itemset yang didapat dari iterasi sebelumnya. Satu ciri dari algoritma Apriori adalah adanya pe- mangkasan kandidat k-itemset yang subsetnya yang berisi k-1 item tidak termasuk dalam pola frekuensi tinggi dengan panjang k-1.
2.
Perhitungan support dari tiap kandidat k- itemset. Support dari tiap kandidat
k-itemset di- dapat dengan menscan database untuk menghi- tung jumlah transaksi yang memuat semua item di dalam kandidat k-itemset tersebut. Ini ju- ga merupakan ciri dari algoritma apriori di- mana diperlukan perhitungan dengan scan selu- ruh database sebanyak k-itemset terpanjang.
3.
Tetapkan pola frekuensi tinggi. Pola frekuensi tinggi yang memuat k item
atau k-itemset ditetapkan dari kandidat k-itemset yang supportnya lebih besar dari minimum support.
Tabel 6: Tabel Frequent Itemset(minsup=25%)
support Itemset 57,14% A,B 42,86% AC, BC, CD 28,57% AD, AE, ABC, ACD 7
Gambar 1: Data Aturan Asosiasi
4.
Bila tidak didapat pola frekuensi tinggi maka seluruh proses dihentikan.
Bila tidak, maka k tambah satu dan kembali ke bagian 1.
Contoh dari penerapan algoritma Apriori dapat di- ilustrasikan seperti pada Gambar 2.
Gambar 2: Ilustrasi Algoritma Apriori
Uji Coba dan Analisa 8
Pengujian pada aplikasi keranjang pasar ini menggunakan 61 buah transaksi yang diambil dari sebuah apotek. Data yang diam- bil berasal dari transaksi laporan penjualan selama dua bulan, yaitu bulan Maret dan April. Data terse- but berupa data obat yang terdiri dari 31 jenis obat dan 554 buah nama obat beserta kode obatnya. Da- ta akhir ini disimpan pada database dengan nama „transaksi penjualan‟. Sebelum proses analisis dilakukan, nama-nama jenis obat yang digunakan di ganti dengan se- buah inisial dengan tujuan agar lebih ringkas dalam penulisannya. Pada tabel 7 merupakan tabel yang berisi keterangan dari inisial yang akan digunakan untuk menggantikan nama-nama jenis obat yang ada. Tabel 7: Keterangan Inisial yang akan Digunakan
9
Pada penelitian ini beberapa nilai awal maupun asumsi yang digunakan analisis data sebagai berikut : minsup : 20%
mincof : 50%
Dari hasil pengolahan terhadap 61 transaksi, de- ngan menggunakan algoritma apriori untuk masalah penggalian asosiasi didapat hasil sebagai berikut :
10
Iterasi 1 : 1.
menentukan
kandidat
untuk
1-itemset
de-
ngan
menentukan
support_count dan sup- port. Data support disajikan dalam tabel 7. Misal pada baris 1 tabel 7 dibaca seba- gai jumlah pembelian obat analgetika yang diberi inisial dengan X1 sebanyak 25 buah atau 40,98%.
Tabel 8: Support untuk kandidat 1-itemset No Jenis Obat Jumlah 1 X1 25 2 X2 16 3 X3 14 4 X4 14 5 X5 20 6 X6 5 7 X7 8 8 X8 2 9 X9 23 10 X10 21 11 X11 2 12 X12 3 13 X13 2 14 X14 14 15 X15 2 16 X16 1 17 X17 49 18 X18 7 19 X19 14 20 X20 3 21 X21 22 22 X22 7 23 X23 3 24 X24 3 25 X25 3 26 X26 4 27 X27 3 28 X28 8 29 X29 22 30 X30 4 31 X31 27 Keterangan : Font Normal
: Item yang tidak memenuhi minsup. 11
Font Bold 2.
: Item yang memenuhi minsup.
menentukan frequent 1-itemset, dengan membuang itemset yang tidak
memenuhi minsup 20%. Tampak dari tabel 8, item yang tidak diberi warna adalah item yang tidak memenuhi minsup sehingga dapat di- pangkas. Frequent1itemset yang didapat berjumlah 13 buah jenis obat.
Tabel 9: Support_count untuk kandidat 1-itemset, minsup 20%
Iterasi 2 : 1. menentukan kandidat 2-itemset dengan menentukan support dan confidence. Da- ta untuk kandidat frequent 2-itemset dis- ajikan dalam tabel 9, berisi data yang telah dipangkas pada pencarian frequent 2- itemset dengan memenuhi syarat minsup sebesar 20%. Tabel 10: Support_count untuk kandidat 2-itemset, minsup 20% No
12 X10→X17 X14 →X17 X17→X19 X17→ X21 X17→X29 X17→X31
Iterasi 3 :
menentukan
1.
kandidat
3-
itemset beserta ni- lai support dan confidence. Data untuk kandidat frequent 3itemset dapat dilihat pada tabel 10, pada iterasi ke-3 tidak di- dapatkan itemset yang memiliki nilai sup- port >= minsupdan confidence >= min- cof. Karena tidak diperoleh data yang sesuai dengan aturan asosiasi pencarian berhenti pada iterasi ke-3. Tabel 11: Hasil Uji Data 3-itemset No
X17 X19→X21 X17 X19→X31 X17 X21 →X31
Setelah dibandingkan dengan minsup = 20% dan mincof 50%, maka asosiasi yang memenuhi syarat hanya ada 8 asosiasi, seperti terlihat pada tabel 11. Ke-8 asosiasi tersebut dapat diterjemahkan sebagai berikut :
1.
Support
34%,
artinya
34%dari
semua
transak-
si yang dianalisis
menunjukkan bahwa analgetik dan antibiotika dibeli bersamaan, sedangkan confidence sebesar 84% menyatakan tingkat kepercayaan atau dapat dikatakan jika seorang konsumen membeli jenis obat analgetika maka terdapat 84% kemungkinan dia akan membeli jenis obat antibiotik juga.
2.
Support 23%, artinya 23% dari semua transak- si yang dianalisis menunjukkan
bahwa anal- getika dan vitamin&mineral dibeli bersamaan, sedangkan confidence sebesar 56% menyatakan tingkat kepercayaan atau dapat dikatakan jika seorang 13
konsumen membeli jenis obat analgeti- ka maka terdapat 56% kemungkinan dia akan membeli jenis obat vitamin&mineral juga.
3.
Support 21%, artinya 21% dari semua transaksi yang dianalisis menunjukkan
bahwa anal- getik anti piretik dan antibiotika dibeli bersamaan, sedangkan confidence sebesar 81.3% menyatakan tingkat kepercayaan atau dapat dikatakan jika seorang konsumen membe- li jenis obat analgetik anti piretik maka terdapat 81.3% kemungkinan dia akan membeli jenis obat antibiotika juga.
4.
Support 21%, artinya 21% dari semua transak- si yang
menunjukkan bahwa
anti asma&bronchodilator
dan
anti
dianalisis
histamin
dibeli
bersamaan, sedangkan confidence sebesar 65% menyatakan tingkat kepercayaan atau dapat dikatakan jika seorang konsumen membeli je- nis obat anti asma&bronchodilator maka terda- pat 65% kemungkinan dia akan membeli jenis obat anti histamin juga.
5.
Support 28%, artinya 28% dari semua transak- si yang
menunjukkan
bahwa
dianalisis
an- ti asma&bronchodilator dan antibiotika dibeli
bersamaan, sedangkan confidence sebesar 85% menyatakan tingkat kepercayaan atau dapat
dikatakan
jika
seorang
konsumen
membeli
je-
nis
obat
anti
asma&bronchodilator maka terda- pat 85% kemungkinan dia akan membeli jenis obat antibiotika juga.
6.
Support 23%, artinya 23% dari semua transak- si
menunjukkan
bahwa
anti
asma&bronchodilator
dan
yang
dianalisis
ekspektoran
dibeli 14
bersamaan, sedangkan confidence sebesar 70% menyatakan tingkat kepercayaan atau dapat dikatakan jika seorang konsumen membeli je- nis obat anti asma&bronchodilator maka terda- pat 70% kemungkinan dia akan membeli jenis obat ekspektoran juga.
7.
Support 34%, artinya 34% dari semua transak- si yang dianalisis
menunjukkan bahwa anti his- tamin dan antibiotika dibeli bersamaan, sedangkan confidence sebesar 91.3% menyatakan tingkat kepercayaan atau dapat dikatakan jika seorang konsumen membeli jenis obat anti his- tamin maka terdapat 91.3% kemungkinan dia akan membeli jenis obat antibiotika juga.
8.
Support 26%, artinya 26% dari semua transak- si yang dianalisis
menunjukkan bahwa anti par- asitik dan antibiotika dibeli bersamaan, sedangkan confidence sebesar 76.2% menyatakan tingkat kepercayaan atau dapat dikatakan jika seorang konsumen membeli jenis obat anti par- asitik maka terdapat 76.2% kemungkinan dia akan membeli jenis obat antibiotika juga.
Tabel 12: Hasil Akhir Uji Data No
Aturan asosiasi yang diperoleh adalah sebagai berikut : X10→X17 1.
Jika membeli obat analgetika maka akan mem- beli obat antibiotika dengan
support 34% dan confidence 84%
15
2.
Jika membeli obat analgetika maka akan mem- beli obat vitamin&mineral
dengan support 23% dan confidence 56%
3.
Jika membeli obat analgetik anti piretik maka akan membeli antibiotika
dengan support 21% dan confidence 81.3%
4.
Jika membeli obat anti asma&bronchodilator maka akan membeli obat anti
histamin dengan support 21% dan confidence 65%
5.
Jika
membeli
obat
anti
asma&bronchodilator maka akan membeli
antibiotika dengan support 28% dan confidence 85%
6.
Jika membeli obat anti asma&bronchodilator maka akan membeli obat
ekspektoran dengan support 23% dan confidence 70%
7.
Jika membeli obat anti histamin maka akan membeli antibiotika dengan
support 34% dan confidence 91.3%
8.
Jika membeli obat anti parasitik maka akan membeli antibiotika dengan
support 26% dan confidence 76.2%
Pengetahuan yang dapat ditarik dari ke-8 aturan asosiasi pada tabel 12 adalah sebagai berikut : Kesatu, digunakan dalam membantu apotek un- tuk menyusun layout sebaik mungkin dan sesuai ke- butuhan konsumen serta membantu pihak apoteker dalam memudahkan mencari kombinasi obat yang sering di beli. Sebagai contoh 16
(antibiotika anti his- tamin). Maka analisa yang mungkin didapat adalah kebiasaan pelanggan selain membeli obat antibioti- ka juga sering kali membeli jenis obat anti histamin secara bersamaan. Sehingga efeknya pada tata letak apotek adalah letak obat antibiotika tidak jauh dari obat anti histamin. Kedua, hasil asosiasi yang didapat juga bisa di- gunakan dalam membantu apotek untuk menetukan keputusan persediaan. Sebagai contoh data yang dipakai adalah (antibiotika anti histamin). Dari da- ta tersebut, dapat diambil kesimpulan seandainya pelanggan biasa membeli obat antibiotika dan an- ti histamine secara bersamaan, maka apotek seti- daknya harus menyediakan kedua obat tersebut dalam jumlah yang lebih banyak dan dengan jumlah yang sama. Ketiga, digunakan untuk melihat hubungan antara penjualan satu produk obat dengan produk obat lain- nya, misalkan pencarian pola penjualan obat antibiotika sedemikian rupa sehingga kita dapat menge- tahui obat apa saja yang juga dibeli oleh pembeli antibiotika. Dengan demikian kita bisa mengetahui bahwa antibiotika sering dikonsumsi oleh banyak masyarakat pada saat mereka sakit dan antibiotika dapat di kombinasikan dengan obat lain sesuai atu- ran dari dokter atau pihak apoteker.
Gambar 6: Tampilan Awal program 17
BAB IV KESIMPULAN DAN SARAN A.
Kesimpulan
Setelah proses dijalankan dengan memberikan nilai support sebesar 20% dan confidence sebesar 50%, maka asosiasi yang memenuhi syarat hanya ada 5 asosiasi yang terbentuk. Salah satu nilai support dan confidence tertinggi dari aturan asosiasi yang di- dapat adalah [anti histamine][antibiotika] yaitu de- ngan nilai support sebesar 34% dan nilai confidence 91.3%.
Sehingga dapat
disimpulkan 91.3% dari se- orang konsumen yang membeli obat anti histamine juga membeli obat antibiotika dan 34% dari semua konsumen membeli keduanya. Dari aturan asosiasi yang didapat diharapkan da- pat membantu pengembang untuk mengetahui kebi- asaan berbelanja masyarakat dan merancang strategi penjualan berdasarkan jenis obat yang tingkat kon- sumsinya tinggi.
B.
Saran Volume data yang digunakan untuk uji coba dis- arankan ditambah serta
penggunaan nilai support dan nilai confidence yang bervariasi sehingga da- pat menghasilkan lebih banyak asosiasi antar da- ta yang dapat mengandung informasi penting yang lebih bermanfaat. Dari hasil pengolahan data beberapa saran atau usul tindakan saran kepada pihak manajemen apotek dalam rangka meningkatkan penjualan, yaitu dapat menambah persediaan obat yang ada sesuai jenis obat apa saja yang sering di beli bersamaan oleh kon- sumen.
18
DAFTAR PUSTAKA [1] Leni Meiwati dan Metty Mustikasari. Aplikasi data mining menggunakan aturan asosiasi dengan metode apriori untuk analisis keranjang pasar pada data transaksi penjualan apotek. Jurnal Ilmiah, Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Gunadarma, Depok, 2013. [2] Data mining : Analisis keranjang pasar, 16 Juli 2010. [3] Budi Agustianingsih. Analisis keranjang pasar menggunakan algoritma predictive apriori untuk mendapatkan aturan asosiasi di suatu minimart di kelapa dua. Skripsi, Fakultas Teknologi Indus- tri, Universitas Gunadarma, Depok, 2008. [4] Kusrini dan Emha Taufiq Luthfi. Algoritma Data Mining. ANDI, Yogyakarta, 2009. [5] Leo Willyanto Santoso. Pembuatan perangkat lu- nak data mining untuk pengalian kaidah asosiasi menggunakan metode apriori. Universitas Kris- ten Petra. [6] Steinbach M. Kumar V. Tan, P. N.. Introdution to Data Mining. Pearson Education, 1 edition, 2006. [7] member IEEE Zaki. M.J. Scalable algorithm for association mining. In IEEE Transaction on Knowledge and Data engineering, volume 12, May/June 2000.