• Tidak ada hasil yang ditemukan

Analisis pernbandingan pengenalan tanda tangan dengan menggunakan metode perceptron dan backpropagation

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis pernbandingan pengenalan tanda tangan dengan menggunakan metode perceptron dan backpropagation"

Copied!
181
0
0

Teks penuh

(1)

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

Haryo Kusuma Pratama

106091002927

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

(2)

ii

BACKPROPAGATION

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

Haryo Kusuma Pratama

106091002927

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

(3)
(4)
(5)

ix

Halaman Judul ... ii

Persetujuan Penguji ... iii

Halaman Pengesahan ... iv

Halaman Pernyataan ... v

Abstrak ... vi

Kata Pengantar ... vii

Daftar Isi ... ix

Daftar Gambar ... xiii

Daftar Tabel ... xvi

Daftar Lampiran ... xvii

Daftar Istilah ... xviii

BAB I PENDAHULUAN

1.1.

Latar Belakang ... 1

1.2.

Perumusan Masalah ... 2

1.3.

Tujuan dan Manfaat ... 3

1.4.

Pembatasan Masalah ... 4

1.5.

Metodologi Penelitian ... 5

1.6.

Sistematika Penulisan ... 6

BAB II LANDASAN TEORI

2.1.

Sistem Biometrika ... 8

(6)

x

2.1.3. Tanda Tangan ... 12

2.2.

Kecerdasan Buatan ... 12

2.2.1. Pengertian ... 12

2.2.2. Sejarah ... 16

2.2.3. Lingkup Kecerdasan Buatan pada Aplikasi Komersial ... 18

2.2.4. Kecerdasan Buatan dan Kecerdasan Alami ... 20

2.2.5. Komputasi Kecerdasan Buatan dan Komputasi Konvensional 22

2.3.

Jaringan Syaraf Tiruan ... 23

2.3.1. Otak Manusia ... 23

2.3.2. Komponen Jaringan Syaraf ... 25

2.3.3. Arsitektur Jaringan ... 27

2.4.

Metode Perceptron ... 30

2.5.

Metode Backpropagation ... 32

2.6.

Pre-Processing ... 37

2.6.1. Proses Pengambangan ... 37

2.6.2. Ekstraksi Ciri ... 37

2.7.

Studi Literatur Sejenis ... 38

2.8.

Microsoft Visual Basic ... 41

2.8.1. Sejarah Singkat ... 41

2.8.2. Struktur Aplikasi... 41

(7)

xi

3.1.

Metode Pengumpulan Data ... 48

3.2.

Metode Pengembangan Perangkat Lunak ... 48

3.3.

Analisis Kebutuhan Sistem ... 50

3.4. Analisis Proses Kerja ... 51

3.5. Kerangka Berpikir ... 53

BAB IV PEMBAHASAN DAN IMPLEMENTASI

4.1.

Pembahasan ... 54

4.1.1.

Pembahasan Cara Kerja Proses ... 54

4.1.1.1. Proses Pengambangan ... 54

4.1.1.2. Proses Pelatihan Pola Tanda Tangan ... 57

4.1.1.3. Proses Pengenalan Pola Tanda Tangan ... 59

4.1.1.4. Proses Backpropagation ... 59

4.1.1.5. Proses Perceptron ... 65

4.1.2.

Pembahasan Perancangan ... 68

4.1.2.1. Perancangan Tampilan ... 68

4.1.2.1.1 Rancangan Form Spalsh Screen ... 68

4.1.2.1.2 Rancangan Form Utama ... 69

4.1.2.1.3 Rancangan Form Buka Gambar ... 71

4.1.2.1.4 Form Atur Tebal Pensil ... 72

4.1.2.1.5 Form Pilih Threshold ... 73

(8)

xii

4.1.2.1.9 Rancangan Form Database ... 76

4.1.2.1.10 Rancangan Form About ... 78

4.1.2.2. Perancangan Database ... 78

4.2.

Implementasi ... 80

4.2.1.

Form Splash Screen ... 80

4.2.2.

Form Utama ... 80

4.2.3.

Form Buka ... 81

4.2.4.

Form Atur Tebal Pensil ... 83

4.2.5.

Form Pilih Threshold ... 84

4.2.6.

Form Pelatihan ... 84

4.2.7.

Form Pengenalan ... 85

4.2.8.

Form Hasil Pengenalan ... 85

4.2.9.

Form Database ... 86

4.2.10.

Form History/log ... 87

4.2.11.

Form About ... 87

4.3.

Hasil Pengujian ... 87

BAB V KESIMPULAN DAN SARAN

5.1.

Kesimpulan ... 91

5.2.

Saran ... 92

(9)

i

ABSTRAK

(10)

iv

SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI

ATAU LEMBAGA MANAPUN.

Jakarta, Mei 2011

(11)

vii

Bismillahirrahmannirrahiim………

Puji dan syukur penulis panjatkan kehadirat Allah SWT, yang telah

memberikan rahmat, taufik dan hidayah-Nya, sehingga penulis dapat

menyelesaikan penyusunan skripsi ini. Shalawat serta salam semoga Allah

limpahkan kepada Nabi besar Muhammad SAW yang telah membawa pertunjuk

dan pedoman hidup bagi manusia, juga kepada keluarga dan sahabat yang telah

mewariskan nilai Islam kepada kita semua.

Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh

pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah

Jakarta. Selain itu juga penulis berharap penelitian ini dapat bermanfaat sehingga

perkembangan ilmu pengetahuan dan teknologi di UIN Syarif Hidayatullah

Jakarta dapat lebih maju dan lulusannya dapat bekerja secara kooperatif dengan

semua elemen informatika dari seluruh dunia.

Mengingat jasa dan bantuan dari semua pihak maka dalam kesempatan ini

penulis menghaturkan terima kasih yang sedalam - dalamnya :

1.

Bapak Dr. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains

dan Teknologi UIN Syarif Hidayatullah Jakarta.

2.

Bapak Yusuf Durrachman, M.Sc, MIT, Ketua Program Studi Teknik

Informatika UI Syarif Hidayatullah Jakarta.

(12)

viii

4.

Ibu Viva Arifin, MMSi, selaku Pembimbing 2 yang telah banyak

meluangkan waktu dalam memberikan bimbingan, pengarahan dan

petunjuk - petunjuk yang berharga kepada penulis sehingga skripsi dapat

diselesaikan.

5.

Bapak dan Ibu penguji yang memberikan kritik dan saran pada skripsi ini.

6.

Dosen-Dosen Fakultas Sains dan Teknologi yang telah mengajarkan

kepada penulis berbagai macam ilmu yang dapat penulis terapkan dalam

penulisan skripsi ini.

7.

Kedua orang tua penulis, yang telah mendidik, membimbing serta

memberikan motivasi dalam penyusunan skripsi ini.

8.

Teman-Teman seperjuangan TI UIN 2006 yang telah membantu

memberikan support dan motivasi kepada penulis, baik selama perkuliahan

terlebih selama menyelesaikan skripsi ini. Semoga segala bantuan dan

amal baik yang telah diberikan kepada penulis akan dibalas oleh Allah

SWT dengan pahala yang berlipat ganda.

Penulis menyadari masih jauh dari sempurna dalam penelitian ini,

baik penulisan maupun aplikasinya sendiri. Oleh karena itu penulis

mengharapkan saran dan kritik yang dapat membangun skripsi ini lebih

baik lagi.

Jakarta, Mei 2011

(13)

xviii

Blackbox

Suatu jenis pengujian perangkat lunak berdasarkan dengan

input, output pemakai.

Coding

Tahapan dimana pengembangan software melakukan

pembangunan aplikasi.

Design

Tahapan dimana pengembangan software melakukan

perancangan.

Error

Kesalahan.

JST

Jaringan Syaraf Tiruan.

Planning

Tahapan dimana pengembangan software melakukan

perencanaan.

Recognition

Pengenalan

Signature

Tulisan tangan seseorang yang mempunyai gaya tulisan ciri

khas tertentu.

Testing

Tahapan dimana pengembangan software melakukan uji

coba terhadap aplikasi.

Training

Pelatihan.

UML

Unified Modelling Language

