• Tidak ada hasil yang ditemukan

HYBRID ALGORITMA LEARNING VECTOR QUANTIZATION (LVQ) PADA PENGENALAN WAJAH MENGGUNAKAN WEBCAM TESIS PARINI

N/A
N/A
Protected

Academic year: 2022

Membagikan "HYBRID ALGORITMA LEARNING VECTOR QUANTIZATION (LVQ) PADA PENGENALAN WAJAH MENGGUNAKAN WEBCAM TESIS PARINI"

Copied!
69
0
0

Teks penuh

(1)

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperolah ijazah Magister Teknik Informatika

PARINI 167038003

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2018

(2)

Diajukan untuk melengkapi tugas dan memenuhi syarat memperolah ijazah Magister Teknik Informatika

PARINI 167038003

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2018

(3)
(4)

HYBRID ALGORITMA LEARNING VECTOR QUANTIZATION (LVQ) PADA PENGENALAN WAJAH MENGGUNAKAN WEBCAM

TESIS

Saya mengakui bahwa Tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 10 Agustus 2018.

PARINI

167038003

(5)

PERNYATAAN PERSETUJUAN PUBLIKASI

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini :

Nama : Parini

NIM : 167038003

Program Studi : Magister Teknik Informatika Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul :

HYBRID ALGORITMA LEARNING VECTOR QUANTIZATION (LVQ) PADA PENGENALAN WAJAH MENGGUNAKAN WEBCAM

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasi tesis saya tanpa meminta izin dari saya selama tetap mencantum nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 10 Agustus 2018

PARINI

167038003

(6)

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Muhammad Zarlis

Anggota : 1. Prof. Dr. Herman Mawengkang

2. Dr. Syahril Efendi, ST., M.Kom 3. Prof. Dr. Tulus

4. Prof. Dr. Muhammad Zarlis

