• Tidak ada hasil yang ditemukan

Implementasi Jaringan Syaraf Tiruan Self Organizing Map Kohonen dalam Pengenalan Telapak Kaki Bayi

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Jaringan Syaraf Tiruan Self Organizing Map Kohonen dalam Pengenalan Telapak Kaki Bayi"

Copied!
102
0
0

Teks penuh

(1)

62

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 beranda_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

guidata(hObject, handles);

function varargout = beranda_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; ask=questdlg('Anda ingin keluar dari aplikasi ini?',... 'Exit','Ya','Tidak','No');

(2)

close('all');

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 pelatihan_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

guidata(hObject, handles);

(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)

72

while alpha > 0 && alpha <1 && epoch <=1000 for i=1:30

for j=1:10 d(j)=0; for k=1:5000

(12)

end

w(j_new,:)=w(j_new,:)+ alpha* (input(i,:)-w(j_new,:)); end if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

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

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

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

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 pengujian_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

(13)

74

function varargout = pengujian_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; ask=questdlg('Anda ingin keluar dari aplikasi ini?',... 'Exit','Ya','Tidak','No');

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

if ~isequal(nama_file,0)

handles.citra=imread(fullfile(nama_path,nama_file)); guidata(hObject,handles);

axes(handles.axes1); imshow(handles.citra);

(14)

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

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

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

if nargout

(15)

76

gui_mainfcn(gui_State, varargin{:}); end

function help_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

guidata(hObject, handles);

function varargout = help_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

(16)

Bobot Baru Setelah Pelatihan dalam Ms. Excel

(17)
(18)
(19)

80

(20)
(21)
(22)
(23)
(24)

Curriculum Vitae

Full Name : Ita Sharonni Alemmina Sinaga Place and Date of Birth : Medan, 2nd June, 1993

Religion : Christian

Marital Status : Single

Current address : Perum Graha Blok D No 158 Tj Anom Pancurbatu Home Address : Perum Graha Blok D No 158 Tj Anom Pancurbatu

Phone Number : +6285261649505

Email : [email protected]

Identity Card Number : 1207054206930006 Formal Education

Year Institution Learning

Time

GPA/Final Exam Score 2011-2015

(Now)

Bachelor’s Degree in Computer Science, From the Faculty of Computer Science And Information Technology

Universitas Sumatera Utara, Indonesia Under Graduate Thesis:

4 Years 3.60 (From

4.00-Scale)

2008-2011 Negeri 1 Senior High School Pem.Raya 3 Years 54.55 (From

60.00-Scale) 2005-2008 Santo Yoseph Junior High School Medan 3 Years 34.30

(From 40.00-Scale) 1999-2005 Tunas Harapan Elementary School Medan 6 Years 55.97

(From 60.00-Scale) Workshop and Seminar

Year Organizer Workshop and Seminar

2014 Department of Computer Science, Faculty of Computer Science And Information Technology

Universitas Sumatera Utara, Indonesia

Workshop and Seminar: Nasional Literasi Informasi (SENARAI)

2014 Department of Computer Science, Faculty of Computer Science And Information Technology

Universitas Sumatera Utara, Indonesia

Workshop and Seminar: IMILKOM Contest and Seminar Open BTS (ICONS)

2013 National Congress ILP2MI4 Comitee Workshop and Seminar:

(25)

86

2013 Ikatan Mahasiswa Teknik Elektro Universitas Sumatera Utara

Seminar : Menuju Teknologi 5G: Tantangan dan Peluang Bagi Perguruan Tinggi

2012 Department of Computer Science, Faculty of Computer Science And Information Technology

Universitas Sumatera Utara, Indonesia

Workshop and Seminar: Application IMILKOM Contest

2012 Department of Computer Science, Faculty of Computer Science And Information Technology

Universitas Sumatera Utara, Indonesia

Workshop and Seminar: How to Build Reality for Mobile

Application 2011 Department of Computer Science,

Faculty of Computer Science And Information Technology

Universitas Sumatera Utara, Indonesia

Workshop and Seminar: “Animation

for Fun by DreamArch” Artechno Festival

Comitee Experience

Year Organization Position

2014 Celebration of Oikumene’s Christmas and Easter Universitas Sumatera Utara

Leader of documentas ional and publication

2013 IMILKOM Contest Staff

2014 Seminar Nasional Literasi Informasi Fasilkom TI Staff

2013 Retreat KMKI Universitas Sumatera Utara Song

Leader 2012 Christian student community of computer science’s Christmas Vice leader 2011 Christian student community of computer science’s Christmas Song

Leader

2011 Dies Natalis Computer Science Co.

Secretary

2010 SmoePle Choir Coordina

tor Organizational Experience

Year Organization Position

2015 Ikatan Mahasiswa Ilmu Komputer Staff

2014-2015 Ikatan Mahasiswa Ilmu Komputer Staff of

society relationship

2013-2014 Ikatan Mahasiswa Ilmu Komputer Staff of

(26)

Working Experience

Year Organization Position

2011-2015 Private Les Teacher

Expertise

Expertise Description

of Capabilities

Internet & MS. Office Advanced

Programming language: c++, Java, C#, Pascal, PHP, Symphony Intermediate Graphic design & Photo editing: Adobe Photoshop CS Basic

(27)

Daftar Pustaka

Astuti,E.D. 2009. Pengantar Jaringan Syaraf Tiruan. Wonosobo: Star Publishing. Bilsel,R.U & Lin, D.K.J.L. 2012. Ishikawa Cause and Effect Diagrams Using Capture

Recapture Techniques. Quality Technology & Quantitative Management 9(2): 137-152. (Online) www.personal.psu.edu/users/.../2012_QTQM.pdf (28 Agustus 2015)

Bose, T.K. 2012. Application of Fishbone Analysis for Evaluating Supply Chain and Business Process- A Case Study On The St James Hospital. International Journal of Managing Value and Supply Chains 3(2): 17-24. (Online)

airccse.org/journal/mvsc/papers/3212ijmvsc02.pdf (28 Agustus 2015).

Darmawan,D.2010. Pengenalan Wajah dengan Metode Backpropagation Menggunakan Kamera CCTV Inframerah.Skripsi. Universitas Indonesia.

Haykin,S. 2005. Neural Network A Comprehensive Foundation. India: Pearson Education.

Hermawati,F.A.2013.Pengolahan Citra Digital Konsep dan Teori.Yogyakarta: ANDI. Johandra, M.I. 2014. Implementasi Learning Vector Quantization Dan Deteksi Tepi

Robert Untuk Pengenalan Citrawajah. Skripsi. Universitas Sumatera Utara.

Kasabov,N.K. 1998. Foundation of Neural Networks, Fuzzy Systems, and Knowledge Engineering. Massachusets: The MIT Press.

Marbun,L.2014. Implementasi Jaringan Syaraf Tiruan Bidirectional Associative

Memory Untuk Pengidentifikasian Telapak Tangan

Manusia.Skripsi.Universitas Sumatera Utara.

Muis,S. 2009. Identifikasi Pola Sinyal dengan Menggunakan Teknik Neural Networks. Yogyakarta: Graha Ilmu.

(28)

Prasetyo, Eko. 2011. Pengolahan Citra Digital dan Aplikasinya menggunakan Matlab.Yogyakarta: Andi Offset

Pressman, R.S. 2010. Rekayasa Perangkat Lunak: Pendekatan Praktisi Edisi 7.Yogyakarta: Penerbit Andi.

Putra,D.2010.Pengolahan Citra Digital.Yogyakarta: ANDI.

Siang,J.J. 2009. Jaringan Syaraf Tiruan dan Pemrogramannya menggunakan MATLAB. Yogyakarta: ANDI.

Sinaga,J.R.2015. Implementasi Algoritma Self Organizing Maps (SOM) Untuk Mengidentifikasi Benih Jagung Hibrida. Skripsi. Universitas Sumatera Utara.

Siregar,T.R. 2013. Implementasi Jaringan Syaraf Metode Bidirectional Associative Memory Untuk Pengenalan Pola Wajah.Skripsi. Universitas Sumatera Utara.

Suyanto.2011.Artificial Intelligence.Bandung:Informatika.

(29)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Sebelum proses pembuatan suatu sistem, langkah awal yang harus dilakukan adalah menganalisis sistem yang akan dibuat. Analisis sistem ini bertujuan untuk mengetahui permasalahan-permasalahan, serta kebutuhan sistem tersebut. Dengan adanya analisis ini, akan memudahkan dalam proses perancangan model suatu sistem sehingga sistem yang dibuat menjadi tepat guna. Ada 3 jenis analisis yang dilakukan dalam penelitian ini yakni: analisis masalah, analisis kebutuhan dan analisis proses. 3.1.1 Analisis masalah

