• Tidak ada hasil yang ditemukan

Penambangan aturan asosiasi pada dataset nilai akademik mahasiswa dengan algoritma apriori - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Penambangan aturan asosiasi pada dataset nilai akademik mahasiswa dengan algoritma apriori - USD Repository"

Copied!
137
0
0

Teks penuh

(1)

PENAMBANGAN ATURAN ASOSIASI PADA DATASET NILAI

AKADEMIK MAHASISWA DENGAN ALGORITMA

APRIORI

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains

Program Studi Ilmu Komputer

Oleh :

Francisca Andika P 023124045

PROGRAM STUDI ILMU KOMPUTER

JURUSAN MATEMATIKA

FAKULTAS MIPA

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)
(3)
(4)

HALAMAN PERSEMBAHAN

Ukuran tubuhmu kurang penting; ukuran otakmu agak penting; ukuran hatimu adalah yang paling penting.

(B. C. Gorbes)

Saya hanyalah seorang manusia, tetapi saya adalah seseorang. Saya

tidak dapat melakukan segalanya , tetapi saya dapat melakukan sesuatu.

Saya tidak akan menolak melakukan sesuatu yang dapat saya lakukan.

(Martha Graham)

Karya ini kupersembahkan untuk :

Yesus Kristus atas rahmat, karunia, dan berkatNya Pa’e & Bu’e tercinta,

Kekasihku Toro, Adikku Linda, Sahabat-sahabatku,

(5)

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya/bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 26 Maret 2007 Penulis

(6)

ABSTRAKSI

Data mining adalah sebuah proses mengekstrak pola yang penting atau menarik dari sejumlah data yang sangat besar. Salah satu metode yang dikenal di dalam penambangan data (data mining) adalah analisis asosiasi yang menghasilkan aturan asosiasi (association rule). Analisis asosiasi adalah teknik data mining untuk menemukan aturan asosiasi antara suatu kombinasi item. Penting tidaknya suatu aturan asosiasi dapat diketahui dengan dua parameter, nilai penunjang (support) yaitu persentase kombinasi item tersebut dan nilai kepastian (confidence) yaitu kuatnya hubungan antar item dalam aturan asosiasi.

(7)

ABSTRACT

Data mining is a process to extract interesting or important patterns from large amount of data. One of method in data mining is association analysis that yielding association rule . Association analysis is technique of data mining to find the association rule between item combination. Important or not in association rule with two parameter , assess the supporter (support) that is the item combination percentage and assess the certainty (confidence) that is its strength of relation among the item in association rule.

(8)

KATA PENGANTAR

Segala puji dan syukur penulis panjatkan kepada Yesus Kristus atas karunia rahmat dan berkatNya, sehingga skripsi dengan judul Penambangan Aturan Asosiasi pada Dataset Nilai Akademik Mahasiswa dengan Algoritma Apriori selesai disusun. Skripsi ini disusun sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains (S.Sc.) pada Program Studi Ilmu Komputer di Fakultas MIPA Universitas Sanata Dharma Yogyakarta.

Sebagai manusia biasa, penulis menyadari bahwa hambatan dan rintangan sekecil apapun merupakan pembelajaran dalam rangka menambah pengetahuan dan pengalaman. Berkat bantuan, kerjasama, dukungan, dari berbagai pihak dalam penyusunan skripsi ini maka skripsi ini dapat terselesaikan. Pada kesempatan ini penulis mengucapkan terimakasih dalam dan setulusnya atas kepada :

1. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc, selaku dosen pembimbing yang telah mencurahkan perhatian, waktu, ilmu, dan kesabarannya.

2. Drs. H.J. Haris Sriwindono, M.Kom. , selaku dosen penguji dan Kepala BAPSI ketika penelitian berlangsung, atas kesediaan membantu dalam pengambilan dataset, menguji serta masukan dan kritik yang membangun.

3. A. Rita Widiarti, S.Si, M.Kom., selaku dosen penguji, atas kesediaan menguji serta masukan dan kritik yang membangun.

(9)

5. Mas Diar, Mbak Retno selaku karyawan BAPSI yang telah membantu dalam pengambilan dataset.

6. Pa’e & Bu’e tercinta, atas segala doa yang tiada hentinya, pengorbanan, kasih sayang yang tak terhingga, semangat dan harapan yang tak padam.

7. Sayang Toro, yang begitu menyayangiku untuk kasih sayang, perhatian, semangat dan dukungannya.

8. Pritty maniez makasih atas semua bantuannya, Nyit2 atas semangatnya, Astiwi

thanks to the “mobile”, Kost Lovely : Ophék, Dõra, Déw..ik (thank’s ya kamarnya), Héncë, Plëndies, Pépéng, atas canda tawa dan persahabatan yang indah, serta semua teman-teman IKOM angkatan 2002.

9. Piepiet & Bulan thanks atas doa, semangat, keceriaan, dukungan serta semangat yang diberikan.

10. Kakak-kakakku Mbak Is, Mbak Anne, Mbak Etik, Mbak Atik, Mbak Oni serta adikku Linda atas segala doa, dukungan, kasih sayang, semangat, perhatian, canda tawa yang selalu mengiringiku.

11. Keluarga Bekasi Bapak, Ibuk, Mas Asta, & Tika, terimakasih karena telah menerimaku dalam keluarga.

Serta semua pihak yang tidak dapat disebutkan satu persatu. Penulis menyadari karya ini memiliki banyak kekurangan, untuk itu penulis mengharapkan saran dan kritik untuk menyempurnakan karya ini. Semoga skripsi ini bermanfaat bagi pengetahuan dan masyarakat.

(10)

DAFTAR ISI

HALAMAN JUDUL... 1

HALAMAN PERSETUJUAN PEMBIMBING... 2

HALAMAN PENGESAHAN... 3

HALAMAN PERSEMBAHAN... 4

PERNYATAAN KEASLIAN KARYA... 5

ABSTRAKSI... 6

ABSTRACT... 7

KATA PENGANTAR... 8

DAFTAR ISI... 10

DAFTAR TABEL………... 12

DAFTAR GAMBAR……... 15

BAB I PENDAHULUAN……... 17

A. Latar Belakang……... 17

B. Rumusan Masalah…... 19

C. Metodologi …... 19

D. Tujuan…... 20

E. BatasanMasalah…... 20

F. Manfaat... 21

G. Sistematika Penulisan…... 21

BAB II LANDASAN TEORI... 23

A. Pengertian Data Mining... 23

B. Tahap-tahap Data Mining... 26

C. Teknik Data Mining... 27

D. Aturan asosiasi (Association Rules) ... 30

(11)

BAB III ANALISIS DAN PERANCANGAN SISTEM... 43

A. Identifikasi Masalah... 43

B. Analisis Sistem... 44

1. Input... 44

2. Proses... 48

3. Output... 52

4. Analisa Kebutuhan Sistem... 52

C. Perancangan………... 53

1. Perancangan Modul………... 53

2. Perancangan Struktur Data…... 56

3. Perancangan Antar Muka dengan Pengguna……….. 60

BAB IV IMPLEMENTASI DATA MINING………... 70

BAB V ANALISA HASIL DAN PEMBAHASAN..………. 93

A. Percobaan Jenis I ... 93

1. Percobaan dengan Dataset I... 93

2. Percobaan dengan Dataset II... 103

B. Percobaan Jenis II... 116

C. Pembahasan... 125

BAB VI KESIMPULAN DAN SARAN... 129

A. Kesimpulan……….. 129

B. Saran……….…… 131

DAFTAR PUSTAKA………. 132

LAMPIRAN……… 134

Lampiran 1 Data salah satu mahasiswa prodi Ilmu Komputer yang diperoleh dari BAPSI……… 134

(12)

DAFTAR TABEL

Tabel 2.1 Contoh Tabel Transaksi D……….…... 32

Tabel 2.2 Tabel Transaksi ………...……. 37

Tabel 2.3 Frequent itemset minimum support 40%..………....…... 39

Tabel 3.1 Nim mahasiswa ...………... 45

Tabel 3.2 Matakuliah yang terdapat dalam satu rangkaian prasyarat... 46

Tabel 3.3 Nilai mahasiswa ...……….. 47

Tabel 3.4 Tabel contoh itemset dengan matakuliah yang memperoleh nilai C,D,E,F……….. 48

Tabel 3.5 Keterangan array itemset ……….. 56

Tabel 3.6 Contoh salah satu isi array itemset ……….. 56

Tabel 3.7 Format listbox pada form Frequent 1_Itemset.……….. 57

Tabel 3.8 Keterangan listbox pada form Frequent 1_Itemset ……… 57

Tabel 3.9 Format listbox bagian atas pada form Frequent Itemset... 58

Tabel 3.10 Keterangan listbox bagian atas pada form Frequent Itemset ……. 58

Tabel 3.11 Format listbox bagian bawah pada form Frequent Itemset ……... 58

Tabel 3.12 Keterangan listbox bagian bawah pada form Frequent Itemset…. 59 Tabel 3.13 Format listbox yang terdapat pada form Semua Rule………... 59