(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap : Parini, M.Kom

Tempat dan Tanggal Lahir : Hessa Air Genting, 22 Agustus 1991

Alamat Rumah : Hessa Air Genting, Kec. Air Batu, Kab. Asahan Telepon/ HP : 082361896088

Email : [email protected]

Instansi Tempat Bekerja : Kampus STMIK-AMIK ROYAL Kisaran

Alamat Kantor : -

DATA PENDIDIKAN

SD : SDN 014668 Huta Ginjang Tamat : 2004

SLTP : MTS Islamiyah HAG Tamat : 2007

SLTA : SMK Yapim Simpang Kawat Tamat : 2010

D3 : AMIK Royal Kisaran Tamat : 2013

S1 : STMIK Royal Kisaran Tamat : 2015

S2 : Teknik Informatika USU Tamat: 2018

(8)

Alhamdulillah, puji syukur kehadirat Allah SWT yang telah memberikan keselamatan dan kesehatan dalam menyelesaikan penelitian ini, tak lupa pula shalawat kepada Nabi Muhammad SAW salut untuk perinsip dan keteladanan, sunah menjadikan hidupku lebih bersemangat untuk tetap berada dijalan dan pengikutmu.

Untuk kedua pasang bidadariku Bapak dan Mamak dan suami tercinta yang tak pernah kenal lelah mengepakkan sayap kasih dan cintanya, meski peluh dan kerut di dahi yang tak pernah berhenti terlihat di setiap langkah kalian, tesis ini dedikasikan untuk kalian sebagai bukti baktiku kepada kalian, meski ku tahu ini tak akan pernah cukup untuk menggantikan semua peluh yang tertumpah disepanjang perjalan hidup untuk aku. Masih begitu ku ingat ketika ku lihat setiap peluh yang mengalir diantara kerut diwajah kalian, aku tahu begitu lelah, begitu lemah bahkan air mata ini selalu tertumpah ketika aku harus melihat kalian seperti itu, terimah kasih, telah mendengarkan setiap keluh kesahku, semua ingin ku selalu ingin engkau penuhi meski ku tahu terkadang sulit bagi kalian. Bila ditanya apa yang paling aku selalu ingin dari kalian, maka hal itu adalah “DOA” dan CINTA”. Karena doa lah yang paling di dengar oleh Allah, aku mencintai kalian biarkan sisa seluruh hidupku ku baktikan untuk kalian, tetaplah kepakkan sayap kasih dan cinta untuk aku. Karena kebahagian kalian adalah kebahagianku. Maka hal yang paling membuat aku bahagia adalah melihat kalian tersenyum bahagia karnaku.

Sosok yang begitu mulia, mereka adalah Bapak dan Ibu Yayasan Pendidikan Royal Teladan Asahan yang menaungi kampus STMIK-AMIK Royal Kisaran saya mengucapkan banyak ribuan terima kasih atas bantuan bapak dan ibu yang telah memberikan saya beasiswa untuk dapat melanjutkan pendidikan program pascasarjana Teknik Informatika di Universitas Sumatera Utara sampai dengan selesai.

Begitu juga untuk Bapak dan Ibu Dosen Universitas Sumatera Utara,

1. Bapak Prof. Dr. Runtung Sitepu, SH, M.Hum selaku Rektor Universitas Sumatera

Utara.

(9)

2. Bapak Prof Dr. Opim Salim Sitompul, M. Sc Selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi.

3. Bapak Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi Magister Teknik Informatika beserta Bapak Dr. Syahril Efendi, S.Si., M.IT selaku Sekretaris Program Studi Magister Teknik Informatika beserta seluruh staf kependidikan dan pengajar program studi teknik informatika program Pascasarjana Fakultas Ilmu Komputer Universitas Sumatera Utara.

4. Bapak Prof. Dr. Herman Mawengkang selaku pembimbing pertama saya dan Bapak Dr. Syahril Efendi, S.Si., M.IT selaku pembing kedua yang telah membimbing saya hingga tesis ini terselesaikan dengan baik.

5. Bapak Prof Dr. Tulus selaku Penguji pertama saya dan Prof. Dr. Muhammad Zarlis selaku penguji kedua yang telah memberikan saran dan masukan serta arahan yang baik dalam menyelesaikan tesis ini.

Terima kasih untuk semua ilmu yang telah Bapak/Ibu berikan,Karena Ilmu adalah harta yang tak ternilai harganya, Bekal yang tak terganti untuk kami menjalani bahtera hidup ini.

Terimakasih juga buat keluarga dan sahabat khususnya buat M.TI KOM A USU 2016 dan teman yang sudah membantu penelitian ini sampai dengan selesai, Allah Maha Bijak menciptakan sahabat/teman tanpa harga, karena jika Allah memberikan harga, maka Aku tak kan mampu membelinya. Jika suatu hari, entah kapanpun aku tak bernafas lagi, ketahuilah sahabat, hadiah terindah yang pernah ku dapat adalah

“MENGENAL KALIAN”. buat keluarga dan sahabat terima kasih, semoga kita sukses. Amin…

Medan , 10 Agustus 2018

Parini

167038003

(10)

Pada penelitian ini dilakukan hybridisasi algoritma Learning Vector Quantization (LVQ) dengan Self Organizing Kohonen untuk pengenalan wajah menggunakan webcam. Teknik hybrid yang dilakukan adalah algoritma Kohonen digunakan untuk pembobotan awal dan hasil pembobotan tersebut dimasukkan ke algoritma LVQ untuk mendapatkan hasil pelatihan berupa bobot akhir yang digunakan untuk pengenalan wajah. Data yang digunakan pada penelitian ini adalah wajah berupa citra digital hasil akusisi dengan alat digital berupa camera yang akan digunakan untuk pembelajaran (learning data set) dan sekumpulan citra untuk pengujian (testing data set). Pada tahap awal proses citra wajah (preprocessing) digunakan untuk menyiapkan citra wajah input untuk dijadikan masukan ke dalam jaringan. Tahap preprocessing pada penelitian ini terbagi menjadi empat tahap yaitu pembacaan citra, grayscaling, deteksi tepi operator Sobel serta binerisasi. Hasi pengujian diperoleh persentase keberhasilan pengenalan pada wajah dengan algoritma LVQ sebesar 57.03 %, Kohonen sebesar 52.59 % dan Hybrid sebesar 68.88 %. Sedangkan rata-rata waktu proses pengenalan adalah untuk LVQ sebesar 2.64 detik, Kohonen sebesar 2.61 detik dan Hybrid 2.59 detik. Dari hasil diatas dapat disimpulkan bahwa dari segi akurasi algoritma Hybrid sedikit lebih unggul dari pada Kohonen yaitu 16.29 % dan dari segi waktu algoritma Hybrid lebih cepat dari algoritma LVQ sebesar 0.05 detik dan Kohonen sebesar rata- rata 0.02 detik.

Keyword: Pengenalan wajah, Jaringan Syaraf Tiruan, Learning Vector Quantization

(LVQ),Self Organizing Kohonen, Webcam.

(11)

HYBRID ALGORITMA LEARNING VECTOR QUANTIZATION (LVQ) PADA PENGENALAN WAJAH MENGGUNAKAN

WEBCAM

ABSTRACT

In this research, hybridization of Learning Vector Quantization (LVQ) algorithm with Self Organizing Kohonen for face recognition using webcam. Hybrid technique performed is Kohonen algorithm used for initial weighting and the result of weighting is inserted into LVQ algorithm to get result of training in the form of final weight used for face recognition. The data used in this study is the face of a digital image of the acquisition with a digital tool in the form of a camera that will be used for learning (learning data set) and a set of images for testing (testing data set). In the early stages of the process the image of the face (preprocessing) is used to prepare the image of the input face to be input into the network. The preprocessing stage in this research is divided into four stages: image readings, grayscaling, Sobel operator edge detection and binaryization. The result of the test is the percentage of facial recognition success with LVQ algorithm is 57.03%, Kohonen is 52.59% and Hybrid is 68.88%. While the average time of the introduction process is for LVQ of 2.64 seconds, Kohonen of 2.61 seconds and Hybrid 2.59 seconds. From the above results can be concluded that in terms of accuracy Hybrid algorithm slightly superior to the Kohonen is 16.29% and in terms of time Hybrid algorithm faster than LVQ algorithm of 0.05 seconds and Kohonen an average of 0.02 seconds.

Keyword: Facial recognition, Neural Network, Learning Vector Quantization (LVQ),

Self Organizing Kohonen, Webcam.

(12)

Hal

Persetujuan ii

Pernyataan ii

Pernyataan Persetujuan Publikasi i

Riwayat Hidup vi

Ucapan Terima Kasih vii

Abstrak ix

Abstract x

Daftar Isi xi

Daftar Tabel xiii

Daftar Gambar xiv

Bab I Pendahuluan 1

1.1. Latar Belakang Masalah 1

1.2. Rumusan Masalah 2

1.3. Batasan Penelitian 3

1.4. Tujuan Penelitian 3

1.5. Manfaat Penelitian 3

Bab II Landasan Teori 5

2.1 Pengenalan Pola 5

2.2 Citra 5

2.2.1 Citra Grasycale 6

2.2.2 Thresholding 7

2.3 Tahap Citra Processing Citra 8

2.4 Jaringan Syaraf Biologi 8

2.5 Jaringan Syaraf Tiruan (Neural Network) 10

2.6 Jaringan Syaraf LVQ 12

2.7 Jaringaan Syaraf SOM 13

Bab III Metodologi Penelitian 16

(13)

3.1 Metodologi Penelitian 16

3.1.1 Analisis Sistem 17

3.1.2 Bagan Rancangan Penelitian 18

3.2 Data yang digunakan 19

3.3 Pembacaan File Citra 20

3.4 Menghitung Nilai Citra Grayscale Citra 21

3.5 Deteksi Tepi 22

3.6 Binerasi 24

3.7 Flowchart Pengenalan Wajah dengan Algoritma LVQ 25 3.8 Flowchart Pengenalan Wajah dengan Algoritma SOM 27 3.9 Flowchart Pengenalan Wajah dengan Algoritma Hibridisasi 28

3.10 Perhitungan dengan LVQ 30

3.11 Perhitungan dengan SOM 37

3.12 Perhitungan dengan Hibridisasi 39

Bab IV Hasil dan Pembahasan 43

4.1 Pendahuluan 43

4.2 Analisis Proses 43

4.3 Hasil Analisis 45

4.3.1 Pemasukkan data training 45

4.3.2 Modul Training Algoritma Hybrid 46

4.3.3 Modul Recognition Algoritma Hybrid 47

4.4 Pembahasan 49

Bab V Kesimpulan dan Saran 52

5.1 Kesimpulan 52

5.2 Saran 52

Daftar Pustaka 53

Lampiran 54

(14)

Hal Tabel 2.1 Perbedaan JST Biologis dengan JST Tiruan 9

Tabel 3.1 Data Vektor 30

Tabel 3.2 Data Bobot 30

Tabel 3.3 Data Latih 31

Tabel 4.1 Parameter Jaringan Pengujian Agoritma 49

Tabel 4.2 Hasil Pengujian Penalan Wajah 50

(15)

DAFTAR GAMBAR

Hal

Gambar 2.1 Intensitas Grayscale 5

Gambar 2.2 Citra Grayscale 6

Gambar 2.3 Citra Threshold 7

Gambar 2.4 Alur Tahap Prepocessing Citra menjadi Threshold 7

Gambar 2.5 Susunan Neuron Biologis 9

Gambar 2.6 Model Sederhana Neuron 11

Gambar 2.7 Arsitektur Jaringan SOM 14

Gambar 3.1 Bagan Rancangan penelitian 18

Gambar 3.2 Citra Wajah 19

Gambar 3.3 Contoh Nilai Piksel Citra Warna 20

Gambar 3.4 Matriks Nilai RGB Citra Warna 21

Gambar 3.5 Matriks Nilai Grayscale 22

Gmbar 3.6 Dua Buah Matriks Kernel 22

Gambar 3.7 Citra 3X3 Pixel dengan dua filter 23

Gambar 3.8 Nilai Konvolusi (M) Sekitar Piksel 3x3 23 Gambar 3.9 Matriks Hasil Deteksi Tepi Citra 3X3 23

Gambar 3.10 Matriks Citra Biner 24

Gambar 3.11 Citra Wajah Biner 25

Gambar 3.12 Flow Chart Pengenalan Wajah dengan Algoritma LVQ 25 Gambar 3.13 Flow Chart Pengenalan Wajah dengan Algoritma LVQ (Lanjutan) 26 Gambar 3.14 Flow Chart Pengenalan Wajah dengan Algoritma SOM 27 Gambar 3.15 Flow Chart Pengenalan Wajah dengan Algoritma Hibridisasi 28 Gambar 3.16 Flow Chart Pengenalan Wajah dengan Algoritma Hibridisasi

(Lanjutan) 29

Gambar 4.1 Tampilan Pemasukan Data Training 46

Gambar 4.2 Tampilan Modul Training Algoritma Hybrid 47

Gambar 4.3 Tampilan Modul Recognition Algoritma Hybrid 48

(16)

1.1 Latar Belakang

Wajah merupakan komponen utama pada pokus tubuh manusia yang utama menjadi perhatian di dalam interaksi sosial untuk penanda atau mengenali seseorang, Oleh karena itu wajah digunakan untuk hal lain seperti untuk keperluan pencatatan data penduduk, proses pengamanan dan absensi dengan menggunakan proses pengenalan wajah.

Kebanyakan proses kehadiran di kantor ataupun diperusahaan dilakukan dengan mengisi buku kehadiran dengan menggunakan mesin sidikjari, ditinjau dalam keamanan, proses ini memiliki kelemahan yakni dalam proses kehadiran selalu mengalami human eror semacam scan siddik jari susah untuk diterima. Hal ini disebabkan status jari yang tidak konvensional, semacam basah, kotor, terlalu kering, atau pun luka pad jari dan akhirnya sistem tidak bisa menerima, maka pengendalian masalah tersebut membutuhkan suatu metode cepat tepat dan akurat.

Komponen dari ilmu komputer yang dapat menghasilkan mesin komputer dapat bekerja dengan cara yang cepat, tepat serta akurat adalah kecerdasan buatan (Artificial Intelligence). Salah satu bagiannya adalah jaringan syaraf tiruan (JST), Jaringan tersebut merupakan proses informasi dengan desain mengikuti gaya pengoperasian otak manusia untuk dapat melakukan suatu proses ajaran pada perubahan bobot. Dalam jaringan syaraf tiruan (JST) disusun untuk diaplikasikan secara spesifik, sama halnya dalam pemahaman pada pola ataupun dalam pembagian data dengan sistem pengkajian.

Pada sistem tersebut jaringan syaraf tiruan (JST) diinputkan pola agar dapat

memberikan jawaban yang bisa diterima pada jaringan.

(17)

Beberapa peneliti telah melakukan penelitian tentang jaringan syaraf tiruan (JST) diantaranya pada penelitian Rudy Chandra (2017) dengan judul penelitian Sistem Absensi Menggunakan Wajah pada Jaringan Syaraf Tiruan dengan Menggunakan Algoritma Learning Vector Quantization (LVQ) dengan hasil penelitian Maksimal Epoch sebesar 20 dan threshold 50 didapat akurasi ketepatan pengenalan pola wajah sebanyak 75% melalui 20 sampel dan 15 yang sesaui target karena dalam penelitian, penulis memakai algoritma Learning Vector Quantization (LVQ), dengan menyarankan sebaiknya dikombinasikan dengan algoritma SOM kohonen sehingga mendapatkan hasil yang lebih cepat dan akurat dalam mencari kecocokan wajah. Selanjutnya penelitian Emnita Br Ginting (2013) dengan judul penelian Kombinasi Algoritma Jaringan Syaraf Tiruan Learning Vector Quantization (LVQ) dan Self Organizing Kohonen pada kecepatan pengenalan pola tandatangan dengan kesimpulan aplikasi pada jaringan syaraf tiruan (JST) dalam mengkombinasi algoritma tersebut dapat mempercepat pada proses komputasi baik pada saat training/percobaan maupun saat recoqnition.

LVQ merupakan proses training bagi kelas yang masuk akal (kompetitif) terjaga dalam belajarnya secara reflkes/otomatis hal ini untuk dapat mengelompokkan seluruh vektor masukkan kedalam suatu kelas yang spesifik. Kelas tersebut dapat menghasilkan tergantung pada jarak antara vektor pada masukkan. Jika ada 2(dua) vektor masukkan yang mendekati maka pada lapisan yang kompetitif akan mengelompokkan ke 2(dua) vektor masukkan tersebut kedalam kelas yang sama.

Jaringan Self Organizing Maps (SOM) atau Kohonen yang merupakan bagian dari

versi jaringan syaraf tiruan (JST) yang dapat menerapkan cara atau proses pengkajian

tidak supervisi atau tidak terdidik (unsupervised learning) yang menyamai dengan versi

jaringan syaraf manusia dengan prilaku antropometric. dengan ditunjukkannya suatu

kemampuan yang dpaat menerima masukkan dan aksinya yang normal dimiliki pada

manusia (Valentruf, 1995). Kehebatan yang lain dari algoritma Self Organizing Maps

(SOM) atau Kohonen yakni dapat menggambarkan data yang berukuran tinggi kedalam

versi denah yang berukuran rendah. Merujuk penelitian diatas, dari kedua algoritma

yang dipaparkan penulis melakukan kombinasi algoritma dengan memilih kelebihan

pada algoritma tersebut dengan mengambil judul penelitian “ Hybrid Learning Vektor

Quantization (LVQ) Pada Pengenalan Wajah Menggunakan Webcam”

(18)

1.2 Rumusan Masalah

Adapun suatu rumusan masalah pada penelitian saya ini adalah bagaimana cara dalam sebuah peningkatan kecepatan pada sistem pengenalan pada wajah dengan meng- hybridkan algoritma learning vektor quantization (LVQ) dan algoritma self organizing maps (SOM) atau kohonen dan mengidentifikasikan wajah sebagai kunci absensi.

1.3 Batasan Masalah

Adapun batasan-batasan masalah pada penelitian saya ini adalah sebagai berikut:

1. Masukkan (input) pada data training/pelatihan dan percobaan berupa citra wajah berekstensi *.bmp.

2. Jumlah wajah yang akan diidentifikasikan sebanyak 10 wajah.

3. Wajah tidak akan terdeteksi apabila tidak memiliki dahi, mata, hidung, mulut, dan dagu.

4. Wajah yang dapat terdeteksi harus memiliki pencahayaan yang baik.

5. Akurasi dan kecepatan pada pengenalan pola wajah yang dilakukan dengan meng-hibridisasikan algoritma learning vector quantization (LVQ) dengan algoritma self organizing maps (SOM) atau kohonen.

1.4 Tujuan Penelitian

Adapun tujuan pada penelitian saya ini adalah sebagai berikut:

1. Meng-hibridisasikan algoritma learning vector quantization (LVQ) dengan algoritma self organizing maps (SOM) atau kohonen agar dapat mempercepat pengenalan pada pola wajah.

2. Untuk dapat mengimplementasikan jaringan syaraf tiruan learning vector quantization (LVQ) dalam penegenalan wajah serta menjadikan wajah sebagai kunci utama dalam proses salah satunya pada absensi.

1.5 Manfaat Penelitian

Manfaat penelitian saya iniadalah sebagai berikut:

(19)

1. Agar dapat mengaplikasikan pengenalan wajah pada absensi dengan cara kerja yang cepat, tepat dan akurat.

2. Menambah pengetahuan penulis dalam jaringan syaraf tiruan khusunya

mengkombinasi algoritma learning vector quantization (LVQ) dan algoritma self

organizing maps (SOM) atau kohonen.

(20)

BAB 2

LANDASAN TEORI

2.1 Pemahaman Pola

Pemahaman pada pola merupakan bagian ilmu untuk mengatogorikan atau memetakan sesuatu yang bersumberkan penilaian kuantitatif pada fitur (ciri) ataupun versi yang utama pada suatu objek. Pemahan pola sendiri merupakan suatu objek yang terkelompokkan dan dapat dicocokkan dan dapat diberi suatu nama. Pola juga bisa merupakan suatu kumpulan hasil atau pemantauan dan biasa dinyatakan dalam notasi vektor atau matriks (Putra, 2010).

2.2 Citra

Citra merupakan gambaran, kesamaan, ataupun suatu objek atau suatu imitasi (Sutoyo, dkk. 2009). Citra output merupakan proses rekaman data yang berupa optik seperti foto, yang berversi analog seperti sinyal yang ada di video, gambar yang dilayar televisi, atau berversi digital secara langsung di save pada media penyimpanan pada komputer.

Bentuk pada citra analog dan citra digital sering kita temui dalam kehidupan sehari-

hari, citra analog seperti foto yang tercetak dikertas, sebuah lukisan dikanvas atau kertas

dan lain sebagainya, citra ini berversi kontiniu, seperti gambar pada monitor televisi,

poto sinar-x, pengamatan pada alam, hasil scanan, gambar yang terekam pada suatu pita

kaset, dan lain sebagainya. Citra analog tidak dapat disajikan dikomputer sehingga

secara langsung tidak akan bisa diproses pada sebuah komputer.

(21)

Sedangkan pada citra digital merupakan citra mempunyai jenis dan ukuran file yang dapat diolah oleh komputer sehingga dapat terstruktur dalam model raster (grid). Pada setiap kotak (tile) yang terjadi dinamakan piksel dan mempunyai titik kordinat (x,y).

pada sumbu x (horizontal) : kolom (column), sumbu y (vertikal) : baris (row,line). Dan pada setiap piksel mempunyai nilai value atau number) yang menyatakan warna keabuan pada piksel tersebut. tingkat keabuan mencitrakan gray level (Ainun, 2014).