User

Pengguna dari sistem

User Friendly

Bersahabat untuk digunakan, sehingga user mudah untuk

menggunakan.

(14)

1

1.1

Latar Belakang Pemilihan Judul

Tanda tangan (Inggris:

signature berasal dari Latin:

signare yang berarti

"tanda") atau Paraf adalah tulisan tangan, yang diberikan gaya tulisan tertentu dari

nama seseorang atau tanda identifikasi lainnya yang ditulis pada dokumen sebagai

sebuah bukti dari identitas dan kemauan. Tanda tangan berlaku sebagai segel.

Fungsi tanda tangan adalah untuk pembuktian. Dalam kehidupan sehari-hari,

tanda tangan digunakan sebagai identifikasi dari pemilik tanda tangan.

Keberadaan tanda tangan dalam sebuah dokumen menyatakan bahwa pihak yang

menandatangani, mengetahui dan menyetujui seluruh isi dari dokumen.

Pembubuhan tanda tangan sering dijumpai pada kegiatan administrasi perbankan,

seperti: transaksi penarikan uang secara tunai, penyetoran, kliring giro dan

transaksi perbankan lainnya. Pada zaman teknologi ini, pencocokan karakteristik

tanda tangan dengan pemiliknya dapat dilakukan dengan menggunakan komputer,

sehingga akan menghemat waktu bila dibandingkan dengan melakukannya secara

manual. Caranya adalah dengan menggunakan Jaringan Syaraf Tiruan (JST).

(15)

mengatur parameter-parameter bebasnya melalui proses pembelajaran. Untuk

mengenali tanda tangan, semua pola tanda tangan akan melalui fase

training

(pelatihan / pembelajaran). Pada fase ini, semua pola tanda tangan akan dipelajari

oleh metode

Perceptron. Setelah itu, pola tanda tangan yang telah dipelajari akan

dapat dikenali melalui fase

recognition (pengenalan). Sedangkan metode

Backpropagation merupakan

salah satu algoritma pembelajaran

yang

menyesuaikan bobot-bobot jaringan syaraf tiruan dengan arah mundur

berdasarkan nilai

error di dalam proses pembelajaran. Sama seperti metode

Perceptron, metode

Backpropagation juga mempunyai fase pelatihan untuk

mempelajari pola tanda tangan dan fase pengenalan untuk mengenali identitas

pemilik tanda tangan. Perbedaan kedua metode terletak pada rumus dan konsep

perhitungan JST untuk setiap proses pelatihan dan pengenalan.

Penulis tertarik untuk mempelajari cara kerja metode

Perceptron dan

Backpropagation dalam melakukan pengenalan terhadap karakteristik tanda

tangan. Oleh karena itu, penulis ingin merancang aplikasi pengenalan tanda

tangan yang menerapkan kedua metode ini dan melakukan analisis perbandingan

terhadap kinerja kedua metode, dengan mengambil tugas akhir yang berjudul

”

Analisis Perbandingan

Pengenalan Tanda Tangan dengan Menggunakan

Metode

Perceptron

dan

Backpropagation

”.

1.2

Perumusan Masalah

(16)

pengenalan ini, maka dibutuhkan sebuah aplikasi yang menerapkan metode JST

untuk melatih dan mengenali pola tanda tangan. Yang menjadi permasalahan

adalah:

1.

bagaimana menerapkan salah satu teknik pengolahan citra, yaitu proses

thresholding (pengambangan), untuk mengubah gambar

scan tanda tangan

menjadi gambar hitam putih,

2.

bagaimana melakukan proses ekstraksi ciri terhadap gambar hitam putih,

3.

bagaimana melakukan pembelajaran pola tanda tangan melalui fase pelatihan

(training) dengan menggunakan metode Perceptron dan Backpropagation,

4.

bagaimana melakukan pengenalan terhadap pola tanda tangan dengan

menggunakan metode Perceptron dan Backpropagation, dan

5.

bagaimana mencatat waktu eksekusi dan keakuratan dari masing-masing

metode, sehingga dapat dibandingkan hasilnya.

1.3

Tujuan dan Manfaat

Adapun tujuan penyusunan tugas akhir ini adalah:

1.

Menghasilkan aplikasi yang dapat melakukan proses pelatihan dan pengenalan

terhadap pola tanda tangan secara digital dengan menggunakan komputer,

melalui metode Perceptron dan Backpropagation,

(17)

3.

Mengetahui perbedaan kecepatan dan keakuratan dari metode Perceptron dan

Backpropagation.

Sedangkan, manfaat penyusunan tugas akhir ini adalah aplikasi yang

dihasilkan dapat digunakan untuk melakukan pengenalan terhadap tanda tangan.

Selain itu, pembaca juga dapat mengetahui analisis perbandingan kinerja dan

keakuratan antara kedua metode tersebut.

1.4

Pembatasan Masalah

Pembatasan masalah dalam merancang perangkat lunak ini antara lain :

1.

Input dari aplikasi adalah:

a.

Gambar tanda tangan (dalam format bmp, jpg, gif), atau

b.

Tanda tangan yang digambar dengan menggunakan

mouse pada area

kosong yang disediakan oleh aplikasi.

2.

Bila

input merupakan gambar tanda tangan, maka aplikasi akan melakukan

proses pengambangan (thresholding) untuk membuang latar yang tidak

dibutuhkan. Hasil proses thresholding adalah gambar hitam putih (biner).

3.

Output dari aplikasi adalah identitas pemilik tanda tangan, belum sampai pada

tahap menunjukan prosentase keaslian pemilik tanda tangan dan adanya tindak

pemalsuan pada tanda tangan.

4.

Proses yang dilakukan aplikasi adalah proses pelatihan (training) dan proses

pengenalan (recognition).

(18)

6.

Aplikasi dibangun dengan menggunakan bahasa pemograman Microsoft

Visual Basic 6.0, sedangkan untuk menyimpan bobot hasil pelatihan, aplikasi

menggunakan Microsoft Access 2007.

1.5

Metodologi Penelitian

Adapun metodologi penelitian yang dilakukan, terbagi atas:

1.

Metodologi Pengumpulan Data, terdiri dari:

a.

Studi Pustaka

Pengumpulan data dilakukan dengan cara mengambil sumber referensi

dari buku teks ataupun

internet mengenai cara kerja metode

Perceptron

dan Backpropagation.

b.

Sampling

Penulis mengumpulkan beberapa contoh gambar tanda tangan dari internet

ataupun secara manual, untuk kebutuhan pengujian terhadap aplikasi.

2.

Metodologi Pengembangan Perangkat Lunak, terdiri dari:

a.

Analisis Kebutuhan Sistem, mengkaji informasi untuk dirangkum agar

lebih efektif serta menganalisa kebutuhan sesuai informasi yang

dirangkum.

b.

Perancangan Sistem, merancang algoritma sesuai metode yang digunakan.

c.

Konstruksi Sistem, membangun perangkat lunak dengan menggunakan

(19)

d.

Pengujian, mengeksekusi program dengan tujuan menemukan kesalahan

serta menguji sistem hasil implementasi algoritma.

e.

Melakukan penyusunan laporan tugas akhir.

1.6

Sistematika Penulisan

Sistematika penulisan tugas akhir ini dibagi menjadi 5 bab, dengan

masing-masing bab menjelaskan hal-hal yang berhubungan dengan topik tugas

akhir secara sistematis. Berikut adalah sistematika penulisan dari isi setiap bab:

BAB I

PENDAHULUAN

Pada bab ini, akan dibahas mengenai latar belakang pemilihan

judul, perumusan masalah, tujuan dan manfaat, pembatasan

masalah, metodologi penelitian serta sistematika penulisan.

BAB II

LANDASAN TEORI

Bab ini berisi landasan teori yang berhubungan dengan sistem

biometrika, jaringan syaraf tiruan, arsitektur jaringan, metode

Perceptron, metode

Backpropagation,

pre-processing, tinjauan

pustaka mengenai hasil penelitian yang sudah ada dan teori

mengenai bahasa pemograman Microsoft Visual Basic, serta

database Microsoft Access.

BAB III

METODOLOGI PENELITIAN

(20)

BAB IV