Tabel 3.14 Keterangan listbox yang terdapat pada form Semua Rule………. 59

Tabel 3.15 Format listbox yang terdapat pada form Strong association rule… 60 Tabel 3.16 Keterangan listbox yang terdapat pada form Strong association rule ...……….……….. 60

Tabel 4.1 Listbox Frequent Itemset………..………. 79

Tabel 4.2 Listbox Keterangan Frequent Itemset………..……….. 79

Tabel 5.1 Contoh format Dataset I…...……….. 93

Tabel 5.2 Frequent 1_itemset dengan minsup 0.4 pada dataset I…………... 94

Tabel 5.3 Frequent 2_itemset dengan minsup 0.4 pada dataset I………….. 95

(13)
(14)

Tabel 5.37 Frequent 1_itemset dengan minsup 0.55 pada dataset II………… 114 Tabel 5.38 Frequent 2_itemset dengan minsup 0.55 pada dataset II………… 114 Tabel 5.39 Aturan asosiasi dengan minsup 0.55 dan minconf 0.5 pada

(15)

DAFTAR GAMBAR

Gambar 2.1Data Mining merupakan bidang multidisipliner …..………… 24

Gambar 2.2 Tahap-tahap dalam Data Mining ……...…….... 26

Gambar 2.3 Contoh dari decision tree pembeli komputer ..………. 28

Gambar 2.4 Pencarian candidate itemset dan frequent itemset dengan minimum support = 40%………...………. 38

Gambar 3.1 Diagram Konteks ...………... 48

Gambar 3.2 DFD Level 1………... 49

Gambar 3.3 DFD Level 2………...……... 50

Gambar 3.4 Perancangan Antar Muka Form Input ……... 60

Gambar 3.5 Perancangan Antar Muka Form Tabel Mahasiswa..…………. 61

Gambar 3.6 Perancangan Antar Muka Form Candidate 1_Itemset………… 62

Gambar 3.7 Perancangan Antar Muka Form Frequent Itemset... 64

Gambar 3.8 Perancangan Antar Muka Form Candidate Itemset………….. 65

Gambar 3.9 Perancangan Antar Muka Form Semua Rule... 66

Gambar 3.10 Perancangan Antar Muka Form Strong association rule …….. 67

Gambar 3.11 Perancangan Antar Muka Form Frequent Itemset_1……..….. 68

Gambar 3.12 Perancangan Antar Muka Form Infrequent 1_Itemset... 69

Gambar 4.1 Form Welcome ………..……….. 70

Gambar 4.2 Form Input ………...………….. 71

Gambar 4.3 Form Dataset ………... 72

Gambar 4.4 Form Candidate 1_Itemset..……….. 73

Gambar 4.5 Form Loading...…...………... 74

Gambar 4.6 Form Frequent 1_Itemset dan Form Infrequent 1_Itemset ….. 75

Gambar 4.7 Pesan 1...……….... 77

Gambar 4.8 Pesan 2………...……… 77

Gambar 4.9 Form Frequent Itemset...………... 78

Gambar 4.10 Form Candidate Itemset ………... 84

Gambar 4.11 Form Semua Rule………... 85

(16)

Gambar 4.13 Form Daftar Istilah……….……….….. 92

Gambar 4.14 Form About ……….. 92

Gambar 5.1 Grafik hubungan nilai minimum support terhadap jumlah aturan asosiasi yang kuat pada dataset I………... 125 Gambar 5.2 Grafik hubungan nilai minimum support terhadap jumlah aturan

asosiasi yang kuat pada dataset II…..………... 126 Gambar 5.3 Grafik hubungan nilai minimum confidence terhadap jumlah

(17)

BAB I PENDAHULUAN

A. Latar Belakang

Data-data dalam suatu perusahaan biasanya disimpan dalam suatu basis data untuk transaksi sehari-hari, seperti pencatatan transaksi jual beli, administrasi pengiriman barang , dan lain-lain. Hal itu disebut OLTP (Online Transaction Processing). Data-data tersebut akan semakin bertambah seiring berjalannya waktu. Data-data yang tersimpan dalam kurun waktu yang cukup lama akan mencapai ukuran gigabyte bahkan dapat mencapai terabyte.

(18)

Salah satu instansi yang mempunyai data yang berukuran besar adalah Universitas Sanata Dharma Yogyakarta. Banyak sekali data yang disimpan oleh Universitas Sanata Dharma, salah satunya yaitu data nilai akademik mahasiswa yang setiap semester selalu bertambah sesuai jumlah mahasiswa dan matakuliah yang mereka ambil. Nilai tersebut dipakai untuk menentukan ipk, ips dan jumlah sks yang akan diambil oleh mahasiswa pada semester berikutnya. Selanjutnya nilai tersebut akan disimpan dan dibiarkan hingga dapat menjadi tumpukan data.

Dari data tersebut penulis mencoba untuk memanfaatkannya untuk mencari suatu informasi yang berguna. Dalam skripsi ini penulis menggunakan data mining untuk mencari informasi tersebut. Data mining merupakan serangkaian proses untuk menggali nilai tambah dari suatu kumpulan data berupa pengetahuan yang selama ini tidak diketahui secara manual. Dengan teknologi data mining penulis dapat memperoleh informasi dari dataset nilai akademik mahasiswa sehingga tidak akan menjadi tumpukan data saja.

Data nilai akademik dapat dimanfaatkan untuk mengetahui pola keterkaitan antar tingkat keberhasilan / ketidakberhasilan suatu mata kuliah dengan tingkat keberhasilan / ketidakberhasilan mata kuliah lain yang diprasyaratinya dalam satu rangkaian aliran matakuliah.

(19)

yang dikelompokkan ke dalam transaksi kemudian mengambil kesimpulan berdasarkan hubungan yang terbentuk dari beberapa item data tersebut.

Penting atau tidaknya suatu aturan asosiasi dapat diketahui dengan dua parameter, support yaitu presentase kombinasi item tersebut dalam database dan confidence yaitu kuatnya hubungan antar item dalam aturan asosiasi. Algoritma yang akan dipakai adalah algoritma Apriori karena di antara beberapa algoritma aturan asosiasi yang dikembangkan, algoritma Apriori merupakan algoritma yang dinilai paling efisien (Dyah,2005).

B. Rumusan Masalah

Bagaimana mengetahui pola keterkaitan antar tingkat keberhasilan atau ketidakberhasilan suatu matakuliah dengan tingkat keberhasilan atau ketidakberhasilan mata kuliah lain dari dataset nilai akademik mahasiswa dengan data mining menggunakan teknik pencarian aturan asosiasi (association rule) dengan algoritma Apriori?

C. Metodologi

1. Pembersihan data

Untuk membuang data yang tidak konsisten dan tidak diperlukan. 2. Integrasi data

(20)

Melakukan penggabungan data menjadi bentuk yang sesuai untuk data mining serta membangun model berdasarkan pola-pola yang

ditemukan pada langkah sebelumnya.

4. Aplikasi teknik data mining menggunakan algoritma Apriori. 5. Evaluasi pola yang ditemukan.

Untuk menemukan informasi yang bernilai dengan menggunakan algoritma Apriori.

6. Presentasi pengetahuan.

Dengan menggunakan teknik visualisasi.

D. Tujuan

Untuk mengetahui pola keterkaitan antar tingkat keberhasilan atau ketidakberhasilan suatu matakuliah dengan dengan tingkat keberhasilan atau ketidakberhasilan mata kuliah lain dari dataset nilai akademik mahasiswa dengan data mining menggunakan teknik pencarian aturan asosiasi (association rule) dengan algoritma Apriori.

E. Batasan Masalah

(21)

matakuliah Algoritma dan Pemrograman I merupakan matakuliah yang menjadi syarat untuk pengambilan matakuliah-matakuliah lain (dapat dilihat pada lampiran 2).

F. Manfaat

Hasil penelitian dari data mining ini akan menghasilkan aturan asosiasi yang merupakan hubungan keterkaitan tingkat keberhasilan atau ketidakberhasilan suatu makuliah terhadap tingkat keberhasilan atau ketidakberhasilan matakuliah lain. Kesimpulan dari aturan tersebut dapat digunakan sebagai pertimbangan untuk perbaikan kurikulum program studi, dalam hal menentukan apakah suatu matakuliah perlu diprasyarati oleh matakuliah lain dan menentukan sifat persyaratannya (nisbi atau mutlak). Selain itu informasi yang diperoleh dapat pula dipakai untuk perbaikan proses belajar mengajar dan pendampingan akademik.

G. Sistematika Penulisan Bab I. Pendahuluan

Dalam bab ini akan dijelaskan mengenai latar belakang masalah, rumusan masalah, metodologi, tujuan, batasan masalah, manfaat, dan sistematika penulisan.

Bab II. Landasan Teori

(22)

Bab III. Analisa dan Perancangan Data Mining

