RULE EXTRACTION CLASSIFICATION MENGGUNAKAN JARINGAN SYARAF TIRUAN PADA DATA MINING Amroni, S.Kom, M.Kom email: [email protected] Abstrak Klasifikasi merupakan salah satu bagian dalam data mining yang memprediksikan tiaptiap record data ke dalam kelas-kelas tertentu berdasarkan pola data, karena itu klasifikasi termasuk pembelajaran yang terawasi. Namun dikarenakan jumlah data yang ada sekarang ini bervolume besar, data mining kesulitan untuk mendapatkan pengetahuan atau pola dari data tersebut. Biasanya pola yang didapat memiliki tingkat akurasi prediksi yang kurang bagus, dan hal ini sangat merugikan dalam proses prediksi klasifikasi data mining selanjutnya. Jaringan Syaraf Tiruan (JST) merupakan salah satu bagian dari kecerdasan buatan yang memiliki keandalan dalam melakukan pembelajaran, ada dua pembelajaran yaitu terawasi dan tidak terawasi. JST memiliki keakuratan yang tinggi dalam melakukan prediksi berdasarkan pembelajaran yang dilakukan. Akan tetapi JST sekarang ini hanya dapat memberikan pengetahuan yang bersifat implisit, dikarenakan pengetahuan pembelajaran disimpan dalam bobot-bobot keterhubungan antar node. Adapun tujuan dilakukanya penelitian tugas akhir ini adalah mendapatkan pola klasifikasi pada data mining menggunakan jaringan syaraf tiruan yang eksplisit dari data latih yang diberikan, sehingga mudah dimengerti dalam bahasa manusia. Gambaran secara umum dari penelitian Tugas Akhir ini adalah membangun metode ekstraksi dari Jaringan Syaraf tiruan(JST) yang diterapkan pada klasifikasi data mining dimana keluarannya berupa pola. Secara umum, jaringan syaraf tiruan mampu memberikan tingkat keakuratan prediksi yang relative tinggi. Namun begitu, JST cukup sulit dimengerti karena tidak secara eksplisit memberikan pola atau aturan (rules) dalam bahasa manusia yang dapat dimengerti. Ekstraksi pola klasifikasi menggunakan JST pada Data mining merupakan salah satu jawaban atas permasalahan itu. Kata kunci : data mining, decision tree, Rule Extraction menggunakan JST 1. PENDAHULUAN 1.1 Latar Belakang Klasifikasi merupakan salah satu bagian dalam data mining yang memprediksikan tiap-tiap record data ke dalam kelas-kelas tertentu berdasarkan pola data, karena itu klasifikasi termasuk pembelajaran yang terawasi. Namun dikarenakan jumlah data yang ada sekarang ini bervolume besar, data mining kesulitan untuk mendapatkan pengetahuan atau pola dari data tersebut. Biasanya pola yang didapat memiliki tingkat akurasi prediksi yang kurang bagus, dan hal ini sangat merugikan dalam proses prediksi klasifikasi data mining selanjutnya.[1] Jaringan Syaraf Tiruan (JST) merupakan salah satu bagian dari kecerdasan buatan yang memiliki keandalan dalam melakukan pembelajaran, ada dua pembelajaran yaitu terawasi ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 1 dan tidak terawasi. JST memiliki keakuratan yang tinggi dalam melakukan prediksi berdasarkan pembelajaran yang dilakukan. Akan tetapi JST sekarang ini hanya dapat memberikan pengetahuan yang bersifat implisit, dikarenakan pengetahuan pembelajaran disimpan dalam bobot-bobot keterhubungan antar node. Adapun tujuan dilakukanya penelitian tugas akhir ini adalah Mendapatkan pola klasifikasi pada data mining menggunakan jaringan syaraf tiruan yang eksplisit dari data latih yang diberikan, sehingga mudah dimengerti dalam bahasa manusia. Gambaran secara umum dari penelitian Tugas Akhir ini adalah membangun metode ekstraksi dari Jaringan Syaraf tiruan(JST) yang diterapkan pada klasifikasi data mining dimana keluarannya berupa pola. Secara umum, jaringan syaraf tiruan mampu memberikan tingkat keakuratan prediksi yang relative tinggi. Namun begitu, JST cukup sulit dimengerti karena tidak secara eksplisit memberikan pola atau aturan (rules) dalam bahasa manusia yang dapat dimengerti. Ekstraksi pola klasifikasi menggunakan JST pada Data mining merupakan salah satu jawaban atas permasalahan itu. 1.2 Perumusan Masalah Dari Penjelasan di atas maka dapat dirumuskan permasalahan pokok diantaranya adalah : 1. JST biasanya berupa sebuah layer-layer grafik, dimana keluaran dari satu node merupakan masukan bagi node selanjutnya. Pola klasifikasi yang didapat dengan menggunakan JST biasanya berada di dalam struktur grafik dan juga bobot dari JST sendiri atau hanya berupa sebuah ‘black box’ saja. Sehingga pola klasifikasi sulit untuk dimengerti oleh manusia. 2. Query pada Database Management System memberikan akses terhadap data yang disimpan, namun memiliki keterbatasan untuk menggali informasi lain seperti bagaimana melakukan prediksi berdasarkan data yang ada. 1.3 Tujuan Berdasarkan pada masalah yang telah didefinisikan di atas, maka tujuan Tugas Akhir ini adalah Mendapatkan pola klasifikasi pada data mining menggunakan jaringan syaraf tiruan yang eksplisit dari data latih yang diberikan, sehingga mudah dimengerti dalam bahasa manusia. 1.4 Batasan Masalah Dalam Tugas Akhir ini, yang akan dibahas adalah suatu implementasi Rule Extraction menggunakan Jaringan Syaraf Tiruan dengan batasan masalahnya sebagai berikut : 1.Basis Data yang akan dijadikan kajian hanya pada data bertipe record yang telah terbagi menjadi 2 kelompok, yaitu data latih dan data uji. 2.Jumlah Hidden Layer, 1 layer 3.Tidak menangani data pre-processing 4.Fungsi Aktivasi menggunakan fungsi sigmoid 5.Data input telah terdiskretisasi. 2. LANDASAN TEORI 2.1. Knowledge Discovery in Database(KDD) Processes ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 2 Proses KDD adalah proses yang kompleks untuk mengidentifikasi validitas, pola yang baru, pola yang berguna dan pada akhirnya pola yang dapat dipahami dalam data. Langkah-langkah yang terdapat dalam proses KDD adalah sebagai berikut : 1.Pembersihan data (membuang noise dan data yang tidak konsisten). 2.Integrasi data (Penggabungan data dari beberapa sumber). 3.Seleksi data (memilih data yang relevan yang akan digunakan untuk analisa) 4.Transformasi data (data diubah dalam bentuk yang sesuai) 5.Data mining 6.Evaluasi pola 7.Presentasi pengetahuan dengan teknik visualisasi Data Mining Pengertian Data Mining Data mining adalah proses ‘penambangan data’ dari sekumpulan data yang besar untuk mencari pengetahuan yang tersimpan [2,3]. Fungsionalitas Data Mining Suatu sistem data mining bisa menjalankan lebih dari satu fungsi sebagai berikut [2,3] : 1. Deskripsi konsep/kelas Data dapat diasosiasikan dengan kelas atau konsep. Misalnya, pada sebuah toko komputer adalah monitor dan keyboard, dengan konsep pelanggannya bigSpenders (pembelian dalam jumlah besar) dan budgetSpender(pembelian yang teranggarkan). Dengan demikian deskripsi konsep/kelas memberikan ringkasan yang jelas dan tepat dari sekumpulan data. Deskripsi ini diperoleh melalui : (1) karakteristik data yaitu menentukan, atau (2) diskriminasi data yaitu membandingkan serta menganalisa perbedaan antar kelas, atau (3) kedua-duanya. 2. Analisa Asosiasi Analisa asosiasi adalah penemuan aturan asosiasi yang didapat dari frekuensi suatu atribut pada sekumpulan data. Analisa asosiasi biasanya digunakan untuk market basket atau analisa data transaksi. 3. Klasifikasi dan prediksi Klasifikasi merupakan proses pencarian sekumpulan model (atau fungsi) yang menggambarkan dan membedakan kelas atau konsep data dengan maksud menggunakan model tersebut sebagai prediksi terhadap kelas atau objek dimana label kelas tersebut tidak ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 3 diketahui. Sedangkan prediksi sama halnya seperti klasifikasi hanya saja label yang ingin diketahui bertipe continues. Beberapa metode klasifikasi pada data mining yang biasa digunakan adalah : decision tree, bayesain, neural networks (yang digunakan dalam tugas akhir ini) , k-nearest neighbour, dan lain-lain. 4. Analisa Cluster Seperti halnya klasifikasi dan prediksi yang menganalisa label kelas dari objek data, analisa clustering objek data tidak menggunakan label kelas yang telah diketahui. Analisa cluster digunakan untuk mengidentifikasi clusters (kumpulan objek data yang mirip satu sama lain) 5. Analisa Outlier Sebuah basis data mungkin saja mengandung objek data yang tidak mengikuti perilaku umum atau model data. Model data itu disebut outliers. Kebanyakan metode data mining membuang outliers sebagai noise atau pengecualiannya. 6. Analisa Evolusi Merupakan suatu analisa untuk mengetahui trend dan deviasi, sequential pattern mining, analisa periodesitas, dan analisa similarity-based. 2.3 Jaringan Syaraf Tiruan (JST) Jaringan Syaraf Tiruan adalah sistem komputasi dimana arsitektur dan operasi diilhami dari pengetahuan tentang sel syaraf biologi di dalam otak. JST dapat digambarkan sebagai model matematis dan komputasi untuk fungsi aproksimasi nonlinier, klasifikasi data, cluster dan regresi non parametrik atau sebagai sebuah simulasi dari koleksi model syaraf biologi[4,5]. JST menyerupai otak manusia dalam 2 hal, yaitu[5] : 1. Pengetahuan diperoleh jaringan melalui proses belajar 2. Kekuatan hubungan antar sel syaraf (neuron) yang dikenal sebagai bobot-bobot sinaptik digunakan untuk menyimpan pengetahuan. JST mempunyai sifat dan kemampuan : 1. Nonlinearitas (Nonlinearity) 2. Pemetaan input-output (input-output mapping) 3. Adaptivitas (Adaptivity) 4. Respon yang jelas (Evidential response) 5. Informasi yang sesuai keadaan (Contextual Information) 6. Toleransi kesalahan (fault tolerance) 7. Kemampuan implementasi pada VLSI (VLSI Implementability) 8. Keseragaman analisis dan perancangan (Uniformity of Analysis and Design) 9. Analogi sel syaraf biologi (Neurobiological Analogy) JST adalah jaringan yang keterhubungannya padat dari elemen komputasi yang sederhana yaitu neurons. Terdapat beragam topologi jaringan yang berbeda.[1]. Diantaranya, multilayer perceptron biasanya digunakan untuk mengimplementasikan fungsi klasifikasi. ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 4 Gambar 2.2 : JST feedforward 3 layer Gambar 2.2 menampilkan jaringan feedforward 3 layer, yang meliputi sebuah layer input , sebuah layer hidden, dan sebuah layer output. Sebuah node(neuron) pada jaringan memiliki sejumlah input dan sebuah output.sebagai contoh, misal sebuah neuron, Hj pada layer hidden memiliki xi1, xi2,.., xin sebagai input dan aj sebagai output-nya. Link input Hj memiliki bobot wj1,wj2,..,wjn. Node menghitung activation value, sebagai output dengan menjumlahkan bobot-bobot input , substrac threshold, dan memasukkan hasilnya kedalam sebuah fungsi non-linier,f(fungsi aktivasi). Output dari neuron di sebuah layer merupakan masukan bagi neuron di layer berikutnya. Dalam hal ini, jika sebuah input tuple digunakan pada layer input, maka output tuple didapat dari layer output. Untuk sebuah jaringan yang merepresentasikan fungsi klasifikasi, jika tuple (x1,x2,..,xn) digunakan pada layer input jaringan, maka output tuple (c1,c2,..,cm) harus didapatkan, dimana ci memiliki nilai 1 jika input tuple merujuk kepada kelas ci dan nilai 0 bila selainnya. Network Training [1]Tujuan training jaringan adalah untuk mencari sekumpulan bobot pada jaringan yang mampu untuk mengklasifikasikan input tuple sesuai dengan kelasnya pada batas akurasi tertentu (MSE). Sekumpulan bobot diinisialisasi secara acak pada interval [0,1]. Perubahan bobot secara normal dilakukan dengan menggunakan informasi yang meliputi threshold(MSE) dari fungsi error. Training berhenti saat nilai threshold(MSE) dari fungsi error ini berada dibawah nilai yang ditentukan. Misalkan sebuah input tuple pada sebuah bentuk n-dimensi akan diklasifikasikan kedalam 3 kelas; A, B, C. Jumlah node pada layer input berkoresponden dengan dimensi (total diskrit) dari input tuple. Jumlah node pada layer output sebanding dengan jumlah kelas yang diklasifikasikan, dimana pada kasus ini, 3. Jaringan dilatih dengan nilai target {1,0,0} untuk pola kelas A, {0,1,0} untuk pola kelas B, {0,0,1} untuk pola kelas C. Sebuah input tuple akan diklasifikasikan masuk ke dalam kelas A,B, atau C jika nilai aktivasi terbesar di dapat oleh node pertama, kedua atau ketiga. Untuk proses training kami menggunakan algoritma Backpropagation. 2.3.1.1 Algoritma Backpropagation Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil) ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 5 Kerjakan langkah-langkah berikut selama kondisi berhenti bernilai FALSE : 1. Untuk tiap-tiap pasangan elemen yang kan dilakukan pembelajaran, kerjakan : Feedforward : a. Tiap-tiap unit input (Xi,, i=1,2,3,..,n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya (lapisan tersembunyi) b. Tiap-tiap unit tersembunyi(Zi , j=1,2,3,..,p) menjumlahkan sinyal-sinyal input terbobot : n z_inj = v0j + i 1 xi vij gunakan fungsi aktivasi untuk menghitung sinyal outputnya : zj = f(z_inj) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output) c. Tiap-tiap unit output (Yk, k=1,2,3,..,m) menjumlahkan sinyal-sinyal input terbobot. p y_ink = w 0k + i 1 zi wjk gunakan fungsi aktivasi untuk menghitung sinyal outputnya : yk = f(y_ink) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output) tiap-tiap unit output hitung : Backpropagation d. Tiap-tiap unit output (Yk, k=1,2,3,..,m) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasi errornya : k = (tk-yk) f’(y_ink) kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk) : wjk = k Zj hitung juga koreksibias (yang nantinya akan digunakan untuk memperbaiki nilai w 0k) : w 0k = k kirimkan k ini ke unit-unit yang ada di lapisan bawahnya e. Tiap-tiap unit tersembunyi (Zj, j=1,2,3,..,p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan atasnya) : _inj = m k 1 k wjk kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error : vjk = j xi ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 6 hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai v0j) : v0j = j f. Tiap-tiap unit output (Yk, k=1,2,3,..,m) memperbaiki bias dan bobotnya(j=0,1,2,..,p) : wjk (baru) = wjk (lama) + wjk Tiap-tiap unit tersembunyi (Zj,j=1,2,3,..,p) memperbaiki bias dan bobotnya (i=0,1,2,..,n) : vij(baru) = vij(lama)+ vij 2. Hitung average sum square 3. Tes Kondisi Berhenti 4. Tiap-tiap Bobot Input, Vij buatkan nilai koefisiennya, KVi. Dimana KVi Total dari Bobot Input, Vij sesuai tiap Input node-nya ke sejumlah node pada hidden layer. total _ hidden_ node KVi = | Vij | , j 1 i=1,2,..,total diskrit input j=1,2,..,total hidden node 5. Tiap-tiap Bobot Output, Wij buatkan nilai koefisiennya, KWi. Dimana KWi Total dari Bobot Input, Wij sesuai tiap Input node-nya ke sejumlah node pada hidden layer. total _ hidden _ node KWi = | Wij | , j 1 i=1,2,..,total diskrit jumlaj kelas j=1,2,..,total hidden node 2.3.2 Network Pruning [1]Jaringan yang keterhubungannya secara penuh akan kita dapatkan dari proses training. Biasanya terdapat sejumlah besar link pada jaringan. Dengan n node input, h node hidden, dan m node output, maka terdapat h(m+n) link. Hal ini sangat menyulitkan untuk meng-articulate jaringan tersebut. Tujuan dari fase pruning adalah menghilangkan sejumlah link tanpa mempengaruhi akurasi klasifikasi jaringan secara besar. Pada proses pruning ini kita menggunakan konsep dimana kita dapatkan nilai akurasi terendah mungkin sampai mendapatkan nilai akurasi diatas batas tertentu. Algoritma pruning Jaringan Syaraf Tiruan 1. Tentukan variabel 1 , antara 0-1, biasanya kita gunakan nilai awal = 0.5 2. Uji Jaringan hasil training. Latih jaringan sampai nilai akurasi tertentu didapat dan untuk tiap pola yang terklasifikasi benar memenuhi kondisi satu (1). Dimana (w,v) bobot dari jaringan ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 7 3. Ambil Jaringan Hasil Training. 4. Untuk tiap wml , jika |wml |< 1 maka hilangkan wml dari jaringan 5. Untuk tiap vmp , jika |vmp| < 1 , maka hilangkan vmp dari jaringan. 6. Latih ulang jaringan lagi, turunkan nilai 1. Jika akurasi dari jaringan berada di atas tingkat yang ditentukan, maka berhenti. Selain itu kembali ke langkah ke-3. 2.3.3 Rule Extraction [1]Sejumlah masalah timbul mengenai sulitnya menghasilkan pola dari jaringan yang telah di-pruning. Pertama, meskipun telah di-pruning, link yang ada mungkin masih terlalu banyak untuk mengekspresikan hubungan antara input tuple dan label kelas-nya dalam bentuk pola if..then.. . jika sebuah node memiliki sejumlah n input link dengan nilai binary, maka akan terdapat setidaknya 2n pola berbeda. Pola setidaknya cukup kompleks meskipun dengan input yang relatif sedikit. Kedua, nilai aktivasi dari node hidden dapat memiliki nilai yang tersebar antara [0,1] tergantung dari input tuple. Dengan jumlah data uji yang besar, nilai aktivasi kemungkinan besar bernilai continuous. Hal itu masih menyulitkan untuk menghasilkan hubungan yang eksplisit pada nilai aktivasi antara node hidden dan node pada layer output. Algoritma yang kami gunakan pertama kali akan mendiskritkan nilai aktivasi node hidden tanpa mengorbankan akurasi klasifikasi jaringan. Sekumpulan nilai yang sedikit dari nilai aktivasi yang terdiskretisasi memudahkan untuk menentukan ketergantungan diantara nilai node output dan nilai node hidden, serta ketergantungan diantara nilai aktivasi node hidden dan nilai input. Dengan adanya ketergantungan maka pola akan dengan mudah dihasilkan. 2.3.3.1 Algoritma Rule Extraction 1. Diskretisasi nilai aktivasi menggunakan clustering : (a). Tentukan nilai e (0,1). Misalkan D adalah jumlah nilai aktivasi terdiskretisasi pada node hidden. Misalkan 1 adalah nilai aktivasi pada node hidden untuk pola pertama pada data uji.. Misalkan H(1) = 1 , count(1) = 1, sum(1) = 1 dan D = 1 (b). Untuk seluruh pola i = 2,3,..k pada data uji : Misalkan adalah nilai aktivasi pola. Jika terdapat index j : Isi nilai H dengan rata-rata dari seluruh nilai aktivasi yang telah di-cluster ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 8 Cek akurasi jaringan dengan nilai aktivasi, pada node hidden ganti dengan d , nilai aktivasi dari cluster pada node hidden yang bersesuaian. Jika akurasi berada di bawah nilai/level yang ditentukan turunkan nilai e dan ulangi langkah pertama (a) 2. Enumerasi nilai aktivasi yang terdiskretisasi dan hitung nilai output jaringan. Generate pola yang meng-cover seluruh tuple dari nilai aktivasi pada node hidden ke nilai output 3. Untuk nilai aktivasi node hidden terdiskretisasi yang terdapat di pola pada langkah sebelumnya, enumerasi nilai input yang bersesuaian dan generate pola terbaik. 4. Generate pola yang berelasi dengan nilai input dan nilai output dengan mensubstitusi pola dari hasil yang didapatkan sebelumnya. 3. Analisa dan Perancangan Sistem 3.1 Gambaran Umum Secara umum sistem yang dibangun adalah Ekstraksi Pola Klasifikasi, dimana JST digunakan sebagai alat peng-klasifikasi dari data latih yang diberikan. Analisa yang dilakukan adalah membandingkan pola hasil ekstraksi dengan pola asli, sehingga bisa dilihat sejauh mana tingkat keakuratan dan kesederhanaannya, disamping itu dapat pula dilakukan perbandingan pola menggunakan decision tree, sehingga dapat dilakukan analisa trade-off selanjutnya.. Hipotesa awal menunjukan bahwa pola yang dihasilkan dari JST lebih mendekati pola asli data dibandingkan dengan pola yang didapatkan oleh decision tree, sehingga untuk proses yang membutuhkan hasil yang akurat lebih baik menggunakan JST sebagai alat klasifikasi, sedangkan untuk mendapatkan through put yang tinggi dapat menggunakan decision tree sebagai alat klasifikasi karena membutuhkan waktu proses relatif lebih rendah dibanding menggunakan JST. Alur proses yang terjadi adalah : 1. Membangun Jaringan Syaraf Tiruan 2. Training Jaringan Syaraf Tiruan, untuk mendapatkan bobot 3. Pruning Jaringan Syaraf Tiruan, untuk menurunkan tingkat kompleksitas tanpa menghilangkan akurasi Klasifikasi 4. Rule Extraction dari Jaringan Syaraf Tiruan, dengan melakukan substitusi ke dalam bahasa yang mudah dimengerti manusia 3.2 Analisa Kebutuhan ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 9 Spesifikasi kebutuhan merupakan deskripsi dari apa yang dibutuhkan oleh sistem yang akan dibangun. Telah disebutkan dalam Bab I bahwa tujuan dari Tugas Akhir ini adalah Mendapatkan pola dari JST. Adapun hal-hal yang harus dicapai : 1. Diskretisasi Data, mendapatkan nilai diskrit data latih untuk mempermudah pembangunan arsitektur JST. 2. Training, untuk mendapatkan bobot Jaringan Syaraf Tiruan 3. Pruning, menurunkan kompleksitas Jaringan Syaraf Tiruan 4. Rule Extraction, menghasilkan pola dari Jaringan Syaraf Tiruan Hasil Pruning 3.3 Analisa Perancangan Sistem Dalam Analisa Perancangan Sistem ini akan dibangun sebuah konsep pembentukan pola dari data latih yang diberikan melalui Jaringan Syaraf Tiruan. 3.3.1 Diskretisasi data Seperti yang telah dijelaskan dalam batasan masalah bahwa Data Input telah terdiskretisasi, yang berarti data inputan ke dalam Jaringan Syaraf Tiruan (JST) telah di diskretisasi. Dalam hal ini tidak dijelaskan menggunakan dengan apa metode diskretisasi data input tersebut, yaitu dalam pembentukan konsep sistem ini dapat dilakukan diskretisasi data dapat menggunakan metode apapun. Penulis menyarankan proses diskretisasi data dapat dilakukan menggunakan metode Entropy Based Discretization[2]. Adapun dasar diskretisasi yang dilakukan yaitu melakukan diskrit terhadap data inputan pada JST, yaitu jumlah input node pada JST adalah jumlah total diskrit data pada data latih yang diberikan.Begitu pula dengan jumlah output node pada JST tergantung dari jumlah diskrit dari atribut kelasnya. Untuk jumlah hidden layer adalah 1 dimana tidak dibatasi berapa jumlah hidden nodenya. Untuk nilai input node maupun output node kita menggunakan nilai biner. Sebagai contoh : misalkan kita memiliki 2 nilai diskrit untuk atribut pertama dan 2 nilai diskrit untuk atribut kedua. Maka kita ketahui bahwa akan terdapat 4 input node, dimana selanjutnya untuk input node pertama merupakan inputan dari nilai diskrit pertama dari atribut pertama data tersebut, dan seterusnya sama untuk nilai diskrit dan input node yang sesuainya. Tabel 3.1 diskretisasi input node Atribut pertama a b Atribut Kedua c d Class x y ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 10 Input Pertama bernilai 1 jika atribut pertama bernilai ‘a’, bernilai 0 jika selainnya Input Kedua bernilai 1 jika atribut pertama bernilai ‘b’, bernilai 0 jika selainnya Input Ketiga bernilai 1 jika atribut pertama bernilai ‘c’, bernilai 0 jika selainnya Input Keempat bernilai 1 jika atribut pertama bernilai ‘d’, bernilai 0 jika selainnya Output Pertama bernilai 1 jika atribut pertama bernilai ‘x’, bernilai 0 jika selainnya Output Kedua bernilai 1 jika atribut pertama bernilai ‘y’, bernilai 0 jika selainnya Contoh 1 : Tabel 3.2 Klasifikasi kasus OR dalam kasus diatas kita ketahui bahwa pola yang dapat kita lihat secara manual adalah If X1=0 and X2=0 then Class=0 Else Class=1 Untuk kasus yang memiliki data yang relatif sedikit kita memang masih mampu untuk menganalisa pola yang ada secara manual. Namun bagaimana untuk data yang ratusan ataupun bahkan jutaan record. Dalam penelitian kali ini akan kita bangun konsep ekstraksi pola tersebut menggunakan JST. Langkah awal adalah seperti yang dijelaskan pada bagian 3.3.1 yaitu diskretisasi data. Adapun Jumlah input node pada JST adalah total jumlah diskrit data pada data latih yang diberikan. Pada contoh 1 ini kita dapat ditentukan untuk jumlah input node JST, yaitu : diskrit data dari atribut pertama X1 adalah 2 yaitu 0 dan 1 diskrit data dari atribut pertama X2 adalah 2 yaitu 0 dan 1 jadi jumlah input node untuk JST yang akan kita bangun 2+2=4 sedangkan untuk jumlah output node dapat kita tentukan sama seperti input node, akan tetapi ia hanya bergantung pada diskrit atribut kelas dari data latihnya saja, dalam hal ini adalah : diskrit data pada atribut kelasnya yaitu Class adalah 2 ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 11 jadi jumlah output node untuk JST ini adalah 2 Seperti yang telah disebutkan sebelumnya bahwa untuk jumlah hidden layer adalah 1 sedangkan jumlah nodenya dapat sembarang saja, misalkan dalam hal ini kita tentukan 4. Hal ini dapat kita lihat melalui ilustrasi dari gambar berikut : Gambar 3.2 Arsitektur JST data OR Untuk bobot yang menghubungkan tiap node kita tentukan symbol sebagai berikut: 1. link yang menghubungkan antara input node 1 I[1] dengan hidden node 1 H[1] kita namakan v[1][1] sehingga secara umum link yang menghubungkan antara input node dengan hidden node adalah v[i][j], i = 1,2,..n, n = banyak input node, j = 1,2,..m, m = banyak hidden node 2. link yang menghubungkan antara hidden node 1 H[1] dengan Output node 1 O[1] kita namakan w[1][1] sehingga secara umum link yang menghubungkan antara hidden node dengan output node adalah w[j][k], j= 1,2,..m, m = banyak hidden node, k = 1,2,..p, p = banyak output node 3.3.2 Training JST Tahap selanjutnya adalah proses Latih Jaringan atau lebih dikenal dengan istilah Training JST, dimana dalam tahap ini bertujuan untuk mendapatkan bobot yang optimal pada arsitektur yang kompak atau Fully Connected. Langkah – langkah training adalah sebagai berikut 1. Inisialisasi bobot awal dari tiap link atau jalur yang menghubungkan dari tiap node seperti dari I[1] ke H[1], I[2] ke H[1] dan seterusnya. Bobot awal kita dapatkan secara random atau acak. Hal ini dapat dilakukan dengan menggunakan dengan metode acak apapun, akan tetapi range atau jangkah yang diberikan adalah random antara -0.5 sampai 0.5. 2. Untuk proses Latih JST sendiri telah disebutkan pada Bab II Landasan teori yaitu menggunakan Algoritma Propagasi Balik. Sehingga didapatkan bobot yang maksimal. Dalam hal ini Epoh dilakukan maksimal 1000 Epoh, sedangkan MSE ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 12 atau kesalahan toleransi yang diperbolehkan adalah lebih kecil dari 0,001b untuk batas berhentinya latih JST tersebut. 3. Untuk contoh 1 tersebut diatas dapat kita lihat melalui ilustrasi berikut Inisialisasi bobot 1. Bobot input node ke hidden node Tabel 3.3 bobot input node ke hidden node (v) kasus klasifikasi OR v 1 2 3 4 1 -4.976 0.959 -3.419 -1.521 2 3.968 -4.951 3.907 -4.282 3 -2.861 -1.951 1.429 2.926 4 -2.825 3.693 3.847 -3.359 v [i][j] : bobot input ke hidden i = 1..n, n = banyak input node j = 1..m, m = banyak hidden node 2. Bobot hidden node ke output node Tabel 3.4 bobot hidden node ke output node (w) kasus klasifikasi OR w 1 2 1 3.113 -3.291 2 3.442 3.941 3 4.394 1.211 4 1.956 4.167 w [j][k] : bobot hidden ke output j = 1..m, m = banyak hidden node k = 1..p, p = banyak output node Bobot Hasil Latih menggunakan Algoritma Propagasi Balik 1. Bobot input node ke hidden node Tabel 3.5 bobot input node ke hidden node (v) kasus klasifikasi OR hasil training v 1 2 3 4 1 0.219935468654 -0.23386508203 0.2640613263 -0.18618 2 -0.3105658119 0.31157400599 -0.3268058373 0.33443672675 3 -0.3183281134 0.33827925946 -0.2729880922 0.3822478516 4 -0.1511706059 0.1162816524 -0.1361447440 0.0971255405 v [i][j] : bobot input ke hidden i = 1..n, n = banyak input node j = 1..m, m = banyak hidden node 2. Bobot Hidden node ke Output node ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 13 Tabel 3.6 bobot hidden node ke output node (w) kasus klasifikasi OR hasil training w 1 2 1 0.271782975887161 -0.276761 2 -0.2966418163542 0.336611233690945 3 -0.3340814467522 0.32742906345636 4 -0.09749376100626 0.0591981918944736 w [k][j] : bobot hidden ke output j = 1..m, m = banyak hidden node k = 1..p, p = banyak output node MSE atau tingkat error JST : 0.00026080366991521 Epoh : 1000 3.3.3 Pruning JST Pruning JST adalah pemotongan link atau jalur keterhubungan antar node di JST yang dianggap relatif kurang berarti, dalam arti pada proses ini kita akan membuang linklink mana saja yang tidak memenuhi batas tertentu. Pada penelitian ini kita mulai threshold = 1, dengan nilai pengurangan 0.01, jika nilai bobot berada dibawah nilai threshold maka dihilangkan bobot tersebut dengan melakukan penghitungan akurasi JST, jika akurasi JST berada di bawah nilai akurasi yang telah ditentukan maka kita lakukan penurunan nilai threshold dengan nilai pengurangannya dalam hal ini yaitu 0.01, sampai pada akhirnya kita dapatkan nilai minimal atau lebih akurasi JST yang ditentukan. Untuk melihat daftar ketentuan nilai pengurangan dapat dilihat pada lampiran D grafik pemilihan nilai pengurangan threshold pruning. Melalui pruning ini diharapkan JST yang memiliki keterhubungan yang kompak atau Fully Connected tersebut dapat diturunkan kompleksitasnya secara signifikan tanpa mempengaruhi akurasi keseluruhan JST secara signifikan pula. Jadi disini kita mencari titik optimal diantara keduanya, yaitu sampai sejauh mana tingkat penurunan kompleksitas yang relative bagus dengan keakuratan JST dimana dalam penelitian ini nilai akurasi JST adalah minimal 85 persen. Untuk algoritma pruning JST ini sendiri dapat kita lihat pada Bab II Landasan Teori. Untuk implementasinya dapat kita gunakan contoh 1 diatas, kita set nilai ambang = 1. dan hasil yang kita dapatkan adalah sebagai berikut : Nilai akurasi JST diatas 85% yaitu 100% Kompleksitas turun dari 100% menjadi 33,33%, turun sekitar 60% lebih Untuk lebih jelasnya kita lihat ilustrasi gambar berikut ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 14 Gambar 3.3 JST hasil pruning kasus OR untuk menghitung nilai kompleksitas adalah jumlah link yang ada dibagi dengan penjumlahan antara total input dengan total output dikalikan dengan jumlah hidden node misalkan i = total input, h = total hidden, o = total output kompleksitas sebelum di pruning = (24 / ((i+j) x h) ) x 100% = 100% kompleksitas setelah di pruning = (8 / ((i+j) x h) ) x 100% = 33,33% 3.3.4 Ekstraksi Pola Tahap ini adalah proses pengambilan pola dari JST hasil pruning. Akan tetapi kita masih kesulitan untuk mengekstrak pola dikarenakan nilai aktivasi yang sangat banyak tergantung dari jumlah record yang ada. Oleh karena itu kita perlu untuk mengumpulkan nilai aktivasi tersebut terbagi dalam kelompok-kelompok atau cluster. Untuk proses clustering tidak ditentukan algoritma mana yang akan digunakan, namun pada Bab II telah penulis sertakan sebuah algoritma clustering untuk mengelompokkan nilai aktivasi tersebut. Sebagai contoh kita akan menggunakan contoh 1 untuk mengilustrasikan pengembangan konsep ini. Berikut hasil clustering untuk nilai aktivasi contoh 1 untuk kasus klasifikasi OR ini : Nilai Aktivasi Hidden ke [2], Jumlah Cluster : 2 Cluster ke[1] : 0.32164352652196, cluster ke-1 : 0.32164352652196, Jumlah :2 Cluster ke[2] : 0.975862423219444, cluster ke-1 : 0.975862423219444, Jumlah :2 Nilai Aktivasi Hidden ke [3], Jumlah Cluster : 2 Cluster ke[1] : 0.944553039471549, cluster ke-1 : 0.966471676157058, Jumlah :3 Cluster ke[2] : 0.249402643725509, cluster ke-1 : 0.249402643725509, Jumlah :1 Disini kita lihat, sesuai dengan JST hasil pruning hidden node yang tersisa adalah H[2] dan H[3]. Dari hasil clustering diatas maka selanjutnya kita dapat melakukan proses ketergantungan antara hidden node dengan output node. Hal yang kita lakukan adalah : Melakukan kombinasi dari hasil clustering tersebut, kemudian kita hitung nilai output JST dari hasil penghitungan sesuai dengan JST yang tersedia. Berikut hasil nya : ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 15 Kombinasi ke-1 : z[2] : 0.32164352652196 z[3] : 0.944553039471549 Output [1] : 0.126552632761275 Output [2] : 0.953887883266552 Class 1 Kombinasi ke-2 : z[2] : 0.32164352652196 z[3] : 0.249402643725509 Output [1] : 0.666352839246881 Output [2] : 0.625541592562752 Class 0 Kombinasi ke-3 : z[2] : 0.975862423219444 z[3] : 0.944553039471549 Output [1] : 0.126552632761275 Output [2] : 0.995781504436528 Class 1 Kombinasi ke-4 : z[2] : 0.975862423219444 z[3] : 0.249402643725509 Output [1] : 0.666352839246881 Output [2] : 0.950155428884562 Class 1 Berikut daftar Ketergantungan antara hidden node dengan output node : Class 0 ditentukan oleh : kombinasi ke-->2 z[2] : 0.32164352652196 z[3] : 0.249402643725509 Jumlah kombinasi : 1 Class 1 ditentukan oleh : kombinasi ke-->1 z[2] : 0.32164352652196 z[3] : 0.944553039471549 kombinasi ke-->3 z[2] : 0.975862423219444 z[3] : 0.944553039471549 kombinasi ke-->4 z[2] : 0.975862423219444 z[3] : 0.249402643725509 Jumlah kombinasi : 3 ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 16 Setelah itu kita mencari nilai-nilai Ketergantungan antara input node dengan hidden node, yaitu kita lakukan proses mapping atau pemetaan nilai input terhadap nilai aktivasi pada hidden node, seperti berikut ini : Input[1] : 0 Input[2] : 1 Input[3] : 1 Input[4] : 0 Menghasilkan : 0.32164352652196 0.944553039471549 Input[1] : 1 Input[2] : 0 Input[3] : 1 Input[4] : 0 Menghasilkan : 0.32164352652196 0.249402643725509 Input[1] : 1 Input[2] : 0 Input[3] : 0 Input[4] : 1 Menghasilkan : 0.975862423219444 0.944553039471549 Input[1] : 0 Input[2] : 1 Input[3] : 0 Input[4] : 1 Menghasilkan : 0.975862423219444 0.944553039471549 Setelah itu baru kita lakukan mapping Ketergantungan antara input dengan output dari hasil Ketergantungan antara hidden dengan output dengan Ketergantungan antara input dengan hidden diatas, yaitu sebagai berikut : Input[1] : 0 Input[2] : 1 Input[3] : 1 Input[4] : 0 Menghasilkan : Class 1 Input[1] : 1 Input[2] : 0 ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 17 Input[3] : 1 Input[4] : 0 Menghasilkan : Class 0 Input[1] : 1 Input[2] : 0 Input[3] : 0 Input[4] : 1 Menghasilkan : Class 1 Input[1] : 0 Input[2] : 1 Input[3] : 0 Input[4] : 1 Menghasilkan : Class 1 Hal terakhir yang kita lakukan adalah melakukan proses translasi hasil dari Ketergantungan antara input dengan output kedalam bentuk if..then untuk tiap kelasnya. Dan hasil yang kita dapat adalah sebagai berikut : Pemetaan atribut : X1 = 0 Input[1] = 1 X1 = 1 Input[2] = 1 X2 = 0 Input[3] =1 X2 = 1 Input[4] = 1 Class 0 ditentukan oleh : IF ( x1 = 0 And x2 = 0 ) Class 1 ditentukan oleh : IF ( x1 = 1 And x2 = 0 ) or ( x1 = 0 And x2 = 1 ) or ( x1 = 1 And x2 = 1 ) Pada contoh 1 kita ketahui bahwa terdapat 2 kelas yaitu kelas 0 dan 1 . 3.4 Spesifikasi Perangkat Lunak dan Perangkat Keras Berikut merupakan daftar spesifikasi perangkat lunak yang digunakan dalam pembangunan sistem 1. Borland Delphi 7.0 2. Sistem Operasi : Microsoft Windows XP Professional ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 18 3. 4. 5. 6. 7. DBMS Oracle 10g Sedangkan spesifikasi perangkat keras yang digunakan adalah : Processor : Pentium 4 2.0 Ghz Memori : 512MB untuk Windows XP Profesional Harddisk : 2 Gb untuk instalasi System (Delphi, Oracle), 1.2 Gb untuk Sistem Operasi pada drive sistem 8. Display Super VGA (1024x768) atau yang lebih tinggi dengan 256 warna 3.5 Diagram Aliran Data (DAD) Diagram Aliran Data (DAD) merupakan salah satu alat bantu pemodelan yang cukup penting saat ini. Dengannya dapat digambarkan aliran data dari sebuah system yang akan dibuat, menerangkan sumber serta tujuan data-data yang terkait dengannya, proses pengolahan data tersebut, hingga tempat penyimpanannya. Berikut ini beberapa simbol yang umum digunakan beserta artinya : Simbol Tabel 3.7 Notasi DAD Arti Proses Subjek/Objek (Entitas luar) yang berinteraksi dengan proses Tempat penyimpanan data (basis data) Arah aliran data Diagram Aliran Data selanjutnya dapat dilihat pada Lampiran A 3.6 Spesifikasi Proses Spesifikasi proses merupakan penjelasan dari masing-masing proses yang terdapat pada sistem,selanjutnya dapat dilihat pada lampiran B. 3.7 Kamus Data Kamus data merupakan suatu daftar yang mendefinisikan semua elemen data yang terlibat dalam sistem. Kamus data merupakan spesifikasi lebih rinci dari data yang terlibat dalam aliran informasi. Kamus data pada sistem di atas dapat dilihat pada Lampiran C. 3.8 ER Diagram Keberadaan basis data menjadi salah satu pendukung berdayagunanya representasi pengetahuan (aturan) didalam mencari sebuah solusi. Adapun model perancangan yang digunakan ialah beraliran terstruktur, yaitu menggunakan E-R (EntityRelationship) diagram, sebagai berikut : ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 19 4 Evaluasi Hasil 4.1 Metode Uji Coba Sistem Pada Bab ini dilakukan pengujian dengan melihat perilaku Arsitektur Jaringan serta pola yang dihasilkan dari setiap data set yang diberikan. Untuk lebih jelasnya dapat dilihat pada bagian 4.3 4.2 Data Uji yang digunakan Dalam melakukan pengujian, data yang digunakan tidak dibatasi pada data tertentu. Jadi dengan kata lain Sistem yang digunakan ini mampu untuk melakukan ekstraksi pola dari data apapun, dimana sebelumnya data tersebut dilakukan proses pre-processing terlebih dahulu. 4.3 Evaluasi Hasil Uji Pola 4.3.1 Menggunakan Data Latih Kontak Lensa (Lampiran E Tabel kontak lensa) 1. Jumlah Record : 10 2. Jumlah Field : 4 3. Total Diskrit Input : 9 4. Total Diskrit Output : 3 5. Hasil Pengujian menggunakan dengan beberapa nilai parameter berbeda 1. Percobaan Pertama Jumlah Hidden Layer : 9 MSE dicapai : 0.00020359540366456 Epoh Dicapai : 1000 Tingkat Akurasi JST : 90% Kompleksitas JST hasil pruning : 22.22% Jumlah Input node hilang : 0 Jumlah Hidden node hilang : 3 Jumlah Output node hilang : 0 Pola Yang dihasilkan : Class 1 ditentukan oleh : IF ( age = 11 And spectacle = 21 And astigmatis = 31 And tear_prod = 41 ) or ( age = 12 And spectacle = 22 And astigmatis = 32 And tear_prod = 41 ) or ( age = 12 And spectacle = 22 And astigmatis = 32 And tear_prod = 42 ) ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 20 or ( age = 12 And spectacle = 22 And astigmatis = 32 And tear_prod = 41 ) or ( age = 11 And spectacle = 22 And astigmatis = 32 And tear_prod = 41 ) Hasil Uji Pola pada basis data : gambar 4.1 hasil uji pola pada data set tabel kontak lensa percobaan pertama kelas = 1 jumlah record untuk kelas=1 : 6 jumlah benar prediksi = 5 Jumlah salah prediksi = 1 Class 2 ditentukan oleh : IF ( age = 11 And spectacle = 22 And astigmatis = 32 And tear_prod = 42 ) or ( age = 11 And spectacle = 21 And astigmatis = 32 And tear_prod = 42 ) or ( age = 13 And spectacle = 22 And astigmatis = 32 And tear_prod = 42 ) Hasil Uji Pola pada basis data : gambar 4.2 hasil uji pola pada data set tabel kontak lensa percobaan pertama kelas = 2 jumlah record untuk kelas=2 : 3 jumlah benar prediksi = 3 ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 21 Jumlah salah prediksi = 0 Class 3 ditentukan oleh : IF ( age = 13 And spectacle = 21 And astigmatis = 31 And tear_prod = 42 ) or ( age = 11 And spectacle = 21 And astigmatis = 31 And tear_prod = 42 ) Hasil Uji Pola pada basis data : gambar 4.3 hasil uji pola pada data set tabel kontak lensa percobaan pertama kelas = 3 jumlah record untuk kelas=2 : 1 jumlah benar prediksi = 1 Jumlah salah prediksi = 1 Akurasi rule : 9 benar, 1 salah, total =10 record 9/10 * 100% = 90% 2. Percobaan Kedua 1. Jumlah Hidden Layer : 9 2. MSE dicapai : 0.00030584018562930 3. Epoh Dicapai : 1000 4. Tingkat Akurasi JST : 100% 5. Kompleksitas JST hasil pruning : 43.3% 6. Jumlah Input node hilang : 0 7. Jumlah Hidden node hilang : 0 8. Jumlah Output node hilang : 0 9. Pola Yang dihasilkan : Class 1 ditentukan oleh : IF ( age = 11 And spectacle = 21 And astigmatis = 31 And tear_prod = 41 ) or ( age = 12 And spectacle = 22 And astigmatis = 32 And tear_prod = 41 ) or ( age = 13 And spectacle = 21 And astigmatis = 31 And tear_prod = 42 ) or ( age = 12 And spectacle = 22 And astigmatis = 32 And tear_prod = 42 ) or ( age = 12 And spectacle = 22 And astigmatis = 32 And tear_prod = 41 ) or ( age = 11 And spectacle = 22 And astigmatis = 32 And tear_prod = 41 ) Class 2 ditentukan oleh : ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 22 IF ( age = 11 And spectacle = 22 And astigmatis = 32 And tear_prod = 42 ) or ( age = 11 And spectacle = 21 And astigmatis = 32 And tear_prod = 42 ) or ( age = 13 And spectacle = 22 And astigmatis = 32 And tear_prod = 42 ) Class-->3 ditentukan oleh : IF ( age = 11 And spectacle = 21 And astigmatis = 31 And tear_prod = 42 ) akurasi pola = 100% 3. Percobaan Ketiga 1. Jumlah Hidden Layer : 9 2. MSE dicapai : 0.00023316026306137 3. Epoh Dicapai : 1000 4. Tingkat Akurasi JST : 90% 5. Kompleksitas JST hasil pruning : 18.5185185185185% 6. Jumlah Input node hilang : 2 7. Jumlah Hidden node hilang : 7 8. Jumlah Output node hilang : 0 9. Pola Yang dihasilkan : Class 1 ditentukan oleh : IF ( age = 11 And spectacle = 21 And astigmatis = 31 And tear_prod = 41 ) or ( age = 12 And astigmatis = 32 And tear_prod = 41 ) or ( age = 13 And spectacle = 21 And astigmatis = 31 And tear_prod = 42 ) or ( age = 12 And astigmatis = 32 And tear_prod = 42 ) or ( age = 12 And astigmatis = 32 And tear_prod = 41 ) or ( age = 11 And astigmatis = 32 And tear_prod = 41 ) Class 2 ditentukan oleh : IF ( age = 11 And astigmatis = 32 And tear_prod = 42 ) or ( age = 11 And spectacle = 21 And astigmatis = 32 And tear_prod = 42 ) or ( age = 13 And astigmatis = 32 And tear_prod = 42 ) Class 3 ditentukan oleh : ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 23 IF ( age = 11 And spectacle = 21 And astigmatis = 31 And tear_prod = 42 ) akurasi pola = 100 % Jumlah hidden node : 9 Percobaan 1 2 3 Tabel 4.1 Hasil Uji coba tabel tabel kontak lensa Tingkat Akurasi JST Tingkat akurasi Pola 90% 90% 100% 100% 90% 100% 4.4 Kesimpulan Uji Pola yang dihasilkan menggunakan JST memiliki akurasi relatif tinggi sesuai dengan tingkat akurasi arsitektur Jaringannya. 5. KESIMPULAN 5.1 Kesimpulan Setelah dilakukan proses penelitian, analisa serta pengujian terhadap konsep yang dibangun ini, maka penulis menyimpulkan bahwa : 1. Pola yang dihasilkan melalui ekstraksi dari JST dipengaruhi oleh ketergantungan hubungan tiap node di dalam arsitektur JST , seperti input node dengan hidden node, hidden node dengan output node, dan untuk tahap akhir pembentukannya adalah ketergantungan antara input node dengan output node 2. Tingkat akurasi pola dipengaruhi oleh tingkat akurasi JST. 3. Banyak sedikitnya pola dipengaruhi oleh data set yang diberikan 5.2 Saran 1. Untuk mendapatkan tingkat akurasi pola yang relatif tinggi dapat dilakukan dengan menggunakan metode Search Based pada proses ekstraksi polanya. 2. Lakukan hybridasi dengan metode Search Based. DAFTAR PUSTAKA Lu, Hongjun , A Connectionist Approach to Data Mining, Department of Information System and Computer Science National University of Singapore, 1995 Ananta, I G W N, Implementation Backpropagation neural networks for Data mining, Sekolah Tinggi Teknologi Telkom, 2005 Kamber, Han, Data mining: Concept and Techniques, Morgan Kaufmann Publishers,2001 Kusumadewi, Sri, Artificial intelligence (teknik dan aplikasinya),Graha Ilmu,Yogyakarta, 2003 ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 24 Kristanto, Andri, Jaringan Syaraf Tiruan (konsep dasar, algoritma dan aplikasi),Gava Media,Yogyakarta, 2004 Suyanto, Intelejensia Buatan, Jurusan Teknik Informatika STT Telkom, Bandung, 2002 Alam, Agus, Borland Delphi 7.0, Elex Media Komputtindo, 2004 ____________________________________________________________________________________ Jurnal MEDIA SISFO Vol. 6 No. 2 Agustus 2012 - STIKOM Dinamika Bangsa - Jambi 25