Untuk dapat menyelesaikan suatu masalah, maka harus diketahui dengan baik bagaimana masalah tersebut. Hal itu bisa didapatkan melalui penganalisaan masalah. Diagram Ishikawa merupakan suatu diagram yang efektif untuk mengidentifikasi penyebab-penyebab dari suatu masalah (Bilsel, 2012)

Diagram Ishikawa atau fishbone diagram berbentuk menyerupai tulang ikan yang terdiri dari kepala ikan dan tulang ikan. Pada diagram Ishikawa, terdapat tulang utama yang menghubungkan antara masalah utama dan penyebabnya. Masalah utama diletakkan pada kepala diagram dan penyebabnya diletakkan pada tulangnya. (Bose,2012).

(30)

Gambar 3.1 Diagram Ishikawa Pengenalan Telapak Kaki Bayi

Melalui Gambar 3.1 dapat diketahui masalah serta penyebabnya yang ditinjau dari 4 kategori yaitu manusia, lingkungan, mesin dan material. Dari kategori manusia, seringkali tanda pengenal, seperti dalam kasus yang berhubungan dalam penelitian ini, yaitu pita identifikasi bayi dapat tercecer atau tertukar. Sedangkan mengenali seorang bayi dari wajah, sangat sulit dilakukan. Padahal, dibutuhkan alat pengenal yang bersifat unik untuk membedakan yang satu dengan yang lainnya. Inilah penyebab dari kategori lingkungan. Adanya perkembangan ilmu teknologi dalam bidang jaringan syaraf tiruan yang dapat bekerja mengenali pola seperti kemampuan visual manusia serta alat pendukung komputer yang saat ini lazim digunakan, mendorong dibentuknya sebuah sistem yang dapat mengenali identitas melalui biometrika manusia.

3.1.2 Analisis kebutuhan

(31)

24

Analisis kebutuhan sistem pengidentifikasian telapak kaki bayi terdiri dari 2 yaitu analisis kebutuhan fungsional dan analisis kebutuhan non fungsional. Kebutuhan fungsional adalah kebutuhan yang harus dipenuhi dalam fungsi-fungsi aplikasi.

Dalam sistem pengenalan citra cap telapak kaki bayi ini, yang menjadi persyaratan fungsional adalah:

1. Sistem dapat melakukan proses prapengolahan citra sebelum melakukan proses pelatihan yakni proses grayscale, sharpening dan filtering.

2. Sistem dapat menyimpan bobot akhir dari proses pelatihan

3. Sistem dapat melakukan pengenalan terhadap citra telapak kaki bayi yang telah diuji

Untuk menjalankan sistem pengidentifikasian telapak kaki bayi ini, maka persyaratan non-fungsional yng dibutuhkan adalah:

1. Performa

Aplikasi yang dibangun dapat menjalankan fungsinya dengan baik yaitu dapat mengenali citra cap telapak kaki bayi.

2. Tampilan

Sistem memiliki tampilan muka yang user friendly sehingga pengguna dapat lebih mudah memahami dalam penggunaan sistem. Selain itu, pemberian menu bantuan juga membantu pengguna untuk bisa belajar menggunakan sistem. 3. Ekonomi

Aplikasi yang dibangun tidak membutuhkan biaya tambahan atau perangkat tambahan dalam penggunaannya sehingga menjadi hemat biaya.

4. Manajemen kualitas

Aplikasi yang dibangun memiliki kualitas yang baik dalam proses pengolahan citra, pelatihan maupun proses pengujian serta pengefisiensian waktu dalam melakukan tiap proses tersebut.

5. Dokumentasi

(32)

3.1.3 Analisis proses

Ada 3 proses yang dilewati dari sistem yang dibuat dalam penelitian. Ketiga proses tersebut secara berurut adalah pengolahan citra, pelatihan dan pengujian. Pada proses pengolahan citra yang dilakukan adalah proses pengubahan ukuran citra, pengubahan citra menjadi citra grayscale, sharpening citra dan deteksi tepi.

Citra yang dilatih terdiri dari 30 citra, dimana 10 citra berupa citra asli cap telapak kaki bayi dari 10 bayi berbeda sedangkan 20 lainnya merupakan citra dari ke-10 citra asli tadi yang telah diberi noise dengan persenan yang berbeda.

Untuk proses pengolahan citra untuk pelatihan, yang pertama kali dilakukan yakni proses resize citra. Hal ini dilakukan untuk memperkecil ukuran citra asli yang ukurannya mencapai 1536 x 2048 pixel. Resize citra yang dilakukan mengubah ukuran citra asli menjadi 100 x 50 pixel.

Selanjutnya dilakukan proses grayscale citra. Proses grayscale adalah proses pengubahan citra RGB menjadi citra skala abu. Setiap citra RGB yang diinput akan diubah menjadi citra yang hanya memiliki informasi intensitas warna putih dan hitam dalam setiap pixelnya sehingga citra berubah menjadi warna abu-abu.

Proses yang dilakukan setelah pengubahan citra RGB menjadi citra skala abu adalah proses filtering. Filtering yang digunakan dalam penelitian ini adalah high-pass filtering yang bertujuan untuk mempertajam citra. Sharpening citra ini

dibutuhkan agar garis-garis halus pada citra cap telapak kaki bayi dapat terdeteksi lebih jelas.

Setelah proses sharpening, maka akan dilakukan deteksi tepi. Dalam penelitian ini digunakan deteksi tepi Canny. Deteksi tepi ini bertujuan untuk menandai yang menjadi detail citra. Hasil dari deteksi tepi ini nantinya berupa citra biner. Matriks piksel dari citra biner hanya memuat nilai 0 atau 1.

(33)

26

Untuk memulai proses pelatihan, pertama kali yang dilakukan adalah inisialisasi bobot. Inisialisasi bobot ini dilakukan secara acak. Ukuran matriks bobot acak ini disesuaikan dengan banyaknya kelompok yang akan dibentuk dan jumlah elemen setiap vektor input. Dalam penelitian ini , citra akan dikelompokkan ke dalam 10 kelompok. Sedangkan elemen tiap vektor input berjumlah 5000 elemen. Sehingga matriks bobot acak yang dibuat berukuran 10 x 5000. Selanjutnya dilakukan proses pelatihan menggunakan metode Kohonen.

Berikut salah satu proses perhitungan menggunakan Kohonen: 1. Inisialisasi bobot acak :

Vektor input citra 1:

(34)

D(6)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-0)2 + (1-1)2 +(1-1)2+...= 0.9706 D(7)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-0)2 + (1-1)2 +(1-1)2+...= 0.6948 D(8)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(0-0)2 + (1-1)2 +(1-1)2+...= 0.3816 D(9)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-0)2 + (1-1)2 +(1-1)2+...= 0.1576 D(10)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-0)2 + (1-1)2 +(1-1)2+...= 0.8235 Dari hasil D(j) yang diperoleh dapat dilihat D(j) minimum berada pada j=3, sehingga bobot acak pada baris 3 akan diubah dengan rumus:

Pengubahan bobot acak ini dilakukan untuk semua nilai i (1-5000), sehingga bobot baru adalah

Setelah itu dilakukan penghitungan untuk mencari D(j) minimum untuk vektor x2

(35)

28

D(1)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(0-1)2 + (1-1)2 +(1-1)2+...= 1.6236 D(2)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.1589 D(3)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(0-1)2 + (0-1)2 +(0-1)2+...= 0.2345 D(4)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(0-1)2 + (0-1)2 +(1-1)2+...= 0.9878 D(5)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.2258 D(6)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.4359 D(7)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.3564 D(8)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(0-1)2 + (1-1)2 +(1-1)2+...= 0.3168 D(9)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.3544 D(10)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.5235 Dapat dilihat dari hasil perhitungan bahwa d(j) minimum terletak untuk j= 2, sehingga w akan diubah pada baris kedua dengan mencari menggunakan metode Kohonen

(36)

Hal ini dilakukan untuk semua nilai vektor input hingga iterasi ke 1000 sehingga pada akhirnya adalah sebagai berikut:

Gambar 3.2 Bobot baru dalam Ms.Excel Setelah dihasilkan, bobot tersebut akan disimpan.

