i
PENCARIAN ATURAN ASOSIASI PADA DATA
SERTIFIKASI GURU MENGGUNAKAN
ALGORITMA APRIORI
Skripsi
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer Jurusan Informatika
Oleh :
MARGARETHA ALVIANA DEWANTI
075314015
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
ii
FINDING ASSOCIATION RULES ON TEACHER
CERTIFICATION DATA BY USING APRIORI
ALGORITHM
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Komputer Degree In Informatics Engineering
By :
MARGARETHA ALVIANA DEWANTI
075314015
INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING
FALCULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
vi
HALAMAN PERSEMBAHAN
Karya ini saya persembahkan kepada:
Tuhan Yesus, tanganMu yang berkarya, sehingga mujizat itu nyata
Keluarga besar A.Sariyo
Keluarga besar Alm. Ag. S. Kariman
~tiada hal yang tak mungkin di dunia ini jika kita mau berusaha~
vii ABSTRAKSI
Saat ini hampir setiap instansi pemerintahan maupun swasta memiliki berbagai jenis data yang berjumlah cukup banyak. Salah satu contoh data dalam jumlah banyak adalah data portofolio sertifikasi guru. Pemanfaatan data pada saat ini belum dilakukan secara maksimal, baru sebatas untuk pembuatan laporan. Data yang terkumpul dan tersimpan tersebut sebenarnya dapat diolah dan menghasilkan suatu manfaat atau informasi.
Salah satu contoh tumpukan data yang dapat diambil informasinya adalah tumpukan data sertifikasi guru (data portofolio dan data profil guru). Dari tumpukan data tersebut dapat dicari keterkaitan antar nilai portofolio dengan data profil guru, yang kemudian hasil kombinasi tersebut dianalisis untuk mendapatkan suatu informasi. Untuk mendapatkan informasi dari tumpukan data tersebut adalah dengan cara penambangan data (data mining). Penambangan data adalah proses mengekstrak pola yang penting atau menarik dari sejumlah data yang sangat besar. Salah satu metode yang dikenal dalam penambangan data adalah analisis asosiasi (association analysis). Analisis asosiasi adalah teknik penambangan data yang bertugas menemukan aturan asosiasi antara suatu kombinasi item.
viii
ix ABSTRACT
Currently, almost every government and private agency has different types of data in large amount. Teacher certification portfolio data is one example of data available in large amount. Unfortunately at present, data is limitedly used in reports while it can actually be collected, stored and processed to produce benefits or information.
One example of a pile of data that can be taken as information is teacher certification data (teacher portfolio and profile data). From these pile of data, linkages between the value of the portfolio with the teacher profile data can be obtained. The combined results are analyzed to obtain the required information. To obtain the information from the data stack is by way of data mining which is the process of extracting the important or interesting patterns from large amounts of data.One method known in data mining is the analysis of the association which is a data mining technique in charge of discovering association rules between combination of items.
x
xii
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena atas karunia berkat dan rahmatNya sehingga skripsi dengan judul Pencarian Aturan Asosiasi Pada Data Set Sertifikasi Guru Menggunakan Algoritma Apriori selesai disusun.
Skripsi ini dapat terselesaikan juga tak lepas dari bantuan, dukungan, bimbingan serta dorongan dari banyak pihak. Oleh karena itu pada kesempatan ini penulis mengucapkan terima kasih sebesar – besarnya kepada :
1. Ibu Paulina Heruningsih Prima Rosa, S.Si.,M.Sc, selaku Dosen Pembimbing Tugas Akhir, yang telah banyak memberikan bimbingan, dukungan,waktu dan motivasi yang mendukung terselesaikannya tugas akhir ini..
2. Ibu Ridowati Gunawan, S.Kom., M.T, selaku Ketua Program Studi Teknik Informatika.
3. Ibu Ridowati Gunawan, S.Kom., M.T dan Ibu Sri Hartati Wijono S.Si.,M.Kom selaku panitia penguji yang telah memberikan banyak kritik dan saran untuk tugas akhir saya.
4. Panitia Sertifikasi Guru Rayon 38 yang telah memberikan ijin kepada penulis mengambil data sertifikasi guru guna penelitian ini.
xiii
6. Simbah, budhe, pakdhe, bulek, om, mbak , mas, dan seluruh keluarga besar A.Sariyo dan Alm. Ag. S. Kariman atas segala doa, dan sarannya kepada penulis.
7. Teman – teman seperjuangan Ana, Vindy, Monic, Rosa, Tendi, Mery, Ros yang telah banyak meluangkan waktunya untuk membantu dan mendukung serta memberi semangat kepada penulis selama pengerjaan skripsi.
8. Sahabatku Endah ‘Kenuk’, Anton ‘Bow’, Om Kris ‘Jacko’, Pipin atas semangat, perhatian dan motivasinya kepada penulis
9. Teman – teman Teknik Informatika khususnya angktan 2007, terima kasih untuk nasihat, canda tawa, motivasi, doa, semangat, perhatian dan kerbersamaannya selama 4 tahun ini.
10. Teman-teman Palmers: Intan ‘Intun’, Lina ‘Oneng’, Vica, Ines, Monica, Galuh, Queen, Ephi, Sisil, Tika, Tyas, Esia, Dewi, Febri, keberadaan kalian telah memberikan warna-warni dalam hidupku.
11. Seluruh staff dan dosen Teknik Informatika Universitas Sanata Dharma yang telah banyak memberikan bekal ilmu, arahan dan pengalaman selama saya menempuh studi.
12. Seluruh staff Sekretariat Fakultas Teknik, dan Sains yang banyak membantu saya dalam urusan administrasi akademik terutama menjelang ujian tugas akhir.
xiv
14. Seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir ini yang tidak bisa penulis sebutkan satu per satu.
Dengan rendah hati 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, Februari 2012
xv
1.2 Rumusan dan Batasan Masalah...
xvi
BAB II. LANDASAN TEORI
2.1 Penambangan Data...
2.2 Analisis Asosiasi...
2.3 Algoritma Apriori...
2.3.1 Contoh Penggunaan Algoritma Apriori...
BAB III. ANALISIS DAN DESAIN SISTEM
3.1 Identifikasi Sistem...
3.4.5.1 Diagram Aktivitas Input Data...
3.4.5.2 Diagram Aktivitas Transformasi Data...
xvii
3.4.5.4 Diagram Aktivitas Simpan Hasil...
3.4.6 Diagram Kelas Analisis...
3.4.7 Desain Diagram Kelas...
3.4.8 Detail Algoritma Method - Method Penting Pada Tiap
Kelas...
3.4.9.1 Diagram Sekuensial Input Data...
3.4.9.2 Diagram Sekuensial Transformasi Data...
3.4.9.3 Diagram Sekuensial Lihat Hasil...
3.4.9.4 Diagram Sekuensial Simpan Hasil...
3.5 Perancangan Antar Muka Pengguna...
3.5.1 Halaman Utama...
3.5.2 Halaman Masukan Data...
3.5.3 Halaman Hasil Apriori...
3.5.4 Halaman JFileChosser...
xviii
4.1.2 Halaman Masukan Data...
4.1.3 Halaman Proses Apriori...
4.2 Program Pencarian Aturan Asosiasi Dengan Data Set Sertifikasi
Guru...
4.2.1 Membaca Data Dari Filecsv dan Menampilkannya pada
Tabel...
4.2.2 Transformasi Data...
4.2.3 Pencarian Frequent 1-Itemset...
4.2.4 Pencarian Candidate k-Itemset...
4.2.5 Pencarian Frequent 2-Itemset...
4.2.6 Pencarian Frequent k-Itemset...
4.2.7 Pencarian Aturan Asosiasi Kuat (Best Rule)...
4.2.8 Menyimpan Hasil Pencarian Aturan Asosiasi...
BAB V. ANALISIS HASIL DAN PEMBAHASAN
5.1 Percobaan Untuk Data Peserta Sertifikasi Yang Berstatus PNS
Depag...
5.2 Percobaan Untuk Data Peserta Sertifikasi Yang Berstatus PNS
Dinas...
5.3 Analisis Keseluruhan...
BAB VI. KESIMPULAN DAN SARAN
xix
6.2 Saran...
DAFTAR PUSTAKA
LAMPIRAN
113
115
117
xx
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Langkah – Langkah KDD 7
2.2 Pencarian Candidate Itemset dan Frequent Itemset dengan
Minimum Support = 60% 14 3.1 Keterangan Untuk Kode Atribut Golongan 26
3.2 Use Case Untuk Pengguna 27
3.3 Diagram Konteks 32
3.4 Diagram Aktivitas Input Data 35
3.5 Diagram Aktivitas Transformasi Data 35
3.6 Diagram Aktivitas Lihat Hasil 36
3.7 Diagram Aktivitas Simpan Hasil 36
3.8 Diagram Kelas Analisis 37
3.9 Disain Diagram Kelas 38
3.10 Diagram Sekuensial Input Data 52
3.11 Diagram Sekuensial Transformasi Data N1 Sampai
Dengan N10 Kecuali N3 52
3.12 Diagram Sekuensial Transformasi Data Golongan 53
3.13 Diagram Sekuensial Transformasi Data Usia 53
3.14 Diagram Sekuensial Transformasi Data Jenis Kelamin 54
xxi
3.16 Diagram Sekuensial Lihat Hasil 55
3.17 Diagram Sekuensial Simpan Data 56
3.18 Halaman Utama 56
3.19 Halaman Masukan Data dan Proses Transformasi 57
3.20 Halaman Hasil Apriori 57
3.21 Halaman JFileChooser 58
4.1 Halaman Utama 59
4.2 Halaman Masukan Data(1) 60
4.3 Halaman JFileChooser 61
4.4 Halaman Masukan Data (2) 62
4.5 Tampilan Pesan Kesalahan (1) 62
4.6 Tampilan Pesan Kesalahan (2) 63
4.7 Tampilan Pesan Kesalahan (3) 63
4.8 Halaman Hasil Proses Transformasi 64
4.9 Halaman Proses Apriori 65
4.10 Tampilan Pesan Kesalahan (4) 65
xxii
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 Tabel Transaksi 13
2.2 Tabel Frequent Itemset Dengan Minimum Support =60% 14
3.1 Atribut Pada Data Nilai Peserta Portofolio Beserta
Keterangannya
18
3.2 Atribut Pada Data Peserta Portofolio Beserta
Keterangannya
19
3.3 Kode Interval Nilai N1 Sampe Dengan N10 24
3.4 Kode Interval N3 25
3.5 Interval Usia Dan Kode Transformasinya 25
3.6 Deskripsi Use Case 28
3.7 Narasi Use Case Input Data 28
3.8 Narasi Use Case Transformasi Data 29
3.9 Narasi Use Case Lihat Hasil 30
3.10 Narasi Use Case Simpan Hasil 31
3.11 Keterangan Penggunaan Arraylist 34
5.1 Hasil Percobaan Dengan Mengubah Nilai Minimum
Support (Status PNS DEPAG)
91
5.2 Hasil Percobaan Dengan Mengubah Nilai Minimum
Confidence (Status PNS DEPAG)
xxiii
5.3 Hasil Aturan Asosiasi Kuat Untuk Status Pns Depag 97
5.4 Hasil Percobaan Dengan Mengubah Nilai Minimum
Support (Status PNS DINAS)
99
5.5 Hasil Percobaan Dengan Mengubah Nilai Minimum
Confidence (Status PNS DINAS)
103
5.6 Hasil Aturan Asosiasi Kuat Dengan Status PNS DINAS 107
5.7 Hasil Aturan Asosiasi Kuat (Best Rule) 108
5.8 Frekuensi Tiap Interval dari Nilai Karya Pengembangan
Profesi
109
5.9 Frekuensi Tiap Interval dari Nilai PEnghargaan yang
Relevan dengan Bidang Pendidikan
110
5.10 Frekuensi Tiap Golongan 110
6.1 Hasil Aturan Asosiasi Kuat (Best Rule) Untuk Data
DINAS Dan DEPAG
BAB I
PENDAHULUAN
1.1 Latar Belakang
Salah satu faktor pendukung kemajuan bangsa adalah pendidikan, karena pendidikan merupakan suatu proses dalam mencetak generasi penerus bangsa. Dunia pendidikan tak pernah lepas dari peranan para tenaga pendidik (guru). Guru adalah ujung tombak dalam suatu pendidikan. Pembangunan dan peningkatan sumber daya manusia dalam dunia pendidikan formal ada di tangan para guru. Untuk mencetak anak bangsa yang cerdas, kritis, inovatif, demokratis, dan berakhlak diperlukan guru yang berkualitas. Untuk mendukung terciptanya guru – guru yang berkualitas pemerintah mengadakan program sertifikasi guru.
Sertifikasi guru adalah proses pemberian sertifikat pendidik kepada guru. Sertifikat pendidik diberikan kepada guru yang telah memenuhi standar profesional guru. Guru profesional merupakan syarat mutlak untuk menciptakan sistem dan praktik pendidikan yang berkualitas (Sudarto,2009). Sertifikasi bertujuan untuk meningkatkan kualitas guru. Seiring dengan itu, pemerintah memberikan tambahan insentif kepada guru-guru yang lulus sertifikasi sebagai tanda balas jasa.
perencanaan dan pelaksanaan pembelajaran (RPP), penilaian dari atasan dan pengawas, prestasi akademik, karya pengembangan profesi, keikutsertaan dalam forum ilmiah, pengalaman organisasi dibidang kependidikan dan sosial, dan penghargaan yang relevan dengan bidang pendidikan. Setiap komponen penilaian tersebut memiliki skor nilai tertentu seperti yang telah diatur pada buku Pedoman Penyusunan Portofolio Sertifikasi Guru Tahun 2010 pada Bagian III Rubrik Penilaian Portofolio Sertifikasi Guru Dalam Jabatan. Guru yang memiliki nilai portofolio di atas batas minimal dinyatakan lulus penilaian portofolio dan berhak menerima sertifikat pendidik. Namun, guru yang hasil penilaian portofolionya memperoleh nilai kurang sedikit dari batas minimal diberi kesempatan untuk melengkapi portofolio. Setelah lengkap guru dinyatakan lulus dan berhak menerima sertifikat pendidik. Bagi guru yang memperoleh nilai jauh di bawah batas minimal lulus wajib mengikuti pendidikan dan pelatihan (diklat) profesi guru yang akan dilaksanakan oleh perguruan tinggi yang ditetapkan oleh Menteri Pendidikan Nasional (Sudarto,2009).
profil (latar belakang) guru mempunyai pengaruh pada nilai – nilai portofolio atau apakah ada keterkaitan antar kesepuluh nilai itu sendiri. Namun untuk mendapatkan kombinasi nilai tersebut cukup sulit jika dilakukan secara manual karena himpunan data (data set) yang ada cukup banyak. Oleh karena itu untuk mengolah data tersebut penulis menggunakan teknik 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&Kamber,2006). Fungsi penambangan data adalah deskripsi, estimasi, prediksi, klasifikasi, clustering, dan analisis asosiasi (Yusuf et.al.,2006). Dari keenam fungsi tersebut penulis memilih menggunakan analisis asosiasi dengan algoritma apriori untuk mengolah data portofolio guru. Alasan penulis memilih menggunakan analisis asosiasi karena analisis asosiasi dapat digunakan untuk menemukan korelasi antar komponen (atribut) dalam suatu data set dan menurut Erwin(2009), algoritma apriori mudah untuk dipahami dan diimplementasikan dibandingkan dengan algoritma yang lainnya yang memang diterapkan untuk proses association rule. Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan asosiatif antara suatu kombinasi item (Kusrini,2009). Sedangkan algoritma yang akan digunakan untuk analisis asosiasi ini adalah apriori. Apriori adalah suatu algoritma yang mencari frequent itemset. Itemset adalah sekumpulan item. Frequent itemset adalah suatu itemset yang memenuhi minimum support (min_support) tertentu (Ernawati,2007).
1.2 Rumusan dan Batasan Masalah
Rumusan masalah :
Bagaimana mencari hubungan antar nilai dengan latar belakang guru pada data set sertifikasi guru dengan menggunakan metode analisis asosiasi dengan algoritma apriori?
Batasan masalah :
a. Tugas penambangan data (data mining task) yang digunakan adalah analisis asosiasi dengan algoritma apriori.
b. Data set yang digunakan dalam penelitian ini adalah data sertifikasi guru tahun 2010 pada rayon 38.
1.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mengetahui hubungan antar nilai dan latar belakang guru pada data sertifikasi guru dengan menggunakan tugas penambangan dataanalisis asosiasi dengan algoritma apriori.
1.4 Metodologi Penelitian
Berikut ini langkah – langkah penelitian yang dilakukan oleh penulis :
1. Studi Pustaka
Studi pustaka dilakukan untuk mencari teori – teori yang akan dipergunakan dalam penelitian ini.
1. Pembersihan data (data cleaning)
Menghilangkan noise dan data yang tidak konsisten atau data tidak relevan.
2. Integrasi data (data integration)
Penggabungan data dari berbagai sumber 3. Pemilihan data (data selection)
Memilih data yang sesuai untuk dianalisis dari database. 4. Transformasi data(data transformation)
Data diubah atau digabung ke dalam format yang sesuai untuk diproses dalam penambangan data.
5. Penggalian data(datamining)
Proses esensial dengan mengaplikasikan metode yang diterapkan untuk mengekstrak pola data.
6. Evaluasi pola (pattern evaluation)
Untuk mengidentifikasi pola-pola menarik kedalam knowledge based yang ditemukan.
7. Penyajian pola(knowledge presentation)
Merupakan visualisasi dan penyajian pengetahuan mengenai metode yang digunakan untuk memperoleh pengetahuan yang diperoleh pengguna.
.
1.5 Sistematika Penulisan
Sistematika penulisan tugas akhir ini adalah sebagai berikut :
Bab I. Pendahuluan
Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan, metodologi, dan sistematika penulisan.
Bab II. Landasan Teori
analisis asosiasi dengan algoritma apriori guna menemukan aturan asosiasi pada data set nilai portofolio guru peserta sertifikasi.
Bab III. Analisis dan Perancangan Penambangan Data
Dalam bab ini nantinya akan diidentifikasikan masalah yang akan diselesaikan serta tahap tahap penyelesaian masalah tersebut dengan menggunakan algoritma apriori. Dalam bab ini pula akan dijelaskan perancangan program implementasi penambangan data dengan algoritma apriori.
Bab IV. Implementasi Penambangan Data Bab ini memuat implementasi algoritma apriori.
Bab V. Analisa Hasil dan Pembahasan
Bab ini berisi analisa hasil program dan pembahasan masalah berdasarkan hasil yang telah didapat secara keseluruhan.
Bab VI. Kesimpulan dan Saran
BAB II
LANDASAN TEORI
Dari latar belakang, tujuan dan rumusan masalah di atas terdapat beberapa hal yang belum jelas pengertiannya dan perlu untuk didefinisikan lebih lanjut. Dalam bab ini akan dijelaskan satu – per satu maksud dari beberapa pengertian yang ada pada BAB 1. Adapun hal – hal yang harus dijabarkan lebih dalam antara lain penambangan data, analisis asosiasi dan algoritma apriori.
2.1 Penambangan Data
Penambangan data atau data mining adalah proses menemukan informasi yang berguna dengan cara otomatis pada repositori data yang besar (Tan et.al.,2006). Sebenarnya penambangan data merupakan suatu langkah dalam knowlegde discovery in databases (KDD). Knowledge discovery
sebagai suatu proses terdiri atas pembersihan data (data cleaning), integrasi data (data integration), pemilihan data (data selection), transformasi data (data transformation), data mining, evaluasi pola (pattern evaluation) dan penyajian pengetahuan (knowledge presentation) (Ayub,2007). Tahap – tahap tersebut diilustrasikan pada gambar 2.1 berikut ini :
Penambangan data dapatmenjalankan fungsi – fungsi berikut ini (Rochmah,2010) :
a. Deskripsi
Pola dan trend data sering dideskripsikan. Deskripsi tersebut membantu dalam menjelaskan pola dan trend yang terjadi. Model penambangan data harus setransparan mungkin, dimana hasilnya dapat mendeskripsikan pola dengan jelas.
b. Estimasi
Estimasi hampir sama dengan klasifikasi hnaya saja pada estimasi variabel targetnya harus numerik. Model yang dibangun menggunakan record yang lengkap, yang menyediakan nilai variabel target dan predictor. Untuk observasi yang baru, estimasi nilai variabel target ditentukan berdasarkan nilai – nilai predictor.
c. Prediksi
Prediksi hampir sama dengan klasifikasi dan estimasi. Namun hasil dari prediksi terjadi di masa depan.
d. Klasifikasi
Dalam klasifikasi variabel targetnya merupakan kategorikal. Model penambangan data memeriksa set record yang besar, dan setiap record
mempunyai informasi variabel target dan set input atau variabel predictor. e. Clustering
Clustering merupakan pengelompokkan record, observasi, atau kasus ke dalam kelas-kelas objek yang mirip. Clustering berbeda dengan klasifikasi karena di dalam clustering tidak terdapat variabel target.
f. Asosiasi
Asosiasi merupakan sebuah teknik data mining yaitu melakukan pencarian atribut mana yang digabungkan bersama. Tugas asosiasi mencoba untuk menemukan aturan untuk mengkuantifikasi hubungan antara dua atau lebih atribut. Aturan asosiasi berbentuk “If antecedent, then consequent”, bersama-sama dengan ukuran support dan confidence yang berhubungan dengan aturan.
2.2 Analisis Asosiasi
Analisis asosiasi atau association rule mining adalah suatu prosedur untuk mencari hubungan antar item dalam suatu data set yang ditentukan (Han& Kamber,2006). Menurut Ulmer(2002), langkah analisis asosiasi meliputi 2 tahap yaitu:
1. Mencari kombinasi yang paling sering terjadi dari suatu itemset.
2. Mendefinisikan condition dan result (untuk conditional association rule). Dalam menentukan suatu association rule (Budhi&Lim,2005), terdapat suatu interestingness measure (ukuran kepercayaan) yang didapatkan dari hasil pengolahan data dengan perhitungan tertentu. Umumnya ada dua ukuran, yaitu (Budhi&Lim,2005):
Support: suatu ukuran yang menunjukkan seberapa besar tingkat dominasi suatu item/itemset dari keseluruhan transaksi. Ukuran ini menentukan pakah suatu item/itemset layak untuk dicari confidence-nya (misal, dari keseluruhan transaksi yang ada, seberapa besar tingkat dominasi yang menunjukkan bahwa item A dan B dibeli bersamaan).
Confidence: suatu ukuran yang menunjukkan hubungan antar 2 item secara conditional (misal, seberapa sering item B dibeli jika orang membeli item A).
ditentukan oleh user. Batasan tersebut umumnya terdiri dari minimum support (min_support) dan minimum confidence (min_confidence).
Support dari aturan adalah rasio dari record yang mengandung dengan total record dalam basisdata. Untuk mendapatkan nilai support dapat menggunakan rumus :
...(2.1)
Sedangkan min_support (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 record yang mengandung dengan total record yang mengandung . Untuk mendapatkan nilai confidence dapat menggunakan rumus :
.......(2.2)
Atau dapat ditulis sebagai berikut:
...(2.3).
Sedangkan min_confidence (minimum confidence) menandakan ambang batas (threshold) dari sebuah aturan asosiasi untuk menentukan aturan asosiasi yang kuat (strong association rule) (De’e Bhia, Edeltrudis,2010).
2.3 Algoritma Apriori
Menurut Kusrini & Luthfi (2009), algoritma apriori termasuk jenis aturan asosiasi pada data mining. Selain apriori, yang termasuk pada golongan ini adalah metode generalized rule induction dan algoritma hash based. Aturan yang menyatakan asosiasi antara beberapa atribut sering disebut affinity analysis atau market basket analysis. Algoritma apriori
prinsip apriori, yaitu jika suatu itemset merupakan frequent itemset maka semua subset-nya akan berupa frequent itemset (Tan, et.al. 2006). Pembentukan frequent itemset dilakukan dengan mencari semua kombinasi
item – item yang memiliki support lebih besar atau sama dengan minsup yang telah ditentukan.
Beberapa istilah yang digunakan dalam algoritma apriori antara lain (Yulita,2004) :
a. Support (dukungan): probabilitas pelanggan membeli beberapa produk secara bersamaan dari seluruh transaksi. Support untuk aturan “X=>Y” adalah probabilitas atribut atau kumpulan atribut X dan Y yang terjadi bersamaan.
b. Confidence (tingkat kepercayaan): probabilitas kejadian beberapa produk dibeli bersamaan dimana salah satu produk sudah pasti dibeli. Contoh: jika ada n transaksi dimana X dibeli, dan ada m
transaksi dimana X dan Y dibeli bersamaan, maka confidence dari aturan if X then Y adalah m/n.
c. Minimum support: parameter yang digunakan sebagai batasan frekuensi kejadian atau support count yang harus dipenuhi suatu kelompok data untuk dapat dijadikan aturan.
d. Minimum confidence: parameter yang mendefinisikan minimum level dari confidence yang harus dipenuhi oleh aturan yang berkualitas.
e. Itemset: kelompok produk.
f. Support count: frekuensi kejadian untuk sebuah kelompok produk atau itemset dari seluruh transaksi.
g. Kandidat itemset: itemset-itemset yang akan dihitung support count-nya.
h. Large itemset: itemset yang sering terjadi, atau itemset-itemset
Sedangkan notasi-notasi yang digunakan dalam algoritma apriori antara lain:
a. Ck adalah kandidat k-itemset, dimana k menunjukkan jumlah pasangan
item.
b. Lk adalah large k-itemset.
Ada dua proses utama yang dilakukan algoritma apriori, yaitu (Yulita ,2004): 1. Join (penggabungan): untuk menemukan Lk, Ck dibangkitkan dengan
melakukan proses join Lk-1 dengan dirinya sendiri, Ck=Lk-1*Lk-1, lalu anggota Ck diambil hanya yang terdapat didalam Lk-1.
2. Prune (pemangkasan): menghilangkan anggota Ck yang memiliki
support count lebih kecil dari minimum support agar tidak dimasukkan ke dalam Lk.
Langkah-langkah dari algoritma apriori adalah sebagai berikut (Ulmer, David, 2002):
1. Set k=1 (menunjuk pada itemset ke-1).
2. Hitung semua k-itemset (itemset yang mempunyai k item), untuk mendapatkan candidate 1-itemset.
3. Hitung support dari semua calon itemset kemudian filter itemset tersebut berdasarkan perhitungan minimum support, untuk mendapatkan frequent 1-itemset.
4. Gabungkan semua itemset berukuran k untuk menghasilkan calon itemset k+1 atau candidate k-itemset.
5. Set k=k+1.
6. Ulangi langkah 3-5 sampai tidak ada itemset yang lebih besar yang dapat dibentuk.
2.3.1 Contoh Penggunaaan Algoritma Apriori
Berikut akan ditunjukkan cara kerja algoritma apriori untuk menemukan frequent itemset dan pembangkitan aturan asosiasi menggunakan data dari tabel transaksi yang diambil dari Tan,et.al.(2006). Minimum support dan minimum confidence yang ditentukan berturut – turut 60% dan 70%.
Tabel 2.1 Tabel Transaksi
Dari tabel diatas maka proses pencarian frequent itemset dengan algoritma apriori adalah sebagai berikut:
1-{Beer,Milk} 2 40% {Diapers,Milk} 3 60%
Gambar 2.2 Pencarian candidate itemset dan frequent itemset dengan
minimum support = 60%
Berdasarkan pencarian frequent itemset diatas maka dapat dibuat tabel frequent itemset sebagai berikut :
Tabel 2.2 Frequent itemset dengan minimum support = 60%
Frequent itemset Count Support(%) {Bread,Milk} {Diapers,Milk} {Bread,Diapers,Milk} 3 60%
{Bread} {Diapers} {Milk} {Bread,Diapers} 4 80%
Dari contoh di atas dapat dilihat bahwa bila nilai minsup
diturunkan maka akan banyak candidate itemset yang terbentuk dan kardinalitas itemset yang lebih besar lagi, sehingga menyebabkan banyak pengulangan. Tetapi nilai minsup yang besar akan menyebabkan sedikit ditemukan frequent itemset sehingga menjadikan algoritma ini efisien, karena sedikit sekali melakukan proses pembacaan basisdata dan perhitungan nilai support.
Subset dari frequent itemset : {Bread} ,{Diapers}, {Milk}, {Bread,Diapers}, {Bread,Milk}, {Diapers,Milk}, {Bread,Diapers,Milk}.
Dari subset yang ada dapat dibentuk aturan asosiasi sebagai berikut : a. Bread ⇒ Diapers
c (Bread⇒Diapers)= s(Bread,Diapers)/s Bread
= 80/80
=100%
b. Diapers ⇒ Bread
c (Diapers⇒Bread)=s (Bread,Diapers)/s Diapers
=80/80
=100%
c. Bread ⇒ Milk
c (Bread⇒Milk) =s (Bread,Milk)/s Bread
=60/80
=75%
d. Milk ⇒ Bread
c (Milk⇒Bread) =s (Bread,Milk)/s Milk
=60/80
=75%
e. Diapers ⇒Milk
c (Diapers⇒Milk) =s (Diapers,Milk)/s Diapers
=60/80
=75%
f. Milk ⇒Diapers
c (Milk⇒Diapers) =s (Diapers,Milk)/s Milk
=60/80
g. Bread ⇒ Diapers & Milk
c (Bread⇒Diapers & Milk )= s (Bread,Diapers,Milk)/s Bread
=60/80
=75%
h. Diapers & Milk⇒ Bread
c (Diapers&Milk ⇒Bread)=s(Bread,Diapers,Milk)/s
Diapers&Milk
=60/60
=100%
i. Diapers ⇒ Bread & Milk
c (Diapers⇒Bread & Milk )= s (Bread,Diapers,Milk)/s Diapers
=60/80
=75%
j. Bread & Milk ⇒ Diapers
c (Bread& Milk⇒Diapers)= s (Bread,Diapers,Milk)/s
Bread&Milk
=60/60
=100%
k. Milk ⇒ Bread & Diapers
c (Milk⇒Bread&Diapers )= s (Bread,Diapers,Milk)/s Milk
=60/80
=75%
l. Bread &Diapers ⇒ Milk
=60/80 =75%
Semua aturan asosiasi yang ada ternyata mempunyai nilai
confidence ≥ 70% sehingga semua aturan asosiasi yang terbentuk diatas merupakan aturan asosiasi yang kuat (strong association rule).
BAB III
ANALISIS DAN DISAIN
3.1 Identifikasi Sistem
Saat ini hampir setiap instansi pemerintahan maupun swata melalukan penyimpanan data. Data yang mereka simpan sangat beragam dan cukup banyak. Data tersebut disimpan dalam bentuk database dimana semakin banyak data semakin banyak pula memori yang dipergunakan. Data yang disimpan merupakan data yang penting dan dibutuhkan untuk instansi tersebut.
Salah satu contoh data yang tersimpan dalam jumlah banyak adalah data portofolio sertifikasi guru. Data portofolio mempunyai manfaat untuk menentukan apakah peserta sertifikasi lulus atau tidak berdasarkan passing grade yang telah ditentukan. Data yang akan dipakai untuk penelitian ini adalah data portofolio guru. Data tersebut berisi komponen - komponen nilai portofolio dan data profil guru.
3.2 Analisis Sistem
Sistem ini akan menghasilkan informasi baru tentang pola keterkaitan antar komponen – komponen data portofolio dengan menggunakan algoritma
apriori.
3.2.1 Analisis Data Awal
Data yang akan dipergunakan untuk penelitian ini adalah data nilai portofolio peserta sertifikasi guru dan data profil guru peserta sertifikasi guru, yang diperoleh dari panitia sertifikasi guru rayon 38. Data diperoleh dalam bentuk file xml. Jumlah data untuk penelitian ini adalah 6249 record untuk data nilai portofolio guru yang terdiri atas 17 atribut dan 3122 record untuk data asal usul guru yg terdiri dari 99 atribut. Berikut ini penjelas dari atribut dari kedua data tersebut pada Tabel 3.1 dan Tabel 3.2 :
Tabel 3.1 Atribut Pada Data Nilai Peserta Portofolio Beserta Keterangannya
No Nama Atribut Keterangan
1 no_peserta Nomor peserta sertifikasi
2 nia Nomor induk asesor
3 valid Status validasi dari operator
4 wkt waktu
5 n1 Nilai kualifikasi akademik
6 n2 Nilai pendidikan dan pelatihan
7 n3 Nilai pengalaman mengajar
8 n4 Nilai perencanaan dan pelaksanaan pembelajaran (RPP)
9 n5 Penilaian dari atasan dan pengawas
10 n6 Nilai prestasi akademik
11 n7 Nilai karya pengembangan profesi
12 n8 Nilai keikutsertaan dalam forum ilmiah
13 n9 Nilai pengalaman menjadi pengurus organisasi dibidang
kependidikan dan sosial
14 n10 Nilai penghargaan yang relevan dengan bidang
pendidikan
15 keterangan
Tabel 3.2 Atribut Pada Data Peserta Portofolio Beserta Keterangannya
No Nama Atribut Keterangan
1 no_peserta Nomor peserta sertifikasi
2 status_jalur
3 pola_sertif
4 terpencil
5 jenis_daftar
6 status_pns Status PNS peserta sertifikasi
7 nuptk
8 nip Nomor induk pegawai peserta sertifikasi
9 nip_baru Nomor induk peserta yang baru
10 nik
11 jenjang
12 nama Nama peserta sertifikasi
13 gelardpn Gelar yg ada di depan nama peserta sertifikasi
14 gelarblk Gelar pendidikan yg ada di belakang nama peserta sertifikasi
15 tmp_lhr Tempat lahir peserta sertifikasi
16 tgl_lhr Tanggal lahir peserta sertifikasi
17 kelamin Jenis kelamin peserta sertifikasi
18 agama Agama yg dianut peserta sertifikasi
19 gol Tingkat golongan kepegawaian peserta sertifikasi
20 lama_ajar Lama mengajar peserta sertifikasi
21 lama_awas
22 instansi Instansi tempat peserta sertifikasi mengajar
23 alm_sek Alamat sekolah tempat peserta sertifikasi mengajar
24 kecamatan Domosili peserta sertifikasi
25 tel_sek Nomor telepon sekolah tempat peserta sertifikasi mengajar
26 stat_sek Status sekolah tempat peserta sertifikasi mengajar
27 pend_akhir Pendidikan akhir yg pernah di tempuh peserta sertifikasi
28 pend_s1 Pendididkan S1
29 pt_s1 Perguruan Tinggi S1
30 pend_s2 Pendididkan S2
31 pt_s2 Perguruan Tinggi S2
33 pt_s3 Perguruan Tinggi S3
34 thn_lulus Tahun lulus
35 tgs_tambahan Tugas Tambahan
36 jp 37 j_sis 38 js
39 mapel Mata pelajaran
40 nia_a1 Nomor induk asesor pertama
41 nia_a2 Nomor induk asesor kedua
72 sap_1 mentah yang harus diproses terlebih dahulu agar siap dipakai untuk proses penambangan data.
3.2.2 Pemrosesan Awal
Sebelum data tersebut dimasukkan ke dalam sistem untuk
menggunakan langkah – langkah sesuai dalam KDD (Knowledge Discovery In Database). Namun, tidak semua langkah – langkah dalam KDD masuk dalam pemrosesan awal hanya 4 langkah pertama yang dipergunakan yaitu pembersihan data, seleksi data, integrasi data, pemilihan data, dan transformasi data. Detail penjelasan pemrosesan awal adalah sebagai berikut :
1. Pembersihan Data (Data Cleaning)
Proses pembersihan data (data cleaning) merupakan langkah pertama dalam proses penambangan data. Pada data mentah yang dimiliki oleh peneliti terdapat beberapa record yang yang tidak relevan. Pada proses pembersihan data ini record - record yang tidak relevan akan dibuang.
Pada penelitian ini dilakukan pembersihan data dua kali yaitu sebelum data diintegrasi dan setelah data diintegrasi. Sebelum data diintegrasi, pada data nilai ada beberapa record yang dibuang karena tidak relevan. Kemudian setelah data diintegrasi dilakukan lagi proses pembersihan data dengan membuang beberapa record yang tidak relevan ataupun record yg bernilai
null, sehingga didapatkan jumlah data akhirnya 2230 record.
2. Integrasi Data (Data Integration)
Integrasi data adalah proses penggabungan data dari berbagai sumber. Pada penelitian ini terjadi proses penggabungan data 2 file data sertifikasi guru 2010, yaitu file tu_nilai_2010.xml yang berisi nilai portofolio guru peserta sertifikasi 2010 dan file
tu_guru_2010.xml yang berisi asal usul guru peserta. Kedua file
itu digabungkan berdasarkan kolom no_peserta yg ada dikedua file
3. Pemilihan Data (Data Selection)
Pada tahap ini akan dilakukan penyeleksian data-data yang kurang relevan dengan penelitian. Pada file data tu_nilai_2010 terdapat 17 atribut yaitu no_peserta, nia, valid, waktu, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, keterangan, pre_status, pre_terpencil. Berdasarkan data tersebut, maka data yang diseleksi (data yang tidak akan dipakai) adalah data pada kolom nia, kolom valid, kolom waktu, kolom keterangan, kolom pre_status dan kolom pre_terpencil, karena tidak dapat dijadikan variabel dalam proses pencarian aturan asosiasi. Sedangkan untuk file data tu_guru_2010 kolom yang dipergunakan hanya kolomgolongan, kecamatan, jenis kelamin, dan tanggal lahir. Jadi atribut yang dipergunakan dalam penelitian ini ada 14 atribut, yaitu jenis_kelamin, golongan, kecamatan, tanggal_lahir, n1, n2, n3, n4 n5, n6, n7, n8, n9, n10
4. Transformasi Data (Data Transformation)
Pada tahap ini data yang telah selesai dibersihkan dan dipilih akan diubah ke dalam format yang sesuai untuk diproses dalam penambangan data. Semua atribut pada data kecuali data pada atribut kecamatan akan ditranformasikan ke dalam kode yang telah ditentukan. Tidak semua data pada penelitian ini akan ditransformasi dengan cara yang sama. Sembilan dari lima belas atribut tersebut yaitu n1, n2, n4, n5, n6, n7, n8, n9, n10 akan ditransformasikan dengan cara membagi ke dalam 4 interval. Dalam penelitian ini diasumsikan bahwa semua nilai atribut telah terdistribusi normal dan untuk membentuk 4 interval tersebut akan menggunakan cara statistika yaitu dengan rumus perkiraan interval untuk rata – rata (Supranto,Johanes,1992) :
Keterangan :
X
= rata – rata dari nilai tiap atributσ = nilai standard deviasi
2 α
Z = nilai galat standar (koefisien reliabilitas)
n = jumlah data
Dalam penelitian ini diasumsikan selang kepercayaannya adalah 95% jadi didapatkan untuk nilai
adalah 5% (didapatkan dari : 100% - selang kepercayaan). Jadi didapatkan nilai2 α
Z
adalah 1,96. Nilai tersebut didapatkan dari tabel normal Z (negative z). Setelah nilai galat standar didapatkan maka dapat dibentuk aturan 4 interval sebagai berikut :
1. Interval 1 jika x > = X + 1.96 * σ /
n
2. Interval 2 jika
X
<= x <X
+ 1.96 * σ /n
3. Interval 3 jika X - 1.96 * σ /
n
<= x < X4. Interval 4 jika x < X - 1.96 * σ /
n
Masing – masing dari interval di atas dinyatakan dalam kode – kode seperti yang dijabarkan pada tabel di bawah ini :
Tabel 3.3 Kode Interval Nilai n1 Sampai Dengan n10
Nilai Kode
Interval 1 Interval 2 Interval 3 Interval 4
n1 1A 1B 1C 1D
n2 2A 2B 2A 2D
n4 4A 4B 4C 3D
n5 5A 5B 5C 4D
n7 7A 7B 7C 6D
n8 8A 8B 8C 7D
n9 9A 9B 9C 8D
n10 10A 10B 10C 9D
Sedangkan untuk nilai n3 tidak menggunakan aturan interval di atas. Kategori – kategori untuk nilai n3 telah diatur dalam buku Pedoman Penyusunan Portofolio Sertifikasi Guru Tahun 2010. Jadi untuk nilai n3 menggunakan kategori dan kode seperti dalam Tabel 3.4 :
Tabel 3.4 Kode Interval Nilai n3
nilai n3 interval nilai kode
85 5-7 tahun 3A
100 8-10 tahun 3B
115 11-13 tahun 3C
130 14-16 tahun 3D
145 17-19 tahun 3E
160 20-22 tahun 3F
175 23-25 tahun 3G
190 26-28 tahun 3H
205 29-31 tahun 3I
220 >31 tahun 3J
Untuk atribut tanggal lahir nantinya akan diolah dengan mengambil tahun lahir dan mengakumulasikannya menjadi usia. Kemudian usia itu nantinya akan dikategorikan ke dalam interval
dengan jarak antar interval adalah 5 tahun. Pembuatan interval usia ditunjukan pada Tabel 3.5.
Tabel 3.5 Interval Usia dan Kode Transformasinya
Interval Usia Kode
usia < 25 U1
30 ≤ usia < 35 U3 35 ≤ usia < 40 U4 40 ≤ usia < 45 U5 45 ≤ usia < 50 U6 50 ≤ usia < 55 U7
usia ≥ 55 U8
Untuk atribut jenis kelamin pada data mentah berupa kode 1 dan 0. Kemudia kode tersebut ditransformasikan untuk nilai 1 diubah menjadi L (laki – laki) dan nilai 0 ditransformasikan menjadi P (perempuan).
Untuk proses transformasi data pada atribut golongan telah diatur secara khusus oleh panitia sertifkasi. Dalam data yang akan diolah atribut golongan berisi kode (id) berupa angka. Berikut ini keterangan dari kode golongan :
3.3 Analisis Kebutuhan Sistem
3.3.1 Diagram Use Case
Pada sistem ini nantinya akan ada 1 pengguna. Kegiatan yang bisa dilakukan oleh penggunaadalah memasukkan (input) data nilai, memilih atribut, melihat hasil aturan asosiasi, dan menyimpan hasil aturan asosiasi. Dari 4 kegiatan yang dilakukan oleh pengguna, 3 kegiatan diantaranya merupakan kegiatan yang depends on yang artinya hanya bisa dilakukan jika kegiatan sebelumnya telah terpenuhi. Sedangkan sisanya merupakan kegiatan yang extends
karena kegiatan tersebut merupakan kegiatan yang optional, bisa dilakukan bisa juga tidak, namun jika akan dilakukan proses sebelumnya sudah harus terpenuhi terlebih dahulu. Hal tersebut ditunjukkan pada gambar 3.2 di bawah ini.
Gambar 3.2 Use Case Untuk Pengguna
3.3.2 Narasi Use Case
Tabel 3.6 Deskripsi Use Case
Data Use casemenggambarkan proses ini dimana pengguna
Pengarang : Margaretha Tanggal : 31 Mei 2011
Versi : 1.0
Nama Use-case : Input Data Jenis Use-Case
Nomor Use-case : SKS-001 Business Requirements
Tabel 3.8 Narasi Use Case Transformasi Data
Deskripsi: Use case ini menggambarkan proses dimana pengguna
memasukkan data yang akan diolah ke dalam sistem. Prakondisi:
Pemicu: Use case ini digunakan apabila penggunaingin melakukan
pengolahan data
Langkah Umum: Kegiatan Aktor Respon Sistem
Step 1: Pengguna mengklik menu START.
Step 3: Pengguna mengklik tombol BROWSE
Step 4 : Pengguna memilih data
Step 5: Pengguna mengklik tombol OK
Step 2: Sistem menampilkan form Masukan Data
Step 4: Sistem menampilkan form
JfileChooser
Step 6: Sistem menampilkan data pada tabel yg telah disediakan Langkah
Alternatif:
Kesimpulan: Use case ini berhenti apabila data telah berhasil ditampilkan oleh sistem
Pasca Kondisi: Data berhasil ditampilkan oleh sistem
Aturan Bisnis: Pengguna harus memasukkan data dengan jenis file csv
Asumsi: Pengguna telah memiliki data yang telah diolah pre-processing
Pengarang : Margaretha Tanggal : 31 Mei 2011
Versi : 1.0
Nama Use-case : Transformasi Data Jenis Use-Case
Nomor Use-case : SKS-002 Business Requirements
Tabel 3.9 Narasi Use Case Lihat Hasil
Deskripsi: Use case ini menggambarkan proses dimana pengguna mengubah
data yang ada ke dalam kode – kode yang telah ditentukan
Prakondisi: Penggunatelah berhasil melakukan pemasukkan data yang akan
diolah
Pemicu: Use case ini digunakan apabila penggunaakan mengubah data ke
dalam kode – kode yang telah ditentukan untuk memudahkan proses pengolahan data
Langkah Umum: Kegiatan Aktor Respon Sistem
Step 1: Pengguna mengklik
tombol TRANSFORMASI Step 2: Sistem menampilkan data
hasil transformasi pada tabel yang telah disediakan
Langkah
Alternatif: Alt Step 3: Pengguna mengklik tombol BACK, sehingga kembali ke halaman utama Kesimpulan: Use case ini berhenti apabila sistem menampilkan hasil
transformasi data
Pasca Kondisi: Sistem berhasil mentransformasi data Aturan Bisnis:
Asumsi: Data telah berhasil dimasukkan ke dalam sistem
Pengarang : Margaretha Tanggal : 31 Mei 2011
Versi : 1.0
Nama Use-case : Lihat Hasil Jenis Use-Case
Nomor Use-case : SKS-003 Business Requirements
Prioritas : High
Deskripsi: Use case ini menggambarkan proses dimana pengguna melihat
hasil akhir pengolahan data
Prakondisi: Penggunatelah berhasil melakukan transformasi data
Pemicu: Use case ini digunakan apabila penggunaingin menampilkan
hasil akhir dari pengolahan data
Langkah Umum: Kegiatan Aktor Respon Sistem
Tabel 3.10 Narasi Use Case Simpan Hasil
tombol PROSES APRIORI
Step 5: Sistem menampilkan hasil pengolahan data
Langkah Alternatif:
Kesimpulan: Use case ini berhenti apabila hasil telah ditampilkan Pasca Kondisi: Sistem berhasil menampilkan halaman Proses Apriori Aturan Bisnis:
Asumsi: Data telah berhasil di transformasi dan pengguna sudah
memasukkan nilai minimum_support dan minimum_confidence
Pengarang : Margaretha
Tanggal : 31 Mei 2011 Versi : 1.0
Nama Use-case : Simpan Hasil Jenis Use-Case
Nomor Use-case : SKS-004 Business Requirements
Prioritas : High
Deskripsi: Use case ini menggambarkan proses dimana pengguna
menyimpan hasil akhir pengolahan data dalam bentuk file doc
Prakondisi: Sistem telah selesai melakukan pengolahan data
Pemicu:
Langkah Umum: Kegiatan Aktor Respon Sistem
Step 1: Pengguna mengklik tombol Simpan
Step 3: Pengguna memilih direktori penyimpanan
Step 2: Sistem menampilkan form
3.4 Perancangan Umum Sistem
3.4.1 Input Sistem
Data yang akan dimasukkan dalam sistem ini nantinya adalah data sertifikasi guru yang telah melalui tahap pemrosesan awal sampai dengan proses cleaning. Dalam sistem ini nantinya dari kelima belas atribut tersebut akan diolah secara bersamaan pada proses penambangan data. Selain itu nantinya juga akan ada masukan berupa nilai minimum_support dan minimum_confidence.
Gambar 3.3 Diagram Konteks
3.4.2 Ouput Sistem
Sistem yang dibuat akan menghasilkan keluaran (output) aturan asosiasi yang kuat (best rule) yaitu aturan asosiasi yang
Step 4: Pengguna mengklik tombol Save
Step 5: Sistem menyimpan hasil pengolahan pada direktori yang telah dipilih pengguna.
Langkah
Alternatif: Alt-Step 6 : Penggunatidak jadi tersimpan mengklik tombol Cancel, sehingga data Kesimpulan: Use case ini berhenti apabila data telah tersimpan
Pasca Kondisi: Data berhasil tersimpan
Aturan Bisnis: Pengguna harus memilih direktori tempat penyimpanan
memenuhi minimum_support dan minimum_confidence. Aturan tersebut dapat digunakan untuk melihat keterkaitan antar atribut.
3.4.3 Proses Sistem
Sistem ini nantinya hanya terdiri dari 1 bagian, yaitu sistem pengguna yang menangani pencarian aturan asosiasi dengan metode penambangan data.
Alur kerja sistem dapat dijelaskan sebagai berikut ;
Untuk melakukan pencarian aturan asosiasi nilai portofolio sertifikasi guru ada beberapa langkah yang perlu dikerjakan. Pertama pengguna memasukkan data nilai portofolio yang sudah diproses melalui pemrosesan awal data(pre processing) yang diambil dari direktori tertentu dengan jenis file csv. Setelah pengguna akan meminta pada system untuk melakukan proses transformasi data. Langkah selanjutnya pengguna memasukkan nilai minimum_support
dan minimum_confidence. Sistem akan membaca semua masukkan tersebut lalu mengolah data tersebut dengan algoritma apriori.. Setelah data selesai diproses maka sistem akan menampilkan atruan asosiasi yang telah terbentuk. Setelah itu hasil dapat disimpan dalam bentuk fileMS.Word.
3.4.4 Perancangan Struktur Data
Dalam proses pembentukan candidate itemset pencarian
frequent itemset hingga terbentuknya best rule, keseluruhan datanya tersimpan dalam ArrayList. Alasan penggunaan model struktur data
ArrayList pada sistem ini karena dengan menggunakan ArrayList
Tabel 3.11 Keterangan Penggunaan ArrayList
ArrayList Fungsi
temp1 Menyimpan hasil perhitungan candidate 1 itemset count dari
temp2 Menyimpan hasil perhitungan support untuk candidate 1 itemset
temp3 Meyimpan hasil pencarian itemset beserta nilai supportnya frequent 1
temp4 Menyimpan hasil pencarian itemset candidate 2
temp5 Meyimpan hasil pencarian itemset beserta nilai supportnya candidate 2
temp6 Menyimpan hasil pencarian itemset frequent 2
temp7 Meyimpan hasil pencarian itemset candidate 3
temp8 Meyimpan hasil pencarian itemset beserta nilai supportnya candidate 3
3.4.5 Diagram Aktivitas
3.4.5.1 Diagram Aktivitas Input Data
Gambar 3.4 Diagram Aktivitas Input Data
3.4.5.2 Diagram Aktivitas Transformasi Data
3.4.5.3 Diagram Aktivitas Lihat Hasil
Gambar 3.6 Diagram Aktivitas Lihat Hasil
3.4.5.4 Diagram Aktivitas Simpan Hasil
3.4.6 Diagram Kelas Analisis
3.4.7 Disain Diagram Kelas
3.4.8 Detail Algoritma Method - Method Penting Pada Tiap Kelas
3.4.8.1 Kelas Proses_Apriori
1. a. Nama Method : findCandidate1Itemsets()
b. Fungsi Method :
Menemukan semua candidate 1-itemset dari dataset
yang ada, serta hitung count dan support untuk tiap
candidate 1-itemset.
c. Algoritma Method :
Untuk cari candidate 1-itemset :
1. Looping selama jumlahBaris > j dan jumlahKolom > i, id an j di mulai dari 0
2. Buat variable baru tipe String yang isinya mengambil seluruh isi tabel view
3. Jika ArrayList data tidak mengandung data pada tabel
4. Maka masukkan nilai data (j,i) ke dalam
ArrayList data1.
Untuk hitung count candidate 1-itemset :
1. Inisialisasi nilai x=0, dan vv=0. Looping selama ukuran ArrayList data1 > x
2. Looping selama jumlahBaris >= j dan jumlahKolom >= i , nilai id an j dimulai dari 0 3. Jika data1.get(x) = nilai data(j,i) maka vv
di-increment (ditambah 1)
Untuk hitung supportcandidate 1-itemset :
1. Inisialisasi nilai htng = 0, Selama ukuran
ArrayList temp > x, ambil temp.get(x) dibagi jumlahBaris.
2. Masukkan nilai htng ke dalam ArrayList temp2.
2. a. Nama Method : findFrequent1Itemsets()
b. Fungsi Method :
Menemukan semua frequent 1-itemset.
c. Algoritma Method :
1. Inisialisasi nilai x=0, sup1=0 dan minsup =0. Looping selama ukuran ArrayList temp1 > x
2. Ambil nilai temp1.get(x) dan masukkan dalam variabel sup1.
3. Jika sup1 >= minsup, ambil itemset dari data1.get(x). Lalu masukkan itemset dan sup1 ke dalam ArrayList temp3.
3. a. Nama Method : findCandidateKItemset(ArrayList temp)
b. Fungsi Method :
c. Algoritma Method :
Untuk menemukan candidate k-itemset : 1. Deklarasikan array dengan tipe Itemset
2. Looping selama i < temp3.size(), i dimulai dari 0 3. Looping selama j < temp3.size(), dan j dimulai
dari i+1
4. Isi theItems[i] dengan temp3.get(i) 5. dan theItems[j] dengan temp.get(j)
6. Jika theItems[i] similarTo theItems[j] maka 7. Isi variabel item dengan hasil join antara
theitems[i] dengan theItems[j]
8. Masukkan isi variable item ke dalam ArrayList temp4
9. Kembalikan nilai temp4
4. a. Nama Method : find_Frequent_itemset(ArrayList temp_2)
b. Fungsi Method :
Mendapatkan frequent k itemset
c. Algoritma Method :
1. Hitung count dari setiap candidate. Candidate didapatkan dari temp_2
a. Looping selama i < temp_2.size, i dimulai dari 0
b. Inisialisasi nilai count = 0 . Selama
c. Ulangi langkah 2 hingga semua candidate k itemset dihitung count-nya
d. Simpan hasi perthitunag count ke dalam ArrayList temp_3
Untuk mendapatkan frequent k itemset
a. Looping selama i < temp_3.size(), i dimulai dari 0
b. Jika theItems3[i].getSupport >= minsup Maka frequent k itemset disimpan pada ArrayList temp6
5. a. Nama Method : findFrequentKItemset()
b. Fungsi Method :
Mendapatkan frequent k itemset
c. Algoritma Method :
1. Jalankan method
findCandidateKItemset(ArrayList temp) kemudian simpan hasilnya pada temp7. Untuk mendapatkan frequent 2-itemset.
2. Kemudian jalankan method
find_Frequent_itemset (ArrayList temp_2) 3. Ulangi langkah 1dan 2 untuk mendapatkan
frequent -3itemset.
4. Simpan hasil pencarian frequent 3 itemset pada temp7_1
6. Jalankan method
findCandidateKItemset(ArrayList temp) 7. Setelah looping selesai jalankan method
find_Frequent_itemset untuk mendapatkan hasil kombinasi terakhir.
3.4.8.2 Kelas BacaData
1. a. Nama Method : baca_data(File file)
b. Fungsi Method :
Membaca data masukkan yang berupa file csv
c. Algoritma Method :
1.Jika ekstensi file yang dimasukkan adalah .csv, tampilkan format data sesuai.
2.Jika tidak, tampilkan pesan error. 3.Baca file
4.Ambil jumlah baris dari file
5.Bentuk array mahasiswa 6.Baca token
7.Masukan ke dalam array data_guru.
3.4.8.3 Kelas TransformasiData
1. a. Nama Method : hitung_stdev(double data[])
b. Fungsi Method :
c. Algoritma Method :
1.Deklarasi variabel mean, sumData, stDeviasi.
2.Proses looping selama nilai i =0 sampai i kurang dari jumlah data untuk menghitung total jumlah data. 3.Hitung mean = sumData / jumlah data.
4.Proses looping selama nilai i = 0 sampai i kurang dari jumlah data untuk menghitung jumlah nilai (Xi –
mean)2.
5.Hitung standar deviasi.
2. a. Nama Method : transformNilai(double data, double stdev , double rata2)
b. Fungsi Method :
Mengubah nilai – nilai pada atribut n1 sampai dengan n10 (kecuali n3) menjadi kode – kode yang telah ditentukan
c. Algoritma Method :
1. Jika data kurang dari
(mean - (1.96 * standar deviasi /
jumlahdata
), kembalikan nilai D.2. Jika data kurang dari atau sama dengan
(mean - (1.96 * standar deviasi /
jumlahdata
) dan data kurang dari rata - rata (mean), kembalikan nilai C. 3. Jika data lebih dari atau sama dengan rata - rata (mean) dan data kurang darikembalikan nilai B.
4. Jika data lebih dari atau sama dengan
(mean + (1.96 * standar deviasi /
jumlahdata
), kembalikan nilai A.3. a. Nama Method : kon_jenis_kelamin(int jk)
b. Fungsi Method :
Mengubah data jenis kemalmin menjadi kode L dan P
c. Algoritma Method :
1. Jika nilai jenis kelamin= 0 maka kembalikan nilai P 2. Jika nilai jenis kelamin= 1 maka kembalikan nilai L
4. a. Nama Method : kon_n3(double n3)
b. Fungsi Method :
Mengubah nilai atribut n3 sesuai dengan aturan yang ada pada buku pedoman
c. Algoritma Method :
1. Inisialisasi variabel String value dan int a = n3
2. Set nilai value = A jika a bernilai 85
3. Set nilai value = B jika a bernilai 100
4. Set nilai value = C jika a bernilai 115
6. Set nilai value = E jika a bernilai 145
7. Set nilai value = F jika a bernilai 160
8. Set nilai value = G jika a bernilai 175
9. Set nilai value = H jika a bernilai 190
10. Set nilai value = I jika a bernilai 205
11. Set nilai value = J jika a bernilai 220
12. Jika nilai a tidak cocok dengan semua case yang ada set default : Masukan anda salah
13. Kembalikan nilai value (return value)
5. a. Nama Method : kon_gol(int gol)
b. Fungsi Method :
Mengubah nilai atribut golongan sesuai dengan ketentuan yang ada.
c. Algoritma Method :
1. Inisialisasi variabel String value2 dan int a = gol
2. Set nilai value = I/A jika a bernilai 1
3. Set nilai value = I/B jika a bernilai 2
4. Set nilai value = I/C jika a bernilai 3
5. Set nilai value = I/D jika a bernilai 4
7. Set nilai value = II/B jika a bernilai 6
8. Set nilai value = II/C jika a bernilai 7
9. Set nilai value = II/D jika a bernilai 8
10.Set nilai value = III/A jika a bernilai 9
11.Set nilai value = III/B jika a bernilai 10
12.Set nilai value = III/C jika a bernilai 11
13.Set nilai value = III/D jika a bernilai 12
14.Set nilai value = IV/A jika a bernilai 13
15.Set nilai value = IV/B jika a bernilai 14
16.Set nilai value = IV/C jika a bernilai 15
17.Set nilai value = IV/D jika a bernilai 16
18.Set nilai value = IV/E jika a bernilai 17
19.Jika nilai a tidak cocok dengan semua case yang ada set default : Masukan anda salah
20.Kembalikan nilai value2 (return value)
6. a. Nama Method : kon_usia(double usia)
b. Fungsi Method :
c. Algoritma Method :
1. Jika usia kurang dari 25 maka kembalikan nilai U1
2. Jika usia lebih dari atau sama dengan 25 dan usia kurang dari 30 maka kembalikan nilai U2 3.Jika usia lebih dari atau sama dengan 30 dan usia kurang dari 35 makan kembalikan nilai U3
3. Jika usia lebih dari atau sama dengan 35 dan usia kurang dari 40 maka kembalikan nilai U4
4. Jika usia lebih dari atau sama dengan 40 dan usia kurang dari 45 maka kembalikan nilai U5
5. Jika usia lebih dari atau sama dengan 45 dan usia kurang dari 50 maka kembalikan nilai U6
6. Jika usia lebih dari atau sama dengan 50 dan usia kurang dari 55 maka kembalikan nilai U7
7. Jika usia lebih dari atau sama dengan 55 maka kembalikan nilai U8
3.4.8.4 Kelas Itemset
1. a. Nama Method : getElements()
b. Fungsi Method :
c. Algoritma Method :
1. Inisialisasi i=0.
2. Selama i < elements.length, masukkan elements[i] ke dalam ArrayList result.
2. a. Nama Method : similarTo(Itemset)
b. Fungsi Method :
Untuk membandingkan apakah itemset pertama sama dengan itemset kedua.
c. Algoritma Method :
1. Jika elements.length =1 maka kembalikan nilai element yang hanya ada 1 dan tidak mempunyai duplikasi.
2. Looping selama i=0 hingga i kurang dari element.length. Jika elements[i] tidak sama dengan item.element[i] maka kembalikan nilai false (return false).
3. Kembalikan nilai element yang tidak sama dengan element yang lainnya.
3. a. Nama Method : join(Itemset)
b. Fungsi Method :
c. Algoritma Method :
1. Inisialisasi i = 0 , looping selama i kurang dari element.length.
2. Masukkan elements baru ke dalam ArrayList yang baru. Lakukan langkah 1 dan 2 hingga tidak ada lagi
elements yang akan dibandingkan.
4. a. Nama Method : hitungDesimal(double number)
b. Fungsi Method :
Mengubah nilai ke dalam bentuk desimal 2 angka di belakang koma.
c. Algoritma Method :
1.Inisialisasi i = number dikalikan 100.0 2. Ubah isi number menjadi i dibagi 100.0 3. Kembalikan nilai number
5. a. Nama Method : getSub_Set(int s)
b. Fungsi Method :
Menjalankan method getSubSet yang ada di kelas Itemset.java.
c. Algoritma Method :
6. a. Nama Method : getSubse(int s, int size)
b. Fungsi Method :
Membaca semua subset dari kombinasi yang telah di hasilkan (frequent k-itemset)
c. Algoritma Method :
1. Buat ArrayList dengan nama subSet untuk menyimpan semua subset yang terbentuk. 2. Jika s lebih dari atau sams dengan 1 maka 3. Looping selama nilai i = 0 sampai dengan i <
size
4. Buat ArrayList dengan nama item
5. Masukkan element[i] ke dalam ArrayList item 6. ArrayList subSet diisi dengan item.
7. Inisialisasi ArrayList subSubSet = getSubset(s, i)
8. Looping selama j = 0 sampai dengan j < subSubSet.size()
9. Inisialisasi ArrayList item2 = subSubSet.get(j) 10.Isi ArrayList item2 dengan element[i]
11.Isi ArrayList subSet dengan semua hasil subSubSet
3.4.9 Diagram Sekuensial
3.4.9.1 Diagran Sekuensial Input Data
Gambar 3.10 Diagram Sekuensial Input Data
3.4.9.2 Diagram Sekuensial Transformasi Data
<<boundary>> TransformasiData
TransformasiNilai (data,stdev,mean)
Menampilkan data sertifikasi guru hasil transformasi
<<controller>> Browse
Tekan tombol tranformasi
Gambar 3.12 Diagram Sekuensial Transformasi Data Golongan
Gambar 3.14 Diagram Sekuensial Transformasi Data Jenis Kelamin
3.4.9.3 Diagram Sekuensial Lihat Hasil
3.4.9.4 Diagram Sekuensial Simpan Hasil
Gambar 3.17 Diagram Sekuensial Simpan Data
3.5 Perancangan Antarmuka Pengguna
3.5.1 Halaman Utama
Gambar 3.18 Halaman Utama
Caption
APRIORI
HELP EXIT
3.5.2 Halaman Masukkan Data
Gambar 3.19 Halaman Masukan Data dan Proses Transformasi
3.5.3 Halaman Hasil Apriori
Gambar 3.20 Halaman Hasil Apriori
3.5.4 Halaman JFileChooser
BAB IV
IMPLEMENTASI SISTEM
4.1 Implementasi Antar Muka
4.1.1 Halaman Utama
Gambar halaman utama di bawah ini merupakan form yang ditampilkan oleh sistem ketika pengguna mulai menjalakan sistem ini. Pada tampilan halaman utama terdapat 3 tomnol yaitu tombol START, HELP, dan EXIT. Selanjutnya pengguna akan menekan tombol START untuk memulai proses pengolahan data. Jika pengguna belum terlalu mengerti tentang sistem ini maka pengguna dapat menekan tombol HELP untuk membaca bantuan penggunaan sistem ini. Jika pengguna ingin keluar sistem, pengguna dapat menekan tombol EXIT.
4.1.2 Halaman Masukan Data
Gambar 4.2 Halaman Masukan Data(1)
Gambar 4.3 Halaman JFileChooser