Dalam bab ini akan diidentifikasikan masalah yang akan diselesaikan dan tahap-tahap penyelesaian masalah dalam data mining dengan algoritma Apriori. Dalam bab ini pula akan dijelaskan perancangan program implementasi data mining dengan algoritma Apriori.

Bab IV Implementasi Data Mining

Dalam bab ini akan dijelaskan tentang implementasi data mining dengan algoritma Apriori.

Bab V. Analisa hasil dan Pembahasan

Berisi analisa hasil program dan pembahasan masalah berdasarkan hasil yang telah didapat secara keseluruhan.

Bab VI. Kesimpulan dan Saran

(23)

BAB II

LANDASAN TEORI

A. Pengertian Data Mining

Menurut Pramudiono (2003) perkembangan data mining yang pesat tidak dapat lepas dari perkembangan teknologi informasi yang memungkinkan data dalam jumlah yang besar terakumulasi. Tetapi pertumbuhan yang pesat dari akumulasi data telah menciptakan suatu kondisi yang disebut dengan “rich of data but poor of information” karena data yang terkumpul itu tidak dapat digunakan dalam suatu aplikasi yang berguna. Bahkan tidak jarang kumpulan data tersebut dibiarkan begitu saja sehingga tercipta “data tombs” (kuburan data).

(24)

Definisi data mining :

1. Menurut Pramudiono (2003), data mining merupakan serangkaian proses untuk menggali nilai tambah baru suatu kumpulan data berupa pengetahuan yang selama ini tidak diketahui secara manual.

2. Menurut Sucahyo (2003), definisi sederhana dari data mining adalah ekstraksi informasi atau pola yang penting atau menarik dari data yang ada di basis data yang besar.

3. Menurut Edelstein dari Two Crows Cooperations data mining digunakan untuk menemukan pola yang tersembunyi dan hubungan antar data yang membantu di dalam hal membuat keputusan bisnis yang lebih baik.

4. Menurut Kumar dan Joshi, data mining adalah eksplorasi dari analisis baik secara otomatis maupun semi otomatis dari data yang berjumlah besar dengan tujuan untuk menemukan pola dan aturan yang berarti. Perlu diketahui bahwa data mining merupakan salah satu bidang yang cukup banyak didukung oleh cabang ilmu lain di dalam teknologi informasi yaitu statistik, teknologi basis data, machine learning, sistem pakar, algoritma paralel, algoritma genetika, pengenalan pola, visualisasi data, dan lain-lain.

Genetic Algoritm

Parallel

Algoritm Database

Visualisation Applied

Statistic

Data Mining

Machine

Learning Artificial Intelegent

(25)

Ada beberapa faktor yang menjadi alasan utama mengapa menggunakan data mining:

1. Banyaknya data yang terkumpul sehingga memerlukan waktu yang sangat lama dan tenaga ahli yang cukup banyak untuk menganalisisnya.

2. Komputer menjadi salah satu pilihan utama karena kemampuannya dalam kecepatan, ketepatan, tidak pernah lelah dan mudah dioperasikan.

3. Tekanan dari kompetisi bisnis yang terus menguat sehingga menjadikan informasi menjadi sangat penting dan harus segera dimiliki.

4. Mampu menemukan suatu pola yang tidak terpikirkan sama sekali. Menurut Sucahyo (2003) data mining merupakan salah satu aktifitas dibidang perangkat lunak yang dapat memberikan ROI (Return of Investment) yang tinggi.

(26)

B. Tahap-Tahap Data Mining

Karena data mining adalah suatu rangkaian proses maka dibagi menjadi beberapa tahap antara lain :

1. Pembersihan data: untuk membuang data yang tidak konsisten dan noise. 2. Integrasi data: untuk menggabungkan data dari beberapa sumber.

3. Transformasi data : untuk mengubah data menjadi bentuk yang sesuai untuk di-mining.

4. Aplikasi teknik data mining.

5. Evaluasi pola yang ditemukan : untuk menemukan informasi yang menarik ataupun bernilai.

6. Presentasi pengetahuan dengan teknik visualisasi. Tahap-tahap diatas dapat digambarkan sebagai berikut :

Gambar 2.2 Tahap-tahap dalam data mining

(27)

C. Teknik Data Mining Berdasarkan proses: 1. Supervised Learning

Dalam supervised learning disyaratkan agar data analis telah mengidentifikasi atribut tujuan. Sebagai contoh, bila ada suatu pertanyaan tentang siapakah pelanggan yang baru-baru ini membeli mobil baru, untuk itu dapat dibuat target atribut 1 untuk “YA” dan 0 untuk “TIDAK”. Teknik-teknik yang termasuk dalam bagian ini antar lain Clasification, Regression, dan lain-lain.

2. Unsupervised Learning

Berbeda dengan supervised learning, dalam unsupervised learning data analis tidak perlu mengidentifikasi atribut target. Teknik-teknik data mining yang termasuk ke dalam bagian ini adalah Clustering, Association Rule, dan lain-lain.

Berikut ini adalah gambaran tentang teknik data mining yang paling populer dari teknik-teknik data mining yang ada:

1. Classification

(28)

Desicion tree merupakan salah satu metode clasification yang paling populer karena mudah untuk diinterpretasikan oleh manusia. Contoh dari decision tree dapat dilihat melalui gambar dibawah ini:

age

student credit rating

no yes

yes

no yes

<=30 >40

excellent

Gambar 2.3 Contoh dari decision tree pembeli komputer (www.ilmu komputer.com/umum/iko-datamining.php.2003)

Setiap percabangan menyatakan kondisi yang harus dipenuhi dan tiap ujung pohon menyatakan kelas data atau atribut data. Dari decision tree tersebut, diketahui bahwa salah satu kelompok yang potensial membeli komputer adalah orang yang berusia dibawah atau sama dengan 30 dan juga merupakan seorang pelajar.

Algoritma Decision tree yang sering dipakai adalah ID3 dan C4.5, namun akhir-akhir ini sedang dikembangkan suatu algoritma yang dikenal dengan RainForest. Metode-metode classification yang lain adalah Bayesian, Neural Network, Genetic Algorithm, Fuzzy, Case-based Reasoning dan K-Nearest Neigboor.

2. Association Rule

(29)

Basis data transaksi tersebut dapat dipakai untuk menyelesaikan masalah pemilik pasar swalayan atau toko antara lain dalam mengatur tata letak barang, penyiapan stok barang, dan lain-lain. Dengan menemukan semua aturan asosiasi dan korelasi di antara item data dimana kehadiran salah satu dari sejumlah item data menunjukkan secara tidak langsung adanya kehadiran item data lainnya, maka masalah tersebut bisa diselesaikan. Contoh dari aturan asosiasi adalah bisa diketahui berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu. Dengan informasi tersebut, seorang pemilik pasar swalayan atau toko dapat mengambil keputusan-keputusan strategis tentang pasar swalayan atau tokonya dalam mengatur penempatan barang atau merancang kampanye pamasaran dengan menggunakan kupon diskon untuk kombinasi barang. Adapun algoritma pada teknik ini antara lain Apriori, FP-Growth, Closure/closed dan lain-lain.

3. Clustering

(30)

D. Aturan asosiasi (Association Rules)

Association rule adalah salah satu teknik data mining yang sudah mulai dipopulerkan oleh Rakesh Agrawal, seorang peneliti di IBM Almaden Research Center yang berasal dari India, sejak tahun 1993 (Prasetyo,2006). Aturan asosiasi sering dipakai dalam penggalian data transaksi. Proses pencarian aturan asosiasi bertujuan untuk menemukan pola yang sering muncul, asosiasi antara suatu kombinasi item yaitu dengan membuat korelasi antara item data yang dikelompokkan ke dalam transaksi kemudian mengambil kesimpulan berdasarkan hubungan yang terbentuk dari beberapa item data. Hal-hal tersebut dapat merepresentasikan informasi penting yang ingin diketahui pada data yang ada.

Proses pencarian frequent itemset merupakan pra-syarat dan membutuhkan waktu sangat banyak, sehingga banyak algoritma dikembangkan untuk lebih mengefisienkan proses ini. Ada beberapa faktor yang mempengaruhi efisiensi pencarian frequent itemset diantaranya adalah bila basis data besar (jumlah transaksi yang banyak), item yang sangat banyak dan nilai support yang rendah.

Penting tidaknya suatu aturan asosiasi dapat diketahui dengan dua parameter, support yaitu prosentase kombinasi item dalam database dan confidence yaitu kuatnya hubungan antar item dalam aturan asosiasi (Pramudiono,2003). Pencarian association rule bertujuan untuk menemukan semua aturan yang terdapat pada database dengan minsup (minimum support) dan minconf (minimum confidence) yang melebihi batas tertentu.

(31)

Definisi 1 : Misalkan I = {I1, I2, …, Ik}, X  I adalah kumpulan dari item-item yang

disebut itemset.

Definisi 2 : Misalkan I = {I1, I2, …, Ik} adalah sebuah gugus dari k atribut yang