PEMBAHASAN DAN IMPLEMENTASI

Pada bab ini, akan dibahas mengenai semua proses yang dilakukan

di dalam aplikasi, perancangan tampilan aplikasi dan hasil

implementasi berupa

capture-screen dari masing-masing

form di

dalam aplikasi. Bab ini juga akan menampilkan hasil pengujian

aplikasi dan perbandingan di antara kedua metode jaringan syaraf

tiruan.

BAB V

KESIMPULAN DAN SARAN

(21)

8

2.1

Sistem Biometrika

2.1.1 Pengertian

“Badanmu adalah

password-mu” – itulah ungkapan yang sering melekat

pada istilah biometrika. Ungkapan tersebut tidak berlebihan karena memang

demikian adanya. Secara harfiah, biometrika atau biometrics berasal dari kata bio

dan

metrics.

Bio berarti sesuatu yang hidup, dan

metrics berarti mengukur.

Biometrika berarti mengukur karakteristik pembeda (distinguishing traits) pada

badan atau perilaku seseorang yang digunakan untuk melakukan pengenalan

secara otomatis terhadap identitas orang tersebut, dengan membandingkannya

dengan karakteristik yang sebelumnya telah disimpan pada suatu

database.

Pengenalan terhadap identitas seseorang dapat dilakukan secara waktu nyata

(realtime), tidak membutuhkan waktu berjam-jam atau berhari-hari untuk proses

pengenalan itu.

(22)

keringat tubuh. Sedangkan biometrika berdasarkan karakteristik perilaku

menggunakan perilaku seseorang sebagai kode unik untuk melakukan pengenalan,

seperti gaya berjalan, hentakan tombol, tanda tangan dan suara. Khusus untuk

suara, lebih tepat disebut sebagai karakteristik gabungan, karena suara dibentuk

berdasarkan karakteristik fisik (bagian fisik tubuh manusia yang memproduksi

suara) dan karakteristik perilaku (cara atau logat seseorang dalam berbicara).

Bau dan komposisi kimia dari keringat tubuh juga sering dikatakan

sebagai biometrika berdasarkan karakteristik kimia (chemical characteristics).

Gambar 2.1 menampilkan beberapa karakteristik biometrika.

Gambar 2.1 Berbagai Karakteristik Biometrika

(Sumber : Putra, 2008, 22)

(23)

telah dikembangkan untuk pengenal bau dan pemantau wajah. Penggunaan

biometrika untuk sistem pengenalan memiliki beberapa keunggulan dibanding

sistem tradisional (penggunaan password, PIN, kartu dan kunci), di antaranya:

1.

Non-repudiation

Suatu sistem yang menggunakan teknologi biometrika untuk melakukan suatu

akses, penggunanya tidak akan dapat melakukan penyangkalan bahwa bukan

dia yang melakukan akses atau transaksi. Hal ini berbeda dengan penggunaan

password atau PIN.

2.

Keamanan (security).

Sistem berbasis

password dapat diserang dengan menggunakan metode atau

algoritma

brute force, sedangkan sistem biometrika tidak dapat diserang

dengan cara ini karena sistem biometrika membutuhkan kehadiran pengguna

secara langsung pada proses pengenalan.

3.

Penyaringan (screening)

Proses penyaringan diperlukan untuk mengatasi seseorang yang menggunakan

banyak identitas, seperti teroris yang dapat menggunakan lebih dari satu

paspor untuk memasuki suatu negara.

(Putra, 2008, 21-23)

2.1.2 Persyaratan Pemilihan Suatu Biometrika

(24)

1.

Universal (universality), artinya karakteristik yang dipilih harus dimiliki oleh

setiap orang. Tahi lalat di dahi seseorang tidak dapat dijadikan biometrika

karena tidak semua orang memiliki tahi lalat di dahi.

2.

Membedakan (distinctiveness), artinya karakteristik yang dipilih memiliki

kemampuan membedakan antara satu orang dengan orang lain. Berat dan

tinggi badan seseorang tidak dapat digunakan sebagai biometrika karena

banyak orang yang memiliki berat dan tinggi badan yang sama.

3.

Permanen (permanence), artinya karakteristik yang dipilih tidak cepat berubah

dalam periode waktu yang lama.

4.

Kolektabilitas (collectability), artinya karakteristik yang dipilih mudah

diperoleh dan dapat diukur secara kuantitatif.

5.

Unjuk kerja (performance), artinya karakteristik yang dipilih dapat

memberikan unjuk kerja yang bagus baik dari segi akurasi maupun kecepatan,

termasuk sumber daya yang dibutuhkan untuk meperolehnya.

6.

Dapat diterima (acceptability), artinya masyarakat mau menerima

karakteristik yang digunakan.

7.

Tidak mudah dikelabui (circumvention), artinya karakteristik yang dipilih

tidak mudah dikelabui dengan berbagai cara curang.

(25)

2.1.3 Tanda Tangan

Tanda tangan (Inggris:

signature berasal dari Latin:

signare yang berarti

"tanda") atau Paraf adalah tulisan tangan, terkadang diberi gaya tulisan tertentu

dari nama seseorang atau tanda identifikasi lainnya yang ditulis pada dokumen

sebagai sebuah bukti dari identitas dan kemauan. Tanda tangan berlaku sebagai

segel.

Sejak berabad-abad lamanya, tanda tangan digunakan untuk membuktikan

otentikasi pada dokumen kertas, misalnya: surat, piagam, ijazah, buku, karya seni

dan sebagainya. Tanda tangan mempunyai karakteristik sebagai berikut:

1.

Tanda tangan adalah bukti yang otentik.

2.

Tanda tangan tidak dapat dilupakan.

3.

Tanda tangan tidak dapat dipindah untuk digunakan ulang.

4.

Dokumen yang telah ditandatangani adalah valid dan tidak dapat diubah.

5.

Tanda tangan tidak dapat disangkal (repudiation).

(Schneier, 1996, 34-35)

2.2

Kecerdasan Buatan

2.2.1 Pengertian

(26)

Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung

saja. Namun seiring dengan perkembangan zaman, teknologi komputer semakin

ditingkatkan dan peran komputer semakin mendominasi kehidupan umat manusia.

Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer

diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa

dikerjakan oleh manusia.

Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan

di dunia ini karena manusia mempunyai pengetahuan dan pengalaman.

Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang

dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam

menyelesaikan permasalahan. Namun bekal pengetahuan saja tidak cukup,

manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan

berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki

kemampuan menalar yang baik, manusia dengan segudang pengalaman dan

pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian

pula, dengan kemampuan menalar yang sangat baik, namun tanpa bekal

pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa

menyelesaikan masalah dengan baik.

(27)

Lebih detilnya, pengertian AI dapat dilihat dari berbagai sudut pandang,

antara lain:

1.

Sudut pandang kecerdasan.

AI akan membuat mesin menjadi ‘cerdas’ (mampu berbuat seperti apa yang

dilakukan oleh manusia).

2.

Sudut pandang penelitian.

AI adalah suatu studi bagaimana membuat agar komputer dapat melakukan

sesuatu sebaik yang dikerjakan oleh manusia.

Domain yang sering dibahas

oleh para peneliti meliputi:

a.

Mundane task

1)

Persepsi (vision & speech).

2)

Bahasa alami (understanding, generation & translation).

3)

Pemikiran yang bersifat commonsense.

4)

Robot control.

b.

Formal task

1)

Matematika (geometri, logika, kalkulus integral, pembuktian).

2)

Permainan / games.

c.

Expert task

1)

Analisis finansial.

2)

Analisis medikal.

3)

Analisis ilmu pengetahuan.

(28)

AI adalah kumpulan peralatan yang sangat

powerful dan metodologis dalam

menyelesaikan masalah-masalah bisnis.

4.

Sudut pandang pemograman.

AI meliputi studi tentang pemograman simbolik, penyelesaian masalah

(problem solving) dan pencarian (searching). (Kusumadewi, 2003, 1-2)

Untuk menciptakan aplikasi AI ada 2 bagian utama yang sangat

dibutuhkan, yaitu:

1.

Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori, pemikiran dan

hubungan antara satu dengan yang lainnya.

2.