2.2.1 Citra Grasycale

Grasycale merupakan suatu derajat yang berwarna keabu-abuan dalam suatu piksel dan pada citra yang berisikan informasi intensitas dengan warna putih dan hitam.

Citra yang dapat dinyatakan Grayscale saat pada citra tidak mempunyai warna RGB atau bisa dikatakan suatu citra yang mempunyai nilai pada warna putih yang mempunyai pencahayaan yang paling tinggi sampai warna hitam mempunyai pencahayaan yang sangat rendah, seperti pada gambar 2.1 dibawah ini.

Gambar 2.1 Intensitas Grayscale

Citra grayscale yang terdiri dari sumbu x dan y dalam sebuah titik koordinat dan

mempunyai sebuah nilai pencahayaan pada masing-masingnya. Pada suatu citra

grayscale pada gambar mempunyai pencahayaan dengan nilai 0 disebut warna hitam

sampai 255 dengan warna putih dalam citra 8 bit-nya dan dapat dilihat pada gambar

2.2 dibawah ini.

(22)

Gambar 2.2 Citra Grayscale

Dalam perhitungan algoritma pada tingkat warna keabuan, piksel pada suatu citra yang terdapat warna RGB (Red, Green, dan Blue) di ubah menjadi warna pada tingkat keabuan (I) dengan menilai semua nilai dengan warna lalu dibagi menjadi tiga sehingga mendapatkan nilai rata-rata.

2.2.2 Thresholding

Threshold merupakan suatu cara untuk memperkuat citra dengan merubah citra menjadi hitam dan putih (2 bit). didalam threshold ini, harus menetapkan suatu variable yang dapat berfungsi sebagai batas untuk mengkonversi elemen matriks citra menjadi hitam atau putih. Jika dalam nilai elemen matriks, dikonversi menjadi nilai Nol/0 (hitam), jika diatas nilai ini, elemen dikonversi menjadi 1.Untuk citra RGB, terlebih dahulu diubah menjadi grayscale.

Gambar 2.3 Citra Threshold

(23)

2.3 Tahap Processing Citra

Pada tahap ini image akan diubah dari citra yang memiliki 3 layer RGB menjadi 8 bit derajat dengan warna keabuan dan akhirnya diubah kembali menjadi citra 2 bit yaitu wana hitam dan putih. Pada sistem thresholding ini merupakan sistem perubahan pencahayaan pada suatu citra, sehingga untuk membuat thresholding dengan derajat warna keabuan tahap preprosesing citra dapat dilihat seperti pada gambar 2.4.

Gambar 2.4 Alur Tahap Preprocessing Citra menjadi Threshold

2.4 Jaringan Syaraf Biologi

Pada Otak manusia mempunyai susunan yang obsesi yang luar biasa. Otak terdiri dari

neuron-neuron dan terkait yang merupakan sinapsis. Neuron dapat bekerja yang

didasari simpul/sinyal yang diberi untuk neuron. Neuron menyambungkannya pada

neuron lain. Yang diperkirakan manusia dapat mempunyai 1012 neuron serta 6x1018