berbeda, disebut juga literal. D adalah basis data, dimana setiap record (tuple) t memiliki pengidentifikasi yang unik (TID), dan mengandung sebuah item sedemikian hingga t  I. Untuk transaksi t berisi X yang merupakan sekumpulan item yang ada dalam I, sehingga X  t, aturan asosiasi adalah sebuah aturan berbentuk X  Y, dimana X  I, Y  I, dan X  Y = .

Definisi 3 : Support dari aturan asosiasi X  Y adalah rasio dari record yang mengandung X  Y dengan total record dalam basis data. Secara matematis dapat ditulis,

Supp(X Y) =

D t Y X D

t |  

...(2.1)

Untuk mendapatkan nilai support menggunakan rumus :

Support (X,Y) = Count (X,Y) / |D|...(2.2)

Definisi 4: Minsup ( minimum support) menandakan ambang batas (threshold) yang menentukan apakah sebuah itemset akan dipergunakan pada perhitungan selanjutnya untuk pencarian aturan asosiasi.

(32)

Definisi 6 : Confidence dari aturan asosiasi X  Y adalah rasio dari record yang

Untuk mendapatkan nilai confidence menggunakan rumus:

Confidence (X Y) = support (X,Y) / support (X)...(2.4) Definisi 7 : Minconf (minimum confidence) menandakan ambang batas (threshold) dari sebuah aturan asosiasi untuk menentukan aturan asosiasi yang kuat (strong association rule).

Beberapa istilah lain yang digunakan dalam aturan asosiasi adalah sebagai berikut :

· k-itemset : itemset dengan kardinalitas k (gugus item yang memiliki k buah item).

· candidate k-itemset : itemset yang mungkin merupakan frequent k-itemset.

· frequent k-itemset (Fk): frequent itemset dengan kardinalitas k.

· Aturan asosiasi yang kuat (strong association rule) : aturan asosiasi yang nilai confidence-nya memenuhi parameter ambang batas minimum confidence.

Misalnya terdapat dataset transaksi D sebagai berikut: Tabel 2.1. Contoh Tabel Transaksi D

TID Itemsets

T100 1 3 4

T200 2 3 5

T300 1 2 3 5

(33)

Jumlah transaksi D = |D| = 4

Jumlah transaksi yang terdiri dari item (2,3) = Count (2,3) = 2 Maka support (2,3) = Count (2,3) / |D|

= 2 / 4 = 0.5

Confidence (2 3) = support (2,3) / support (2) = 0.5 / 0.75

= 0.67

Secara umum yang dilakukan dalam proses pencarian aturan asosiasi ini dapat dibagi menjadi dua tahapan, yaitu :

· Pencarian frequent itemset

Yaitu proses pencarian semua frequent itemset dari kandidat itemset yang memenuhi nilai minsup. Dalam skripsi ini proses pencarian frequent itemset menggunakan algoritma Apriori.

· Pembentukan strong association rule

Yaitu proses mendapatkan aturan asosiasi yang kuat (strong association rule) dari kombinasi frequent itemset yang membentuk aturan asosiasi yang memiliki nilai confidence lebih besar atau sama dengan dari nilai minconf . Aturan asosiasi dapat ditemukan dari setiap frequent itemset.

(34)

E. Algoritma Apriori

Algoritma Apriori adalah algoritma analisis keranjang pasar yang digunakan untuk menghasilkan aturan asosiasi, dengan pola “if-then”. Algoritma ini menggunakan pendekatan iteratif yang dikenal dengan level-wise search, dimana k-kelompok produk digunakan untuk mengeksplorasi (k+1)-k-kelompok produk atau (k+1)-itemset (Yulita dkk, 2004). Algoritma Apriori merupakan algoritma untuk mencari frequent itemset yang berdasarkan prinsip Apriori, yaitu jika suatu itemset merupakan frequent itemset, maka semua subset-nya akan berupa frequent itemset (Sukarya,dkk). Pembentukan frequent itemset dilakukan dengan mencari semua kombinasi item-item yang memiliki support lebih besar atau sama dengan minsup yang telah ditentukan.

Proses pada algoritma ini membangkitkan frequent itemset per level, dimulai dari level 1-itemset sampai ke itemset terpanjang, kandidat level yang baru dibentuk dari frequent itemset yang ditemukan di level sebelumnya lalu menentukan nilai support-nya. Detail algoritma Apriori adalah sebagai berikut :

Ck : candidate itemset dengan ukuran k

Fk : frequent itemset dengan ukuran k

D : data seluruh transaksi F1 : {Frequent 1-itemset}

For (k=2; Fk-1 ≠  ; k++) do begin

//Join Step

Ck = apriori-gen(Fk-1);

(35)

//Prune Step

Ct = subset (Ck, t);

For all kandidat c  Ct do

c.count++;

end

Lk = { c  Ck | c.count  minsup}

End

Answer = kFk;

Berdasarkan algoritma di atas, pada iterasi pertama dihitung jumlah kemunculan setiap item dalam transaksi untuk menentukan frequent 1-itemset. Pada iterasi selanjutnya, Fk-1 yang merupakan set dari frequent (k-1)-itemset yang dibentuk

pada iterasi ke-(k-1), digunakan untuk membentuk Ck (himpunan dari candidate

k-itemset). Langkah ini merupakan tahap dari join step. Setelah itu, dilakukan penelusuran dalam basis data untuk menghitung support bagi setiap candidate itemset dalam Ck. Untuk setiap transaksi t, dicari semua candidate itemset t dalam set

Ck yang terkandung dalam transaksi tersebut. Kumpulan dari semua candidate

itemset dalam set Ck yang terkandung dalam transaksi t disebut Ct dan ditulis dengan

notasi Ct= subset (Ck, t). Langkah ini merupakan tahap dari prune step. Nilai support

dari semua candidate k-itemset dalam Ct dinaikkan. Penelusuran dilanjutkan pada

transaksi berikutnya sampai semua transaksi dalam basis data ditelusuri, kemudian dicari candidate k-itemset yang memenuhi minsup. Semua candidate k-itemset yang memenuhi minsup disimpan dalam Fk yang akan digunakan untuk membentuk

(36)

Secara lebih detail, algoritma untuk join step dan prune step adalah sebagai berikut :

a. Join step

Pada langkah ini dilakukan join Fk-1 dengan Fk-1 untuk memperoleh superset

Ck. Union p  q dari frequent (k-1)-itemset p,q Fk-1 dimasukkan ke dalam Ck jika

(k-2)-item pertama dari p dan q sama dan item p[k-1] < q[k-1]. Algoritma:

For all p,q  Fk-1  p ≠ q

If ( p[1]=q[1]p[k-2]=q[k-2] ) ( p[k-1] < q[k-1] )

Then r = p[1],p[2],…, p[k-1],q[k-1]

Insert r into Ck

Langkah pada algoritma ini merupakan perluasan dari setiap frequent (k-1)-itemset dalam Fk-1 dengan setiap item pada basis data sehingga membentuk k-itemset,

kemudian membuang k-itemset yang memiliki subset ukuran (k-1) yang tidak berada dalam F k-1.

b. Prune Step

Pada langkah ini dilakukan penelusuran dalam basis data untuk menghitung support bagi setiap candidate itemset dalam Ck.

Algoritma:

For all itemsets c  Ck do

For all (k-1)-subset s of c do

If (s  Fk-1) Then

Delete c from Ck

(37)

Algoritma Apriori menggunakan arah pencarian bottom-up, dimana arah pencarian dimulai dari frequent itemset menuju ke itemset terpanjang. Strategi yang digunakan breadth-first search dimana proses pencarian dilakukan per level dan untuk tiap levelnya ditentukan nilai support-nya untuk menentukan frequent itemset pada level tersebut. Sedangkan strategi penghitungan nilai support dilakukan dengan horizontal counting, dengan cara membaca transaksi satu persatu, jika ditemukan itemset yang dicari pada transaksi tersebut maka counter bertambah satu, begitu selanjutnya.

Contoh penerapan algoritma Apriori dan pembentukan aturan asosiasi

Dengan menggunakan contoh tabel transaksi yang diambil dari situs

www.stttelkom.ac.id/staf/MAB/TA-PA/jurnal-oyo.zip dibawah ini, akan ditunjukkan

cara kerja algoritma Apriori untuk menemukan frequent itemset dan pembangkitan aturan asosiasi yang memenuhi minsup yang telah ditetapkan sebesar 40% dan minconf 50%.

Tabel 2.2. Tabel Transaksi TI

D

Item 1 B, C, D, E

2 A, C

3 B

4 A, B, C, D

5 A, B, D

6 C, D

7 A, B, D, E

8 B, C, D

9 B, C, D, E

(38)

Dari tabel diatas maka proses pencarian frequent itemset dengan algoritma Apriori adalah sebagai berikut :

Candidate

Gambar 2.4. Pencarian candidate itemset dan frequent itemset dengan minimum support = 40%

Karena jumlah item dari frequent 3-itemset hanya terdiri dari 3 item sehingga tidak memungkinkan lagi dibentuk frequent 4-itemset maka proses pencarian dihentikan. Berdasarkan pencarian frequent itemset diatas maka didapat tabel frequent itemset sebagai berikut :

