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
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
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
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
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
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
i
ABSTRAK
iv
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN.
Jakarta, Mei 2011
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.
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
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.
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).
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
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,
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).
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
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
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
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.
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)
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
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.
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
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.
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.
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)
(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
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.
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)
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.
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.
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)
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
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
Gambar 2.3 Susunan Syaraf Manusia
(Sumber : Kusumadewi, 2003, 207)
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)
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
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)
Gambar 2.6 Jaringan Syaraf dengan Lapisan Tunggal
(Sumber : Kusumadewi, 2003, 212)
2.
Jaringan dengan banyak lapisan(multilayer net)
Gambar 2.7 Jaringan Syaraf dengan Banyak Lapisan
(Sumber : Kusumadewi, 2003, 213)
3.
Jaringan dengan lapisan kompetitif (competitive layer net)
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.
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
kiadalah 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
kidengan
W
kiadalah bobot dari input unit i ke
k pada waktu
t (atau
iterasi ke t
) dan Î
W
kiadalah bobot yang diatur.
b.
Perubahan bobot dihitung dengan aturan delta:
Î
W
ki=
ÅδkX
idengan Å adalah tingkat pembelajaran percobaan independen (0 < Å
< 1) dan δk adalah error pada unit k, yaitu:
δj
=T
k- Y
kdengan
T
kmerupakan aktivasi
output yang diinginkan dan
Y
k4.
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
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
-xArsitektur jaringan
backpropagation dapat dilihat pada gambar 2.10
berikut.
Gambar 2.10 Arsitektur Jaringan
Backpropagation
(Sumber : Kusumadewi, 2003, 236)
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)
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
1kalikan 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)
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,
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
Tabel 2.3 Tingkat Keberhasilan Pengenalan Data Internal
(Sumber: http://eprints.undip.ac.id/172/1/100_106_ahmad_rizal.pdf)
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:
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
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.
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.
(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.
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
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)
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.
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
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
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
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.
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 SistemMerumuskan 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
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
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]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:
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
)
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
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
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
z_inj = v0j +
ï¥
ï½
n i
ij i
v
x
1
zj = f(z_inj)
2.