sinapsisnya. Dengan total yang begitu banyak, otak juga dapat megidentifikasi pola,

dapat berhitung, dan meninjau organ-organ tubuh dengan kecepatan yang lebih tinggi

dibandingkan komputer digital (Puspitaningrum, 2006).

(24)

Gambar 2.5 Susunan Neuron Biologis

Dibawah ini merupakan perbedaan terminologis antara jaringan syaraf biologis dan tiruan dapat dilihat pada tabel 2.1 dibawah ini:

Tabel 2.1 Perbedaan Jaringan Syaraf Biologis dengan Jaringan Syaraf Tiruan (Puspitaningrum, 2010).

Komponen penting neuron ada 3 yaitu dendrit, soma dan axon. Dengan alur dendrit menerima sinyal dari neuron lain, lalu sinyal tersebut dapat berupa impuls elektrik yang dikirim melalui celah sinaptiknya melalui sistem kimia. Dan sinyal tersbut dapat dimodif dengan pilihan diperkuat ataupun diperlemah dicelah sinaptik.

Selanjutnya menjumlahkan semua sinyal yang masuk, jika jumlah tersebut cukup kuat

dan lebih dari batas ambang (threshold) , maka sinyal tersebut akan meneruskan ke sel

lain melalui axon. Penerusan dalam Frekuensi sinyal dapat berbeda antara satu sel

(25)

dengan yang lain. Neuron pada biologi adalah proses yang "fault tolerant" terdapat 2 hal yaitu:

1. Manusia dapat mengidentifikasi sinyal keluaran yang berbeda dari yang pernah diterima pada sebelumnya. Dengan contoh, manusia dapat mengidentifikasi wajahnya dengan yang pernah dilihat dari poto ataupun dapat mengidentifikasi wajahnya yang berbeda hal ini dikarenakan sudah lama tidak dijumpainya.

2. Pada Otak manusia tetap dapat bekerja walaupun ada beberapa neoronnya tidak mampu bekerja dengan baik, jika pada neuron rusak, neuron lain terkadang dapat dilatih untuk dapat menjadikan fungsi sel yang sudah rusak tersebut.

2.5 Jaringan Syaraf Tiruan (Neural Network (NN))

Pada jaringan syaraf tiruan (JST) adalah suatu proses pengkajian yang di gagaskan dari jaringan proses pengkajian bilogis yang terjadi dari jaringan sel syaraf yang terhubung satu dengan yang lainnya. (Silvia, 2007).

Beberapa jenis jaringan syaraf tiruan (JST) adalah sebagai berikut:

1. Jaringan syaraf tiruan (JST) merupakan suatu model proses informasi berbasis komputer yang dapat mempresentasikan dan memodelkan suatu sistem syaraf biologis.

2. Model matematik yang menyimpan sejumlah besar elemen proses yang dikumpulkan dalam lapisan.

3. Suatu proses komputasi yang dapat dibuat dari sejumlah elemen proses yang sederhana dan saling dikoneksikan agar dapat diproses dalam informasi melalui masukan dari luar dan dapat inresponsi keadaan yang dinamis.

4. Jaringan syaraf tiruan merupakan teknologi komputasi yang berbasis hanya pada model syaraf biologis dan mencoba mengaplikasikan tingkah laku dan kerja model syaraf.

5. Jaringan syaraf tiruan merupakan suatu proses informasi yang memiliki karakteristik sama dengan jaringan syaraf biologi. Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematik dari jaringan syaraf biologi, dnegan asumsi bahwa:

a. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).

b. Sinyal dikirimkan antara neuron-neuron dengan penghubung.

(26)

aktivasi yang dikenakan pada jumlah masukkan yang akan diterima. Besarnya keluaran ini selanjutnya dibandingkan dnegan suatu batas ambang.

Versi pada jaringan syaraf tiruan (JST) pada dasarnya merupakan fungsi model matematik yang merupakan sebagai fungsi istilah “jaringan” pada jaringan syaraf tiruan yang menyatakan pada interkoneksi dari beberapa neuron yang diletakkan pada lapisan yang berbeda. Secara umum, lapisan pada jaringan syaraf tiruan (KST) dibagi menjadi tiga bagian yaitu:

1. Pada lapisan masukan (Input layer) terdiri dari neuron yang dapat menerima data masukkan dari variabel x. Semua neuron pada lapisan ini dapat terhubung ke neuron pada lapisan tersembunyi atau langsung ke lapisan keluaran jika pada jaringan tidak menggunakan lapisan yang tersembunyi.

2. Lapisan yang tersembunyi (hidden layer) terdiri dari neuron yang dapat menerima data dari lapisan masukkan.

3. Lapisan keluaran (output layer) terdiri dari neuron yang menerima data dari lapisan yang tersembunyi atau langsung dari lapisan yang masukkan yang ilai keluarannya melambangkan hasil kalkulasi dari x menjadi nilai y.

Gambar 2.6 Model Sederhana Neuron

Secara Matematika, neuron adalah sebuah fungsi yang adapat menrima input dari

lapisan sebelumnya (lapisan ke-i). Dan dapat berfungsi mengolah sebuah vector untuk

dapat mengubah ke nilai skalar dengan komposisi non linear weighttedsum, dimana k

(27)

adalah fungsi utama yang sering disebut dengan fungsi aktivasi dan w adalah beban aatau weight.

2.6 Jaringan Syaraf Learning Vector Quantization (LVQ)

Learning vector quantizatin (LVQ) merupakan hubungan single layer yang terdiri dari 2 lapisan yaitu lapisan input dan lapisan output. (Nurkkhozin, dkk, 2011).

Menurut kusuma dewi (2003:258), learning vector quantization (LVQ) merupakan suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi.

Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vector-vector input.

Dengan kata lain, Learning Vector Quantization (LVQ) merupakan jaringan syaraf yang dengan tipe arsitekturnya pada jaringan lapis tunggal umpan maju (single layer feed forward) terdiri dari unit masukkan dan unit keluaran. Lapisan kompetitif akan secara otomatis belajar untuk dapat mengelompokkan vektor-vektor masukkan.

Kelas yang dapat sebagai hasil dari lapisan kompetitif tergantung pad ajarak antara vektor masukkan. Jika 2 vektor masukkanb mendekati sama maka lapisan kompetitif akan meletakkan kedua vektor masukkan tersebut kedalam kelas yang sama.

Algoritma:

1. Tetap: Bobot awal (w), Maksimum Epoch (MaxEpoch), dan Learning rate (α).

2. Masukkan :

a. Input : x (m,n); m merupakan jumlah input dan n merupakan jumlah data.

b. Target : T (1,n) 3. Penetapan kondisi awal:

a. Epoch=0;

4. Kerjakan jika : (epoch < MaxEpoch) a. Epoch = epoch + 1

b. Kerjakan untuk i=1 sampai dengan n

- Penentuan J hingga || X – wj || minimum (sebagai Cj (jarak Euclidian)).

- Perbaiki Wj dengan ketentuan:

1. Jika T = Cj maka: wj(baru) = wj(lama) + α (X - wj(lama))

2. jika T ≠ Cj maka : wj(baru) = wj(lama)- α (X - wj(lama))

(28)

2.7 Jaringan Syaraf Self Organizing Maps (SOM) atau Kohonen

Pada sistem pembelajaran yang tak terawasi ini tidak memerlukan target output.

Sehingga tidak dapat ditentukan hasil yang diharapkan selama sistem pembelajarannya, pada nilai bobot yang disusun dalam suatu range yang spesifik.

Tergantung pada nilai input yang diberikan sehingga tujuan pengkajian ini adalah mengklasifikasikan unit-unit yang hampir sama pada suatu area yang tertentu (puspitorini, 2008)

Pada jaringan syaraf self organizing Map (SOM) atau Kohonen merupakan pembelajaran yang tak terawasi (unsupervised learning). Dikenal pada tahun 1982 oleh Prof. Teuvo. Pada Jaringan ini lapisan yang yang berisi neuron dapat menyusun dirinya sendiri bersumberkan input nilai yang spesifik dalam klasifikasi yang dikenal dengan istilah cluster. Selama sistem pengorganisasian diri, custer yang memiliki vektor bobot sanagt cocok pada pola input (memiliki jarak dengan jarak yang paling dekat) yang akan dipilih sebagai pemenang. Neuron yang menjadi pemenang serta neuron-neuron dengan tetangganya akan dapat memperbaiki bobotnya. (Tae,2010)

Dalam pembelajaran algoritma ini dengan tujuan agar dapat merubah suatu pola

pada sinyal yang masuk sehingga mempunyai dimensi yang dapat berubah-ubah ke

suatu peta yang berdimensi satu atau dua. Sifat pada pemetaan yang mempunyai

jaringan syaraf Self Organing Maps (SOM) atau Kohonen yang dapat menirukan otak

manusia yang tidak terdapat pada suatu jaringan syaraf tiruan lainnya. Terdapat m

merupakan unit kelompok yang dapat tersusun didalam arsitektur satu ataupun dua