L1

C2 L2

C3 L3

(39)

Tabel 2.3. Frequent itemset dengan minimum support 40% Frequent Itemset Count Support (%)

{B,C} {B,C,D} 5 50%

{C,D} 6 60%

{C} {B,D} 7 70%

{D} {B} 8 80%

Dari contoh diatas dapat dilihat bahwa bila nilai minsup diturunkan maka akan banyak kandidat itemset yang terbentuk dan kardinalitas itemset yang lebih besar lagi, sehingga menyebabkan banyak pengulangan. Tapi untuk nilai minsup yang besar akan menyebabkan sedikit ditemukan frequent itemset sehingga menjadikan algoritma ini efisien, karena sedikit sekali melakukan proses pembacaan basis data dan penghitungan nilai support.

Sehingga dengan frequent itemset yang telah ditemukan diatas dapat diproses sebagai berikut :

Subset dari frequent itemset: {B},{C},{D},{BC},{BD},{CD},{B,C,D} Dari subset yang ada dibentuk aturan asosiasi sebagai berikut :

1. B C

Confidence (B C) = support (BC) / support (B) = 50/80

= 0.625 = 62.5% 2. C B

(40)

= 0.714 = 71.4% 3. B D

Confidence (B D) = support (BD) / support (B) = 70/80

= 0.875 = 87.5% 4. D B

Confidence (DB) = support (BD) / support (D) = 70/80

= 0.875 = 87.5% 5. D C

Confidence (D  C) = support (CD) / support (D) = 60/80

= 0.75 = 75% 6. CD

Confidence (C  D) = support (CD) / support (C) = 60/70

(41)

Confidence (B CD) = support (BCD) / support (B) = 50/80

= 0.625 = 62.5% 8. CD  B

Confidence (CD  B) = support (BCD) / support (CD) = 50/60

= 0.833 = 83.3% 9. C BD

Confidence (C BD) = support (BCD) / support (C) = 50/70

= 0.714 = 71.4% 10. BD  C

Confidence (BD  C) = support (BCD) / support (BD) = 50/70

= 0.714 = 71.4%

11. D BC

(42)

= 0. 625 = 62.5% 12. BC  D

Confidence (BC  D) = support (BCD) / support (BC) = 50/50

= 1 = 100%

Dari semua aturan asosiasi yang ada ternyata mempunyai nilai confidence 

(43)

BAB III

ANALISA DAN PERANCANGAN DATA MINING

A. Identifikasi Masalah

Setiap instansi selalu melakukan penyimpanan data. Adapun data yang disimpan sangatlah banyak dan beragam. Data tersebut disimpan dalam bentuk database dimana semakin banyak data yang disimpan maka semakin besar pula memori yang diperlukan untuk menyimpannya. Data yang disimpan merupakan data yang penting dan dibutuhkan demi terlaksananya kegiatan dalam instansi tersebut.

Salah satu instansi yang dibahas dalam karya tulis ini adalah sebuah universitas yaitu Universitas Sanata Dharma Yogyakarta. Saat penelitian berlangsung Universitas Sanata Dharma terdiri dari 8 fakultas dan 24 program studi dengan jumlah mahasiswa sebanyak 11323 orang. Pihak universitas menyimpan banyak sekali data, mulai dari data pribadi mahasiswa, data administrasi mahasiswa, data matakuliah beserta staf pengajar, data staf pengajar, dan masih banyak lagi data yang harus disimpan. Adapun data-data tersebut memiliki manfaat sesuai dengan kebutuhan dari pihak universitas.

(44)

141 orang. Pihak universitas harus menyediakan memori dengan kapasitas yang besar dan pengelolaan yang rumit untuk menyimpan data nilai akademik yang hanya dipakai untuk menghitung nilai ipk dan ips mahasiswa tiap semester. Hal itu tidak seimbang antara pengelolaan dan hasil yang diperoleh.

Untuk itu dengan teknologi yang tergolong baru, yaitu data mining penulis akan menggunakan data nilai akademik tersebut untuk diolah agar menemukan informasi yang terkandung di dalam data tersebut yang tidak bisa didapat secara manual.

B. Analisa sistem

Sistem ini akan menghasilkan informasi baru tentang pola keterkaitan antara tingkat keberhasilan suatu matakuliah dengan tingkat keberhasilan mata kuliah lain.

1. Input

(45)

Data tersebut memiliki atribut sebagai berikut :

Ø Smt Ambil : saat mahasiswa mengambil matakuliah (berupa tahun dan semester ganjil atau genap).

Ø Kode Mtk : kode matakuliah yang diambil oleh mahasiswa. Ø Nama Mtk : nama matakuliah

Ø Sks : jumlah sks setiap matakuliah

Ø Nilai : nilai yang diperoleh mahasiswa setiap matakuliah

Ketika penelitian sedang berlangsung jumlah mahasiswa Ilmu Komputer angkatan 2001 sebanyak 77 orang, yang masih aktif sebanyak 50 orang dan yang telah lulus sebanyak 27 orang. Sedangkan mahasiswa Ilmu Komputer angkatan 2002 sebanyak 64 orang dan masih aktif semua.

Pada data tersebut dilakukan pemrosesan awal untuk dipakai dalam penggalian aturan asosiasi. Yang dilakukan dalam pemrosesan awal adalah memberikan tambahan atribut nim untuk membedakan antara mahasiswa yang satu dengan yang lain. Atribut nim berupa integer yang terdiri 4 digit, 2 digit awal menyatakan angkatan sedangkan 2 digit belakang adalah nomor urut mahasiswa. Adapun atribut yang dihilangkan yaitu atribut Smt Ambil dan sks karena atribut tersebut tidak diperlukan. Contoh nilai dari atribut nim dapat dilihat pada tabel dibawah ini :

Tabel 3.1. Nim mahasiswa

Contoh nim Keterangan

(46)

Langkah yang dilakukan selanjutnya adalah menghilangkan matakuliah yang ganda yaitu matakuliah yang diambil oleh mahasiswa lebih dari satu kali sehingga bersifat mengulang. Dalam hal ini data yang dipakai adalah data matakuliah yang diambil pertama kali, karena nilai tersebut dianggap sebagai nilai pencapaian murni mahasiswa jadi matakuliah yang sifatnya mengulang dihapus atau dihilangkan. Kemudian apabila terdapat matakuliah yang atribut nilainya kosong diisi dengan nilai F. Matakuliah yang digunakan dalam penelitian adalah matakuliah yang berada dalam satu rangkaian diagram alir menurut kurikulum program studi Ilmu Komputer tahun 2001 yaitu Algoritma dan Pemrograman I dan matakuliah lain yang diprasyaratinya (dapat dilihat pada lampiran 2).

Data nilai akademik yang telah dibersihkan digabung menjadi satu tabel. Data tersebut memiliki atribut nim, kode mtk, mtk (nama matakuliah yang diambil oleh mahasiswa), nilai (nilai yang diperoleh mahasiwa untuk setiap matakuliah) dan sks. Total record sebanyak 1938 baris.

Tabel 3.2 Matakuliah yang terdapat dalam satu rangkaian prasyarat

No Kode Nama Matakuliah

1. MAK 103 Algoritma dan Pemrograman I 2. MAK 104 Algoritma Dan Pemrograman II 3. MAK 406 Algoritma Genetika

4. MAK 217 Analisis Algoritma 5. MAK 312 Animasi Komputer 6. MAK 209 Basis Data I

7. MAK 303 Basis Data II

8. MAK 221 Grafika Komputer Lanjut 9. MAK 219 Jaringan Syaraf Tiruan 10. MAK 411 Kompresi Data

(47)

12. MAK 414 Pemrograman Client Server 13. MAK 417 Pemrosesan Bahasa Alami 14. MAK 313 Pemrosesan Citra

15. MAK 210 Pengantar Grafika Komputer & Multimedia 16. MAK 416 Pengenalan Pola

17. MAK 215 Rekayasa Perangkat Lunak I 18. MAK 301 Rekayasa Perangkat Lunak II 19. MAK 309 Robotika

20. MAK 415 Sistem Basis Data Terdistribusi 21. MAK 405 Sistem Berbasis Pengetahuan 22. MAK 214 Sistem Cerdas

23. MAK 205 Struktur Data

24. MAK 418 Teknologi Multimedia

Tabel 3.3. Nilai mahasiswa

No Nilai mahasiswa

1. A

2. B

3. C

4. D

5. E

6. F

Dalam skripsi ini yang menjadi itemset adalah matakuliah beserta nilai yang diperoleh. Untuk kepentingan skripsi ini dibuat 2 jenis dataset yaitu dataset yang berisi itemset matakuliah dengan nilai A,B dan dataset yang berisi itemset matakuliah dengan nilai C,D,E,F. Kedua dataset ini dibuat dengan alasan bahwa : o Mahasiswa dikatakan berhasil dengan memuaskan jika memperoleh nilai

A atau B

(48)

