STUDI PERBANDINGAN BEBERAPA ALGORITMA THINNING DALAM PENGENALAN POLA SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer JERNIHTA PARDEDE 081421006 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2010
PERSETUJUAN Judul : STUDI PERBANDINGAN BEBERAPA ALGORITMA THINNING DALAM PENGENALAN POLA. Kategori : SKRIPSI Nama : JERNIHTA PARDEDE Nomor Induk Mahasiswa : 081421006 Program Studi : EKSTENSI S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Juni 2010 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Syahriol Sitorus, S.Si. MIT Prof. Dr. Muhammad Zarlis NIP. 197103101997031004 NIP. 195707011986011003 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer FMIPA USU Ketua, Prof. Dr. Muhammad Zarlis NIP. 195707011986011003
PERNYATAAN STUDI PERBANDINGAN BEBERAPA ALGORITMA THINNING DALAM PENGENALAN POLA SKRIPSI Penulis mengakui bahwa skripsi ini adalah hasil kerja penulis sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, Juli 2010 JERNIHTA PARDEDE 081421006
PENGHARGAAN Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa dengan limpah kurnia-nya Skripsi ini berhasil diselesaikan dalam waktu yang ditetapkan. Ucapan terima kasih penulis sampaikan kepada Prof. Dr. Muhammad Zarlis dan Syahriol Sitorus, S.Si, MIT, selaku Ketua dan Sekretaris Ilmu Komputer, sekaligus pembimbing pada penyelesaian Skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas, padat dan professional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Kepada Drs. Agus Salim Harahap, M.Si, dan Syahril Effendi S.Si, MIT selaku dosen penguji, Terima kasih penulis ucapkan buat saran dan masukannya serta bimbingannya. Ucapan terima kasih juga kepada Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, Semua dosen pada Departemen Ilmu Komputer FMIPA USU, pegawai di Ilmu Komputer FMIPA USU, akhirnya tidak terlupakan ayahanda R.S Pardede, ibunda R.Simbolon, abang-abang penulis: J.E.Binhot Pardede, ST, Jhonny Pardede, Jenri Pardede, adik penulis Roy Carles Pardede, dan kakanda Friska Nadeak, Amd. Yang terkasih Antoni Siahaan, Sahabat-sahabat Faithful: Dermawani Sitohang, Lindawati, Mirawati Barus, Novita Ginting, adik PA penulis Alexandro Fleming Marbun dan Fatresha Aritonang dan Teman-teman Ekstensi ilmu komputer 08 USU, Serta semua ahli keluarga yang selama ini memberikan bantuan, doa, dan semangat. Semoga Tuhan Yang Maha Kuasa membalasnya.
ABSTRAK Thinning merupakan operasi morfologis yang digunakan untuk menghilangkan piksel foreground tertentu dari citra. Thinning digunakan untuk proses pengenalan pola, misalnya dalam pengenalan karakter, pengenalan sidik jari, dan pemrosesan dokumen. Operasi thinning mengambil rangka dari citra, dengan cara membuang titik-titik atau layer terluar dari citra sampai semua garis atau kurva hanya setebal satu piksel. Dalam melakukan thinning citra yang digunakan adalah citra biner. Beberapa algoritma thinning yang akan dibahas adalah algoritma ZhangSuen, algoritma Stentiford, algoritma Hilditch, dan algoritma Rosenfeld. Skripsi ini bertujuan untuk menjelaskan mengenai algoritma-algoritma thinning dan urutan langkah-langkah eksekusinya serta untuk melihat kelebihan serta kekurangan masing-masing algoritma thinning tersebut.
COMPARATIVE STUDY THE ALGORITHM OF THINNING IN PATTERN RECOGNITION ABSTRACT Thinning is morphology operation which used to disappear foreground from the image. Thinning uses to process pattern recognition, example: in pattern recognition, finger print recognition, and processing document. Thinning operation take image skeleton with deleting points or outside layer from image to be line or curve to be one pixel. The image uses among binary image. Some the algorithm of thinning will be discuss are the ZhangSuen algorithm, Stentiford algorithm, Hilditch algorithm, Rosenfeld algorithm. This script have to explain about some the algorithm of thinning and sequence excecution step by step and to know advantages and disadvantages the algorithm of thinning.
DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar isi Daftar Gambar Daftar Tabel ii iii iv v vi vii ix xi BAB 1 PENDAHULUAN 1 1.1 Latar Belakang 1 1.2 Perumusan Masalah 2 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metode Penelitian 4 1.7 Sistematika Penulisan 6 BAB 2 TINJAUAN TEORITIS 8 2.1 Citra RGB 8 2.2 Piksel 9 2.3 Pengenalan Pola 9 2.4 Citra GrayScale 10 2.5 Citra Treshold 11 2.6 Citra Biner 11 2.7 Operasi Morfologi 12 2.7.1 Algoritma Thinning 12 2.7.1.1 Algoritma ZhangSuen 15 2.7.1.2 Algoritma Stentiford 17 2.7.1.3 Algoritma Hilditch 19 2.7.1.4 Algoritma Rosenfeld 22 2.8 Flowchart 26 BAB 3 ANALISIS PERNCANGAN APLIKASI 28 3.1 Analisis Perancangan dan Pengembangan 28 3.2 Matriks 28 3.3 Operator Logika 29 3.4 Array 30 3.4.1 Deklarasi Array 30 3.5 Pengalamatan Piksel pada Matriks 30 3.6 Penulusuran Piksel 32
3.7 Simulasi Proses cara kerja Algoritma Thinning 33 3.7.1 Algoritma ZhangSuen 33 3.7.2 Algoritma Stentiford 36 3.7.3 Algoritma Hilditch 41 3.7.4 Algoritma Rosenfeld 44 3.8 Analisis Jumlah Penulusuran 49 3.9 Analisis Jumlah Piksel Terhapus 49 3.10 Analisis Jumlah Waktu Penulusuran 50 3.11 Flowchart 50 3.11.1 Flowchart Algoritma ZhangSuen 53 3.11.2 Flowchart Algoritma Stentiford 55 3.11.3 Flowchart Algoritma Hilditch 59 3.11.4 Flowchart Algoritma Rosenfeld 60 3.12 Perancangan Tampilan 64 3.12.1 Perancangan Antar Muka Pemakai 64 3.12.1.1 Perancangan Tampilan Utama 64 3.12.1.2 Menu Profil 65 3.12.1.3 Menu Program 66 BAB 4 IMPLEMENTASI APLIKASI 67 4.1 Implementasi 67 4.2 Persiapan Teknis 67 4.3 Perancangan Antar Muka Pemakai 68 4.3.1 Menu Utama 68 4.3.1.1 Tombol Proses Penggunaan Software 71 4.3.1.2 Menu Look 75 4.3.1.3 Menu Materi Algoritma Thinning 76 4.3.1.4 Menu Profil 77 BAB 5 PENUTUP 79 5.1 Kesimpulan 79 5.1 Saran 80 DAFTAR PUSTAKA 81 LAMPIRAN 82
DAFTAR GAMBAR Halaman Gambar 2.1 Citra RGB 8 Gambar 2.2 (a) Pola Awal (b) Pola Hasil Thinning 13 Gambar 2.3 Contoh Piksel p1 dengan dengan 8-tetangga 15 Gambar 2.4 Contoh Piksel N(p1)=4 dan S(p1)=3 16 Gambar 2.5 Template Stentiford 17 Gambar 2.6 Urutan Nilai dari Piksel algoritma Stentitord 18 Gambar 2.7 Contoh Tampilan jumlah Konektifitas 18 Gambar 2.8 Contoh titik yang tidak memenuhi kriteria 1 algoritma Hilditch 20 Gambar 2.9 Contoh titik yang tidak memenuhi kriteria 2 algoritma Hilditch 20 Gambar 2.10 Contoh titik pada criteria 3 algoritma Hilditch 21 Gambar 2.11 Contoh titik pada criteria 4 algoritma Hilditch 21 Gambar 2.12 Contoh label 8 tetangga dari p1 22 Gambar 2.13 Contoh Piksel p1 sebagai titik batas utara 22 Gambar 2.14 Contoh Piksel p1 sebagai titik batas timur 22 Gambar 2.15 Contoh Piksel p1 sebagai titik batas Barat 23 Gambar 2.16 Contoh Piksel p1 sebagai titik batas Selatan 23 Gambar 2.17 Contoh Piksel dimana p1 adalah 4-titik endpoint 23 Gambar 2.18 Contoh Piksel dimana p1 adalah 8-titik endpoint 23 Gambar 2.25 Contoh Piksel dimana p1 adalah 4-titik terisolasi 24 Gambar 2.26 Contoh Piksel dimana p1 adalah 4-titik terisolasi 24 Gambar 2.27 Dua Contoh dimana p1 bukanlah 4-simple point 24 Gambar 2.28 Dua Contoh dimana p1 bukanlah 8-simple point 25 Gambar 3.1 Struktur Matrik 29 Gambar 3.2 Bentuk pengalamatan Citra 31 Gambar 3.3 Penulusuran dari Kiri kekanan dari atas kebawah 32 Gambar 3.4 Penulusuran dari bawah ke atas dari kiri ke kanan 32 Gambar 3.5 Penulusuran dari kanan ke kiri dari atas kebawah 33 Gambar 3.6 Penulusuran dari atas ke bawah dari kanan ke kiri 33 Gambar 3.7 Contoh Citra awal ZhangSuen 34 Gambar 3.8 Proses Langkah 1 pada Algoritma ZhangSuen 35 Gambar 3.9 Proses Langkah 2 pada Algoritma ZhangSuen 36 Gambar 3.10 Contoh Citra awal Stentiford 36 Gambar 3.11 Template Stentiford 37 Gambar 3.12 Urutan Konektifitas algoritma stentiford 37 Gambar 3.13 Proses Langkah 1 pada Algoritma Stentiford 38 Gambar 3.14 Proses Langkah 2 pada Algoritma Stentiford 38 Gambar 3.15 Proses Langkah 3 pada Algoritma Stentiford 40 Gambar 3.16 Proses Langkah 4 pada Algoritma Stentiford 41 Gambar 3.17 Contoh Citra awal Hilditch 41 Gambar 3.18 Proses Langkah 1 pada Algoritma Hilditch 42 Gambar 3.19 Proses Langkah 2 pada Algoritma Hilditch 43 Gambar 3.20 Proses Langkah akhir pada Algoritma Hilditch 44
Gambar 3.21 Contoh Citra awal Rosenfeld 44 Gambar 3.22 Contoh label 8 tetangga dari p1 44 Gambar 3.23 Contoh Piksel p1 sebagai titik batas utara 45 Gambar 3.24 Hasil proses langkah 1 pada algoritma Rosenfeld 46 Gambar 3.25 Contoh Piksel p1 sebagai titik batas selatan 46 Gambar 3.26 Hasil proses langkah 2 pada algoritma Rosenfeld 47 Gambar 3.27 Contoh Piksel p1 sebagai titik batas Timur 47 Gambar 3.28 Hasil proses langkah 3 pada algoritma Rosenfeld 48 Gambar 3.29 Contoh Piksel p1 sebagai titik batas Barat 48 Gambar 3.30 Hasil proses langkah 3 pada algoritma Rosenfeld 49 Gambar 3.31 Flowchart Urutan rancangan bentuk arsitektur aplikasi 51 Gambar 3.32 Flowchart Algoritma ZhangSuen langkah 1 53 Gambar 3.33 Flowchart Algoritma ZhangSuen langkah 2 54 Gambar 3.34 Flowchart Algoritma Stentiford langkah 1 55 Gambar 3.35 Flowchart Algoritma Stentiford langkah 2 56 Gambar 3.36 Flowchart Algoritma Stentiford langkah 3 57 Gambar 3.37 Flowchart Algoritma Stentiford langkah 4 58 Gambar 3.38 Flowchart Algoritma Hilditch langkah 1 59 Gambar 3.39 Flowchart Algoritma Rosenfeld langkah 1 60 Gambar 3.40 Flowchart Algoritma Rosenfeld langkah 2 61 Gambar 3.41 Flowchart Algoritma Rosenfeld langkah 3 62 Gambar 3.42 Flowchart Algoritma Rosenfeld langkah 4 63 Gambar 3.43 Rancangan Menu Utama 65 Gambar 3.44 Rancangan Menu Profil 66 Gambar 3.45 Tampilan Menu teori program 66 Gambar 4.1 Tampilan Menu Utama 69 Gambar 4.2 Tampilan Menu Tombol Browse 71 Gambar 4.3 Tampilan Citra awal 71 Gambar 4.4 Tampilan citra hasil GrayScale 72 Gambar 4.5 Tampilan citra hasil Treshold 72 Gambar 4.6 Tampilan citra hasil Binerisasi 73 Gambar 4.7 Tampilan citra hasil algoritma ZhangSuen 73 Gambar 4.8 Tampilan citra hasil algoritma Stentiford 74 Gambar 4.9 Tampilan citra hasil algoritma Hilditch 74 Gambar 4.10 Tampilan citra hasil algoritma Rosenfeld 75 Gambar 4.11 Tampilan Look 76 Gambar 4.12 Tampilan Menu Materi 77 Gambar 4.13 Tampilan Menu Profil 78
DAFTAR TABEL Halaman Tabel 2.1 Bagian-bagian dari Flowchart 27 Tabel 3.1 Keterangan Gambar Pengalamatan Citra 31 Tabel 4.1 Komponen Menu Utama 70 Tabel 4.2 Komponen Look 76 Tabel 4.3 Komponen Menu Property 77 Tabel 4.4 Komponen Profil 78