Pada proses pengujian, citra yang dipilih akan terlebih dahulu mengalami proses pengolahan citra seperti pada proses pelatihan. Citra akan di resize, diubah ke skala abu , difilter dan dideteksi tepi sehingga menghasilkan citra biner. Matriks citra biner ini kemudian dikelompokkan berdasarkan jarak terdekatnya dengan bobot baru hasil pelatihan. Misalkan citra 1 dengan vektor input :

(37)

30

D(3)= (0-0)2 + ( 0-0)2 + (0-0)2 +... +(0.2679-1)2 + (0.2679-1)2 +(0-1)2+...= -0.5883 D(4)= (0-0)2 + ( 0-0)2 + (0-0)2 +... +(0.7233-1)2 + (0.7233-1)2 +(1-1)2+...= 0.6145 D(5)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.3803 D(6)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.3524 D(7)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.1765 D(8)= (0-0)2 + ( 0-0)2 + (0-0)2 +... +(0.7233-1)2 + (0.7233-1)2 +(1-1)2+...= 0.2213 D(9)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= -0.1254 D(10)= (0-0)2 + ( 0-0)2 + (0-0)2 + (0-0)2 +... +(1-1)2 + (1-1)2 +(1-1)2+...= 0.3564 Dapat dilihat D(j) minimum untuk j= 3, sehingga citra 1 dikelompokkan/ teridentifikasi ke dalam bayi 3.

3.2 Perancangan Sistem

3.2.1 Diagram use-case

Use case menggambarkan bagaimana seorang pengguna akhir yang berinteraksi

(38)

Gambar 3.3 Use case Sistem Pengenalan Telapak Kaki Bayi

Selanjutnya tiap use case yang terdapat pada Gambar 3. 2 dijelaskan pada dokumentasi naratif pada Tabel 3.1 dan 3.2

Tabel 3.1 Dokumentasi naratif dari use case pelatihan Nama Use case Pelatihan

Aktor Programmer dan user

Deskripsi Use case ini mendekripsikan pelatihan dengan metode SOM Kohonen

Pra Kondisi Sudah masuk dalam tampilan antarmuka Pelatihan

Bidang Khas Aksi Aktor Respon Sistem

1. Aktor menekan tombol Load Citra

2. Sistem menampilan citra cap telapak kaki bayi

3. Aktor menekan tombol Resize citra

4. Sistem mengubah ukuran citra dan menampilkan citra hasil resize

5. Aktor menekan tombol Grayscale

(39)

32

7. Aktor menekan tombol sharpening

8. Sistem melakukan penajaman citra dan menampilkannya dalam axes 9. Aktor menekan tombol

deteksi tepi

10. Sistem mendeteksi tepi citra

11. Aktor menekan tombol Train

12. Sistem mengubah ukuran matriks citra dan melakukan Pelatihan Kohonen

Bidang Alternatif

1. Aktor memilih menu Exit

2. Keluar dari aplikasi

Post Kondisi Sistem menyimpan bobot baru

Tabel 3.2 Dokumentasi naratif dari use case pengujian Nama Use case Pengujian

Aktor Programmer dan user

Deskripsi Use case mendeskripsikan proses pengujian dengan metode Kohonen

Pra Kondisi Sudah masuk dalam tampilan antarmuka Pengujian

Bidang Khas Aksi Aktor Respon Sistem

1. Aktor menekan tombol Pilih Gambar

2. Sistem menampilan dialog memilih file citra

3. Aktor memilih citra yang akan diuji

4. Sistem menampilkan citra yang akan diuji ke dalam axes

6. Sistem mengubah ukuran citra 7. Sistem mengubah citra mengubah citra menjadi citra grayscale

8. Sistem melakukan penajaman citra dan deteksi tepi serta pengujian

2. Keluar dari aplikasi

(40)

3.2.2 Diagram sekuensial

Diagram sekuensial atau sequence diagram adalah diagram yang menunjukkan model logika dari sebuah use case dengan menggambarkan interaksi pesan diantara objek-objek dalam urutan-urutan waktu (Whitten, 2007). Oleh sebab itu, perlu diketahui objek-objek yang dimiliki oleh suatu proses. Sequence diagram dari proses pelatihan seperti pada Gambar 3.3 berikut:

Gambar 3.4 Sequence diagram untuk pelatihan

Gambar 3.5 Sequence diagram untuk pengujian

3.2.3 Diagram aktivitas

(41)

34

dalam suatu skenario yang sifatnya spesifik. Mirip dengan diagram alir, suatu diagram aktivitas menggunakan sebuah kotak bersisi lengkung untuk menggambarkan fungsi tertentu yang ada dalam suatu sistem, sedangkan tanda panah menggambarkan aliran di dalam sistem, bentuk intan digunakan untuk menggambarkan keputusan-keputusan bercabang, dan garis horizontal tebal mengindikasikan bahwa aktivitas- aktivitas paralel dalam perangkat lunak sedang terjadi (Pressman, 2010).

Diagram aktivitas untuk use case pelatihan dan pengujian dapat dilihat seperti pada Gambar 3.6 dan Gambar 3.7:

(42)

Gambar 3.7 Diagram aktivitas use case pengujian

3.2.4 Pseudocode

Pseudocode adalah salah satu bentuk penulisan algoritma dengan

menggunakan bahasa yang dapat dimengerti oleh manusia. Pseudocode tidak dapat dijalankan atau dibaca oleh mesin. Tidak ada aturan baku dalam penulisan pseudocode.

a) Pseudocode proses pelatihan

citra_latih  read(nama_file)

citra_latih2  resize(citra_Latih [100,50])

citra_gray  rgb2gray(citra_Latih2)

citra_sharp  sharpening (citra_gray)

(43)

36

vek_input  reshape_matriks (citra biner [1,5000])

set : matriks bobot_acak[10,5000]

epoch  0;

input: double (alpha)

while alpha>0 and alpha < 1 and epoch<=1000 loop

for i  1 to 30

for j 1 to 10

d(j)0;

for k  1:5000

d(j)= d(j)+(bobot_acak [j k]-vek_input [i k]))^2

endfor

endfor

for j  1 to 10

if d(j)== nilai_min(d);

change j value to j_new;

endif

endfor

bobot[j_new ; allcoulumns)=bobot (j_new; allcooulumns)+ alpha*

(vek_input [i; allcoulumns] – bobot [j_new; allcoulumns])

endfor

alpha  alpha* 0,2;

epoch  epoch +1;

endwhile

(44)

b) Pseudocode proses pengujian Read bobot_new

citra_uji  openfile(citra)

gambar  imresize(citra_uji,[100,50]);

citra_uji_gray  rgb2gray(gambar);

citra_uji2  filter(citra_uji_gray,Sharp);

gb1  edge(citra_uji2,'canny');

uji1 double(reshape(gb1,1,5000));

for i  1 to 1

for k  1 to 9

d(k)0;

for j  1 to 5000

d(k)  d(k)+(bobot_new(k,j)- uji1(i,j)).^2;

endfor endfor endfor

for k  1 to 9

if d(k)==value_min(d)

made cluster value from k; endif

endfor

(45)

38

3.2.5 Flowchart sistem

Adapun flowchart sistem baik proses pelatihan maupun pengujian dapat dilihat pada Gambar 3.8 dan 3.9 :

(46)
(47)

40

3.2.6 Perancangan antarmuka sistem

Gambar 3.10 Rancangan antarmuka beranda

Keterangan untuk gambar rancangan antarmuka beranda dijelaskan pada tabel 3.3: Tabel 3.3 Keterangan rancangan antarmuka beranda

NO Keterangan

1 Menu beranda

2 Menu Pelatihan untuk memasuki antarmuka proses pelatihan 3 Menu Pengujian untuk menuju antarmuka proses pengujian

4 Menu Help untuk menampilkan bantuan serta petunjuk kepada pengguna 5 Menu Exit untuk keluar dari aplikasi

6 Label yang berfungsi menampilkan nama aplikasi

7 Axes yang berfungsi menampilkan logo fakultas

8 Label yang berfungsi untuk menampilkan nama dan nim pembuat aplikasi

(48)

Gambar 3.11 Rancangan antarmuka pelatihan

Penjelasan tiap elemen pada Gambar 3.11 terdapat pada tabel 3.4 dibawah ini:

Tabel 3.4 Keterangan rancangan antarmuka pelatihan

NO Keterangan

1. Label nama form pelatihan

2. Axes untuk menampilkan citra yang akan dilatih

3. Text box untuk menginputkan nilai learning rate

4 Text box untuk menampilkan lama proses training