o Jika mahasiswa mendapat nilai C, meskipun secara teoritis berhasil namun pada hemat penulis nilai tersebut masih belum memuaskan sehingga digabung/dikategorikan sebagai belum berhasil.

Secara konseptual itemset akan mempunyai format seperti pada tabel di bawah ini :

Tabel 3.4. Tabel contoh itemset dengan matakuliah yang memperoleh nilai C,D,E,F

Nim Matakuliah dengan nilai C,D,E.F (dikategorikan sebagai ketidakberhasilan)

2101 Analisis Algoritma, Basis Data II, Pengantar Grafika Komputer & Multimedia, Pengenalan Pola, Rekayasa Perangkat Lunak I, Animasi Komputer

2102 Algoritma dan Pemrograman I,Jaringan Syaraf Tiruan,Pemrosesan Bahasa Alami,Sistem Berbasis Pengetahuan

2103 Algoritma dan Pemrograman I,Algoritma Dan Pemrograman II,Basis Data I, Kompresi Data,Rekayasa Perangkat Lunak I,Sistem Cerdas,Teknologi Multimedia,Analisis Algoritma,Basis Data II,Pengenalan Pola

2104 Algoritma dan Pemrograman I,Algoritma Dan Pemrograman II,Basis Data II,Grafika Komputer Lanjut,Sistem Basis Data Terdistribusi,Sistem Cerdas, Struktur Data,Analisis Algoritma,Basis Data I

(49)

Proses penggalian aturan asosiasi membutuhkan 4 data input, yaitu data mahasiswa yang terdiri dari nim dan mtk yang diakses dari database nilai akademik, minimum support dan minimum confidence yang harus dimasukkan oleh pengguna seperti terlihat pada diagram konteks diatas. Output dari proses adalah data aturan asosiasi yang akan ditampilkan kepada pengguna.

1

Pada DFD level 1 proses penggalian aturan asosiasi dipecah menjadi 2 proses yaitu proses pencarian frequent k-itemset dan proses pembentukan aturan asosiasi. Proses pencarian frequent k-itemset membutuhkan 2 data input yaitu data mahasiswa dan minsup. Sedangkan output dari proses tersebut adalah semua frequent k-itemset. Semua frequent k-itemset akan digunakan sebagai input untuk proses pembentukan aturan asosiasi. Jadi proses pembentukan aturan asosiasi membutuhkan 2 data input yaitu frequent k-itemset (output dari proses pencarian frequent k-itemset) dan minconf. Output dari proses pembentukan aturan asosiasi adalah semua data aturan asosiasi yang memenuhi minconf.

(50)

Database nilai

Gambar 3.3. DFD level 2

Pada DFD level 2 ini proses pencarian frequent k-itemset dipecah menjadi proses melakukan kueri, proses pembentukan kandidat itemset, dan proses pembentukan frequent k-itemset. Pada proses melakukan kueri ini yang dikerjakan adalah melakukan koneksi ke database nilai akademik kemudian data mahasiswa yang terdiri dari nim, dan mtk akan dikueri berdasarkan TID. TID adalah pengidentifikasi yang unik tiap record. Dalam kasus ini yang menjadi TID adalah nim dan mtk. Output dari proses ini adalah data mahasiswa yang telah dikueri dan akan menjadi input pada proses pembentukan kandidat itemset. Output dari proses ini adalah kandidat itemset yang akan digunakan sebagai input pada proses pembentukan frequent k-itemset. Dari proses pembentukan frequent k-itemset akan menghasilkan output berupa frequent k-itemset yang nantinya akan dipakai dalam pembentukan aturan asosiasi.

Notasi yang digunakan :

1. Ck : kandidat k-itemset, dimana k menunjukkan jumlah pasangan itemset.

(51)

Pada proses pembentukan frequent k-itemset terdapat 2 proses yaitu :

1) Join (penggabungan), yaitu proses untuk menemukan Fk. Proses ini

dilakukan dengan pembangkitan Ck. Ck dibangkitkan dengan melakukan

proses join Fk-1 dengan dirinya sendiri, Ck=Fk-1*Fk-1.

2) Prune (pemangkasan/pemotongan), yaitu proses menghilangkan anggota Ck yang memiliki support lebih kecil dari minimum support agar tidak

dimasukkan ke dalam Fk.

Tahapan yang dilakukan untuk membentuk frequent k-itemset adalah sebagai berikut:

1. Menelusuri seluruh record pada TID dan menghitung support dari tiap itemset. Ini akan menghasilkan kandidat 1-itemset, C1

2. Frequent k_itemset F1 dibentuk dengan menyaring C1 dengan support

yang lebih besar sama dengan minimum support untuk dimasukkan ke dalam F1.

3. Untuk membentuk F2 dilakukan proses join untuk menghasilkan C2.

4. Dari C2, 2-itemset yang memiliki support yang lebih besar atau sama

dengan minimum support akan disimpan ke dalam F2.

5. Proses ini diulang sampai tidak ada lagi kemungkinan k-itemset.

Langkah-langkah pembentukan aturan asosiasi dari frequent itemset sebagai berikut :

1. Untuk setiap itemset, bangkitkan seluruh subset yang tidak kosong.

(52)

3. Hitung nilai confidence tiap aturan yang terbentuk.

4. Lakukan pengecekan terhadap nilai confidence tiap aturan. Aturan yang memiliki nilai confidence lebih besar atau sama dengan minimum confidence adalah strong association rule yang terbentuk.

3. Output

Output dari program adalah aturan asosiasi yang kuat yaitu aturan asosiasi yang memenuhi minsup dan minconf. Aturan tersebut dapat digunakan untuk melihat pola keterkaitan antar tingkat keberhasilan atau ketidakberhasilan suatu matakuliah dengan tingkat keberhasilan atau ketidakberhasilan mata kuliah lain.

4. Analisa Kebutuhan Sistem a Perangkat Lunak (Software)

Dalam pembuatan program ini perangkat lunak yang dibutuhkan antara lain:

1). Microsoft Windows XP sebagai sistem operasi 2). Visual Foxpro 8 sebagai program aplikasi b Perangkat Keras (Hardware)

Dalam pembuatan program ini perangkat keras yang digunakan antara lain :

1). PC dengan prosesor Intel Pentium4 2.0 Mhz 2). Harddisk 40 GB

(53)

C. Perancangan

1. Perancangan Modul Rancangan modul – modul : a. Modul hitung support

Input : dataset berupa tabel yang merupakan data akademik mahasiswa ; itemset yang terbentuk dari dataset yang terdiri dari matakuliah dan nilainya.

Output : nilai support tiap itemset.

Algoritma : mencari jumlah kejadian kandidat itemset pada dataset kemudian dibagi jumlah total mahasiswa.

b. Modul hitung confidence

Input : nilai support tiap itemset.

Output : nilai confidence yang dipakai untuk menentukan aturan yang merupakan hasil dari pencarian aturan dan merupakan informasi baru. Algoritma : nilai support gabungan anteseden dan konsekuen dibagi dengan nilai support anteseden.

c. Modul penggabungan (join)

Input : itemset atau frequent itemset. Output : kandidat itemset.

Algoritma : menggabungkan atau memasangkan tiap itemset ataupun frequent itemset dengan itemset atau frequent itemset yang lain.

d. Modul pemangkasan (prunning)

(54)

Output : frequent itemset

Algoritma : menghilangkan atau mengabaikan itemset ataupun aturan yang nilai supportnya lebih kecil daripada nilai minimum support.

e. Modul pencarian frequent itemset Input : dataset yaitu tabel mahasiswa. Output : frequent itemset

Algoritma :

1) Melakukan pembacaan tabel mahasiswa, kemudian menghitung nilai support masing-masing kandidat itemset.

2) Setelah itu nilai support masing-masing kandidat itemset dibandingkan dengan nilai minimum support, apabila lebih kecil maka kandidat itemset tersebut diabaikan dan tidak akan dipakai untuk pembentukan aturan sedangkan kandidat itemset yang memiliki support lebih besar atau sama dengan nilai minimum support menjadi frequent 1-itemset dan frequent 1_itemset inilah yang akan dibentuk menjadi aturan asosiasi. Langkah ini bisa disebut juga dengan prunning.

(55)

seterusnya. Proses ini dilakukan sampai tidak bisa terbentuk kandidat itemset lagi.

f. Modul pembentukan aturan asosiasi. Input : frequent itemset, nilai minconf.

Output : semua aturan asosiasi yang terbentuk dari semua frequent itemset.

Algoritma :

1. Membuat subset untuk setiap frequent itemset

2. Membentuk frequent itemset yang ada menjadi aturan dengan cara membagi menjadi anteseden dan konsekuen. Anteseden adalah itemset yang terdapat pada sisi kiri dan dijadikan syarat sedangkan konsekuen adalah itemset yang berada pada sisi kanan dan merupakan kesimpulan dari syarat yang mengikutinya.

Misalnya terdapat aturan : A dibaca jika A maka B. Dari pernyataan tersebut A merupakan anteseden sedangkan B merupakan konsekuen.

