BAB 2
LANDASAN TEORI
Pada bab ini akan dijelaskan mengenai teori-teori yang berhubungan dengan penelitian ini, sehingga dapat dijadikan sebagai landasan berpikir dan akan mempermudah dalam hal pembahasan hasil utama pada bab berikutnya. Adapun teoriteori tersebut mencakup pengertian dasar jaringan saraf biologi, JST, dan algoritma pembelajaran backpropagation. 2.1 Jaringan Saraf Biologi Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak manusia terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan sinyal yang diberikan neuron lain dan meneruskannya pada neuron lainnya. Diperkirakan manusia memiliki 1012 neuron. Dengan jumlah yang begitu banyak maka otak manusia mampu mengenali pola, melakukan perhitungan, serta mengontrol organ-organ tubuh dengan baik. Neuron memiliki 3 komponen utama, yaitu dendrit, badan sel (soma) dan akson. Gambar 2.1 dibawah ini merupakan gambar sel saraf biologi.
Gambar 2.1 Sel Saraf Biologi Dendrit berfungsi menerima sinyal informasi dari satu atau beberapa neuron yang terhubung. Kemudian sinyal yang diterima oleh dendrit diteruskan ke badan sel. Jika total sinyal yang diterima oleh badan sel cukup kuat untuk mengaktifkan sebuah neuron maka neuron tersebut akan mengirimkan sinyal ke semua neuron terhubung
Universitas Sumatera Utara
17
melalui akson. Jadi semua neuron hanya memiliki dua kemungkinan yaitu mengirimkan sinyal kepada neuron lain atau tidak. Neuron pada otak merupakan sistem yang bersifat fault tollerant dalam dua hal. Pertama, otak manusia dapat mengenali sinyal input yang berbeda dari yang pernah diterima sebelumnya, contohnya manusia dapat mengenali seseorang yang wajahnya agak berbeda karena sudah lama tidak berjumpa. Kedua, otak manusia tetap mampu bekerja meskipun beberapa neuronnya tidak mampu bekerja dengan baik. Jika sebuah neron rusak, neuron lain terkadang dapat dilatih untuk menggantikan fungsi sel yang rusak tersebut. 2.2 Jaringan Saraf Tiruan (JST) JST merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan digunakan karena jaringan saraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran berlangsung. Dikarenakan sebagai generalisasi model maematika dari jaringan saraf biologi, maka JST diasumsikan sebagai berikut: 1. Pengolahan informasi terjadi pada elemen pemrosesan yang disebut neuron. 2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. 3. Setiap penghubung antar neuron memiliki nilai bobot. 4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi terhadap total input jaringan (penjumlahan bobot input). Karakteristik dari JST ialah: 1. Arsitektur jaringan: pola hubungan antar neuron 2. Algoritma pembelajaran: metode yang menentukan nilai bobot penghubung 3. Fungsi aktivasi: menentukan nilai output berdasarkan total nilai input-nya. 2.2.1 Komponen Jaringan Saraf Tiruan Seperti otak manusia, JST juga memiliki neuron yang merupakan dasar dari operasi JST yang berfungsi untuk memproses informasi. Sel saraf tiruan ini biasa disebut processing element, neuron atau unit. Masing-masing neuron akan meneruskan informasi yang diterimanya menuju neuron lainnya. Hubungan antar neuron ini disebut edge dan memiliki nilai yang
Universitas Sumatera Utara
18
disebut bobot atau wieght (disimbolkan dengan w1, ..., wn). Selain bobot, setiap unit juga memiliki input, output dan error. Input yang disimbolkan dengan (x1, ..., xn) merupakan nilai atau angka yang ingin dilatih maupun untuk diuji didalam suatu jaringan dimana nilainya harus berupa angka sedangkan output yang disimbolkan dengan (y1, ..., yn) merupakan hasil keluaran dari suatu unit yang merupakan solusi atau pemahaman jaringan terhadap data input, sedangkan error merupakan tingkat kesalahan yang terdapat dalam suatu unit dari proses yang telah dilakukan. Dalam jaringan terkadang ditambah sebuah unit input yang nilainya selalu sama dengan 1, unit ini disebut bias. JST memiliki banyak neuron yang tersebar di seluruh bagiannya. Masingmasing neuron dikelompokkan ke dalam beberapa lapisan dan memiliki hubungan satu dengan yang lain yang disebut dengan layer. Layer terdiri dari beberapa bagian, yaitu: 1. Lapisan masukan (input layer) Lapisan ini merupakan tempat dimana seluruh bobot awal dimasukkan (inisialisasi input) yang selanjutnya diproses untuk dikirimkan ke lapisan di atasnya. 2. Lapisan tersembunyi (hidden layer) Lapisan ini merupakan lapisan di antara lapisan masukan dan lapisan keluaran. Disini bobot yang diterima dari lapisan input juga diproses untuk selanjutnya dikirim ke lapisan di atasnya yaitu lapisan output. 3. Lapisan keluaran (output layer) Lapisan ini merupakan lapisan akhir pada arsitektur jaringan dimana nilai output dari jaringan dihasilkan. Pada lapisan ini ditetapkan nilai output aktual untuk dibandingkan dengan nilai output target untuk mengetahui apakah jaringan sudah sesuai dengan hasil yang diinginkan.
2.2.2 Arsitektur Jaringan
Arsitektur jaringan merupakan salah satu hal terpenting dalam JST selain dari neuron dan algoritma pembelajaran. Arsitektur jaringan terbagi menjadi tiga jenis, yaitu:
Universitas Sumatera Utara
19
1. Jaringan lapis tunggal (single layer network) Jaringan lapis tunggal merupakan jaringan yang hanya memiliki satu buah lapisan dengan bobot-bobot yang terhubung. Jaringan ini hanya menerima nilai input dan secara langsung mengolahnya untuk menjadi nilai output tanpa melalui lapisan tersembunyi. Jaringan lapis tunggal dapat dilihat pada gambar 2.2 dibawah ini.
x1 v1 v2
x2
Y
v3
x3
Gambar 2.2 Jaringan Lapis Tunggal 2. Jaringan multilapis (multilayer network) Jaringan multilapis merupakan jaringan yang memiliki satu buah atau lebih lapisan di antara lapisan input dan lapisan output. Jaringan multi lapis ini dapat menyelesaikan permasalahan yang lebih kompleks dibandingkan dengan jaringan lapis tunggal walaupun memiliki tingkat kerumitan yang tinggi serta membutuhkan waktu yang lama dalam proses pelatihannya. Jaringan multilapis dapat dilihat pada gambar 2.3 dibawah ini. v11 Z1
X1
V12 v21 X2
Y
Z2
v22 v1m vn1
Xn
Vn2 vn3
v2m Zm
Gambar 2.3 Jaringan Multilapis
Universitas Sumatera Utara
110
3. Jaringan kompetitif (competitive layer network) Jaringan kompetitif sering disebut feedback loop karena unit output ada yang memberikan informasi terhadap unit masukan.
A1
A1
A1
A1
Gambar 2.4 Jaringan Kompetitif
2.2.3 Model Pelatihan JST
Seperti halnya otak manusia yang membutuhkan belajar dalam mengenali sesuatu, pada JST juga demikian. Setiap neuron dibangun untuk dilatih dalam mempelajari pola yang akan dijalankan. Pada saat pelatihan dilakukan, nilai dari masing-masing hubungan antar neuron ditetapkan untuk menentukan output. Semakin banyak pelatihan yang dilakukan maka akan semakin kecil tingkat dari suatu error di lapisan keluarannya, sehingga pengenalan suatu pola akan segera tercapai. Metode pembelajaran JST terdiri dari dua cara: 1. Supervised Learning Supervised learning merupakan metode pembelajaran dalam JST dimana output target yang diinginkan telah diketahui sebelumnya dan diharapkan setelah proses pelatihan output target tercapai. Pada metode pembelajaran ini pasangan data (masukan-keluaran) dipakai untuk melatih jaringan. Pada proses pembelajarannya pola masukan diberikan pada lapisan input untuk terus dirambatkan sampai pada lapisan output. Nilai yang diperoleh dari proses perhitungan pola pembelajaran pada lapisan output akan dicocokkan dengan pola output target awal. Jika diperoleh perbedaan antara kedua nilainya maka akan muncul error. Apabila nilai error belum sesuai dengan yang diinginkan
Universitas Sumatera Utara
111
maka pelatihan akan terus dilakukan dengan terus memodifikasi bobot sampai dihasilkan error yang sesuai. Model JST yang menggunakan metode supervised learning adalah perceptron, ADALINE dan backpropagation. 2. Unsupervised Learning Unsupervised learning merupakan metode pembelajaran dalam JST yang tidak memerlukan output target dalam proses pembelajarannya. Pelatihan dilakukan hanya pada data input saja. Model JST yang menggunakan metode unsupervised learning adalah kohonen, hebbian, dll. Pada umumnya operasi model jaringan dalam JST terbagi atas dua mekanisme kerja, yaitu: 1. Mekanisme pelatihan atau belajar Pada mekanisme ini jaringan dilatih untuk menghasilkan data yang sesuai dengan output target yang diinginkan melalui satu atau lebih pasangan data (masukan dan keluaran). Semakin banyak pelatihan pada tiap siklusnya (epoch) dilakukan maka target yang diinginkan akan segera tercapai. 2. Mekanisme pengujian Pada mekanisme ini jaringan diuji apakah dapat mengenali pola yang baru dengan data input yang berbeda dari data pelatihan setelah proses pelatihan dilakukan. 2.2.4 Fungsi Aktivasi dan Error Fungsi aktivasi merupakan bagian penting dalam tahap perhitungan JST karena dipakai untuk menentukan keluaran dari suatu neuron. Beberapa fungsi aktivasi yang dipakai dalam JST adalah: 1. Fungsi sigmoid biner (logsig) Fungsi ini pada umumnya digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai antara 0 sampai 1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1.
Universitas Sumatera Utara
112
Fungsi sigmoid biner dirumuskan sebagai: f x
dengan:
1 1 e x
f '( x) f ( x) (1 f ( x) )
2. Fungsi sigmoid bipolar (tansig) Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja fungsi ini memiliki range antara 1 sampai -1. Fungsi sigmoid bipolar dirumuskan sebagai: f ( x)
dengan:
f ( x)
1 e x 1 e x
1 1 f ( x)1 f ( x) 2
Perhitungan kesalahan pada output jaringan menentukan apakah jaringan sudah mengenali pola atau belum. Jika error yang diinginkan belum terpenuhi, maka jaringan dianggap belum mengenali pola. Error jaringan dihitung dengan persamaan Sum Square Error (SSE). SSE digunakan tiap satu epoch pelatihan, dengan menghitung seluruh pola output aktual dari tiap pola input untuk dihitung selisihnya dengan pola output yang diinginkan. Jika nilai SSE ≤ error yang diinginkan maka jaringan dianggap sudah mengenali pola tetapi jika belum maka jaringan terus dilatih dan dihitung kembali tiap epochnya sampai nilai SSE ≤ error yang diinginkan. Rumus menghitung nilai SSE ialah:
SSE =
1 2 n
t
kn
ykn
2
k
dimana tkn = nilai terget keluaran yang diinginkan ykn = nilai keluaran aktual Sebagai contoh akan dilakukan perhitungan nilai SSE. Jika pada suatu JST terdapat 2 pola masukan dan menghasilkan pola keluaran sebagai berikut:
Universitas Sumatera Utara
113
Pola Input
Nilai Output Aktual
Nilai Output Target
1111
0.99
-0.01
1
0
1001
0.82
0.90
1
1
Jika nilai error yang diinginkan adalah 0.1, maka perhitungan nilai SSE ialah:
SSE
=
1 2 n
SSE
=
1 ((1-0.99)2 + (0-(-0.01))2 + (1-0.82)2 + (1-0.9)2) 2
SSE
=
1 ((0.01)2 + (0.01)2 + (0.18)2 + (0.1)2) 2
SSE
=
1 (0.0001 + 0.0001 + 0.324 + 0.01) 2
SSE
=
1 (0.3342) 2
SSE
= 0.1671
t
2
kn
y kn
k
Karena SSE > 0.1 maka jaringan dianggap belum mengenali pola. 2.3 Backpropagation Backpropagation merupakan salah satu dari beberapa metode yang digunakan dalam JST dan yang paling sering digunakan dalam berbagai bidang aplikasi, seperti pengenalan pola, peramalan dan optimisasi. Hal ini dimungkinkan karena metode ini menggunakan pembelajaran yang terbimbing. Pola masukan dan target diberikan sebagai sepasang data. Bobot-bobot awal dilatih dengan melalui tahap maju untuk mendapatkan error keluaran yang selanjutnya error ini digunakan dengan tahap mundur untuk memperoleh nilai bobot yang sesuai agar dapat memperkecil nilai error sehinggga target keluaran yang dikehendaki tercapai. Tujuan dari model ini adalah untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama proses pelatihan berlangsung serta kemampuan jaringan memberikan respon yang benar terhadap pola masukan yang berbeda dengan pola masukan selama pelatihan.
Universitas Sumatera Utara
114
2.3.1 Arsitektur Backpropagation
Hubungan antar neuron dalam suatu jaringan dan membentuk lapisan disebut arsitektur jaringan. Backpropagation terdiri dari beberapa lapisan, yaitu lapisan input, lapisan tersembunyi dan lapisan output. Masing-masing neuron dalam tiap lapisan saling terhubung dengan lapisan di atasnya. Neuron-neuron pada lapisan input terhubung dengan neuron-neuron pada lapisan tersembunyi melalui edge yang disebut bobot, begitu juga pada lapisan tersembunyi neuron-neuronnya terhubung melalui edge dengan neuron-neuron pada lapisan output. Terdapat masing-masing 1 buah bias pada lapisan input dan lapisan tersembunyi yang bernilai = 1. Arsitektur jaringan backpropagation dapat dilihat pada gambar 2.5 dibawah ini:
w 10
w k1 wm0
v1 0
wkj wm1
w1 j
z1
vj0 vp 0
1
wmp
wkp
w k0 w 11
1
Ym
Yk
Y1
v11
x1
wm j
w 1p
zj
v j1
zp
vj o
v ji vp1
v1 i
vp i
vp n
v1 o
xo
xi
Gambar 2.5 Arsitektur Jaringan Backropagation
Terdapat no, n p dan n m buah neuron pada lapisan input, lapisan tersembunyi dan lapisan output. Sehingga terdapat no × n p edge dari lapisan input ke lapisan tersembunyi dan n p × nm edge dari lapisan tersembunyi ke lapisan output. Setiap edge memiliki bobot (weight). vji merupakan bobot garis dari unit masukan xi pada lapisan
Universitas Sumatera Utara
115
input ke masing-masing unit zj pada lapisan tersembunyi dengan vj0 merupakan bobot garis yang menghubungkan bias di unit masukan ke unit zj pada lapisan tersembunyi. wkj merupakan bobot dari unit lapisan tersembunyi zj ke unit keluaran yk dengan wk0 merupakan bobot dari bias di lapisan tersembunyi ke unit keluaran yk. Pada umumnya nilai bobot yang digunakan dalam suatu arsitektur jaringan antara -0.5 sampai 0.5. Nilai masukan pada lapisan input dinotasikan sebagai x1, x2, x3, ..., xno. Pada lapisan tersembunyi neuron-neuronnya dinotasikan dengan zn1, zn2, zn3, ..., znp. Begitu juga neuron-neuron pada lapisan output dinotasikan dengan yn1, yn2, yn3, ..., ynm .
2.3.2 Algoritma Backpropagation Algoritma backpropagation terdiri dari dua bagian: 1. Algoritma Pelatihan Backpropagation Di dalam proses pelatihan backpropagation terdapat tiga tahap. Tahap pertama ialah tahap maju. Pada tahap ini seluruh proses awal inisialisasi bobot-bobot input dilakukan. Pada tahap ini juga ditentukan angka pembelajaran (α), nilai toleransi error dan jumlah epoch (siklus setiap pola pelatihan) yang diperlukan selama proses komputasi berlangsung. Setelah semua proses inisialisasi dilakukan, maka langkah selanjutnya ialah proses maju. Setiap unit masukan xi akan mengirimkan sinyal masukan ke lapisan tersembunyi. Setelah dihitung dengan menggunakan fungsi aktivasi maka keluarannya akan dikirimkan ke lapisan di atasnya, yaitu lapisan output. Setelah nilai keluaran (yk) diperoleh, maka dibandingkan dengan target keluaran sebenarnya (tk). Selisih yk – tk disebut dengan error (δk). Jika nilai error lebih kecil atau sama dengan dari nilai ambang maka proses iterasi dihentikan, tetapi jika tidak maka nilai error tersebut digunakan untuk memodifikasi bobot-bobot untuk mengoreksi kesalahan yang terjadi. Tahap kedua adalah tahap mundur. Pada tahap ini, nilai error (δk) yang diperoleh pada di lapisan output digunakan untuk mengoreksi bobot-bobot yang ada pada lapisan tersembunyi yang berhubungan langsung dengan lapisan output. Setelah itu nilai error (δj) di setiap unit pada lapisan tersembunyi
juga
dihitung
untuk
mengoreksi
bobot-bobot
yang
menghubungkan lapisan input dengan lapisan tersembunyi.
Universitas Sumatera Utara
116
Tahap ketiga adalah tahap pengoreksian bobot. Setelah seluruh bobot pada lapisan input dan lapisan tersembunyi dimodifikasi sesuai dengan besar faktor errornya, maka ketiga fase ini diulang secara terus menerus sampai kondisi berhenti dipenuhi. Kondisi berhenti yang dimaksud adalah jika jumlah epoch yang ditetapkan tercapai atau jika nilai error jaringan telah sama dengan atau lebih kecil dari nilai toleransi error yang ditetapkan sebelumnya. Pada tahap pelatihan, jaringan diharapkan dapat melatih seluruh data pelatihan yang diberikan untuk mendapatkan bobot akhir jaringan yang akan digunakan pada tahap pengujian. Struktur algoritma pelatihan Backpropagation adalah: 1. Inisialisasi bobot-bobot Tentukan angka pembelajaran (α). Tentukan pula nilai toleransi error yang diinginkan dan set maksimal epoch jika ingin membatasi jumlah epoch yang digunakan. 2. Selama kondisi berhenti tidak terpenuhi, lakukan langkah ke-2 sampai langkah ke-9. 3. Untuk setiap pasangan pola pelatihan, lakukan langkah ke-3 sampai langkah ke-8. Tahap maju 4. Tiap-tiap unit input (xi, i = 1, 2, 3, ..., o) menerima sinyal input dan meneruskan sinyal tersebut ke tiap-tiap unit pada lapisan tersembunyi. 5. Tiap-tiap unit di lapisan tersembunyi (zj, j = 1, 2, 3, ..., p) menjumlahkan sinyal-sinyal input yang berbobot, yaitu: n
z _ net j v j 0 xi v ji i 1
Fungsi aktivasi untuk menghitung sinyal outputnya, yaitu: n
z j v j 0 x i v ji i 1
dan mengirimkan sinyal tersebut ke semua unit pada lapisan di atasnya (lapisan output). 6. Tiap-tiap unit di lapisan output (yk, k = 1, 2, 3, ..., m) menjumlahkan sinyal input yang berbobot, yaitu: p
y _ net k wk 0 z j wkj j 1
Universitas Sumatera Utara
117
Fungsi aktivasi untuk menghitung sinyal outputnya, yaitu: p
y k w k 0 z j w kj j 1
Tahap mundur 7. Tiap-tiap unit output yk menerima pola target tk untuk menghitung error (δk), yaitu:
k (t k yk ) f ' ( y _ net k ) (t k y k ) y k (1 y k ) Kemudian hitung nilai koreksi bobot yang nantinya digunakan untuk memperbaiki nilai bobot antara lapisan tersembunyi dan lapisan output (wjk), yaitu: w jk k z j
Hitung juga koreksi bias yang digunakan untuk memperbaiki nilai bias antara lapisan tersembunyi dan lapisan output (wk0), yaitu: w k 0 k
8. Tiap-tiap unit pada lapisan tersembunyi (zj, j = 1, 2, 3, ..., p) menjumlahkan sinyal-sinyal input dari lapisan output, yaitu: m
_ net j k w jk k 1
Kalikan nilai ini dengan fungsi aktivasi untuk menghitung error pada lapisan tersembunyi (δj), yaitu:
j _ net j f ' ( z _ net j ) _ net j z j (1 z j ) Kemudian hitung koreksi bobot untuk memperbaiki nilai bobot antara lapisan input dan lapisan tersembunyi (vji), yaitu: v ji j xi
Kemudian hitung koreksi bias untuk memperbaiki nilai bobot antara lapisan input dan lapisan tersembunyi (vj0), yaitu: v j 0
j
Universitas Sumatera Utara
118
Tahap pengoreksian bobot 9. Tiap-tiap unit keluaran (yk, k = 1, 2, 3, ..., m) memperbaiki bobot dan bias, yaitu: wkj (baru ) wkj (lama) wkj , ( k = 1, 2, ... , m ; j = 0, 1, ... , p )
tiap-tiap unit tersembunyi memperbaiki bobot dan bias, yaitu: v ji (baru ) v ji (lama ) v ji , ( j = 1, 2, ... , p ; i = 0, 1, ... , n )
10. Tes kondisi berhenti 2. Algoritma Pengujian Backpropagation Setelah proses pelatihan, backpropagation dapat digunakan untuk proses pengujian jaringan. Pada proses pengujian, tahap yang dilakukan hanya sampai tahap maju saja, tidak ada tahap mundur apalagi tahap modifikasi bobot. Seluruh bobot input diambil dari nilai bobot terakhir yang diperoleh dari proses pelatihan. Pada tahap pengujian ini, jaringan diharapkan dapat mengenali pola berdasarkan data baru yang diberikan (generalisasi). 2.4 Optimalitas Arsitektur Backpropagation Masalah utama yang terdapat dalam backpropagation ialah lamanya proses iterasi yang dilakukan. Backpropagation tidak dapat memastikan berapa epoch yang harus dilalui sampai pola yang diinginkan terpenuhi. Oleh karena itu terdapat beberapa cara yang digunakan untuk mengoptimalkan proses iterasi, yaitu: 1. Pemilihan bobot dan bias awal Bobot awal merupakan unsur yang terpenting dalam pembentukan jaringan yang baik, karena bobot awal mempengaruhi kecepatan iterasi jaringan dalam mengenali pola. Bobot awal standar yang biasa dipakai dalam melakukan proses komputasi dinilai memberikan waktu yang lama. Inisialisasi Nguyen Widrow merupakan modifikasi sederhana bobot-bobot dan bias ke unit tersembunyi yang mampu meningkatkan kecepatan jaringan dalam proses pelatihan jaringan.
Universitas Sumatera Utara
119
Inisialisasi Nguyen Widrow didefinisikan dengan rumus:
0, 7 n p dimana: n = jumlah neuron pada lapisan input p = jumlah neuron pada lapisan tersembunyi β = faktor skala Prosedur inisialisasi Nguyen Widrow ialah: a. Inisialisasi bobot-bobot (vji) lama dengan bilangan acak dalam interval [-0.5, 0.5] 2 2 2 b. Hitung v ji v j1 v j 2 ... v jn c. Bobot baru yang dipakai sebagai inisialisasi v ji
v ji (lama ) vj
d. Bias baru yang dipakai sebagai inisialisasi vj0 = bilangan acak dalam interval [-β, β] 2. Momentum Penambahan parameter momentum dalam tahap pengoreksian nilai bobot dapat mempercepat proses pelatihan yaitu dengan memodifikasi nilai bobot pada iterasi (t+1) yang nilainya ditentukan oleh nilai bobot pada iterasi ke-t dan (t-1). µ adalah konsanta yang menyatakan parameter momentum yang nilainya 0≤ µ ≤1. Maka persamaan untuk menentukan bobot baru ialah: wkj (t+1) = wkj (t) + αδk zj + µ (wkj (t) - wkj (t-1)) dengan: wkj (t)
= bobot awal pola kedua (hasil dari iterasi pola pertama)
wkj (t −1) = bobot awal pada iterasi pola pertama dan vji (t+1) = vji (t) + αδk xi + µ (vji (t) - vji (t-1)) dengan : vji (t) = bobot awal pola kedua (hasil iterasi pola pertama) vji (t-1)= bobot awal pada iterasi pertama
Universitas Sumatera Utara
120
2.5 Pengenalan Pola Pengenalan pola ialah disiplin ilmu yang bertujuan untuk mengklasifikasikan dan mendeskripsikan pola atau objek kompleks melalui pengukuran sifat-sifat atau ciri-ciri objek bersangkutan. Suatu sistem pengenalan pola melakukan akuisisi data melalui alat pengindera atau sensor seperti scanner dan kamera, mengatur bentuk representasi data serta melakukan proses analisis dan klasifikasi data. Proses akuisisi data tersebut harus benar-benar akurat dengan mempertimbangkan semua karakteristik dari setiap sampel yang tidak lain adalah suatu citra digital, dimana setiap citra digital memiliki karakteristik tertentu. Tentunya data numerik yang dihasilkan haruslah benar-benar dapat mewakili karakteristik atau ciri-ciri dari sampel yang diamati, sehingga diharapkan dari sekumpulan data dengan target yang sama akan dihasilkan suatu generalisasi terhadap suatu target yang sejenis. Sampel-sampel yang akan diamati tentunya harus dibatasi dengan suatu struktur dimensi dan homogenisasi piksel yang sederhana, sehingga diharapkan dapat mempermudah proses analisa terhadap konsep ini. Setiap sampel adalah satu citra digital yang nilai warna dari piksel-pikselnya terhomo-genisasi menjadi dua representasi warna, yaitu warna aktif (hitam) dan warna non aktif (selain hitam). Selain itu dimensi dari setiap sampel dibatasi sebesar area yang disediakan pada program aplikasi, tetapi tidak akan mengurangi fleksibilitas dan skalabilitas yang diharapkan. Untuk mendapatkan data yang akurat dan konsisten dari setiap sampel, digunakan suatu metode sederhana yaitu dengan cara menghitung jumlah piksel aktif yang terdapat pada bagian-bagian dari sampel. Salah satu metode dalam pengekstrakan data numerik dari setiap sampel adalah sebagai berikut: 1. Setiap sampel yang diamati, dibagi menjadi beberapa area, misalnya 4 baris dan 5 kolom, sehingga akan terdapat 20 area pengamatan. 2. Jumlah piksel yang aktif dari setiap area yang ada dihitung secara akurat dengan menggunakan software pembaca piksel gambar. 3. Dihasilkan sejumlah 20 data numerik dengan atribut kolom dan baris yang diharapkan dapat mewakili data ciri dari sampel yang diamati.
Universitas Sumatera Utara
121
Gambar 2.6 dan gambar 2.7 berikut merupakan contoh representasi
huruf dan
pembagian region sampel piksel-piksel aktifnya.
Gambar 2.6 Contoh Sampel Representasi Huruf A
Gambar 2.7 Pembagian Region pada Sample dan Nilai Pixel Aktifnya Setelah data diekstrak maka harus dinormalkan terlebih dahulu sebelum menjadi data masukan pada penelitian ini. Data-data tersebut harus dinormalkan karena data-data tersebut bukanlah data yang sesuai untuk menjadi nilai masukan. Metode normalisasi yang akan digunakan adalah suatu metoda normalisasi yang paling sederhana yaitu normalisasi perbandingan tetap. Dalam kasus ini adalah perbandingan antara jumlah piksel aktif pada masing-masing area dalam suatu sampel akan dibandingkan (dibagi) dengan jumlah piksel aktif terbanyak dalam satu area yang ada pada sampel yang sama. Hasil dari proses normalisasi ini adalah sekumpulan data numerik yang bernilai antara 0 dan 1 yang akan digunakan sebagai data input jaringan.
Universitas Sumatera Utara