UNTUK PENGENALAN POLA WAJAH
SKRIPSI
TIKA ROMAULI SIREGAR
091401053
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
IMPLEMENTASI JARINGAN SYARAF METODE
BIDIRECTIONAL ASSOCIATIVE MEMORY
UNTUK PENGENALAN POLA WAJAH
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijasah Sarjana Ilmu Komputer
TIKA ROMAULI SIREGAR
091401053
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI JARINGAN SYARAF METODE BIDIRECTIONAL ASSOCIATIVE MEMORY UNTUK PENGENALAN POLA WAJAH
Kategori : SKRIPSI
Nama : TIKA ROMAULI SIREGAR
Nomor Induk Mahasiswa : 091401053
Program Studi : S1 ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Diluluskan di
Medan, Oktober 2013 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Poltak Sihombing, M.Kom Amer Sharif, S.Si, M.Kom NIP. 19620317 199103 1 001 NIP. -
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
IMPLEMENTASI JARINGAN SYARAF METODE BIDIRECTIONAL
ASSOCIATIVE MEMORY UNTUK PENGENALAN
POLA WAJAH
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali
beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 05 Oktober 2013
Tika Romauli Siregar
091401053
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, yang telah memberikan berkat dan kasih-Nya, serta segala sesuatu dalam hidup, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komput er, Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Bapak Prof. Dr. Dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S1 Ilmu Komputer dan Dosen Pembimbing I yang telah banyak meluangkan waktunya dan memberikan masukan yang bermanfaat bagi penulis.
4. Ibu Maya Silvi Lydia, B.Sc. M.Sc. selaku Sekretaris Program Studi S1 Ilmu Komputer.
5. Bapak Amer Sharif, S.Si, M.Kom selaku Dosen Pembimbing II yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan yang bermanfaat kepada penulis.
6. Bapak Drs. James P Marbun, M.Kom selaku Dosen Pembanding I yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.
7. Bapak Syahriol Sitorus, S.Si, MIT selaku Dosen Pembanding II yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.
8. Semua dosen serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
9. Ayahanda Kanan Aman Siregar dan Ibunda Nota Rosdiana Sihombing yang menjadi saluran berkat dari Tuhan dan selalu memberikan dukungan baik materi maupun non-materi, dukungan, kasih sayang, perhatian, serta doa tanpa henti kepada penulis.
11.Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Penulis berharap skripsi ini dapat bermanfaat terutama untuk diri sendiri dan juga kepada seluruh pembaca.
Medan, 05 Oktober 2013
Penulis,
ABSTRAK
Jaringan syaraf tiruan adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi. Prinsip jaringan syaraf tiruan ini meniru cara kerja sistem syaraf otak manusia. Pengenalan pola merupakan salah satu fungsi dari pemanfaatan jaringan saraf tiruan, dimana suatu obyek dikenali polanya sehingga nantinya dapat membantu proses pengenalan dari suatu obyek yang polanya mengalami kerusakan. Metode Bidirectional Associative Memory merupakan arsitektur neural Network yang dapat mengenali pola baik dengan data yang tidak lengkap atau dengan Noise. Proses kerja pada penelitian ini dimulai dengan memproses citra foto terlebih dahulu yang diambil dengan kamera kemudian diproses untuk memperoleh piksel dari foto dengan nilai 1 dan -1. Tahap selanjutnya nilai piksel dari foto tersebut dijadikan inputan bagi jaringan syaraf tiruan. Akhir dari proses ini akan menghasilkan matriks weight yang akan dijadikan sebagai tolak ukur untuk pengujian pengenalan pola wajah. Penelitian ini memiliki tiga pengujian, pertama pengujian terhadap data pengujian pola wajah yang telah dilatih diperoleh tingkat pengenalan sebesar 100%, kedua pengujian terhadap data pengujian pola wajah yang baru diambil dengan kamera yang memiliki tingkat pengenalan sebesar 70%, ketiga pengujian pola wajah yang telah diberi noise yang memiliki tingkat pengenalan mencapai 80%. Kesimpulan yang diperoleh dari penelitian ini adalah metode Bidirectional Associative Memory sangat tahan terhadap noise.
IMPLEMENTATION OF NEURAL NETWORK BIDIRECTIONAL ASSOCITIVE MEMORY METHOD FOR FACIAL PATTERN
RECOGNITION
ABSTRACT
Artificial neural networks are information processing systems that have characteristics similar to biological neural networks. Neural network was formed as a generalization of mathematical models of biological neural networks. Principles of artificial neural networks mimic the way the human brain nerve system working. Pattern recognition is one of the functions of utilization of artificial neural networks, where an object known pattern until the program could help the identification of the pattern of an object that had errors. Methods of Bidirectional Associative Memory Neural Network architecture that is able to recognize a good pattern with incomplete data or with Noise. Working on this research process begins by processing images first image taken by the camera are then processed to obtain images with pixels of value 1 and -1. The next phase of the pixel values of the image is used as input for the neural network. End of this process will produce a weight matrix that will be used as a benchmark for testing the facial pattern recognition. This study has three tests, the first test against test data that has been trained facial pattern obtained recognition rate of 100%, the second test against test data patterns are new faces taken with a camera that has a recognition rate of 70%, a third test that has been given a face pattern noise which has a recognition rate reached 80%. Conclusion of this research is the Bidirectional Associative Memory is very resistant to noise.
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Sekarang ini masih banyak orang, perusahaan, dinas kependudukan maupun pihak
kepolisian mencari informasi mengenai seseorang secara manual. Informasi
tersebut akan sulit didapat jika data orang sangat banyak. Salah satu teknik untuk
mendapatkan informasi mengenai seseorang adalah dari foto wajah orang
tersebut, dimana dari foto tersebut akan didapat identitas dan informasi orang
tersebut. Hal ini mendorong penulis untuk membuat sebuah program aplikasi
pengenalan wajah bagi komputer karena pencarian informasi menggunakan
komputer lebih cepat dibandingkan secara manual.
Pada masa sekarang ini neural network telah dipercaya sebagai alat yang
berguna untuk menyelesaikan berbagai macam tipe masalah, salah satunya adalah
pengenalan pola wajah.
Untuk membuat program aplikasi pengenalan wajah bagi komputer
terdapat banyak metode, tetapi dalam penulisan skripsi ini penulis hanya
menggunakan metode Bidirectional Associative Memory (BAM) neural network.
Metode Bidirectional Associative Memory memungkinkan agar komputer mampu
mengenali pola yang kurang bagus dengan cara membandingkan pola masukan
dengan pola yang telah tersimpan pada komputer. BAM bersifat content
addressable memory dan juga mampu memanggil input yang lengkap maupun
tidak lengkap. Metode ini pernah digunakan pada penelitian sebelumnya yaitu
“Identifikasi Pola Sidik Jari dengan Jaringan Syaraf Tiruan BAM” tahun 2006,
2008, “Human Recognition in passive environment using Bidirectional
associative memory” tahun 2010. Perbedaan dengan penelitian sebelumnya adalah
proses pelatihan yang berbeda dan pemprosesan citra untuk data inputnya.
Berdasarkan latar belakang yang telah disebutkan penulis akan membuat
suatu penelitian yang berjudul "Implementasi Jaringan Syaraf Metode
Bidirectional Associative Memory untuk Pengenalan Pola Wajah". Dengan
demikian, peran neural network dalam membantu pekerjaan manusia dalam
bidang keamanan akan semakin meningkat, sehingga proses penyelesaian masalah
dapat dilakukan seefektif mungkin dengan hasil yang memuaskan
1.2. Perumusan Masalah
Adapun masalah yang akan dibahas dalam penelitian ini adalah:
1. Bagaimana dapat mengenali suatu pola, khususnya pola wajah.
2. Bagaimana membangun aplikasi pengenalan pola wajah menggunakan metode
bidirectional associative memory.
1.3. Batasan Masalah
Adapun batasan masalah dalam penelitian ini adalah:
1. Pengenalan pola wajah hanyalah dengan menggunakan metode Bidirectional
Associative Memory.
2. Pola wajah yang akan dikenali hanya terdiri dari 4 wajah orang saja.
3. Format gambar yang digunakan adalah *.JPEG.
4. Bahasa pemrograman yang dipakai dalam tugas akhir ini adalah Matlab
1.4. Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah:
1. Menghasilkan aplikasi pengenalan pola wajah menggunakan metode
bidirectional associative memory.
2. Didapatkan suatu data output lengkap dari pengenalan pola wajah dengan
input citra wajah.
1.5. Manfaat Penelitian
Beberapa manfaat yang diharapkan dari penelitian ini adalah sebagai berikut:
1. Bagi pihak yang membutuhkan informasi mengenai seseorang.
Seperti perusahaan yang ingin mencari informasi karyawannya melalui foto.
2. Bagi pihak keamanan yaitu polisi dan security gedung.
Pihak ini bisa mencari informasi orang yang melakukan kejahatan atau
pelanggaran melalui foto.
1.6. Metodologi Penelitian
Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah
sebagai berikut:
1. Studi Literatur
Penulis melakukan studi kepustakaan melalui penelitian berupa buku
mengenai pengolahan citra, pengenalan pola dan jaringan syaraf tiruan,
jurnal dan artikel-artikel yang relevan.
2. Analisis dan perancangan
Metode ini dilaksanakan dengan melakukan analisis terhadap permasalahan
sebagai gambaran sistem sehingga dapat diperoleh rancangan yang
terstruktur dan jelas.
3. Implementasi
Metode ini dilaksanakan dengan mengimplementasikan rancangan sistem
yang telah dibuat pada impelementasi sistem menggunakan bahasa
pemrograman Matlab R2007b.
4. Pengujian sistem
Metode ini dilaksanakan dengan melakukan pengujian terhadap sistem
dengan melakukan proses pengenalan citra dan kemudian pengujian citra
yang telah di implementasikan.
5. Dokumentasi
Metode ini dilaksanakan dengan membuat dokumentasi dalam bentuk
laporan tugas akhir.
1.7. Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai
berikut:
BAB 1: PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi
“Implementasi Jaringan Syaraf Metode Bidirectional Associative Memory untuk
Pengenalan Pola Wajah”, rumusan masalah, batasan masalah, tujuan penelitian,
manfaat penelitian, metodologi penelitian, flowchart penelitian dan sistematika
penulisan.
BAB 2: TINJAUAN PUSTAKA
Bab ini berisi dasar teori-teori yang digunakan dalam analisis, perancangan dan
BAB 3: ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi analisis terhadap fokus permasalahan penelitian dan perancangan
terhadap sistem pengenalan pola wajah.
BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi teknik implementasi dari perancangan yang telah dibuat dan
pengujian terhadap implementasi. Pengujian dilakukan untuk membuktikan
perangkan lunak dapat berjalan sesuai dengan spesifikasi yang telah ditentukan di
tahapan analisis.
BAB 5: KESIMPULAN DAN SARAN
Bab ini akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya
dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat untuk
BAB 2
TINJAUAN PUSTAKA
2.1. Pengenalan Pola
Pengenalan pola mengelompokkan data numerik dan simbolik (termasuk citra)
secara otomatis oleh komputer. Tujuan pengelompokan ini adalah untuk
mengenali suatu objek dalam citra. Manusia bisa mengenali objek yang dilihatnya
karena otak manusia telah belajar mengklasifikasikan objek-objek di alam
sehingga mampu membedakan suatu objek dengan objek lainya. Kemampuan
visual manusia inilah yang dicoba ditiru oleh mesin atau dalam hal ini adalah
komputer. Komputer menerima input berupa citra objek yang akan diidentifikasi,
memproses citra tersebut dan memberikan output berupa deskripsi objek di dalam
citra. Gambar 2.1 menunjukkan diagram kotak sederhana dari proses pengenalan
pola[1].
Citra Pengenalan
Pola
Deskripsi Objek
Gambar 2.1 Diagram Kotak Sederhana Proses Pengenalan Pola[1]
Penglihatan manusia dapat dengan mudah membedakan objek-objek di
sekeliling dengan baik terlepas dari kondisi objek tersebut dalam berbagai
keadaan seperti terbalik, berbeda warna, berbeda tekstur, tertutup sebagian, dan
penyimpangan besar dari bentuk-bentuk dasar seperti pohon, degan mudah
digeneralisasi oleh otak sebagai satu jenis objek.
Sebuah citra objek yang akan dikenali oleh jaringan syaraf tiruan tidak
begitu saja dimasukkan menjadi input sebuah jaringan syaraf tiruan, karena masih
berupa data mentah dan belum sesuai dengan kriteria masukan untuk jaringan
syaraf tiruan. Citra objek tersebut harus diproses terlebih dahulu, tujuannya untuk
membantu kemampuan jaringan dalam mengkomputasikan informasi dari citra
objek tersebut[7].
2.2. Pengolahan Citra
Pengolahan citra merupakan proses mengolah piksel-piksel dalam citra digital
untuk suatu tujuan tertentu. Citra merupakan gambar dua dimensi yang dihasilkan
dari gambar analog dua dimensi (2D) yang kontinu menjadi gambar diskrit
melalui proses sampling. Gambar analog dibagi menjadi x baris dan y kolom
sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom tertentu
disebut dengan piksel. Contohnya adalah gambar/titik diskrit pada baris x dan
kolom y disebut dengan piksel (x, y). Secara matematik sebuah citra merupakan
fungsi kontinudari intensitas cahaya pada bidang dua dimensi.
Sumber cahaya menerangi objek dan objek memantulkan kembali
sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat-alat
optik, misalnya mata pada manusia, kamera, pemindai dan sebagainya, sehingga
bayangan objek yang disebut citra terekam. Meskipun sebuah citra kaya
informasi, namun seringkali citra yang dimiliki mengalami penurunan mutu
(degradasi), misalnya mengandung cacat atau derau, warnanya terlalu kontras,
kurang tajam, kabur, dan sebagainya. Citra yang seperti ini tentu saja menjadi
lebih sulit diinterpretasikan karena informasi yang disampaikan oleh citra tersebut
Derau adalah gambar atau piksel yang mengganggu kualitas citra. Derau
dapat disebabkan oleh gangguan fisis (optik) pada alat akuisisi maupun secara
disengaja akibat proses pengolahan yang tidak sesuai. Contohnya adalah bintik
hitam atau putih yang muncul secara acak yang tidak diinginkan di dalam citra.
Banyak metode yang ada dalam pengolahan citra bertujuan untuk mengurangi
atau menghilangkan noise (Putra, 2009).
Elemen-elemen citra digital apabila ditampilkan dalam layar monitor akan
menempati sebuah ruang yang disebut dengan piksel. Teknik dan proses untuk
mengurangi atau menghilangkan efek degradasi pada citra digital meliput i:
perbaikan citra, restorasi citra, dan transformasi spasial[4].
2.2.1. Konversi RGB ke Grayscale
Konversi RGB ke Grayscale merupakan proses konversi dari citra bewarna
menjadi citra keabuan atau sering disebut dengan citra hitam putih. Citra berwarna
setiap pikselnya terdiri dari gabungan tiga warna yaitu merah (R), hijau (G), dan
biru (B), nilai grayscale didapat dengan merata-ratakan ketiga nilai RGB tersebut.
Rumus untuk mengkonversi nilai RGB ke grayscale pada umumnya adalah
sebagai berikut:
V = ( R + G + B ) / 3………...(2.1)
dimana,
V = nilai grayscale yang didapatkan
R = nilai warna merah
G = nilai warna hijau
B = nilai warna biru
Setiap warna dasar memiliki intensitasnya tersendiri dengan nilai maksimum 255
(8 bit) dan nilai minimum 0. Misalkan warna kuning merupakan kombinasi warna
merah dengan nilai 255 dan warna hijau 255, sehingga kombinasi RGB-nya
adalah 255 255 0. Dapat dikerjakan dengan rumus 2.1.
V = (R +G+B)/3
V = (255 + 255 + 0)/3
V = 510/3
V = 170
Nilai intensitas 170 menunjukkan warna keabuan pada citra.
2.2.2. Konversi Grayscale ke Threshold (Binary)
Citra grayscale merupakan citra yang setiap pikselnya direpresentasikan dengan
sebuah nilai tunggal dengan rentang nilai 0-255. Untuk dijadikan masukan yang
diolah oleh jaringan, nilai ini perlu disederhanakan agar membantu dalam proses
komputasi oleh jaringan, oleh karena itulah citra grayscale perlu diubah ke citra
biner yang tiap pikselnya hanya direpresentasikan dengan nilai 0 dan 1 [8].
2.3. Pengenalan Wajah
Wajah merupakan bagian depan dari kepala yang meliputi: daerah dari dahi
hingga dagu, termasuk juga rambut, dahi, alis, mata, hidung, pipi, mulut, bibir,
gigi, dagu dan kulit. Wajah digunakan untuk menunjukkan sikap seseorang
terhadap ekspresi wajah, penampilan, serta identitas dari seseorang. Tidak ada
satu pun wajah yang sama atau serupa mutlak, bahkan pada manusia kembar
sekalipun. Wajah sebagai objek dua dimensi digambarkan dengan berbagai
macam illuminasi, pose dan ekspresi wajah untuk diidentifikasi berdasarkan citra
dua dimensi dari wajah tersebut. Oleh sebab itu dengan melihat wajah, manusia
dapat mengenali atau mengidentifikasi seseorang dengan mudah (Zayuman,
Sistem pengenalan wajah seseorang tidak mengganggu kenyamanan
seseorang saat akuisisi citra. Pendekatan yang paling umum untuk pengenalan
wajah didasarkan pada bentuk dan penempatan atribut wajah seperti mata, alis
mata, hidung, bibir dan dagu serta hubungan antara atribut tersebut atau analisis
wajah secara keseluruhan yang menghadirkan suatu wajah sebagai suatu
kombinasi dari sejumlah wajah kanonik. Suatu sistem pegenalan wajah pada
prakteknya agar dapat bekerja dengan baik maka sistem harus secara otomatis
dapat mendeteksi kehadiran wajah pada citra yang diperoleh, menempatkan posisi
wajah dan mengenali wajah dari suatu sudut pandang umum atau berbagai
pose[4].
2.4. Jaringan Syaraf Biologi
Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan
yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut
sinapsis. Neuron bekerja berdasarkan impuls/sinyal yang diberikan pada neuron.
Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 1012 neuron dan 6.1018 sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ tubuh
dengan kecepatan yang lebih tinggi dibandingkan komputer digital. Sebagai
perbandingan, pengenalan wajah seseorang yang sedikit berubah (misal memakai
topi, memiliki jenggot tambahan, dll) akan lebih cepat dilakukan manusia
soma
axon
Celah
Sinapsis Dendrit
Neuron lain Dendrit Neuron lain Dendrit
Axon dari Neuron lain
Axon dari Neuron lain
Celah Sinapsis
Gambar 2.2 Jaringan Syaraf Biologi[10]
Pada waktu lahir, otak mempunyai struktur yang menakjubkan karena
kemampuannya membentuk sendiri aturan-aturan/pola berdasarkan pengalaman
yang diterima. Jumlah dan kemampuan neuron berkembang seiring dengan
pertumbuhan fisik manusia, terutama pada umur 0-2 tahun.
Pada 2 tahun pertama umur manusia, terbentuk 1 juta sinapsis perdetiknya.
Neuron memiliki 3 komponen penting yaitu dendrit, soma dan axon. Dendrit
menerima sinyal dari neuron lain. Sinyal tersebut berupa impuls elektrik yang
dikirim melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut
dimodifikasi (diperkuat/diperlemah) di celah sinaptik. Berikutnya, soma
menjumlahkan semua sinyal-sinyal yang masuk. Apabila jumlah tersebut cukup
kuat dan melebihi batas ambang (threshold), maka sinyal tersebut akan diteruskan
ke sel lain melalui axon. Frekuensi penerusan sinyal berbeda-beda antara satu sel
dengan yang lain.
Neuron biologi merupakan sistem yang “fault tolerant” dalam 2 hal.
Pertama, manusia dapat mengenali sinyal input yang berbeda dari yang pernah
seseorang yang wajahnya pernah dilihat dari foto, atau dapat mengenali seseorang
yang wajahnya sedikit berbeda karena sudah lama tidak dijumpainya.
Kedua, otak manusia tetap mampu bekerja meskipun beberapa neuron-nya
tidak mampu bekerja dengan baik. Jika sebuah neuron rusak, neuron lain
kadang-kadang dapat dilatih untuk menggantikan fungsi sel yang rusak tersebut[10].
2.5. Jaringan Syaraf Tiruan
Jaringan syaraf tiruan bisa dibayangkan seperti otak buatan di dalam cerita-cerita
fiksi ilmiah. Otak buatan ini dapat berpikir seperti manusia, dan juga sepandai
manusia dalam menyimpulkan sesuatu dari potongan-potongan informasi yang
diterima. Khayalan manusia tersebut mendorong para peneliti untuk
mewujudkannya. Komputer diusahakan agar bisa berpikir sama seperti cara
berpikir manusia. Caranya adalah dengan melakukan peniruan terhadap
aktivitas-aktivitas yang terjadi di dalam sebuah jaringa n syaraf biologi.
Ketika manusia berpikir, aktivitas-aktivitas yang terjadi adalah aktivitas
mengingat, memahami, menyimpan, dan memanggil kembali apa yang pernah
dipelajari oleh otak[9].
Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang
memiliki karakteristik mirip dengan jaringan syaraf biologi. JST dibentuk sebagai
generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa:
1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
2. Sinyal dikirimkan di antara neuron-neuron melalui
penghubung-penghubung.
3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau
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[10].
Jaringan syaraf tiruan ditentukan oleh 3 hal:
1. Pola hubungan antar neuron (disebut arsitektur jaringan).
2. Metode untuk menentukan bobot penghubung (disebut metode
training/learning/algoritma).
3. Fungsi aktivasi.
Sebagai contoh, perhatikan neuron Y pada gambar 2.3 berikut ini:
x1
x2
x3
w2 w1
w3
Y
Gambar 2.3 neuron dalam jaringan syaraf tiruan[10]
Y menerima input dari neuron x1, x2, dan x3, dengan bobot hubungan
masing-masing adalah w1, w2, dan w3. Ketiga impuls neuron yang ada
dijumlahkan.
Net = x1w1 + x2w2 + x3w3 ………(2.2)
Besarnya impuls yang diterima oleh Y mengikuti fungsi aktivasi y = f(net).
fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk
mengubah bobot[10].
Kemampuan dan proses komputasi pada JST memberikan keuntungan-
keuntungan sebagai berikut:
1. JST bersifat adaptif terhadap perubahan parameter yang mempengaruhi
karakteristik sistem, sehingga pada proses belajar, JST mampu belajar secara
adaptif dan melaksanakan tugas berbasis pada data yang diberikan pada saat
pelatihan.
2. JST memiliki kekebalan atau toleran terhadap kesalahan. Artinya, JST tetap
berfungsi walaupun ada ketidak-lengkapan data yang dimasukkan. JST
mempunyai kemampuan mengisi bagian masukan yang kurang lengkap
sedemikian rupa sehingga tetap diperoleh keluaran yang lengkap.
3. JST dapat dilatih memberikan keputusan dengan memberikan set pelatihan
sebelumnya untuk mencapai target tertentu, sehingga JST mampu
membangun dan memberikan jawaban sesuai dengan informasi yang
diterima pada proses pelatihan.
4. JST mempunyai struktur paralel dan terdistribusi. Artinya, komputasi dapat
dilakukan oleh lebih dari satu elemen pemroses yang bekerja secara
simultan.
5. JST mampu mengklasifikasi pola masukan dan pola keluaran. Melalui
proses penyesuaian, pola keluaran dihubungkan dengan masukan yang
diberikan oleh JST.
6. JST mengurangi derau, sehingga dihasilkan keluaran yang lebih bersih.
7. JST dapat dimanfaatkan pada proses optimisasi penyelesaian suatu masalah.
8. JST dapat digunakan pada proses pengendalian sistem agar masukan
memberi tanggapan yang diinginkan[6].
Jaringan syaraf tiruan sederhana pertama kali diperkenalkan oleh McCulloch dan
Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi
beberapa neuron sederhana menjadi sebuah sistem neural akan meningkatkan
kemampuan komputasinya. Bobot dalam jaringan yang diusulkan oleh McCulloch
dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang
dipakai adalah fungsi threshold.
Tahun 1958, Rosenblatt memperkenalkan dan mulai mengembangkan
model jaringan yang disebut perceptron. Metode pelatihan diperkenalkan untuk
mengoptimalkan hasil iterasi-nya.
Widrow dan Hoff (1960) mengembangkan perceptron dengan
memperkenalkan aturan pelatihan jaringan, yang dikenal sebagai aturan delta
(atau sering disebut kuadrat rata-rata terkecil). Aturan ini akan mengubah bobot
perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang
diinginkan.
Apa yang dilakukan peneliti terdahulu hanya menggunakan jaringan
dengan layar tunggal (single layer). Rumelhart (1986) mengembangkan
perceptron menjadi backpropagation, yang memungkinkan jaringan diproses
melalui beberapa layer.
Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan
oleh Kohonen (1972), Hopfield (1982), dll.
Pengembangan yang ramai dibicarakan sejak tahun 1990an adalah
aplikasi model-model jaringan syaraf tiruan untuk menyelesaikan berbagai
masalah di dunia[10].
Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan
antara lain:
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 layer input selalu terhubung
dengan setiap neuron yang terdapat pada layer output. Jaringan ini hanya
menerima input kemudian secara langsung akan mengolahnya menjadi
output tanpa harus melalui hidden layer. Contoh algoritma JST yang
menggunakan metode ini yaitu adaline dan perceptron. Pada Gambar 2.4
diperlihatkan arsitektur single layer network dengan n buah input layer (X1,
X2, …, Xn) dan dua buah output layer (Y1, Y2) dengan bobot masing-masing
yang menghubungkan antara input layer dengan output layer (W11, W12,
W21, W22, Wn1, Wn2).
x1
Y1 Y2
x2 xn
w12 w11
w21
w22 wn1
wn2
Nilai Input
Nilai Output
Input Layer
Output Layer
2. Jaringan Layar Jamak (Multi Layer Network)
Jaringan dengan lapisan jamak memiliki ciri khas tertentu yaitu memiliki 3
jenis layer yaitu layer input, layer output, dan layer tersembunyi. Jaringan
dengan banyak lapisan ini dapat menyelesaikan permasalahan yang
kompleks dibandingkan jaringan dengan lapisan tunggal. Namun, proses
pelatihan sering membutuhkan waktu cenderung lama. Contoh algoritma
JST yang menggunakan metode ini yaitu backpropagation. Pada Gambar
2.5 diperlihatkan arsitektur multi layer network dengan n buah input layer
(X1, …, Xn), n buah hidden layer (Z1, Z2, …, Zn) dan sebuah output layer
(Y) dengan bobot yang menghubungkan input layer dengan hidden layer
(W11,W12, W1n, Wn1, Wn2, Wnn) dan bobot yang menghubungkan hidden
layer dengan output layer (V1, V2, …, Vn).
x
1x
nY
v
z
z
z
1 2 nv
1 2v
n. . .
. . .
. . .
w
w
w
w
11 12w
1nw
n1n2 nn
Nilai Input Input Layer
Hidden Layer
Nilai Output
Output Layer
Gambar 2.5 Arsitektur Multi Layer Network[12]
Dalam recurrent network ini minimal paling sedikit ada satu feedback loop
didalamnya. Feedback loop mempengaruhi kemampuan belajar dan kinerja
jaringan[12].
Gambar 2.6 Recurrent Network[12]
Elman network berbeda dengan two-layers network konvensional
dalam hal layer pertama mempunyai koneksi yang bersifat recurrent. Elman
network adalah two-layer backpropagation networks, dengan tambahan
koneksi feedback (z-1) dari output ke hidden layer ke input.
2.5.3. Aplikasi Jaringan Syaraf Tiruan
Beberapa aplikasi jaringan syaraf tiruan adalah sebagai berikut:
1. Pengenalan Pola (Pattern Recognition)
Jaringan syaraf tiruan dapat dipakai untuk mengenali pola (misal huruf,
angka, suara atau tanda tangan) yang sudah sedikit berubah. Hal ini mirip
dengan otak manusia yang masih mampu mengenali orang yang sudah
beberapa waktu tidak dijumpainya (mungkin wajah/bentuk tubuhnya yang
sudah sedikit berubah).
2. Signal Processing
Jaringan syaraf tiruan (model Adaline) dapat dipakai untuk menekan noise
dalam saluran telpon.
Jaringan syaraf tiruan juga dapat dipakai untuk meramalkan apa yang akan
terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di
masa yang lampau. Peramalan ini dapat dilakukan mengingat kemampuan
jaringan syaraf tiruan dapat membuat generalisasi dari apa yang sudah ada
sebelumnya. Jaringan syaraf tiruan juga dapat menyelesaikan masalah dalam
bidang kontrol dan kedokteran[10].
2.6. Jaringan Syaraf Tiruan Bidirectional Associative Memory
Bidirectional Associative Memory (BAM) adalah salah satu model neural network
dengan hetero associative memory dan menggunakan dua layer, yaitu layer input
dan layer output. Masukkan untuk BAM berupa pasangan pola Ai dan Bi. Jadi
setiap data harus diberi pasangan[2].
Setiap iterasi dilakukan dengan mengirimkan sinyal secara bolak balik di
antara 2 lapisan sampai semua neuron mencapai keseimbangan. BAM menyimpan
sekumpulan pola yang berasosiasi dengan menjumlahkan matriks korelasi bipolar.
Jaringan ini terdiri atas dua lapisan neuron, yang dihubungkan oleh jalur
hubungan yang memiliki bobot. Jaringan syaraf BAM dapat merespon terhadap
input yang berada di lapisan manapun.
2.6.1. Arsitektur Bidirectional Associative Memory
Jaringan BAM memiliki 'n' unit di X-layer dan 'm' unit di Y-layer. Hubungan
antara lapisan dua arah yaitu bobot matriks, bobot sinyal yang dikirimkan dari
X-layer ke Y-X-layer adalah W, maka bobot untuk sinyal yang dikirim dari Y-X-layer ke
Y1 Yj Ym
X1 Xi Xn
W11
Wn1 Wi1
W1j Wij
W1m Wnj
Wim Wnm
…
…
…
…
Gambar 2.7 Model Dasar BAM[11]
Arsitektur BAM menyerupai sebuah jaringan single layer feed forward.
Proses pelatihan berdasarkan pada aturan pembelajaran Hebb. Jaringan ini saling
terhubung penuh meskipun input dan output yang berbeda. Fitur yang paling
penting dari BAM adalah koneksi yang seimbang dari kedua lapisan
memungkinkan adanya hubungan timbal balik antara lapisan input dan output.
Hubungan antara satu lapisan ke lapisan lain ditunjukkan pada gambar 2.7. Panah
menunjukkan kedua arah. Bobot (w11, w1j, w1m, wi1, wij, wim, wn1, wnj, wnm)
disesuaikan dari X-layer ke Y-layer dan sebaliknya dari Y-layer ke X-layer.
Ada 2 jenis jaringan syaraf BAM yaitu:
1. Discrete BAM
2. Continuous BAM
2.6.2. Discrete BAM
Pada Discrete BAM tipe data biner dan bipolar berkaitan erat. Matriks bobot awal
dibuat sedemikian rupa sehingga dapat menyimpan pasangan vektor input dan
vektor output. Bobot matriks menyimpan sekumpulan dari input vektor target
dimana:
s(p) = (s1(p), …si(p), …sn(p))……….…(2.3)
Untuk input vektor biner, bobot matriks ditentukan sebagai:
Wij = ∑� (2 * si(p) – 1)(2 * tj(p) – 1)………..(2.4)
Untuk input vektor bipolar, bobot matriks ditentukan sebagai:
Wij = ∑� (si(p) * tj(p))………(2.5)
Sedangkan fungsi aktivasi yang digunakan untuk vektor input biner adalah:
Yj untuk lapisan output:
1, jika y_in j > 0
yj = yj, jika y_in j = 0
0, jika y_in j < 0
Xi untuk lapisan input:
1, jika x_in i > 0
xi = xi, jika x_in i = 0
0, jika x_in i < 0
fungsi aktivasi yang digunakan untuk vektor input bipolar adalah:
Yj untuk lapisan output:
1, jika y_in j > θj
yj = yj, jika y_in j = θj
-1, jika y_in j < θj
Xi untuk lapisan input:
1, jika x_in i > θi
xi = xi, jika x_in i = θi
Dengan catatan bahwa input hasil olahan pada jaringan (x_in i atau y_in j)
sama dengan nilai threshold-nya, maka fungsi aktivasi akan menghasilkan nilai
sama dengan nilai sebelumnya. θi menunjukkan nilai ambang[11].
2.6.3. Continuous BAM
Continuous BAM akan mentransformasikan input secara lebih halus dan kontinu
ke kawasan output dengan nilai yang terletak pada range [0,1]. Fungsi aktivasi
yang digunakan adalah fungsi sigmoid.
Untuk input vektor biner, matriks bobot ditentukan sebagai:
Wij = ∑� (2*si(p) – 1)(2 * tj(p) – 1)………...(2.6)
2.6.4.Algoritma Model Bidirectional Associative Memory
Algoritma jaringa n syaraf model BAM adalah sebagai berikut:
Langkah 0: Insialisasi bobot (untuk menyimpan sekumpulan P vektor).
Inisialisasi semua aktivasi sama dengan 0.
Langkah 1: Untuk tiap-tiap input, kerjakan langkah 2-6.
Langkah 2a: Berikan input pola x kelapisan X (set aktivasi lapisan X sebagai
pola input).
Langkah 2b: Berikan input pola y ke lapisan Y (salah satu dari vektor input
tersebut biasanya di-set sebagai vektor nol).
Langkah 3: Kerjakan langkah 3-6 jika aktivasi-aktivasi tersebut belum
konvergen.
Hitung:
y_in j = ∑� Wij * xi
Hitung:
yj = f (y_in j)
Berikan informasi tersebut ke lapisan X.
Langkah 5: Perbaiki setiap unit aktivasi di lapisan X.
Hitung:
x_in i = ∑� Wij * xi
Hitung:
xi = f (x_in i)
Berikan informasi tersebut ke lapisan Y.
Langkah 6: Tes kekonvergenan. Jika vektor x dan y telah mencapai keadaan
stabil, maka iterasi berhenti, jika tidak demikian lanjutkan
iterasi[11].
2.6.5. BAM Connections Matrice
Associative (Ai, Bi) dapat digunakan secara logika dengan implikasi : jika Ai dan
Bi. Begitu pula sebaliknya: jika Bi dan Ai. Asosiasi pasangan tersebut akan
diketahui oleh BAM dengan membentuk suatu matrik bobot W. Proses untuk
membentuk matriks W ini disebut encoding. Encoding: terdapat m pasangan pola
{(A1, B1), (A2, B2), …, (Am, Bm)}. Ai = (ai1, ai2, …, ain) adalah vektor biner dengan
panjang n ; Ai ∈ {0, 1}n dan Bi = (bi1, bi2, …, bip) adalah vektor biner dengan
Formula untuk menghitung W adalah:
W = ∑all i AiT Bi, i = 1, 2, …, m………(2.7)
Dan dualitas BAM WT adalah:
WT = ∑all i (AiT Bi)T = ∑all i BiT Ai……… (2.8)
Jika dalam bentuk bipolar maka bentuk binary Ai dan Bi harus ditranform
menjadi bentuk bipolar Xi dan Yi dengan mengganti 0 dengan -1 dan 1 tetap 1,
atau dengan rumus sebagai berikut:
Xi = 2 Ai – 1………...(2.9)
Atau
Yi = 2 Bi – 1……….(2.10)
Sekarang m pasangan pola dalam bentuk bipolar {(X1, Y1), (X2, Y2), …, (Xm, Ym)}.
Xi = (xi1, xi2, …, xim), Yi = (yi1, yi2, …, bim), Xi∈ {-1, 1}n, Yi∈ {-1, 1}p.
Maka perumusan W adalah:
W = ∑all i XiT Yi , i = 1, 2, …, m………(2.11)
Dan dualitas BAM
WT = ∑all i (XiT Yi)T = ∑all i YiT Xi………(2.12)
Contoh:
misalkan kita ingin menyimpan empat asosiasi nonorthogonal, pasangan yang
disimpan masing-masing adalah (A1, B1), (A2, B2), (A3, B3), (A4, B4).
A1 = (1 0 1 0 1 0 1 0 1 0 1 0 1 0 1) B1 = (1 1 1 1 0 0 0 0 1 1)
A2 = (1 1 0 0 1 1 0 0 1 1 0 0 1 1 0) B2 = (1 1 1 0 0 0 1 1 1 0)
A4 = (1 1 1 1 0 0 0 0 1 1 1 1 0 0 0) B4 = (1 0 1 0 1 0 1 0 1 0)
Dimana m = 4, n = 15, p = 10. Langkah pertama adalah mengubah asosiasi biner
menjadi asosiasi bipolar:
X1 = (1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1)
X2 = (1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1)
X3 = (1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1)
X4 = (1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1)
Y1 = (1 1 1 1 -1 -1 -1 -1 1 1)
Y2 = (1 1 1 -1 -1 -1 1 1 1 -1)
Y3 = (1 1 -1 -1 1 1 -1 -1 1 1)
Y4 = (1 -1 1 -1 1 -1 1 -1 1 -1)
Kemudian keempat vektor dicari hasil matriks korelasinya X1TY1, X2TY2, X3TY3,
X4TY4 dan jumlahkan menjadi bentuk matriks BAM.
W = X1TY1 + … + X4TY4 kerjakan dengan rumus (2.11).
4 2 2 − 2 0 − 2 0 − 2 4 0
2 0 0 − 4 2 0 2 0 2 − 2
2 0 0 0 2 0 − 2 − 4 2 2
− 2 − 4 0 0 2 0 2 0 − 2 − 2
0 2 2 2 − 4 − 2 0 2 0 0
W = − 2 0 0 0 − 2 0 2 4 − 2 − 2
4 2 2 − 2 0 − 2 0 − 2 4 0
0 − 2 2 − 2 0 − 2 4 2 0 − 4
0 − 2 2 2 0 − 2 0 − 2 0 0
−2 − 4 0 0 2 0 2 0 − 2 − 2
0 0 2 − 2 0 2 0 2 0 0
0 0 − 2 2 0 2 − 4 − 2 0 4
Setelah (A1, B1), …,(A4, B4) stabil nilai di {0, 1}15 dikali {0, 1}10 dengan energi
masing-masing −56, −48, −60, dan −40.
BAM ini menggambarkan konvergensi cepat dan penyelesaian pola yang
akurat. Jika A = (1 0 1 0 1 0 1 0 0 0 0 0 0 0 0) ≈ A1, dengan H(A, A1) = 4,
hingga B1 berada pada satu iterasi yang sinkron, jadi (A1, B1) diambil dari memori
(A1, B2) yang stabil. Jika B = (1 1 0 0 1 0 0 0 0 0) ≈ B3, dengan H(B, B3) = 3,
hingga (A3, B3) berada pada satu iterasi yang sinkron. Salah satu pasangan
dicampur (A1, B4), (A2, B3), (A3, B2), (A4, B1) hingga sesuai dengan spesifikasi
yang benar dari 15 vektor, sehingga B1 sesuai dengan spesifikasi yang benar dari
10 variabel[3].
2.6.6. Stabilitas BAM
Stabilitas BAM didefinisikan Kosko (1988) dengan mengidentifikasikan fungsi
Lyapunov atau fungsi energy E untuk setiap state (Ai, Bi). Menurut (Zurada, 1992)
prosedur yang digunakan Kosko berdasarkan atas pendekatan dari analisis
kestabilan sistem dinamik yang dikembangkan oleh A. M Lyapunov. Yang unik
dari pendekatan Lyapunov ini adalah hanya bentuk persamaan differensialnya
yang perlu diketahui bukan nilai hasilnya.
Fungsi Lyapunov E memetakan variable-variabel sistem ke suatu bilangan
real dan menurun sejalan dengan waktu. Pada BAM, E memetakan produk
matriks-matriks ke dalam bilangan real yang dirumuskan sebagai berikut:
E(A, B) = - AWBT………(2.13)
Model BAM menggunakan interlayer feedback, dengan melewatkan data
yang lainnya. Jika pasangan pattern (A, B) dilewatkan dalam BAM, maka akan
dilakukan beberapa kali iterasi yang dapat digambarkan sebagai berikut:
A W B
B WT A’
A’ W B’
B’ WT A’’
. . .
. . .
Af W Bf
Bf WT Af
Setelah beberapa kali iterasi, (A, B) akan terkonvergensi secara tetap
menjadi (Af, Bf) dengan nilai energi minimum. Hal inilah yang menjadi
keunggulan BAM, yaitu bersifat stabil sehingga dapat mengenali proses yang tidak
sempurna[2].
2.7. Fungsi Aktivasi
Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan (layer)
yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron
pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan
sesudahnya (kecuali lapisan input dan lapisan output). Informasi yang diberikan
pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan input
sampai ke lapisan output melalui lapisan yang lainnya, yang sering dikenal
dengan nama lapisan tersembunyi (hidden layer). Tergantung pada algoritma
pembelajarannya, bisa jadi informasi tersebut akan dirambatkan secara mundur
a
F
yw
b
1
. .
.
w
wN x1
2
x
xN
1
2
Gambar 2.8 fungsi aktivasi pada jaringan syaraf sederhana[5]
Pada gambar 2.8 tersebut neuron akan mengolah N input (x1, x2, …, xN)
yang masing-masing memiliki bobot w1, w2, …, wN dan bobot bias b, dengan
rumus:
a = ∑��=1 xiwi ………(2.14)
Kemudian fungsi aktivasi F akan mengaktifasi a menjadi output jaringan y[5].
Ada beberapa fungsi aktivasi yang digunakan dalam jaringan syaraf tiruan,
antara lain:
1. Fungsi Undak Biner (hardlim)
Fungsi undak biner (step function) sering digunakan pada jaringan dengan
lapisan tunggal untuk mengkonversi input dari suatu variabel yang bernilai
kontinu ke suatu output biner (0 atau 1) dengan syntax: Y = hardlim(a).
fungsi undak biner (hardlim) dirumuskan sebagai:
y
0 x
Gambar 2.9 Fungsi Aktivasi Undak Biner
2. Fungsi Bipolar (hardlims)
Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya
saja output yang dihasilkan berupa 1, 0 atau –1. Pada matlab fungsi ini
dengan syntax: Y = hardlim(a).
y = x
y
0 x
1
-1
Gambar 2.10 Fungsi Aktivasi Bipolar
3. Fungsi Linier (Purelin)
Fungsi bipolar (hardlims) dirumuskan sebagai: Fungsi linier memiliki nilai
output yang sama dengan nilai input-nya. Pada matlab syntax yang
digunakan adalah: Y = purelin(a).
y
0 x
1
-1
[image:38.595.243.406.81.220.2]1 -1
Gambar 2.11 Fungsi Aktivasi Linier
4. Fungsi Saturating Linier (satlin)
Fungsi ini akan bernilai 0 jika input-nya kurang dari – ½, dan akan bernilai 1
jika input-nya lebih dari ½ . Sedangkan jika nilai input terletak antara – ½
dan ½, maka output-nya akan bernilai sama dengan nilai input ditambah ½.
Pada matlab syntax yang digunakan adalah: Y = satlin(a).
Fungsi Saturating Linier dirumuskan sebagai:
y
0 x
1
0,5 -0,5
Gambar 2.12 Fungsi Aktivasi Saturating Linier
5. Fungsi Symetric Saturating Linier (satlins)
Fungsi ini akan bernilai –1 jika input-nya kurang dari –1, dan akan bernilai 1
jika input-nya lebih dari 1. Sedangkan jika nilai input terletak antara –1 dan
1, maka output-nya akan bernilai sama dengan nilai input-nya. Pada matlab
syntax yang digunakan adalah: Y = satlins(a).
[image:38.595.219.431.417.526.2]y
0 x
1
-1
[image:39.595.241.408.85.214.2]1 -1
Gambar 2.13 Fungsi Aktivasi Symetric Saturating Linier
6. Sigmoid Biner (Logsig)
Fungsi ini memiliki sifat non-linier sehingga sangat baik diterapkan dalam
penyelesaian masalah yang kompleks. Keluaran dari fungsi sigmoid biner
berupa bilangan biner (0 atau 1) atau nilai yang berada di antara 0 sampai 1.
Sigmoid biner memiliki range dari (0, 1) dan didefinisikan:
) exp( 1
1 )
(
x x
f
− + =
dan fungsi turunannya adalah:
)] ( 1 )[ ( ) (
' x f1 x f1 x
f = −
Gambar 2.14 Fungsi Aktivasi Sigmoid Biner
7. Sigmoid Bipolar
x f(x)
0
Keluaran dari fungsi sigmoid bipolar berupa nilai yang berada di antara -1
sampai 1 dan didefinisikan:
1 ) exp( 1
2 )
( −
− + =
x x
f
dan turunan fungsi adalah:
[
1 ( )][
1 ( )]
2 1 ) (
' x f2 x f2 x
[image:40.595.135.464.111.416.2]f = + −
Gambar 2.15 Fungsi Aktivasi Sigmoid Bipolar -1
x f(x)
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Permasalahan
Wajah seseorang dapat digunakan untuk mendapatkan identitas dan informasi dari
seseorang. Sekarang masih banyak orang, perusahaan, dinas kependudukan
maupun pihak kepolisian mencari informasi mengenai seseorang secara manual.
Untuk mengenali siapa pemilik wajah di dalam sebuah foto secara manual tidak
efektif, tingkat keakuratannya belum tentu tepat sehingga dapat salah mengenali si
pemilik wajah.
Penyebab dan dampak dari permasalahan tersebut diperlihatkan pada
diagram ishikawa Gambar 3.1.
Salah mengenali
wajah Staf
Metode Kurang teliti
melakukan pengenalan wajah
Pengenalan wajah masih dilakukan secara
manual
Material
Harus ada foto wajah yang asli untuk dicocokkan
Prosedur Prosedur pengenalan wajah
secara manual rentan melakukan kesalahan
pengenalan
Gambar 3.1 Diagram Ishikawa Analisis Permasalahan
Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan
analisis kebutuhan non-fungsional sistem.
3.2.1. Kebutuhan Fungsional Sistem
Kebutuhan fungsional yang harus dimiliki oleh sistem pengenalan wajah adalah:
1. Sistem dapat membaca masukan berupa pola wajah dengan format jpeg.
2. Sistem dapat menghasilkan nilai biner (0 dan 1) dari citra wajah yang
dimasukkan.
3. Sistem dapat melakukan pengenalan terhadap pola wajah yang telah dilatih.
4. Sistem dapat menampilkan hasil pengenalan berupa nama pemilik wajah dan
citra wajah yang sesuai.
3.2.2. Kebutuhan Non-Fungsional Sistem
Kebutuhan non-fungsional sistem meliput i beberapa hal sebagai berikut:
1. Tampilan antarmuka sistem dapat dengan mudah dimengerti oleh pengguna
sistem.
2. Waktu respon sistem cepat, sehingga dapat mengefektifkan waktu penggunaan
sistem.
3. Data yang terdapat pada sistem berupa data yang relevan, sehingga
menghasilkan pengenalan yang tepat.
4. Sistem yang telah dibangun harus tetap dikontrol setelah selesai dibangun agar
fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang
sesuai dengan keinginan pengguna.
5. Sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih
kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut.
Pemodelan sistem pada penelitian ini menggunakan UML (Unified Modelling
Language) mencakup use case diagram, activity diagram, sequence diagram, dan
class diagram.
3.3.1. Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem, kebutuhan sistem dari sudut pandang user, dan hubungan antara use case
dengan actor. Pada diagram use case di bawah ini, ada dua actor yang berperan,
yaitu programmer dan user. Pengidentifikasian actor dan use case pada sistem ini
dilakukan dengan menjawab pertanyaan-pertanyaan berikut:
1. Siapa yang menggunakan sistem?
Jawaban: User
2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem?
Jawaban: User dan programmer
3. Apa saja yang dapat dilakukan pengguna pada sistem?
Jawaban: Melakukan pelatihan JST, melakukan pengenalan siapa pemilik wajah.
Sistem Pengenalan Wajah
Latih JST
Aktor
User Programmer
«extends»
Identifikasi Wajah
Gambar 3.2 Use Case Diagram Sistem Pengenalan Wajah
3.3.1.1. Use Case Pelatihan JST
Tabel 3.1 menunjukkan dokumentasi naratif dari use case pelatihan JST.
[image:44.595.116.511.493.730.2]
Tabel 3.1 Dokumentasi Naratif Use Case Pelatihan JST Nama Use case Pelatihan JST
Aktor Programmer dan user
Deskripsi Use case ini mendeskripsikan proses pelatihan JST
Prakondisi Sudah masuk dalam tampilan antarmuka Pelatihan
Bidang khas
Kegiatan user Respon system
1. klik setiap nama yang ada pada Pop-up menu
2. Klik tombol Pelatihan JST
1. menampilkan citra wajah dan citra wajah yang telah di-threshold pada axes, menyimpan nilai biner dari masing-masing citra wajah pada file .txt
Bidang Alternatif
1. Tekan tombol Kembali 1. Sistem menampilkan form utama
Post-kondisi Sistem telah menyimpan hasil proses pelatihan JST
Activity diagram untuk use case pelatihan JST diperlihatkan pada Gambar 3.3.
Simpan Hasil Pelatihan
Klik Setiap Nama yang ada pada Pop-up Menu
[image:45.595.115.505.86.148.2]Klik Tombol Pelatihan JST
Gambar 3.3 Activity Diagram Pelatihan JST
3.3.1.2. Use Case Identifikasi Pemilik Wajah
Berikut ini merupakan tabel dokumentasi naratif dari use case identifikasi pemilik
wajah.
Tabel 3.2 Dokumentasi Naratif Use Case Identifikasi Pemilik Wajah Nama Use case Identifikasi Pemilik Wajah
Aktor User
Deskripsi Use case ini mendeskripsikan proses identifikasi Pemilik Wajah
Prakondisi Sudah masuk dalam tampilan antarmuka Pengujian
Bidang khas
Kegiatan user Respon system
[image:45.595.228.395.213.390.2]2. Pilih wajah yang akan dikenali
2. Menampilkan wajah pada axes
3. Klik tombol Proses Identifikasi
3. Proses identifikasi wajah dengan JST BAM, menampilkan wajah dan nama si pemilik wajah
Bidang Alternatif
1. Tekan tombol Reset 1. Sistem membersihkan axes dan static text pada
2.Tekan tombol Kembali
antarmuka pengujian
1. Sistem menampilkan form utama
Post-kondisi Sistem menampilkan hasil proses identifikasi wajah dan nama si pemilik wajah
Activity diagram untuk use case identifikasi pemilik wajah diperlihatkan
pada Gambar 3.4.
Ambil Wajah
Pilih Wajah yang akan Diidentifikasi
Klik Tombol Proses Identifikasi
Tampilkan Hasil Proses Identifikasi Wajah Yang Akan
Diidentifikasi Sesuai
Tidak
[image:46.595.221.407.359.611.2]Ya
Gambar 3.4 Activity Diagram Identifikasi Pemilik Wajah
Sequence diagram merupakan interaksi antara aktor-aktor yang terdapat dalam
suatu sistem dan terjadi komunikasi yang berupa pesan.
3.3.2.1. Sequence Diagram Proses Pelatihan JST
Pada proses pelatihan JST masukan yang digunakan berupa citra wajah. Citra
wajah yang dimasukkan user diolah dengan proses grayscale yang menghasilkan
citra abu-abu 8 bit, kemudian dilakukan proses threshold nilai matriks citra
abu-abu diubah menjadi dua nilai yaitu 0 dan 1. Nilai 0 dan 1 akan diubah lagi
menjadi bipolar yaitu nilai -1 dan 1. User akan melakukan pelatihan JST dengan
[image:47.595.136.482.375.694.2]metode BAM. Sequence diagram untuk proses pelatihan JST diperlihatkan pada
Gambar 3.5.
Kontrol Pelatihan Grayscale Threshold BAM
Proses Threshold(Matriks)
Simpan (Bobot) imread(Wajah)
Gambar 3.5 Sequence Diagram Proses Pelatihan JST
3.3.2.2. Sequence Diagram Proses Pengujian JST
Pada proses pengujian JST digunakan masukan berupa citra wajah yang telah
dilatih dan citra wajah yang belum dilatih. Hasil pengujian berupa informasi
mengenai nama si pemilik wajah. Sequence diagram proses pengujian JST
diperlihatkan pada Gambar 3.6.
Kontrol Pengujian BAM
imread(Wajah)
imshow(Wajah) Proses Pengujian
[image:48.595.215.402.308.536.2]Set String(Nama)
Gambar 3.6 Sequence Diagram Proses Pengujian JST
3.4. Perancangan Antarmuka Sistem
Rancangan program akan diimplementasikan dengan menggunakan GUI Matlab
R2007b untuk mempermudah perancangan sistem. Perancangan antarmuka
utama dari perancangan antarmuka pengguna adalah untuk menciptakan suatu
komunikasi yang efektif antara manusia dan komputer. Pada tahap ini akan
dilakukan perancangan antarmuka sistem yang akan digunakan pada sistem
nantinya.
3.4.1. Form Utama
Form utama sistem merupakan form yang pertama tampil ketika sistem
[image:49.595.138.508.353.611.2]dijalankan. Rancangan form utama pada sistem ini dapat dilihat pada Gambar 3.7.
Gambar 3.7 Tampilan Rancangan Form Utama
Keterangan:
1. Tombol Deskripsi
Tombol yang menghubungkan form utama dengan form deskripsi.
SISTEM PENGENALAN CITRA WAJAH MENGGUNAKAN
JARINGAN SYARAF METODE BIDIRECTIONAL
ASSOCIATIVE MEMORY (BAM) formutama
Deskripsi
Pelatihan
Pengujian
Keluar
1
2
3
2. Tombol Pelatihan
Tombol yang menghubungkan form utama dengan form pelatihan.
3. Tombol Pengujian
Tombol yang menghubungkan form utama dengan form pengujian.
4. Tombol Melihat Wajah
Tombol yang menghubungkan form utama dengan form wajah.
5. Tombol Keluar
Tombol yang menghubungkan form utama dengan form keluar.
3.4.2. Form Deskripsi
Form deskripsi berfungsi mendeskripsikan sistem secara singkat kepada user.
[image:50.595.139.502.417.661.2]Rancangan form deskripsi diperlihatkan pada Gambar 3.8.
Gambar 3.8 Tampilan Rancangan Form Deskripsi
SELAMAT DATANG
Deskripsi:
deskripsi
Kembali
Keterangan:
1. Tombol Kembali
Tombol yang menghubungkan form deskripsi dengan form utama.
3.4.3. Form Pelatihan
Pada form pelatihan terdapat dua bagian yaitu bagian citra wajah yang akan
di-threshold dan bagian citra wajah yang telah di-di-threshold. Rancangan form
[image:51.595.109.544.316.611.2]pelatihan JST ditunjukkan pada Gambar 3.9.
Gambar 3.9 Tampilan Rancangan Form Pelatihan
Keterangan:
1. Axes 1 sampai axes 20
Tempat menampilkan citra wajah yang akan di-threshold.
Pilih: Axes 1 Axes 2 Axes 3 Axes 4 Axes 5 Axes 6 Axes 7 Axes 8 Axes 9 Axes 10 Axes 11 Axes 12 Axes 13 Axes 14 Axes 15 Axes 16 Axes 17 Axes 18 Axes 19 Axes 20 formpelatihan
Citra Wajah setelah Dithreshold
2. Axes 21 sampai axes 40
Tempat menampilkan citra wajah yang telah di-threshold.
3. Pop-up Menu
Berfungsi untuk tempat semua nama yang citra wajahnya akan dilatih.
4. Tombol Pelatihan JST
Tombol yang berfungsi untuk melakukan proses pelatihan JST.
5. Tombol Kembali
Tombol yang menghubungkan form pelatihan dengan form utama.
3.4.4. Form Pengujian
Form pengujian terdapat dua bagian yaitu bagian wajah yang akan dikenali dan
[image:52.595.119.508.366.647.2]hasil pengenalan. Rancangan form pengujian ini diperlihatkan pada Gambar 3.10.
Gambar 3.10 Tampilan Rancangan Form Pengujian
Keterangan:
formpengujian
1 4
2 5
3 6
1. Axes 1
Tempat menampilkan citra wajah yang akan dikenali.
2. Tombol Ambil Wajah
Tombol yang menghubungkan form pengujian dengan antarmuka ambil wajah.
3. Tombol Proses Identifikasi
Tombol yang berfungsi mengenali citra wajah yang diuji.
4. Axes 2
Tempat menampilkan citra wajah asli yang sesuai dengan citra wajah yang
dikenali.
5. Edit Text 1
Tempat menampilkan nama pemilik citra wajah yang sesuai dengan citra wajah
yang dikenali.
6. Tombol Reset
Tombol yang berfungsi untuk mengosongkan kembali axes yang sebelumnya
telah diisi pengguna.
7. Tombol Kembali
Tombol yang menghubungkan form pengujian dengan form utama
3.4.5. Form Keluar
Form keluar adalah form yang muncul ketika user mengklik tombol keluar pada
form utama. Rancangan form keluar ini diperlihatkan pada Gambar 3.11.
Gambar 3.11Tampilan Rancangan Form Keluar
Yakin Anda Akan Keluar?
Keluar
Ya Tidak
Keterangan:
1. Tombol Yes
Berfungsi menjawab 'Ya' pada konfirmasi keluar, maka pengguna keluar dari
sistem.
2. Tombol No
Berfungsi menjawab 'Tidak' pada konfirmasi keluar, maka antarmuka konfirmasi
keluar ditutup dan form utama tetap terbuka.
3.5. Tahapan Sistem
Gambar 3.12 Diagram Proses Sistem Secara Umum
Pengenalan pola wajah yang dilakukan dengan mengolah image terlebih
dahulu. Foto yang menjadi input di-grayscale kemudian di-threshold sehingga
mendapatkan nilai bipolar 1 dan -1. Pola masukan citra wajah yang nantinya akan
diproses dengan menggunakan metode BAM (Bidirectional Associative Memory)
berukuran 76 x 100 piksel.
Tahapan yang dilakukan dalam penelitian ini adalah:
1. Pemrosesan citra, untuk mendapatkan citra wajah hitam putih dengan
melakukan proses grayscale dan threshold.
2. Proses pelatihan, untuk memperkenalkan karakteristik dari masing-masing
citra wajah yang dimasukkan.
3. Weight adalah data yang digunakan untuk menyimpan karakteristik pola citra
4. Proses pengujian, untuk menguji citra wajah yang telah dilatih, tidak dilatih
dan pengujian citra wajah yang diberi noise.
Sebagai langkah awal dari proses pengenalan citra wajah, dilakukan pengambilan
foto wajah orang dengan kamera. Foto dipotong secara manual dengan Microsoft
Office Picture Manager dan disimpan dalam format *.jpg dengan ukuran yang
sama sebesar 76 x 100 piksel dan disimpan dalam satu file yang sama. Jumlah
citra wajah yang digunakan untuk pelatihan adalah sebanyak 80 citra yang terdiri
dari 4 orang dan masing-masing orang diwakili oleh 20 citra dengan ekspresi
wajah yang berbeda-beda. Jumlah citra wajah yang digunakan untuk pengujian
adalah sebayak 20 citra yang terdiri dari 4 orang dan masing-masing diwakili oleh
5 citra dengan ekspresi wajah yang berbeda yang diambil lagi dengan kamera.
[image:56.595.278.404.353.479.2]76
Gambar 3.13 Contoh Citra Wajah
Citra Asli Citra Biner (Threshold)
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1. Implementasi Sistem
Implementasi sistem pengenal wajah menggunakan metode Bidirectional
Associative Memory (BAM) ini dibuat dengan menggunakan bahasa pemrograman
Matlab R2007b. Penerapan sistem dilakukan dengan menggunakan komputer
dengan sistem operasi Windows Seven Ultimate dan perangkat keras Prosesor
Intel(R) Core(TM)2 Duo, CPU T6500 2.10GHz, RAM 2.00 GB, Harddisk 297.6
GB dan Monitor LCD 13.6”.
4.1.1. Tampilan Antarmuka Sistem
Sistem pengenal wajah diimplementasikan dalam beberapa tampilan antarmuka
yang terdiri dari antarmuka utama, antarmuka deskripsi, antarmuka pelatihan,
antarmuka pengujian, dan antarmuka keluar.
4.1.1.1. Antarmuka Utama
Antarmuka Utama merupakan antarmuka yang pertama kali tampil ketika aplikasi
dimulai. Antarmuka ini terdiri dari nama aplikasi, tombol deskripsi, tombol
pelatihan, tombol pengujian dan tombol keluar. Tombol-tombol ini
menghubungkan antarmuka utama dengan antarmuka lain.
Tombol deskripsi menghubungkan antarmuka utama dengan antarmuka
pelatihan. Tombol pengujian menghubungkan antarmuka utama dengan
antarmuka pengujian. Tampilan antarmuka utama ditunjukkan pada gambar 4.1.
Gambar 4.1 Tampilan Antarmuka Utama
Tombol keluar menghubungkan antarmuka utama dengan konfirmasi
[image:58.595.113.531.147.437.2]keluar. Tampilan konfirmasi keluar ditunjukkan pada gambar 4.2.
4.1.1.2. Antarmuka Deskripsi
Pada antarmuka deskripsi ditampilkan keterangan singkat tentang sistem dan
terdapat tombol kembali. Tombol kembali menghubungkan antarmuka deskripsi
dengan antarmuka utama. Tampilan Antarmuka deskripsi diperlihatkan pada
[image:59.595.113.532.228.526.2]gambar 4.3.
Gambar 4.3 Tampilan Antarmuka Deskripsi
4.1.1.3. Antarmuka Pelatihan
Pada antarmuka Pelatihan terdapat dua bagian yaitu bagian input-an citra wajah
asli dan bagian citra wajah setelah di-threshold. Terdapat 20 axes sebagai tempat
citra wajah asli yang telah di-input dan 20 axes sebagai tempat citra wajah setelah
di-threshold ketika pengguna mengklik nama-nama yang terdapat di Pop-up
Menu. Pada antarmuka pelatihan ini terdapat tombol pelatihan JST, yang
yang menghubungkan antarmuka pelatihan dengan antarmuka utama. Tampilan
[image:60.595.113.534.146.357.2]antarmuka pelatihan ditunjukkan pada gambar 4.4.
Gambar 4.4 Tampilan Antarmuka Pelatihan
Tampilan antarmuka pelatihan setelah dimasukkan citra wajah
diperlihatkan pada gambar 4.5.
Gambar 4.5 Tampilan Antarmuka Pelatihan Setelah Dimasukkan Citra
[image:60.595.121.544.459.674.2]4.1.1.4. Antarmuka Pengujian
Pada antarmuka pengujian terdapat dua bagian yaitu bagian wajah yang Akan
dikenali dan bagian hasil pengenalan wajah. Pada bagian wajah yang akan
dikenali terdapat satu tombol ambil wajah dan satu axes. Pengguna memasukkan
citra wajah dengan mengklik tombol ambil wajah sehingga akan ditampilkan
[image:61.595.117.516.250.551.2]kotak dialog pada gambar 4.6.
Gambar 4.6 Tampilan Kotak Dialog Pemilihan Wajah
Wajah yang dimasukkan ditampilkan pada axes, Pada bagian ini terdapat
tombol proses identifikasi, yang berfungsi mengenali wajah yang dimasukkan
oleh pengguna. Pada bagian hasil pengenalan wajah terdapat axes dan static text.
Axes berfungsi menampilkan wajah yang sesuai dengan dengan hasil pengenalan.
Static text berfungsi menampilkan nama pemilik citra wajah yang dikenali.
Gambar 4.7 Tampilan Antarmuka Pengujian
Pada antarmuka pengujian, tombol Reset berfungsi untuk mengosongkan
textfield dan axes yang sebelumnya telah diisi oleh pengguna. Tombol kembali
berfungsi menghubungkan antarmuka pengujian dengan antarmuka utama.
Antarmuka pengujian setelah citra wajah pengujian dikenali ditunjukkan pada
Gambar 4.8 Tampilan Antarmuka Pengujian Setelah Citra Wajah Dikenali
4.2. Pengujian Sistem
Pengujian dilakukan untuk membuktikan bahwa jaringan syaraf tiruan dengan
metode Bidirectional Associative Memory dapat digunakan untuk pengenalan citra
wajah. Pengujian hanya dibatasi pada pola citra wajah yang telah tersedia pada
sistem. Pada penelitian ini ada 3 pengujian yang dilakukan. Pertama pengujian
citra wajah yang telah dilatih, kedua pengujian citra wajah yang baru diambil