berdimensi dan sinyal masukkan sejumlah n. Vektor pada bobot untuk suatu unit yang

dapat diklasifikasikan dan disediakan satu contoh dari suatu pola masukkan yang

dapat bergabung dengan klasifikasi tersebut. Selama sistem pengorganisasian sendiri,

pada unit kelompok yang mempunyai vektor bobot yang paling tepat dengan pola

masukkan (ditandai dengan jarak Euclidean paling minimum) dipilih sebagai

pemenang. Unit pemenang dan unit tetangganya diperbaharui pada bobotnya. Dalam

susunan unit klasifikasi linier, dalam tetangga radius R disekitar unit klasifikasi

(29)

jaringan terdiri pada semua unit jaringan yang dapat memenuhi maksimal fungsi Aj:

(1,J-R<=j,=min(J+R,m). (Tae,2010).

Pada arsitektur jaringan syaraf kohonen dapat dilihat pada gambar 2.7

Gambar 2.7 Arsitektur Jaringan Algoritma Self Organizing Kohonen (Kusumadewi,2006)

Pada algoritma pengklasifikasian pada pola jaringan Self Organizing Maps (SOM) atau Kohonen (Tae, 2010):

Step 0 Inisialisasi yang pertama/awal Bobot wij (random/acak)

Nilai parameter pada learning rate () dan faktor penurunannya Bentuk dan jari-jari (r) topologi sekitarnya

Step 1 Selama kondisi penghentian bernilai salah, lakukan langkah 2 – 7 Step 2 Untuk setiap input vektor x, (i = 1, 2, …, n) lakukan langkah 3 – 5 Step 3 Hitung D(j) untuk semua j (j = 1, 2, …, m)

Step 4 Tentukan indeks J sedemikian sehingga D(j) minimum

Step 5 Untuk setiap unit j di sekitar J, modifikasi bobot

(30)

Step 6 Modifikasi parameter learning rate

α

t+1

= 0.5 . α

t

Kondisi penghentian iterasi merupakan selisih antara wij pada saat itulah wij disebut

iterasi sebelumnya. Dan apabila semua wij hanya berubah sedikit saja maka iterasi itu

sudah mencapai konvergensi sehingga dapat dihentikan.

(31)

BAB 3

METODOLOGI PENELITIAN

3.1

Metode Penelitian

Metode pada penelitian ini dilakukan analisis peningkatan kecepatan proses pada pengenalan wajah serta mengidentifikasi wajah pada proses absensi dengan hibridisasi algoritma LVQ dan SOM atau kohonen. Teknik Hybrid akan dilakukan adalah algoritma kohonen yang digunakan untuk pembobotan awal dan hasil pembobotan tersebut dimasukkan kealgoritma LVQ untuk mendapatkan hasil pelatihan berupa bobot akhir yang digunakan untuk pengenalan wajah.

Algoritma LVQ dapat memulai dalam pembelajaran pada lapisan kompetitif yang dapat terawasi (dengan supervisi) dimana jaringan ini akan otomatis belajar agar dapat mengelompokkan vektor masukkan. Kelas yang didapatkan dalam hasil dari lapisan kompetitif ini, maka hanya dapat bergantung pada jarak antara vektor masukkan. Setiap kelas dialihfungsikan pada salah satu array vektor dan dapat dijadikan sebagai inisialisasi bobot. Jika pada dua input yang mendekati sama, maka pada lapisan kompetitif akan meletakkkan kedua vektor masukkan tersebut kedalam kelas yang sama.

Algoritma SOM atau Kohonen (tanpa suvervisi) pada hubungan ini tidak akan

mendapatkan target. Maka dari itu jaringan dapat mengontrol bobot interkoneksi itu

sendiri. Pembelajaran yang tidak diawasi dapat diacu sebagai Self Organizing Learning

yaitu pembelajaran yang mengelompokkan yang tidak di training. Dalam sistem belajar

yang tidak diawasi pada jaringan akan dapat dikelompokkan seperti vektor-vektor input

yang ada pada kelas-kelas yang tidak sama.

(32)

waktu komputasinya yang berorde eksponensial. Hal ini berarti untuk data training yang cukup banyak dan dalam sistemnya menjadi sangat lemah dan lambat.

3.1.1 Analisis Sistem

Wajah merupakan bagian utama dari manusia yang mempunyai ciri yang unik dan lain pada setiap bentuk manusia yang ada. Wajah juga dapat digunakan untuk mengenali seseorang, salah satunya dengan sistem pengenalan pada wajah misalnya untuk absensi, pendataan penduduk maupun untuk sistem pengamanan.

Landasan kerja dari algoritma kohonen merupakan pengurangan pada node neighbor atau tetangganya, sehingga kesimpulannya hanya ada satu node output yang terpilih (winner node). Pada awalnya yang dilakukan dalam melakukan inisialisasi bobot untuk setiap node dengan nilai random/acak. Setelah diberikan bobot random/acak, maka jaringan diberi input sejumlah dimensi neuron input/node. Setelah itu input diterima pada jaringan tersebut, kemudian jaringan sejumlah dimensi node/neuron input. Setelah input diterima jaringan, kemudian jaringan memulai perhitungan pada jarak vektor yang didapatkan dengan menjumlahkan selisih/jarak antara input dengan vektor bobot.

Pada algoritma Learning Vector Quantization (LVQ) proses pengenalan wajah dimulai dengan proses training terhadap wajah-wajah untuk mendapatkan bobot akhir.

Pada proses pengujian, bobot akhir digunakan untuk dapat menghitung jarak antara bobot akhir dengan bobot wajah yang diinput, dimana jarak yang paling dekat merupakan wajah hasil pengenalan.

Pada algoritma hibridisasi, bobot yang telah dihasilkan dengan algoritma kohonen

digunakan sebagai bobot awal pada sistem training yang menggunakan algoritma

Learning Vector Quantization (LVQ). Dan pada tahap training bobot akhir yang didapat

dan digunakan untuk proses identifikasi pada wajah, apa sistem sudah dapat

menemukan target atau tidak. Pengujian sistem dilakukan sampai didapatkannya eror

yang paling rendah atau yang mendekati pada target. Bobot dan semua variabel yang

digunakan pada saat pengujian akan dapat digunakan jika persentase keakuratan pada

tahap pengujian tinggi, maka keakuratan hasil juga akan tinggi.

(33)

3.1.2 Bagan Rancangan Penelitian

Rancangan penelitian yang akan dilakukan adalah dengan mentraining pengenalan pada wajah dengan meng-hibridisasikan algoritma LVQ dan SOM atau Kohonen sehingga dapat dilihat dibawah ini pada gambar 3.1

Gambar 3.1 Bagan Rancangan Penelitian

Pra Processing Citra Start

Pembobotan LVQ Pembobotan

Kohonen

Training LVQ

Recognition Kohonen

Stop Akurasi/Waktu

Input Citra Wajah, Parameter jaringan

Hitung Akurasi/Waktu

Recognition LVQ Recognition LVQ Training LVQ

Jarak Vektor

Pembobotan Kohonen

Algoritma Kohonen Algoritma LVQ Algoritma Kombinasi

(34)

dan sekelompok citra pada training (testing data set). Proses praproses (preprocessing) citra merupakan kumpulan proses-proses yang digunakan untuk menyiapkan citra input dan dijadikan masukkan kedalam jaringan. Proses praposes pada penelitian ini terbagi menjadi empat tahap yaitu:

1. Pembacaan pada Citra 2. Grayscaling

3. Deteksi tepi pada operator sobel 4. Binerisasi

Citra pada wajah yang berukuran 350 x 250 pixel dapat dilakukan pembacaan untuk mendapatkan nilai-nilai pada pikselnya yang berupa nilai red, green, serta blue.

Selanjutnya dilakukan proses konversi ke grayscaling untuk mendapatkan satu nilai pada setiap pikselnya, selanjutnya citra tersebut diperjelas tepi-tepinya dengan proses pendeteksian tepi berbasis gradien menggunakan operator sobel. Analisis citra merupakan citra grayscale dengan skala 8 bit yang mempunyai pencahayaan warna yang dikira antara 0 untuk nilai minimum sampai dengan 255 yang menjadikan nilai maksimum.

Maka analisis citra dikenakan pada proses binerisasi yaitu dikonversikan ke dalam bilangan biner dengan proses threshold (pengambangan) sepanjang 350 x 250 pada setiap citra yang pikselnya sama dengan nilai intensitas warna ≤128 yang diberikan nilai 0, sementara untuk nilai intensitas pada warna >128 diberi nilai 1, sehingga akan diperoleh barisan nilai yang terdiri dari angka 0 dan 1 sebesar 87.500 piksel elemen.

Sebagai contoh citra pada wajah seperti pada gambar 3.2

Gambar 3.2 Citra Wajah

(35)

3.3

Pemahaman File Citra

Citra pada warna sebesar 24-bit (true color) tidak ada palet RGB, karena pada nilai RGB secara langsung dipaparkan dalam data bitmap yang berbentuk bilangan biner. Dalam membaca nilai pada RGB nya, yang dapat melakukan dengan cara mencari header- header serta data bitmap yang berisikan informasi yang berdimensi, bentuk format dan nilai piksel pada citra. Setiap elemen data bitmap panjangnya 3 byte, masing-masing byte yang menyatakan komponen palet R, G, dan B. Pada setiap byte data dapat merepresentasikan 8 bit, sehingga pada citra warna ada 3 byte x 8 bit = 24 bit kandungan pada warna.

Citra warna yang setiap pixel-nya mengandung 24-bit dengan kandungan warna atau 8-bit untuk setiap warna dasar (R, G, dan B), kandungan nilai berkisar antara 0 (00000000) sampai 255 (11111111) untuk setiap warnanya. seperti pada nilai piksel citra warna seperti dilihat pada gambar 3.3

Gambar 3.3 Contoh Nilai Piksel Citra Warna

Contoh citra dapat dilihat pada gambar 3.2 di atas, header yang berisi informasi nama file, jenis format dan dimensi citra merupakan data yang pertama. Data bitmap yang dibawah terdapat pixel pertama memiliki nilai =100001111011010010100001.

Untuk dapat memiliki nilai RGB pada setiap pikselnya dengan menggunakan rumus sebagai berikut:

- Nilai (R) = c and 255 (3.1)

- Nilai (G) = (c and 65,280)/256 (3.2)

- Nilai (B) = ((c and 16,711,680)/256)/256 (3.3) Dimana (c) merupakan nilai piksel citra

Dilihat gambar 3.2 di atas, nilai piksel (0,0) adalah 111100001011010010111001 (24 bit). Nilai (R) dihitung pada persamaan 3.1 sebagai berikut:

Nilai (R) = 100001111011010010100001and 11111111

<Header>

<databitmap>

10000111101101001010000110010000101101001001011110110 1101011010010000001100100111010011000011001

11111110001011111110001

10010000100111100100000011001001110110010111111011111

Piksel 1 Piksel 2

Piksel n

(36)

Nilai (G) = (100001111011010010100001 and 1111111100000000)/100000000

= 10110100

= 180 (desimal)

Nilai komponen B dihitung dengan persamaan (3.3):

Nilai (B)= (100001111011010010100001 and

111111110000000000000000)/100000000/100000000

= 10000111

= 135 (desimal)

Sehingga diperoleh nilai piksel (0,0) 11110000 11110000 11111111:

R = 11110001 = 161 (desimal) G = 10110100 = 180 (desimal) B = 10010000 = 135 (desimal)

Pada penjelasan ini jumlah pada piksel yang dihitung sebanyak 25 piksel dan agar mendapatkan nilai pada RGB piksel seterusnya dilakukan sama seperti cara yang diatas dan seterusnya nilai pada RGB semua nilai piksel pada citra dimasukkan ke dalam matriks seperti pada gambar 3.4 dibawah ini

161,180,135 152,140,110 182,166,210 166,112,178 170,177,166 202,189,134 201,180,111 140,173,110 192.120,200 112,167,162 133,200,152 165,100,155 124,110,167 140,180,126 200,160,200 141,204,104 134, 80,144 140,110,115 150,180,150 160,210,220 56,100,110 147,140,165 143,230,173 140,212,210 150,212,150

Gambar 3.4 Matriks Nilai RGB Citra Warna

3.4

Menghitung Nilai Grayscale Citra

Matriks citra pada warna dapat dilihat di gambar 3.3 diatas yang ditransformasikan menjadi citra grayscale yang menghitung nilai rata-rata warna red, green dan blue.

Perhitungan dalam matematik adalah sebagai berikut:

f

0

(x,y) = (

( ) ( ) ( )

) (3.4)

(37)

Menghitung nilai grayscale pada citra dapat dicontohkan pada gambar 3.3 diatas dengan memakai persamaan (3.6) adalah sebagai berikut:

f(0,0) = (

)= 158 f(0,1) = (

)= 134 f(0,2) = (

)= 186 f(0,3) = (

)= 152 f(0,4) = (

)= 171

untuk dapat menghitung nilai grayscale piksel seterusnya dilakukan sama seperti cara diatas, setelah itu hasil nilai grayscale matriks citra warna dapat dimasukkan kedalam matriks nilai grayscale seperti pada gambar 3.5 dibawah ini.

158 134 186 152 171 110 164 111 170 0 166 100 155 114 125 47 155 172 174 200 175 0 47 90 144

Gambar 3.5 Matriks Nilai Grayscale

3.5

Deteksi Tepi

Fungsi deteksi tepi untuk dapat meyakinkan batas pada citra ataupun agar dapat mengembangkan penampakkan pada batas garis wajah. Penelitian ini difungsikan oleh operator sobel dengan dua buah kernel seperti gambar 3.6 dibawah ini.

-1 0 1 1 2 1

-2 0 2 0 0 0

-1 0 1 -1 -2 -1

Gambar 3.6 Dua Matriks Kernel

Pada citra wajah yang dilakukan pendeteksian pada tepi dengan mengambil 1 blok citra

3x3 piksel seperti pada gambar 3.7

(38)

166 100 155 -1 0 1 -1 -2 -1

Gambar 3.7 Matriks Citra 3x3 Pixsel dengan dua Filter

sx= 158(-1) + 134(-2) + 186(-1) +166(1) +100(2) + 155(1)

= 478

sv = 158(1)+110(2)+166(1)+186(-1)+111(-2)+ 155(-1)

= 452

Perhitungan nilai magnitudo (M) adalah berikut:

M = |sx| + |sy|

M = |478| + |452|

M = 930

Citra hasil konvolusi yang diperoleh dari perhitungan deteksi tepi untuk pixel/blok 3x3 adalah seperti pada gambar 3.8 dibawah ini.

* * *

* 930 *

* * *

Gambar 3.8 Nilai Konvolusi (M) sekitar pixel 3x3

Dari hasil konvolusi, maka nilai magnitudo dibagi secara rata untuk ke 9 pixel yaitu 930:9=103 dan dimasukkan kedalam matriks 3x3 seperti pada gambar 3.9 dibawah ini

103 103 103 103 103 103 103 103 103

Gambar 3.9 Matriks Hasil Deteksi Tepi Citra 3x3

3.6

Binerisasi

Pemisah citra grayscale bermanfaat untuk dapat mengambil pada bagian citra yang

merupakan titik gelap disebut (0) dan putih disebut (1). Pada Binerisasi dilakukan

(39)

dengan cara membagi citra menjadi ukuran 8x8 pada bagian subcitra, dan nilai intensitas atau pencahayaan rata-rata dari subcitra yang paling rendah digunakan menjadi nilai threshold (T). kemudian melakukan proses binerisasi pada citra dengan menggunakan nilai Threshold (T). ada persamaan yang digunakan untuk membuat binerisasi citra adalah sebagai berikut:

(3.5)

Dari matriks pada gambar 3.4 dilakukan perhitungan threshold untuk proses binerisasi dimana jika nilai grayscale <128, maka akan dimasukkan ke nilai 0, sedangkan jika nilai grayscale >T akan dimasukkan ke nilai 1.

Nilai pixsel (0,0) = 158, nilai pixsel 158>128, maka nilai biner = 1 Nilai pixsel (0,1) = 134, nilai pixsel 134>128, maka nilai biner = 1 Nilai pixsel (0,2) = 186, nilai pixsel 186>128, maka nilai biner = 1 Nilai pixsel (0,3) = 152, nilai pixsel 152>128, maka nilai biner = 1 Nilai pixsel (1,0) = 171, nilai pixsel 171>128, maka nilai biner = 1

Dari hasil perhitungan nilai threshold diatas dimasukkan ke dalam matriks citra biner seperti pada gambar 3.10 dibawah ini.

1 1 1 1 1

0 1 0 1 0

1 0 1 0 1

0 1 1 1 1

1 0 0 0 1

Gambar 3.10 Matriks Citra Biner

Pada g (x,y) merupakan citra biner hasil proses binerisasi pada citra wajah dengan skala keabuan f(x,y), dengan nilai threshold T. Citra hasil threshold ini menghasilkan wajah biner seperti pada gambar 3.11 dibawah ini.

𝒈(𝒙 𝒚) = 𝟏 𝒇 (𝒙 𝒚) > 𝑇 𝟎 𝒇 (𝒙 𝒚) ≤ 𝑻

(40)

Citra grayscale wajah Citra biner wajah Gambar 3.11 Citra Wajah Biner

Dengan diperolehnya citra wajah biner, maka tahap preprocessing citra sudah selesai dan selanjutnya citra biner pada gambar 3.11 diatas dilakukan proses pengenalan wajah.

3.7 Flow Chart Pengenalan Wajah dengan Algoritma LVQ

Adapun flow chart pada proses pendeteksian pada wajah dengan menggunakan Algoritma LVQ dan dapat dilihat pada gambar 3.12 dibawah ini.

Gambar 3.12 Flow Chart Pengenalan Wajah Algoritma LVQ

Start

Citra Wajah Pelatihan

Pendefinisi Input, Output dan Target

Penetapan Jml Klas, Jml Neuron, Maks Error

A

(41)

Gambar 3.13 Flow Chart Pengenalan Wajah Algoritma LVQ) Lanjutan

