Pengembangan alat bantu penambangan aturan asosiasi langka menggunakan algoritma arima (a rare itemset miner algorithm).

(1)

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 supportminsup. 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 confidenceminconf.

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)

ix

ABSTRACT

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.