Implementasi Jaringan Syaraf Metode Bidirectional Associative Memory Untuk Pengenalan Pola Wajah

(1)

UNTUK PENGENALAN POLA WAJAH

SKRIPSI

TIKA ROMAULI SIREGAR

091401053

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN


(2)

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

MEDAN

2013


(3)

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


(4)

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


(5)

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.

10.Ales Sandro Sotardodo Panjaitan, Tian Situngkir, Desi manurung, Rosalina Situmorang, Elieser, Gina dan semua mahasiswa S1 Ilmu Komputer stambuk 2009, para senior dan junior, serta semua sahabat dan keluarga yang selalu memberikan dukungan dan semangat kepada penulis.


(6)

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,


(7)

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.

Katakunci: Jaringan Syaraf Tiruan, Bidirectional Associative Memory, Pola Wajah.


(8)

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.

Keyword: Neural Network, Bidirectional Associative Memory, Pattern Recognition


(9)

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, “Pembuatan Perangkat Lunak Identifikasi Huruf dengan Metode BAM” tahun


(10)

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 R2007b.


(11)

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 yang ada dan batasan masalah yang dimiliki dan menggunakan flowchart


(12)

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 implementasi skripsi.


(13)

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 pengembangan selanjutnya.


(14)

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 lain-lain. Penglihatan manusia bisa membedakan objek yang memiliki


(15)

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 menjadi berkurang.


(16)

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


(17)

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, 2010).


(18)

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 dibandingkan komputer.


(19)

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 kita terima sebelumnya. Sebagai contoh, manusia sering dapat mengenali


(20)

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 memperlemah sinyal.


(21)

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). Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai


(22)

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].


(23)

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].


(24)

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


(25)

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

1

x

n

Y

v

z

z

z

1 2 n

v

1 2

v

n

. . .

. . .

. . .

w

w

w

w

11 12

w

1n

w

n1

n2 nn

Nilai Input Input Layer

Hidden Layer

Nilai Output Output

Layer

Gambar 2.5 Arsitektur Multi Layer Network[12]


(26)

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.


(27)

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 X-layer adalah WT. Arsitektur BAM dapat dilihat pada gambar 2.7.


(28)

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


(29)

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


(30)

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.


(31)

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


(32)

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)


(33)

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 2 4 0 0 − 2 0 − 2 0 2 2


(34)

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 melalui W didapatkan satu arah dan melalui transpose-nya WT didapatkan arah


(35)

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 pada jaringan.


(36)

a

F

y

w

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

1


(37)

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). Fungsi linier dirumuskan sebagai:


(38)

y

0 x

1

-1

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).


(39)

y

0 x

1

-1

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

-1 1


(40)

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

f = + −

Gambar 2.15 Fungsi Aktivasi Sigmoid Bipolar

-1

x f(x)


(41)

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


(42)

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.


(43)

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.


(44)

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.

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 2. Proses pelatihan JST


(45)

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

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

1. Klik tombol Ambil Wajah 1. Menampilkan antarmuka pengambilan wajah


(46)

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

Ya

Gambar 3.4 Activity Diagram Identifikasi Pemilik Wajah


(47)

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 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 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)

Proses Pelatihan RGB2Gray(Matriks)


(48)

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

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 menguraikan bagaimana komunikasi antara sistem dengan pengguna. Tujuan


(49)

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

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


(50)

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.

Rancangan form deskripsi diperlihatkan pada Gambar 3.8.

Gambar 3.8 Tampilan Rancangan Form Deskripsi

SELAMAT DATANG

Deskripsi:

deskripsi

Kembali 1


(51)

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

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

Pelatihan JST Kembali Axes 21 Axes 22 Axes 23 Axes 24 Axes 25 Axes 26 Axes 27 Axes 28 Axes 29 Axes 30 Axes 31 Axes 32 Axes 33 Axes 34 Axes 35 Axes 36 Axes 37 Axes 38 Axes 39 Axes 40 1 3 2 4 5


(52)

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

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


(53)

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.11 Tampilan Rancangan Form Keluar Yakin Anda Akan Keluar?

Keluar

Ya Tidak