Motor Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan

berdasarkan pengalaman.

Gambar 2.2 Penerapan Konsep AI di Komputer

(Sumber : Kusumadewi, 2003, 3)

Beberapa definisi atau pengertian dari AI dapat dilihat pada tabel 2.1

berikut.

Tabel 2.1 Beberapa definisi AI

(Sumber : Desiani dan Arhami, 2005, 1-2)

No.

Definisi AI

1.

“The existing new effort to make computers think … machine with mind, in

full, and literal sense” (Haugeland, 1985)

2.

“The automation of activities that we associate with human thinking,

activities such as decision making, problem solving, learning …”

(Bellman, 1978)

(29)

(Chaniak and mcDermott, 1985)

4.

“The study of the computation that make it possible to perceive, reason and

act” (Winston, 1992)

5.

“The art of creating machine that performs functions that require

intelligence when performed by people” (Kurzweil, 1990)

6.

“The study of how to make computers to do things at which, at the moment,

people are better” (Rich and Knight, 1991)

7.

“A field of study that seeks to explain and emulate intelligent behaviour in

term of computational processes” (Schalkoff, 1990)

8.

“The branch of computer science that is concerned with the automation of

intelligent behaviour” (Luger and Stubblefield, 1993)

9.

System that thinks like humans.

10.

System that acts like humans.

11.

System that thinks rationally.

12.

System that acts rationally.

Dari beberapa definisi pada tabel 2.1, definisi AI dapat dibagi dalam empat

kategori, yaitu:

1.

Sistem yang dapat berpikir seperti manusia “Thinking humanly”

2.

Sistem yang dapat bertingkah laku seperti manusia “Acting humanly”

3.

Sistem yang dapat berpikir secara rasional “Thinking rationally”

4.

Sistem yang dapat bertingkah laku secara rasional “Acting rationally”

Secara historis, keempat pendekatan tersebut telah dilakukan. Pendekatan

manusia haruslah merupakan suatu ilmu empiris, termasuk hipotesa dan

konfirmasi percobaan dan pendekatan rasional meliputi kombinasi dari

matematika dan rekayasa. (Desiani dan Arhami, 2005, 3)

2.2.2 Sejarah

(30)

melakukan pekerjaannya seperti yang bisa dikerjakan oleh manusia. Alan Turing,

seorang matematikawan dari Inggris pertama kali mengusulkan adanya tes untuk

melihat bisa tidaknya sebuah mesin dikatakan cerdas. Hasil tes tersebut kemudian

dikenal dengan Turing Test, dimana si mesin tersebut menyamar seolah-olah

sebagai seseorang di dalam suatu permainan yang mampu memberikan respon

terhadap serangkaian pertanyaan yang diajukan. Turing beranggapan bahwa, jika

mesin dapat membuat seseorang percaya bahwa dirinya mampu berkomunikasi

dengan orang lain, maka dapat dikatakan bahwa mesin tersebut cerdas, seperti

layaknya manusia.

AI itu sendiri dimunculkan oleh seorang profesor dari

Massachusetts

Institute of Technology yang bernama John McCarthy pada tahun 1956 pada

Darmouth Conference yang dihadiri oleh para peneliti AI. Pada konferensi

tersebut juga didefinisikan tujuan utama dari kecerdasan buatan, yaitu mengetahui

dan memodelkan proses-proses berpikir manusia dan mendesain mesin agar dapat

menirukan kelakuan mesin tersebut.

Beberapa program AI yang mulai dibuat pada tahun 1956-1966, antara

lain:

1.

Logic Theorist, diperkenalkan pada Dartmouth Conference, program ini dapat

membuktikan teorema-teorema matematika.

(31)

3.

ELIZA, diprogram oleh Joseph Weizenbaum (1967). Program ini mampu

melakukan terapi terhadap pasien dengan memberikan beberapa pertanyaan

dan jawaban. (Kusumadewi, 2003, 5-6)

2.2.3 Lingkup Kecerdasan Buatan pada Aplikasi Komersial

Makin

pesatnya

perkembangan

teknologi

menyebabkan

adanya

perkembangan dan perluasan lingkup yang membutuhkan kehadiran AI.

Karakteristik ‘cerdas’ sudah mulai dibutuhkan di berbagai disiplin ilmu dan

teknologi. AI tidak hanya dominan di bidang ilmu komputer (informatika), namun

juga sudah merambah di berbagai disiplin ilmu yang lain. Irisan antara psikologi

dan AI melahirkan sebuah area yang dikenal dengan nama

cognition &

psycolinguistics. Irisan antara teknik elektro dengan AI melahirkan berbagai ilmu,

seperti: pengolahan citra, teori kendali, pengenalan pola dan robotika. Dewasa ini,

AI juga memberikan konstribusi yang cukup besar di bidang manajemen. Adanya

sistem pendukung keputusan dan Sistem Informasi Manajemen juga tidak terlepas

dari andil AI.

Adanya irisan penggunaan AI di berbagai disiplin ilmu tersebut

menyebabkan cukup rumitnya untuk mengklasifikasikan AI menurut disiplin ilmu

yang menggunakannya. Untuk memudahkan hal tersebut, maka pengklasifikasian

lingkup AI didasarkan pada output yang diberikan, yaitu pada aplikasi komersial

(meskipun sebenarnya AI itu sendiri bukan merupakan medan komersial).

(Kusumadewi, 2003, 6)

(32)

1.

Sistem Pakar (Expert System). Disini, komputer digunakan sebagai sarana

untuk menyimpan pengetahuan para pakar. Dengan demikian, komputer akan

memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian

yang dimiliki oleh pakar.

2.

Pengolahan Bahasa Alami (Natural Language Processing). Dengan

pengolahan bahasa alami ini diharapkan

user dapat berkomunikasi dengan

komputer dengan menggunakan bahasa sehari-hari.

3.

Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan

diharapkan manusia dapat berkomunikasi dengan komputer menggunakan

suara.

4.

Robotika & Sistem Sensor (Robotics & Sensory Systems).

5.

Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau

objek-objek tampak melalui komputer.

6.

Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai

tutor yang dapat melatih dan mengajar.

7.

Game Playing. Permainan dapat menghasilkan sejumlah besar pencarian

ruang. Hal ini cukup besar dan kompleks dan membutuhkan teknik pencarian

untuk

menentukan

alternatif pengeksplorasian ruang

permasalahan.

Untungnya, setiap permainan memiliki aturan main. Hal ini mempermudah

upaya menghasilkan ruang pencarian.

(33)

pemisahan antara kontrol dengan pengetahuan. Namun, seiring dengan

perkembangan teknologi, muncul beberapa teknologi yang juga bertujuan untuk

membuat agar komputer menjadi cerdas sehingga dapat menirukan kerja manusia

sehari-hari.

Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan

ketidaktepatan data input. Dengan didasari pada teori himpunan, maka pada tahun

1965 muncul Logika Fuzzy. Kemudian pada tahun 1975, John Holland

mengatakan bahwa setiap

problem berbentuk adaptasi (alami maupun buatan)

secara umum dapat diformulasikan dalam terminologi genetika. Algoritma

genetika ini merupakan simulasi proses evolusi Darwin dan operasi genetika atas

kromosom. (Kusumadewi, 2003, 7)

2.2.4 Kecerdasan Buatan dan Kecerdasan Alami

Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki

oleh manusia), kecerdasan buatan (AI) memiliki beberapa keuntungan antara lain:

1.

AI lebih bersifat permanen.

Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan

karena sifat manusia yang pelupa. AI tidak akan berubah sepanjang sistem

komputer dan program tidak diubah.

2.

AI lebih mudah diduplikasi dan disebarkan.

(34)

suatu sistem komputer, pengetahuan tersebut dapat disalin atau diduplikasi

dari komputer tersebut dan dapat dipindahkan dengan mudah ke komputer

yang lain.

3.

AI lebih murah dibanding dengan kecerdasan alami.

Menyediakan layanan komputer akan lebih mudah dan lebih murah

dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan

sejumlah pekerjaan dalam jangka waktu yang sangat lama.

4.

AI bersifat konsisten.

Hal ini disebabkan karena AI adalah bagian dari teknologi komputer.