Pembentukan Jaringan LVQ

NET = Bobot,Jml Neuron,(1/JmlKlas)* MinErr (Jumkls))

Penetapan Parameter Pelatihan 1.MaksEpoch

2.MinError 3.DecError

Training Epoch=Epoch+1

Hasil Pengenalan Error <MinError atau

Epoch > MaksEpoch Penetapan Bobot Awal (Wij)

i=1,2,...,K. j=1,2,...,m Wij= 0-1

Inisialisasi Bobot AwalWijAwal

Perbaikan Bobot Wj

Jika T = Cj maka Wj=Wj+ MinError(Nilai Piksel) Jika T <> Cj maka Wj=Wj- MinError (Nilai Piksel)

Error=MinError*DecError

No

Yes

Selesai A

(42)

Gambar 3.14 Flow Chart Pengenalan Wajah menggunakan Algoritma SOM atau Kohonen

Start

Data Pelatihan

Inisialisasi Bobot Awal

Update Bobot

Menentukan jumlah Iterasi Maksimum

Menghitung jarak dengan Euclidian Distance

Maksimum Iterasi ?

Yes

No

Iterasi selesai

Pembentukan cluster

Data Cluster Baru

Selesai

(43)

3.9 Flow Chart Proses Pengenalan Wajah dengan Algoritma Hibridisasi