2 1


(54)

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


(55)

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


(56)

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.

76

Gambar 3.13 Contoh Citra Wajah

Citra Asli Citra Biner (Threshold)

Gambar 3.14 Urutan Pemrosesan Citra 100


(57)

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 deskripsi. Tombol pelatihan menghubungkan antarmuka utama dengan antarmuka


(58)

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 keluar. Tampilan konfirmasi keluar ditunjukkan pada gambar 4.2.


(59)

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 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


(60)

yang menghubungkan antarmuka pelatihan dengan antarmuka utama. Tampilan 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 Wajah


(61)

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 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.


(62)

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.


(63)

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 dengan kamera, ketiga pengujian citra wajah yang telah diberi noise.


(64)

4.2.1. Pengujian Citra Wajah yang telah Dilatih

Pada pengujian citra wajah masukan yang digunakan sebagai data pengujian berupa citra digital wajah dengan format .jpg atau .jpeg berukuran 76 x 100 piksel. Masukan berupa citra wajah yang telah dilatih pada sistem.

Hasil pengujian sistem ditampilkan dalam bentuk tabel. Setiap baris tabel memperlihatkan citra wajah yang diuji, nama pemilik wajah, target terhadap wajah yang dilatih dan hasil identifikasi. Sebagian hasil dari pengujian untuk data yang telah dilatih ditunjukkan pada Tabel 4.1.

Tabel 4.1 Hasil Pengujian dengan Citra Wajah Pelatihan

Wajah Nama Pemilik Wajah Target Hasil Pengenalan

Pancos Y = (1 1 1) Pancos

Pancos Y = (1 1 1) Pancos

Pancos Y = (1 1 1) Pancos

Pancos Y = (1 1 1) Pancos


(65)

Tabel 4.1 Hasil Pengujian dengan Citra Wajah Pelatihan (Lanjutan) Wajah Nama Pemilik

Wajah

Target Hasil Pengenalan

Dame Y = (-1 -1 1) Dame

Dame Y = (-1 -1 1) Dame

Dame Y = (-1 -1 1) Dame

Dame Y = (-1 -1 1) Dame

Dame Y = (-1 -1 1) Dame

Hayati Y = (1 1 -1) Hayati


(66)

Tabel 4.1 Hasil Pengujian dengan Citra Wajah Pelatihan (Lanjutan) Wajah Nama Pemilik Wajah Target Hasil Pengenalan

Hayati Y = (1 1 -1) Hayati

Hayati Y = (1 1 -1) Hayati

Hayati Y = (1 1 -1) Hayati

Winda Y = (-1 -1 -1) Winda

Winda Y = (-1 -1 -1) Winda

Winda Y = (-1 -1 -1) Winda


(67)

Winda Y = (-1 -1 -1) Winda

Dari pengujian yang dilakukan terhadap 80 wajah, wajah yang dikenali sesuai dengan target adalah 80 wajah. Dari hasil tersebut dapat disimpulkan keakuratan dalam pengenalan citra digital wajah pelatihan adalah 100%.

4.2.2. Pengujian Citra Wajah yang tidak Dilatih

Pada pengujian citra wajah masukan yang digunakan sebagai data pengujian berupa citra digital wajah dengan format .jpg atau .jpeg berukuran 76 x 100 piksel. Masukan berupa citra wajah yang tidak dilatih. Hasil dari pengujian untuk citra wajah yang tidak dilatih ditunjukkan pada Tabel 4.2.

Tabel 4.2 Hasil Pengujian Citra Wajah yang tidak Dilatih

Wajah Nama Pemilik Wajah Target Hasil Pengenalan

Pancos Y = (1 1 1) Pancos

Pancos Y = (1 1 1) Pancos


(68)

Pancos Y = (1 1 1) Pancos

Pancos Y = (1 1 1) Pancos

Tabel 4.2 Hasil Pengujian Citra Wajah yang tidak Dilatih (Lanjutan) Wajah Nama Pemilik Wajah Target Hasil Pengenalan

Dame Y = (-1 -1 1) Dame

Dame Y = (-1 -1 1) Dame