5 Button untuk membaca dan menampilkan citra yang akan dilatih

6 Button untuk mengubah Ukuran citra menjadi 100 x 50 pixel

7 Button untuk mengubah citra menjadi citra grayscale

8 Button untuk memfilter citra (penajamaan citra)

9 Button untuk melakukan deteksi tepi pada citra

(49)

42

Gambar 3.12 Rancangan antarmuka pengujian

Keterangan dari rancangan antarmuka pengujian dijelaskan dalam tabel 3.5 Tabel 3.5 Keterangan Rancangan Antarmuka Pengujian

NO Keterangan

1 Label untuk menampilkan nama form pelatihan 2 Axes untuk menampilkan citra uji

(50)

Gambar 3.13 Rancangan antarmuka help

Untuk penjelasan dari gambar rancangan form help dapat dilihat dalam Tabel 3.6 Tabel 3.6 Keterangan gambar rancangan antarmuka help

No Keterangan

1 Label untuk menampilkan nama form help

2 Label berisi yang memberisi informasi cara menggunakan sistem

(51)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Tahap implementasi dilakukan setelah tahap perancangan. Implementasi yang dilakukan menggunakan Matlab R2007b.

4.1.1 Implementasi form beranda

Form beranda merupakan form awal sistem ini. Pada form beranda, terdapat beberapa

menu pilihan yakni menu Pelatihan, Pengujian, Help dan Exit. Menu Help berisi petunjuk untuk membantu user dalam menggunakan aplikasi ini. Sedangkan menu Exit berfungsi untuk keluar dari aplikasi. Form beranda dapat dilihat seperti pada

Gambar 4.1

(52)

4.1.2 Implementasi form pelatihan

Gambar 4.2 menunjukkan form Pelatihan. Dalam form inilah dilakukan pelatihan terhadap citra. User harus mengisikan nilai learning rate untuk memulai proses pelatihan. Tombol Load Citra berfungsi untuk menampilkan citra yang akan dilatih dan selanjutnya yang perlu dilakukan adalah menekan tombol yang aktif secara berurut.

Gambar 4.2 Form pelatihan 4.1.3 Implementasi form pengujian

(53)

46

Gambar 4.3 Form pengujian

4.1.4 Implementasi form help

Form Help berfungsi untuk memberikan informasi atau bantuan dalam menggunakan

aplikasi ini. Gambar 4.4 merupakan tampilan dari form help.

(54)

4.2 Pengujian

Pentingnya pengujian perangkat lunak dan implikasinya mengacu pada kualitas perangkat lunak.

Spesifikasi perangkat keras yang digunakan untuk proses pengujian sistem ini adalah: 1. Intel(R) core(TM) i5 CPU M460@ 2,53GHz (4CPUs),~2.5 Ghz

2. Memory ( RAM) 2 GB

3. Resolusi display monitor 1366 x 768 (32bit)

Sedangkan spesifikasi perangkat lunak yang digunakan adalah: 1. Sistem Operasi Windows 7 Ultimate 32 Bit

2. Matlab R2007b 3. Microsoft Excel 2007

Setelah berada pada form pelatihan maka, user menginputkan nilai learning rate dan menekan tombol Load Citra sehingga akan tampak seperti pada Gambar 4.5.

Gambar 4.5 Pelatihan load citra

(55)

48

dan user dapat menekan tombol Resize untuk mengubah citra menjadi berukuran 100 x 50 piksel. Gambar 4.6 merupakan tampilan ketika citra sudah di resize.

Gambar 4.6 Tampilan citra setelah di resize

Tombol Grayscale akan otomatis aktif setelah semua citra selesai di ubah ukurannya. Selanjutnya adalah proses mengubah citra menjadi citra grayscale dengan menekan tombol grayscale seperti yang terlihat pada Gambar 4.7 berikut:

(56)

Setelah citra selesai diubah menjadi citra grayscale, maka tombol sharpening akan aktif secara otomatis. Untuk mempertajam citra, maka pengguna dapat menekan tombol ini sekali atau lebih. Sewaktu proses pengujian ini, penulis menekan tombol Sharpening sebanyak 2 kali. Tampilan setelah citra di sharpening dapat dilihat pada

Gambar 4.8

Gambar 4.8 Proses filter citra dengan high-pass filter

(57)

50

Gambar 4.9 Citra latih hasil deteksi tepi

(58)

Gambar 4.10 Tampilan pelatihan telah selesai

Setelah proses pelatihan selesai , maka akan dilanjutkan pada proses pengujian.Untuk menguji citra telapak kaki bayi, maka user harus masuk ke form pengujian dengan memilih menu Pengujian.

Pada form pengujian, user akan menginputkan gambar yang akan diuji. Setelah itu, user menekan tombol identifikasi dan sistem akan mengidentifikasi file citra yang

(59)

52

Gambar 4.11 Form Pengujian setelah dijalankan 4.2.1 Pengujian terhadap citra yang telah dilatih

Adapun proses pengujian yang dilakukan terdiri dari 2 bagian yaitu pengujian terhadap citra yang telah dilatih dan pengujian terhadap citra yang belum dilatih. Tabel 4.1 adalah tabel hasil pengujian terhadap citra yang telah dilatih.

Tabel 4.1 Hasil Pengujian Terhadap Citra yang Telah Dilatih NO Citra Uji Teridentifikasi Keterangan

1 Bayi 1 Benar

(60)

3 Bayi 3 Benar

4 Bayi 4 Benar

5 Bayi 5 Benar

6 Bayi 6 Benar

7 Bayi 7 Benar

8 Bayi 8 Benar

9 Bayi 9 Benar

(61)

54

11 Bayi 1 Benar

12 Bayi 2 Benar

13 Bayi 3 Benar

14 Bayi 4 Benar

15 Bayi 5 Benar

16 Bayi 6 Benar

(62)

18 Bayi 8 Benar

19 Bayi 9 Benar

20 Bayi 2 Salah

21 Bayi 1 Benar

22 Bayi 2 Benar

23 Bayi 3 Benar

(63)

56

25 Bayi 5 Benar

26 Bayi 6 Benar

27 Bayi7 Benar

28 Bayi 8 Benar

29 Bayi 9 Benar

30 Bayi 2 Salah

Dari hasil pengujian terhadap 30 citra yang telah dilatih maka perhitungan akurasi yang didapat diperoleh dari rumus persentase adalah:

(64)

Dapat disimpulkan bahwa untuk ke 30 citra dimana 20 citra diantaranya adalah citra bernoise dengan persentase 50 % dan 60 %, dengan menggunakan metode Kohonen dapat mengelompokkan dan mengenali citra telapak kaki bayi hingga .

4.2.2 Pengujian terhadap citra yang tidak dilatih

Selanjutnya adalah proses pengujian citra yang tidak dilatih. Dalam pengujian ini digunakan citra dengan tingkat noise 80%, 90 % dan 100 %

Tabel 4.2 Pengujian Terhadap Citra yang Tidak Dilatih No Citra telapak

kaki

Persentase Noise

80 % 90 % 100%

1 Bayi 1 Benar Benar Salah

2 Bayi 2 Benar Benar Salah

3 Bayi 3 Benar Benar Salah

4 Bayi 4 Benar Benar Salah

5 Bayi 5 Benar Benar Benar

6 Bayi 6 Benar Benar Salah

7 Bayi 7 Benar Benar Salah

8 Bayi 8 Benar Benar Benar

9 Bayi 9 Benar Benar Salah

10 Bayi 10 Salah Salah Salah

Dari hasil pengujian terhadap citra yang tidak dilatih, maka persentase akurasi yang diperoleh adalah

(65)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Pengidentifikasian bayi melalui telapak kaki bayi menggunakan metode SOM Kohonen dapat dilakukan dan diperoleh tingkat akurasi sebesar 90% untuk citra yang telah dilatih sebelumnya.

2. Pengidentifikasian citra cap telapak kaki bayi menggunakan metode SOM Kohonen juga dapat dilakukan untuk citra yang belum dilatih dengan tingkat akurasi identifikasi sebesar 66.7 %

3. Pada pengujian citra telapak kaki bayi, metode SOM Kohonen akan selalu mengelompokkan citra ke kelompok terdekat berdasarkan nilai matriks citra biner. Hal ini berarti, dalam pengenalan pola, penggunaan metode ini tidak menghasilkan output tidak dikenali. Sehingga apapun inputnya akan selalu dikelompokkan ke dalam kelompok yang terdekat.

5.2 Saran

Untuk pengembangan sistem yang telah dibangun ini, penulis menyarankan:

1. Sistem ini dikembangkan dengan menambah lebih banyak citra telapak kaki dari bayi yang berbeda serta ukuran citra yang berbeda dari penelitian ini. 2. Untuk proses pengujian, hendaknya mengunakan citra telapak kaki bayi yang

sama namun diambil dalam waktu yang berbeda.

3. Sistem ini dapat dikembangkan dengan mengambil citra menggunakan webcam, atau media lainnya yang memungkinkan pengambilan citra secara

(66)
(67)

BAB 2

LANDASAN TEORI

2.1 Pengenalan Pola

Pengenalan pola (pattern recognition) adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur atau sifat utama dari suatu obyek (Putra,2010).

Seperti halnya kemampuan manusia yang dapat mengenali dan membedakan objek yang dilihatnya, demikian pula suatu komputer diharapkan mampu meniru kemampuan visual manusia dalam mengenali suatu citra. Komputer menerima input berupa citra objek yang akan diidentifikasi, memproses citra tersebut dan memberikan output berupa deskripsi objek di dalam citra (Siregar, 2013).

Gambar 2.1 Skema Pengenalan Pola (Marbun,2014) 2.2 Deteksi Tepi

(68)

suatu citra mengandung informasi penting dari citra bersangkutan. Tepian citra dapat merepresentasikan objek-objek yang terkandung dalam citra, bentuk, dan ukurannya serta terkadang juga informasi tentang tekstur (Johandra,2014). Oleh karena itu, tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra.

Ketebalan dari tepi ditentukan oleh panjang dari ramp, yang merupakan transisi dari gray level awal sampai gray level akhir. Panjang ramp ditentukan oleh slope, yang ditentukan juga oleh tingkat kekaburan. Berarti bahwa tepi yang kabur

cenderung tebal dan tepi yang tajam cenderung tipis.(Hermawati, 2013)

Deteksi tepi adalah proses untuk menemukan perubahan intensitas yang berbeda nyata dalam sebuah bidang citra. Deteksi tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra (Putra,2010). Setelah dilakukan deteksi tepi akan dihasilkan citra biner. Citra biner merupakan citra yang hanya memiliki dua nilai yaitu hitam dan putih atau dalam bentuk nilai yaitu 0 dan 1 (Marbun, 2014).

Deteksi tepi pada suatu citra memiliki tujuan sebagai berikut (Johandra, 2014): 1. Menandai bagian yang menjadi detail citra.

2. Memperbaiki detail citra yang kabur karena error atau adanya efek dari proses akuisisi citra.

Beberapa jenis deteksi tepi adalah deteksi tepi Robert, Prewitt, Log dan Canny. 2.2.1 Deteksi tepi Canny

Deteksi tepi Canny dapat mendeteksi tepian yang sebenarnya dengan tingkat kesalahan minimum (Marbun, 2014). Dengan kata lain, operator Canny didesain untuk menghasilkan citra tepian yang optimal. Operator ini diformulasikan dengan 3 tujuan utama (Hermawati, 2013):

a. Optimal detection, dengan tidak adanya respon yang salah

b. Good localization, dengan jarak minimal antara posisi tepi sebenarnya dengan

posisi yang terdeteksi

c. Single response, dengan mengelimasi multiple response menjadi satu garis tepi

(69)

7

Berikut adalah langkah-langkah dalam melakukan deteksi tepi Canny (Putra,2010): 1. Menghilangkan derau yang ada pada citra dengan mengimpelementasikan tapis

Gaussian. Proses ini akan menghasilkan citra yang tampak sedikit buram. 2. Melakukan deteksi tepi dengan salah satu operator deteksi tepi seperti Roberts,

Prewitt, atau Sobel dengan melakukan pencarian secara horisontal (Gx ) dan

secara vertikal (Gy).

3. Menentukan arah tepian yang ditemukan dengan menggunakan rumus sebagai berikut:

Selanjutnya membagi ke dalam 4 warna sehingga garis dengan arah berbeda dan memiliki warna yang berbeda. Pembagiannya adalah 0-22,5 dan 157,5-180 derajat berwarna kuning, 22,5-67,5 berwarna hijau dan derajat 67,5-157,5 berwarna merah.

4. Memperkecil garis tepi yang muncul dengan menerapkan nonmaximum suppresion.

5. Menerapkan dua buah tresholding

Dalam proses pendeteksian tepi terhadap citra yang dilakukan dengan metode Canny dapat menggunakan function di Matlab, sehingga cukup menggunakan function edge dalam pengkodean (Marbun, 2014). Gambar 2.3 merupakan contoh

deteksi tepi menggunakan operator Canny:

(70)

Gambar 2.3 Citra Hasil Deteksi Tepi Canny 2.3 Perbaikan Citra (Image Enhancement)

Perbaikan citra bertujuan meningkatkan kualitas tampilan citra untuk pandangan manusia atau untuk mengkonversi suatu citra agar memiliki format yang lebih baik sehingga citra tersebut menjadi lebih mudah diolah dengan mesin.

Perbaikan suatu citra dapat dilakukan dengan operasi titik (point operation), operasi spasial (spatial operation), dan operasi aritmatik (arithmatic operation) (Putra, 2010).

2.3.1 Operasi spasial (filtering)

Pada proses filtering, nilai pixel baru dari suatu citra umumnya dihitung berdasarkan pixel tetangga. Berdasarkan cara penghitungan nilai pixel baru tersebut, proses filtering dapat dikelompokkan menjadi 2, yaitu tapis linier dan tapis non linier. 2.3.2 High-pass filtering

High-pass filtering merupakan salah satu jenis dari linier filtering. High-pass

filtering merupakan kebalikan dari low-pass filtering yaitu mempertajam komponen

(71)

9

Adapun prosedur untuk menapis citra dalam kawasan frekuensi adalah sebagai berikut:

1. Input citra digital berupa citra *.jpg dengan ukuran lebar = ukuran tinggi.

2. Lakukan proses transformasi fourier dari citra input dengan menggunakan FFT 2D untuk mendapatkan F(u,v) yang merupakan nilai kompleks dari transformasi fourier. 3. Hitung filter mask H(u,v) dengan ukuran lebar dan tinggi sama dengan ukuran citra input.

4. Kalikan F(u,v) dengan H(u,v) untuk mendapatkan G(u,v) yang merupakan hasil perkalian antara transformasi dengan filter mask.

5. Lakukan proses invers transformasi fourier dari G(u,v) menggunakan invers DFT (Descrete Fourier Transformation ) 2D sehingga diperolehlah citra hasil g(x,y). ( Eko, 2011)

Dimana untuk transformasi Fourier diskrit dua dimensi dari sebuah fungsi diskrit f(x,y) dinyatakan sebagai berikut:

Dan inversnya:

Untuk u = 1,2,....M−1; x = 1,2,....M−1; v = 1,2,....N−1 y = 1,2,....N−1. Fungsi filter untuk High Pass filter adalah:

Dimana,

H(u,v) : fungsi filter

Do : konstanta positif (cutoff frekuensi)/titik pusat transformasi

D(u,v): jarak antara titik (u,v) dalam domain frekuensi dan pusat persegi panjang frekuensi.

(72)

Gambar 2.4 Contoh Matriks High Pass Filtering Contoh hasil dari highpass filtering dapat dilihat seperti Gambar 2.5:

(a) (b) (c) Gambar 2.5 (a) Citra asli (b) Citra Grayscale (c) Citra hasil highpass

filtering

2.4Jaringan Syaraf Tiruan

Jaringan syaraf tiruan adalah sistem pembelajaran berbentuk jaringan yang terinspirasi berdasarkan jaringan syaraf manusia. Jaringan syaraf tiruan merupakan sistem adaptasi yang dapat merubah strukturnya untuk memecahkan masalah berdasarkan informasi yang masuk dan keluar melalui jaringan tersebut (Darmawan,2010). Jaringan syaraf tiruan tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia ( human cognition ) yang didasarkan pada (Wuryandari & Afrianto, 2012):

1. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron 2. Sinyal mengalir diantara sel syaraf/neuron melalui suatu sambungan

penghubung

(73)

11

4. Setiap sel syaraf akan menerapkan fungsi aktivasi terhadap sinyal hasil penjumlahan berbobot yang masuk kepadanya untuk menentukan sinyal keluarannya.

Gambar 2.6 Contoh Model Neuron Jaringan Syaraf Tiruan (Siang, 2009)