Adapun flow chart pada proses pengenalan wajah dengan menggunakan algoritma hibridisasi dpaat dilihat paa gambar 3.16 dibawah ini.

Gambar 3.16 Folw Chart Pengenalan Wajah dengan Algoritma Hibridisasi

Start

Data Pelatihan

Pendefinisian,Input, Output

Evaluasi Kesalahan Setiap Vektor Masukkan x Epoch=Epoch+1

Normalisasi semua bobot dan vektor Masukan (Nilai Piksel)

Simpan Bobot dengan kesalahan paling minimal

Neuron keluaran yang tidak pernah firing

/Aktif?

Yes

No

A B

Menghitung jarak dengan Euclidian Distance

Update bobot

(44)

Gambar 3.17 Flow Chart Pengenalan Wajah pada dengan Algoritma Hibridisasi (Lanjutan)

Keterangan:

Pada algoritma hibridisasi merupakan kombinasi algoritma learning vector quantization (LVQ) dnegan Self Organizing Maps (SOM) atau Kohonen, proses awal yang dilakukan adalah pendefinisian input (masukkan) dan output (keluaran). Penetapan bobot awal pada algoritma ini dilakukan dengan algoritma self organizing Maps (SOM) atau Kohonen, sehingga tidak diperlukan pembangkitan nilai acak (Pseudo Number Random Generator) yang berakibat waktu penentuan bobot dapat dipersingkat.

3.10

Perhitungan Dengan Algoritma LVQ

Pada perhitungan dengan menggunakan algoritma Learning Vector Quantization (LVQ) ini tidak dapat menggunakan data (nilai piksel wajah) yang sebenarnya, namun dengan

Sesuaikan bobot dengan persamaan w’=w + MinErorr(x-w)

Perbaiki learning rate

Error=MinError* DecError

Hasil Pengenalan Error <MinError atau

Epoch > MaksEpoch No

Yes

Normalisasi Bobot

Selesai

(45)

memakai nilai yang sederhana dari sistem kerja perangkat lunak dapat digunakan dengan mudah untuk dipahami. Misalnya didapat 10 input vektor pada 2 kelas sebagai berikut:

Tabel 3.2 Data Input

NO MATRIKS TARGET

1 1, 0, 0, 0, 1,O 1

2 0, 0, 1, 0, 0, 1 1

3 0, 0, 1, 0, 1, 1 1

4 0, 1, 0, 0, 0, 1 1

5 1, 0, 1, 0, 1, 1 2

6 0, 1, 1, 1, 1, 0 2

7 0, 1,0, 1, 0, 0 2

8 0, 1, 1, 1, 1, 0 2

9 1, 0, 0, 1, 0, 1 2

10 0, 1, 1, 1, 1, 1 2

Dua inputan yang pertama akan diinisialisasi sebagai bobot:

Tabel 3.2 Data Bobot

NO MATRIKS BOBOT TARGET

1 1, 0, 0, 0, 1, 0 1

2 0, 1, 1, 1, 1, 0 2

Sedangkan 8 inputan sisanya akan digunakan sebagai data yang akan dilatih:

(46)

2 0, 0, 1, 0, 1, 0 1

3 0, 1, 0, 0, 0, 1 1

4 1, 0, 1, 0, 1, 1 1

5 0, 0, 1, 1, 0, 0 2

6 0, 1, 0, 1, 0, 0 2

7 1, 0, 0, 1, 0, 1 2

8 0, 1, 1, 1, 1, 1 2

Menjadi Nilai awal akan dipilih Learning Rate (α) = 0.05, dengan pengurangan sebesar 0.1* α, dan maksimum epoch (MaxEpoch) = 100.

Epoch ke-1 :

Data Ke-1 : (0, 0, 1, 0, 0, 1) Jarak bobot ke – 1

=

√( ) ( – ) ( – ) ( – ) ( – ) ( – )

= 2

Jarak Pada bobot ke – 2

√( ) ( – ) ( – ) ( – ) ( – ) ( – )

= 2

Jarak terkecil adalah w ke-1 Target data ke-1 adalah 1

Karena target data ke-1 = w ke-1, maka w ke-1 baru adalah:

Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )

= 1 + 0.05*(0-1) = 0.95

= 0 + 0.05*(0-0) = 0

(47)

= 0 + 0.05*(1-0) = 0.05

= 0 + 0.05*(0-0) = 0

= 1 + 0.05*(0-1) = 0.95

= 0 + 0.05*(1-0) = 0.05

W1(baru) = (0.95, 0, 0.05, 0, 0.95, 0.05)

Data Ke-2 : (0, 0, 1, 0, 1, 0) Jarak bobot ke – 1

√( – ) ( – ) ( – ) ( – ) ( – ) ( – )

= 1.345

Jarak Pada bobot ke – 2

√( ) ( – ) ( – ) ( – ) ( – ) ( – )

= 1.414

Jarak terkecil adalah pada w ke-1 Target data ke-2 adalah 1

Karena target data ke-2 = w ke-1, maka w ke-1 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )

= 0.95 + 0.05*(0-0.95) = 0.9025

= 0.00 + 0.05*(0-0.00) = 0

= 0.05 + 0.05*(1-0.05) = 0.0975

= 0.00 + 0.05*(0-0.00) = 0

= 0.95 + 0.05*(1-0.95) = 0.9525

= 0.05 + 0.05*(0-0.05) = 0.0475 W1(baru) = (0.9025, 0, 0.0975, 0, 0.9525, 0.0475)

Data Ke-3 : (0, 1, 0, 0, 0, 1) Jarak pada bobot ke – 1

√( – ) ( – ) ( – ) ( – ) ( – ) ( – )

= 1.907

Jarak Pada bobot ke – 2

=√( ) ( – ) ( – ) ( – ) ( – ) ( – )

= 2

(48)

Karena target data ke-3 = w ke-1, maka w ke-1 baru adalah : W

j(baru)

= W

j(lama)

+ α ( X

i

- W

j(lama)

)

= 0.9025 + 0.05*(0-0.9025) = 0.8574

= 0.0000 + 0.05*(0-0.0000) = 0.0500

= 0.0975 + 0.05*(1-0.0975) = 0.0926

= 0.0000 + 0.05*(0-0.0000) = 0.0000

= 0.9525 + 0.05*(1-0.9525) = 0.9049

= 0.0475 + 0.05*(0-0.0475) = 0.0951

W

1(baru)

= (0.8574, 0.0500, 0.0926, 0.0000, 0.9049, 0.0951)

Data Ke-4 : (1, 0, 1, 0, 1, 1) Jarak pada bobot ke – 1

√( – ) ( – ) ( – ) ( – ) ( – ) ( – )

= 1.293

Jarak pada bobot ke – 2

= √ (1- 0)2 + (0 – 1)2 + (1 – 1)2 + (0 – 1)2 + (1 – 1)2 + (1 – 0)2

= 2

Jarak terkecil adalah pada w ke-1 Target data ke-4 adalah 1

Karena target data ke-4 = w ke-1, maka w ke-1 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )

= 0.8574+ 0.05*(0-0.8574) = 0.8645

= 0.0500+ 0.05*(0-0.0500) = 0.0475

= 0.0926 + 0.05*(1-0.0975) = 0.1380

= 0.0000+ 0.05*(0-0.0000) = 0.0000

= 0.9049 + 0.05*(1-0.9049) = 0.9096

= 0.0951 + 0.05*(0-0.0951) = 0.1404

