PERANCANGAN PERANGKAT LUNAK PENGENALAN POLA
HURUF MENGGUNAKAN ALGORITMA PERCEPTRON
TUGAS AKHIR
DHEA AGIE WILYA
112406078
PROGRAM STUDI D-3 TEKNIK INFORMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PERANCANGAN PERANGKAT LUNAK PENGENALAN POLA
HURUF MENGGUNAKAN ALGORITMA PERCEPTRON
TUGAS AKHIR
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh gelar Ahli Madya
DHEA AGIE WILYA
112406078
PROGRAM STUDI D-3 TEKNIK INFORMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PERANCANGAN PERANGKAT LUNAK PENGENALAN POLA HURUF
MENGGUNAKAN ALGORITMA PERCEPTRON
Kategori : TUGAS AKHIR Nama : DHEA AGIE WILYA Nomor Induk Mahasiswa : 112406078
Program Studi : DIPLOMA (D3) TEKNIK INFORMATIKA Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Disetujui di
Medan, Juli 2014
Diketahui oleh:
Program Studi D3 Teknik Informatika Pembimbing FMIPA USU
Ketua,
Dr. Elly Rosmaini, M.Si Drs. Faigiziduhu Bu’ulolo, M.Si
PERNYATAAN
PERANCANGAN PERANGKAT LUNAK PENGENALAN POLA HURUF MENGGUNAKAN ALGORITMA PERCEPTRON
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasanyang masing-masing disebutkan sumbernya.
Medan, Juli 2014
PENGHARGAAN
Puji dan syukur penulis ucapkan atas kehadirat Allah SWT yang telah memberikan Rahmat serta Hidayah kepada kita semua, sehingga berkat Karunia-Nya penulis dapat
menyelesaikan Tugas Akhir dengan baik yang berjudul “Perancangan Perangkat Lunak Pengenalan Pola Huruf Menggunakan Algoritma Perceptron“ pada waktu yang
telah ditetapkan.
Terimakasih penulis sampaikan kepada bapak Drs. Faigiziduhu Bu’ulolo, M.Si
Halaman
1.6 Metodologi Penyusunan Tugas Akhir 3 1.7 Sistematika Penulisan Tugas Akhir 3
BAB 2 TINJAUAN PUSTAKA 5
2.1 Perangkat Lunak 5
2.2 Kecerdasan Buatan 6
2.2.1 Perbedaan Kecerdasan Buatan dan Kecerdasan Alami 8 2.3 Jaringan Saraf Tiruan 8
2.3.1 Arsitektur Jaringan Saraf Tiruan 11
2.4 Proses Pembelajar 13
2.5 Perceptron 13
2.6 Mengenal MATLAB 14
BAB 3 ANALISIS DAN PERANCANGAN 18 3.1 Analisis Jaringan Saraf Tiruan 18 3.2 Analisa Pengenalan Pola 19 3.3 Algoritma Perceptron 20
3.4 Perancangan 24
3.4.1 Flowchat 25
3.4.2 Flowchat Pengenalan Pola 28 3.5 Perancangan Perangkat Lunak 29
BAB 4 IMPLEMENTASI SISTEM 30
BAB 5 PENUTUP 38
5.1 Kesimpulan 38
5.2 Saran 38
DAFTAR GAMBAR
Halaman
DAFTAR TABEL
Halaman
BAB 1
PENDAHULUAN
1.1Latar Belakang
Banyak masalah menarik dari pengenalan pola yang dikembangan dengan jaringan
saraf antara lain pengenalan wajah, pengenalan penyakit tumor, identifikasi jenis
mobil, pengenalan tanda tangan, pengenalan pola karakter (angka atau huruf).
Pengenalan karakter berguna antara lain untuk pengenalan tulisan tangan kode pos
(handwritten zip-codes). Banyaknya variasi posisi dan gaya dari setiap penulis
merupakan masalah yang sulit.
Jaringan saraf buatan adalah salah satu metode komputasi yang meniru cara
kerja sistim saraf otak manusia. Keunggulan metode ini dibandingkan metode lain
adalah kemampuannya belajar dan memecahkan hubungan yang rumit, yang sulit
dideskripsikan antara data masukkan dan data keluaran. Hal ini dimungkinkan karena
pengetahuan yang ada pada jaringan saraf buatan tidak diprogram, tetapi dilatihan
berdasarkan informasi yang diterima.
Berbagai algoritma pelatihan jaringan saraf buatan untuk pengenalan pola telah
dikembangkan, salah satunya adalah perceptron. Perceptron merupakan salah satu
metode pembelajaran terawasi (supervise learning method) dalam jaringan saraf
buatan. Umumnya, perceptron digunakan untuk mengklarifikasikan suatu pola
Pada dasarnya, perceptron yang memiliki satu lapisan akan memiliki bobot
yang bisa diatur plus sebuah nilai ambang (theshold). Algoritma yang digunakan oleh
aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui proses
pembelajaran. Perceptron dikenalkan dan dikembangkan oleh Frank Rosenblatt (1958,
1959, 1962) menunjukkan bahwa perceptron dapat mempelajari apa saja yang dapat
dipresentasikannya.
Melihat masalah yang ada penulis ingin merancang suatu perangkat lunak
dengan menggunakan algoritma percepton untuk pengenalan pola huruf, kemudian di
implementasikan ke dalam sebuah program.
1.2Rumusan Masalah
Berdasarkan latar belakang, maka yang menjadi permasalahannya yaitu,
mengimplementasikan suatu algoritma perceptron ke dalam bahasa pemrogramnan
untuk pengenalan pola huruf.
1.3Batasan Masalah
Permasalahan dibatasi dengan karakter huruf dari A, B, C,... Z. Pola disimpan dalam
bentuk gambar.jpg 50x50 pixel, Menggunakan font penulisan Times New Roman.
1.4Tujuan Penelitian
Tujuan penelitian yaitu, merancang perangkat lunak untuk pengenalan karakter huruf,
1.5Manfaat Penelitian
Manfaat penelitian penulis adalah:
1. Dapat lebih memahami cara kerja tentang pengenalan pola huruf dengan
menggunakan algoritma perceptron.
2. Dapat digunakan sebagai referensi untuk penelitian lanjutan tentang pengenalan
pola huruf dengan menggunakan algoritma perceptron.
1.6Metodologi Penyusunan Tugas Akhir
Yang digunakan dalam penyusunan tugas akhir ini adalah:
1. Tinjauan pustaka, mempelajari buku, artikel, dan situs yang terkait dengan bentuk
dan proses perancangan perangkat lunak.
2. Implementasi, pembuatan perangkat lunak yang sedang dikerjakan.
3. Penulisan tugas akhir, dimulai dari pembuatan proposal sampai dengan pembuatan
kesimpulan dari implementasi perangkat lunak yang telah dilakukan.
1.7Sistematika Penulisan
Penulisan tugas akhir ini terdiri dari 5 bab yaitu sebagai berikut:
BAB 1 Pendahuluan
Bab Pendahuluan berisikan latar belakang pemilihan judul, rumusan
masalah, batasan masalah, tujuan penyusunan tugas akhir, manfaat
penyusunan tugas akhir, metodologi penelitian, dan sistematika
BAB 2 Tinjauan Pustaka
Pada bab Tinjauan Pustaka berisikan beberapa teori berasal dari
referensi yang mendasari dan berhubungan dengan perancangan
perangkat lunak pengenalan pola huruf dengan menggunakan algoritma
perceptron.
BAB 3 Analisis dan Perancangan
Pada bab Analisis dan Perancangan diuraikan deskripsi dan desain
perangkat lunak yang sedang dikembangkan. Desain perangkat lunak
meliputi Flowchart.
BAB 4 Implementasi Sistem
Pada bab Implementasi Sistim terhadap software yang telah diterapkan
dalam proses pembuatan perangkat lunak, juga berisi bagaimana
mengimplementasikan aplikasi perangkat lunak yang sudah dibangun
dengan menguraikan persiapan teknis sebelum menguji aplikasi serta
menampilkan hasil akhir dari aplikasi perangkat lunak.
BAB 5 Kesimpulan dan Saran
BAB 2
TINJAUAN PUSTAKA
2.1Perangkat Lunak
Perangkat lunak pada dasarnya berperan ganda. Perangkat lunak merupakan suatu
produk dan merupakan wahana untuk mengantarkan suatu produk. Sebagai suatu
produk, perangkat lunak menghantarkan suatu potensi yang dibentuk oleh perangkat
keras komputer atau lebih luas lagi menghantarkan potensi yang dibentuk komputer
yang dapat diakses oleh perangkat keras yang bersifat lokal. Perangkat lunak
merupakan pelaksana transformasi membuat, mengatur, memperoleh, mengubah,
menampilkan, dan mengirimkan informasi yang sekecil ukuran 1 bit atau sebesar dan
sekompleks ukuran materi presentasi multimedia yang berasal dari lusinan sumber
data. Suatu deskripsi tentang perangkat lunak menjabarkan beberapa definisi seperti:
1. Intruksi-intruksi (program komputer) yang ketika dijalankan menyediakan
fitur, fungsi, dan kinerja yang dikehendaki.
2. Struktur data yag memungkinkan program-program memanipulasi informasi.
3. Informasi deskriptif pada salinan tercetak dan berbentuk maya yang
menggambarkan pengoperasian dan penggunaan program-program (Roger S.
Pressman, 2012).
Perangkat lunak memiliki karakteristik yang berbeda dari karakteristik yang dimiliki
perangkat keras:
1. Perangkat lunak atau dikembangkan atau direkayasa, bukan diproduksi
2. perangkat lunak tidak mengalami kelelahan.
3. Perangkat lunak masi buat berdasarkan spesifikasi yang yang diminta para
user.
Perangkat lunak kercerdasan buatan yaitu menggunakan algoritma
non-numerik untuk memecahkan permasalahan-permasalahan rumit yang tidak bisa
diselesaikan dengan komputasi atau analisis permasalahan secara langsung.
Aplikasi-aplikasi yang berada dalam kategori ini menyertakan di dalam robotika, sistim pakar,
pengenalan pola (gambar dan suara), jaringan saraf tiruan, pembuktian
teorema-teorema, dan permainan (game) komputer (Roger S. Pressman, 2012).
2.2Kecedasan Buatan
Alan Turing, seorang pionir AI dan ahli matematika Inggris melakukan percobaan
pada tahun 1950 yang dinamakan Turing Test. Turing (Turing Test) yaitu sebuah
komputer melalui terminalnya ditempatkan pada jarak jauh. Di ujung yang satu ada
terminal dengan software AI dan diujung lain ada sebuah terminal dengan seorang
operator. Operator tidak mengetahui kalau di ujung terminal lain dipasang software
AI. Mereka berkomunikasi dimana terminal di ujung memberikan respon terhadap
serangkaian pertanyaan yang diajukan oleh operator. Turing beranggapan bahwa jika
mesin dapat membuat seseorang percaya, bahwa mampu berkomunikasi dengan orang
lain, maka dapat dikatakan bahwa mesin tersebut cerdas (Muhammad Dahria, 2008).
Kecerdasan Buatan (Artificial Intelligence) merupakan salah satu bagian dari
melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan bisa
lebih baik dari pada yang dilakukan manusia. Manusia cerdas (pandai) dalam
menyelesaikan permasalahan karena manusia mempunyai pengetahuan dan
pengalaman. Pengetahuan diperoleh dari belajar, semakin banyak bekal pengetahuan
yang dimiliki tentu akan lebih mampu menyelesaikan permasalahan. Tapi bekal
pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran,
mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang dimiliki.
Tanpa memiliki kemampuan untuk menalar dengan baik, manusia dengan segudang
pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik.
Demikian juga dengan kemampuan penalaran yang sangat baik, namun tanpa bekal
pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa
menyelesaikan masalah dengan baik.
Demikian juga agar mesin bisa cerdas (bertindak seperti dan sebaik manusia)
maka harus diberi bekal pengetahuan, sehingga mempunyai kemampuan untuk
menalar. Untuk membuat aplikasi kecerdasan buatan ada 2 bagian utama yang sangat
dibutuhkan:
1. Basis Pengetahuan (Knowledge Base), bersifat fakta-fakta, teori, pemikiran
dan hubungan antar satu dengan yang lainnya.
2. Motor Inferensi (Inference Engine), kemampuan menarik kesimpulan
2.2.1Perbedaan Kecerdasan Buatan dan Kecerdasan Alami
Ada beberapa keuntungan kecerdasan buatan dibandingkan kecerdasan alamiah, yaitu:
1. Lebih permanen.
2. Memberikan kemudahan dalam duplikasi dan penyebaran.
3. Relatif lebih murah dari kecerdasan alamiah.
4. Konsisten dan teliti.
5. Dapat didokumentasi.
6. Dapat mengerjakan beberapa task dengan lebih cepat dan lebih baik dibanding
manusia.
Keuntungan kecerdasan alamiah dibandingkan kecerdasan buatan:
1. Bersifat lebih kreatif.
2. Dapat melakukan proses pembelajaran secara langsung, sementara AI harus
mendapatkan masukan berupa simbol dan representasi.
3. Fokus yang luas sebagai referensi untuk pengambilan keputusan, sebaliknya
AI menggunakan fokus yang sempit (Anita Desiani dan Muhammad Arhami,
2006).
2.3Jaringan Saraf tiruan
Dalam beberapa dekade, ilmu pengetahuan dan teknologi mempunyai tujuan
mengembangkan mesin cerdas dengan sejumlah elemen sederhana. Selama tahun
1940, para peneliti yang ingin menduplikasikan otak manusia, telah mengembangkan
model neuron biologis dan sistim interaksi dalam perangkat keras sederhana. Pada
biologis dan psikologis untuk menghasilkan jaringan saraf tiruan (JST) pertama kali
(Lanny W. Pandjaitan, 2007).
Jaringan saraf tiruan didefinisikan sebagai suatu sistim pemrosesan informasi
yang mempunyai karakteristik menyerupai jaringan saraf manusia. Jaringan saraf
tiruan tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia
(Andry, 2004). Jaringan saraf tiruan adalah sistim proses informasi yang memiliki
karakteristik mirip dengan jaringan saraf biologi (Siang, 2005). Jaringan saraf tiruan
merupakan sistim komputasi yang didasarkan atas pemodelan sistim saraf biologis
(neuron) melalui pendekatan dari sifat-sifat komputasi biologis (biological
computation) (Sekarwati ,2004).
Secara prinsip, jaringan saraf tiruan dapat melakukan komputasi terhadap
semua fungsi yang dapat dihitung (computable function). Jaringan saraf tiruan dapat
melakukan apa yang dapat dilakukan oleh komputer digital normal.
Dalam praktiknya, jaringan saraf tiruan sangat berguna bagi klasifikasi dan
permasalahan-permasalahan yang dapat menolerir ketidaktepatan, yang memiliki
banyak data pelatihan, namun memiliki aturan-aturan yang tidak dapat di aplikasikan
secara mudah.
Pembangunan sistim AI yang di dasarkan pendekatan jaringan saraf tiruan secara
umum meliputi langkah-langkah berikut ini (Limin Fu, 1994):
1. Memilih model jaringan saraf tiruan yang sesuai didasarkan pada sifat dasar
2. Membangun jaringan saraf tiruan sesuai dengan karakteristik domain
aplikasinya.
3. melatih jaringan saraf tiruan dengan prosedur pembelajaran dari model yang
dipilih.
4. Mengunakan jaringan yang telah dilatih sebagai pembuatan inferensi atau
pemecahan masalah. Jika hasilnya tidak memuaskan maka kembali ke langkah
sebelumnya.
Ada beberapa ciri jaringan saraf tiruan yang diilhami dari jaringan saraf biologis,
yaitu:
1. Pemrosesan informasi bersifat lokal.
2. memori terbagi atas LTM (Long Time Memory) yang merupakan bobot
keterhubungan dan STM (Short Term Memory) yang dihubungkan neuron ke
sinyal yang dijalankan.
3. Tegangan pembobotan dapat berubah menurut pengalaman.
4. Neurontrasmitter dari synaptic dapat bersifat penyalaan (exitatory) atau
pemadaman (inhibitory).
Jaringan saraf tiruan digunakan untuk menyelesaikan permasalahan di mana
formulasi lengkapnya tidak diketahui seperti tidak ada model representasi
matematikanya. Jaringan saraf tiruan memiliki kemampuan untuk dapat melakukan
pembelajaran dan pendeteksian terhadap sesuatu objek. Keuntungan penggunaan
Jaringan saraf tiruan :
2. Mempermudah pemetaan input menjadi suatu hasil tanpa mengetahui proses
sebenarnya.
3. Mampu melakukan pengadaptasian terhadap pengenalan suatu objek.
4. Perangkat yang memiliki toleransi terhadap suatu kesalahan dalam pengenalan
objek.
5. Jaringan saraf tiruan mampu diimplementasikan pada suatu Hardware.
Perangkat yang mampu diimplementasikan secara parallel.
2.3.1 Arsitektur Jaringan Saraf Tiruan
Arsitektur jaringan saraf tiruan terdiri beberapa lapisan, yaitu lapisan masukan (input
layer), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer).
Masing-masing lapisan mempunyai jumlah node atau neuron yang berbeda-beda.
1. Lapisan masukan (input layer)
Merupakan lapisan yang terdiri dari beberapa neuron yang akan menerima
sinyal dari luar dan kemudian meneruskan ke neuron-neuron lain dalam
jaringan. berdasarkan ciri-ciri dan cara kerja sel-sel saraf sensori pada jaringan
saraf biologis.
2. Lapisan tersembunyi (hidden layer)
Merupakan tiruan dari sel-sel saraf konektor pada jaringan saraf biologis.
lapisan tersembunyi berfungsi meningkatkan kemampuan jaringan dalam
memecahkan masalah. Konsekuensi dari adanya lapisan ini adalah pelatihan
3. Lapisan keluaran (output layer)
Berfungsi menyalurkan sinyal-sinyal keluaran hasil dari pemrosesan jaringan.
Lapisan keluaran juga terdiri dari sejumlah neuron. Lapisan keluaran
merupakan tiruan sel-sel saraf motor pada jaringan saraf biologis (Siggit
Pamungkas, 2003).
Beberapa arsitektur jaringan yang sering dipakai dalam jaringan saraf tiruan, antara
lain:
a. Jaringan dengan lapisan tunggal (Single layer network)
Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot
terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan
mengelolahnya menjadi output tanpa harus melalui lapisan tersembunyi.
b. Jaringan dengan banyak lapisan (Multilayer net)
Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak di
antara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan
tersembunyi).
c. Jaringan dengan lapisan kompetitif (competitive layer net)
Hubungan antar neuron pada lapisan kompetitif ini tidak diperlihatkan pada
2.4Proses Pembelajaran
Ada 2 jenis proses pembelajaran, yaitu:
1. Pembelajaran terawasi (supervised learning)
Metode pembelajaran pada jaringan saraf disebut terawasi jika output yang
diharapkan telah diketahui sebelumnya.
2. Pembelajaran tidak terawasi (Unsupervised learning)
Pada metode pembelajaran tak terawasi tidak memerlukan target output.
Selama proses pembelajaran, nilai bobot disusun dalam satu range tertentu
tergantung pada nilai input yang diberikan.
2.5 Perceptron
Tahun 1940-an, para ilmuan menemukan bahwa psikologi otak sama dengan model
pemrosesan yang dilakukan oleh komputer. Tahun 1943, McCullochdan Pitts
merancang model formal yang pertama kali sebagai perhitungan dasar neuron. Tahun
1954, Farleydan Clark mensetup model-model untuk relasi adaptif stimulus-respon
dalam jaringan random. Tahun 1958, Rosenblatt mengembangkan konsep dasar
tentang perception untuk klasifikasi pola. Tahun 1960, Widrowdan Hoff
mengembangkan ADALINE yang dilatih dengan pembelajaran Least Mean Square
(LMS). Tahun 1974, Werbos memperkenalkan algoritma backpropagation. Tahun
1975, Littledan Shaw menggambarkan jaringan saraf dengan probabilistik. Tahun
1982, Kohonen mengembangkan metode pembelajaran jaringan saraf yang tidak
terawasi untuk pemetaan. Tahun 1982, Grossberg mengembangkan teori jaringan.
algoritma pembelajaran dengan mensin Boltzmann. Tahun 1987, Kosko
mengembangkan jaringan Adaptive Bidirectional Associative Memory (BAM). Tahun
1988, dikembangkan fungsi radial bebas.
Perceptron terdiri dari suatu input dan output. Perceptron merupakan bentuk
paling sederhana dari jaringan saraf tiruan 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
diasumsikan bernilai 1 jika jumlah bobot inputnya lebih besar dari pada threshold.
Nilai threshold pada fungsi aktivasi adalah non-negatif (Siggit Pamungkas, 2003).
2.6 Mengenal MATLAB
Ketika MATLAB pertama kali dibuka, maka akan muncul tampilan dialog seperti
Gambar 2.1.
Gambar 2.1 Tampilan Awal MATLAB
MATLAB adalah sebuah bahasa dengan kinerja tinggi untuk komputasi masalah
teknik. MATLAB mengintegrasikan komputasi, visualisasi, dan pemrograman dalam
penyelesaiannya diekspresikan dalam notasi matematika yang familiar. Penggunaan
Matlab meliputi:
a) Matematika dan komputasi.
b) Pembentukan algoritma.
c) Akusisi data.
d) Pemodelan, simulasi, dan pembuatan prototyp.
e) Analisa data, explorasi, dan visualisas.
f) Grafik keilmuan dan bidang rekayasa.
MATLAB merupakan singkatan dari matrix laboratory. Dalam lingkungan
perguruan tinggi teknik, Matlab merupakan perangkat standar untuk memperkenalkan
dan mengembangkan penyajian materi matematika, rekayasa dan keilmuan. Di
industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan
produktifitas yang tinggi, pengembangan dan analisanya. Fitur-fitur MATLAB sudah
banyak dikembangkan, dan lebih dikenal dengan nama toolbox. Sangat penting bagi
seorang pengguna MATLAB, toolbox mana yang mandukung untuk learn dan apply
technology yang sedang dipelajarinya. Toolbox ini merupakan kumpulan dari
fungsi-fungsi MATLAB (M-files) yang telah dikembangkan ke suatu lingkungan kerja
MATLAB untuk memecahkan masalah dalam kelas particular. Area-area yang sudah
bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, sistim kontrol,
neural networks, fuzzy logic, wavelets, dan lain-lain. Sebagai sebuah sistim,
MATLAB tersusun dari 5 bagian utama:
1. Development Environment, merupakan sekumpulan perangkat dan fasilitas
Beberapa perangkat ini merupakan sebuah Graphical User Interfaces (GUI).
Termasuk didalamnya adalah MATLAB desktop dan Command Window,
Command History, sebuah editor dan debugger, dan browsers untuk melihat
help, workspace, files, dan search path. Dapat dilihat pada Gambar 2.2.
Gambar 2.2 Halaman Command Window
2. MATLAB Mathematical Function Library, merupakan sekumpulan algoritma
komputasi mulai dari fungsi-fungsi dasar sepertri: sum, sin, cos, dan complex
arithmetic, sampai dengan fungsi-fungsi yang lebih kompek seperti matrix
inverse, matrixeigenvalues, Bessel functions, dan fast Fourier transforms.
3. MATLAB Language, merupakan suatu high-level matrix/array language
dengan control flow statements, functions, data structures, input/output, dan
fitur-fitur object-oriented programming. Ini memungkinkan bagi kita untuk
melakukan kedua hal baik “pemrograman dalam lingkup sederhana ” untuk
mendapatkan hasil yang cepat, dan “pemrograman dalam lingkup yang lebih
4. Graphics, MATLAB memiliki fasilitas untuk menampilkan vector dan
matrices sebagai suatu grafik. Dalam hal melibatkan high-level functions
(fungsi-fungsi level tinggi) untuk visualisasi data dua dimensi dan data tiga
dimensi, image processing, animation, dan presentation graphics. Ini juga
melibatkan fungsi level rendah yang memungkinkan untuk membiasakan diri
untuk memunculkan grafik mulai dari bentuk yang sederhana sampai dengan
tingkatan graphicaluser interfaces pada aplikasi MATLAB.
5. MATLAB Application Program Interface (API), merupakan suatu library
yang memungkinkan program yang telah di tulis dalam bahasa C dan Fortran
mampu berinterakasi dengan MATLAB. Ini melibatkan fasilitas untuk
pemanggilan routines dari MATLAB (dynamic linking), pemanggilan
MATLAB sebagai sebuah computational engine, dan untuk membaca dan
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Jaringan Saraf Tiruan
Perceptron juga termasuk salah satu bentuk jaringan saraf yang sederhana. Perceptron
biasanya digunakan untuk mengklasifikasikan suatu pola tertentu yang sering dikenal
dengan pemisahan secara linear. Sesuai dengan karakteristik jaringan saraf tiruan,
pada dasarnya perceptron memiliki kecenderungan yang sama dengan jenis jaringan
saraf tiruan lainnya, namun setiap jenis memiliki karakteristik masing-masing, seperti
halnya single layer Jaringan saraf tiruan, biasanya hanya digunakan untuk
memberikan solusi yang sifatnya hanya sederhana saja.
Perceptron pada jaringan saraf tiruan dengan satu lapisan memiliki bobot yang
bisa diatur dan suatu nilai ambang (threshold). Algoritma yang digunakan oleh aturan
ini akan mengatur parameter-parameter bebasnya melalui proses pembelajaran. Nilai
threshold pada fungsi aktivasi adalah non negatif. Fungsi aktivasi ini dibuat
sedemikian rupa sehingga terjadi pembatasan antara daerah positif dan daerah negatif.
Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan:
1 1+ 2 2+ > 3
Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki
pertidaksamaan:
1 1 + 2 2+ >−3
Misalkan kita gunakan pasangan vektor input s dan vektor output sebagai pasangan
vektor yang akan dilatih.
3.2 Analisis Pengenalan Pola
Pengenalan pola, optical character recognition disebut aplikasi saraf utama bila
melibatkan cek dan alamat surat yang keduanya ditulis dengan tangan.
Masalah-masalah pengenalan pola juga terdapat dalam bidang inspeksi industri, misalnya
dalam inspeksi silicon wafer, terdapat cacat yang tidak mudah dikenali, lalu penyaring
berdasar jaringan saraf menjadi alat yag disukai.
Metode pengenalan pola dengan jaringan saraf tiruan dilatih dengan
seperangkat data untuk bisa mengenal dan mengidentifikasi pola data atau kurva.
Proses pelatihan sering disebut tahap belajar (learning process). Sehingga learning
process menjadi bagian yang penting juga dalam metode. Pemilihan algoritma dan
parameter yang bersesuaian dan penentuan berapa banyak perangkat data yang
dibutuhkan dalam learning process sangat penting untuk menentukan akurasi dari
Awal neural network diset secara acak, kemudian perangkat data dimasukkan ke
jaringan saraf untuk pembelajaran atau pelatihan. Ketika data dimasukkan, jaringan
saraf akan belajar dengan mengubah parameter-parameternya sehingga semakin
mendekati atau semakin sesuai dengan pola data masukan tersebut. Ketika semua data
latih sudah dimasukkan, jaringan saraf dianggap sudah dapat mengenal dan
mengidentifikasi pola data tersebut sehingga telah siap digunakan untuk menghasilkan
keluaran. Hasil keluarannya dengan demikian akan sesuai dengan pola data yang telah
diidentifikasi oleh neural network.
Prinsipnya ada dua cara untuk melatih neural network yaitu dengan supervised
learning dan unsupervised learning. Pada unsupervised learning, neural network
hanya diberi data masukan saja tapi bagaimana outputnya tidak ditentukan. Ketika
data yang dimasukkan bertambah, neural network akan mengkategorikan atau
mengelompokkan data masukan tersebut. Pada supervised learning, neural network
diberi sepasang data latih yang terdiri dari data masukan dan target. Jadi ketika data
yang dimasukan bertambah neural network akan mengubah karakteristik internalnya
agar bisa menghasilkan keluaran seperti targetnya. Maka dengan demikian cara
learning yang bisa dipakai untuk pengenalan pola adalah yang supervised learning
karena data yang harus dilatihkan adalah berupa pasangan data input dan target
(Hagan, 1996).
3.3 Algoritma Perceptron
Perceptron memberikan pengaruh yang kuat di awal pengembangan jaringan saraf
jaringan yang dikembangkan oleh McCulloch & Pitt dan Hebb, perceptron juga
menggunakan sebuah threshold (nilai ambang) untuk fungsi output. Proses belajar
pada perceptron menggunakan pengaturan bobot secara iterative (berulang) yang lebih
handal dibanding Hebb Rule. Salah satu model sederhana dari perceptron
menggunakan aktivasi biner untuk unit sensor dan unit associator, serta aktivasi +1, 0
atau ±1 untuk unit response. Unit sensor dihubungkan ke unit associator oleh jalur
dengan bobot yang tetap dan bernilai +1, 0, -1 yang ditentukan secara random. Fungsi
aktivasi dari tiap unit associator adalah fungsi undak biner dengan nilai ambang yang
dapat diubah-ubah. Signal yang dikirim dari unit associator ke unit output adalah
biner (1 atau 1). Output dari perceptron adalah = �( ), di mana fungsi aktivasinya
adalah:
1 >�
�= ( ) = 0 − � ≤ ≤ �
−1 <−�
Bobot dari unit associator ke unit response (output) di atur melalui aturan pelatihan
perceptron. Untuk setiap input pelatihan, jaringan akan menghitung respon dari unit
output. Kemudian jaringan akan menentukan apakah error terjadi pada pola input
tersebut dengan membandingkan output hasil perhitungan dengan nilai target.
Jaringan tidak dapat membedakan error yang terjadi (apakah antara 0 dan ±1 atau +1
dan ±1 dll), tetapi tanda (+/-) dari error akan mengarahkan perubahan bobot untuk
mendekati nilai target. Namun, hanya bobot dengan signal tidak sama dengan nol saja
yang diatur oleh perceptron. Jika terjadi error pada pola pelatihan tertentu, maka
1 = 1 +� 1
Di mana t = nilai target (1 atau ±1, bipolar); dan a adalah laju pelatihan. Pelatihan
terus dilakukan hingga error tidak terjadi. Berikut arsitektur dari sebuah jaringan
perceptron sederhana untuk klasifikasi pola (pattern classification). Output dari unit
associator adalah vektor biner dan vektor ini selanjutnya digunakan sebagai signal
input pada unit output. Karena hanya bobot antara unit associator dan unit output
yang bisa diatur maka dapat membatasi pengamatan pada layer tunggal bagian dari
jaringan, yang ditunjukkan oleh Gambar 3.2.
Gamabar 3.2 Proses Antar Unit Perceptron
Arsitektur, unit associator berfungsi layaknya seperti unit input. Tujuan dari pelatihan
jaringan fuzzy adalah untuk mengklasifikasikan setiap pola input ke dalam kelas
tertentu, apakah termasuk (belonging) atau tidak termasuk (not belonging). Jika input
termasuk ke dalam kelas maka output yang dihasilkan +1 dan jika tidak maka output
Algoritma yang dipakai adalah algoritma yang dapat digunakan baik untuk
input bipolar maupun biner, dengan bipolar target, nilai ambang (3) tetap, dan bias
yang bisa diatur. Nilai ambang (3) disini tidak memainkan peranan seperti dalam
fungsi undak. Keduanya (bias dan nilai ambang) di perlukan. Algoritma ini tidak
terlalu sensitif terhadap nilai inisialisasi bobot (nilai awal bobot) maupun terhadap laju
pelatihan. Lankah-langkah algoritma pelatihan perceptron adalah:
a. Langkah 0. Inisialisasi bobot dan bias, untuk lebih mudah set bias dan bobot
ke nol. Lalu tentukan nilai laju pelatihan.
b. Langkah 1 Selama kondisi henti tidak terpenuhi jalankan langkah 2-6.
c. Langkah 2 Untuk setiap pasangan pola s:t lakukan langkah 3-5.
d. Langkah 3 Set nilai aktivasi untuk unit input, = .
e. Langkah 4 hitung respon dari unit output.
= +
1 >�
�= = 0 − � ≤ ≤ �
−1 <−�
f. Langkah 5 Update nilai bobot dan bias jika error terjadi pada pola.
g. Langkah 6 Test kondisi henti, jika tidak ada perubahan bobot di langkah 2,
berhenti jika tidak, lanjut. Dari nilai 1 bobot hasil pelatihan dapat diperoleh
garis pemisah (separating line).
+ + >�untuk respon positif, dan
+ + <−� untuk respon negatif.
jika input pelatihan hanya 2 pasang.
Algoritma bisa digunakan baik untuk input biner maupun bipolar, dengan 3
tertentu, dan bias yang dapat diatur. Pada algoritma tersebut bobot - bobot yang
diperbaiki hanyalah bobot-bobot yang berhubungan dengan input yang aktif ( H 0)
dan bobot -bobot yang tidak menghasilkan nilai y yang benar.
3.4 Perancangan
Hal yang paling dominan ketika perancangan sistim dilakukan adalah memodelkan
kebutuhan pemakai. Ada banyak cara unuk memodelkan sistim sebagaimana banyak
cara yang digunakan seorang arsitek ketika akan membangun sebuah rumah. Dalam
sebuah sistim, model merupakan kombinasi antara perngkat lunak dan perangkat
keras. Ada beberapa hal yang menggaris bawahi pemakaian suatu model, yaitu:
1. Dapat memfokuskan perhatian pada hal-hal penting dalam sistim tanpa mesti
terlibat lebih jauh.
2. Mendiskusikan perubahan dan koreksi terhadap kebutuhan pemakai dengan
3. Menguji pengertian penganalisa sistim terhadap kebutuhan pemakai dan
membantu pendesain sistim dan programmer membangun sistim.
3.4.1 Flowchart
Untuk menggambarkan proses yang dapat dilakukan penggunaan perancangan
perangkat lunak pengenalan pola huruf menggunakan algoritma perceptron yang
dimulai dari proses input sampai hasil output, penulis menggunakan model proses
prosedural yaitu dengan menggunakan flowchart. Flowchart merupakan langkah
awal pembuatan program.
Dengan adanya flowchart urutan proses kegiatan menjadi lebih jelas. Jika ada
penambahan proses maka dapat dilakukkan lebih mudah. Setelah flowchart selesai
disusun, selanjutnya pemrograman (programer) menerjemahkanya ke bentuk program
dengan bahasa pemrograman (Irma, 2008). Adapun gambar-gambar simbol proses
dalam flowchart pada Tabel 3.1.
Tabel 3.1 Flowchart
Nama Gambar Fungsi
Terminator
Terminator berfungsi sebagai
Process
menunjukkan arah aliran pada
program.
Preparation Preparation berfungsi untuk
proses inisialisasi atau
pemberian harga awal atau
untuk perulangan/looping.
Proses Proses berfungsi sebagai
perhitungan ataupun proses
data.
Connector
Connector digunakan sebagai
penghubung bagian-bagian
Outputdata
Outputdata sebagai Informasi
Off page connector Off page connector sebagai
penghubung bagian-bagian
flow chart.
Predefined procces Predefined procces digunakan
untuk menyatakan sekumpulan
langkah proses yang ditulis
Display Display digunakan sebagai
output/hasil yang diajukan
3.4.2 Flowchat Pengenalan Pola
Di bawah ini dapat di lihat flowchat dari program pengenalan pola huruf dengan
menggunakan algoritma perceptron.
Gambar 3.3 Flowchart Pengenalan Pola Huruf. Start
input pola huruf
Pelatihan jaringan untuk pengenalan pola
TRUE if
y==target
FALSE
Output
Hasil Pengujian
3.5 Perancangan Perangakat Lunak
Di tahap ini dikembangkanlah cetak biru(blueprint) dan spesifikasi teknis yang
dibutuhkan untuk mengimplementasi program antarmuka pengguna dan jaringan yang
dibutuhkan oleh sistim. Dengan demikian perancangan sistim berfungsi untuk
menggambarkan bagaimana suatu sistem dibentuk. Tampilan perancangan sistim dari
perangkat lunak Pengenalan pola ini adalah sebagai berikut:
Gambar 3.4 Perancangan Tampilan Program.
A B
C
D
E
F G H
I
J
K
L
M N
O
P Q R S
T
U
V
W X
Y
Z
LoadPelatihan
Masukkan Huruf
Static Text Buka
BAB 4
IMPLEMENTASI SISTEM
4.1 Implementasi Sistim Berdasarkan Perancangan
Ini merupakan tahap terakhir dari pengembangan sistim. Pada tahap ini melibatkan
pelatihan bagi pemakai untuk mengendalikan sistim. Programmer merupakan pelaku
utama dalam tahap implementasi karena mereka merancang, membuat kode dan
mengatasi kesalahan-kesalahan dari program komputer. Implementasi merupakan
langkah yang digunakan untuk mengoperasikan simulasi yang telah dibuat. Dalam bab
ini akan dijelaskan mengenai cara dan hasil pembuatan perancangan perangkat lunak
pengenalan pola huruf menggunakan algoritma perceptron. .
4.2 Tujuan Implementasi
Adapun tujuan implementasi sistim yaitu:
a. Menyelesaikan desain perangkat lunak jarigan saraf tiruan yang baru akan
dibuat.
b. Menguji program dan prosedur baru.
c. Memastika bahwa perangkat lunak dapat dibuka dengan sempurna.
d. Menguji sistim baru sesuai dengan apa yang diinginkan.
e. Memastika bahwa pemakai (user) dapat mengoperasikan sistim baru dengan
4.3 Komponen Implementasi Sistem
Untuk mengetahui perancangan perangkat lunak jaringan saraf tiruan yang telah
dikerjakan dapat berjalan dengan baik atau tidak, maka perlu dilakukan pengujian
terhadap sistim yang telah dibuat. Untuk itu dibutuhkan beberapa komponen utama
mencakup perangkat keras (hardware), perangkat lunak (software), dan otak
(brainware).
Pada perancangan perangkat lunak pengenalan pola huruf menggunakan
algoritma perceptron dibutuhkan beberapa komponen.
1. Perangkat Keras (hardware)
perangkat keras adalah semua bagian fisik komputer dan dibedakan dengan
data yang berada didalamnya atau beroperasi didalamnya, dan dibedakan
dengan perangkat lunak yang menyediakan instruksi untuk perangkat keras
dalam menyelesaikan tugasnya, perangkat keras yang dibutuhkan.
a. Monitor.
b. Hardisk.
c. Memori.
d. Keyboard dan mause.
.
2. Perangkat lunak (software)
Perangkat lunak adalah program yang berisi kumpulan intruksi untuk
melakukan proses pengolahan data.
a. Sistim Operasi Windows 7.
3. Perangkat Operasi (brainware)
Brainware adalah manusia yang terlibat dalam menjalankan program, dan
mengatur sistim didalam komputer. Diartikan sebagai perangkat intelektual
yang menjalankan dan mengeksplorasi kemapuan dari hardware maupun
software.
4.4 Implementasi Pemrosesan
1. Tampilan awal menjalankan program dengan aplikasi MATLAB. Kemudian
klik load untuk melanjutkan pemrosesan, lihat Gambar 4.1.
2. Setelah klik load maka akan muncul pola huruf A,B,C,...Z. Kemudian untuk
melanjutkan pengujian klik pelatihan, lihat pada Gambar 4.2.
3. Setelah klik pelatihan akan terjadi pengenalan karakter huruf, dalam proses
pelatihan area buffer akan menunjukkan area yang bernilai 0 dan area yang
bernilai 1, area yang digunakan sebagai input untuk menunjukkan bobot sesuai
dengan algoritma. Pada proses pelatihan maka akan muncul neural network
training, lihat Gambar 4.3 dan Gambar 4.4.
Kemudian akan muncul neural network training, proses dari pelatihan pola
huruf lihat Gambar 4.4.
4. Selanjutnya, klik buka untuk memilih satu pola hutuf dan klik open setelah
memilih huruf yang telah tersimpan dalam bentuk gambar.jpg, lihat Gambar
4.5.
5. Selanjutnya, klik uji untuk mengetahui apakah huruf “F” benar dan sesuai
dengan target yang telah diisi secara manual, lihat Gambar 4.6.
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan perancangan perngkat lunak pengenalan pola huruf menggunakan
algoritma perceptron, maka dapat disimpulkan:
1. Jaringan saraf tiruan lapis tunggal bisa digunakan untuk menyelesaikan
masalah pengenalan pola, contohnya pengenalan pola tulisan tangan.
2. Hasil pengujian sangat akurat karena target telah diisi secara otomatis,
Kemungkinan terjadinya kesalahan sangat kecil.
5.2 Saran
Untuk pengembangan lebih lanjut perangkat lunak maka:
1. Bagi seorang mahasiswa atau untuk kebutuhan penelitian, perangkat lunak
pengenalan pola huruf dapat dijadikan sebagai referensi dan bisa
dikembangkan menjadi yang lebih baik lagi, dan juga untuk memperbaiki
kekurangan dan menyempurnakan sofwar.
2. Bisa ditambahkan juga pola lain, misalnya pola huruf dengan fonts yang
berbeda, pola angka, pengenalan wajah seseorang, dan tanda tangan. Sehingga
DAFTAR PUSTAKA
Arhami, M. dan Desiani, A. 2007. Konsep Kecerdasan Buatan. Andi
Publisher. Yogyakarta.
Arianto, M. dan Wahyu, C. 2011. Panduan Belajar Mandiri Matlab. Elex
Media Komputindo. Jakarta.
Hermawan, Arief. 2007. Jaringan Saraf Tiruan Teori dan Aplikasi. Andi
Publisher. Yokyakarta.
Kusumadewi, Sri. 2004. Membangun Jaringan Saraf Tiruan Menggunakan
Matlab & Excel Link. Bandung.
Munir, Rinaldi. 1998. Algoritma dan Pemrograman. Informatika. Bandung.
Pandjaitan, W. Lanny. 2007. Dasar-dasa Komputasi Cerdas. Andi publisher.
Yogyakarta
Puspitaningrum, Diyah. 2009. Pengantar Jaringan Saraf Tiruan. Andi
Publisher. Yokyakarta.
Sahid. 2007. Panduan Praktis Matlab. Andi Publisher. Yogyakarta.
Sianipar. 2013. Matlab, Image Processing, dan Metode Numerik. Informatika.
Bandung.
Siang, J. J. 2009. Jaringan Saraf Tiruan dan Pemrograman Menggunakan