Dame Y = (-1 -1 1) Dame

Dame Y = (-1 -1 1) Dame


(69)

Hayati Y = (1 1 -1) Hayati

Hayati Y = (1 1 -1) Hayati

Hayati Y = (1 1 -1) Pancos

Tabel 4.2 Hasil Pengujian Citra Wajah yang tidak Dilatih (Lanjutan) Wajah Nama Pemilik wajah Target Hasil Pengenalan

Hayati Y = (1 1 -1) Pancos

Hayati Y = (1 1 -1) Pancos


(70)

Winda Y = (-1 -1 -1) Winda

Winda Y = (-1 -1 -1) Dame

Winda Y = (-1 -1 -1) Dame

Winda Y = (-1 -1 -1) Pancos

Dari pengujian yang dilakukan terhadap 20 citra wajah yang diambil kembali fotonya dengan kamera dan tidak dilatih, citra wajah yang dikenali sesuai dengan target berjumlah 14 citra wajah, citra wajah yang dikenali tidak sesuai dengan target berjumlah 6 citra wajah. Dari hasil tersebut dapat disimpulkan keakuratan dalam pengenalan citra wajah yang diambil kembali fotonya dengan kamera dan tidak dilatih adalah 70%.

4.2.3. Pengujian Citra Wajah yang telah Diberi Noise

Pada pengujian citra wajah masukan yang digunakan sebagai data pengujian berupa citra wajah yang diberi noise sebesar 10% hingga 100%. Tabel 4.3 di


(71)

bawah ini menunjukkan citra wajah asli yang telah diberi noise sesuai besar persentasenya.

Tabel 4.3 Citra Wajah Asli Diberi Noise sesuai Besar Presentasenya Wajah Asli Besar Noise Wajah setelah Diberi Noise

10%

20%

30%

Tabel 4.3 Citra Wajah Asli Diberi Noise sesuai Besar Presentasenya (Lanjutan)

Wajah Asli Besar Noise Wajah setelah Diberi Noise


(72)

50%

60%

70%

80%

90%


(73)

Tabel 4.4 Hasil Pengujian terhadap Citra Wajah yang telah diberi Noise

Wajah Asli

Wajah Diberi Noise

Nama Pemilik

Wajah Besar Noise

Hasil Pengenalan

Pancos1 10% Pancos

Hayati1 20% Hayati

Hayati2 30% Hayati

Winda1 40% Winda

Winda2 50% Winda


(74)

Tabel 4.4 Hasil Pengujian terhadap Citra Wajah yang telah diberi Noise (Lanjutan)

Wajah Asli

Wajah Diberi Noise

Nama Pemilik

Wajah Besar Noise

Hasil Pengenalan

Dame1 70% Dame

Dame2 80% Dame

Dame3 90% Dame

Dame4 100% Dame

Dari pengujian yang dilakukan terhadap 80 citra wajah yang diberi noise, citra wajah yang dikenali dengan besar noise 100% berjumlah 41 citra wajah. Dari hasil tersebut dapat disimpulkan keakuratan dalam pengenalan citra wajah dengan Metode BAM (Bidirectional Associative Memory) sangat tahan terhadap noise. Dengan besar 100% noise yang diberikan pada citra wajah masih dapat dikenali.


(75)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari pembahasan bab-bab sebelumnya, maka kesimpulan yang diperoleh dari penelitian ini antara lain:

1. Pengenalan pola wajah dapat dilakukan dengan metode Bidirectional

Associative Memory dengan ketepatan pengenalan pola yaitu 100%

terhadap pola yang telah dilatih dan 70% terhadap pola baru yang belum dilatih.

2. Pengenalan pola wajah dengan metode Bidirectional Associative Memory sangat tahan terhadap noise, dengan presentase noise mencapai 80%. 3. Proses pengambilan citra wajah untuk data pelatihan dalam penelitian ini

sangat mendukung proses pengenalannya seperti pencahayaan, jarak tangkap antara wajah dengan kamera.

4. Semakin banyak data yang dijadikan data pelatihan dalam BAM maka jaringan syaraf tiruan semakin bisa mempelajari input tersebut, tetapi akan mengurangi tingkat pengenalan pola.

