v
UNIVERSITAS BINA NUSANTARA
Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2003/2004
ANALISIS DAN PERANCANGAN
APLIKASI PENGENAL DAN PENGHITUNG POLIGON
MENGGUNAKAN ARTIFICIAL
NEURAL
NETWORKS
METODE BACKPROPAGATION
Dwirani Novianti 0400486433
Ferry 0400499745
Eka Kurniadi 0400528442
Abstrak
Poligon sebagai satuan terkecil ketiga dari bangun ruang setelah titik dan garis. Pengenalan bangun ruang menggunakan komputer merupakan masalah yang kompleks, sama halnya dengan pengenalan objek lainnya seperti pengenalan sidik jari, suara, retina, tulisan tangan, tanda tangan, karakter, dan sebagainya. Untuk itu diperlukan suatu algoritma untuk melakukan pengenalan dan perhitungan jumlah poligon.
Proses pengenalan objek secara umum terdiri atas tiga tahap, yaitu image processing, feature extraction, dan recognition. Image processing menggunakan algoritma SUSAN (Smallest Univalue Segment Assimilating Nucleus) Corner Detection, dan SUSAN Edge Detection. Feature extraction dengan mengambil besar sudut dalam poligon menggunakan perhitungan matematis dan algoritma Graham Scan juga perbandingan sisi dari poligon. Recognition menggunakan ANN (Artificial Neural Networks/Jaringan Saraf Tiruan) dengan metode backpropagation (propagasi balik). Aplikasi yang dibuat dapat mengenali bentuk-bentuk poligon dan menghitung jumlah masing-masingnya dengan kecepatan dan keakuratan tinggi.
Penggunaan ANN dengan metode backpropagation memberikan kecepatan dan keakuratan tinggi pada proses pengenalan poligon walaupun memerlukan waktu yang relatif lama pada proses training–nya (pembelajarannya). Algoritma SUSAN memberikan keakuratan tinggi pada proses pendeteksian sudut dan pendeteksian sisi dari poligon. Feature extraction dengan mengambil besar sudut dalam dan perbandingan sisi dari poligon sudah mewakili keunikan dari setiap poligon.
Kata Kunci
pengenalan poligon, penghitung poligon, artificial neural networks, jaringan saraf tiruan, backpropagation, propagasi balik
vi
PRAKATA
Prakata
Puji syukur kepada Tuhan Yang Maha Esa atas berkat dan bimbingan-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “ANALISIS DAN PERANCANGAN APLIKASI PENGENAL DAN PENGHITUNG POLIGON
MENGGUNAKAN ARTIFICIAL NEURAL NETWORKS METODE
BACKPROPAGATION” dengan baik. Skripsi ini merupakan salah satu syarat untuk menyelesaikan jenjang pendidikan Strata-1 di Universitas Bina Nusantara, Jakarta dan ditujukan bagi pengembangan Ilmu Pengetahuan dan Teknologi Indonesia.
Penulis mengucapkan terima kasih kepada pihak-pihak yang telah berperan dalam penyelesaian skripsi ini:
1. Orang tua dan wali, yang telah memberikan dukungan moril maupun materiil dalam proses perkuliahan sampai tersusunnya skripsi ini.
2. Bapak Januar Wahjudi, S.Kom., M.Sc. selaku dosen pembimbing, yang telah membantu dalam memberikan bimbingan, ide-ide, dan solusi dari masalah-masalah yang ditemukan selama proses penyusunan skripsi ini.
3. Ibu Anny Tandyo, S.Kom., M.Sc., yang telah meluangkan waktunya untuk memberikan penjelasan tentang materi yang diperlukan dalam penyusunan skripsi ini.
vii
aplikasi yang dibuat, juga rekan-rekan lain yang memberikan dukungan dan semangat.
5. Ibu Dyah Budiastuti, Ir., MM dan Heriawan yang telah memberikan bantuan sarana dalam penyusunan skripsi ini.
6. Marsella Triwahyuni dan Erwin Susanto yang telah memberikan dukungan dan semangat selama proses penyusunan skripsi.
7. Ibu DR Th. Widia S. selaku rektor Universitas Bina Nusantara.
8. Bapak Ir. Harjanto Prabowo, MM selaku dekan Fakultas Ilmu Komputer.
9. Bapak Ir. Sablin Yusuf, M.Sc., M.CompSc. selaku kepala jurusan Teknik Informatika dan koordinator bidang ilmu IntelligentSystems.
10. Dan pihak-pihak lain yang tidak dapat disebutkan satu per satu yang telah memberikan bantuan secara langsung maupun tidak langsung dalam proses penyusunan skripsi ini.
Penulis menyadari akan keterbatasan kemampuan dan pengetahuan yang dimiliki. Oleh karena itu, saran dan kritik yang membangun sangat diharapkan untuk penyempurnaan skripsi ini.
Akhir kata, semoga skripsi ini dapat memberikan manfaat kepada semua pihak yang memerlukannya, juga memberikan sumbangsih kepada kemajuan Ilmu Pengetahuan dan Teknologi Indonesia.
viii
DAFTAR ISI
Daftar Isi
Halaman Judul Luar ...i
Halaman Judul Dalam... ii
Halaman Persetujuan Hardcover... iii
Halaman Pernyataan Dewan Penguji ...iv
Abstrak...v
Prakata ...vi
Daftar Isi ... viii
Daftar Tabel... xiii
Daftar Gambar ...xv
Daftar Lampiran ... xviii
BAB 1 PENDAHULUAN ...1
1.1 Latar Belakang ...1
1.2 Ruang Lingkup...2
1.3 Tujuan dan Manfaat ...3
1.4 Metodologi Penelitian ...3
1.5 Sistematika Penulisan ...4
BAB 2 LANDASAN TEORI ...5
ix
2.1.1 Teori Pengenalan Objek pada Manusia...5
2.1.2 Batasan Pengenalan Objek...6
2.2 Model Warna RGB ...8
2.3 Image...9
2.3.1 Pengertian Image...9
2.3.2 Pengertian Pixel...9
2.3.3 ImageBitmap...10
2.3.4 Format Pixel 24-Bit...10
2.4 ImageProcessing...11
2.4.1 Grayscaling...11
2.4.2 CornerDetection...12
2.4.3 EdgeDetection...12
2.5 Prinsip SUSAN ...13
2.6 FeatureExtraction...15
2.7 Poligon ...16
2.8 ConvexHull...17
2.9 Graham’s Scan...17
2.10 Algoritma Midpoint...18
2.11 ArtificialNeuralNetworks...21
2.11.1 Cara Kerja NeuralNetwork...24
2.11.2 Arsitektur NeuralNetwork...24
2.11.3 Training...26
2.11.4 ActivationFunction...26
x
2.11.5.1 Arsitektur NeuralNetwork Metode Backpropagation...28
2.11.5.2 Tahapan TrainingBackpropagation...29
2.11.5.3 Algoritma TrainingBackpropagation...30
2.11.6 Inisialisasi Nguyen–Widrow...32
BAB 3 ANALISIS DAN PERANCANGAN...33
3.1 Gambaran Permasalahan Secara Umum ...33
3.2 Kebutuhan Sistem dan Pemenuhan Kebutuhan Sistem ...35
3.3 Alur Program Secara Umum...35
3.4 ImageProcessing...38
3.4.1 Grayscaling...38
3.4.2 CornerDetection...40
3.4.3 EdgeDetection...41
3.5 PolygonExtraction...42
3.6 Menentukan Arah Poligon ...46
3.7 FeatureExtraction...48
3.7.1 Pengambilan Besar Sudut Dalam dari Poligon ...48
3.7.2 Pengambilan Perbandingan Sisi Poligon ...57
3.8 Insert Pola Poligon...59
3.9 Training Pola Poligon ...60
3.10 RecognitionandCounting Poligon ...60
3.11 Perancangan Interface Aplikasi ...62
BAB 4 IMPLEMENTASI DAN EVALUASI ...65
xi
4.1.1 Spesifikasi Sistem ...65
4.1.1.1 Spesifikasi Perangkat Keras...65
4.1.1.2 Spesifikasi Perangkat Lunak ...65
4.1.2 Prosedur Operasional ...66
4.1.2.1 Cara Menjalankan Aplikasi...66
4.1.2.2 Cara Insert Pola...67
4.1.2.3 Cara Training Pola ...72
4.1.2.4 Cara RecognizingandCounting Poligon ...74
4.2 Evaluasi ...75
4.2.1 Evaluasi Kecepatan Training...75
4.2.1.1 Pengaruh Jenis ActivationFunction...76
4.2.1.1.1 Penggunaan BinarySigmoid...76
4.2.1.1.2 Penggunaan Bipolar Sigmoid...78
4.2.1.2 Pengaruh Inisialisasi Nguyen-Widrow ...81
4.2.1.2.1 Penggunaan BipolarSigmoid dengan Target -1 dan 1...82
4.2.1.2.2 Penggunaan BipolarSigmoid dengan Target -0.8 dan 0.8...83
4.2.1.3 Pengaruh Banyaknya Unit pada Suatu HiddenUnits...85
4.2.2 Evaluasi Kecepatan RecognitionandCounting...88
4.2.2.1 Evaluasi Kecepatan Recognition andCounting dengan Data Training...89
4.2.2.2 Evaluasi Kecepatan RecognitionandCounting dengan Data Non Training...90
4.2.3 Evaluasi Keakuratan RecognitionandCounting...91
xii
4.2.3.2 Evaluasi Tingkat Keakuratan RecognitionandCounting dengan Data
NonTraining...94
4.2.4 Hasil Evaluasi ...95
BAB 5 SIMPULAN DAN SARAN...97
5.1 Simpulan ...97
5.2 Saran...98
Daftar Pustaka...99
Riwayat Hidup...101
xiii
DAFTAR TABEL
Daftar Tabel
Tabel 3.1 Struktur Tabel yang Digunakan sebagai DataStore...59 Tabel 4.1 Parameter Training untuk Percobaan Pengaruh Jenis ActivationFunction
Terhadap Kecepatan Training...76 Tabel 4.2 Kecepatan Training Menggunakan BinarySigmoid...78 Tabel 4.3 Kecepatan Training Menggunakan BipolarSigmoid...80 Tabel 4.4 Perbandingan Kecepatan Training Antara BipolarSigmoid dan Binary
Sigmoid...81 Tabel 4.5 Parameter Training untuk Percobaan Pengaruh Inisialisasi Nguyen-Widrow
Terhadap Kecepatan Training...81 Tabel 4.6 Hasil Percobaan Pengaruh Penggunaan Inisialisasi Nguyen-Widrow Terhadap
Kecepatan Training dengan Target -1 dan 1...82 Tabel 4.7 Hasil Percobaan Pengaruh Penggunaan Inisialisasi Nguyen-Widrow Terhadap
Kecepatan Training dengan Target -0.8 dan 0.8...84 Tabel 4.8 Parameter Training untuk Percobaan Pengaruh Banyaknya Unit pada Suatu
HiddenUnits Terhadap Kecepatan Training...86 Tabel 4.9 Hasil Percobaan Pengaruh Banyaknya Unit pada Suatu HiddenUnits
Terhadap Kecepatan Training...87 Tabel 4.10 Parameter Training untuk Percobaan Tingkat Kecepatan dan Keakuratan
RecognitionandCounting...89 Tabel 4.11 Hasil Percobaan Kecepatan RecognitionandCounting untuk Data Training
xiv
Tabel 4.12 Hasil Percobaan Kecepatan RecognitionandCounting untuk Data Non Training...90 Tabel 4.13 Hasil Percobaan Tingkat Keakuratan RecognitionandCounting untuk Data
Training...92 Tabel 4.14 Hasil Percobaan Tingkat Keakuratan RecognitionandCounting untuk Data
xv
DAFTAR GAMBAR
Daftar Gambar
Gambar 2.1 Rotational Invariance...6
Gambar 2.2 Size Invariance...7
Gambar 2.3 Translational Invariance...7
Gambar 2.4 Model Warna RGB...8
Gambar 2.5 Nilai Grayscale pada Adobe Photoshop ...11
Gambar 2.6 Posisi CircularMask pada Image Sederhana...14
Gambar 2.7 Posisi Pixel Penyusun CircularMask pada Image...15
Gambar 2.8 Convex Hull...17
Gambar 2.9 Neural Network Sederhana ...23
Gambar 2.10 Struktur Sebuah Neuron...23
Gambar 2.11 Single Neural Net...25
Gambar 2.12 Multilayer Neural Net...25
Gambar 2.13 Arsitektur NeuralNetwork Metode Backpropagation...28
Gambar 3.1 Contoh Poligon Sejenis ...33
Gambar 3.2 Contoh Poligon Tak Sejenis...34
Gambar 3.3 Flowchart Proses Insert Pola Poligon dan Proses RecognitionandCounting Poligon ...36
Gambar 3.4 Flowchart Proses Training Pola Poligon ...37
Gambar 3.5 Flowchart Proses Grayscaling...40
Gambar 3.6 Flowchart Proses PolygonExtraction...45
xvi
Gambar 4.1 Tampilan Awal DEF Polygon Recognizer and Counter (70%)...67
Gambar 4.2 Tampilan Setelah Input Bentuk Poligon (70%) ...68
Gambar 4.3 Tampilan Setelah Grayscaling (70%) ...69
Gambar 4.4 Tampilan Setelah EdgeDetection (70%) ...70
Gambar 4.5 Tampilan WindowInsert to Pattern (70%) ...71
Gambar 4.6 Hasil Penyimpanan Pola ...72
Gambar 4.7 Tampilan WindowSettings...73
Gambar 4.8 Tampilan WindowTraining...74
Gambar 4.9 Tampilan Hasil RecognizingandCounting...75
Gambar 4.10 Grafik Hasil Percobaan Kecepatan Training Menggunakan BinarySigmoid dengan Target Error 0.05...77
Gambar 4.11 Grafik Hasil Percobaan Kecepatan Training Menggunakan BinarySigmoid dengan Target Error 0.025...77
Gambar 4.12 Grafik Hasil Percobaan Kecepatan Training Menggunakan BinarySigmoid dengan Target Error 0.01...78
Gambar 4.13 Grafik Hasil Percobaan Kecepatan Training Menggunakan Bipolar Sigmoid dengan Target Error 0.05 ...79
Gambar 4.14 Grafik Hasil Percobaan Kecepatan Training Menggunakan Bipolar Sigmoid dengan Target Error 0.025 ...79
Gambar 4.15 Grafik Hasil Percobaan Kecepatan Training Menggunakan Bipolar Sigmoid dengan Target Error 0.01 ...80
xvii
Gambar 4.17 Grafik Perbandingan Kecepatan Training Tanpa dan Menggunakan
xviii
DAFTAR LAMPIRAN
Daftar Lampiran