g. Modul pembentukan aturan asosiasi yang kuat (strong association rule) Input : semua aturan asosiasi yang telah terbentuk

Output : aturan asosiasi yang kuat (strong association rule)

(56)

(strong association rule) yang merupakan hasil akhir dari mining pada dataset ini

2. Perancangan Struktur Data

a. Proses pencarian kandidat itemset membutuhkan input data berupa tabel yang telah ada dalam basisdata yaitu tabel mahasiswa2. Proses ini akan menghasilkan data berupa array itemset yang berisi semua itemset yang akan digunakan untuk proses selanjutnya dalam pencarian aturan . Deskripsi array itemset dapat dilihat pada gambar di bawah ini:

Nama array

Ukuran Keterangan

Itemset 24 x 3 - Jumlah baris didapat dari jumlah matakuliah

- Jumlah kolom (3) terdiri dari nama itemset,count, support.

Kemudian data yang telah tersimpan dalam array itemset akan ditampilkan pada listbox yang terdapat pada form Candidate 1_Itemset seperti contoh di bawah ini:

No Candidate 1_Itemset Count Support

1 Algoritma Genetika 3 0.02

2 Algoritma dan Pemrograman I 62 0.46

3 Algoritma dan Pemrograman II 91 0.67

4 Analisis Algoritma 36 0.27

dst dst dst dst

Tabel 3.5 Keterangan array itemset

(57)

b. Proses prunning membutuhkan data dalam array itemset yang akan dipisahkan antara itemset yang memenuhi minimum support dan itemset yang tidak memenuhi minimum support. Itemset yang memenuhi minimum support akan disimpan dalam listbox yang terdapat pada form Frequent 1_Itemset yang terdiri dari 4 kolom yaitu No Freq 1_Itemset, Nama Freq 1_Itemset, Count dan Support.

No Freq 1_Itemset Nama Freq 1_Itemset Count Support

Nama Kolom Keterangan

No Freq 1_Itemset nomor / indeks untuk tiap frequent 1_itemset

Nama Freq 1_Itemset frequent 1_itemset yang dimaksud yaitu berupa matakuliah dengan nilai tertentu

Count banyaknya kejadian yang muncul tiap frequent

1_itemset yang terjadi berdasarkan tabel mahasiswa2

Support nilai support tiap frequent 1_itemset

c. Sedangkan itemset yang tidak memenuhi minimum support akan ditampilkan pada listbox Infrequent 1_Itemset dimana format kolom dan keterangan sama dengan listbox pada form Frequent 1_Itemset.

d. Proses pencarian frequent itemset yang lain membutuhkan data itemset yang memenuhi minimum support yang telah dicari pada proses prunning

Tabel 3.7 Format listbox pada form Frequent 1_Itemset

(58)

dan telah ditampilkan dalam listbox pada form Frequent 1_Itemset. Sehingga dalam proses ini tinggal mengakses data pada listbox tersebut. Proses ini akan menghasilkan itemset yang telah dikelompokkan menjadi himpunan yang terdiri dari 2 itemset, 3 itemset dst yang akan menjadi frequent itemset ke-n. Itemset tersebut disimpan dalam listbox bagian atas pada form Frequent Itemset yang terdiri dari 4 kolom yaitu No Freq Itemset, Jumlah Itemset, Count dan Support.

No Freq Itemset Jumlah Itemset Count Support

Nama Kolom Keterangan

No Freq Itemset indeks frequent itemset

Jumlah Itemset Jumlah itemset dalam frequent itemset tersebut

Count banyaknya kejadian yang memenuhi frequent itemset tersebut dari tabel mahasiswa2

Support nilai support tiap frequent itemset tersebut

Frequent 1_ itemset yang menyusun setiap frequent itemset yang telah ditampilkan pada listbox bagian atas akan ditampilkan pada listbox bagian bawah pada form Frequent Itemset.

No No Freq Itemset No Freq 1_ Itemset

Tabel 3.9 Format listbox bagian atas pada form Frequent Itemset

Tabel 3.11 Format listbox bagian bawah pada form Frequent Itemset

(59)

Nama Kolom Keterangan

No indeks listbox

No Freq Itemset no frequent itemset (merujuk No frequent itemset pada listbox bagian atas)

No Freq 1_Itemset no frequent 1_itemset yang menjadi anggota frequent itemset

e. Proses pencarian semua aturan asosiasi membutuhkan data yang telah ditampilkan pada kedua listbox yang terdapat pada form Frequent Itemset. Data tersebut dipakai untuk menghitung nilai confidence dan mencari

No Freq Itemset Nomor frequent itemset (merujuk Freq Itemset

pada listbox form Frequent Itemset )

No Freq 1_Itemset Nomor frequent 1_itemset yang menjadi

anteseden

No Freq 1_Itemset Nomor frequent 1_itemse yang menjadi

konsekuen

Confidence Nilai confidence tiap aturan

Tabel 3.12 Keterangan listbox bagian bawah pada form Frequent Itemset

(60)

f. Proses akhir yaitu menampilkan aturan asosiasi yang telah memenuhi minimum confidence pada listbox yang terdapat pada form Strong association rule.

Nilai Confidence Anteseden Konsekuen

NoRule No Freq

No Rule Nomor strong association rule

No Freq Itemset

Nomor frequent itemset (merujuk Freq Itemset

pada listbox form Frequent Itemset ) No Freq

1_Itemset

Nomor frequent 1_itemset yang menjadi anteseden

No Freq 1_Itemset

Nomor frequent 1_itemset yang menjadi konsekuen

Confidence Nilai confidence tiap aturan

3. Perancangan Antar Muka dengan Pengguna 1) Form Input

Gambar 3.4 Perancangan Antar Muka Form Input

(61)

Form ini digunakan untuk memasukkan nilai minimum support dan minimum confidence.

Terdapat 2 buah tombol yaitu :

a) Reset : untuk mengosongkan kembali textbox Minimum Support dan Minimum Confidence apabila pengguna ingin mengganti nilai yang telah diketikkan.

b) Lanjut : untuk melanjutkan ke form berikutnya yaitu form Tabel Mahasiswa.

2) Form Tabel Mahasiswa

(62)

Form diatas untuk menampilkan tabel data akademik mahasiswa yang merupakan dataset untuk proses data mining dengan algoritma Apriori. Dalam form ini ditampilkan pula jumlah record yang terdapat pada tabel. Dalam form terdapat sebuah tombol Proses Algoritma Apriori untuk melanjutkan ke form Candidate 1_Itemset.

3) Form Candidate 1_Itemset

Gambar 3.6 Perancangan Antar Muka Form Candidate 1_Itemset

(63)

akan menampilkan jumlah kandidat 1_itemset secara otomatis. Tombol-tombol yang terdapat dalam form yaitu :

a) TAMPIL CANDIDATE 1_ITEMSET : untuk menampilkan semua Candidate 1_itemset beserta Count dan Nilai Supportnya dalam listbox. b) PRUNNING : untuk menghilangkan atau mengabaikan kandidat

1_itemset yang mempunyai nilai support kurang dari nilai minimum support.

c) SIMPAN : untuk menyimpan kandidat 1_itemset dalam bentuk .dbf. d) : untuk melanjutkan ke form berikutnya yaitu form Frequent

(64)

Setelah pengguna menekan tombol maka akan muncul form Fequent Itemset seperti dibawah ini :

4) Form Frequent Itemset

Gambar 3.7 Perancangan Antar Muka Form Frequent Itemset

(65)

Dalam form ini terdapat 3 buah tombol :

e) TAMPIL FREQUENT ITEMSET : untuk menampilkan semua frequent itemset yang saling jumlah anggotanya lebih dari 1.

f) DETAIL : untuk menampilkan form Candidate Itemset yang akan menampilkan semua kombinasi dari frequent 1_itemset (kandidat itemset yang jumlah anggotanya lebih dari 1).

g) LANJUT : untuk menuju ke form berikutnya (Form Semua Rule).

5) Form Candidate Itemset

(66)

Form ini berfungsi untuk menampilkan semua kombinasi dari frequent 1_itemset (kandidat itemset yang jumlah anggotanya lebih dari 1) yang terjadi yaitu dengan mengklik tombol TAMPIL CANDIDATE ITEMSET yang terdapat pada form.

6) Form Semua Rule

Gambar 3.9 Perancangan Antar Muka Form Semua Rule

(67)

No Rule, No Freq Itemset dan No Freq 1_Itemset yang menjadi anteseden aturan , sedangkan listbox konsekuen menampilkan No Rule, No Freq Itemset dan No Freq 1_Itemset yang menjadi konsekuen aturan tersebut. Listbox yang terakhir akan menampilkan No rule, Freq Itemset dan Confidence dari aturan tersebut. Terdapat 2 tombol yaitu :

a) TAMPIL SEMUA RULE : untuk menampilkan aturan pada listbox. b) ASSOCIATION RULE : untuk menampilkan form Strong association

rule.

7) Form Strong association rule

(68)