Sedangkan kecerdasan alami akan senantiasa berubah-ubah.

5.

AI dapat didokumentasi.

Keputusan yang dibuat oleh komputer dapat didokumentasi dengan mudah

dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami

sangat sulit untuk direproduksi.

6.

AI lebih cepat.

AI dapat mengerjakan pekerjaan jauh lebih cepat dibanding dengan

kecerdasan alami.

7.

AI lebih baik.

AI dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan

alami. (Kusumadewi, 2003, 3-4)

(35)

1.

Kreatif.

Kemampuan untuk menambah ataupun memenuhi pengetahuan itu sangat

melekat pada jiwa manusia. Pada kecerdasan buatan, untuk menambah

pengetahuan harus dilakukan melalui sistem yang dibangun.

2.

Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman

secara langsung. Sedangkan AI buatan harus berkerja dengan input-input

simbolik.

3.

Pemikiran manusia dapat digunakan secara luas, sedangkan AI sangat terbatas.

(Kusumadewi, 2003, 4)

2.2.5 Komputasi Kecerdasan Buatan dan Komputasi Konvensional

[image:35.612.131.534.58.416.2]

Pada awal diciptakannya, komputer hanya diperuntukkan sebagai alat

hitung (komputasi konvensional). Untuk itu, ada beberapa perbedaan antara

komputasi yang dilakukan pada kecerdasan buatan dengan komputasi

konvensional tersebut. Perbedaan komputasi kecerdasan buatan dengan komputasi

konvensional dapat dilihat pada tabel 2.2.

Tabel 2.2 Perbedaan Kecerdasan Buatan dengan

Pemograman Konvensional

(Sumber : Kusumadewi, 2003, 5)

Dimensi

Kecerdasan Buatan (AI)

Pemograman

Konvensional

Pemrosesan

Mengandung

konsep-konsep simbolik

Algoritmik

Sifat Input

Tidak harus lengkap

Harus lengkap

Pencarian

Kebanyakan bersifat

Heuristic

Biasanya

didasarkan

pada

algoritma

Keterangan

Disediakan

Biasanya tidak disediakan

(36)

Struktur

Kontrol dipisahkan dari

pengetahuan

Kontrol

terintegrasi

dengan

informasi (data)

Sifat Output

Kuantitatif

Kualitatif

Pemeliharan dan

update

Relatif mudah

Sulit

Kemampuan

menalar

Ya

Tidak

2.3

Jaringan Syaraf Tiruan

Jaringan syaraf adalah salah satu representasi buatan dari otak manusia

yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak

manusia tersebut. Istilah buatan ini digunakan karena jaringan syaraf

diimplementasikan dengan menggunakan program komputer yang mampu

menyelesaikan sejumlah proses perhitungan selama proses pembelajaran.

(Kusumadewi, 2003, 207)

2.3.1 Otak Manusia

(37)
[image:37.612.145.538.54.427.2]

Gambar 2.3 Susunan Syaraf Manusia

(Sumber : Kusumadewi, 2003, 207)

(38)

2.3.2 Komponen Jaringan Syaraf Tiruan

[image:38.612.133.532.54.422.2]

Ada beberapa tipe jaringan syaraf tiruan, namun demikian, hampir

semuanya memiliki komponen-komponen yang sama. Seperti halnya otak

manusia, jaringan syaraf tiruan juga terdiri dari beberapa neuron dan terdapat

hubungan

antar

neuron

tersebut.

Neuron-neuron

tersebut

akan

mentransformasikan informasi yang diterima melalui sambungan keluarnya

menuju ke neuron-neuron yang lain. Pada jaringan syaraf tiruan, hubungan ini

dikenal dengan bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada

bobot tersebut. Gambar 2.4 menunjukkan struktur neuron pada jaringan syaraf.

Gambar 2.4 Susunan Neuron Jaringan Syaraf Tiruan

(Sumber : Kusumadewi, 2003, 210)

(39)

diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot

outputnya ke semua neuron yang berhubungan dengannya. Demikian seterusnya.

Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam

lapisan-lapisan (layer) yang disebut dengan lapisan-lapisan neuron (neuron layers). Biasanya

neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan

sebelum dan sesudahnya, kecuali lapisan input dan lapisan output. Informasi yang

diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari

lapisan input sampai ke lapisan output melalui lapisan yang lainnya, yang sering

dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung pada

algoritma pembelajarannya, bisa jadi informasi tersebut akan dirambatkan secara

mundur pada jaringan. Gambar 2.5 menujukkan jaringan syaraf dengan 3 lapisan.

Nilai Input

Neuron-neuron pada lapisan input

Neuron-neuron pada lapisan tersembunyi

Neuron-neuron pada lapisan output

[image:39.612.137.529.295.676.2]

Nilai Output

(40)

Gambar 2.5 bukanlah struktur umum jaringan syaraf. Beberapa jaringan

syaraf ada juga yang tidak memiliki lapisan tersembunyi, dan ada juga jaringan

syaraf dimana neuron-neuronnya disusun dalam bentuk matriks.

2.3.3 Arsitektur Jaringan

Umumnya, neuron-neuron yang terletak pada lapisan yang sama akan

memiliki keadaan yang sama. Pada setiap lapisan yang sama, neuron-neuron akan

memiliki fungsi aktivasi yang sama. Apabila neuron-neuron dalam suatu lapisan

akan dihubungkan dengan neuron-neuron pada lapisan yang lain, maka setiap

neuron pada lapisan tersebut juga harus dihubungkan dengan setiap lapisan pada

lapisan lainnya. Ada beberapa arsitektur jaringan syaraf, antara lain:

1.

Jaringan dengan lapisan tunggal (single layer net)

(41)

Gambar 2.6 Jaringan Syaraf dengan Lapisan Tunggal

(Sumber : Kusumadewi, 2003, 212)

2.

Jaringan dengan banyak lapisan(multilayer net)

(42)

Gambar 2.7 Jaringan Syaraf dengan Banyak Lapisan

(Sumber : Kusumadewi, 2003, 213)

3.

Jaringan dengan lapisan kompetitif (competitive layer net)

(43)

Gambar 2.8 Jaringan Syaraf dengan Lapisan Kompetitif

(Sumber : Kusumadewi, 2003, 214)

2.4

Metode Perceptron

Perceptron terdiri suatu

input dan

output.

Perceptron merupakan bentuk

paling sederhana dari JST yang biasanya digunakan untuk pengklasifikasian jenis

pola khusus yang biasa disebut

linearly separable (pola-pola yang terletak pada

sisi yang berlawanan pada suatu bidang). Fungsi aktivasi yang digunakan

algoritma Perceptron adalah fungsi hard limiting. Output unit akan bernilai 1 bila

jumlah bobot

input lebih besar daripada

threshold. Nilai

threshold pada fungsi

aktivasi adalah non-negatif. (Desiani, 2006, 178)

Algoritma Perceptron dapat dituliskan sebagai berikut:

1.

Inisialisasi Bobot

Set semua bobot dan

threshold (Ó¨) untuk bilangan acak kecil atau sama

dengan nilai 0.

(44)

a.

Tingkatkan aktivasi suatu nilai

input dihitung oleh contoh

penyajian untuk jaringan.

b.

Untuk setiap set data / pola yang akan dilatih, tingkat aktivasi

output (Yk, k=1,2,3,...m, dimana

m = banyaknya lapisan

output)

suatu unit output dihitung dengan:

Yk = Fh (





n i

ki i

W

X

1

+

Ó¨

)

dengan

W

ki

adalah bobot,

X

i

(i=1,2,3,...n, dimana n = banyaknya

lapisan input) adalah bit input dari pola yang akan dilatih,

Ó¨ adalah

threshold, dan Fh adalah fungsi hard limit, sebagai berikut:

1, jika a >

Ó¨

0, jika a <

Ó¨

3.

Pelatihan Bobot

a.

Mengatur bobot dengan:

W

ki

(t + 1) = W

ki

(t) –

Δ

W

ki

dengan

W

ki

adalah bobot dari input unit i ke

k pada waktu

t (atau

iterasi ke t

) dan Δ

W

ki

adalah bobot yang diatur.