5.2. Saran

Untuk melakukan pengembangan terhadap sistem yang telah dibangun ini, penulis menyarankan agar:


(76)

1. Sistem ini dapat dikembangkan lagi bukan hanya untuk pengenalan 4 pola wajah.

2. Perlu diadakan penelitian lebih lanjut untuk mengatasi masalah kapasitas yang rendah dalam BAM.

3. Pemotongan citra wajah sebaiknya dilakukan dengan program dan tidak dengan cara manual.

4. Perlu dilakukan penelitian untuk pengenalan pola wajah dengan metode selain metode BAM, misalnya dengan metode linear discriminant analysis, metode JST self organizing map (SOM), algoritma genetika kemudian dibandingkan agar didapat metode terbaik dalam pengenalan pola wajah.


(77)

DAFTAR PUSTAKA

[1] Adi, Dika Khrisna, 2004. Identifikasi Objek Berdasarkan Bentuk dan

Ukuran. Skripsi Teknik Elektro-Ekstensi , UNDIP,

Semarang.

[2] Azis, Anifuddin, Tanzil Kurniawan. 2006. Identifikasi Pola Sidik Jari

dengan Jaringan Syaraf Tiruan Bidirectional Associative Memory. Makalah Ilmu Komputer FMIPA, UGM.

[3] B, Kosko. 1998. Bidirectional Associative Memories, IEEE

Transactions On Systems, man, And Cybernetics, Vol. 18,

No. 1, January/February.

[4] Dwi, Eli Kurniawan. Rancang Bangun Sistem Pengenalan Wajah

Menggunakan Filter Gabor. Tesis, Juni 2012, Universitas

Diponegoro, Semarang.

[5] Kusumadewi, Sri. 2004. Membangun Jaringan Syaraf Tiruan

MenggunakanMatlab & Excel Link. Yogyakarta: Penerbit

Graha Ilmu.

[6] Pandjaitan, Lanny W. 2007. Dasar-Dasar Komputasi Cerdas. Yogyakarta: Penerbit Andi.

[7] Prasetyo, Eko. 2011. Pengolahan Citra Digital dan Aplikasinya

Menggunakan Matlab. Yogyakarta: Penerbit Andi.

[8] Pujiyanta, Ardi. Pengenalan Citra Objek Sederhana dengan Jaringan

Syaraf Tiruan Metode Perceptron. Jurnal Informatika Vol 3,

No. 1 Januari 2009, Universitas Ahmad Dahlan, Yogyakarta. [9] Puspitaningrum, Diyah. 2006. Pengantar Jaringan Syaraf Tiruan.

Yogyakarta: Penerbit Andi.

[10] Siang, Jong Jek. 2004. Jaringan Syaraf Tiruan dan Pemrogramannya

Menggenakan Matlab. Yogyakarta: Penerbit Andi.

[11] S. N. Sivanandam, S. Sumathi and S. N. Deepa. 2006. Introduction

To Neural Networks Using Matlab 6.0, Tata McGraw-Hill,

India.

[12] Wahyudi, Agung. 2010. Penerapan Algoritma. Skripsi Fakultas Teknik UI Jakarta.


(1)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in ambil.

function ambil_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uigetfile({'*.jpg','File jpeg (*.jpg)'},'Buka File Citra');

if ~isequal(nama_file,0)

gbr=imread(fullfile(nama_path,nama_file)) guidata(hObject,handles); axes(handles.axes1); imshow(gbr) handles.gray=rgb2gray(gbr); handles.thresh=graythresh(handles.gray); gbr=im2bw(handles.gray,handles.thresh); [l k] = size(gbr);

for i=1:1:l for j=1:1:k

if (gbr(i,j)==0) bar(i,j)=-1; else bar(i,j)=1; end end end

fid=fopen(['objekuji.txt'],'w'); fprintf(fid,' %d',bar);

fclose(fid);

else

return;

end;

tutup.m (Konfirmasi Keluar)