W1(baru) = (0.8645, 0.0475, 0.1380, 0.0000, 0.9096, 0.1404)

Data Ke-5 : (0, 0, 1, 1, 0, 0)

(49)

Jarak pada bobot ke – 1

=√(1–0.8645)

2

+(0–0.0475)

2

+(1–0.1380)

2

+(0–0.0000)

2

+(1–0.9096)

2

+(1–0.1404)

2

= 1.827

Jarak Pada bobot ke – 2

= √ (0 - 0)

2

+ (0 – 1)

2

+ (1 – 1)

2

+ (1 – 1)

2

+ (0 – 1)

2

+ (0 – 0)

2

= 1.414

Jarak terkecil adalah pada w ke-2 Target data ke-5 adalah 2

Karena target data ke-5 = w ke-2, maka w ke-2 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )

= 0 + 0.05*(1-0) = 0.0000

= 1 + 0.05*(0-1) = 0.9500

= 1 + 0.05*(1-1) = 1.0000

= 1 + 0.05*(0-1) = 1.0000

= 1 + 0.05*(1-1) = 0.9500

= 0 + 0.05*(1-0) = 0.0000

W2(baru) = (0.0000, 0.9500, 1.0000, 1.0000, 0.9500, 0.0000)

Data Ke-6 : (0, 1, 0, 1, 0, 0) Jarak pada bobot ke – 1

=√(1–0.8645)

2

+(0–0.0475)

2

+(1–0.1380)

2

+(0–0.0000)

2

+(1–0.9096)

2

+(1–0.1404)

2

= 1.876

Jarak Pada bobot ke – 2

= √ ( 0 - 0 )

2

+ ( 1 – 0.95 )

2

+ ( 0 – 1 )

2

+ ( 1 – 1 )

2

+ ( 0 – 0.95 )

2

+ ( 0 – 0 )

2

= 1.380

Jarak Terkecil adalah pada w ke-2 Target data ke-6 adalah 2

Karena target data ke-6 = w ke-2, maka w ke-2 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )

= 0.0000 + 0.05*(0-0.0000) = 0.0000

(50)

= 0.9500 + 0.05*(0-0.9500) = 0.9025

= 0.0000 + 0.05*(0-0.0000) = 0.0000

W2(baru) = (0.0000, 0.9525, 0.9500, 1.0000, 0.9025, 0.0000)

Data Ke-7 : (1, 0, 0, 1, 0, 1) Jarak pada bobot ke – 1

=√(1–0.8645)

2

+(0–0.0475)

2

+(1–0.1380)

2

+(0–0.0000)

2

+(1–0.9096)

2

+(1–0.1404)

2

= 1.614

Jarak Pada bobot ke – 2

= √ (1 - 0)

2

+ (0 – 0.9525)

2

+ (0 – 0.95)

2

+ (1 – 1)

2

+ (0 – 0.9025)

2

+ (0– 1)

2

= 2.150

Jarak Terkecil adalah pada w ke-2 Target data ke-7 adalah 2

Karena target data ke-7 ≠ w ke-1, maka w ke-1 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )

= 0.8645+ 0.05*(0-0.8645) = 0.8577

= 0.0475 + 0.05*(1-0.0475) = 0.0499

= 0.1380 + 0.05*(0-0.1380) = 0.1449

= 0.0000 + 0.05*(1-0.0000) = -0.050

= 0.9096 + 0.05*(0-0.9096) = 0.9551

= 0.1404 + 0.05*(0-0.1404) = 0.0974

W1(baru) = (0.8577, 0.0499, 0.1449, -0.050, 0.9551, 0.0974)

Data Ke-8 : (0, 1, 1, 1, 1, 1) Jarak pada bobot ke – 1

=√(1–0.8577)

2

+(0–0.0499)

2

+(1–0.1449)

2

+(0+0.050)

2

+(1–0.9551)

2

+(1–0.0974)

2

= 2.071

Jarak Pada bobot ke – 2

(51)

= √ (0 - 0) + (1 – 0.9525) + (1 – 0.95) + (1 – 1) + (1 – 0.9025) + (1– 0)

= 1.002

Jarak Terkecil adalah pada w ke-2 Target data ke-8 adalah 2

Karena target data ke-8 ≠ w ke-2, maka w ke-2 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama))

= 0.0000 + 0.05*(0-0.0000) = 0.0000

= 0.9525 + 0.05*(1-0.9525) = 0.9549

= 0.9500 + 0.05*(0-0.9500) = 0.9525

= 1.0000 + 0.05*(1-1.0000) = 1.0000

= 0.9025 + 0.05*(0-0.9025) = 0.9074

= 0.0000 + 0.05*(0-0.0000) = 0.0500

W

2

(baru) = (0.0000, 0.9549, 0.9525, 1.0000, 0.9074, 0.0500) α = α – 0.1 * α = 0.05 – 0.1 * 0.05 = 0.045

Proses ini diteruskan untuk epoch ke-2 sampai dengan epoch ke 100. Setelah mencapai epoch yang ke-100 diperoleh bobot akhir:

W1 = (0.3727 0.2161 0.6347 0.2164 0.7901 0.4254) W1 = (0.0000 0.7969 0.7900 1.0000 0.5869 0.2171)

Maka jika kita mau menstimulasikan inpit (1, 0, 0, 0, 0, 1) maka kita cari terlebih dahulu jarak input tersebut terhadap kedua bobot. Nomor dari bobot dengan jarak terpendek akan menjadi kelasnya.

Jarak pada bobot ke – 1

= √(1–0.3727)

2

+(0–0.2161)

2

+(1–0.6347)

2

+(0-0.2164)

2

+(0–0.7901)

2

+(1–

0.4254)

2

=1.3581

Jarak Pada bobot ke – 2

= √(1- 0.0000)

2

+(0 – 0.7969)

2

+(1 – 0.7900)

2

+(0 – 1.0000)

2

+(0 – 0.5869)

2

+(1 – 0.2171)

2

= 2.0534

(52)

x(1)=(1,1,0,0) x(2)=(0,0,0,1) x(3)=(1,0,0,0) x(4)=(0,0,1,1)

Inisialisasi awal dengan membangkitkan bobot-bobot adalah:

W

1

= [0.2 0.6 0.5 0.9]

W

2

=[0.8 0.4 0.7 0.3]

Jari = 0

Learning rate awal = 0.6

Pelatihan:

Vektor x (1) = (1,1,0,0) D(j) = (w

jj

-x

i

)

2

D(1) = (0.2-1)2 + (0.6-1)2 + (0.5-0)2 + (0.9-0)2 = 1.86 D(2) = (0.8-1)2 + (0.4-1)2 + (0.7-0)2 + (0.3-0)2 = 0.96

Nilai Minimum pada j=2, maka vektor bobot dibaris kedua di modifikasi pada garis 2 W

jj

(baru) = W

jj

(Lama) + α(x

i

-w

jj

(lama))

W

2

baru = W

2

lama + α(xi - W

1

lama) W21 = 0.8 + 0.6(1-0.8) = 0.92 W22 = 0.4 + 0.6(1-0.4) = 0.76 W23 = 0.7 + 0.6(0-0.7) = 0.28 W24 = 0.3 + 0.6(0-0.3) = 0.12

Sehingga vektor bobotnya menjadi W= 0.2 0.6 0.5 0.9 0.92 0.76 0.28 0.12 Vektor x(2)=(0,0,0,1)

D(1) = (0.2-0)2 + (0.6-0)2 + (0.5-0)2 + (0.9-1)2 = 0.66

Referensi

Dokumen terkait

Setelah dilakukan proses preprocessing pada citra, langkah selanjutnya yaitu melakukan pelatihan dengan menggunakan jaringan syaraf tiruan Learning Vector Quantization

Sedangkan pada proses pengenalan wajah, penelitian ini menggunakan kombinasi metode jaringan syaraf tiruan jenis pembelajaran terawasi ( supervised learning )

Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia, Institut Teknologi Sepuluh Nopember, Surabaya.. Komparasi Hasil Klasifikasi

Jaringan syaraf tiruan (JST) dalam pengenalan pola citra kain lurik menggunakan metode LVQ (Learning Vector Quantization) dan wavelet dalam melakukan dekomposisi

Untuk menyelesaikan masalah pengenalan pola wajah dalam JST, akan digunakan Jaringan Syaraf Tiruan Learning Vector Quantization (JSTLVQ) sebagai solusi alternatif untuk

Perbedaan penelitian yang dilakukan dengan penelitian tersebut adalah penelitian ini melakukan analisa dengan jaringan syaraf tiruan menggunakan metode Learning Vector

Aplikasi FingerFeel berbasis android untuk mengenali citra pose jari tangan dengan metode Jaringan Syaraf Tiruan Learning Vector Quantization (LVQ) berhasil

Pengembangan Sistem Pengenalan Ekspresi Wajah Menggunakan Jaringan Syaraf Tiruan Backpropagation Studi Kasus Pada Database Mug.. Jurnal Matematika Murni dan Terapan