Jaringan syaraf tiruan mempunyai struktur tersebar paralel yang sangat besar dan mempunyai kemampuan belajar sehingga bisa melakukan generalisasi yaitu bisa menghasilkan output yang benar untuk input yang belum pernah dilatihkan. Defenisi belajar dalam jaringan syaraf tiruan adalah suatu proses dimana parameter-parameter bebas jaringan syaraf tiruan diadaptasikan melalui suatu proses perangsangan berkelanjutan oleh lingkungan dimana jaringan berada (Suyanto, 2011). Pembelajaran pada jaringan syaraf tiruan pada dasarnya dideskripsikan lewat perubahan bobot w antara neuron, tujuan akhir pembelajaran terhadap variabel masukan x adalah nilai keluaran output Y sedekat mungkin dengan nilai keluaran yang ditargetkan (beda nilai antara keluaran terhadap masukan disebut error value) (Muis,2009).

Jaringan syaraf tiruan dapat digunakan untuk (Siang, 2009): 1. Pengenalan pola (Pattern Recognition)

Jaringan syaraf tiruan dapat dipakai untuk mengenali pola ( huruf, angka, suara atau tanda tangan) yang sudah sedikit berubah. Hal ini mirip dengan otak manusia yang masih mampu mengenali orang yang sudah beberapa waktu tidak dijumpainya (mungkin wajah/bentuk tubuhnya yang sudah sedikit berubah).

2. Signal Processing

(74)

3. Peramalan

Jaringan syaraf tiruan juga dapat dipakai untuk meramalkan apa yang akan terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di masa yang lampau. Peramalan ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan dapat membuat generalisasi dari apa yang sudah ada sebelumnya. Jaringan syaraf tiruan juga dapat menyelesaikan masalah dalam bidang kontrol dan kedokteran.

3. Menyelesaikan persoalan optimasi terbatas (Darmawan ,2010)

Meskipun banyak aplikasi menjanjikan yang dapat dilakukan oleh jaringan syaraf tiruan, namun jaringan syaraf tiruan juga memiliki beberapa keterbatasan umum. Salah satunya adalah ketidakakuratan hasil yang diperoleh(Siang,2009).

Karakteristik dari jaringan syaraf tiruan adalah (Darmawan,2010): 1. Arsitektur jaringan : pola keterhubungan antar neuron

2. Algoritma jaringan (pelatihan,pembelajaran) metode menentukan nilai bobot hubungan

3. Fungsi aktivasi : menentukan nilai keluaran berdasarkan nilai total masukannya.

2.4.1 Arsitektur jaringan

Pada jaringan syaraf tiruan, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (layer) yang disebut dengan lapisan-lapisan neuron (neuron layers). Neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya. Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan masukan sampai ke lapisan keluaran melalui lapisan tersembunyi (hidden layer).

(75)

13

1. Single-Layer feedforward networks

Bentuk jaringan berlapis yang paling sederhana yaitu lapis tunggal, hanya terdapat input layer dengan node sumber yang terproyeksi ke dalam output layer dari neuron, tetapi tidak sebaliknya.

Gambar 2.7 Single Layer Network

2. Multi-layer feedforward network

Arsitektur jaringan ini memiliki satu atau lebih lapis tersembunyi (hidden layer). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang kompleks, namun cenderung membutuhkan waktu yang lebih lama. Contoh jaringan yang menerapkan arsitektur ini adalah backpropagation.

(76)

3. Recurrent network

Recurrent network adalah jaringan yang mempunyai minimal satu feeedback loop.

Feedback loop mempengaruhi kemampuan belajar dan kinerja jaringan.

Gambar 2.9 Recurrent Network dengan hidden neuron

4. Lattice structure

Sebuah lattice terdiri dari satu dimensi, dua dimensi, atau lebih array neuron dengan himpunan node sumber yang bersesuaian yang memberikan sinyal input ke array;dimensi lattice mengacu pada jumlah dimensi ruang dimana graph berada.

(77)

15

Berdasarkan paradigma pembelajarannya, jaringan syaraf tiruan terbagi 2 yakni supervised dan unsupervised learning ( Suyanto,2011):

1. Supervised learning

Supervised atau active learning adalah jenis jaringan syaraf tiruan dimana

dalam proses belajar membutuhkan sampel input-output. Sampel input-output ini akan membangun pengetahuan dengan memberikan respon yang diinginkan jaringan syaraf tiruan. Respon yang diinginkan tersebut mereperesentasikan aksi optimum yang diinginkan oleh jaringan syaraf tiruan. Parameter-parameter jaringan berubah-ubah berdasarkan vektor latih dan sinyal kesalahan.

2. Unsupervised learning

Unsupervised learning atau self-organized learning tidak membutuhkan

sampel input-output untuk memantau proses belajar. Salah satu contoh jenis jaringan syaraf yang tergolong unsupervised learning adalah self-organizing map.

Jenis jaringan ini didasarkan pada competitive learning; neuron output dari jaringan ini bersaing satu sama lain untuk diaktifkan , dengan hasil hanya satu neuron output yang memenangkan persaingan. Salah satu model self organizing maps ini

adalah self organizing map Kohonen (SOM Kohonen).

2.4.2 Self organizing map Kohonen

Ada dua kemungkinan dalam menggunakan Self Organizing Maps. Pertama, adalah menggunakannya hanya untuk model unsupervised learning, dimana vektor input tidak diketahui. Kedua adalah menggunakannya untuk unsupervised learning dan diikuti dengan supervised learning. Algoritma LVQ (Learning Vector Quantization) dikembangkan untuk tujuan kedua ini. (Kasabov,1998)

(78)

Jaringan Kohonen merupakan salah satu jaringan yang dipakai untuk membagi pola masukan kedalam beberapa kelompok (cluster), dimana semua pola yang berada dalam satu kelompok merupakan pola yang mirip satu dengan lainnya.

Arsitektur jaringan Kohonen mirip dengan model lain. Hanya saja jaringan Kohonen tidak menggunakan perhitungan net (hasil kali vektor masukan dengan bobot) maupun fungsi aktivasi (Siang, 2009).

Gambar 2.11 Arsitektur Jaringan Kohonen

Prinsip kerja dari algoritma SOM adalah pengurangan node-node tetangganya (neighbor), sehingga pada akhirnya hanya ada satu node output yang terpilih (winner

node) (Astuti,2009).

Algoritma pengelompokan pola jaringan Kohonen adalah sebagai berikut (Siang,2009):

0. Inisialisasi

 Bobot wji (acak)

Laju pemahaman (learning rate) awal dan faktor penurunannya  Bentuk dan jari-jari (=R) topologi sekitarnya

1. Selama kondisi penghentian bernilai salah, lakukan langkah 2-7 2. Untuk setiap vektor masukan x, lakukan langkah 3-5

(79)

17

4. Tentukan indeks J sedemikian hingga d(J) minimum 5. Untuk setiap unit j disekitar J modifikasi bobot:

...(2) 6. Modifikasi learning rate

7. Uji kondisi penghentian

Keterangan:

D(j)= jarak Euclidean = nilai bobot

= laju pembelajaran/learning rate

Dalam inisialisasi bobot acak awal, selain membuat vektor bobot secara acak ada cara lain yang dapat digunakan yakni dengan memilih vektor bobot dari vektor input yang ditentukan secara acak. (Haykin, 1999).

Kondisi penghentian iterasi adalah selisih antara saat itu dengan pada iterasi sebelumnya. Apabila semua hanya berubah sedikit saja, berarti iterasi sudah mencapai konvergensi sehingga dapat dihentikan (Siang,2009).

Proses pembelajaran SOM Kohonen bersifat kompetitif atau bersaing. Untuk setiap pelatihan terdapat satu neuron keluaran dalam kondisi firing (neuron keluaran yang paling besar). Bobot yang terkoneksi pada neuron keluaran tersebut akan disesuaikan sehingga nilainya lebih kuat pada latihan berikutnya.

Dalam perubahan bobot yang terjadi, hal yang paling menentukan adalah atau learning rate. Learning rate adalah faktor pengali pada perubahan bobot yang berubah terhadap perubahan error. Perubahan ini sesuai dengan banyaknya input yang masuk dan akan selalu berkurang bila tidak ada perubahan error (Astuti,2009).

Contoh penggunaan algoritma Kohonen dalam mengelompokkan 4 buah vektor ke dalam maksimum 2 kelompok:

(80)

vektor sekitar yang dimodifikasi=0 (berarti hanya vektor pemenang yang dimodifikasi bobotnya pada setiap langkah).

