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);
% ---
% ---
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.
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.
gb2 =getimage(handles.axes2);
axes(handles.axes10); imshow(gb10)
% --- Executes on button press in pushbutton3.
citra_double15=double(gb15);
gb6=uint8(gray_mean6);
% --- Executes on button press in pushbutton4.
axes(handles.axes19); imshow(h19) axes(handles.axes20); imshow(h20)
% --- Executes on button press in pushbutton5.
end
% --- Executes on button press in pushbutton6.
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);
% ---
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
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
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';
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');
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.
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.
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
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.
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
[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
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
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
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,
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.
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
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)
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)
3.4 Flowchart Gambaran umum Sistem
Flowchart merupakan gambaran- gambaran umum aliran sistem. Gambaran umum
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:
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 …………
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
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
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
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
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
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
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
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.
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
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
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
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
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.
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.
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
Gambar 4.11 Tampilan antarmuka Test
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.
Jika dalam pengujian tidak dikenali, maka akan diberi informasi bahwasanya pola citra telapak tangan kanan tidak dikenali seperti yang ditunjukkan pada gambar 4.15.
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
Gambar 4.17 Gambar Antarmuka Help
4.1.1.5Antarmuka About
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
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),
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
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)
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
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)
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)
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 %.
diidentifikasi dikarenakan ciri geometri dan garis-garis utama telapak tangan mempunyai gambaran yang relatif mirip antara pola telapak tangan yang satu dengan yang lain.
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
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.
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).
(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
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:
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)
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)
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].
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.
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.
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].
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)
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
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_��� )
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)
�� = 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]
�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 :
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
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 → ��
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.
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
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.
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
4. Dokumentasi