• Tidak ada hasil yang ditemukan

Implementasi Jaringan Syaraf Tiruan Bidirectional Associative Memory Untuk Pengidentifikasian Telapak Tangan Manusia (Studi Kasus: Mahasiswa S1 Ilmu Komputer Usu Stambuk 2010 Kom A)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Jaringan Syaraf Tiruan Bidirectional Associative Memory Untuk Pengidentifikasian Telapak Tangan Manusia (Studi Kasus: Mahasiswa S1 Ilmu Komputer Usu Stambuk 2010 Kom A)"

Copied!
108
0
0

Teks penuh

(1)

LAMPIRAN LISTING PROGRAM

1. depan.m (Antarmuka Home)

function varargout = depan(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... if nargin && ischar(varargin{1})

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

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:}); end.

function depan_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = depan_OutputFcn(hObject, eventdata, handles)

a=imread('fak.jpg');

axes(handles.axes3); imshow(a)

varargout{1} = handles.output;

function Train_Callback(hObject, eventdata, handles) proses

delete(handles.figure1);

% ---

function Test_Callback(hObject, eventdata, handles) Test

delete(handles.figure1);

% ---

(2)

% ---

function about_Callback(hObject, eventdata, handles) about

delete(handles.figure1);

% ---

function Exit_Callback(hObject, eventdata, handles) respon=keluar('Title','Konfirmasi Keluar');

% --- Executes during object creation, after setting all properties.

function axes_CreateFcn(hObject, eventdata, handles)

2. proses.m (Antarmuka Train)

function varargout = proses(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... if nargin && ischar(varargin{1})

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

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:}); end

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

function proses_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject; guidata(hObject, handles);

% --- Outputs from this function are returned to the command line.

(3)

varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.

(4)

gb2 =getimage(handles.axes2);

(5)

axes(handles.axes10); imshow(gb10)

% --- Executes on button press in pushbutton3.

(6)

citra_double15=double(gb15);

(7)
(8)

gb6=uint8(gray_mean6);

% --- Executes on button press in pushbutton4.

(9)
(10)

axes(handles.axes19); imshow(h19) axes(handles.axes20); imshow(h20)

% --- Executes on button press in pushbutton5.

(11)
(12)
(13)
(14)
(15)

end

% --- Executes on button press in pushbutton6.

(16)
(17)

h=msgbox('Train finish and weight is saved','Information');

function Home_Callback(hObject, eventdata, handles) depan

delete(handles.figure1);

% ---

function Train_Callback(hObject, eventdata, handles) proses

delete(handles.figure1);

% ---

function Test_Callback(hObject, eventdata, handles) Test

delete(handles.figure1);

% ---

(18)

about

delete(handles.figure1);

% ---

function Exit_Callback(hObject, eventdata, handles) respon=keluar('Title','Konfirmasi Keluar');

3. test.m (Antarmuka Test)

function varargout = Test(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... if nargin && ischar(varargin{1})

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

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:}); end

function Test_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

% --- Outputs from this function are returned to the command line.