b.

Perubahan bobot dihitung dengan aturan delta:

Δ

W

ki

=

ŋδkX

i

dengan ŋ adalah tingkat pembelajaran percobaan independen (0 < ŋ

< 1) dan δk adalah error pada unit k, yaitu:

δj

=T

k

- Y

k

dengan

T

k

merupakan aktivasi

output yang diinginkan dan

Y

k
(45)

4.

Ulangi iterasi hingga mencapai konvergensi atau tidak ada bobot yang

berubah pada langkah 3. (Desiani, 2006, 178-179)

Arsitektur jaringan Perceptron dapat dilihat pada gambar 2.9 berikut.

Gambar 2.9 Arsitektur Jaringan Perceptron

(Sumber : Puspitaningrum, 2006, 30)

Algoritma

Perceptron ini bisa digunakan baik untuk input biner (0 / 1)

maupun bipolar (-1 / 1), dengan Ó¨ tertentu. Pada algoritma tersebut, bobot-bobot

yang diperbaiki hanyalah bobot-bobot yang berhubungan dengan input yang aktif

(X

i

≠ 0) dan bobot

-bobot yang tidak menghasilkan nilai

Y yang benar.

(Kusumadewi, 2003, 225)

2.5

Metode Backpropagation

(46)

bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan

tersembunyinya. Metode

backpropagation menggunakan error output untuk

mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk

mendapatkan error ini, tahap perambatan maju (forward propagation) harus

dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan

dengan menggunakan fungsi aktivasi sigmoid, yaitu:

f(x) =

1

1 + e

-x

Arsitektur jaringan

backpropagation dapat dilihat pada gambar 2.10

berikut.

Gambar 2.10 Arsitektur Jaringan

Backpropagation

(Sumber : Kusumadewi, 2003, 236)

(47)

1.

Algoritma Pelatihan / Pembelajaran (Training), terdiri atas 3 tahap yaitu:

perambatan maju (forward propagation), perambatan mundur untuk

mengubah nilai bobot (backpropagation) dan tahap pengaturan bobot.

2.

Algoritma Pengenalan (Recognition), menggunakan perambatan maju.

(Puspitaningrum, 2006, 128)

Algoritma pelatihan backpropagation adalah sebagai berikut:

0.

Inisialisasi bobot (ambil bobot awal dengan nilai random yang kecil).

Tentukan pula nilai angka pembelajaran (α), nilai toleransi error (bila

menggunakan nilai ambang sebagai kondisi berhenti) dan set maksimum

epoch (bila menggunakan banyaknya epoch sebagai kondisi berhenti).

1.

While kondisi berhenti tidak terpenuhi, maka untuk setiap pasangan elemen

yang akan dilatih, lakukan langkah ke-2 sampai ke-8.

Tahap Feedforward

2.

Setiap input x

i

(dari unit ke-1 sampai unit ke-n pada lapisan input)

mengirimkan sinyal input ke semua unit yang ada di lapisan atasnya (ke

lapisan tersembunyi): xi.

3.

Pada setiap unit di lapisan tersembunyi (zj; i = 1,2,...p) menjumlahkan

sinyal-sinyal input terbobot:

z_inj = v0j +





n i

ij i

v

x

1

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

z

j

= f(z_in

j

)

(48)

4.

Tiap–tiap unit output (Yk, k=1,2,3,...m) menjumlahkan sinyal-sinyal input

terbobot.

y_ink = w0k +





p j

jk j

w

z

1

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

yk = f(y_ink)

dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit

output).

Tahap Backpropagation

5.

Tiap–tiap unit output (Y

k

, k=1,2,3,...m) menerima target pola yang

berhubungan dengan pola input pembelajaran, hitung informasi errornya:

δk = (tk – yk) f’(y_ink)

kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk

memperbaiki nilai wjk):

Δwjk

= α δk zj

hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki

nilai w0k):

Δw0k = α δk

kirimkan δk ini ke unit-unit yang ada di lapisan bawahnya.

6.

Tiap-tiap unit tersembunyi (zj; j = 1,2,...p) menjumlahkan delta inputnya

(dari unit-unit yang berada di lapisan atasnya):

δ_inj =





m k

jk k

w

1
(49)

kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung

informasi error:

δj

= δ_inj

f’(z_in

j

)

kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk

memperbaiki nilai vij):

Δvij

= α δj xi

hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki

nilai v0j):

Δv0j

= α δj

Tahap Update Bobot dan Bias

7.

Tiap–tiap unit output (Yk, k=1,2,3,...m) memperbaiki bias dan bobotnya

(j=0,1,2,...,p):

wjk (baru) = wjk (lama) + Δwjk

Tiap-tiap unit tersembunyi (z

j

; j = 1,2,...p) memperbaiki bias dan bobotnya

(i=0,1,2,...,n):

vij (baru) = vij

(lama) + Δvij

8.

Tes kondisi berhenti, bila mencapai maksimum epoch atau kuadrat error <

target error. (Puspitaningrum, 2006, 129-130)

(50)

2.6

Pre-Processing

2.6.1 Proses Pengambangan

Proses pengambangan (thresholding) akan menghasilkan citra biner, yaitu

citra yang memiliki dua nilai tingkat keabuan, yaitu hitam dan putih. Secara

umum, proses pengambangan citra

grayscale untuk menghasilkan citra biner

adalah sebagai berikut:

1, if f(x, y) > T

0, if f(x,y) < T

dengan g(x,y) adalah citra biner dari citra

grayscale f(x, y), dan T menyatakan

nilai ambang (threshold) yang bernilai di antara 1-255. Nilai T memegang peran

sangat penting dalam proses pengambangan. Kualitas hasil citra biner sangat

tergantung pada nilai T yang digunakan. (Putra, 2009, 110)

2.6.2 Ekstraksi Ciri

Proses ekstraksi ciri berfungsi untuk mengubah suatu pola menjadi

bit-bit digital sehingga dapat dimengerti oleh komputer. Misalkan dilakukan

proses ekstraksi ciri terhadap citra karakter sebagai berikut,

(51)

Citra pola karakter dibagi menjadi matriks berukuran m x n (m baris dan n

kolom). Pada contoh ini, matriks yang digunakan adalah 10 x 10. Pada setiap

kotak (elemen), dilakukan penelusuran. Jika ditemukan nilai 0 (piksel hitam)

dalam jumlah tertentu, maka diberikan nilai 0 (warna hitam) pada kotak tersebut.

Namun, jika tidak demikian, maka diberikan nilai 1 (warna putih) untuk kotak

tersebut. Dari sini, diperoleh hasil ekstraksi ciri berupa nilai barisan bit 0 dan 1

sebanyak 100 bit. (Kusumadewi, 2003, 269)

Gambar 2.12 Proses Ekstraksi Ciri

2.7

Studi Literatur Sejenis

(52)
[image:52.612.149.536.140.530.2]

Tabel 2.3 Tingkat Keberhasilan Pengenalan Data Internal