Langkah awal untuk meyelesaikan kasus diatas adalah dengan menentukan bobot awal. Kolom matriks bobot menyatakan jumlah komponen dalam sebuah vektor (dalam kasus ini=4) dan baris menyatakan jumlah maksimum kelompok yang akan dibentuk ( dalam kasus ini=2). Misalkan bobot awal secara acak:

Pelatihan untuk tiap vektor: Untuk vektor x(1)=(1,1,0,0):

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

Karena D(j) minimum untuk j=2, maka vektor bobot baris 2 yang diubah sesuai aturan

w21 = 0.8 + 0.6 (1-0.8) = 0.92

w22 = 0.4 + 0.6 (1-0.4) = 0.76

w23 = 0.7 + 0.6 ( 0-0.7) = 0.28

w24 = 0.3 + 0.6(0- 0.3) = 0.12

Vektor bobot baru:

Untuk vektor x(2) = (0,0,0,1):

D(1)= (0.2-0)2 + ( 0.6-0)2 + (0.5-0)2 + (0.9-1)2 = 0.66 D(2)= (0.92-0)2 + ( 0.76-0)2 + (0.28-0)2 + (0.12-1)2 = 2.28

(81)

19

w11= 0.2 +0.6 (0 - 0.2) = 0.08

w12= 0.6 + 0.6 (0-0.6) = 0.24

w13= 0.5 +0.6 (0 - 0.5) = 0.2

w14= 0.9 +0.6 (1 - 0.9) = 0.96

Vektor bobot baru:

Untuk vektor x(3) = (1,0,0,0) :

D(1)= (0.08-1)2 + ( 0.24-0)2 + (0.2-0)2 + (0.96-0)2 = 1.87 D(2)= (0.92-1)2 + ( 0.76-0)2 + (0.28-0)2 + (0.12-0)2 = 0.68

D(j) minimum untuk j=2, maka vektor bobot baris 2 yang dimodifikasi: w21= 0.92 +0.6 (1 - 0.92) = 0.968

w22= 0.76 +0.6 (0 - 0.76) = 0.304

w23= 0.28 +0.6 (0 - 0.28) = 0.112

w21= 0.12 +0.6 (0 - 0.12) = 0.048

Vektor bobot baru:

Untuk vektor x(4) = ( 0,0,1,1) :

D(1)= (0.08-0)2 + ( 0.24-0)2 + (0.2-1)2 + (0.96-1)2 = 0.7056 D(1)= (0.968-0)2 + ( 0.304-0)2 + (0.112-1)2 + (0.048-1)2 = 2.724

D(j) minimum untuk j=1, maka vektor bobot baris 1 yang dimodifikasi: w11= 0.08 + 0.6 (0-0.08) =0.032

(82)

w13= 0.2 + 0.6 (1-0.2) =0.68

w14= 0.96 + 0.6 (1-0.96) =0.984

Vektor bobot baru :

Sebelum dilanjutkan ke iterasi kedua dalam mengubah bobot, terlebih dahulu dilakukan modifikasi laju pemahaman dimana,

Pada iterasi kedua, penghitungan nilai bobot yang baru sama seperti penghitungan bobot baru pada iterasi pertama, menggunakan bobot hasil iterasi pertama.

Bobot awal :

Iterasi-1:

Iterasi-2:

... Iterasi-100 :

(83)

21

Pengelompokan vektor dilakukan dengan menghitung jarak vektor dengan bobot optimal.

Vektor x(1)= (1,1,0,0) memiliki

D(1)= (0-1)2 + ( 0-1)2 + (0.5-0)2 + (1-0)2 = 3.25 D(2)= (1-1)2 + ( 0.5-1)2 + (0-0)2 + (0-0)2 = 0.25 Berarti x(1) masuk kedalam kelompok ke-2

Dengan cara yang sama untuk x(2) = (0,0,0,1)

D(1)= 0.25 dan D(2) = 2.25,  x(2) masuk ke dalam kelompok 1 Untuk x(3) = (1,0,0,0)

D(1)= 2.25 dan D(2) = 0.25  x(3) masuk ke dalam kelompok ke-2 Untuk x(4) = (0,0,1,1)

(84)

PENDAHULUAN

1.1Latar Belakang

Setiap manusia memiliki faktor fisik yang berfungsi sebagai pengenal atau pemberi identitas yang membedakan dirinya dengan yang lain. Secara kasat mata faktor pengenal tersebut dapat dilihat dari bentuk wajah atau bentuk tubuh. Selain itu, setiap manusia memiliki faktor pembeda unik lainnya yang sangat khusus yang hanya dimiliki oleh dirinya sendiri contohnya sidik jari dan iris mata. Ciri khusus yang tidak mungkin sama dengan yang lainnya inilah yang dapat digunakan dalam bidang kedokteran, pendidikan, atau kepolisian untuk mengidentifikasi dan membedakan seseorang dengan yang lainnya. Sejak seorang manusia dilahirkan ia sudah memiliki ciri khusus ini yang tidak mungkin sama dengan orang lain.

Pada saat bayi baru dilahirkan perlu diadakannya identifikasi untuk bayi tersebut. Hal yang paling sering dilakukan untuk mengidentifikasi bayi adalah dengan membuat pita identifikasi yang dipakaikan pada tangan atau kaki bayi. Hal ini perlu dilakukan untuk bisa mengenali bayi sehingga bayi tidak tertukar. Sebab, meski wajah menjadi faktor paling umum untuk mengenali seseorang, namun seringkali terjadi kasus bayi yang tertukar saat baru dilahirkan. Ini disebabkan untuk bayi yang baru lahir, sulit sekali membedakan satu dengan yang lain jika diamati dari segi wajah. Oleh sebab itu perlu diketahui identitas unik seorang bayi untuk lebih mudah membedakan satu bayi dengan bayi lainnya. Untuk itulah penulis melakukan penelitian dalam pengidentifikasian bayi melalui geometri telapak kaki bayi untuk mengidentifikasi dalam membedakan satu bayi dengan bayi lainnya.

(85)

2

adalah dalam mengenali pola. Pelatihan dari jaringan syaraf tiruan diharapkan mampu mempelajari pola sehingga dapat mengenali dan mengelompokkan pola-pola yang diuji nantinya.

Dalam penelitian ini penulis memanfaatkan Jaringan Syaraf tiruan Self Organizing Map (SOM) Kohonen untuk mengenali geometri telapak kaki bayi. Sistem

yang dibuat nantinya diharapkan mampu mengenali telapak kaki bayi sehingga diperoleh tingkat akurasi pengenalan citra telapak kaki bayi menggunakan jaringan syaraf ini.

1.2Rumusan Masalah

Berdasarkan latar belakang diatas, maka rumusan masalah yang dapat diambil adalah bagaimana mengimplementasikan Jaringan Syaraf Tiruan SOM Kohonen dalam mengenali citra stempel telapak kaki bayi.

1.3Batasan Masalah

Adapun batasan masalah dalam penelitian ini adalah:

1. Input berupa citra digital dari cap telapak kaki bayi yang berekstensi *.jpg

baik citra asli maupun citra yang telah diberi noise sementara output berupa nama pemilik telapak kaki.

2. Citra digital telapak kaki bayi yang diambil adalah telapak kaki sebelah kanan dan merupakan cap telapak kaki bayi normal yang berusia <=2 bulan

3. Jumlah bayi yang diidentifikasi sebanyak 10 bayi

4. Jenis filter yang dipakai pada proses filtering adalah high pass filtering dan deteksi tepi yang digunakan adalah deteksi tepi Canny

5. Citra yang akan dilatih dan diuji berukuran 100 x 50 pixel 6. Maksimum iterasi adalah 1000 epoh

(86)

1.4Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah untuk mengimpelementasikan jaringan syaraf tiruan SOM Kohonen dalam pengenalan telapak kaki bayi serta mengetahui persentase tingkat akurasi dari SOM Kohonen untuk mengenali telapak kaki bayi.

1.5Manfaat Penelitian

Manfaat dari penelitian ini adalah untuk memberi kemudahan dalam proses pengidentifikasian bayi sehingga bayi mudah dikenali serta pembuatan aplikasi yang berfungsi untuk mengidentifikasi seseorang.

1.6Metodologi Penelitian 1. Studi Literatur

Mengumpulkan bahan-bahan acuan yang berupa buku, skripsi, jurnal, diktat yang berhubungan dengan penolahan citra digital, serta jaringan syaraf tiruan terutama metode SOM Kohonen.

2. Analisis dan Perancangan