function varargout = Test_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uigetfile({'*.jpg','File jpeg

(19)

if ~isequal(nama_file,0)

gbr=imread(fullfile(nama_path,nama_file)) axes(handles.axes1);

imshow(gbr); else

return; end;

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles) citra=getimage(handles.axes1);

citra=imresize(citra,[200 300]); citra_double=double(citra);

[b k c]=size(citra_double); for x=1:b

for y=1:k

(20)

t10=[0 0 0 1 0 0 0 0 0 0 1];

gb1=imread('fyayang.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t2;

hasil='Reni Ramadhani'; hasil2='101401017';

gb1=imread('freni.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t3;

hasil='Danny Rizky'; hasil2='101401037';

gb1=imread('fdanny.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t4;

hasil='Angga Wiranda' hasil2='101401073';

(21)

axes(handles.axes2); imshow(gb1) elseif nilai_y==t5;

hasil='Hayatun Nufus' hasil2='101401013';

gb1=imread('fhayatun.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t6

hasil='Intan PS Mat' hasil2='101401021';

gb1=imread('fintan.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t7;

hasil='Janwandi Sinaga' hasil2='101401095';

gb1=imread('fjanwandi.jpg'); axes(handles.axes2); imshow(gb1) elseif nilai_y==t8;

hasil='Ahmad Rasyidi' hasil2='101401001';

gb1=imread('cantik.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t9;

hasil='Agus Prabowo' hasil2='101401019';

gb1=imread('fagus.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t10;

hasil='Umri Herdiansyah' hasil2='101401033';

gb1=imread('fumri.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t11;

hasil='Nurhennida Sitepu'; hasil2='101401097';

gb1=imread('fnurhennida.jpg'); axes(handles.axes2); imshow(gb1) elseif nilai_y==t12;

hasil='Rivai H Purba' hasil2='101401047';

gb1=imread('frivai.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t13;

hasil='Singgih Trimukti' hasil2='101401075';

gb1=imread('fsinggih.jpg');

(22)

axes(handles.axes2); imshow(gb1) elseif nilai_y==t15;

hasil='Tetti Sinaga ' hasil2='101401067';

gb1=imread('fteti.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t16;

hasil='Fajrul Falah' hasil2='101401041';

gb1=imread('ffajrul.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t17;

hasil='Amalya Chairy ' hasil2='101401085';

gb1=imread('famalya.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t18;

hasil='Vito Erpindo' hasil2='101401087';

gb1=imread('fvito.jpg');

axes(handles.axes2); imshow(gb1) elseif nilai_y==t19;

hasil='Sunfirst Lady JeanFera Nababan' hasil2='101401083';

gb1=imread('fsunfirst.jpg'); axes(handles.axes2); imshow(gb1) elseif nilai_y==t20;

hasil='Johanes Prima saragih' hasil2='101401049';

gb1=imread('fjohanes.jpg');

axes(handles.axes2); imshow(gb1) else

hasil='Tidak Dikenali'; hasil2='0';

gb1=imread('tidak.jpg');

axes(handles.axes2); imshow(gb1) end

set(handles.edit1,'String',hasil); set(handles.edit2,'String',hasil2);

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

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

% --- Executes on button press in reset.

(23)

guidata(hObject,handles);

function Home_Callback(hObject, eventdata, handles) depan

delete(handles.figure1);

% ---

function Preprocessing_Callback(hObject, eventdata, handles) proses

delete(handles.figure1);

% ---

function Train_Callback(hObject, eventdata, handles) Train

delete(handles.figure1);

% ---

function Help_Callback(hObject, eventdata, handles) help

delete(handles.figure1);

% ---

function About_Callback(hObject, eventdata, handles) about

delete(handles.figure1);

% ---

function Exit_Callback(hObject, eventdata, handles) respon=keluar('Title','Konfirmasi Keluar');

% --- Executes during object creation, after setting all properties.

(24)

a = getimage(handles.axes1);

nilai=str2num(get(handles.edit3,'string')); b = imnoise(a,'gaussian',nilai*0.01);

axes(handles.axes1) imshow(b);

function edit3_Callback(hObject, eventdata, handles) % --- Executes during object creation, after setting all properties.

function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

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

(25)

CURRICULUM VITAE

Nama : LennoraMarbun

Alamat Sekarang  : Jl. Pintu Air IV Gg Inpres, Medan Alamat Orang Tua : Jl. Veteran No. 20 A, Doloksanggul Telp/ Hp ☎ : 0819-7305-3319

Email :

Pendidikan

1998 –2004 : SD Negeri173394 Doloksanggul 2004 – 2007 : SMP Negeri1Doloksanggul 2007 – 2010 : SMA Negeri1Doloksanggul

2010 – 2014 : Universitas Sumatera Utara (FasilkomTI –Ilmu Komputer)

Keahlian

Database : MySQL

Bahasa : Indonesia, Inggris, Batak Toba.

(26)

Daftar Pustaka

[1] Ahmad, Usman. 2005. Pengolahan Citra Digital & Teknik Pemrogramannya. Graha Ilmu:

Yogyakarta.

[2] Arifin, Z. 2009. Jaringan syaraf tiruan Bidirectional Associative Memory (BAM)

sebagai

identifikasi pola sidik jari manusia. Jurnal Informatika Mulawarman 4(1): 21-26.

[3] Desiani, A & Arhami, M. 2006. Konsep Kecerdasan Buatan. Andi Offset: Yogyakarta. [4] Dulimarta, H. S. 1997. Diktat Kuliah Pengolahan Citra. Jurusan Teknik Informatika ITB.

[5] Ginting, E. D. 2012. Deteksi tepi menggunakan metode canny dengan Matlab untuk

membedakan uang asli dan uang Palsu. Skripsi. Universitas Gunadarma.

[6] Hastawan, A. F. 2013. Deteksi sudut menggunakan kode rantai untuk pengenalan

bangun

datar dua dimensi.Transmisi 15(1): 4.

[7] Haykin, S. 2009. Neural Network and Learning Machines. 3�ℎedition.Pearson

International

Edition: New Jersey.

[8] Hermawan, A. 2006. Jaringan Saraf Tiruan: Teori dan Aplikasinya. Andi: Yogyakarta. [9] Kurniadi, R. 2011. Pengembangan sistem identifikasi telapak tangan dengan

menggunakan

filter bank gabor. Skripsi. Institut Teknologi Sepuluh Nopember Surabaya.

[10] Kusumadewi, S. 2003. Artificial intelligence. Graha Ilmu: Yogyakarta. [11] Munir, R. 2004. Pengolahan Citra Digital.(online)

(25 September 2013).

[12] Pandjaitan, L. W. 2007. Dasar-dasar Komputasi Cerdas. Andi Offset: Yogyakarta.

[13] Putra, I. K. G. D. 2009. Sistem Biometrika Teori dan Aplikasi. Andi Offset: Yogyakarta, pp 121.

[14] Putra, I. K. G. D., Bhuana, W. & Erdiawan. 2011. Pembentukan Kode Telapak Tangan

(Palm Code) Berbasis Metode Gabor 2d. Makara Teknologi 15(2): 161 - 167.

[15] Putra, I. K. G. D. 2009. Sistem Verifikasi Biometrika Telapak Tangan Dengan Metode

(27)

[16] Sihotang, S. J. A. 2010. Implementasi jaringan saraf tiruan untuk pengenalan tanda

tangan. Skripsi. Universitas Sumatera Utara.

[17] Siregar, T. R. 2013. Implementasi jaringan syaraf metode bidirectional associative

memory untuk pengenalan wajah. Skripsi. Universitas Sumatera Utara.

[18] Soraya, F. 2009. Pengidentifikasian Sidik Telapak Kaki Bayi Menggunakan Jaringan

(28)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1Analisis Permasalahan

Pengenalan identitas seseorang masih banyak digunakan sistem tradisional, dimana mengenali dengan pin, password, kata sandi yang banyak menimbulkan permasalahan yaitu lupa dengan kata sandi, hilang, dicuri dan dibajak. Sehingga, solusi yang digunakan dengan menggunakan sistem biometrika. Dalam sistem biometrika, pola biometrik yang ada dalam tubuh manusia sendiri dapat digunakan untuk mengenali identitas seseorang dengan tingkat keamanan yang lebih baik dibandingkan dengan sistem tradisional.

Gambar 3.1 Diagram Ishikawa Analisis Permasalahan 3.2 Analisis Kebutuhan Sistem

Analisis kebutuhan sistem meliputi analisis kebutuhan fungsional dan analisis kebutuhan

non-fungsional sistem.

3.2.1 Analisis Kebutuhan Fungsional Sistem

Kebutuhan fungsional yang harus dimiliki oleh sistem Identifikasi telapak tangan manusia dengan Jaringan Syaraf Tiruan metode Bidirectional Associative Memory adalah:

1. Sistem dapat menerima inputan citra telapak tangan kanan dengan format JPEG. 2. Sistem dapat melakukan pemrosesan gambar sebelum dilatih.

3. Sistem dapat mengubah citra menjadi citra bipolar.

4. Sistem dapat mengenali identitas seseorang dengan citra telapak tangan kanan yang sudah dilatih .

5. Sistem dapat menyimpan pola dalam bentuk *.xls.

Pengidentifikasian seseorang

Mengenali identitas Sistim tradisional

(29)

3.2.2 Analisis Kebutuhan Non-Fungsional Sistem

Kebutuhan non-fungsional yang harus dimiliki oleh sistem Identifikasi telapak tangan manusia dengan Jaringan Syaraf Tiruan metode Bidirectional Associative Memory adalah: 1. Tampilan antarmuka sistem yang menarik dan mudah dimengerti oleh pengguna

sistem.

2. Waktu pemrosesan dan pelatihan pola tangan yang lebih cepat. 3.3 Pemodelan Sistem

Pada penelitian ini digunakan UML(Unified Modelling Language) sebagai bahasa pemodelan untuk mendesain dan merancang sistem Implementasi Jaringan Syaraf Tiruan

Bidirectional Associative memory untuk pengidentifikasian telapak tangan manusia. Model

UML yang digunakan adalah use case diagram, activity diagram, dan sequence diagram.

3.3.1 Pemodelan dengan Menggunakan Use Case Diagram

Use Case adalah diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan

bagaimana sistem tersebut berinteraksi dengan dunia luar dan menjelaskan sistem secara fungsional yang terlihat user.

Dalam pemodelan ini terdapat aktor yaitu user dan programmer. Programmer dapat melakukan pelatihan dan pengujian jaringan syaraf tiruan dengan metode bidirectional

associative memory untuk mengidentifikasi pola telapak tangan, sedangkan user dapat

(30)

Sistem Implementasi Jaringan Syaraf Tiruan untuk pengidentifikasian telapak tangan manusia

Pelatihan BAM

Gambar 3.2 Use Case Diagram Sistem Identifikasi Telapak Tangan 3.3.1.1 Use case Pelatihan Jaringan Syaraf Tiruan (JST)

Use case Pelatihan JST ini menjelaskan dokumentasi naratif dari pelatihan JST sistem

yang akan dibangun seperti pada Tabel 3.1.

Tabel 3.1 Dokumentasi Naratif Use Case Pelatihan Jaringan Syaraf Tiruan Nama Use Case Pelatihan Jaringan Syaraf Tiruan

Aktor Programmer dan user

Deskripsi Use Case ini mendeskripsikan proses pelatihan Jaringan Syaraf Tiruan

Prakondisi Berada pada interface menu Train

Alur Dasar Kegiatan User Respon System

1. Tekan Button load 1. Menampilkan semua citra yang akan dilatih pada axes yang tersedia di interface 2. Tekan button Train 2. Melakukan proses Pelatihan

JST pada citra yang disimpan dimana, sebelumnya citra sudah diproses yaitu

mengubah ukuran citra pada tiap axes sebesar 200 x 300

pixel, diubah Grayscale,

(31)

Alur Alternatif Tidak ada

Post-Kondisi Sistem telah menyimpan bobot hasil proses pelatihan Jaringan Syaraf Tiruan

3.3.1.2 Use case Pengujian Jaringan Syaraf Tiruan (JST)

Use case pengujian JST ini menjelaskan dokumentasi naratif dari pengujian JST

sistem yang akan dibangun seperti pada Tabel 3.2.

Tabel 3.2 Dokumentasi Naratif Use Case Pengujian Jaringan Syaraf Tiruan Nama UseCase Pengujian Jaringan Syaraf Tiruan

Aktor Programmer dan user

Deskripsi Use Case ini mendeskripsikan proses pengujian Jaringan Syaraf Tiruan

Prakondisi Berada pada interface menu Test

Alur Dasar Kegiatan User Respon System

1. Tekan tombol Buka File Gambar

1. Menampilkan antarmuka pemilihan citra telapak tangan yang akan dikenali

2. Pilih citra yang akan dikenali 2. Menampilkan citra telapak tangan yang akan dikenali pada axes 3. Tekan tombol Test 3. Proses Identifikasi Pengenalan

pola telapak tangan dan informasi pemilik pola telapak tangan

Alur Alternatif 1. Tekan tombol Reset 1. Sistem membersihkan axes dan

static text pada antarmuka Test

Post-Kondisi Sistem menampilkan hasil proses identifikasi telapak tangan, nama, dan nim si pemilik citra telapak tangan

3.3.2 Pemodelan dengan Menggunakan Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang

dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir.

(32)

Pelatihan

B A M

=latih !=latih

Pengujian

Simpan bobot hasil pelatihan

Browse Citra

Pilih Citra

Tekan tombol kenali

Informasi hasil identifikasi Load citra yang akan dilatih

Tekan tombol Latih

Gambar 3.3 Activity Diagram Proses Pelatihan dan Pengenalan JST BAM

3.3.3 Pemodelan dengan Menggunakan Sequence Diagram

Sequence Diagram (diagram urutan) adalah suatu diagram yang memperlihatkan atau

(33)

3.3.3.1Sequence Diagram proses pelatihan Jaringan Syaraf Tiruan

Pada sistem, akan dilakukan proses pelatihan, dimana terjadi interaksi pada objek kontrol pelatihan citra. Citra telapak tangan akan dijadikan pola dan diproses sebelum dilatih. Ukuran citra telapak tangan yang merupakan jenis citra RGB akan diubah menjadi ukuran 200 x 300 pixel, diproses menjadi citra grayscale dan di-sharpening filter.

Selanjutnya dilakukan deteksi tepi dengan metode Canny untuk mendapatkan tepi citra sekaligus mengubahnya ke dalam bentuk citra biner. Citra biner kemudian akan diubah kedalam citra bipolar untuk mendapatkan elemen matriks citra bernilai 1 dan -1. Kemudian, pola akan dilatih dengan metode BAM untuk mendapatkan bobot dari pola yang sudah dilatih sebelumnya seperti pada gambar 3.4.

Kontrol Pelatihan

Resize

Imread(citra telapak tangan)

Grayscale Sharpen Filtering Deteksi Tepi Canny BAM

Resize(citra telapak)

Grayscale(Matriks)

Imfilter(Matriks)

Edge Detection(Matriks)

Pelatihan

Simpan(bobot)

(34)

3.3.3.2Diagram sequence proses Pengujian Jaringan Syaraf Tiruan

Pada sistem, akan dilakukan proses pengujian terhadap citra telapak tangan yang sudah dilatih dan citra telapak tangan baru yang belum dilatih seperti pada sequence

diagram pada gambar 3.5.

Kontrol Pengujian Metode BAM

Imread (citra telapak tangan)

pengujian

Set String (data identitas pemilik Telapak tangan)

(35)

3.4 Flowchart Gambaran umum Sistem

Flowchart merupakan gambaran- gambaran umum aliran sistem. Gambaran umum

(36)

Pengenalan pola telapak tangan diawali dengan memanggil citra pola telapak tangan kanan yang akan dilatih dengan menggunakan metode bidirectional associative memory yang merupakan citra RGB sebanyak 20 sampel citra. Citra RGB yang dipanggil akan diubah ukurannya. Agar setiap citra memiliki ukuran yang sama yaitu 200 x 300. Kemudian citra yang sudah di-resize yang masih merupakan citra RGB di ubah menjadi citra Grayscale dan untuk memperkuat garis tepi dari citra telapak tangan maka akan dilakukan sharpening filter agar informasi dari garis telapak tangan semakin jelas dan kemudian citra akan dideteksi tepinya dengan menggunakan deteksi tepi canny. Pendeteksian tepi ini dilakukan untuk mendapatkan garis-garis utama dari citra telapak tangan dan mengubah citra menjadi citra biner. Pola citra biner diubah menjadi citra bipolar. Selanjutnya, pola-pola akan dilakukan pelatihan dengan menggunakan metode BAM. Dengan melakukan proses encoding, bobot dari pola akan dihitung dan disimpan. Selanjutnya, pada proses pengujian citra akan yang diuji dipanggil kemudian diuji apakah mengenali atau tidak. Jika dikenali maka akan dihasilkan output identitas pemilik citra telapak tangan, jika tidak dikenali maka akan didapat informasi bahwasanya pemilik citra tidak dikenali.

3.5 Perancangan Arsitektur Jaringan

Pada penelitian ini, menggunakan arsitektur jaringan Bidirectional Associative

Memory yang memiliki dua lapisan yaitu lapisan input yang terdiri dari 20 neuron dan

lapisan output yang terdiri dari 20 neuron. Tiap neuron pada lapisan input merupakan pola citra telapak tangan kanan yang sudah di-prepocessing. Tiap neuron pada lapisan output ditentukan terdiri 11 bit seperti berikut:

(37)

Vector output target 13 = 1 1 1 -1 1 -1 -1 1 -1 1 1

Vector output target 14 = 1 1 -1 1 -1 1 -1 -1 -1 -1 1

Vector output target 15 = 1 -1 1 -1 1 -1 1 1 1 1 1

Vector output target 16 = -1 -1 -1 1 -1 1 1 -1 1 -1 -1

Vector output target 17 = 1 -1 1 -1 1 1 -1 1 -1 1 -1

Vector output target 18 = -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1

Vector output target 19 = 1 1 1 -1 1 -1 1 1 1 1 1

Vector output target 20 = -1 1 -1 1 -1 1 1 -1 1 -1 -1

Sehingga dapat digambarkan bahwasanya arsitektur jaringan dari sistim ini seperti pada gambar 3.13

Gambar 3.7 Arsitektur Jaringan Syaraf tiruan Metode BAM untuk pengenalan pola telapak tangan

3.6 Perancangan Antarmuka Sistem

Sistem yang akan dibangun menggunakan bahasa pemrograman Matlab R2007b untuk memberi kemudahan kepada user menggunakan sistem. Dalam rancangan antar muka sistem ini ada 6 menu yaitu menu home, train, test, help, about dan exit.

y1 y2 y3 y4 y20

x1 x2 x3 x4 x20

Lapisan output

Lapisan input …………

(38)

3.6.1 Antarmuka Form Home

Form home merupakan form tampilan awal dan sebagai cover pada saat aplikasi ini

dijalankan. Form home antarmuka dari aplikasi ini seperti pada gambar 3.6.

Gambar 3.8 Tampilan Rancangan Antarmuka Form Home Keterangan:

1. Menu Train

Menu untuk menghubungkan form home dengan form train 2. Menu Test

Menu untuk menghubungkan form home dengan form test 3. Menu Help

Menu untuk menghubungkan form home dengan form help 4. Menu About

Menu untuk menghubungkan form home dengan form about 5. Menu Exit

Menu untuk menghubungkan form home dengan form exit 3.6.2 Antarmuka Form Train

(39)

Form Train merupakan form tampilan untuk memproses citra yang akan dilatih, melatih

pola citra yang sudah diolah dan menyimpan bobot. Form Train antarmuka dari aplikasi ini seperti pada gambar 3.7.

Gambar 3.9 Tampilan Rancangan Antarmuka Form Train Keterangan:

1. Menu Home

Menu untuk menghubungkan form Train dengan form home 2. Menu Test

Menu untuk menghubungkan form Train dengan form test 3. Menu Help

Menu untuk menghubungkan form Train dengan form help 4. Menu About

Menu untuk menghubungkan form Train dengan form about 5. Menu Exit

1 2 3 4 5

6

7

(40)

Tempat untuk menampilkan citra telapak tangan yang akan proses 7. Button Load

Untuk memanggil citra yang tersimpan dalam folder yang disimpan 8. Button Reshape

Untuk mengubah ukuran citra menjadi 200 x300 pixel pada axes 1sampai axes 20 9. Button Grayscale

Untuk mengubah citra RGB menjadi citra grayscale pada axes 1 sampai axes 20 10. Button Sharpening

Untuk melakukan sharpening filter pada citra grayscale dalam axes 1 sampai dengan

axes 20

11. Button Deteksi Tepi Canny

Untuk mendeteksi tepi citra yang sudah di-sharpening filter dengan metode Canny pada

axes 1 sampai dengan axes 20

12. Button Train

(41)

3.6.3 Antarmuka Form Test

Form Test merupakan form tampilan untuk melakukan pengujian sistem atau

pengenalan pola yang sudah dilatih sebelumnya. Form Test antarmuka dari aplikasi ini seperti pada gambar 3.9.

Gambar 3.10 Tampilan Rancangan Antarmuka Form Test Keterangan:

1. Menu Home

Menu untuk menghubungkan form test dengan form home 2. Menu Train

Menu untuk menghubungkan form test dengan form train 3. Menu Help

Menu untuk menghubungkan form test dengan form help 4. Menu About

Menu untuk menghubungkan form test dengan form about 5. Menu Exit

Menu untuk menghubungkan form test dengan form exit 6. Axes 1

1 2 3 4 5

6

7

8

9

10

11

(42)

8. Button Test

Untuk melakukan pengenalan atau pengujian dengan metode BAM pada citra di axes1. 9. Axes 2

Tempat untuk menampilkan citra pemilik pola telapak tangan yang diuji. 10. Edit text1

Menampilkan informasi nama pemilik pola telapak tangan yang diuji dengan menggunakan metode BAM

11. Edit text2

Menampilkan informasi nim pemilik pola telapak tangan yang diuji dengan menggunakan metode BAM

12. Button Reset

(43)

3.6.4 Antarmuka Form Help

Form Help merupakan form tampilan untuk menjelaskan cara penggunaan aplikasi.

Form Help antarmuka dari aplikasi ini seperti pada gambar 3.9.

Gambar 3.11 Tampilan Rancangan Antarmuka Form Help Keterangan:

1. Menu Home

Menu untuk menghubungkan form Help dengan form home 2. Menu Train

Menu untuk menghubungkan form Help dengan form Train 3. Menu Test

Menu untuk menghubungkan form Help dengan form Test 4. Menu About

Menu untuk menghubungkan form Help dengan form About 5. Menu Exit

Menu untuk menghubungkan form Help dengan form exit 6. Static text

Sebagai tempat teks cara penggunaan aplikasi. 1 2 3 4 5

(44)

3.6.5 Antarmuka Form About

Form About merupakan form tampilan untuk melatih pola yang sudah diproses

sebelumnya. Form About antarmuka dari aplikasi ini seperti pada gambar 3.10

Gambar 3.12 Tampilan Rancangan Antarmuka Form About Keterangan:

1. Menu Home

Menu untuk menghubungkan form About dengan form Home 2. Menu Train

Menu untuk menghubungkan form About dengan form Train

3. Menu Test

Menu untuk menghubungkan form About dengan form Test 4. Menu Help

Menu untuk menghubungkan form About dengan form Help 5. Menu Exit

Menu untuk menghubungkan form About dengan form Exit 6. Axes 1

Tempat untuk menampilkan gambar programmer

7. Static text

Sebagai tempat teks profil pembuat aplikasi (nama, nim, alamat). 1 2 3 4 6

7

(45)

3.6.6 Antarmuka Form Exit

Form Exit merupakan form tampilan untuk meminta konfirmasi user apakah akan

menutup aplikasi atau tidak. Form Exit antarmuka dari aplikasi ini seperti pada gambar 3.11.

Gambar 3.13 Tampilan Rancangan Antarmuka Form Exit Keterangan:

1. Button “ya”

Memberi konfirmasi user kepada sistem untuk menutup aplikasi. 2. Button “tidak”

Memberi konfirmasi user kepada sistem untuk tidak menutup aplikasi.

(46)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Implementasi sistem pengenalan identitas dengan pola telapak tangan menggunakan

Bidirectional Associative Memory (BAM) ini menggunakan bahasa pemrograman Matlab

R2007b. Penerapan sistem ini dilakukan dengan dengan perangkat keras yang memilki spesifikasi notebook dengan prosessor intel(R) Atom(TM), CPU N570, 1,67 GHz dan RAM 1GB.

4.1.1 Tampilan Antarmuka Sistem

Sistem pengidentifikasian telapak tangan manusia diimplementasikan dalam beberapa tampilan antarmuka untuk memberi kemudahan memahami proses identifikasi dengan 6 antarmuka yaitu antarmuka home, train, test, help, about, dan exit.

4.1.1.1Antarmuka Home

Antarmuka Home merupakan antarmuka yang ditampilkan pertama kali ketika aplikasi dijalankan. Dalam antarmuka home terdapat menu-menu yang dapat menghubungkan menu

(47)

Tampilan antarmuka home ditunjukkan pada Gambar 4.1.

Gambar 4.1 Tampilan Antarmuka Home

4.1.1.2Antarmuka Train

Antarmuka Train merupakan antarmuka dimana tempat pola-pola citra telapak tangan yang akan dilatih ditampilkan yaitu terdiri dari 20 sampel citra. Button Load diklik untuk menampilkan semua pola citra telapak tangan kanan yang akan diolah terlebih dahulu sebelum dilatih. Pada antarmuka train juga terdapat menu lain untuk dapat menghubungkan antarmuka train dengan antarmuka lain seperti menu home, menu test, menu help, menu

(48)

Gambar 4.2 Tampilan antarmuka Train

Tampilan antarmuka train pada saat button Load diklik ditunjukkan pada Gambar 4.3

Gambar 4.3 Tampilan antarmuka Train setelah button Load diklik

Pada antarmuka Train terdapat panel preprocessing yang berisi 4 button yaitu button

(49)

tersebut merupakan proses pre-processing untuk mengolah pola citra telapak tangan sebelum diolah. Keempat button digunakan secara berurutan dimulai dari button Reshape kemudian ke button Grayscale selanjutnya ke button Sharpening dan akhirnya ke button Deteksi Tepi Canny. Button Reshape berfungsi untuk mengubah ukuran seluruh pola citra telapak tangan pada 20 axes menjadi 200 x 300 piksel. Tampilan antarmuka setelah button

Reshape di klik ditunjukkan pada gambar 4.4.

Gambar 4.4 Tampilan antarmuka train setelah button Reshape diklik

Button Grayscale berfungsi untuk mengubah seluruh pola citra telapak tangan RGB pada 20

axes yang sudah di-Reshape menjadi grayscale. Tampilan antarmuka setelah button

(50)

Gambar 4.5 Tampilan antarmuka setelah button Graycale diklik

Selanjutnya, pola citra telapak tangan yang sudah di grayscale akan di sharpening dengang

button Shapening sebanyak 3 kali untuk menajamkan garis tepi pada pola citra telapak

tangan. Tampilan antarmuka train pada saat di-sharpening pertama kali ditunjukkan pada Gambar 4.6.

(51)

Tampilan antarmuka train pada saat di-sharpening kedua kali ditunjukkan pada Gambar 4.7.

Gambar 4.7 Tampilan antarmuka train pada saat di-sharpening kedua kali

Tampilan antarmuka train pada saat di-sharpening ketiga kali ditunjukkan pada Gambar 4.8.

(52)

Gambar 4.9 Tampilan antarmuka train pada saat di deteksi tepi Canny

Pola yang sudah siap diolah akan di latih dengan mengklik button train, maka pola citra telapak tangan kanan akan diolah dan akan menghasilkan bobot yang disimpan dalam pelatihan.xls. Setelah siap disimpan bobot disimpan, maka diberi informasi seperti tampilan antarmuka Gambar 4.10.

Gambar 4.10 Tampilan Antarmuka setelah selesai dilatih

4.1.1.3Antarmuka Test

(53)

Gambar 4.11 Tampilan antarmuka Test

(54)

Gambar 4.12 Tampilan Buka File Gambar

Setelah gambar dipilih maka citra pola telapak tangan kanan akan ditampilkan pada axes 1 seperti pada Gambar 4.13.

(55)
(56)

Jika dalam pengujian tidak dikenali, maka akan diberi informasi bahwasanya pola citra telapak tangan kanan tidak dikenali seperti yang ditunjukkan pada gambar 4.15.

(57)

Jika dalam pengujian salah mengenali, maka akan diberi informasi bahwasanya pola citra telapak tangan kanan dengan data yang tidak sesuai dengan pemilik telapak tangan sebenarnya seperti yang ditunjukkan pada gambar 4.16

. Gambar 4.16 Tampilan Antarmuka Test Hasil Uji Salah Mengenali

4.1.1.4Antarmuka Help

Antarmuka help merupakan tampilan antarmuka memuat teks informasi bagaimana menggunakan aplikasi. Dalam antarmuka help juga terdapat menu-menu lain yang dapat menghubungkan antarmuka help dengan antarmuka lain seperti antarmuka

home, train, test, about, dan exit. Tampilan antarmuka help ditunjukkan pada Gambar

(58)

Gambar 4.17 Gambar Antarmuka Help

4.1.1.5Antarmuka About

(59)

Gambar 4.18 Tampilan Antarmuka About

4.1.1.6Antarmuka Exit

Antarmuka Exit merupakan tampilan antarmuka untuk konfirmasi keluar dari aplikasi atau tidak. Jika ingin keluar dari aplikasi, maka klik button “ya”, jika tidak klik button “tidak”. Tampilan antarmuka exit ditunjukkan pada Gambar 4.17.

Gambar 4.18 Tampilan Antarmuka Exit

4.2 Pengujian Sistem

Pengujian dilakukan untuk membuktikan bahwa jaringan syaraf tiruan dengan metode

(60)

terhadap pola telapak tangan kanan yang sudah dilatih dan kedua pengujian terhadap pola telapak tangan kanan yang baru yang belum dilatih.

4.2.1 Pengujian terhadap Citra Telapak Tangan Kanan yang Sudah Dilatih

Pada pengujian ini, data masukan yang digunakan adalah citra telapak tangan kanan yang sudah dilatih sebelumnya, dimana terdiri dari 20 citra telapak tangan dengan format .jpg atau .jpeg berukuran 200 x 300 piksel. Setiap citra diambil dengan posisi telapak tangan terbuka dan melintang. Target dari pola telapak tangan tersebut yaitu,

y1 = (1 -1 1 1 -1 -1 -1 1 1 -1 1),

(61)

Tabel 4.1 Pengujian citra telapak tangan kanan yang sudah dilatih

No Pola telapak tangan

Nama pemilik Telapak Tangan

Target Hasil

Pengenalan

1 Yayang ��=(1 -1 1 1 -1 -1 -1 1 1

-1 1)

Yayang

2 Reni �=( 1 1 1 1 1 1

-1 --1 --1 --1 --1)

Reni

3 Danny �=( 1 1 1 -1 1 1 1 1

1 1 1)

Danny

4 Angga �=( -1 1 -1 1 -1 -1 1

-1 1 -1 1)

Angga

5 Hayatun �=( -1 1 1 -1 1 -1 -1

1 -1 1 -1)

Hayatun

6 Intan �=( -1 1 -1 1 -1 1 -1

-1 -1 -1 -1)

Intan

7 Janwandi �=( 1 -1 1 -1 1 1 1 1

1 1 1)

Janwandi

(62)

9 Agus �=( 1 -1 1 -1 1 1 -1 1 -1 1 1)

Agus

10 Umri ���=( -1 -1 -1 1 -1 -1

-1 -1 -1 -1 1)

Umri

11 Nurhennida ���=( 1 1 1 -1 1 1 1

1 1 1 -1)

Nurhennida

12 Rivai ���=( -1 1 -1 1 -1 -1

1 -1 1 -1 -1)

Rivai

13 Singgih ���=( 1 1 1 -1 1 -1 -1

1 -1 1 1)

Singgih

14 Teguh ���=( 1 1 -1 1 -1 1 -1

-1 -1 -1 1)

Teguh

15 Teti ���=( 1 -1 1 -1 1 -1 1

1 1 1 1)

Teti

16 Fajrul ���=( -1 -1 -1 1 -1 1

1 -1 1 -1 -1)

Fajrul

17 Amalya ���=( 1 -1 1 -1 1 1 -1

1 -1 1 -1)

(63)

18 Vito ���=( -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1)

Vito

19 Sunfirst ���=( 1 1 1 -1 1 -1 1

1 1 1 1)

Sunfirst

20 Johanes ���=( -1 1 -1 1 -1 1 1

-1 1 -1 -1)

Johanes

Dari pengujian yang dilakukan terhadap 20 citra pola telapak tangan kanan yang sudah dilatih, telapak tangan yang dikenali sesuai dengan target adalah 20 telapak tangan. Dari hasil tersebut menunjukkan bahwasanya keakuratan metode Bidirectional Associative

Memory dalam mengenali pola telapak tangan yang sudah dilatih sebesar 100%.

4.2.2 Pengujian terhadap Citra Telapak Tangan Kanan yang Belum Dilatih

(64)
(65)

9 Hayatun1 �=( -1 1 1 -1 1 -1 -1 1 -1 1 -1)

Hayatun

10 Hayatun2 �=( -1 1 1 -1 1 -1 -1

1 -1 1 -1)

Hayatun

11 Intan1 �=( -1 1 -1 1 -1 1 -1

-1 -1 -1 -1)

Intan

12 Intan2 �=( -1 1 -1 1 -1 1 -1

-1 -1 -1 -1)

Tidak dikenali

13 Janwandi1 �=( 1 -1 1 -1 1 1 1 1

1 1 1)

Janwandi

14 Janwandi2 �=( 1 -1 1 -1 1 1 1 1

1 1 1)

Vito

15 Rasyid1 �=( -1 -1 -1 1 -1 -1

1 -1 1 -1 -1)

Rasyid

16 Rasyid2 �=( -1 -1 -1 1 -1 -1

1 -1 1 -1 -1)

Rasyid

17 Agus1 �=( 1 -1 1 -1 1 1 -1

1 -1 1 1)

(66)
(67)

27 Teguh1 ���=( 1 1 -1 1 -1 1 -1 -1 -1 -1 1)

Teguh

28 Teguh2 ���=( 1 1 -1 1 -1 1 -1

-1 -1 -1 1)

Rasyid

29 Teti1 ���=( 1 -1 1 -1 1 -1 1

1 1 1 1)

Vito

30 Teti2 ���=( 1 -1 1 -1 1 -1 1

1 1 1 1)

Vito

31 Fajrul1 ���=( -1 -1 -1 1 -1 1

1 -1 1 -1 -1)

Fajrul

32 Fajrul2 ���=( -1 -1 -1 1 -1 1

1 -1 1 -1 -1)

Vito

33 Amalya1 ���=( 1 -1 1 -1 1 1 -1

1 -1 1 -1)

Tidak dikenali

34 Amalya2 ���=( 1 -1 1 -1 1 1 -1

1 -1 1 -1)

Amalya

35 Vito1 ���=( -1 -1 -1 1 -1 -1

-1 -1 -1 -1 -1)

(68)

36 Vito2 ���=( -1 -1 -1 1 -1 -1

Hasil pengujian seperti Tabel 4.2 dilakukan terhadap 40 citra telapak tangan kanan yang diambil kembali citranya dengan menggunakan scanner dari printer dokumen. Citra telapak tangan yang baru ini tidak dilatih. Hasil pengenalannya adalah 21 pola dikenali, 10 pola tidak dikenali, dan 9 pola salah mengenali. Berdasarkan hasil tersebut, kemampuan metode bidirectional associative memory dalam mengenali pola citra telapak tangan kanan yang belum dilatih adalah sebesar 52,5 %.

(69)

diidentifikasi dikarenakan ciri geometri dan garis-garis utama telapak tangan mempunyai gambaran yang relatif mirip antara pola telapak tangan yang satu dengan yang lain.

(70)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil analisis, implementasi dan pengujian pada bab sebelumnya, maka diperoleh kesimpulan sebagai berikut:

1. Hasil pengenalan pola telapak tangan kanan dengan menggunakan ciri geometri dan garis-garis utama telapak tangan sebagai data uji yang sudah dilatih dalam metode

Bidirectional Associative Memory adalah sebesar 100 % dan pengenalan terhadap

(71)

5.2 Saran

Berikut ini adalah saran-saran untuk pengembangan dan perbaikan penelitian ini :

1. Untuk penelitian selanjutnya, sistem dapat dikembangkan dengan banyak pola telapak tangan.

2. Untuk penelitian selanjutnya, sistem ini dapat dikembangkan dengan program yang lebih dinamis agar memungkinkan untuk input data baru.

3. Untuk penelitian selanjutnya, sistem ini dapat dikembangkan dengan menggunakan ciri minusi dan garis-garis kusut telapak tangan sebagai pola citra yang akan diuji. 4. Untuk penelitian selanjutnya, sistem ini dapat dikembangkan dengan menggunakan

alat pengambilan citra dengan resolusi yang tinggi misalnya dengan menggunakan kamera digital atau scanner yang beresolusi lebih besar dari 5 MP dan menangkap citra telapak tangan tanpa perlu dipotong secara manual.

(72)

BAB II

TINJAUAN PUSTAKA

2.1 Pola Telapak Tangan

Kode telapak tangan (palm code) adalah kode unik yang diperoleh melalui ekstraksi fitur telapak tangan seseorang. Kode ini dapat digunakan untuk mewakili pemilik telapak tangan bersangkutan dan dapat digunakan sebagai identitas pembeda dengan orang lain. Kode telapak tangan mirip dengan kode sidik jari (finger code) atau kode iris (iris code)[14].

Sistem biometrika menggunakan karakteristik fisiologi atau perilaku untuk melakukan otentifikasi secara otomatis terhadap identitas seseorang dengan membandingkannya dengan identitas yang terdaftar sebelumnya [13-15].

Sistem biometrika beroperasi pada dua model, yaitu: 1. Sistem verifikasi

a. Bertujuan untuk menerima atau menolak identitas yang diklaim oleh seseorang.

b. Menjawab pertanyaan “Apakah identitas saya sama dengan identitas yang saya sebutkan?”.

c. Lebih sederhana karena hanya mencocokkan satu masukan dengan satu acuan (one to one matching).

2. Sistem identifikasi

a. Bertujuan untuk memecahkan identitas seseorang. b. Menjawab pertanyaan “identitas siapakah ini?”.

c. Terjadi pencocokan satu masukan dengan banyak acuan (one to many

matching).

(73)

(palmprint) merupakan biometrika fisiologi yang masih relatif baru[14].

Gambar 2.1 Pola Telapak Tangan

Pada Gambar 2.1 ciri-ciri yang dimiliki oleh telapak tangan: 1. Ciri geometri

2. Ciri garis-garis utama 3. Ciri garis-garis kusut 4. Ciri minusi

Telapak tangan kaya akan fitur-fitur unik, seperti fitur geometri (lebar, panjang dan luas area telapak tangan), fitur garis-garis utama (principle lines), fitur garis-garis lemah (wrinkle lines), fitur delta points dan fitur minusi (minutiae). Telapak tangan memiliki beberapa kelebihan dibandingkan dengan biometrika lainnya, yaitu dapat menggunakan citra resolusi rendah, biaya alat akuisisi relatif rendah, sulit untuk dipalsu dan bersifat unik dan stabil [14,15].

2.2Perbaikan kualitas citra

(74)

meningkatkan kualitas citra dengan menggunakan teknik pengolahan antara lain dengan modifikasi histogram, penggunaan filter, analisis frekuensi dan lain-lain[1]. Proses-proses yang termasuk ke dalam perbaikan kualitas citra[11]:

1. Pengubahan kecerahan gambar (image brightness) 2. Peregangan kontras (contrast stretching)

3. Pengubahan histogram citra

4. Pelembutan citra (image smoothing) 5. Penajaman (sharpening) tepi (edge) 6. Pewarnaan semu (pseudocolouring) 7. Pengubahan geometrik

2.2.1 Sharpen Filtering

Citra sharpen digunakan untuk menegaskan garis tepi pada citra, sehingga kelihatan lebih tajam pada citra yang kabur (blur). Operasi penajaman dilakukan dengan melewatkan citra pada penapis tinggi (high-pass filter). Penapis lolos-tinggi akan meloloskan (memperkuat) komponen yang berfrekuensi lolos-tinggi (misalnya tepi atau pinggiran objek) dan akan menurunkan komponen berfrekuensi rendah. Akibatnya, pinggiran objek telihat lebih tajam dibandingkan sekitarnya. Karena penajaman citra lebih berpengaruh pada tepi (edge) objek, maka penajaman citra sering disebut juga penajaman tepi (edge sharpening) atau peningkatan kualitas tepi (edge enhancement) [11]. Efek sharpen diperoleh dengan mengalikan matriks bertetangga yang menjadi sampel dengan sebuah matriks filter tertentu[1].

Contoh matriks filter yang akan digunakan adalah sebagai berikut:

(75)

Gbr 2. 2(a) Citra Semula (b) Citra Gray Semula (c) Citra Setelah Penajaman

2.2.2 Deteksi tepi (edge detection)

Suatu citra dapat dapat diketahui apa yang menjadi obyeknya ketika perbedaan antara latar belakang citra dengan objek terlihat jelas. Objek yang berada dalam bidang citra dan tidak bersinggungan dengan batas bidang citra, berarti objek tersebut dikelilingi oleh daerah yang bukan objek yaitu latar belakang.

Pertemuan antara objek dengan latar belakang disebut dengan tepi objek. Tepi dapat mewakili informasi yang penting dari obyek. Tepi ditandai dengan adanya perubahan intensitas yang bersifat lokal di dalam citra dan dapat dilacak berdasarkan perubahan intensitas ini. Deteksi tepi banyak digunakan untuk pengembangan algoritma untuk analisis fitur-fitur citra, segmentasi citra dan analisis pergerakan[1].

Edge detection memiliki beberapa algoritma, diantaranya: metode Sobel,

Prewitt, Roberts, Laplacian of Gaussian, zero-cross dan Canny.

2.2.3 Deteksi tepi Canny

Metode Canny adalah salah satu algoritma deteksi tepi modern. Deteksi tepi Canny ditemukan oleh Marr dan Hildreth yang meneliti pemodelan persepsi visual manusia.

Ada beberapa kriteria pendeteksi tepian paling optimum yang dapat dipenuhi oleh algoritma Canny:

a. Mendeteksi dengan baik (kriteria deteksi)

(76)

memberikan fleksibilitas yang sangat tinggi dalam hal menentukan tingkat deteksi ketebalan tepi sesuai yang diinginkan.

b. Melokalisasi dengan baik (kriteria lokalisasi)

Dengan Canny dimungkinkan dihasilkan jarak yang minimum antara tepi yang dideteksi dengan tepi yang asli.

c. Respon yang jelas (kriteria respon)

Hanya ada satu respon untuk tiap tepi. Sehingga mudah dideteksi dan tidak menimbulkan kerancuan pada pengolahan citra selanjutnya[5].

Dalam proses pendeteksian tepi terhadap citra yang dilakukan dengan menggunakan metode Canny dapat menggunakan function di Matlab, sehingga cukup menggunakan function edge dalam pengkodean[6]. Citra grayscale sesudah proses deteksi tepi dapat dilihat pada Gambar 3.

Gambar 2.3 (a) Citra Semula (b) Citra Gray sharpening (c) Citra setelah dektesi tepi canny

2.3 Pengenalan pola (pattern recognition)

(77)

Gambar 2.4 Skema Pengenalan Pola[11]

2.4 Jaringan Syaraf Tiruan

Jaringan syaraf tiruan (artificial neural network) atau disingkat dengan JST merupakan suatu sistem komputasi dimana arsitektur dan operasi diilhami dari pengetahuan tentang sel syaraf biologis di dalam otak, yang merupakan salah satu presentasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut. JST dapat digambarkan sebagai model matematis dan komputasi untuk simulasi dari koleksi model syaraf biologi [10].

(78)

belajar dan menghasilkan aturan atau operasi dari beberapa contoh atau input yang dimasukkan dan membuat prediksi tentang kemungkinan output yang akan muncul atau menyimpan karakteristik dari input yang disimpan kepadanya[7,8]. 2.4.1 Karakteristik Jaringan Saraf Tiruan

Karakteristik jaringan syaraf tiruan ditentukan oleh tiga hal[10]:

1. Pola hubungan antar neuron-neuron (disebut dengan arsitektur jaringan). 2. Metode penentuan bobot-bobot penghubung disebut metode pelatihan/

training/ learning / proses belajar jaringan).

2. Fungsi aktivasi.

Pada jaringan syaraf, hubungan antar neuron-neuron dikenal dengan nama bobot [10].

Gambar 2.6 Struktur Neuron Jaringan syaraf[3]

�� menerima masukan dari input signals�1, �2, …, �� dengan bobot hubungan

f(net). Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai

dasar untuk mengubah bobot[17]. 2.4.1.1 Algoritma Pembelajaran

Proses yang lazim dari pembelajaran meliputi tiga tugas, yaitu[3]: 1. Perhitungan output.

2. Membandingkan output dengan target yang diiginkan. 3. Menyesuaikan bobot dan mengulangi prosesnya.

(79)

Proses pembelajaran tersebut dapat dilihat pada gambar berikut :

Gambar 2.7 Proses Pembelajaran Suatu JST

Proses pembelajaran dalam JST dapat diklasifikasikan menjadi dua bagian, yaitu [3]:

1. Supervised Learning (Pembelajaran terawasi) yang menggunakan sejumlah

pasangan data masukan dan keluaran yang diharapkan. Contoh metode ini adalah metode back propagation, jaringan Hopfield dan percepton.

(80)

2.4.2 Bidirectional Associative Memory

Bidirectional Associative Memory (BAM) adalah salah satu model neural

network dengan hetero associative memory dengan menggunakan dua layer,

yaitu layer input dan layer output [2]. Model ini memiliki lapisan yang terhubung penuh dari satu lapisan dengan lapisan lainnya. Pada hubungan ini dimungkinkan adanya hubungan timbal balik antara layer input dan layer output. Namun demikian, bobot yang menghubungkan antara satu neuron (A) di satu lapisan dengan neuron (B) dilapisan lainnya akan sama dengan bobot yang menghubungkan neuron (B) ke neuron (A). Bisa dikatakan bahwa, matriks bobot yang menghubungkan neuron-neuron pada lapisan output ke lapisan input sama dengan transpose matriks bobot neuron-neuron yang menghubungkan lapisan

input ke lapisan output[10].

Gambar 2.8 Arsitektur Jaringan Bidirectional Associative Memory[10]

Gambar 2.8 menunjukkan arsitektur jaringan BAM yang dibutuhkan.BAM terdiri dari dua lapis elemen pemroses. Keluaran tiap lapis yang diinterkoneksi dengan elemen-elemen pada lapisan lain [12].

(81)

2.4.2.1 BAM Diskret

Pada BAM diskret ada 2 kemungkinan tipe data, yaitu biner dan bipolar. Matriks bobot awal dibuat sedemikian rupa sehingga dapat menyimpan pasangan vektor input dan vektor output s(p)-t(p), dengan p = 1, 2, 3, ..., P.

a. Untuk vektor input biner, matriks bobot ditentukan sebagai :

���= ∑� (2 ��(p) – 1)( 2�� (p) – 1) (1.2)

Sedangkan fungsi aktivasi yang digunakan adalah:

Yj Untuk lapisan output :

�� = �

1 ;�����_�� > 0

�� ;�����_��� = 0

0 ; �����_�� < 0

Xi Untuk lapisan input:

�� = �

1 ;�����_�� > 0

�� ;�����_��� = 0

0 ; �����_�� < 0

b. Sedangkan untuk vektor input bipolar, matriks bobot ditentukan sebagai:

���= ∑� ( ��(p) �� (p)) (1.3)

(82)

Yj Untuk lapisan output:

�� = �

1 ;�����_�� > �

�� ;�����_��� =�

−1; �����_�� <�

Xi Untuk lapisan input:

�� = �

1 ;�����_�� > �

�� ;�����_��� =�

−1 ; �����_�� <�

Dengan catatan bahwa input hasil olahan pada jaringan (x_ini atau y_in j) sama dengan nilai thresholdnya, maka fungsi aktivasi akan menghasilkan nilai sama dengan nilai sebelumnya.

Keterangan:

s(p) = vektor masukan

t(p) = vektor keluaran

��� = bobot hubungan ke-i dan ke-j

�� = sinyal masukan ke-i

�� = sinyal keluaran ke-j

�_�� = masukan hasil olahan ke-i

�_�� = keluaran hasil olahan ke-j

�� = nilai ambang

�(. ) = fungsi aktivasi

(83)

BAM kontinyu akan mentransformasikan input secara lebih halus dan kontinyu ke kawasan output dengan nilai yang terletak pada range [0,1]. Fungsi aktivasi yang digunakan adalah fungsi sigmoid.

Algoritma jaringan syaraf tiruan 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 (kita set aktivasi lapisan X sebagai pola input).

Langkah 2b : Berikan input pola y ke lapisan Y (salah satu dari vektor input tersebut biasanya diset sebagai vektor nol).

Langkah 3 : Kerjakan langkah 3-6 jika aktivasi-aktivasi tersebut belum konvergen.

Langkah 4 : Perbaiki setiap unit aktivasi di lapisan Y : Hitung :

�_�� = ∑� ��� ∗�

Hitung :

�� = f(y_��� )

(84)

Hitung :

�� = f ( x_��� )

Berikan informasi tersebut ke lapisan Y.

Langkah 6: Tes kekonvergenan. Jika vektor x dan y telah mencapai keadaan stabil, maka interasi berhenti, jika tidak demikian lanjutkan iterasi [2,10].

2.4.2.3 BAM Connections matrice

�� sebagai vektor masukan dan �� sebagai vector keluaran berasosiasi dengan pasangan (�,�) yang dapat digambarkan secara logika dengan implikasi: jika � dan �. Begitu pula sebaliknya: jika�dan � asosiasi pasangan tersebut akan diketahui oleh BAM dengan membentuk suatu bobot W. Proses untuk membentuk matriks W disebut encoding.

Encoding : terdapat m pasangan pola{(1,�1) , (�2,�2),…, (�,�)}.

�� = (��1 ,��2 ,…,���) adalah vektor biner dengan panjang n ;�� ∈{0,1}� dan

��= (��1 ,��12 ,…,���) adalah vektor biner dengan panjang p ; �� ∈ {0,1}�.

Formula untuk menghitung W adalah:

W = ∑ ������ , i=1, 2, …,m (1.4)

Dan dualitas BAM (bobot yang menghubungkan antara satu neuron B dengan A)�� adalah:

�� = ∑ � (

��� �����)� = ∑ ���� ����� (1.5)

(85)

�� = 2 �� − 1 (1.6)

Atau

�� = 2 �� – 1 (1.7)

Sekarang m pasangan pola dalam bentuk bipolar {(1 , �1), (�2 , �2), …,( �� , �)}.

�� = (��1,��2, ….,���), �� = (��1,��2, ….,���), �� ∈{-1,1}� , �� ∈{-1,1}�

Maka perumusan W adalah:

W = ∑ ������ , i = 1, 2, …, m (1.8)

Dan dualitas BAM ��adalah :

�� = ∑ � (

��� �����)� = ∑ ���� ����� (1.9)

Contoh :

Terdapat suatu himpunan S yang terdiri dari 4 pasang pola, S – {(�1,�1), (�2,�2), (�3,�3), (�4,�4)}.

Representasi vektor pasangan dalam bentuk biner :

�1 =[ 1 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 ] �1= [ 1 0 0 0 0 1 1]

�2= [ 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1] �2 = [ 1 0 0 1 1 1 0]

�3= [ 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1] �3 = [ 1 0 1 1 0 1 0]

�4= [ 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1] �4 = [ 0 1 1 0 1 0 1]

(86)

�4 = [-1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 ] �4 = [-1 1 1 -1 1 -1 1 ]

Dari persamaan 1.8 matriks W yang terbentuk dalam BAM adalah :

W = �1��1 + �2��2 + �3��3 + �4��4

Didapatkan :

(87)

Persamaan decoding untuk pola dalam bipolar adalah :

�� = � (����)

(1.10)

�� = � (���) (1.11)

Dimana � adalah fungsi threshold untuk�� dan ���:

��� = �1,���� ����

> 0

−1,���� �� ≤0� (1.12)

Dan

��� = � 1,1, �������� �� �� > 0

� �� ≤ 0� (1.13)

Jika diberikan � maka akan dengan menggunakan persamaaan (1.13), � yang dihasilkan adalah :

�1 = � (�1�) = [ 1 -1 -1 -1 -1 1 1 ]

�2 = � (�2�) = [ -1 -1 -1 1 1 -1 -1 ]

�3 = � (�3�) = [ 1 -1 1 1 -1 1 -1 ]

�4 = � (�4�) = [ -1 1 1 -1 1 -1 1 ]

Perlu diperhatikan bahwa �2 belum sama[ 2 ]. Keterangan :

�� = vektor masukan

�� = vektor keluaran W = matriks bobot n = jumlah baris p = jumlah kolom

(88)

2.4.2.4 Stabilitas BAM

Kosko (1988) mendefinisikan stabilitas BAM dengan mengidentifikasikan fungsi Lyapunov atau fungsi energy E untuk setiap state (�,�). Menurut Zurada (1992), prosedur yang dikatakan Kosko berdasarkan atas pendekatan dari analisis kestabilan sistim dinamik yang dikembangkan oleh A.M.Lyapunov. Yang unik dari pendekatan Lyapunov ini adalah hanya persamaan differensialnya yang perlu diketahui bukan nilai hasilnya.

Fungsi Lyapunov E memetakan variabel-variabel sistem ke suatu bilangan real dan menurun sejalan dengan waktu. Pada BAM, E memetakan product matriks – matriks ke dalam bilangan real yang dirumuskan sebagai berikut :

E(A,B) = - A �� (1.14)

Model BAM menggunakan interlayer feedback, dengan melewatkan data melalui W didapatkan satu arah dan melalui transposnya �� didapatkan diarah yang lainnya. Jika pasangan pattern(A,B) dilewatkan dalam BAM, maka akan dilakukan beberapa iterasi yang dapat digambarkan sebagai berikut:

A → W → B

B → W → A'

A' → W → B'

B ' → W → A''

. . . .

. . . . �� → W → ��

�� → W → ��

(89)

2.5 Penelitian yang berkaitan

1. Identifikasi pola sidik jari dengan jaringan syaraf tiruan bidirectional associative

memory

(fringer print pattern identification by bidirectional associative memory artificial

neural network) oleh anifuddin azis dan tanzil kurniawan, program Studi Ilmu

Komputer FMIPA Universitas Gadjah Mada.

Dalam penelitian ini, akan dibuktikan kemampuan JST BAM tersebut dengan merancang

sebuah sistem untuk mengidentifikasi pola sidik jari. Dari hasil uji coba program

menunjukkan bahwa JST BAM dapat mengidentifikasi pola sidik jari dengan tepat

setelah diberi noise secara acak antara 0% - 30%. Di atas 30% beberapa output yang

dihasilkan tidak dapat dikenai atau dikenali namun sebagai pola palsu, sehingga JST

BAM

tidak dapat mengenali pola secara tepat.

Hal ini mirip dengan identifikasi pola telapak tangan yang saya akan angkat menjadi

judul tugas akhir karena menggunakan pola inputan yang merupakan sistem biometrika

juga.

2. Pengidentifikasian sidik telapak kaki bayi menggunakan jaringan syaraf tiruan metode Probalistik Neural Network (PNN) dari salah satu skripsi di Universitas Pembangunan

Nasional Veteran.

Dalam Skripsi ini dijelaskan bahwasanya sistem aplikasi yang mempunyai kemampuan mengenali pola sidik telapak kaki bayi untuk mengetahui identitas bayi yang baru lahir dengan menggunakan metode Probalistik Neural Network .

Penelitian ini mirip dengan Judul Tugas Akhir yang akan saya angkat dimana pemrosesannnya citra ada kesamaan tetapi metode pengenalannya yang berbeda. 3. Implementasi Jaringan Syaraf Metode Bidirectional Associative Memory untuk

Pengenalan Wajah, tahun 2013 dari Universitas Sumatera Utara.

(90)

BAB I PENDAHULUAN 1.1 Latar Belakang

Identitas sangat penting sebagai bukti bahwasanya manusia yang satu dengan yang lainnya adalah berbeda. Pada beberapa aplikasi yang membutuhkan pengidentifikasian seseorang masih banyak menggunakan cara tradisional, misalnya dengan pin, password, kunci, kartu dan lain sebagainya. Hal ini mendapat permasalahan karena bisa saja sistem pengidentifikasian dengan cara tradisional ini terjadi kecurangan misalnya diduplikasi, dipakai oleh orang lain, hilang, dicuri atau terlupakan. Untuk mengatasi permasalahan ini, maka dikembangkan suatu sistem yang lebih aman dan akurat untuk mengidentifikasi seseorang dengan menggunakan sistem biometrika.

Pengenalan identitas dapat dilakukan dengan mengambil data biometrika misalnya sidik kaki, sidik jari, deteksi retina, sidik wajah dan lain sebagainya. Data biometrika ini dapat dijadikan sebagai pengenalan identitas pribadi karena antara manusia yang satu dan lainnya tidak mempunyai pola data biometrika yang sama. Dalam hal ini, akan dipilih menggunakan telapak tangan untuk pengidentifikasian mahasiswa karena memiliki area yang lebih luas dan mudah dijangkau dibandingkan dengan pola lainnya. Telapak tangan tidak akan mengalami perubahan pola meskipun terjadi perubahan luas telapak tangan seiring pertumbuhan. Sehingga, pola telapak tangan bisa juga digunakan untuk pengenalan identitas seseorang dari usia dini hingga usia dewasa.

Dalam ilmu komputer, terdapat bidang ilmu yang dapat diimplementasikan dalam pengenalan pola yaitu jaringan syaraf tiruan yang bekerja seperti prinsip sistem kerja syaraf otak manusia. Pengenalan pola telapak tangan ini akan dilakukan dengan menggunakan metode Bidirectional Associative Memory dalam jaringan syaraf tiruan. Dalam Bidirectional Associative Memory ini, memungkinkan untuk dapat mengenali pola dengan membandingkan pola masukan dengan pola yang tersimpan dalam komputer. Metode ini pernah digunakan pada penelitian sebelumnya yaitu “Jaringan Syaraf Tiruan Bidirectional Associative Memory (BAM) sebagai Identifikasi Pola Sidik Jari Manusia” tahun 2009, “Implementasi Jaringan Syaraf Metode Bidirectional

(91)

penelitian sebelumnya adalah proses pelatihan pola yang berbeda dan pemrosesan citra untuk data masukannya.

Dengan demikian, penulis akan membuat penelitian yang berjudul “Implementasi Jaringan Syaraf Tiruan Bidirectional Associative Memory untuk Pengidentifikasian Telapak Tangan Manusia”. Metode BAM ini diharapkan dapat mengenali identitas mahasiswa S1 Ilmu Komputer Universitas Sumatera Utara Stambuk 2010 Kom A melalui identifikasi pola telapak tangan sebagai data identitas. 1.2 Rumusan Masalah

Dari uraian latar belakang tersebut, yang menjadi rumusan masalah pada penelitian ini adalah:

1. Apakah solusi yang dapat dilakukan untuk mengatasi permasalahan sistim tradisional dalam pengidentifikasian seseorang.

2. Bagaimana mengimplementasikan jaringan saraf tiruan untuk pengenalan telapak tangan dengan menggunakan metode Bidirectional Associative Memory.

1.3 Batasan Masalah

Adapun batasan masalah dalam penelitian ini adalah:

1. Pola yang digunakan adalah citra diam telapak tangan kanan.

2. Ciri telapak tangan yang dijadikan pola adalah ciri geometri dan garis utama. 3. Pola telapak tangan yang akan dikenali terdiri dari 20 objek telapak tangan

dengan posisi melintang.

4. Format gambar *.JPEG dengan ukuran 200 x 300 piksel.

5. Pengenalan pola dengan menggunakan metode Bidirectional Assosiative

Memory.

(92)

1.4Tujuan Penelitian

Tujuan dari penelitian ini adalah:

1. Menciptakan suatu perangkat lunak yang mengenali identitas seseorang dengan pola telapak tangan dan mengimplementasikan metode Bidirectional Associative

Memory (BAM).

2. Mendapatkan data keluaran identitas pemilik pola telapak tangan dari data masukan yang diproses.

1.5 Manfaat Penelitian

Manfaat penelitian ini adalah memberi kemudahan bagi pihak yang membutuhkan keakuratan identitas seseorang dan pembuatan aplikasi pada bidang proteksi atau keamanan.

1.6 Metodologi Penelitian

1. Studi Literatur

Mengumpulkan data-data dan keterangan dari buku-buku ilmiah, jurnal, diktat-diktat, bahan-bahan kuliah dan literatur yang berhubungan dengan jaringan syaraf tiruan metode Bidirectional Associative Memory.

2. Analisis dan Perancangan

Tahap ini dilakukan analisis apa saja kebutuhan untuk penelitian skripsi ini, seperti pengumpulan data, analisis data dan analisis kebutuhan perangkat keras (hardware), perangkat lunak (software), algoritma dan strukur data. Tahap ini sangat penting untuk menunjang tahapan perancangan sistem.

3. Implementasi dan Pengujian

(93)

4. Dokumentasi

Gambar

Gambar 3.2 Use Case Diagram Sistem Identifikasi Telapak Tangan
Gambar 3.3 Activity Diagram Proses Pelatihan dan Pengenalan JST BAM
Gambar 3.4 Sequence Diagram Proses Pelatihan JST BAM
Gambar 3.5 Sequence Diagram Proses Pengujian JST BAM
+7

Referensi

Dokumen terkait

Numerous GFAP-positive astrocytes distribution was almost the same, while fewer astrocytes were observed in AD brains, but very few in DM and contained A b -positive

UNIT LAYANAN PENGADAAN BARANG/JASA PEMERINTAH KABUPATEN KLATEN POKJA PENGADAAN JASA KONSULTANSI DAN JASA LAINNYA.. Klaten, 12

UNIT LAYANAN PENGADAAN BARANG/JASA PEMERINTAH KABUPATEN KLATEN POKJA PENGADAAN JASA KONSULTANSI DAN JASA LAINNYA.. Klaten, 12

[r]

UNIT LAYANAN PENGADAAN BARANG/JASA PEMERINTAH KABUPATEN KLATEN POKJA PENGADAAN JASA KONSULTANSI DAN JASA LAINNYA.. Klaten, 13 Juni 2012 Nomor : 027/06.J.ULP/233

Masa sanggah untuk hasil seleksi ini mulai hari Kamis – Rabu tanggal 14– 20 Juni 2012. Demikian kami sampaikan pengumuman dan pemberitahuan ini dan

Analisis dat a dilak uk an dengan m enggunak an analisis desk ript if... Fundam ent als of Educat ional

Pada penelitian ini juga didapatkan bahwa ihu-ihu yang selalu kawatir akan masa depan rumah tangga dan anak, dan kurangmandiri lain cendcrung mempunyai anak dengan keadaan