Anda di halaman 1dari 22

SOFT COMPUTING

PROGRAM JST BACKPROPAGATION


IDENTIFIKASI POLA WAJAH MANUSIA MENGGUNAKAN MATLAB

Oleh :

Ni Putu Ayu Oka Wiastini ( 1504505008 )


Kadek Novar Setiawan ( 1504505023 )
Raras Ayu Septyastuti Ali Dewi ( 1504505025 )

Jurusan Teknologi Informasi


Fakultas Teknik – Universitas Udayana
2017
1.1 Landasan Teori
Bagian ini akan membahas teori-teori mengenai Jaringan Saraf Tiruan (JST)
dan Jaringan Backpropagation karena merupakan bagian yang terpenting dalam
membantu jalannya sistem.
1.1.1 Jaringan Saraf Tiruan (JST)
Jaringan syaraf tiruan (JST) adalah paradigma pemrosesan suatu informasi
yang terinspirasi oleh sistem sel syaraf biologi. JST dibentuk sebagai generalisasi
model matematika dari jaringan syaraf biologi, dengan asumsi sebagai berikut.
1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung.
3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
(biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang
diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas
ambang.

Neuron biologi merupakan sistem yang “fault tolerant” dalam 2 hal. Pertama,
manusia dapat mengenali sinyal input yang agak berbeda dari yang pernah kita terima
sebelumnya. Sebagai contoh, manusia sering dapat mengenali seseorang yang
wajahnya pernah dilihat dari foto atau dapat mengenali seseorang yang wajahnya
agak berbeda karena sudah lama tidak menjumpainya. Kedua, tetap mampu bekerja
dengan baik. Jika sebuah neuron rusak, neuron lain dapat dilatih untuk menggantikan
fungsi neuron yang rusak tersebut (Siang, 2004). Hal yang ingin dicapai dengan
melatih JST adalah untuk mencapai keseimbangan antara kemampuan memorisasi
dan generalisasi. Yang dimaksud kemampuan memorisasi adalah kemampuan JST
untuk mengambil kembali secara sempurna sebuah pola yang telah dipelajari.
Kemampuan generalisasi adalah kemampuan JST untuk menghasilkan respon yang
bisa diterima terhadap polapola yang sebelumnya telah dipelajari. Hal ini sangat
bermanfaat bila pada suatu saat ke dalam JST itu di inputkan informasi baru yang
belum pernah dipelajari, maka JST itu masih akan tetap dapat memberikan tanggapan
yang baik, memberikan keluaran yang mendekati (Puspaningrum, 2006). Jaringan
syaraf tiruan menyerupai otak manusia dalam 2 hal, yaitu sebagai berikut.
1. Pengetahuan diperoleh jaringan melalui proses belajar.
2. Kekuatan hubungan antar sel syaraf (neuron) yang dikenal sebagai bobot-
bobot sinaptik digunakan untuk menyimpan pengetahuan.

Jaringan syaraf tiruan juga ditentukan oleh 3 hal (Siang, 2004), yaitu sebagai
berikut.
1. Pola hubungan antar neuron (disebut arsitektur jaringan).
2. Metode untuk menentukan bobot penghubung (disebut metode
training/learning).
3. Fungsi aktivasi, yaitu fungsi yang digunakan untuk menentukan keluaran
suatu neuron.

1.1.2 Konsep Dasar Jaringan Saraf Tiruan (JST)


Setiap pola-pola informasi input dan output yang diberiakan kedalam jaringan
syaraf tiruan diproses dalam neuron. Neuron-neuron tersebut terkumpul didalam
lapisan-lapisan yang disebut neuron layers. Lapisan-lapisan penyusun jaringan syaraf
tiruan tersebut dapat dibagi menjadi 3, yaitu sebagai berikut.
1. Lapisan input. Unit-unit di dalam lapisan input disebut unit-unit input. Unit-
unit input tersebut menerima pola inputan data dari luar yang menggambarkan
suatu permasalahan.
2. Lapisan tersembunyi. Unit-unit di dalam lapisan tersembunyi disebut unit-unit
tersembunyi. Dimana outputnya tidak dapat secara langsung diamati.
3. Lapisan output. Unit-unit di dalam lapisan output disebut unit-unit output.
Output dari lapisan ini merupakan solusi jaringan syaraf tiruan terhadap suatu
permasalahan.

1.1.3 Arsitektur Jaringan Saraf Tiruan (JST)


Jaringan syaraf tiruan memiliki beberapa arsitektur jaringan yang sering
digunakan dalam berbagai aplikasi. Arsitektur jaringan syaraf tiruan tersebut, antara
lain (Kusumadewi, 2003).
1. Jaringan Layar Tunggal (Single Layer Network).
Jaringan dengan lapisan tunggal terdiri dari 1 layer input dan 1 layer output.
Setiap neuron/unit yang terdapat di dalam lapisan / layer input selalu terhubung
dengan setiap neural yang terdapat pada layer output. Jaringan ini hanya menerima
input kemudian secara langsung akan mengolahnya menjadi output tanpa harus
melalui lapisan tersembunyi. Contoh algoritma jaringan syaraf tiruan yang
menggunakan metode ini yaitu : ADALINE, Hopfield, Perceptron.

Gambar 1.1 Jaringan Layar Tunggal


[Sumber : Tesis Penggunaan Jaringan Syaraf Tiruan Backpropagation untuk Seleksi Penerimaan
Mahasiswa Baru pada Jurusan Teknik Komputer di Politeknik Negeri Sriwijaya]

2. Jaringan layar jamak (multi layer network).


Jaringan dengan lapisan jamak memiliki ciri khas tertentu yaitu memiliki 3
jenis layer yakni layer input, layer output, layer tersembunyi. Jaringan dengan banyak
lapisan ini dapat menyelesaikan permasalahan yang kompleks dibandingkan jaringan
dengan lapisan tunggal. Namun proses pelatihan sering membutuhkan waktu yang
cenderung lama. Contoh algoritma jaringan syaraf tiruan yang menggunakan metode
ini yaitu : MADALINE, backpropagation, neocognitron.
Gambar 1.2 Jaringan Layar Jamak
[Sumber : Tesis Penggunaan Jaringan Syaraf Tiruan Backpropagation untuk Seleksi Penerimaan
Mahasiswa Baru pada Jurusan Teknik Komputer di Politeknik Negeri Sriwijaya]

3. Jaringan dengan Lapisan Kompetitif


Pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak
menjadi aktif. Contoh algoritma yang menggunakan metode ini adalah LVQ.

Gambar 1.3 Jaringan dengan Lapisan Kompetitif


[Sumber : Tesis Penggunaan Jaringan Syaraf Tiruan Backpropagation untuk Seleksi Penerimaan
Mahasiswa Baru pada Jurusan Teknik Komputer di Politeknik Negeri Sriwijaya]

1.1.4 Jaringan Backpropagation


Model jaringan backpropagation merupakan suatu teknik pembelajaran atau
pelatihan supervised leaning yang paling banyak digunakan. Metode ini merupakan
salah satu metode yang sangat baik dalam menangani masalah pengenalan pola-pola
kompleks. Didalam jaringan backpropagation, setiap unit yang berada di lapisan input
berhubungan dengan setiap unit yang ada di lapisan tersembunyi. Setiap unit yang
ada di lapisan tersembunyi terhubung dengan setiap unit yang ada di lapisan output.
Jaringan ini terdiri dari banyak lapisan (multilayer network). Ketika jaringan
ini diberikan pola masukan sebagai pola pelatihan, maka pola tersebut menuju unit-
unit lapisan tersembunyi untuk selanjutnya diteruskan pada unit-unit dilapisan
keluaran. Kemudian unit-unit lapisan keluaran akan memberikan respon sebagai
keluaran jaringan syaraf tiruan. Saat hasil keluaran tidak sesuai dengan yang
diharapkan, maka keluaran akan disebarkan mundur (backward) pada lapisan
tersembunyi kemudian dari lapisan tersembunyi menuju lapisan masukan. Tahap
pelatihan ini merupakan langkah untuk melatih suatu jaringan syaraf tiruan, yaitu
dengan cara melakukan perubahan bobot, sedangkan penyelesaian masalah akan
dilakukan jika proses pelatihan tersebut telah selesai, fase ini disebut fase pengujian
(Puspaningrum, 2006).

1.1.5 Arsitektur Jaringan Backpropagation


Setiap unit dari layer input pada jaringan backpropagation selalu terhubung
dengan setiap unit yang berada pada layer tersembunyi, demikian juga setiap unit
layer tersembunyi selalu terhubung dengan unit pada layer output.
Gambar 1.4 Arsitektur Jaringan Backpropagation
[Sumber : Makalah Jaringan Saraf Tiruan ]

Jaringan backpropagation terdiri dari banyak lapisan (multilayer network),


yaitu sebagai berikut.
1. Lapisan input (1 buah), yang terdiri dari 1 hingga n unit input.
2. Lapisan tersembunyi (minimal 1 buah), yang terdiri dari 1 hingga p unit
tersembunyi.
3. Lapisan output (1 buah), yang terdiri dari 1 hingga m unit output.

1.1.6 Fungsi Aktivasi Backpropagation


Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi
beberapa syarat yaitu : kontinu, terdiferensial dengan mudah dan merupakan fungsi
yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga
sering dipakai adalah fungsi sigmoid biner yang memiliki range (0, 1).

dengan turunan

Rumus diatas merupakan persamaan fungsi aktivasi sigmoid biner yang


digunakan pada jaringan backpropagation. Grafik dari fungsi aktivasi sigmoid biner
dapat dilihat pada Gambar 1.5.
Gambar 1.5 Fungsi Aktivasi Sigmoid Biner
[Sumber : Jaringan Saraf Tiruan dan Pemrogramannya menggunakan Matlab]

Fungsi lain yang sering dipakai adalah fungsi sigmoid bipolar yang bentuk
fungsinya mirip dengan fungsi sigmoid biner, tapi dengan range (-1, 1).

dengan turunan

Rumus diatas merupakan persamaan fungsi aktivasi sigmoid bipolar yang


digunakan pada jaringan backpropagation. Grafik dari fungsi aktivasi sigmoid bipolar dapat
dilihat pada Gambar 1.6.

Gambar 1.6 Fungsi Aktivasi Sigmoid Bipolar


[Sumber : Jaringan Saraf Tiruan dan Pemrogramannya menggunakan Matlab]

Fungsi sigmoid memiliki nilai maksimum = 1. Maka, pola yang targetnya > 1,
pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua
polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif
lain adalah menggunakan fungsi aktivasi sigmoid hanya pada layar yang bukan layar
keluaran. Pada layar keluaran, fungsi aktivasi yang dipakai adalah fungsi identitas :
f(x) = x.

1.1.7 Pelatihan Jaringan Backpropagation


Aturan pelatihan jaringan backpropagation terdiri dari 2 tahapan, feedforward
dan backward propagation. Pada jaringan diberikan sekumpulan contoh pelatihan
yang disebut set pelatihan. Set pelatihan ini digambarkan dengan sebuah vektor
feature yang disebut dengan vektor input yang diasosiasikan dengan sebuah output
yang menjadi target pelatihannya. Dengan kata lain set pelatihan terdiri dari vektor
input dan juga vektor output target. Keluaran dari jaringan berupa sebuah vektor
output aktual. Selanjutnya dilakukan perbandingan antara output aktual yang
dihasilkan dengan output target dengan cara melakukan pengurangan diantara kedua
output tersebut. Hasil dari pengurangan berupa error. Error dijadikan sebagai dasar
dalam melakukan perubahan dari setiap bobot dengan mempropagationkannya
kembali.
Setiap perubahan bobot yang terjadi dapat mengurangi error. Siklus perubahan
bobot (epoch) dilakukan pada setiap set pelatihan sehingga kondisi berhenti dicapai,
yaitu bila mencapai jumlah epoch yang diinginkan atau hingga sebuah nilai ambang
yang ditetapkan terlampaui. Algoritma pelatihan jaringan backpropagation terdiri dari
3 tahapan yaitu sebagai berikut.
1. Tahap umpan maju (feedforward).
2. Tahap umpan mundur (backpropagation).
3. Tahap pengupdatean bobot dan bias.

Secara rinci algoritma pelatihan jaringan backpropagation dapat diuraikan


sebagai berikut.
Langkah 0
Inisialisasi semua bobot dengan bilangan acak kecil.

Langkah 1
Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 sampai dengan 8.
Langkah 2
Untuk setiap pasang data pelatihan, lakukan langkah 3 sampai dengan 8.

FASE I: PROPAGASI MAJU


Langkah 3
Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi.

Langkah 4
Hitung semua keluaran di unit tersembunyi (Zj):

Langkah 5
Hitung semua jaringan di unit keluaran (yk)

FASE II: PROPAGASI MUNDUR


Langkah 6
Hitung faktor  unit keluaran berdasarkan kesalahan setiap unit keluaran yk
(k=1,2,3….)

k meruapakan unit kesalahan yang akan dipakai dalam perubahan bobot layer
dibawahnya (langkah 7)
Hitung suku perubahan bobot Wkj dengan laju perubahan α
k = 1,2,3,...,m ; j = 0,1,2,...p

Langkah 7
Hitung factor  unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj
(j=1,2,3,…,p)

Faktor unit tersembunyi

Hitung suku perubahan bobot vji

j = 1,2,3,...,p ; i = 0,1,2,...n

FASE III: PERUBAHAN BOBOT


Langkah 8
Perubahan bobot garis yang menuju unit keluaran

Perubahan bobot garis yang menuju ke unit tersembunyi

1.2 Implementasi JST Backpropagation dengan Matlab


Jaringan Saraf Tiruan (Neural Network) merupakan algoritma yang mampu
melakukan identifikasi suatu kelas berdasarkan ciri masukan yang diberikan.
Algoritma ini akan melatihkan ciri masukan yang diberikan pada masing-masing
kelas sehingga diperoleh suatu arsitektur jaringan dan bobot-bobot awal yang mampu
memetakan ciri masukan ke dalam kelas keluaran.
Berikut ini merupakan contoh pemrograman Matlab (menggunakan Matlab
R2016a) untuk mengidentifikasi pola wajah manusia berdasarkan ciri mata, hidung,
mulut dan telinga menggunakan algoritma Jaringan Syaraf Tiruan Backpropagation.
Pada proses pelatihan jaringan digunakan 60 data latih dan pada proses pengujian
digunakan 20 data uji.
1.2.1 Pengumpulan Data Latih dan Data Uji
Langkah pertama untuk pembuatan program, yaitu mempersiapkan data yang
akan digunakan untuk proses pelatihan dan pengujian. Berikut ini merupakan data
pola wajah yang digunakan pada program untuk proses pelatihan dan proses
pengujian.

Gambar 1.7 Data Latih dan Data Uji

Gambar 1.7 merupakan tampilan data untuk pelatihan dan juga pengujian,
dimana pada proses pelatihan jaringan digunakan 60 data latih yang terdiri dari 15
data pola mata, 15 data pola hidung, 15 data pola mulut dan 15 data pola telinga.
Sedangkan pada proses pengujian digunakan 20 data uji yang terdiri dari 5 data pola
mata, 5 data pola hidung, 5 data pola mulut dan 5 data pola telinga. Target dari data
tersebut, yaitu berupa nama orang, diantaranya Adi dengan kode 1, Budi kode 2,
Candra kode 3, Dedi kode 4 dan Erik kode 5.
Langkah berikutnya, yaitu menyusun data latih beserta target latih sesuai
dengan format pemrograman JST pada pemrograman Matlab. Agar memudahkan
pemrograman, data latih disusun sehingga menjadi matriks berukuran 4 x 15 dan
target latih disusun menjadi matriks berukuran 1 x 15 seperti pada Gambar 1.8.
Gambar 1.8 Matriks Data Latih dan Target Latih

Target latih yang disusun menjadi matriks 1 x 15, merupakan kode dari setiap
target (nama orang) yang telah ditentukan. Dimana, kode 1 adalah Adi, kode 2 adalah
Budi, kode 3 adalah Candra, kode 4 adalah Dedi dan kode 5 adalah Erik.
Langkah selanjutnya adalah menuliskan kode program ke dalam bentuk bahasa
pemrograman pada Matlab. Kode Program penulisan data latih dan target latih adalah
sebagai berikut.
% Mempersiapkan data latih dan target latih
data_latih =
[0.35,0.59,0.19,0.36,0.58,0.40,0.61,0.20,0.38,0.57,0.33,0.55,0.18,0.
38,0.56;...

0.47,0.11,0.89,0.90,0.45,0.45,0.11,0.87,0.88,0.46,0.45,0.14,0.87,0.8
9,0.47;...

0.88,0.90,0.54,0.39,0.80,0.80,0.90,0.56,0.35,0.82,0.85,0.90,0.55,0.3
7,0.83;...

0.34,0.56,0.38,0.82,0.91,0.35,0.55,0.41,0.85,0.92,0.37,0.57,0.40,0.8
5,0.91];
target_latih = [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5];
[~,N] = size(data_latih);
Kode Program 1.1 Data Latih dan Target Latih

Kode Program 1.1 merupakan penulisan matriks data latih dan target latih
pada pemrograman Matlab. Matriks data latih disimpan dalam variabel data_latih,
sedangkan target latih disimpan pada variabel target_latih.
1.2.2 Pembentukan JST Backpropagation
Proses pembangunan Jaringan Saraf Tiruan (JST) Backpropagation pada
Matlab menggunakan fungsi yang telah disediakan, yaitu newff. Berikut ini
merupakan rincian kode program yang digunakan untuk membangun jaringan
backpropagation.
% Pembangunan Jaringan Backpropagation
net = newff(minmax(data_latih),[2,1],
{logsig','purelin'},'traingdx');
net.IW{1,1} = [-7.62,0.97,-2.60,-9.55;-5.83,-3.41,3.08,-4.44];
net.LW{2,1} = [-2.40,-2.67];
net.b{1,1} = [9.38;-2.7];
net.b{2,1} = 5.93;
Kode Program 1.2 Pembentukan JST Backpropagation

Kode Program 1.2 merupakan kode program yang digunakan untuk


pembentukan jaringan backpropagation pada Matlab. Fungsi yang digunakan, yaitu
newff, dimana kode program di atas akan membentuk sebuah jaringan
backpropagation 4-2-1, yang artinya terdapat 4 unit masukan, 2 unit layar
tersembunyi (hidden layer) dan 1 unit keluaran. Pada pemrograman ini digunakan
fungsi aktivasi sigmoid biner pada hidden layer dan fungsi linear (purelin) pada layer
keluaran. Sedangkan fungsi pelatihan (traingdx) menggunakan metode gradien
descent.
Selanjutnya, dilakukan inisialisasi bobot awal secara acak. net.IW{1,1} dan
net.b{1,1} merupakan bobot dan bias dari masukan ke hidden layer atau disebut Vji.
Sedangkan, net.LW{2,1} dan net.b{2,1} merupakan bobot dan bias dari hidden
layer ke unit keluaran atau disebut Wkj.

1.2.3 Proses Pelatihan Data Latih


Setelah melakukan inisialisasi bobot dan bias secara acak, maka langkah
selanjutnya adalah melakukan pelatihan jaringan dengan menggunakan data latih dan
target latih. Namun, sebelum melakukan proses training/pelatihan, pengguna dapat
memberikan parameter-parameter yang mempengaruhi proses pelatihan JST, seperti
parameter jumlah epoch, toleransi error, learning rate, besar laju pemahaman (alpha)
dan juga momentum.
% Memberikan nilai untuk mempengaruhi proses pelatihan
net.performFcn = 'mse';
net.trainParam.goal = 0.01; %toleransi kesalahan
net.trainParam.show = 20; %frekuensi perubahan mse
net.trainParam.epochs = 1000; %batas maks epoch
net.trainParam.mc = 0.95; %besar momentum
net.trainParam.lr = 0.1; %laju pemahaman
Kode Program 1.3 Parameter Proses Pelatihan JST

Pada Kode Program 1.3, ditentukan bahwa toleransi kesalahan sebesar 0,01,
frekuensi MSE sebesar 20, batas maksimal epoch adalah 1000 epoch, besar
momentum sebesar 0,95 dan besar laju pemahaman (alpha) adalah 0,1. Selanjutnya, dapat
dilanjutkan ke proses pelatihan jaringan.
% Proses training
[net_keluaran,tr,Y,E] = train(net,data_latih,target_latih);

% Hasil setelah pelatihan


bobot_hidden = net_keluaran.IW{1,1}
bobot_keluaran = net_keluaran.LW{2,1}
bias_hidden = net_keluaran.b{1,1}
bias_keluaran = net_keluaran.b{2,1}
jumlah_iterasi = tr.num_epochs
nilai_keluaran = Y
nilai_kesalahan = E
kesalahan_MSE = (1/N)*sum(nilai_kesalahan.^2)
Kode Program 1.4 Proses Pelatihan JST

Kode Program 1.4 merupakan proses training atau pelatihan JST pada
pemrograman Matlab, dimana dengan menggunakan fungsi train disertai dengan
parameter net, data_latih dan target_latih. Program akan menampilkan hasil dari
proses pelatihan ini, yaitu berupa bobot hidden layer dan bobot keluaran yang baru,
bias hidden layer dan keluaran yang baru, jumlah iterasi yang dihasilkan, nilai
keluaran, nilai kesalahan (error) dan juga nilai MSE.
Gambar 1.10 Neural Network Training

Gambar 1.10 merupakan tampilan yang menunjukkan bahwa target error


(MSE) tercapai pada epoch ke-506. Pada bagian paling atas merupakan gambaran
arsitektur jaringan backpropagation yang dibuat, yaitu 4-2-1.
Gambar 1.11 Neural Network Training Perfomance

Gambar 1.11 merupakan tampilan untuk melihat error (mse) yang dihasilkan
pada setiap epoch, dimana dengan meng-klik tombol ‘performance’ pada halaman
Neural Network Training (Gambar 1.10). Sedangkan koefisien korelasi hasil
pelatihan dapat dilihat dengan meng-klik tombol ‘regression’ pada Neural Network
Training yang ditunjukan pada Gambar 1.10.
Gambar 1.12 Neural Network Training Regression

Gambar 1.12 menampilkan nilai koefisien korelasi dari pelatihan jaringan


adalah sebesar 0.99751 yang menunjukkan bahwa akurasi dari hasil proses pelatihan
sangat baik. Sedangkan untuk melihat hasil dari nilai-nilai hasil pelatihan, dapat
dilihat pada Gambar 1.13.
Gambar 1.13 Hasil Pelatihan JST Backpropagation
Gambar 1.13 merupakan hasil yang didapatkan dari proses pelatihan JST
Backpropagation menggunakan data latih dan target latih yang telah ditentukan,
dimana dari hasil tersebut didapatkan iterasi (epoch) sebanyak 506 dan nilai MSE
jaringan adalah 0,01.

1.2.4 Proses Pengujian Jaringan


Langkah terakhir adalah proses pengujian jaringan, dimana menggunakan data
uji yang telah disediakan sebelumnya. Data uji tersebut akan disusun juga menjadi
sebuah matriks berukuran 5 x 4 agar memudahkan dalam membuat kode programnya.
% Pengujian Jaringan
data_uji = [0.38,0.60,0.19,0.35,0.59;...
0.43,0.14,0.88,0.90,0.45;...
0.85,0.87,0.60,0.41,0.78;...
0.34,0.57,0.40,0.83,0.93];
hasil_uji = round(sim(net_keluaran,data_uji))
Kode Program 1.5 Proses Pengujian JST

Kode Program 1.5 merupakan kode program yang digunakan untuk proses
pengujian JST Backpropagation yang telah dilatih terlebih dahulu. Data uji yang telah
diubah menjadi matriks berukuran 5 x 4 dimasukkan ke dalam variabel data_uji.
Kemudian, untuk menghitung hasil pengujian, maka digunakan fungsi sim dengan
parameter net_keluaran dan data_uji. Dimana, pada rumus tersebut dilengkapi dengan
fungsi round, untuk membulatkan hasil dari pengujian tersebut.

Gambar 1.14 Hasil Pengujian JST Backpropagation

Gambar 1.14 merupakan tampilan nilai hasil pengujian JST Backpropagation


yang telah dibuat. Hasil tersebut 100% sesuai dengan target uji yang telah diberikan
sebelumnya. Pada contoh ini, ditunjukkan bahwa JST dapat mengidentifikasi/
membedakan pola wajah seseorang berdasarkan ciri mata, hidung, mulut, dan telinga
dengan baik.

1.3 Perbedaan Penggunaan Fungsi Aktivasi

1.4 Kesimpulan
Implementasi Jaringan Saraf Tiruan Backpropagation untuk Identifikasi Pola
Wajah Manusia dapat dibuat dengan menggunakan program Matlab R2016a. Proses
pelatihan jaringan menggunakan 60 data latih yang terdiri dari 15 data pola mata, 15
data pola hidung, 15 data pola mulut dan 15 data pola telinga. Sedangkan pada proses
pengujian digunakan 20 data uji yang terdiri dari 5 data pola mata, 5 data pola
hidung, 5 data pola mulut dan 5 data pola telinga.
Arsitektur dari jaringan backpropagation yang dibuat adalah 4-2-1, yang
artinya terdapat 4 unit masukan, 2 unit layar tersembunyi (hidden layer) dan 1 unit
keluaran. Pada pemrograman ini digunakan fungsi aktivasi sigmoid biner pada
hidden layer dan fungsi linear (purelin) pada layer keluaran. Sedangkan fungsi
pelatihan (traingdx) menggunakan metode gradien descent.
Hasil dari pelatihan JST Backpropagation yang telah dibuat menunjukkan
bahwa target error (MSE) tercapai pada epoch ke-506 dengan hasil pengujian 100%
sesuai dengan target uji yang telah diberikan sebelumnya. Sehingga, dapat
disimpulkan jaringan ini dapat mengidentifikasi/ membedakan pola wajah seseorang
berdasarkan ciri mata, hidung, mulut, dan telinga dengan baik.
DAFTAR PUSTAKA

Agustin, Maria. 2012. “Penggunaan Jaringan Syaraf Tiruan Backpropagation untuk


Seleksi Penerimaan Mahasiswa Baru pada Jurusan Teknik Komputer di
Politeknik Negeri Sriwijaya”. Tesis. Pascasarjana Universitas Diponegoro
Jek Siang, Jong. 2005. “Jaringan Saraf Tiruan dan Pemrogramannya menggunakan
Matlab”. Yogyakarta : ANDI
Ksatria N, Adhitama, dkk. 2011. Makalah Jaringan Saraf Tiruan. Diakses pada
tanggal 14 November 2017 dari
https://www.scribd.com/doc/59331309/Makalah-JST-Backpropagation
Pamungkas, Adi. 24 Agustus 2017. Jaringan Syaraf Tiruan untuk Identifikasi Wajah.
Diakses pada tanggal 8 November 2017 dari
https://pemrogramanmatlab.com/2015/08/24/jaringan-syaraf-tiruan-untuk-
identifikasi-wajah/#more-998

Anda mungkin juga menyukai