(Sumber: http://eprints.undip.ac.id/172/1/100_106_ahmad_rizal.pdf)

(53)

Tabel 2.4 Tingkat Keberhasilan Pengenalan Data Eksternal

(Sumber: http://eprints.undip.ac.id/172/1/100_106_ahmad_rizal.pdf)

Berdasarkan jurnal "Pengenalan Huruf Berbasis Jaringan Syaraf Tiruan

Menggunakan Algoritma Perceptron" yang ditulis oleh Wahyono dkk.

(Universitas

Gadjah

Mada),

Perceptron

digunakan

untuk

melakukan

pengklasifikasian pola huruf.

Hasil kesimpulan yang didapat dari penelitian adalah:

(54)

2.8

Microsoft Visual Basic

Microsoft Visual Basic adalah bahasa pemograman yang digunakan untuk

membuat aplikasi Windows yang berbasis grafis (GUI –

Graphical User

Interface).

Visual Basic merupakan

event-driven programming (pemograman

terkendali kejadian) artinya program menunggu sampai adanya respon dari

pemakai berupa

event atau kejadian tertentu (tombol diklik, menu dipilih, dan

event lainnya). Ketika

event terdeteksi, kode yang berhubungan dengan

event

(prosedur event) akan dijalankan. (Kusumo, 2000, 1)

2.8.1 Sejarah Singkat

Berikut ini adalah point-point penting dalam sejarah perkembangan Visual

Basic, sebagai berikut:

1.

Visual Basic pertama sekali diperkenalkan pada tahun 1991, yaitu program

Visual Basic untuk DOS dan untuk Windows.

2.

Visual Basic 3.0 dirilis tahun 1993.

3.

Visual Basic 4.0 dirilis pada akhir 1995 (tambahan dukungan untuk aplikasi

32 bit).

4.

Visual Basic 6.0 dirilis pada akhir tahun 1998.

(Kusumo, 2000, 1)

2.8.2 Struktur Aplikasi

(55)

1.

Form adalah windows atau jendela, di mana programmer akan membuat

tampilan user interface.

2.

Kontrol (control) adalah tampilan berbasis grafis yang dimasukkan pada form

untuk membuat interaksi dengan pemakai. Contoh kontrol adalah textbox,

label, scroll bar, command button (tombol) dan kontrol lainnya.

Form dan

kontrol adalah objek.

3.

Properti (properties) adalah nilai atau karakteristik yang dimiliki oleh sebuah

objek Visual Basic. Contoh:

Name, Captions, Size, Color, Position dan

Text.

Visual Basic menerapkan properti

default atau

standard.

Programmer dapat

mengubah properti saat mendesain program atau

run time (ketika program

dijalankan).

4.

Metode (methods) adalah serangkaian perintah yang sudah tersedia pada suatu

objek yang dapat diminta untuk mengerjakan tugas khusus.

5.

Prosedur Kejadian (event procedures) adalah kode yang berhubungan dengan

suatu objek. Kode ini akan dieksekusi ketika ada respon dari pemakai berupa

event tertentu.

6.

Prosedur Umum (general procedures) adalah kode yang tidak berhubungan

dengan suatu objek. Kode ini harus diminta oleh aplikasi.

7.

Modul (module) adalah kumpulan dari prosedur umum, fungsi umum,

deklarasi variabel dan definisi konstanta yang digunakan oleh aplikasi.

Langkah-langkah untuk mengembangkan aplikasi adalah:

1.

Membuat user interface atau tampilan.

(56)

3.

Menulis kode program.

(Kusumo, 2000, 2)

Gambar 2.13 Struktur Aplikasi Visual Basic

(Sumber : Kusumo, 2000, 2)

2.8.3 Tampilan Layar

Tampilan layar Microsof Visual Basic terdiri dari:

1.

Main Windows (jendela utama) terdiri dari title bar (baris judul), menu bar

dan toolbar. Baris judul berisi nama proyek, mode operasi Visual Basic

sekarang dan form yang aktif. Menu bar merupakan menu drop-down dimana

programmer dapat mengatur operasi dari lingkungan Visual Basic. Toolbar

berisi kumpulan gambar yang mewakili perintah yang ada di menu. Jendela

utama juga menampilkan lokasi dari form yang aktif relatif terhadap sudur kiri

atas layar (satuan ukurannya

twips), juga panjang dan lebar dari

form yang

aktif.

(57)

(Sumber : Ario Suryo Kusumo, 2000, 3)

2.

Form Windows (jendela

form) adalah pusat dari pengembangan aplikasi

Visual Basic. Di sinilah, tempat programmer mendesain atau “menggambar”

aplikasi.

Gambar 2.15 Form Visual Basic

(Sumber : Kusumo, 2000, 4)

3.

Project Windows (jendela proyek) menampilkan daftar

form dan modul dari

proyek. Proyek merupakan kumpulan dari modul

form, modul

class, modul

standar dan file sumber yang membentuk suatu aplikasi.

(58)

4.

Toolbox adalah kumpulan dari objek yang digunakan untuk membuat

user

interface serta kontrol bagi program aplikasi. Ada dua cara untuk

menempatkan kontrol pada suatu form, yaitu:

a.

Klik ganda kontrol di dalam toolbox. Selanjutnya, kita dapat mengubah

besar dan ukurannya serta memindahkannya dengan metode

drag and

drop.

b.

Klik kontrol di dalam toolbox, kemudian pindahkan

pointer mouse pada

jendela

form. Kursor berubah menjadi tanda tambah (cross). Tempatkan

mouse pointer pada sudut kiri atas dimana kontrol ingin diletakkan, tekan

tombol

mouse kiri dan tahan ketika menyeret (drag) kursor ke arah sudut

kanan bawah.

Pointer

Label

Frame

Check Box

Combo Box

Horizontal Scroll Bar

Timer

Directory List Box

Shape

Image

OLE

Picture Box

Text Box

Command Button

Option Button

List Box

Vertical Scroll Bar

Drive List Box

File List Box

Line

Data

(59)

5.

Properties Windows (jendela properti) berisi daftar struktur setting properti

yang digunakan pada sebuah objek terpilih. Kotak drop-down pada bagian atas

jendela berisi daftar semua objek pada form yang aktif. Ada dua tab tampilan:

Alphabetic (urut berdasarkan abjad) dan

Categorized (urut berdasarkan

kategori / kelompok). Di bagian bawah kotak terdapat properti dari objek

terpilih.

Gambar 2.18 Jendela Properti

(Sumber : Kusumo, 2000, 6)

(60)

Gambar 2.19 Jendela Layout Form

(Sumber : Kusumo, 2000, 6)

2.9

Microsoft Access

Microsoft Access (atau Microsoft Office Access) adalah sebuah program

aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan

dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari

beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft

Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data

Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang

intuitif sehingga memudahkan pengguna. Versi terakhir adalah Microsoft Office

Access 2007 yang termasuk ke dalam Microsoft Office System 2007.

(61)

48

3.1

Metodologi Pengumpulan Data

Dalam melakukan pengumpulan data, penulis menggunakan dua

macam teknik untuk mendapatkan bahan - bahan sebagai dasar penelitian,

yaitu studi pustaka, sampling :

1.

Studi Pustaka

Pengumpulan data dilakukan dengan cara mengambil sumber referensi

dari buku teks ataupun

internet mengenai cara kerja metode

Perceptron

dan Backpropagation.

2.

Sampling

Penulis mengumpulkan beberapa contoh gambar tanda tangan dari

internet ataupun secara manual, untuk kebutuhan pengujian terhadap

aplikasi.

3.2.

Metodologi Pengembangan Perangkat Lunak

(62)

Gambar 3.1 Model Sekuensial Linier

(Sumber : Pressman, 2002)

Sekuensial linier mengusulkan sebuah pendekatan kepada perkembangan

perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan

kemajuan sistem pada seluruh analisis, desain, kode dan pengujian. Model

sekuensial linier melingkupi aktivitas-aktivitas sebagai berikut:

1.

Rekayasa dan pemodelan sistem / informasi, yaitu:

a.

Analisis kebutuhan perangkat lunak

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya

pada aplikasi. Untuk memahami sifat aplikasi yang dibangun, perekayasa

(analis) harus memahami domain informasi, tingkah laku, unjuk kerja dan

antarmuka yang diperlukan.

b.

Desain

(63)

2.

Generasi Kode

Desain harus diterjemahkan ke dalam bentuk kode mesin yang dapat dibaca.

Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat

diselesaikan dengan baik.

3.

Pengujian

Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus

pada logika internal perangkat lunak, memastikan bahwa semua pernyataan

sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian

untuk menemukan kesalahan dan memastikan bahwa input yang dibatasi akan

memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.

Model sekuensial linier adalah paradigma rekayasa perangkat lunak yang

paling luas dipakai dan paling tua. (Pressman, 2002)

Tahapan analisis akan mencakup analisis kebutuhan sistem serta analisis

proses kerja aplikasi yang digambarkan secara umum dengan menggunakan

flowchart.

3.3

Analisis Kebutuhan Sistem

(64)

1.

Aplikasi harus menyediakan fitur penggambaran tanda tangan oleh user. Cara

melakukan penggambaran adalah dengan click-and-drag dengan mouse.

2.

Aplikasi dapat menerima

input berupa gambar

scan tanda tangan dalam

format bmp, jpg atau gif dan melakukan proses pengambangan (thresholding)

untuk mengubah gambar menjadi gambar biner.

3.

Aplikasi harus mampu menambah pengetahuan pola tanda tangan dan

identitas pemiliknya di dalam

database melalui proses pelatihan dengan

menggunakan metode Perceptron dan Backpropagation.

4.

Aplikasi harus mampu melakukan proses pengenalan terhadap pola tanda

tangan dengan menggunakan metode Perceptron dan Backpropagation.

5.

Output dari aplikasi adalah nama identitas pemilik tanda tangan.

3.4

Analisis Proses Kerja

Proses kerja aplikasi mencakup: penerimaan

input gambar

scan tanda

tangan, proses pengambangan (thresholding), proses ekstraksi ciri dan proses

pelatihan serta proses pengenalan. Proses pengenalan hanya akan dapat mengenali

semua pola tanda tangan yang sudah dilatih sebelumnya.

(65)
(66)

3.5

Kerangka Berpikir

Dalam melakukan penelitian ini, penulis melakukan tahapan - tahapan

kegiatan dengan mengikuti rencana kegiatan yang tertuang dalam model

konseptual penelitian ini.

Gambar 3.3 Kerangka Berpikir

Metode Pengembangan Sistem

Merumuskan masalah dan analisis

Studi Pustaka dan Sampling

Analisis

Desain

Kode

Tes

Analisis Kebutuhan Sistem

Analisis Proses Kerja Perancangan Aplikasi

Perancangan Basis Data

Perancangan Tampilan

Implementasi kode

Pengujian Sampling

(67)

1

54

4.1

Pembahasan

Pembahasan akan mencakup pembahasan cara kerja semua proses yang

dilakukan di dalam aplikasi dan pembahasan perancangan. Pembahasan

perancangan meliputi perancangan tampilan dan perancangan database.

4.1.1 Pembahasan Cara Kerja Proses

4.1.1.1 Proses Pengambangan

Sebagai contoh, input gambar tanda tangan adalah gambar 4.1:

Gambar 4.1 Contoh

Input

Gambar Tanda Tangan

Pada proses pengambangan, gambar harus dilakukan proses

grayscale

terlebih dahulu. Proses

grayscale dilakukan untuk mengubah gambar RGB 24 bit

menjadi gambar grayscale 8 bit. Proses grayscale akan mengikuti rumus berikut:

GRAY = (R + G + B) / 3

(68)
[image:68.612.137.538.55.437.2]

Gambar 4.2 Nilai Piksel pada Input Gambar

Pada gambar 4.2 di atas, piksel-1 mempunyai nilai R = 185, G = 137, B =

55, maka perhitungan grayscale adalah:

Gray = (185 + 137 + 55) / 3

Gray = 125.6 (dibulatkan ke 126)

Hasil pemrosesan

grayscale dari gambar 4.2 akan mendapatkan hasil

seperti pada gambar 4.3.

[image:68.612.230.410.498.676.2]
(69)
[image:69.612.135.534.131.420.2]

Setelah dilakukan proses

grayscale, kemudian dilakukan proses

pengambangan untuk membedakan tulisan dan latar. Jika

threshold ditentukan

140, maka piksel-1 diberi warna hitam karena memiliki nilai

grayscale lebih kecil

dari 140. Hasil proses pengambangan adalah seperti pada gambar 4.4 :

Gambar 4.4 Hasil Perhitungan Proses Pengambangan

Gambar hasil proses pengambangan terhadap gambar 4.1 dapat dilihat

pada gambar 4.5 berikut:

(70)

4.1.1.2 Proses Pelatihan Pola Tanda Tangan

[image:70.612.140.524.283.581.2]

Proses pelatihan akan mengekstraksi ciri dari pola tanda tangan,

menyimpannya ke database dan menghitung bobot pelatihan. Bobot pelatihan ini

akan digunakan dalam fase pengenalan.

Backpropagation dan

Perceptron dapat

mempelajari beberapa sampel pola sekaligus untuk 1 identitas. Semakin banyak

sampel yang dilatih, maka semakin akurat pula proses pengenalan dari pola tanda

tangan tersebut. Proses pelatihan dapat digambarkan dalam bentuk

flowchart

sebagai berikut.

Gambar 4.6

Flowchart

Proses Pelatihan Tanda Tangan (

Training

)

(71)

Sampel Tanda Tangan

Hasil proses pengambangan

di-Crop dan dibuang sisi yang kosong

20 kotak

20 kotak

Ekstraksi Ciri 20 x 20

0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hasil Ekstraksi Ciri 20 x 20

Thresholding

[image:71.612.135.538.48.595.2]

Gambar 4.7 Proses Ekstraksi Ciri

(72)

4.1.1.3 Proses Pengenalan Pola Tanda Tangan

[image:72.612.138.530.218.555.2]

Proses pengenalan pola tanda tangan juga akan melakukan proses

ekstraksi ciri terhadap gambar tanda tangan. Hasil ekstraksi ciri kemudian

dimasukkan sebagai

bit input pada fase pengenalan. Dengan menggunakan nilai

bobot hasil pelatihan yang telah tersimpan di dalam

database dan perhitungan

metode JST, identitas pemilik tanda tangan dapat diketahui. Proses pengenalan ini

dapat digambarkan dalam bentuk flowchart seperti terlihat pada gambar 4.8.

Gambar 4.8

Flowchart

Proses Pengenalan Tanda Tangan

4.1.1.4 Proses Backpropagation

(73)
[image:73.612.133.538.173.426.2]

Fase pelatihan adalah proses dimana setiap ciri atau pola karakter dilatih

dan hasil perhitungan bobot disimpan ke

database untuk digunakan pada fase

pengenalan. Arsitektur jaringan Backpropagation dapat dilihat pada gambar 4.9.

Gambar 4.9 Arsitektur Jaringan

Backpropagation

Secara ringkas, fase pelatihan Backpropagation adalah sebagai berikut:

0.

Inisialisasi nilai awal berikut:

a.

Isi nilai bobot (v dan w) dengan nilai acak yang kecil.

b.

Tentukan learning rate (α)

c.

Set maksimum epoch atau toleransi error. Perulangan akan berhenti

bila epoch mencapai maksimum epoch atau kuadrat error berada

dibawah toleransi error.

Tahap Feedforward

(74)

z_inj = v0j +





n i

ij i

v

x

1

zj = f(z_inj)

2.

Gambar

Tabel 2.2  Perbedaan Kecerdasan Buatan dengan
Gambar 2.3  Susunan Syaraf Manusia
Gambar 2.4  Susunan Neuron Jaringan Syaraf Tiruan
Gambar 2.5  Jaringan Syaraf dengan 3 Lapisan
+7

Referensi

Dokumen terkait

Data akan ditransmisikan kedalam jaringan server untuk disimpan didalam database dan dapat diakses melalui website sesuai dengan IP address dari sensor tersebut..

Kategori data penelitian terdiri atas variabel dependen (kejadian anemia pada ibu hamil) dan variabel independen (usia, tingkat pendidikan, status gizi kurang energi

Untuk model AHP matrik perbandingan berpasangan dapat diterima jika nilai rasio inkonsistensi  0,1 jika tidak, berarti penilaian yang telah dibuat

While actual interactions with programs is becoming possible in real time when the user is connected over the Internet – television becoming almost indistinguishable from games,

Sebagai tindak lanjut perjanjian tersebut, kemudian dibentuk tiga lembaga moneter internasional, yaitu Internasional Monetery Fund (IMF), 25 Internasional Bank for

Dengan mengolah data pendidikan (data pokok) yang terdiri dari data pokok Sekolah Menengah Atas (SMA) dan data pokok Sekolah Menengah Kejuruan (SMK) dapat dibuat

Pada skripsi ini peneliti membahas lima judul puisi yaitu ‘Nyanyian Akar Rumput’, ‘Kuburan Purwoloyo’, ‘Ayolah Warsini’, ‘Bunga dan Tembok’, serta

Aplikasi inventaris laboratorium teknik elektro UMS dengan menggunakan Macromedia Dreamweaver dengan ASP sebagai bahasa script dan Microsoft Access sebagai penyimpan