Form ini adalah form yang akan menampilkan aturan asosiasi yang kuat (strong association rule ) yang telah terbentuk dan merupakan aturan asosiasi yang telah memenuhi nilai minimum support dan minimum confidence.

8) Form Frequent 1_Itemset

Gambar 3.11 Perancangan Antar Muka Form Frequent Itemset_1

(69)

9) Form Infrequent 1_Itemset

Gambar 3.12 Perancangan Antar Muka Form Infrequent 1_Itemset

Pada form ini akan ditampilkan itemset yang tidak memenuhi nilai minimum Support. Pada listbox akan ditampilkan No Itemset, Nama Itemset, Count dan

(70)

BAB IV

IMPLEMENTASI DATA MINING

Pada saat program pertama kali dijalankan maka akan tampil form seperti pada gambar dibawah ini:

Gambar 4.1. Form Welcome

(71)

Hide (menu untuk menyembunyikan form yang aktif), dan terdapat submenu untuk menampilkan form yang telah ditampilkan. Menu Help terdiri dari submenu Daftar Istilah (menu untuk menampilkan istilah-istilah yang terdapat dalam program serta terdapat beberapa keterangan mengenai program) dan tentang pembuat. Pengguna dapat memilih salah satu menu atau dapat langsung menekan tombol Lanjut atau dapat juga dapat menekan tombol Help yang terdapat pada form untuk mengetahui segala sesuatu tentang program terlebih dahulu. Jika pengguna menekan tombol Lanjut, maka program akan menampilkan Form Input seperti gambar dibawah ini.

(72)

Pada form ini, jika pengguna menekan tombol Tambah Dataset maka akan muncul Open dialog box yang akan menyajikan tabel baru yang akan dimasukkan ke dalam database. Tombol Pilih Dataset maka combo box akan menampilkan tabel-tabel yang ada dalam database. Apabila pengguna menekan Reset, maka program mengosongkan textbox Minimum Support dan textbox Minimum Confidence. Setelah pengguna memasukkan nilai minimum support dan minimum confidence penekanan tombol Lanjut akan menampilkan form Dataset seperti pada gambar dibawah ini :

(73)

Apabila pengguna menekan tombol Proses Apriori maka akan muncul Form Candidate 1_Itemset seperti gambar dibawah ini :

Gambar 4.4. Form Candidate 1_Itemset

Tombol TAMPIL CANDIDATE 1_ITEMSET untuk menampilkan nama kandidat 1_itemset, count (jumlah kejadian) dan nilai support masing-masing kandidat 1_itemset yang pada listbox. Berikut ini listing program untuk mencari kandidat 1_itemset, jumlah kejadian dan supportnya :

&&mendapatkan jumlah matakuliah pada tabel mahasiswa2

SELECT count(distinct(mtk))as jml FROM mahasiswa2 INTO CURSOR jum

&&itemset : jumlah matakuliah thisform.text1.Value = jum.jml

&&mendapatkan jumlah mahasiswa dari tabel mahasiswa

SELECT count(distinct(nim)) as N FROM mahasiswa2 INTO CURSOR jumN

(74)

&&mendapatkan matakuliah pada tabel mahasiswa2

SELECT distinct(mtk)as matakuliah FROM mahasiswa2 INTO CURSOR mtk

&&index:index semua itemset(matakuliah beserta nilainya) PUBLIC index

index=0

&&mencari support tiap item FOR i=1 TO jum.jml

GO i IN mtk

RELEASE jumB index=index+1

itemset(index,1)= mtk.matakuliah

SELECT count(*) as jmlB from mahasiswa2 WHERE ALLTRIM(upper (mtk))==ALLTRIM(UPPER(mtk.matakuliah));

INTO CURSOR jumB

itemset(index,2)= jumB.jmlB &&jumlah kejadian itemset(index,3)= jumB.jmlB/jumN.N &&support

Berikut ini listing program untuk menampilkan candidate 1_itemset pada listbox :

&& inisialisasi list yang akan dipakai untuk menampilkan itemset THISFORM.container2.list1.clear

THISFORM.container2.list1.ColumnCount = 5 THISFORM.container2.list1.ColumnLines = .f.

THISFORM.container2.list1.Columnwidths = "60,250,40,100,70"

&&menampilkan semua itemset ke list FOR kol= 1 TO index form Loading seperti gambar dibawah ini :

(75)

Form Loading akan hilang apabila proses pencarian kandidat 1_itemset telah selesai dan semua candidate 1_itemset telah ditampilkan pada listbox. Form Loading ini juga akan muncul apabila proses-proses lain berlangsung. Setelah semua kandidat 1_itemset telah tampil selanjutnya pengguna harus menekan tombol PRUNNING. Setelah itu akan muncul secara bersamaan form Frequent 1_Itemset, form Infrequent 1_Itemset (Gambar 4.5) serta form Loading. Form Frequent 1_Itemset terdiri dari sebuah listbox yang menampilkan frequent 1_itemset yang memenuhi minimum support sedangkan pada form Infrequent 1_Itemset terdiri dari sebuah listbox yang menampilkan kandidat 1_itemset yang tidak memenuhi minimum support. Itemset yang dipakai untuk pembentukan aturan adalah frequent 1_itemset yang tampil di listbox pada form Frequent 1_Itemset. Pada form Frequent 1_Itemset terdapat tombol Simpan yang berfungsi untuk menyimpan Frequent 1_Itemset dalam bentuk dbf.

(76)

Listing program untuk proses prunning adalah sebagai berikut:

Listing program untuk menyimpan frequent 1_itemset adalah sebagai berikut:

gcDelimName = '.dbf'

gcDelimFile = PUTFILE('File Name:', gcDelimName, 'dbf') PUBLIC form_dftr_ya_minsup

PUBLIC no_minsup

DO FORM form_prunning_itemset1 NAME no_minsup DO FORM form_itemset1 NAME form_dftr_ya_minsup

&&inisialisasi list yg terdapat pd form Infrequent 1_Itemset no_minsup.list1.clear

no_minsup.list1.ColumnCount = 5 no_minsup.list1.ColumnLines = .f.

no_minsup.list1.Columnwidths = "60,250,40,100,70" no_minsup.list1.Sorted = .T.

&&inisialisasi list yg terdapat pd form frequent 1_Itemset form_dftr_ya_minsup.list1.clear

form_dftr_ya_minsup.list1.ColumnCount = 5 form_dftr_ya_minsup.list1.ColumnLines = .f.

form_dftr_ya_minsup.list1.Columnwidths = "60,250,40,100,70" form_dftr_ya_minsup.list1.Sorted = .T.

&&index2: index itemset yang memenuhi minsup PUBLIC index2

index2=0 kol=0

&&dan tidak memenuhi minsup pada list dalam form FOR i=1 TO index

IF itemset(i,3)>= minsup index2=index2+1

itemset2(index2,1)= itemset(i,1) &&itemset

itemset2(index2,3)= itemset(i,2) &&jumlah kejadian itemset2(index2,4)= itemset(i,3) &&support

&&menampilkan itemset yg memenuhi minsup

form_dftr_ya_minsup.list1.AddListItem(str(index2), index2,1) form_dftr_ya_minsup.list1.AddListItem(itemset(i,1),index2,2)

&&menampilkan itemset yg tidak memenuhi minsup kol=kol+1

no_minsup.list1.AddListItem(str(kol), kol,1) no_minsup.list1.AddListItem(itemset(i,1),kol,2)

no_minsup.list1.AddListItem(STR(itemset(i,2)), kol,4) no_minsup.list1.AddListItem(STR(itemset(i,3),4,2), kol,5)

Gambar

Gambar 2.2 Tahap-tahap dalam data mining
Gambar 2.3 Contoh dari decision tree pembeli komputer                        (www.ilmu komputer.com/umum/iko-datamining.php.2003)
Tabel 2.1. Contoh Tabel Transaksi D
Tabel 2.2. Tabel Transaksi
+7

Referensi

Dokumen terkait

Untuk uji coba, akan dilakukan analisis aturan asosiasi dengan data uji berupa data transaksi pembelian obat pada bulan Februari 2015 dengan parameter minimun support adalah 5% dan

Asosiasi aturan pertambangan untuk mencari korelasi antara item dalam dataset telah banyak mendapat perhatian terutama sejak publikasi AIS dan algoritma Apriori [2][3] yang

Dalam skripsi ini, data digital tersebut bisa dimanfaatkan untuk diolah menggunakan teknik data mining dengan algoritma naïve Bayesian untuk mengklasifikasikan mahasiswa

Tujuan penelitian ini adalah menerapkan Algoritma pencarian jarak terpendek Bellman-Ford dan beberapa aturan dari RIP ( Routing Information Protokol) dalam proses menentukan

Association rule (aturan asosiatif) adalah salah satu teknik utama dalam data mining dan merupakan bentuk yang paling umum dipakai dalam menemukan pattern atau

Dalam data mining terdapat beberapa algoritma atau metode yang dapat dilakukan salah satunya yaitu algoritma apriori yang termasuk dalam aturan asosiasi dalam