function varargout = tutup(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @tutup_OpeningFcn, ...

'gui_OutputFcn', @tutup_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout


(2)

181

else

gui_mainfcn(gui_State, varargin{:});

end

% --- Executes just before tutup is made visible.

function tutup_OpeningFcn(hObject, eventdata, handles, varargin)

% Choose default command line output for tutup

handles.output = 'Yes';

guidata(hObject, handles);

if(nargin > 3)

for index = 1:2:(nargin-3),

if nargin-3==index, break, end

switch lower(varargin{index}) case 'title'

set(hObject, 'Name', varargin{index+1}); case 'string'

set(handles.text1, 'String', varargin{index+1}); end

end end

FigPos=get(0,'DefaultFigurePosition'); OldUnits = get(hObject, 'Units'); set(hObject, 'Units', 'pixels'); OldPos = get(hObject,'Position'); FigWidth = OldPos(3);

FigHeight = OldPos(4);

if isempty(gcbf)

ScreenUnits=get(0,'Units'); set(0,'Units','pixels');

ScreenSize=get(0,'ScreenSize'); set(0,'Units',ScreenUnits);

FigPos(1)=1/2*(ScreenSize(3)-FigWidth); FigPos(2)=2/3*(ScreenSize(4)-FigHeight);

else

GCBFOldUnits = get(gcbf,'Units'); set(gcbf,'Units','pixels');

GCBFPos = get(gcbf,'Position'); set(gcbf,'Units',GCBFOldUnits);

FigPos(1:2) = [(GCBFPos(1) + GCBFPos(3) / 2) - FigWidth / 2,

...

(GCBFPos(2) + GCBFPos(4) / 2) - FigHeight / 2];

end

FigPos(3:4)=[FigWidth FigHeight]; set(hObject, 'Position', FigPos); set(hObject, 'Units', OldUnits);

% Show a question icon from dialogicons.mat - variables questIconData

% and questIconMap


(3)

IconData=questIconData;

questIconMap(256,:) = get(handles.figure1, 'Color'); IconCMap=questIconMap;

Img=image(IconData, 'Parent', handles.axes1); set(handles.figure1, 'Colormap', IconCMap);

set(handles.axes1, ...

'Visible', 'off', ...

'YDir' , 'reverse' , ...

'XLim' , get(Img,'XData'), ...

'YLim' , get(Img,'YData') ...

);

% Make the GUI modal

set(handles.figure1,'WindowStyle','modal')

% UIWAIT makes tutup wait for user response (see UIRESUME)

uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = tutup_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

delete(handles.figure1);

% --- Executes on button press in btn_yes.

function btn_yes_Callback(hObject, eventdata, handles) handles.output = get(hObject,'String');

% Update handles structure

guidata(hObject, handles);

uiresume(handles.figure1);

% --- Executes on button press in btn_no.

function btn_no_Callback(hObject, eventdata, handles) handles.output = get(hObject,'String');

% Update handles structure

guidata(hObject, handles);

uiresume(handles.figure1);

% --- Executes when user attempts to close figure1.

function figure1_CloseRequestFcn(hObject, eventdata, handles)

if isequal(get(handles.figure1, 'waitstatus'), 'waiting') uiresume(handles.figure1);


(4)

183

else

delete(handles.figure1);

end

function figure1_KeyPressFcn(hObject, eventdata, handles)

if isequal(get(hObject,'CurrentKey'),'escape') handles.output = 'No';

guidata(hObject, handles);

uiresume(handles.figure1);

end

if isequal(get(hObject,'CurrentKey'),'return') uiresume(handles.figure1);

end


(5)

Nama

: Tika Romauli Siregar

Alamat Sekarang

: Jl. Kapodang 1, P. Mandala, Seriti 4, no 295

Alamat Orang tua

: Jl. Sisingamangaraja, No. 99, Minas, Pekanbaru

Telp/Hp

: 08566365408

Email

Riwayat Pendidikan

2009-2013

: S1 Ilmu Komputer Universitas Sumatera Utara, Medan

2005-2008

: SMA Negeri 1 Minas

2002-2005

: SMP Negeri 1 Minas

1996-2002

: SD Negeri 11 Minas

Keahlian/Kursus yang diikuti


(6)