Pada tahap ini, dilakukan analisis terhadap sistem yang akan dibangun berupa analisis data, analisis kebutuhan perangkat lunak, perancangan sistem dan algoritma sistem.

3. Implementasi dan Pengujian

Pada tahap ini dilakukan pengimplementasian rancangan yang telah dipersiapkan pada tahap sebelumnya. Setelah pengimplementasian rancangan, dilakukan pengujian terhadap sistem yang telah dibuat. Pengujian ini berfungsi untuk melihat kinerja sistem yang telah dibuat apakah sesuai dengan rancangan dan spesifikasi yang telah ditentukan atau tidak.

4. Dokumentasi

(87)

4

1.7Sistematika Penulisan

BAB 1: PENDAHULUAN

Bab ini berisi latar belakang penelitian serta penjelasan tentang rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Dalam bab ini dijelaskan tentang landasan teori yang bersangkutan dengan penelitian. Pengolahan citra dan penjelasan mengenai metode Self Organizing Map Kohonen dipaparkan dalam bab ini.

2

BAB 3: ANALISIS DAN PERANCANGAN

Dalam bab ini dijelaskan analisis masalah, analisis kebutuhan, perancangan antarmuka dan pemodelan dari sistem yang akan dibangun.

3

BAB 4: IMPLEMENTASI DAN PENGUJIAN

Penjelasan dari implementasi yang telah dilakukan berdasarkan analisis dan perancangan sebelumnya dimuat dalam bab ini. Setelah penjelasan tentang implementasi, juga dijelaskan tentang pengujian yang dilakukan pada sistem.

4

BAB 5: KESIMPULAN DAN SARAN

(88)

ABSTRAK

Bayi yang baru lahir sulit dikenali melalui wajah. Untuk mencegah kasus bayi tertukar , dapat digunakan ciri unik berupa telapak kaki bayi untuk membedakan bayi satu dengan lainnya. Teknologi jaringan syaraf tiruan diharapkan mampu mengenali citra cap telapak kaki bayi, sehingga dapat membantu proses identifikasi bayi. Citra cap telapak kaki yang berekstensi *.jpg terlebih dahulu difilter menggunakan highpass filtering untuk mempertajam detail citra, dan terakhir dideteksi tepi Canny

untuk menandai bagian yang menjadi detail citra. Hasil deteksi tepi berupa citra biner yang kemudian matriks citra biner ini digunakan untuk dilatih dan diuji menggunakan metode SOM Kohonen. Gambar yang dilatih berupa 10 gambar cap telapak kaki bayi asli dan 20 lainnya adalah citra asli yang telah diberi noise. Hasil akhir berupa identifikasi telapak kaki bayi berdasarkan hasil pelatihan. Hasil pengujian terhadap citra yang dilatih menunjukkan tingkat akurasi pengenalan sebesar 90 % dan persentase akurasi pengenalan untuk citra yang tidak dilatih sebesar 66,7 %.

(89)

vii

Implementation of Self Organizing Map Kohonen Neural Network in Recognizing Baby’s Sole Of Foot

ABSTRACT

A newborn babies are difficult to identify through the face. In order to prevent the cases of swapped babies, an approach on using the soles part of baby's feet is believed to be a solution to distinguish one baby from another. By using the ANN technology, it will help the recognition process of baby's foot image of the stamp, which will result in the identification of newly born babies. The image of the stamp foot will be in a *.jpg extension, in which it is first filtered using the highpass filtering to sharpen up the image details. Then it is followed by Canny edge detection to mark some parts of the image detail. The result of the edge detection process will be in the form of a binary image. That binary image holds matrix value which later used in the training and testing process of SOM Kohonen Method. The trained images will consist of the 10 initial baby’s foot stamp image along with the 20 noise version images. The result of the identification process is based on the result of training. In the testing section, it is found that a trained image has the accuracy of 90% in identifying babie’s feet while the original image has only 66.7% of recognition level.

(90)

TELAPAK KAKI BAYI

SKRIPSI

ITA SHARONNI A. SINAGA 111401107

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(91)

PERSETUJUAN

Judul : Implementasi Jaringan Syaraf Tiruan Self Organizing Map Kohonen dalam Pengenalan Telapak Kaki Bayi

Kategori : Skripsi

Nama : Ita Sharonni Alemmina Sinaga

Nomor Induk Mahasiswa : 111401107

Program Studi : Sarjana (S1) Ilmu Komputer

Fakultas : Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Dahlan Sitompul M.Eng Dr. Poltak Sihombing, M. Kom NIP: 196707252005011002 NIP. 196203171991031001

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(92)

PERNYATAAN

Implementasi Jaringan Syaraf Tiruan Self Organizing Map Kohonen dalam Pengenalan Telapak Kaki Bayi

SKRIPSI

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

Medan, September 2015

(93)

iv

UCAPAN TERIMA KASIH

Puji dan syukur kepada Tuhan Yesus Kristus, yang telah setia menemani dan menguatkan penulis dalam penulisan skripsi ini, karena oleh kasihNya penulis dapat menyelesaikan penelitian ini.

Penulis mengucapkan rasa terimakasih yang sebesar-besarnya kepada pihak yang telah membantu dan ikut berperan dalam penyelesaian skripsi ini. Penulis mengucapkan terimakasih kepada:

1. Bapak Prof. Subhilhar, M.A., Ph.D selaku Plt. Rektor Universitas Sumatera Utara

2. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku Dekan Fasilkom-TI USU serta Wakil Dekan Fasilkom-TI USU

3. Bapak Dr. Poltak Sihombing, M. Kom. selaku Ketua Program Studi S1 Ilmu Komputer Fasilkom-TI USU dan Dosen Pembimbing I, atas bimbingan dan saran yang diberikan baik selama perkuliahan maupun proses pembuatan skripsi ini 4. Ibu Maya Silvi Lydia, BSc. M.Sc. selaku Sekretaris Program Studi S1 Ilmu

Komputer Fasilkom-TI USU

5. Bapak Drs. Dahlan Sitompul M.Eng selaku Dosen Pembimbing II yang memberikan bimbingan serta arahan kepada penulis

6. Bapak Drs. Partano Siagian, M.Sc selaku Dosen Pembanding I atas kritik dan saran yang diberikan

7. Bapak Amer Sharif, S.Si.,M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyelesaian skripsi ini

8. Seluruh dosen dan pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU

9. Pdt Itje Tari yang selalu memantau dan memberi semangat secara rohani kepada penulis

10. Kedua orangtua penulis serta Adik Meiwita Nurangi dan Abang Jeremy Ojahanta yang memberi semangat dan dukungan pada penulis

(94)

12. Sahabat-sahabat di Program Studi S1 Ilmu Komputer USU khususnya Anandhini, Agita, Martina, Nurkholizah, Ruth Efenty, Efrida, Dina, Meylina, Witty dan Magdalena serta Baringin

13. Seluruh teman-teman stambuk 2011 dan rekan kerja IMILKOM 14. Seluruh pihak yang tidak dapat disebutkan penulis satu per satu.

Penulis menyadari bahwa penelitian ini jauh dari sempurna. Namun demikian, penulis berharap bahwa skripsi ini dapat memberikan manfaat kepada setiap pembaca.

Medan,Oktober 2015

Gambar

Gambar 3.1 Diagram Ishikawa Pengenalan Telapak Kaki Bayi
Gambar 3.2 Bobot baru dalam Ms.Excel
Gambar 3.3  Use case Sistem Pengenalan Telapak Kaki Bayi
Tabel 3.2 Dokumentasi naratif dari use case pengujian
+7

Referensi

Dokumen terkait

Mata Pelajaran Nilai Rata-rata Rapor1. Nilai

Untuk itu perusahaan properti harus dapat mempertimbangkan masalah-masalah yang dihadapi seperti konsep perumahan dengan fasilitas dan lokasi yang strategis untuk mempengaruhi

Syaratnya adalah: 1) Bukan mahram si laki-laki. 2) Terbebas dari halangan nikah, misalnya, masih dalam masa iddah atau berstatus sebagai istri orang. Wali, yaitu bapak

[r]

Sehubungan dengan hal tersebut, para peneliti dan pelaksana pengabdian kepada masyarakat yang telah selesai melaksanakan kegiatannya di tahun 2014 (semua skema) diwajibkan

[r]

[r]

Ketegangan mulai pada tanggal 3 Juni ketika masyarakat desa setempat melaporkan bahwa pasukan bersenjata telah melintas di perbatasan Bener Meriah dan menyerang desa