Pengembangan alat bantu penambangan aturan asosiasi langka menggunakan algoritma arima (a rare itemset miner algorithm).
ATURAN ASOSIASI
ALGORITMA
Ditujukan Untuk Memenuhi Salah Satu Memperoleh Gelar Sarjana
PROGRAM
JURUSAN TEKN
FAKULTAS SA
UNIVERSITAS SAN
i
ATURAN ASOSIASI LANGKA MENGGUNAK
ALGORITMA
ARIMA (A RARE ITEMSET MINER
ALGORITHM)
SKRIPSI
tujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Jurusan Teknik Informatika
Oleh : Yuliani Ika Susanti
085314045
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
2013
MENGGUNAKAN
(A RARE ITEMSET MINER
Syarat
ATIKA
(2)
MINING RARE
(A RARE
Presented as Partial Fulfillment of the Requirements To Obtain
In
INFORMATICS EN
DEPARTMEN
FACULTY
SANATA D
ii
RARE ASSOCIATION RULE USING
RARE ITEMSET MINER ALGORITHM
A Thesis
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana KomputerDegree
Informatics Engineering Study Program
By :
Yuliani Ika Susanti 085314045
INFORMATICS ENGINEERING STUDY PROGRA
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
2013
USING ARIMA
ALGORITHM)
Presented as Partial Fulfillment of the Requirements
Y PROGRAM
GINEERING
TECHNOLOGY
(3)
(4)
(5)
(6)
vi
“ Great hopes and great works make great result”
“Hiduplah seolah kau akan mati besuk,
Belajarlah seolah kau akan hidup selamanya”
“Akar prestasi sejati adalah niat untuk mencapai yang terbaik”
“Jangan biarkan hidupmu mematahkan semangatmu,
setiap orang mengalami kegagalan dan harus memulai dari awal”
“Tidak akan ada kemajuan tanpa perjuangan”
“Kamu dapat menghadapi segala rintangan ketika kamu percaya
pada Tuhan”
(7)
vii
Karya ini saya persembahkan kepada: ….
Tuhan Yesus Kristus pemilik jiwaku, Bunda Perawan Maria, St. Fransiska Pelindungku,
….
Kedua orang tuaku yang telah membesarkan, membimbing dan mendidikku dengan cinta, pengertian, dan kesabaran,
…
Semua keluargaku, yang selalu menyayangi dan menerimaku apa adanya, …
Semua Dosen dan teman-teman Teknik Informatika Universitas Sanata Dharma
…
(8)
viii
Teknik asosiasi adalah salah satu teknik data mining yang sering digunakan untuk menemukan aturan (rule) yang tersembunyi di dalam suatu kumpulan data. Saat ini banyak algoritma yang menggunakan teknik asosiasi. Salah satunya adalah algoritma ARIMA (A Rare Itemset Miner Algorithm). Algoritma ini digunakan untuk mencari aturan asosiasi yang jarang terjadi atau langka pada suatu data. Setelah ditemukan aturan asosiasi langka ini dapat digunakan untuk pertimbangan atau melalukan tindakan yang relevan dengan aturan asosiasi langka tersebut.
Saat ini masih belum ditemukan alat bantu berupa aplikasi yang dapat digunakan untuk menemukan aturan asosiasi langka. Untuk itu dibutuhkan alat bantu yang dapat digunakan untuk menemukan aturan asosiasi langka. Pada tugas akhir ini dibangun sebuah aplikasi bernama Application for Mining Rare Association Rule. Aplikasi ini bertujuan untuk menemukan aturan asosiasi langka secara otomatis atau tanpa perlu menghitung secara manual.
Aplikasi ini mengiimplementasikan algoritma Arima (A Rare Itemset Miner Algorithm).Aplikasi dibangun dengan menggunakan bahasa pemrograman java dan basis data MySQL serta Oracle. Aplikasi dapat membaca data masukan bertipe .xls serta .csv. Aplikasi juga dapat membaca data masukan dari basisdata MySQL sertaOracledengan baik.
Berdasar hasil dari uji coba menggunakan dataset yang berbeda, sistem Application for Mining Rare Association Rule ini berhasil memberikan dan menampilkan aturan asosiasi langka berdasar dataset yang dimasukkan.
(9)
ix
Association technique is one of data mining techniques that is used to find hidden rules in a data set. At present, there are many algorithms that use association techniques. One of them is the ARIMA algorithm (A Rare Itemset Miner Algorithm). This algorithm is used to find association rules which are rare or endangered in the data. Having discovered these rare association rules, they can be used for considerations or performing actions which are relevant to the rare association rules.
At this time, there is not any applications tools that can be used to find rare association rules. Therefore, a tool that can be used to find a rare association rules is needed. In this final project, an application called Application for Mining Rare Association Rule to find rule was built. This application aims to discover rare association rules automatically.
The application implements Arima (A Rare Itemset Miner Algorithm) algorithm. The application was built using the Java programming language and the MySQL as well as Oracle databases. The application can read input in the form of .xls and .csv type. In addition, the application is able to read data from MySQL and Oracle database as well.
Based on the experiments using different datasets, the Application for Mining Rare Association Rule successfully discovers and displays rare association rules from the datasets.
(10)
(11)
xi
Terimakasih dan puji syukur kepada Tuhan Yesus Kristus yang telah memberikan kekuatan, rahmat, berkat, perlindungan dan hikmatNya. Berkat karuniaNya-lah penulis dapat menyelesaikan tugas akhir.
Dalam proses penulisan tugas akhir ini saya menyadari bahwa ada begitu banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya masing-masing sehingga tugas akhir ini dapat selesai. Oleh karena itu saya ingin mengucapkan terima kasih antara lain kepada :
1. Ibu Paulina Heruningsih Prima Rosa, S.Si.,M.Sc, selaku Dekan Fakultas Sains dan Teknologi, Universitas Sanata Dharma dan selaku Dosen Pembimbing Tugas Akhir yang telah banyak memberikan bimbingan, dukungan, motivasi dan fasilitas yang mendukung terselesaikannya tugas akhir ini.
2. Ibu Ridowati Gunawan S.Kom., M.T dan Sri Hartati Wijono S.Si., M. Kom selaku panitia penguji yang telah memberikan kritik dan saran untuk tugas akhir saya.
3. Kedua orangtuaku : Bapak Ruslan dan Ibu Theresia Purwani tercinta yang telah memberikan cinta kasih, kesempatan, dan dukungan dalam mengerjakan Tugas Akhir ini. Kedua Adikku Dwi Anjar Ruslina dan Mahisa Surya Marta Putra yang selalu menghiburku dan mendukungku. Keluarga Om Baltasar Adell dan Tante Yanti Adell yang telah memberikan
(12)
xii selalu mendukungku dan menyayangiku.
4. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang telah banyak memberikan bekal ilmu, arahan dan pengalaman selama saya menempuh studi.
5. Seluruh Staff Sekretariat Teknik, yang banyak membantu saya dalam urusan administrasi akademik terutama menjelang ujian tugas akhir.
6. Seluruh Staff laboran Teknik Informatika, terima kasih atas semua bantuannya terutama saat ujian tugas akhir.
7. Sahabat dan teman-teman Teknik Informatika angkatan 2008, Ancelmatini, Elisabeth Gadis, Valentina Dian, Siska, Ilana dan semua teman-teman seperjuangan atas canda tawa dan semangat selama penulis menyelesaikan tugas akhir ini.
8. Seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir ini yang tidak bisa saya sebutkan satu per satu.
Penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat saya harapkan. Akhir kata, semoga tugas akhir ini bermanfaat bagi semua pihak. Terima kasih.
Yogyakarta, 20 Februari 2013 Penulis
(13)
xiii
Halaman Judul ... Halaman Judul (Bahasa Inggris)... Halaman Persetujuan ... Halaman Pengesahan... Pernyataan Keaslian Karya ... Halaman Motto... Halaman Persempahan... Abstrak... Abstract... Persetujuan Publikasi Karya Ilmiah... Kata Pengantar... Daftar Isi... Daftar Gambar... Daftar Tabel... i ii iii iv v vi vii viii ix x xi xiii xviii xx
BAB I. PENDAHULUAN
1.1. Latar Belakang ... 1.2. Rumusan Masalah ... 1.3. Tujuan Penelitian... 1.4. Manfaat Penelitian... 1.5. Batasan Masalah... 1.6. Metodologi Penelitian... 1.7. Sistematika Penulisan ...
BAB II. LANDASAN TEORI
2.1. Metode Pengembangan Sistem... 2.2. Metode Analisis Asosiasi... 2.3. Algoritma Arima (A Rare Itemset Miner Algorithm)...
1 4 4 5 5 5 7 9 13 16
(14)
xiv
BAB III. ANALISIS DAN PERENCANAAN SISTEM
3.1. Fase Analisis Kebutuhan Sistem... 3.1.1. Identifikasi Masalah... 3.1.2. Pernyataan Masalah... 3.1.3. Kebutuhan Perangkat Keras... 3.1.4. Kebutuhan Perangkat Lunak... 3.1.5. Gambaran Sistem Baru ... 3.1.5.1 Input Sistem... 3.1.5.2 Proses Sistem... 3.1.5.3 Output Sistem... 3.1.6. Diagram Use Case... 3.1.7. Ringkasan Use Case... 3.1.8. Narasi Use Case... 3.2. Perancangan Sistem... 3.2.1. Diagram Aktivitas...
3.2.1.1 Diagram Aktivitas Koneksi Database... 3.2.1.2 Diagram Aktivitas Input Data... 3.2.1.3 Diagram Aktivitas Buat Aturan... 3.2.1.4 Diagram Aktivitas Simpan Aturan... 3.2.2. Model Analisis... 3.2.2.1 Model Analisis Usecase Open Database.... 3.2.2.2 Model Analisis Usecase Input Data... 3.2.2.3 Model Analisis Usecase Buat Aturan... 3.2.2.4 Model Analisis Usecase Simpan Aturan.... 3.2.3. Perancangan Antar Muka... 3.2.3.1 Halaman Home... 3.2.3.2 Halaman Proses Asosiasi pada Tab Open
File... 3.2.3.3 Halaman Proses Asosisasi pada Tab Open
27 27 28 28 28 29 30 30 32 33 34 34 35 35 35 36 37 37 38 38 40 41 43 45 45 45
(15)
xv
3.2.4. Diagram Kelas... 3.2.4.1 Detail Algoritma pada method di kelas
Home... 3.2.4.2 Detail Algoritma pada method di kelas
ProsesAsosiasi... 3.2.4.3 Detail Algoritma pada method di kelas SelectDatabase... 3.2.4.4 Detail Algoritma pada method di kelas
LoginDatabase... 3.2.4.5 Detail Algoritma pada method di kelas
OracleConnection... 3.2.4.6 Detail Algoritma pada method di kelas
DatabaseConnection... 3.2.4.7 Detail Algoritma pada method di kelas
Database... 3.2.4.8 Detail Algoritma pada method di kelas
DataFile... 3.2.4.9 Detail Algoritma pada method di kelas Itemset... 3.2.4.10 Detail Algoritma pada method di kelas Candidate... 3.2.4.11 Detail Algoritma pada method di kelas
LargeItemset...
BAB IV. IMPLEMENTASI SISTEM
4.1. Fase Implementasi Sistem... 4.1.1. Implementasi Perangkat Keras... 4.1.2. Implementasi Perangkat Lunak... 4.1.3. Implementasi File... 4.1.4. Implemetasi Antar Muka...
50 51 54 59 61 64 67 68 78 87 90 92 96 96 96 97 98
(16)
xvi
4.1.4.2 Halaman Proses Asosiasi pada Tab Open File... 4.1.4.3 Halaman Proses Asosiasi pada Tab Open
Database...
BAB V. PENGUJIAN DAN ANALISIS HASIL PENGUJIAN
5.1. Fase Implementasi Pengujian... 5.1.1. Rencana Pengujian... 5.1.2. Kasus dan Hasil Pengujian... 5.1.2.1 Pengujian OracleConnection... 5.1.2.2 Pengujian DatabaseConnection... 5.1.2.3 Pengujian ProsesAsosiasi... 5.1.3. Kesimpulan Hasil Pengujian... 5.1.4. Analisis Hasil Implementasi...
5.1.4.1 Aturan Asosiasi dari Hasil Perhitungan Manual... 5.1.4.2 Aturan Asosiasi dari Hasil Perhitungan
Sistem... 5.2. Kelebihan dan Kekurangan Sistem... 5.2.1. Kelebihan Sistem... 5.2.2. Kekurangan Sistem...
BAB VI. PENUTUP
6.1. Kesimpulan... 6.2. Saran ...
DAFTAR PUSTAKA 99 102 108 108 109 109 111 116 118 118 119 120 130 130 130 131 131 133
(17)
xvii Lampiran 1 Narasi Use CaseOpen Database Lampiran 2 Narasi Use Case Input Data Lampiran 3 Narasi Use Case Buat Aturan Lampiran 4 Narasi Use Case Simpan Aturan Lampiran 5 Listing Program Form Home
Lampiran 6 Listing Program Form ProsesAsosiasi Lampiran 7 Listing Program Form SelectDatabase Lampiran 8 Listing Program Form LoginDatabase Lampiran 9 Listing Program Form OracleDatabase
Lampiran 10 Aturan Asosiasi Langka Yang Kuat pada Data Zoo Lampiran 11 Aturan Asosiasi Langka Yang Kuat pada Data Mushroom Lampiran 12 Hasil untuk dataset Zoo dengan mimimal support 5% dan mimimal confidence 60%
Lampiran 13 Hasil untuk dataset Zoo dengan mimimal support 5% dan mimimal confidence 70%
Lampiran 14 Hasil untuk dataset Zoo dengan mimimal support 5% dan mimimal confidence 80%
Lampiran 15 Hasil untuk dataset Zoo dengan mimimal support 10% dan mimimal confidence 60%
Lampiran 16 Hasil untuk dataset Zoo dengan mimimal support 10% dan mimimal confidence 70%
Lampiran 17 Hasil untuk dataset Zoo dengan mimimal support 10% dan mimimal confidence 80%
Lampiran 18 Hasil untuk dataset Zoo dengan mimimal support 15% dan mimimal confidence 60%
Lampiran 19 Hasil untuk dataset Zoo dengan mimimal support 15% dan mimimal confidence 70%
Lampiran 20 Hasil untuk dataset Zoo dengan mimimal support 15% dan mimimal confidence 80%
(18)
xviii
Lampiran 22 Hasil untuk dataset Mushroom dengan mimimal support 5% dan mimimal confidence 70%
Lampiran 23 Hasil untuk dataset Mushroom dengan mimimal support 5% dan mimimal confidence 80%
Lampiran 24 Hasil untuk dataset Mushroom dengan mimimal support 10% dan mimimal confidence 60%
Lampiran 25 Hasil untuk dataset Mushroom dengan mimimal support 10% dan mimimal confidence 70%
Lampiran 26 Hasil untuk dataset Mushroom dengan mimimal support 10% dan mimimal confidence 80%
(19)
xix
Gambar 2.1 Pengembangan sistem menggunakan model Waterfall ... Gambar 2.2 Kiri : Contoh Dataset (D). Kanan : Rangkaian pola Dataset D Gambar 2.3 Algoritma Arima (A Rare Itemset Miner Algorithm)... Gambar 2.4 Pencarian candidate itemset dan rare itemset dengan
min_supp=3... Gambar 3.1 Diagram Konteks... Gambar 3.2 Diagram Use Case... Gambar 3.3 Diagram Aktivitas Open Database... Gambar 3.4 Diagram Aktivitas Input Data... Gambar 3.5 Diagram Aktivitas Buat Aturan... Gambar 3.6 Diagram Aktivitas Simpan Aturan... Gambar 3.7 Gambar model analisis Koneksi Database... Gambar 3.8 DiagramSequence Koneksi Database... Gambar 3.9 Gambar model analisis Input Data... Gambar 3.10 DiagramSequenceInput Data... Gambar 3.11 Gambar model analisis Buat Aturan... Gambar 3.12 DiagramSequenceBuat Aturan... Gambar 3.13 Gambar model analisis Simpan Aturan... Gambar 3.14 DiagramSequenceSimpan Aturan... Gambar 3.15 Desain Antar Muka HalamanHome. ... Gambar 3.16 Desain Antar Muka Halaman Proses Asosiasi pada Tab Open File... Gambar 3.17 Desain Antar Muka Halaman Proses Asosiasi pada Tab Open Database... Gambar 3.18 Desain Antar Muka Halaman Select Database... Gambar 3.19 Desain Antar Muka HalamanOpen Database... Gambar 3.20 Desain Antar Muka HalamanOracle Connection... Gambar 3.21 Diagram Kelas ...
13 17 19 23 29 33 35 36 37 37 38 39 40 41 41 43 43 44 45 46 47 48 48 49 50
(20)
xx
Gambar 4.2 Tampilan Halaman Proses Asosiasi pada Tab Open File... Gambar 4.3 Tampilan Tipe File yang dapat digunakan... Gambar 4.4 Tampilan Mencari File pada Direktori tertentu... Gambar 4.5 Tampilan Halaman Peringatan... Gambar 4.6 Tampilan Menyimpan Aturan Asosiasi... Gambar 4.7 Tampilan Halaman Peringatan... Gambar 4.8 Tampilan Halaman Proses Asosiasi pada Tab Open Database Gambar 4.9 Tampilan Halaman Select Database... Gambar 4.10 Tampilan Database yang dapat digunakan... Gambar 4.11 Tampilan Halaman Login Database... Gambar 4.12 Tampilan Halaman Peringatan... Gambar 4.13 Tampilan Halaman Peringatan... Gambar 4.14 Gambar Halaman Pesan Koneksi Berhasil... Gambar 4.15 Tampilan Halaman OracleConnection... Gambar 4.16 Tampilan Halaman Peringatan... Gambar 4.17 Tampilan Menyimpan Aturan Asosiasi... Gambar 4.18 Tampilan Halaman Peringatan... Gambar 5.1.a Grafik pada Dataset Zoo dengan minsup=5%... Gambar 5.1.b Grafik pada Dataset Zoo dengan minsup=10%... Gambar 5.1.c Grafik pada Dataset Zoo dengan minsup=15%... Gambar 5.2.a Grafik pada Dataset Zoo dengan minconf=60%... Gambar 5.2.b Grafik pada Dataset Zoo dengan minconf =70%... Gambar 5.2.c Grafik pada Dataset Zoo dengan minconf =80%... Gambar 5.3.a Grafik pada Dataset Mushroom dengan minsup=5%... Gambar 5.3.b Grafik pada Dataset Mushroom dengan minsup=10%... Gambar 5.4.a Grafik pada Dataset Mushroom dengan minconf=60%... Gambar 5.4.b Grafik pada Dataset Mushroom dengan minconf =70%... Gambar 5.4.c Grafik pada Dataset Mushroom dengan minconf =80%...
99 100 100 101 101 102 103 103 104 104 105 105 105 106 106 107 107 123 123 123 124 124 124 127 127 127 127 127
(21)
xxi
Tabel 2.1 Contoh Tabel Transaksi A (Tan, et.al, 2006)... Tabel 2.2 Contoh Tabel Transaksi B (Szathmary, L., et.al, 2007)... Tabel 2.3 Rare itemset dengan minimum support=3... Tabel 3.1 Tabel analisis sebab akibat... Tabel 3.2 Deskripsi Use Case... Tabel 3.3 Kelas Analisis Koneksi Database... Tabel 3.4 Kelas Analisis Input Data... Tabel 3.5 Kelas Analisis Buat Aturan... Tabel 3.6 Kelas Analisis Simpan Aturan... Tabel 3.7 Tabel Kelas yang digunakan dalam sistem... Tabel 4.1 Tabel Implementasi File... Tabel 5.1 Rencana Pengujian... Tabel 5.2 Pengujian Data OracleConnection... Tabel 5.3 Pengujian Data DatabaseConnection... Tabel 5.4 Pengujian Data ProsesAsosiasi... Tabel 5.5 Rare itemsetdengan minimum support= 5%... Tabel 5.6Rare itemsetdengan minimum support= 5%... Tabel 5.7 Hasil Perhitungan Sistem pada data Zoo... Tabel 5.8 Hasil Perhitungan Sistem pada data Mushroom...
15 21 24 28 34 38 40 42 44 51 97 109 109 112 117 119 120 120 124
(22)
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Dewasa ini kebutuhan akan informasi yang akurat sangat dibutuhkan dalam kehidupan sehari-hari. Namun kebutuhan informasi yang tinggi kadang tidak diimbangi dengan penyajian informasi yang memadai. Sering kali informasi tersebut masih harus digali ulang dari data yang jumlahnya sangat besar.
Pemanfaatan data di dalam sistem informasi untuk menunjang kegiatan pengambilan keputusan, tidak cukup hanya mengandalkan data operasional saja. Diperlukan pula analisis data untuk menggali informasi yang ada. Kemampuan teknologi informasi untuk mengumpulkan dan menyimpan berbagai tipe data jauh meninggalkan kemampuan untuk menganalisis, meringkas dan mengekstrak pengetahuan dari data. Dengan adanya masalah semacam itu memunculkan teknologi baru yaitu penambangan data (data mining). Penambangan data adalah serangkaian proses untuk mengekstrak pola yang penting atau menarik dari sejumlah data yang sangat besar berupa pengetahuan yang selama ini tidak diketahui secara manual (Han, 2001).
Metode analisis asosiasi (association analysis) merupakan salah satu teknik data mininguntuk menemukan aturan asosiasi antara suatu kombinasi
(23)
item. Metode analisis asosiasi dikenal juga sebagai salah satu teknik data mining yang menjadi dasar dari berbagai teknik data mining lainnya (Kusrini & Emha, 2009).
Penting tidaknya suatu aturan asosiasi dapat diketahui dengan 2 parameter yaitu supportdan confidence. Supportadalah persentase kombinasi item dalam basisdata sedangkan confidence adalah kuatnya hubungan antar item dalam aturan asosiasi (Kusrini & Emha, 2009). Pencarian aturan asosiasi dengan menggunakan analisis asosiasi bertujuan untuk menemukan semua aturan asosiasi yang memenuhi syarat minimum untuk support (minimum support) dan syarat minimum untukconfidence(minimum confidence).
Minsup (minimum support) menandakan ambang batas (threshold) yang menentukan apakah sebuah itemset akan digunakan pada perhitungan selanjutnya untuk pencarian aturan asosiasi. Sedangkan Minconf (minimum confidence) menandakan ambang batas (threshold) dari sebuah aturan asosiasi untuk menentukan aturan asosiasi yang kuat (strong association rule).
Rare association rule mining adalah teknik mining untuk menemukan aturan atau pola asosiasi dari suatu kombinasi antar item. Dalam hal ini, pola asosiasi yang digunakan adalah pola yang langka/jarang ditemui.
Berbeda dengan association rule yang digunakan untuk menemukan aturan asosiasi yang sering terjadi, pada kasus asosiasi langka dapat digunakan untuk menemukan aturan asosiasi langka yang mungkin tersembunyi di sejumlah data. Contoh kasusnya seperti menemukan asosiasi
(24)
langka pada supermarket yaitu pel dan sapu akan menjadi asosiasi langka dalam penjualan supermarket, bukan karena barang tersebut tidak dibeli bersama, tapi karena barang jarang dibeli di supermarket. Dalam kasus ini, asosiasi biasa tidak akan dapat menemukan barang yang jarang dibeli, sehingga dibutuhkan metode Rare Association Rule Mining (RARM) untuk dapat menemukan asosiasi langka. Dalam kasus supermarket, metode ini dapat digunakan untuk menemukan pel dan sapu, sehingga pel dan sapu ini dapat ditempatkan di tempat yang sejajar. Contoh kasus lain, misalnya untuk menemukan mahasiswa yang mungkin dapat di DO. Sehingga jika pihak yang berwenang mengetahui mahasiswa yang mungkin di DO, maka mahasiswa tersebut dapat diberikan perhatian atau pengarahan agar mahasiswa tersebut tidak jadi di DO.
Banyak algoritma yang dapat digunakan untuk menyelesaikan persoalan ini. Pada permasalahan ini akan dilakukan penelitian Rare Association Rule Mining (RARM) dengan algoritma Arima (Surana, 2011). Alasan penggunaan metode Rare Association Rule Mining karena metode tersebut dapat digunakan untuk menemukan aturan asosiasi (association rule)
antar item dalam suatu dataset yang jarang terjadi, yaitu dengan membuat korelasi antar item yang dikelompokkan ke dalam kategori kemudian mengambil kesimpulan berdasarkan hubungan yang terbentuk dari beberapa item data tersebut.
(25)
Pada tugas akhir ini akan dibangun sebuah aplikasi yang dapat membantu pengguna dalam menyelesaikan masalah aturan asosiasi langka. Aplikasi ini bertujuan untuk menemukan aturan asosiasi langka secara otomatis atau tanpa perlu menghitung secara manual. Sebuah data dapat dicari aturan asosiasi langka dengan menginputkan data yang berbentuk file .xls, .csv maupun data yang berasal dari database. Data tersebut akan diolah menggunakan algoritma Arimauntuk menemukan aturan asosiasi langka.
1.2. Rumusan Masalah
Masalah yang akan diselesaikan dalam tugas akhir ini adalah bagaimana membangun alat bantu penambangan data yang mengimplementasikan algoritma Arima dengan menggunakan metode Rare Association Rule Mining.
1.3. Tujuan Penelitian
Tugas akhir ini mempunyai tujuan penelitian yaitu membangun alat bantu data mining yang menerapkan algoritma Arimasebagai salah satu jenis metode Rare Association Rule Mining. Alat bantu ini nantinya dapat menerima input data berupa beberapa tipe file yaitu .xls, .csv maupun data yang berasal dari database.
(26)
1.4. Manfaat Penelitian
Manfaat penelitian dari tugas akhir ini yaitu membantu pengguna untuk menemukan aturan asosiasi langka, khususnya yang menggunakan algoritma Arima.
1.5. Batasan Masalah
Tugas Akhir ini memiliki beberapa batasan sistem yaitu :
1. Alat bantu Data Miningini hanya menerapkan metode aturan asosiasi
(association rule) yaitu metode Rare Association Rule Mining
menggunakan algoritma Arima.
2. Sistem hanya dapat memproses data yang berasal dari file .xls, .csv dan data yang berasal dari sebuahdatabase.
3. Sistem hanya dapat terhubung dengan database MySqldan Oracle.
1.6. Metodologi Penelitian
Metodologi yang digunakan untuk menyelesaikan aplikasi ini adalah dengan langkah-langkah sebagai berikut :
1. Studi pustaka dengan mempelajari literature dari buku maupun internet
yang berkaitan dengan topik tugas akhir ini.
2. Metode pengembangan perangkat Lunak yang dipakai menggunakan model waterfall menurut Sommerville, (2003). Fase-Fase dari waterfall
(27)
a. Analisis dan definisi kebutuhan
Proses ini mendefinisikan secara rinci mengenai fungsi-fungsi, batasan dan tujuan dari perangkat lunak sebagai spesifikasi sistem yang akan dibuat.
b. Perancangan sistem dan perangkat lunak
Proses perancangan sistem ini difokuskan pada empat atribut, yaitu struktur data, arsitektur perangkat lunak, representasi antarmuka, dan detail (algoritma) prosedural.
c. Implementasi dan pengujian unit
Pada tahap ini, perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program.
d. Integrasi dan pengujian sistem
Pada tahap ini akan digunakan dataset untuk pengujian sistem yaitu data zoo1 dan mushroom2. Dataset zoo berisi tentang beberapa hewan beserta ciri-cirinya sedangkan dataset
mushroomberisi tentang beberapa jamur beserta ciri-cirinya. e. Operasi dan pemeliharaan
Sistem diterapkan (di-install) dan dipakai.
1
http://archive.ics.uci.edu/ml/datasets/zoo 2
(28)
1.7. Sistematika Penulisan
Sistematika penulisan tugas akhir ini adalah sebagai berikut: BAB I. PENDAHULUAN
Bab ini membahas mengenai latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi, dan sistematika penulisan.
BAB II. LANDASAN TEORI
Bab ini membahas mengenai pengetahuan yang mendukung implementasi algoritma Arimamenggunakan metode Rare Association Rule Mining seperti metode pengembangan sistem, Metode Analisis Asosiasi, algoritma Arima (A Rare Itemset Miner Algorithm), dan contoh penerapan algoritma Arima.
BAB III. ANALISIS DAN PERANCANGAN SISTEM
Dalam bab ini akan diidentifikasikan masalah yang akan diselesaikan serta tahap tahap penyelesaian masalah tersebut dengan menggunakan algoritma Arima. Dalam bab ini juga akan dijelaskan perancangan program implementasi penambangan data dengan algoritma Arima.
BAB IV. IMPLEMENTASI SISTEM
(29)
BAB V. PENGUJIAN DAN ANALISA HASIL PENGUJIAN
Bab ini berisi integrasi dan pengujian sistem yang telah dibuat menggunakan metode black box. Dalam bab ini juga berisi analisa hasil program dan pembahasan masalah berdasarkan hasil yang telah didapat secara keseluruhan.
BAB VI. PENUTUP
Bab ini berisi kesimpulan dan saran dari hasil analisis serta pembahasan masalah berdasarkan hasil yang telah didapat.
(30)
9
BAB II
LANDASAN TEORI
2.1. Metode Pengembangan Sistem
Waterfall model pertama kali diperkenalkan oleh Winston Royce tahun 1970. Waterfall Model merupakan model klasik yang sederhana dengan aliran sistem yang linier. Output dari setiap tahap merupakan input bagi tahap berikutnya. Model ini telah diperoleh dari proses rekayasa lainnya dan menawarkan cara pembuatan rekayasa perangkat lunak secara lebih nyata.
Waterfall model merupakan salah satu model proses perangkat lunak yang mengambil kegiatan proses dasar seperti spesifikasi, pengembangan, validasi, dan evolusi, dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti analisis dan definisi persyaratan, perancangan perangkat lunak, implementasi, pengujian unit, integrasi sistem, pengujian sistem, operasi dan pemeliharaan (Sommerville, 2003).
Tahap – tahap pengembangan waterfall modeladalah (Sommerville, 2003):
1. Analisis dan definisi kebutuhan
Proses mengumpulkan informasi kebutuhan sistem/perangkat lunak melalui konsultasi dengan user system. Proses ini mendefinisikan secara rinci
(31)
mengenai fungsi-fungsi, batasan dan tujuan dari perangkat lunak sebagai spesifikasi sistem yang akan dibuat.
Beberapa macam requirement:
User Requirement(Kebutuhan Pengguna)
Proses ini berisi pernyataan tentang layanan yang disediakan sistem dan tentang batasan-batasan operasionalnya serta gambar/diagram yang dapat dimengerti dengan mudah.
System Requirement(Kebutuhan Sistem)
Proses ini berisi sekumpulan layanan/kemampuan sistem dan batasan-batasannya yang ditulis secara detail.
Software Requirement Specification(Spesifikasi Kebutuhan Perangkat Lunak)
Proses ini berisi gambaran abstrak dari rancangan perangkat lunak yang menjadi dasar bagi perancangan dan implementasi yang lebih detail.
2. Perancangan sistem dan perangkat lunak
Proses perancangan sistem ini difokuskan pada empat atribut, yaitu struktur data, arsitektur perangkat lunak, representasi antarmuka, dan detail (algoritma) prosedural. Proses ini menerjemahkan syarat / kebutuhan ke dalam sebuah representasi perangkat lunak.
(32)
Beberapa macam metode perancangan :
Perancangan Data
Tahap ini mentransformasikan model data yang dihasilkan oleh proses
analisis menjadi struktur data yang dibutuhkan pada saat
implementasi.
Perancangan Arsitektur
Tahap ini mendefinisikan keterkaitan antar elemen-elemen utama yang akan membentuk program.
Perancangan Antarmuka
Tahap ini menjabarkan komunikasi : internal perangkat lunak, antara perangkat lunak, dengan sistem diluarnya, dan antara perangkat lunak dengan usernya.
Perancangan Prosedur
Tahap ini metransformasikan elemen struktural dari arsitektur program menjadi deskripsi prosedur.
3. Implementasi dan pengujian unit
Pada tahap ini, perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Kemudian pengujian unit melibatkan verifikasi bahwa setiap unit program telah memenuhi spesifikasinya (Sommerville, 2003).
(33)
4. Integrasi dan pengujian sistem
Unit program/program individual diintegrasikan menjadi sebuah kesatuan sistem dan kemudian dilakukan pengujian. Dengan kata lain, pengujian ini ditujukan untuk menguji keterhubungan dari tiap-tiap fungsi perangkat lunak untuk menjamin bahwa persyaratan sistem telah terpenuhi. Setelah pengujian sistem selesai dilakukan, perangkat lunak dikirim ke pelanggan/user(Sommerville, 2003).
Beberapa metode pengujian : 1. Black box testing
Black box testing memperlakukan pengujian perangkat lunak sebagai “kotak hitam” – tanpa pengetahuan tentang pelaksanaan internal.
2. White box testing
White box testing adalah ketika penguji memiliki akses ke struktur data internal dan algoritma termasuk source code.
5. Operasi dan pemeliharaan
Tahap ini biasanya memerlukan waktu yang paling lama. Sistem diterapkan (di-install) dan dipakai. Pemeliharaan mencakup koreksi dari beberapa kesalahan yang tidak diketemukan pada tahapan sebelumnya, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem, sementara persyaratan-persyaratan baru ditambahkan.
(34)
Gambar 2.1 Pengembangan sistem menggunakan model Waterfall (Sommerville, 2003)
2.2. Metode Analisis Asosiasi
Metode analisis asosiasi (association analysis) merupakan teknik data mining untuk menemukan aturan asosiatif antara suatu kombinasi item. Metode analisis asosiasi dikenal juga sebagian salah satu teknik data mining yang menjadi dasar dari berbagai teknik data mining lainnya.
Penting tidaknya suatu aturan asosiasi dapat diketahui dengan 2 parameter yaitu supportdan confidence. Supportadalah persentase kombinasi item dalam basisdata sedangkan confidence adalah kuatnya hubungan antar item dalam aturan asosiasi (Kusrini & Emha, 2009). Pencarian aturan asosiasi dengan menggunakan analisis asosiasi bertujuan untuk menemukan semua
aturan asosiasi yang memenuhi syarat minimum untuk support (minimum
(35)
Supportdari aturan ⇒ adalah rasio dari recordyang mengandung
∪ dengan total recorddalam basisdata. Untuk mendapatkan nilai support
dapat menggunakan rumus :
, ( → )= ( ∪ ) ...(2.1)
Keterangan :
( ∪ ): jumlah X dan Y yang ada di dalam transaksi secara
bersamaan.
N : jumlah semua transaksi yang ada.
Sedangkan Minsup (minimum support) menandakan ambang batas
(threshold) yang menentukan apakah sebuah itemset akan digunakan pada perhitungan selanjutnya untuk pencarian aturan asosiasi.
Confidence dari aturan asosiasi ⇒ adalah rasio dari recordyang
mengandung ∪ dengan total record yang mengandung . Untuk
mendapatkan nilai confidencedapat menggunakan rumus :
, ( → )= ( ∪ )
( ) .......(2.2)
Keterangan :
( ∪ ): jumlah X dan Y yang ada di dalam transaksi secara bersamaan.
(36)
Atau dapat ditulis sebagai berikut:
, ( ⇒ )= ( , )
( )...(2.3)
Keterangan :
( , ): jumlah nilai support untuk X dan Y
( ): jumlah nilai support untuk X
Sedangkan Minconf (minimum confidence) menandakan ambang batas
(threshold) dari sebuah aturan asosiasi untuk menentukan aturan asosiasi yang kuat (strong association rule).
Misalnya terdapat himpunan data transaksi A sebagai berikut :
Tabel 2.1 Contoh Tabel Transaksi A (Tan,et.al, 2006)
TID Itemset
1 Bread, Milk, Diaper
2 Bread,Diaper,Beer,Eggs
3 Milk,Beer,Coke
4 Bread,Milk,Diaper,Beer
5 Bread,Milk,Diaper,Coke
Misalkan akan dihasilkan rule: {Milk,Diaper}→Beer
Maka supportmenjadi s′=σ( , , )
| | = = 0.2
Confidencemenjadi c′ =σ( , , )
(37)
Pada proses pencarian aturan asosiasi ini dapat dibagi menjadi 2 tahapan, yang terdiri dari :
1. Pencarian frequent itemset
Yaitu proses pencarian semua itemset yang memiliki nilai support ≥ minsup. Itemset ini disebut frequent itemset atau large itemset ( l-itemset).
2. 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≥ minconf.
2.3. Algoritma Arima (A Rare Itemset Miner Algorithm)
Algoritma Arima merupakan algoritma untuk mencari rare itemset.
Rare itemset adalah itemset yang muncul bersama-sama dalam sedikit transaksi atau persentase sangat kecil pada transaksi dalam database.
Pembentukan rare itemsetdilakukan dengan mencari semua kombinasi item –
item yang memiliki support lebih kecil atau sama dengan minsup yang telah ditentukan.
Suatu aturan asosiasi disebut rare, jika support kurang dari nilai
minimum support. Aturan asosiasi rare r adalah benar jika r adalah confident, yaitu supp(r) ≤min_supp dan conf(r) ≥ min_conf.
(38)
Minimal rare itemset (mRI) adalah suatu itemset yang sangat jarang terjadi tetapi semuasubsetsering terjadi.
Minimal zero generator (mZG)adalah suatu itemset yang bernilai nol dari semua subset yang bukan nol itemset(non-zero itemsets).
Gambar 2.2 Kiri : Contoh Dataset (D). Kanan : Rangkaian pola Dataset D (Szathmary, L., et.al, 2007).
Pada gambar 2.3 digambarkan proses pencarian rare itemset dengan nilai minsup=3. Pada C1atau candidate-1ada 5 itemset yang terdiri dari ({A},
{B}, {C}, {D}, dan {E}). {D} merupakan minimal rare itemset(mRI) karena
itemset ini memiliki nilai support lebih kecil dari minimum support yang
(39)
Kemudian pada C2 atau candidate-2 ada 10 itemset yang terdiri dari ({AB},
{AC}, {AD}, {AE}, {BC}, {BD}, {BE}, {CD}, {CE}, dan {DE}). {CD}
merupakan minimal zero generator (mZG) karena nilai support itemset
bernilai nol, ({AD}, {BD}, {DE}) merupakan rare itemset karena itemset ini
memiliki nilai support lebih kecil dari minimum support yang ditentukan,
({AB}, {AC}, {AE}, {BC}, {BE}, {CE}) merupakan frequent itemset. Pada
C3 atau candidate-3 ada 10 itemset yang terbentuk yaitu ({ABC}, {ABD},
{ACD}, {ACE}, {ABE}, {ADE}, {BCD}, {BCE}, {BDE}, dan {CDE}).
({ABC}, {ACE}) merupakan minimal rare itemset(mRI) karena itemset ini
memiliki nilai support lebih kecil dari minimum support yang ditentukan,
({ABD},{ADE}, {BDE}) merupakan rare itemsetkarena itemset ini memiliki
nilai support lebih kecil dari minimum support yang ditentukan, ({ACD},
{BCD}, {CDE}) merupakan rare itemsetdengan nilai support 0 dan ({ABE},
{BCE}) merupakan frequent itemset.Kemudian pada C4 atau candidate-4ada 5
itemset yang terbentuk yaitu ({ABCD}, {ACDE}, {ABCE}, {ABDE}, dan
{BCDE}). ({ABCD}, {ACDE}, {BCDE}) merupakan rare itemdengan nilai
support 0 dan ({ABCE}, {ABDE}) merupakan rare itemset. Proses ini berhenti pada C5 atau candidate-5karena pada tahap ini tidak ada rare itemset
yang terbentuk.
Apabila diketahui :
(40)
mRI = minimal rare itemset
S = menyimpan semua atribut di dataset
i = jumlah itemset
= candidate itemsetuntuk ukuran i = rare itemsetuntuk ukuran i
= candidate itemset
Maka pseudocode untuk pencarian rare itemset menggunakan algoritma Arimaadalah sebagai berikut (Szathmary, L., et.al, 2007) :
Inisialisasi mZG= null
Inisialisasi S = semua atribut di dataset
Inisialisasi i = jumlah terkecil itemset di mRI
Tambahkan semua itemset terkecil di mRIke dalam
Tambahkan anggota atau nilai support = 0 ke dalam mZG
Tambahkan anggota atau nilai support > 0 ke dalam
While ( ≠ø)
Loop over the elements of (r)
//in Cand no duplicates are allowed: fall possible supersets of r using S;
loop over the elements of (c) if c has a proper subset in mZG, then delete c from ;
//i.e., if c is a superset of a min. zero gen. //no duplicates are allowed in :
∪ ;
= ø; //re-initializing
SupportCount( ); //requires one database pass
∪{(i + 1)-long itemsets in mRI}; mZG mZG ∪{z € | support(z) = 0}; {r € | support(r) > 0};
i i + 1;
; //(all non-zero) rare itemsets
Gambar 2.3 Algoritma Arima (A Rare Itemset Miner Algorithm) (Szathmary, L., et.al, 2007)
(41)
Algoritma diatas dapat dijelaskan sebagai berikut :
a. Pada iterasi pertama dihitung jumlah kemunculan setiap item dalam transaksi untuk menentukan large 1-itemset. Pada iterasi selanjutnya akan dihasilkan candidate k-itemset menggunakan rare-itemset yang ditemukan pada iterasi sebelumnya.
b. Setelah itu, dilakukan penelusuran data untuk menghitung support bagi setiap candidate itemset dalam . Dalam tahap ini pastikan tidak ada duplikat untuk . Untuk itu jika suatu data telah terdaftar di
mZGmaka data tersebut akan dihapus di dalam .
c. Kemudian akan dilakukan eliminasi minimal zero generator yang
memiliki nilaisupportsama dengan 0 dan eliminasi rare itemset yang
memiliki nilaisupportlebih besar dari 0. Sedangkan semuacandidate
k-itemset yang memenuhi minsup disimpan dalam yang akan
digunakan untuk membentuklarge (k+1)-itemset. Algoritma berakhir
ketika tidak adalarge itemsetbaru yang dihasilkan.
Algoritma Arima menggunakan arah pencarian bottom-up, dimana
arah pencarian dimulai dari rare itemset menuju itemset terpanjang.
Strategi yang digunakan adalah breadth-first search dimana proses
(42)
support-nya untuk menemukan rare itemsetpada leveltersebut. Sedangkan strategi perhitungan 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.
2.4.Contoh Penerapan Algoritma Arima (A Rare Itemset Miner Algorithm)
Berikut akan ditunjukkan cara kerja algoritma Arima untuk
menemukan rare itemset dan menemukan aturan asosiasi yang tepat dengan
minsup=3. Tabel 2.2 adalah contoh dataset yang akan digunakan untuk menemukan aturan asosiasi langka yang terdapat pada data tersebut.
Tabel 2.2 Tabel Transaksi B (Szathmary, L., et.al, 2007)
ID Itemset
1 A, B, D, E
2 A, C
3 A, B, C, E
4 B, C, E
5 A, B, C, E
Dari tabel diatas maka proses pencarian rare itemsetdengan algoritma
Arimaadalah sebagai berikut :
mZG = ø
S = {A, B, C, D, E) i = 1
C1 R1
(43)
{A} 4 {D} 1
{B} 4
{C} 4
{D} 1
{E} 4
mZGbefore = ø mZGafter= ø
C2 R2
Candidate 2-itemset Support Rare 2-itemset Support
{A, D} 1 {A, D} 1
{B, D} 1 {B, D} 1
{C, D} 0 {E, D} 1
{E, D} 1
mZGbefore = ø mZGafter = {CD}
C3 R3
Candidate 3-itemset Support Rare 3-itemset Support
{A, B, D} 1 {A, B, D} 1
{A, D, E} 1 {A, D, E} 1
{B, D, E} 1 {B, D, E} 1
{A, B, C} 2 {A, B, C} 2
{A, C, E} 2 {A, C, E} 2
mZGbefore = {CD} mZGafter = {CD}
C4 R4
Candidate 4-itemset Support Rare 4-itemset Support
{A, B, D, E} 1 {A, B, D, E} 1
{A, B, C, E} 2 {A, B, C, E} 2
mZGbefore = {CD} mZGafter = {CD}
C5 R5
Candidate 5-itemset Support Rare5-itemset Support
(44)
mZGbefore = {CD} mZGafter = {CD}
Gambar 2.4 Pencarian candidate itemset dan rare itemset dengan min_supp=3
Penerapan algoritma Arima pada dataset B (Tabel 2.2) dengan
min_supp = 3 diilustrasikan pada Gambar 2.3. Algoritma pertama mengambil mRI terkecil, {D}, yang bukannon-zeroakan disalin keR1.2-long
supersets dihasilkan dan disimpan di C2 ({AD}, {BD}, {CD} dan {DE}). Karena {CD} adalah zero itemset, maka data ini disalin ke daftar mZG. Kemudian yang Non-zero itemsets akan disalin ke R2. Untuk setiap rare
itemsetdi R2, memungkinkan supersets yang dihasilkan. Misalnya, dari {AD}
dapat menghasilkan kandidat berikut: {ABD}, {ACD}, dan {ADE}. Jika
kandidat memiliki subset mZG, maka kandidat pasti zero itemset dan dapat
dipangkas ({ACD}). Kandidat non-zero berpotensi disimpan di C3. Duplikat tidak diperbolehkan dalam tabel Ci. DarimRI 3-long itemsetsditambahkan ke
C3({ABC} dan {ACE}).
Algoritma berhenti jika tabel Ri kosong. Gabungan tabelRi memberikan
semua non-zero rare itemsets. Pada akhirnya, semua mZGs dijadikan satu,
jadi jika diperlukan,zero itemsetsdapat dengan mudah diambil dari daftar ini. Berdasarkan pencarian rare itemset diatas maka dapat dibuat tabel
(45)
Tabel 2.3 minimal Rare itemset (mRI)dengan minimum support= 3 minimul Rare itemset (mRI) Support
{D} 1
{ABC}, {ACE} 2
Dari contoh diatas dapat dilihat bahwa bila nilai minsup dinaikan
maka akan banyak candidate itemset yang terbentuk, sehingga
menyebabkan banyak pengulangan.
Sehingga dengan rare itemsetyang ditemukan diatas dapat diproses sebagai berikut :
Subsetdari rare itemset: {D} ,{ABC}, {ACE}.
Dari subsetyang ada dapat dibentuk aturan asosiasi sebagai berikut : a. A⇒B & C
c(A⇒B & C)= s(A,B,C)/sA =2/4
=50% b. B & C ⇒A
c(B & C ⇒A)= s(A,B,C) /s(B,C) =2/2
=100% c. B ⇒A & C
c(B⇒A & C )= s(A,B,C)/sB =2/4
(46)
=50% d. A & C ⇒B
c(A & C ⇒B)= s(A,B,C) /s(A,C) =2/3
=75% e. C ⇒A & B
c(C⇒A & B)= s(A,B,C)/sC =2/4
=50% f. A & B ⇒C
c(A & B ⇒C)= s(A,B,C) /s(A,B) =2/3
=75% g. A ⇒C & E
c(A⇒C & E)= s(A,B,E)/sA =2/4
=50% h. C & E ⇒A
c(C & E ⇒A)= s(A,C,E) /s(C, E) =2/3
(47)
i. C⇒A & E
c(C⇒A & E)= s(A,C,E)/sC =2/4
=50% j. A & E⇒C
c(A & E⇒C)= s(A,C,E) /s(A,E) =2/3
=75% k. E⇒A & C
c(E⇒A & C)= s(A,C,E)/sE =2/4
=50% l. A & C⇒E
c(A & C⇒E)= s(A,C,E) /s(A,C) =2/3
=75%
Semua aturan asosiasi yang ada ternyata mempunyai nilai
confidence ≥ 70% sehingga semua aturan asosiasi yang terbentuk diatas
(48)
27
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Perancangan program aplikasi dalam skripsi ini menggunakan aturan linear sequential (waterfall). Pada bab ini akan dibahas tahap pertama dan kedua yaitu analisis dan definisi kebutuhan, perancangan sistem dan perangkat lunak. Tahap-tahap yang digunakan adalah sebagai berikut
3.1. Fase Analisis Kebutuhan Sistem 3.1.1. Identifikasi Masalah
Teknik asosiasi adalah salah satu teknik data mining yang sering digunakan untuk menemukan aturan (rule) yang tersembunyi di dalam suatu kumpulan data. Saat ini banyak algoritma yang menggunakan teknik asosiasi. Salah satunya adalah algoritma ARIMA (A Rare Itemset Miner Algorithm). Algoritma ini adalah salah satu algoritma yang digunakan untuk mencari aturan (rule)yang jarang terjadi atau langka pada suatu kumpulan data.
Dalam menyelesaikan masalah ini, kadang ditemukan kendala seperti belum ada aplikasi yang menerapkan teknik asosiasi langka, sehingga penerapan algoritma dilakukan secara manual.
Aplikasi yang akan dibangun ini diharapkan mampu membantu dalam menyelesaikan masalah asosiasi langka. Sistem ini akan menerapkan teknik Rare
(49)
Association Rule Mining (RARM) dengan algoritma Arima (A Rare Itemset Miner Algorithm) pada penambangan data.
3.1.2. Pernyataan Masalah
Tabel 3.1 di bawah ini merupakan pernyataan masalah dan solusi yang akan diterapkan pada sistem.
Tabel 3.1 Tabel Pernyataan Masalah
Pernyataan Masalah Solusi
Belum ditemukan sistem yang dapat membantu menemukan aturan asosiasi langka.
Membuat sistem yang dapat digunakan untuk menemukan aturan asosiasi langka dengan menerapkan teknik Rare Association Rule Mining (RARM) dengan algoritma Arima (A Rare Itemset Miner Algorithm) pada penambangan data.
3.1.3. Kebutuhan Perangkat Keras
Perangkat keras yang dibutuhkan untuk membangun sistem adalah sebagai berikut :
1. Processor Intel corei3 2.40GHz 2. Memori RAM 2 GB
3.1.4. Kebutuhan Perangkat Lunak
Perangkat lunak yang dibutuhkan untuk membangun sistem adalah sebagai berikut :
(50)
1. Sistem Operasi Windows 7 Home Premium 2. NetBeans IDE 6.7
3. Java Development Kit (JDK) versi 1.6.12
4. Server basis data MySQL Server versi 5.2 dan Oracle Database 10g Express Edition.
5. SQL Yog Community-Edition versi 5.22a dan SQL developer
3.1.5. Gambaran Sistem Baru
Gambar 3.1 di bawah ini merupakan diagram konteks yang digunakan.
Gambar 3.1 Diagram Konteks
Application for Mining Rare Association Rule berfungsi sebagai alat bantu untuk mendapatkan aturan asosiasi yang tepat dan akurat. Aplikasi ini akan dibuat dengan menggunakan bahasa pemrograman Javadan merupakan aplikasi desktop. Teknik yang digunakan sebagai engine dalam sistem ini adalah teknik Rare Association Rule Mining (RARM) dengan algoritma Arima (A Rare Itemset Miner Algorithm) pada penambangan data.
(51)
3.1.5.1 Input Sistem
Langkah awal yang dilakukan dalam sistem adalah menginputkan data yang akan dilakukan pemrosesan penambangan data. Pada tahap ini jenis tipe file yang dapat digunakan adalah .csv, .xlsdan data yang berasal dari database (MySql dan Oracle). Untuk tipe file .csv dan .xls pengguna tidak dapat memilih kolom, sedangkan untuk data yang berasal dari database pengguna dapat memilih kolom yang diinginkan. Selain data yang diinputkan, minimum supportdan minimum confidence juga harus diinputkan sehingga data yang ada dapat digunakan untuk proses selanjutnya yaitu penerapan algoritma ARIMA (A Rare Itemset Miner Algorithm).
3.1.5.2 Proses Sistem
Proses yang akan terjadi di dalam sistem adalah :
a. Mengambil data dari direktori tertentu yang disimpan dalam bentuk file excel, .csv, dan juga data pada database (MySqldan Oracle) dan ditampilkan pada tabel view. Data ini merupakan data yang telah dikenai pemrosesan awal. b. Membaca nilai minimum support dan minimum confidence
(52)
c. Membaca data yang ditampilkan pada tabel view. Mencari semua candidate 1-itemsetbeserta countdan supportuntuk masing – masing candidate. Hasil perhitungan supportnya akan digunakan untuk penentuan rare 1-itemset yakni dengan membandingkan nilai support candidate dengan minimum support yang telah dimasukkan pengguna. Candidate 1-itemset yang memiliki nilai support lebih kecil atau sama dengan minimum support akan menjadi rare 1-itemset.
d. Mencari rare k-itemset dengan membuat semua kombinasi candidate 1-itemsetyang ada hingga membentuk candidate 2-itemsetuntuk mendapatkan rare 2-itemsetdan seterusnya hingga tidak ada lagi rare itemsetyang dapat dibentuk. e. Membuat semua kemungkinan aturan asosiasi langka.
Diawali dengan pembentukan subsetdari rare itemsetyang telah ada. Subset – subset tersebut akan dikombinasikan untuk membentuk aturan, dimana ada subsetyang menjadi anteseden dan ada subset yang menjadi konsekuen. Lalu akan dihitung nilai confidence untuk masing – masing aturan dengan cara mengambil nilai support masing – masing subset dan dihitung. Nilai confidence tiap aturan akan dibandingkan dengan minimum confidence yang telah
(53)
dimasukkan oleh pengguna. Jika nilai confidencenya lebih besar atau sama dengan minimum confidence maka aturan tersebut adalah aturan asosiasi yang kuat.
f. Menampilkan semua hasil Arima berupa semua rare itemsetdan aturan asosiasi yang kuat sebagai output. g. Hasil arima yang diperoleh dapat disimpan dalam file .txt
atau .doc
3.1.5.3 Output Sistem
Sistem yang dibuat akan menghasilkan keluaran (output) sebagai berikut :
a. Data dan jumlah data
Sistem akan menampilkan semua data kategori penilaian yang dibaca dari file excel, .csv, dan juga data pada database (MySql dan Oracle) yang sudah dilakukan pemrosesan awal beserta jumlah dari masing–masing data tersebut.
b. Minimum supportdan minimum confidence
Sistem akan menampilkan nilai minimum support dan minimum confidenceyang dimasukkan pengguna.
(54)
Sistem akan menampilkan semua rare itemsetdimulai dari rare 1-itemset hingga rare k-itemset beserta nilai supportnya masing masing.
d. Semua aturan asosiasi yang kuat
Sistem akan menampilkan semua aturan asosiasi yang kuat.
3.1.6. Diagram Use Case
Gambar 3.2 di bawah ini merupakan diagram use case pada Application For Mining Rare Association Rule.
(55)
3.1.7. Ringkasan Use Case
Tabel 3.2 di bawah ini merupakan penggambaran umum mengenai Use Case pada Application For Mining Rare Association Rule.
Tabel 3.2 Deskripsi Use Case
Nomor Use Case Nama Use Case Deskripsi
MRAR-001 Koneksi
Database
Use case ini menggambarkan proses sistem terkoneksi ke database yang akan digunakan untuk melakukan pencarian aturan asosiasi.
MRAR -002 Input Data Use case ini menggambarkan proses
input data yang berbentuk file sehingga data dapat digunakan untuk mencari aturan asosiasi yang kuat.
MRAR -003 Buat Aturan Use case ini menggambarkan proses pembuatan aturan asosiasi yang kuat. MRAR -004 Simpan Aturan Use case ini menggambarkan proses
menyimpan aturan asosiasi yang terbentuk dari proses penambangan data.
3.1.8. Narasi Use Case
Setiap usecase pada bagian sebelumnya akan dijelaskan lebih rinci dalam sebuah narasi yang merupakan deskripsi tekstual dari kejadian bisnis dan bagaimana pengguna berinteraksi dengan sistem untuk menyelesaikan tugas tersebut.
(56)
3.2.Perancangan Sistem 3.2.1. Diagram Aktivitas
Diagram Aktivitas merupakan diagram yang menjelaskan aktivitas pengguna dengan program.
3.2.1.1 Diagram Aktivitas Koneksi Database
Gambar 3.3 di bawah ini merupakan diagram aktivitas Koneksi Database.
(57)
3.2.1.2 Diagram Aktivitas Input Data
Gambar 3.4 di bawah ini merupakan diagram aktivitas Input Data.
(58)
3.2.1.3 Diagram Aktivitas Buat Aturan
Gambar 3.5 di bawah ini merupakan diagram aktivitas Buat Aturan.
Gambar 3.5 Diagram Aktivitas Buat Aturan
3.2.1.4 Diagram Aktivitas Simpan Aturan
Gambar 3.6 di bawah ini merupakan diagram aktivitas Simpan Aturan.
(59)
3.2.2. Model Analisis
Model analisis adalah salah satu proses untuk menterjemahkan scenario use case menjadi kelas analisis. Kelas analisis terdapat tiga buah jenis yaitu form/bonery, controller dan entitas. Bentuk model analisis merupakan kelas analisis.
Alur proses usecase menjalankan sebuah method akan dijelaskan secara terperinci melalui model analisis tiap usecase sebagai berikut :
3.2.2.1 Model Analisis Usecase Koneksi Database
Gambar 3.7 di bawah ini merupakan model analisis koneksi database.
Gambar 3. 7 Gambar model analisis Koneksi Database
Tabel 3.3 di bawah ini merupakan kelas analisis koneksi database. Tabel 3. 3 Kelas Analisis Koneksi Database
No Nama Kelas Tipe Deskripsi
1. ProsesAsosiasi Interface/Boundary Kelas ini menyediakan tampilan dari sistem yang akan digunakan untuk
memproses asosiasi
langka.
(60)
tampilan yang digunakan untuk memilih database yang akan digunakan. 3. LoginDatabase Interface/Boundary Kelas ini menyediakan
fungsi login ke sistem
4. Database Controller Kelas ini berfungsi untuk
mengontrol koneksi ke database
5. DatabaseConnection Entity Kelas ini berfungsi untuk
membuat obyek database yang memiliki atribut url, username dan password
Gambar 3.8 di bawah ini merupakan diagram Sequencekoneksi database.
Gambar 3.8 DiagramSequence Koneksi Database
(61)
Gambar 3.7 di bawah ini merupakan model analisis input data.
Gambar 3. 9 Gambar model analisis Input Data
Tabel 3.4 di bawah ini merupakan kelas analisis input data. Tabel 3. 4 Kelas Analisis Input Data
No Nama Kelas Tipe Deskripsi
1. Home Interface/Boundary Kelas ini menyediakan
tampilan utama dari sistem, dan menampilkan fungsi-fungsi utama sistem.
2. ProsesAsosiasi Interface/Boundary Kelas ini menyediakan tampilan dari sistem yang
akan digunakan untuk
memproses asosiasi
3. DataFile Controller Kelas ini berfungsi untuk
menyediakan method atau fungsi untuk memproses data yang bertipe file dan akan ditampilkan pada sistem.
4. Data Entity Kelas ini berfungsi untuk
membuat obyek data yang memiliki atribut data dan kolom.
(62)
Gambar 3.10 DiagramSequence Input Data
3.2.2.3 Model Analisis Usecase Buat Aturan
Gambar 3.11 di bawah ini merupakan model analisis buat aturan.
Gambar 3. 11 Gambar model analisis Buat Aturan
(63)
Tabel 3. 5 Kelas Analisis Buat Aturan
No Nama Kelas Tipe Deskripsi
1. ProsesAsosiasi Interface/Boundary Kelas ini menyediakan tampilan dari sistem yang akan digunakan untuk memproses asosiasi
2. DataFile Controller Kelas ini berfungsi untuk
menyediakan method atau fungsi untuk memproses data yang bertipe file dan akan ditampilkan pada sistem.
3. Itemset Entity Kelas ini berfungsi untuk
menyediakan method atau fungsi untuk memilih Itemset
yang layak untuk
pembentukan aturan asosiasi langka pada sistem.
4. Candidate Entity Kelas ini berfungsi untuk
menyediakan method atau fungsi untuk memilih kandidat- kandidat yang akan
digunakan dalam
pembentukan aturan asosiasi langka pada sistem.
5. LargeItemset Entity Kelas ini berfungsi untuk
menyediakan method atau fungsi pembuatan kombinasi kandidat-kandidat untuk mencari aturan asosiasi.
6. Rule Entity Kelas ini berfungsi untuk
menyediakan method atau fungsi untuk pembentukan aturan asosiasi pada sistem.
(64)
Gambar 3.12 Diagram Sequence Buat Aturan
3.2.2.4 Model Analisis Usecase Simpan Aturan
Gambar 3.13 di bawah ini merupakan model analisis simpan aturan.
Gambar 3. 13 Gambar model analisis Simpan Aturan Tabel 3.6 di bawah ini merupakan kelas analisis simpan aturan.
(65)
Tabel 3.6 Kelas Analisis Simpan Aturan
No Nama Kelas Tipe Deskripsi
1. ProsesAsosiasi Interface/Boundary Kelas ini menyediakan tampilan dari sistem yang akan digunakan untuk memproses asosiasi
2. DataFile Controller Kelas ini berfungsi untuk
menyediakan method atau fungsi untuk memproses data yang bertipe file dan akan ditampilkan pada sistem.
Gambar 3.14 di bawah ini merupakan diagram Sequencesimpan aturan.
Gambar 3.14 DiagramSequence Simpan Aturan
3.2.3. Perancangan Antar Muka
(66)
Pada Gambar 3.15 berikut digambarkan Halaman Home yang menampilkan nama program, berserta menu-menu yang ada di dalam sistem yaitu menu File, menu Help dan menu About. Pada menu File ada 2 submenu yaitu Asosiasi dan Exit. Pada menu Help ada 1 submenu yaitu Help. Pada menu About ada 1 submenu yaitu About.
Gambar 3.15 Desain Antar Muka HalamanHome
3.2.3.2 Halaman Proses Asosiasi pada Tab Open File
Pada Gambar 3.16 berikut digambarkan Halaman Proses Asosiasi pada Tab Open File yang memiliki 4 tombol yaitu tombol Browse, OK, Cancel dan Save. Tombol Browse berfungi untuk memilih file bertipe .xls, dan .csv yang akan
(67)
digunakan dan data akan ditampilkan pada table yang ada. Sedangkan tombol OK berfungsi untuk melakukan proses asosiasi dan tombol Cancel berfungsi untuk membatalkan proses asosiasi. Kemudian tombol Save berfungsi untuk menyimpan aturan asosiasi yang telah terbentuk.
Gambar 3.16 Desain Antar Muka Halaman Proses Asosiasi pada Tab Open File
3.2.3.3 Halaman Proses Asosisasi pada Tab Open Database
Pada Gambar 3.17 berikut digambarkan Halaman Proses Asosiasi pada Tab Open Database yang memiliki 4 tombol yaitu tombol Open Database, OK, Cancel dan Save. Tombol Open Database berfungi untuk menghubungkan sistem ke database yang yang akan digunakan dan data akan
(68)
ditampilkan pada table yang ada. Sedangkan tombol OK berfungsi untuk melakukan proses asosiasi dan tombol Cancel berfungsi untuk membatalkan proses asosiasi. Kemudian tombol Save berfungsi untuk menyimpan aturan asosiasi yang telah terbentuk.
Gambar 3.17 Desain Antar Muka Halaman Proses Asosiasi
padaTab Open Database
Pada Gambar 3.18 berikut digambarkan Halaman Select Database yang memiliki sebuah combobox yang harus dipilih untuk dapat melanjutkan ke langkah selanjutnya. Kemudian ada 2 tombol yaitu tombol OKdan Cancel. Tombol OK berfungi untuk memilih database tersebut dan tombol Canceluntuk menutup halaman ini.
(69)
Gambar 3.18 Desain Antar Muka HalamanSelect Database
Pada Gambar 3.19 berikut digambarkan Halaman Login ke database MySql. Pada halaman ini memiliki 4fieldtextyang harus diisi untuk dapat masuk ke dalam sistem yaitu database url, username, password dan query. Kemudian ada 3 tombol yaitu tombol Back, OK dan Cancel. Tombol Back berfungsi untuk kembali ke halaman sebelumnya, tombol OK berfungi untuk terhubung ke database dan tombol Cancel untuk menutup halaman ini.
Gambar 3.19 Desain Antar Muka HalamanOpen Database
Pada Gambar 3.20 berikut digambarkan Halaman Login ke database Oracle. Pada halaman ini memiliki 5fieldtextyang
(70)
harus diisi untuk dapat masuk ke dalam sistem yaitu server, database, username, password dan query. Kemudian ada 3 tombol yaitu tombol Back, OK dan Cancel. Tombol Back berfungsi untuk kembali ke halaman sebelumnya, tombol OK berfungi untuk terhubung ke database dan tombol Cancel untuk menutup halaman ini.
Gambar 3.20 Desain Antar Muka HalamanOracle
Connection
3.2.4. Diagram Kelas Desain
(71)
Gambar 3.21 Diagram Kelas
Pada tabel 3.7 di bawah ini merupakan daftar nama kelas yang digunakan dalam sistem.
(72)
Tabel 3. 7 Tabel Kelas yang digunakan dalam sistem
No Nama Kelas Jenis Sub Bab
1 Home Interface 3.2.4.1
2 ProsesAsosiasi Interface 3.2.4.2
3 SelectDatabase Interface 3.2.4.3
4 LoginDatabase Interface 3.2.4.4
5 OracleConnection Interface 3.2.4.5
6 DatabaseConnection Entity 3.2.4.6
7 Database Controller 3.2.4.7
8 DataFile Controller 3.2.4.8
9 Itemset Entity 3.2.4.9
10 Candidate Entity 3.2.4.10
11 LargeItemset Entity 3.2.4.11
3.2.4.1 Detail Algoritma pada methoddi kelas Home
Pada sub bab ini akan dijelaskan method dan atribut yang terdapat dalam kelas Home.
Atribut :
private prosesJam threadJam = new prosesJam(); private javax.swing.JMenuItem AsosiasiMenuItem; private javax.swing.JMenu HelpMenu;
private javax.swing.JMenuItem HelpMenuItem; private javax.swing.JDesktopPane HomeDesktopPane; private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel4; private javax.swing.JPanel mainPanel; private javax.swing.JMenuBar menuBar; private javax.swing.JProgressBar progressBar; private javax.swing.JLabel statusAnimationLabel; private javax.swing.JLabel statusMessageLabel; private javax.swing.JPanel statusPanel; private final Timer messageTimer;
private final Timer busyIconTimer; private final Icon idleIcon;
(73)
private int busyIconIndex = 0; private JDialog aboutBox; private JDialog bantuanBox; Method :
1. public Home(SingleFrameApplication app) //konstruktor Input:
-Output: -Algoritma: a. super(app); b. initComponents(); c. threadJam.start();
2. public void showAboutBox() Input:
-Output: Halaman About
Algoritma:
a. if(aboutBox == null)
Buat object baru JFrame.
Buat object baru DesktopAboutBox.
Panggil method setLocationRelativeTo(mainFrame); b. DesktopApplication.getApplication().show(aboutBox);
3. private void HelpMenuItemActionPerformed(java.awt.event.ActionEvent evt)
Input:
-Output: Halaman Help
(74)
a. Buat object baru Help. b. Panggil method show(). 4. private void
AsosiasiMenuItemActionPerformed(java.awt.event.ActionEvent evt) Input:
-Output: Halaman Asosiasi Algoritma:
a. try
Buat object baru ProsesAsosiasi.
Tambahkan object ProsesAsosiasi ke dalam HomeDesktopPane. Panggil method show();
b. catch (PropertyVetoException ex)
Logger.getLogger(DesktopApplication.class.getName()).log(Level.SE VERE, null, ex);
6. public void Jam() Input:
-Output: -Algoritma: a. if (jam <= 9)
jika benar nolJam = "0"; jika benar nolJam = ""; b. if (menit <= 9)
jika benar nolMenit = "0"; jika benar nolMenit = ""; c. if (detik <= 9)
jika benar nolDetik = "0"; jika benar nolDetik = ""; d. Tampilkan jam dan tanggal.
(75)
7. public void run() Input:
-Output: waktu dalam bentuk jam dan tanggal Algoritma:
a.while(true) Jam(); a. try
Thread.sleep(1000);
b. catch (InterruptedException e)
3.2.4.2 Detail Algoritma pada methoddi kelas ProsesAsosiasi Pada sub bab ini akan dijelaskan method dan atribut yang terdapat dalam kelas ProsesAsosiasi.
Atribut :
private javax.swing.JLabel MinconfLabelDB; private javax.swing.JLabel MinconfLabelFile; private javax.swing.JLabel MinsupLabelDB; private javax.swing.JLabel MinsupLabelFile; private javax.swing.JButton jButton1;
private javax.swing.JButton jButtonConnectDB; private javax.swing.JButton jButtonDB;
private javax.swing.JButton jButtonSave; private javax.swing.JButton jButtonStart; private javax.swing.JButton jButtonStartDB; private javax.swing.JButton jButtonStop; private javax.swing.JButton jButtonStopDB;
private javax.swing.JComboBox jComboBoxAlgoritma; private javax.swing.JComboBox jComboBoxAloritmaDB; private javax.swing.JComboBox jComboBoxPilihFile; private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3;
(76)
private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel5; private javax.swing.JPanel jPanel6;
private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JScrollPane jScrollPane4; private javax.swing.JTabbedPane jTabbedPane4;
private javax.swing.JTabbedPane jTabbedPaneDatabase; private javax.swing.JTabbedPane jTabbedPaneFile; private javax.swing.JTable jTable;
private javax.swing.JTable jTable1;
private javax.swing.JTextArea jTextAreaDB; private javax.swing.JTextArea jTextAreaHasil; private javax.swing.JTextField jTextFieldAlgoritma; private javax.swing.JTextField jTextFieldAlgoritmaDB; private javax.swing.JTextField jTextFieldDBConf; private javax.swing.JTextField jTextFieldDBSup; private javax.swing.JTextField jTextFieldFile; private javax.swing.JTextField jTextFieldFileConf; private javax.swing.JTextField jTextFieldFileSup; private javax.swing.JTextField jmldata;
private javax.swing.JTextField jmldata1; private static File f = null;
DataFile data = new DataFile(); int i = 1;int x = 0; int vv = 0; int jumlahbaris; int jumlahkolom; static List data1 = new ArrayList(); List temp = new ArrayList(); List temp1 = new ArrayList(); List temp2 = new ArrayList(); List temp3 = new ArrayList(); List temp4 = new ArrayList();
double htng, minsup = 0.0, minconf = 0.0; private Itemset[] itemlarge;
static LinkedList crazy;
(77)
static ArrayList ada = new ArrayList(); static ArrayList tampung = new ArrayList(); static ArrayList isirule = new ArrayList(); static ArrayList subset = new ArrayList(); static ArrayList remain = new ArrayList(); static ArrayList coba = new ArrayList(); ArrayList supportssubset = new ArrayList();
double supportsub = 0.0; double supfreq = 0.0; double confidence = 0.0; Method :
1. public ProsesAsosiasi()// konstruktor Input:
-Output: -Algoritma:
a. initComponents();
b. setTable(jTable1) dan set Jumlhdata(jmldata1)
c. jComboBoxAlgoritma.addItemListener(new ItemListener() public void itemStateChanged(ItemEvent ie)
String str = (String) jComboBoxAlgoritma.getSelectedItem(); jTextFieldAlgoritma.setText(str);
d. jComboBoxAlgoritmaDB.addItemListener(new ItemListener() public void itemStateChanged(ItemEvent ie)
String str = (String) jComboBoxAlgoritmaDB.getSelectedItem(); jTextFieldAlgoritmaDB.setText(str);
2. private void
jButtonConnectDBActionPerformed(java.awt.event.ActionEvent evt) Input:
-Output: Halaman LoginDatabase
Algoritma:
(78)
b. Jika object SelectDatabase= null 1. JFrame mainFrame =
DesktopApplication.getApplication().getMainFrame();
2. Buat object SelectDatabase fd = new SelectDatabase (mainFrame);
3. fd.setLocationRelativeTo(mainFrame); c. panggil method show(fd);
3. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) Input:
-Output: halaman JFileChooser Algoritma:
a. Jika tipe file .xls maka
Buat object baru JFileChooser
Buat object baru FileNameExtensionFilter setFileFilter dengan object baru
int returnValue2 = fileChooser.showOpenDialog(this); Jika (returnValue2 == JFileChooser.APPROVE_OPTION) jTextFieldFile.setText(" " +
fileChooser.getSelectedFile().getPath()); setF dengan getSelectedFile(); panggil method pilihFileExcel(f); setModel dengan getTableModel();
Buat object baru jm = String.valueOf(data.getJumlah()); Set jmldata dengan jm;
b. Jika tipe file .csv maka
Buat object baru JFileChooser
Buat object baru FileNameExtensionFilter setFileFilter dengan object baru
int returnValue2 = fileChooser.showOpenDialog(this); Jika (returnValue2 == JFileChooser.APPROVE_OPTION) jTextFieldFile.setText(" " +
fileChooser.getSelectedFile().getPath()); setF dengan getSelectedFile();
(79)
panggil method pilihFileCSV(f); setModel dengan getTableModel();
Buat object baru jm = String.valueOf(data.getJumlah()); Set jmldata dengan jm;
4. private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt) Input:
-Output: File yang telah disimpan dalam bentuk .txt atau .doc Algoritma:
a. Buat objek baru DataFile b. setFileArea(jTextAreaHasil);
c. Panggil method simpanDataFile() pada DataFile;
5. private void jButtonDBActionPerformed(java.awt.event.ActionEvent evt) Input:
-Output: File yang telah disimpan dalam bentuk .txt atau .doc Algoritma:
a. Buat objek baru DataFile b. setDBArea(jTextAreaHasil);
c. Panggil method simpanDataDB()pada DataFile;
6. private void jButtonStartActionPerformed(java.awt.event.ActionEvent evt) Input:
-Output: Hasil aturan asosiasi langka Algoritma:
a. Buat objek baru StringBuffer b. Buat objek baru DataFile c. Jika tipe file xls
(1)
43. [E1, 0, T11] ==> [H2] (confidence= 0.93) 44. [P1, T1, 0] ==> [H2] (confidence= 0.87) 45. [H2, P1, 0] ==> [T1] (confidence= 0.82) 46. [P1, T2, T11] ==> [H2] (confidence= 0.82) 47. [P1, 0, T11] ==> [H2] (confidence= 0.93) 48. [P2, T2, T11] ==> [H2] (confidence= 0.85) 49. [E2, P1, 4] ==> [T11] (confidence= 0.82) 50. [P1, T2, T11] ==> [E1] (confidence= 0.82) 51. [P2, T2, T11] ==> [E1] (confidence= 0.85) 52. [P1, 4, mammal] ==> [T11] (confidence= 0.83)
53. [P1, 4, T11] ==> [mammal] (confidence= 0.83) 54. [H2, P1, T2, T11] ==> [E1] (confidence= 0.8) 55. [E1, P1, T2, T11] ==> [H2] (confidence= 0.8) 56. [P2, T2, T11] ==> [H2, E1] (confidence= 0.85) 57. [H2, P2, T2, T11] ==> [E1] (confidence= 0.92) 58. [E1, P2, T2, T11] ==> [H2] (confidence= 0.92) 59. [E2, P1, 4] ==> [T1, T11] (confidence= 0.82) 60. [P1, T1, 4, T11] ==> [E2] (confidence= 0.82) 61. [E2, P1, 4, T11] ==> [T1] (confidence= 0.93) 62. [E2, P1, T1, 4] ==> [T11] (confidence= 0.82)
63. [P1, 4, T11, mammal] ==> [T1] (confidence= 0.87) 64. [P1, T1, 4, mammal] ==> [T11] (confidence= 0.82) 65. [P1, T1, 4, T11] ==> [mammal] (confidence= 0.82) END
Lampiran 21 Hasil untuk dataset Mushroom dengan
mimimal support 5%
dan
mimimal confidence 60%
============ =========== Hasil Asosiasi Langka =========== =========== Jumlah Data : 8415
Minimum Support : 5.0 Minimum Confidence : 60.0
Generated sets of large itemset : Rare 1 - Itemset : 14 Rare 2 -Itemset : 293 Rare 3 -Itemset : 1829 Rare 4 -Itemset : 5452 Rare 5 -Itemset : 9458 Rare 6 -Itemset : 10525 Rare 7 -Itemset : 7838 Rare 8 -Itemset : 3895 Rare 9 -Itemset : 1226 Rare 10 -Itemset : 215 Rare 11 -Itemset : 15 minimal Rare Itemset (mRI) : 2616 minimal Zero Generator (mZG) : 1 Best Rule : 13788
Lampiran 22 Hasil untuk dataset Mushroom dengan
mimimal support 5%
dan
mimimal confidence 70%
============ =========== Hasil Asosiasi Langka =========== =========== Jumlah Data : 8415
Minimum Support : 5.0 Minimum Confidence : 70.0
Generated sets of large itemset : Rare 1 - Itemset : 14 Rare 2 -Itemset : 293 Rare 3 -Itemset : 1829 Rare 4 -Itemset : 5452 Rare 5 -Itemset : 9458 Rare 6 -Itemset : 10525 Rare 7 -Itemset : 7838 Rare 8 -Itemset : 3895 Rare 9 -Itemset : 1226 Rare 10 -Itemset : 215 Rare 11 -Itemset : 15 minimal Rare Itemset (mRI) : 2616 minimal Zero Generator (mZG) : 1 Best Rule : 11710
(2)
Lampiran 23 Hasil untuk dataset Mushroom dengan
mimimal support 5%
dan
mimimal confidence 80%
============ =========== Hasil Asosiasi Langka =========== =========== Jumlah Data : 8415
Minimum Support : 5.0 Minimum Confidence : 80.0
Generated sets of large itemset : Rare 1 - Itemset : 14 Rare 2 -Itemset : 293 Rare 3 -Itemset : 1829 Rare 4 -Itemset : 5452 Rare 5 -Itemset : 9458 Rare 6 -Itemset : 10525 Rare 7 -Itemset : 7838 Rare 8 -Itemset : 3895 Rare 9 -Itemset : 1226 Rare 10 -Itemset : 215 Rare 11 -Itemset : 15 minimal Rare Itemset (mRI) : 2616 minimal Zero Generator (mZG) : 1 Best Rule : 2124
Lampiran 24 Hasil untuk dataset Mushroom dengan
mimimal support 10%
dan
mimimal confidence 60%
============ =========== Hasil Asosiasi Langka =========== =========== Jumlah Data : 8415
Minimum Support : 10.0 Minimum Confidence : 60.0
Generated sets of large itemset : Rare 1 – Itemset : 21 Rare 2 -Itemset : 418 Rare 3 -Itemset : 2407 Rare 4 -Itemset : 6702 Rare 5 -Itemset : 10987 Rare 6 -Itemset : 11668 Rare 7 -Itemset : 8365 Rare 8 -Itemset : 4034 Rare 9 -Itemset : 1242 Rare 10 -Itemset : 215 Rare 11 -Itemset : 15 minimal Rare Itemset (mRI) : 852 minimal Zero Generator (mZG) : 1 Best Rule : 2295
Lampiran 25 Hasil untuk dataset Mushroom dengan
mimimal support 10%
dan
mimimal confidence 70%
============ =========== Hasil Asosiasi Langka =========== =========== Jumlah Data : 8415
Minimum Support : 10.0 Minimum Confidence : 70.0
Generated sets of large itemset : Rare 1 – Itemset : 21 Rare 2 -Itemset : 418 Rare 3 -Itemset : 2407 Rare 4 -Itemset : 6702 Rare 5 -Itemset : 10987 Rare 6 -Itemset : 11668 Rare 7 -Itemset : 8365 Rare 8 -Itemset : 4034 Rare 9 -Itemset : 1242 Rare 10 -Itemset : 215 Rare 11 -Itemset : 15
(3)
minimal Rare Itemset (mRI) : 852 minimal Zero Generator (mZG) : 1 Best Rule : 1983
Lampiran 26 Hasil untuk dataset Mushroom dengan
mimimal support 10%
dan
mimimal confidence 80%
============ =========== Hasil Asosiasi Langka =========== =========== Jumlah Data : 8415
Minimum Support : 10.0 Minimum Confidence : 80.0
Generated sets of large itemset : Rare 1 – Itemset : 21 Rare 2 -Itemset : 418 Rare 3 -Itemset : 2407 Rare 4 -Itemset : 6702 Rare 5 -Itemset : 10987 Rare 6 -Itemset : 11668 Rare 7 -Itemset : 8365 Rare 8 -Itemset : 4034 Rare 9 -Itemset : 1242 Rare 10 -Itemset : 215 Rare 11 -Itemset : 15 minimal Rare Itemset (mRI) : 852 minimal Zero Generator (mZG) : 1 Best Rule : 1686
Keterangan :
Dataset Zoo
Dataset Mushroom
H1
Hair – True
H2
Hair – False
E1
Eggs – True
E2
Eggs – False
P1
Predator – True
P2
Predator – False
T1
Toothed – True
T2
Toothed – False
T11
Tail – True
T22
Tail – False
Cc1
Cap-color : brown
Cc2
Cap-color : buff
Cc3
Cap-color : cinnamon
Cc4
Cap-color : gray
Cc5
Cap-color : green
Cc6
Cap-color : pink
Cc7
Cap-color : purple
Cc8
Cap-color : red
Cc9
Cap-color : white
Cc10
Cap-color : yellow
B1
Bruises : true
B2
Bruises : false
O1
Odor : almond
(4)
O2
Odor : anise
O3
Odor : creosote
O4
Odor : fishy
O5
Odor : foul
O6
Odor : musty
O7
Odor : none
O8
Odor : pungent
O9
Odor : spicy
Ga1
Gill-attachment : attached
Ga2
Gill-attachment : descending
Ga3
Gill-attachment : free
Ga4
Gill-attachment : notched
Gs1
Gill-spacing : close
Gs2
Gill-spacing : crowded
Gs3
Gill-spacing : distant
Gz1
Gill-size : broad
Gz2
Gill-size : narrow
Gc1
Gill-color : black
Gc2
Gill-color : brown
Gc3
Gill-color : buff
Gc4
Gill-color : chocolate
Gc5
Gill-color : gray
Gc6
Gill-color : green
Gc7
Gill-color : orange
Gc8
Gill-color : pink
Gc9
Gill-color : purple
Gc10
Gill-color : red
Gc11
Gill-color : white
Gc12
Gill-color : yellow
Vt1
Veil-type : partial
Vt2
Veil-type : universal
Rt1
Ring-type : cobwebby
Rt2
Ring-type : evanescent
Rt3
Ring-type : flaring
Rt4
Ring-type : large
Rt5
Ring-type : none
Rt6
Ring-type : pendant
Rt7
Ring-type : sheathing
Rt8
Ring-type : zone
P1
Population : abundant
P2
Population : clustered
P3
Population : numerous
P4
Population : cattered
P5
Population : several
P6
Population : solitary
H1
Habitat : grasses
H2
Habitat : leaves
H3
Habitat : meadows
H4
Habitat : paths
H5
Habitat : urban
H6
Habitat : waste
H7
Habitat : woods
(5)
viii
ABSTRAK
Teknik asosiasi adalah salah satu teknik data mining yang sering
digunakan untuk menemukan aturan
(rule)
yang tersembunyi di dalam suatu
kumpulan data. Saat ini banyak algoritma yang menggunakan teknik asosiasi.
Salah satunya adalah algoritma
ARIMA (A Rare Itemset Miner Algorithm).
Algoritma ini digunakan untuk mencari aturan asosiasi yang jarang terjadi atau
langka pada suatu data. Setelah ditemukan aturan asosiasi langka ini dapat
digunakan untuk pertimbangan atau melalukan tindakan yang relevan dengan
aturan asosiasi langka tersebut.
Saat ini masih belum ditemukan alat bantu berupa aplikasi yang dapat
digunakan untuk menemukan aturan asosiasi langka. Untuk itu dibutuhkan alat
bantu yang dapat digunakan untuk menemukan aturan asosiasi langka. Pada tugas
akhir ini dibangun sebuah aplikasi bernama
Application for Mining Rare
Association Rule
. Aplikasi ini bertujuan untuk menemukan aturan asosiasi langka
secara otomatis atau tanpa perlu menghitung secara manual.
Aplikasi ini mengiimplementasikan algoritma
Arima (A Rare Itemset
Miner Algorithm).
Aplikasi dibangun dengan menggunakan bahasa pemrograman
java
dan basis data MySQL serta
Oracle.
Aplikasi dapat membaca data masukan
bertipe .xls serta .csv. Aplikasi juga dapat membaca data masukan dari basisdata
MySQL serta
Oracle
dengan baik.
Berdasar hasil dari uji coba menggunakan dataset yang berbeda, sistem
Application for Mining Rare Association Rule
ini berhasil memberikan dan
menampilkan aturan asosiasi langka berdasar dataset yang dimasukkan.
(6)