Cropping Thinning Pengolahan Citra Digital

2. Kemudian tambahkan nilai 0 ke sekeliling matriks, sehingga didapatkan matris dengan ukuran 5x5 atau m+2 x n+2 3. Tambahkan window dengan ukuran 3x3. Mulai dari matriks A1,1 letakkan 4. Nilai yang akan diganti adalah element tengah 5. Ulangi prosedur ini untuk semua nilai matriks input dengan menggeser

2.3.3 Cropping

Cropping pada pengolahan citra berarti memotong satu bagian dari citra sehingga diperoleh citra yang diharapkan. Ukuran pemotongan citra tersebut berubah sesuai dengan ukuran citra yang diambil. Cropping dilakukan pada koordinat x,y sampaipada koordinat m,n. Oleh karena itu, pertama kali yang harus lakukan adalah menentukan koordinat-koordinat tersebut. Penulis menyebutnya koordinat X L , Y T , X R dan Y B dimana x memiliki koordinat X L sampai X R X L x X R dengan selang [X L , X R ] dan y memiliki koordinat Y T sampai Y B Y T y Y B dengan selang [Y T , Y B ] didapat X L , Y T adalah koordinat titik sudut kiri atas dan X R , Y B adalah koordinat titik sudut kanan bawah maka ukuran pemotongan citra dapat dirumuskan sebagai berikut Arief, 2010: w’ = X R – X L – 1 2.3 h’ = Y B – Y C -1 2.4 dimana: w’ = ukuran lebar citra hasil cropping h’ = ukuran tinggi citra hasil cropping

2.3.4 Thinning

Thinning adalah operasi morfologi yang digunakan untuk menghapus piksel foreground yang terpilih dari gambar biner, bisanya digunakan untuk proses Universitas Sumatera Utara mencari tulang dari sebuah objek skeletonization. Thinning bertujuan untuk mengurangi ukuran dari suatu image image size dengan tetap mempertahankan informasi dan karakteristik penting dari image tersebut Pardede, 2010. Terdapat cukup banyak algoritma untuk image thinning dengan tingkat kompleksitas, efisiensi dan akurasi yang berbeda-beda. Citra yang digunakan untuk proses thinning adalah citra biner, jika data masukannya berupa citra RGB maka haruslah citra tersebut dimanipulasi menjadi citra grayscale, citra grayscale merupakan syarat guna menghasilkan suatu citra biner. Namun untuk mengubah citra grayscale menjadi citra biner dilakukan proses thresholding dahulu. Sehingga diperoleh citra threshold, jika citra threshold sudah diperoleh maka citra biner dapat dicari. Citra biner ini yang kemudian akan diproses dalam proses thinning. Citra hasil dari algoritma thinning biasanya disebut dengan skeleton kerangka. Umumnya suatu algoritma thinning yang dilakukan terhadap citra biner seharusnya memenuhi kriteria-kriteria sebagai berikut: 1. Skeleton dari citra kira-kira berada di bagian tengah dari citra awal sebelum dilakukan thinning. 2. Citra hasil dari algoritma thinning harus tetap menjaga struktur keterhubungan yang sama dengan citra awal. 3. Suatu skeleton seharusnya memiliki bentuk yang hampir mirip dengan citra awal. 4. Suatu skeleton seharusnya mengandung jumlah piksel yang seminimal mungkin namun tetap memenuhi kriteria-kriteria sebelumnya Hasil dari operasi thinning pada citra biner yang sederhana dapat dilihat pada gambar 2.4. Dimana gambar 2.4a merupakan citra asli sebelum dilakukan proses thinning dan gambar 2.4b merupakan citra hasil proses thinning. Universitas Sumatera Utara a b Gambar 2.4 a Pola awal b Pola hasil Thinning Sebagian besar algoritma thinning merupakan algoritma yang besifat iteratif. Dalam sebuah penelusuran piksel sisi diperiksa berdasarkan beberapa kriteria untuk menentukan apakah suatu piksel sisi dihapus atau tidak. Banyaknya jumlah penelusuran yang terjadi dihitung berdasarkan jumlah loop perulangan yang terjadi. Ada beberapa jenis algoritma thinning yaitu sequential dan paralel. Jenis sequential menggunakan hasil dari penelusuran sebelumnya dan hasil yang didapatkan sejauh ini dalam penelusuran yang sekarang untuk memproses piksel yang sekarang. Jadi pada setiap ujung penelusuran sejumlah piksel telah diproses terlebih dahulu. Hasil ini dapat digunakan secepatnya untuk memproses piksel selanjutnya. Sedangkan jenis parallel, hanya hasil dari penelusuran sebelumnya yang mempengaruhi keputusan untuk menghapus suatu titik pada penelusuran yang sekarang. Algoritma ZhangSuen adalah algoritma thinning untuk citra biner, dimana piksel background citra bernilai 0, dan piksel foreground region bernilai 1. Algoritma ini cocok digunakan untuk bentuk yang diperpanjang elongated dan dalam aplikasi OCR Optical Character Recognition. Algoritma ini terdiri dari beberapa penelusuran, dimana setiap penelusurannya terdiri dari 2 langkah dasar yang diaplikasikan terhadap titik objek titik batas region. Titik objek ini dapat didefinisikan sebagai sembarang titik yang pikselnya bernilai 1, dan memiliki paling sedikit 1 piksel dari 8-ketetanggaannya yang bernilai 0. Setiap iterasi dari metode ini terdiri dari dua sub-iterasi yang berurutan yang dilakukan terhadap contour points dari wilayah citra. Contour point adalah setiap piksel dengan nilai 1 dan memiliki setidaknya satu 8-neighbor yang memiliki nilai 0. Dengan informasi ini, langkah pertama adalah menandai contour point Universitas Sumatera Utara p untuk dihapus jika semua kondisi ini dipenuhi: a 2 ≤ Np 1 ≤ 6; b Sp 1 = 1; c p 2 . p 4 . p 6 = 0; d p 4 . p 6 . p 8 = 0; dimana Np 1 adalah jumlah tetangga dari p 1 yang tidak 0; yaitu, Np 1 = p 2 + p 3 + ... + p 8 + p 9 dan Sp 1 adalah jumlah dari transisi 0-1 pada urutan p 2 , p 3 , ..., p 8 , p 9 . Dan pada langkah kedua, kondisi a dan b sama dengan langkah pertama, sedangkan kondisi c dan d diubah menjadi: c ‟ p 2 . p 4 . p 8 = 0; d ‟ p 2 . p 6 . p 8 = 0; Langkah pertama dilakukan terhadap semua border pixel di citra. Jika salah satu dari keempat kondisi di atas tidak dipenuhi atau dilanggar maka nilai piksel yang bersangkutan tidak diubah. Sebaliknya jika semua kondisi tersebut dipenuhi maka piksel tersebut ditandai untuk penghapusan. Piksel yang telah ditandai tidak akan dihapus sebelum semua border points selesai diproses. Hal ini berguna untuk mencegah perubahan struktur data. Setelah langkah 1 selesai dilakukan untuk semua border points maka dilakukan penghapusan untuk titik yang telah ditandai diubah menjadi 0. Setelah itu dilakukan langkah 2 pada data hasil dari langkah 1 dengan cara yang sama dengan langkah 1 sehingga, dalam satu kali iterasi urutan algoritmanya terdiri dari: 1. Menjalankan langkah 1 untuk menandai border points yang akan dihapus, 2. hapus titik-titik yang ditandai dengan menggantinya menjadi angka 0, 3. menjalankan langkah 2 pada sisa border points yang pada langkah 1 belum dihapus lalu yang sesuai dengan semua kondisi yang seharusnya dipenuhi pada langkah 2 kemudian ditandai untuk dihapus, 4. hapus titik-titik yang ditandai dengan menggantinya menjadi angka 0. Universitas Sumatera Utara Prosedur ini dilakukan secara iteratif sampai tidak ada lagi titik yang dapat dihapus, pada saat algoritma ini selesai maka akan dihasilkan skeleton dari citra awal Zhang Suen, 1984. 2.3.5 E kstraksi C iri F eature E xtraction F eature extraction merupakan suatu metode untuk mendapatkan karateristik dari suatu citra dalam hal ini citra tersebut merupakan suatu karakter berupa huruf dan angka. Dengan feature exktraction maka citra yang satu dengan yang lain dapat dibedakan dengan memperhatikan ciri yang terdapat pada citra itu sendiri. Beberapa metode feature extraction yang ada adalah sebagai berikut Mulyo et al., 2004: 1. Pixel Mapping Pixel mapping merupakan metode feature extraction yang sederhana. Metode ini merupakan kelanjutan proses thresholding, dimana suatu citra telah berubah warnanya menjadi hitam atau putih. Pixel mapping merupakan suatu pemetaan dari citra yang disimpan ke dalam array, dimana piksel yang berwana hitam mempunyai nilai 1 sedangkan piksel yang berwarna putih mempunyai nilai 0. Contoh dari penerapan pixel mapping dapat dilihat pada gambar 2.5. { 0 0 0 1 1 1 1 0 0 0; 0 0 1 1 0 0 1 1 0 0; 0 0 1 1 0 0 1 1 0 0; 0 0 1 1 0 0 1 1 0 0; 0 0 1 1 1 1 1 1 0 0; 0 1 1 0 0 0 0 1 1 0; 0 1 1 0 0 0 0 1 1 0; 1 1 0 0 0 0 0 0 1 1} G ambar 2.5 C ontoh F eature E xtraction dengan Pixel Mapping Universitas Sumatera Utara 2. Image Compression Pada metode ini citra dibagi menjadi nxn daerah. Misalkan input citra berukuran 32x32 piksel dan citra dibagi menjadi 8x8 daerah, dimana masing-masing daerah terdiri dari 4x4 piksel gambar 2.8. G ambar 2.6 C itr a ber ukur an 32 x 32 piksel yang ter bangi menjadi 8 x 8 daer ah Pada gambar 2.6 terlihat bahwa citra asli yang berukuran piksel menjadi citra berukuran piksel, dimana setiap 1 pikselnya mewakili piksel citra asli. Dengan kata lain bahwa setiap daerah piksel dikompresi menjadi 1 nilai pixel. G ambar 2.7 C itr a ber ukur an 32 x 32 piksel setelah dikompr esi menjadi 8 x 8 piksel Pada gambar 2.7 terlihat bahwa setiap pixel mempunyai nilai feature extraction yang berbeda. Daerah-daerah tersebut mempunyai nilai antara 0 dan 1, hal tersebut dapat dilihat pada tingkat keabu-abuan warna tiap pikselnya. Untuk mencari nilai image compression dari tiap piksel, digunakan persamaan berikut: � = 1 � � � ∑ ∑ ��, � �−1 �=0 �−1 �=0 2.5 Universitas Sumatera Utara dimana: v = nilai image compression M = jumlah piksel daerah dalam satu baris N = jumlah piksel daerah dalam satu kolom fx,y = jumlah binary pixel pada suatu posisi x,y 2.3.6 Segmentasi Segmentasi digunakan untuk mendapatkan karakter dari suatu citra kata. Adapun metode segmentasi yang dipakai dengan menggunakan algoritma Heuristic Lecolinet Baret, 1994; Rodrigues Gay Thome 2000. Metode dari algoritma segmentasi Heuristic berdasarkan terhadap sebuah konstruksi pengambilan keputusan dengan sistem tree dan berdasarkan pada penggunaan profil histogram yang telah tercipta dan diproporsikan oleh suatu kata. Profil proyeksi merupakan sebuah struktur data yang digunakan untuk menyimpan sejumlah piksel yang bukan merupakan background ketika suatu citra diproyeksikan melalui sumbu X dan Y pada persamaan 2.6. Setiap sel dari vektor proyeksi dikaitan dengan jumlah piksel yang terletak di atas posisi threshold yang telah ditentukan, biasanya warna latar belakang background persamaan 2.7 dan 2.8 sebuah proyeksi histogram alternatif mengambil rata- rata dari intensitas piksel yang terkait Rodrigues Gay Thome 2000. �, � → ��, � 2.6 �� = ∑ � � ℎ �=0 , � ∈ [0, �] 2.7 � � = ∑ � � � �=0 , � ∈ [0, ℎ] 2.8 Dimana X dan Y merupakan sumbu horizontal dan vertikal, h Universitas Sumatera Utara merepresentasikan ketinggian gambar ukuran vertikal untuk X atau lebar ukuran horizontal bagi Y dan v merepresentasikan ukuran dari gambar. Ide utama dari metode yang termasuk dalam konstruksi tree dengan proses pengulangan, terletak dari data pada histogram yang telah mencapai performa yang ditentukan. Tingkat kesuksesan ditentukan dari kriteria heuristic tersebut. Algoritma Heuristic merupakan metode dimana proses segmentasi dimulai dengan pencarian titik-titik segmentasi yang valid melalui metode ekstraksi sebuah kata. Proses segmentasi ini dapat lebih dipahami proses kerjanya dengan memperhatikan kondisi histogram dari tiap-tiap karakter yang masih dalam 1 kelompok kata. Untuk membantu proses segmentasi, maka pada saat prosess pemotongan kata dilakukan juga pengecekan terhadap ketentuan tipografi. Pada dasarnya ada tiga jenis tipografi dari kata yang terbentuk. Dari ketiga pola di atas sangat membantu dalam proses segmentasi. Hal ini dapat dilihat ketika dilakukannya proses histogram vertikal. a b c G ambar 2.8a C itr a asli b H istogr am hor izontal http: ser c.car leton.edu c H istogram vertikalhttp: www.blogdivvy.com Universitas Sumatera Utara Dari pola histogram gambar 2.8b dan gambar 2.8c yang dilakukan pada citra asli gambar 2.8a , maka dapat telihat bahwa titik pemotongan karakter dilakukan saat tinggi kurva mendekati nilai X atau Y minimum. 2.4 J ar ingan Sar af T iruan J ST Kecerdasan buatan atau Artificial Intelligence AI adalah bagian dari Computer Science yang mencoba memberikan kemampuan manusia seperti manusia kepada komputer. Salah satu cara untuk memberikan computer kemampuan manusia adalah dengan menggunakan jaringan saraf tiruan. Otak manusia merupakan contoh dari jaringan saraf tiruan. Otak manusia terdiri dari jaringan yang terdiri dari miliaran neuron yang saling terhubung. Neuron adalah sel individual yang dapat memproses informasi dan kemudian mengaktifkan neuron yang lain untuk melanjutkan proses Heaton, 2005. Jaringan saraf tiruan adalah merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan digunakan karena jaringan saraf ini diimplementasikan dengan menggunakan program computer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. Sistem pemrosesan informasi yang memiliki karakteristik kinerja tertentu yang sama dengan jaringan saraf biologis. Jaringan saraf tiruan telah dikembangkan sebagai generalisasi model matematika dari kognisi manusia atau saraf biologis, berdasarkan asumsi bahwa: 1. Pengolahan informasi terjadi pada elemen-elemen sederhana yang disebut neuron. 2. Sinyal dilewatkan di antara neuron melalui link koneksi. 3. Sambungan setiap link memiliki bobot terkait, dalam jaringan saraf yang khas, mengalikan sinyal yang ditransmisikan. Universitas Sumatera Utara 4. Setiap neuron menerapkan fungsi aktivasi biasanya nonliniear untuk input jumlah bobot sinyal input untuk menentukan sinyal output Fausett, 1994 2.4.1 K onsep dasar jar ingan syaraf tiruan Jaringan saraf tiruan adalah prosesor tersebar paralel yang sangat besar yang memiliki kecenderungan untuk menyimpan pengetahuan yang bersifat pengalaman dan membuatnya siap untuk digunakan. JST menyerupai otak manusia dalam dua hal, yaitu: 1. Pengetahuan diperoleh jaringan melalui proses belajar. 2. Kekuatan hubungan antar sel syaraf neuron yang dikenal sebagai bobot-bobot sinaptik digunakan untuk menyimpan pengetahuan. Pembagian arsitektur jaringan saraf tiruan bias dilihat dari kerangka kerja dan skema interkoneksi. Kerangka kerja jaringan saraf tiruan bisa dilihat jumlah lapisan layer dan jumlah node pada setia lapisan. Lapisan-lapisan penyusun jaringan saraf tiruan dapat dibagi menjadi tiga, yaitu 1. Lapisan input Node-node di dalam lapisan input disebut unit-unit input. Unit-unit input menerima input dari dunia luar. Input yang dimasukkan merupakan penggambaran dari suatu masalah. 2. Lapisan Tersembunyi Node-node di dalam lapisan terembunyi disebut unit-unit tersembunyi. output dari lapisan ini tidak secara langsung dapat diamati. 3. Lapisan Output Node-node pada lapisan output disebut unit-unit output. Keluaran atau output dari lapisan ini merupakan output jaringan saraf tiruan terhadap suatu permasalahan Mengenai pengelompokan jaringan saraf tiruan, ada pula yang membaginya Universitas Sumatera Utara ke dalam dua kelompok, yaitu jaringan saraf tiruan umpan maju feed-forward networks dan jaringan saraf tiruan berulangumpan balik recurrentfeedback networks. Jaringan saraf tiruan umpan maju adalah graf yang tidak mempunyai loop, sedangkan jaringan saraf tiruan berulangumpan balik dirincikan dengan adanya loop-loop koneksi balik. Pendapat lain mengenai arsitektur jaringan saraf tiruan adalah sebagai berikut : 1. Jaringan lapis tunggal single layer net Jaringan yang memiliki arsitektur jenis ini hanya memiliki satu buah lapisan bobot koneksi. Jaringan lapisan-tunggal terdiri dari unir-unir input yang menerima sinyal dari dunia luar, dan unit-unit output dimana nilainya dapat dilihat sebagai respon dari jaringan saraf tiruan tersebut. 2. Jaringan multilapis multilayer net Merupakan jaringan dengan satu atau lenih lapisan tersembunyi. Jaringan multilapis memiliki kemampuan lebih dalam memecahkan masalah bila dibandingkan dengen single layer net, namun pelatihannya mungkin lebih rumit. 3. Jaringan kompetitif Pada jaringan ini sekumpulan neuron bersaing untuk menapatkan hak menjadi aktif. 2.4.2 M odel syar af neuron Sebuah neuron adalah sebuah unit pengeolahan informasi yang merupakan dasar untuk pengoperasian jaringan saraf tiruan. Gambar 2.8 Haykin, 1999 menunjukkan model dari sebuah neuron, yang merupakan bentuk dasar untuk Universitas Sumatera Utara merancang jaringan saraf tiruan. Satu neuron terdiri dari tiga bagian dasar yaitu Siang, 2009: 1. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur tesebut memiliki bobotkeluaran yang berbeda-beda. Bobot yang bernilai positif akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawanya. Jumlah, struktur dan pola hubungan antar unit-unit tersebut akan menentukan arsitektur jaringan dan juga model yang terbentuk. 2. Suatu unit penjumlahan yang akan menjumlahkan input-input sinyal yang sudah dikalikan dengan bobotnya. 3. Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain ataukan tidak ����� ������ � � 1 → � �1 � 2 → � �2 … � � → � �� v k G ambar 2.9 M odel Nonlinear Neur on 2.4.3 F ungsi A ktivasi dan E rror Fungsi aktivasi merupakan bagian penting dalam tahap perhitungan JST karena dipakai untuk menentukan keluaran dari suatu neuron. Beberapa fungsi aktivasi yang dipakai dalam JST adalah: 1. Fungsi sigmoid biner logsig Fungsi ini pada umumnya digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai antara 0 sampai 1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Fungsi sigmoid biner dirumuskan sebagai: ∑ Fx Universitas Sumatera Utara �� = 1 1+ � −� 2.9 2.Fungsi sigmoid bipolar tansig Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja fungsi ini memiliki range antara 1 sampai -1. Fungsi sigmoid bipolar dirumuskan sebagai: �� = 1 −� −� 1+ � −� 2.10 Pada tahap pembelajaran di dalam algoritma propagasi balik, diperlukan suatu kondisi untuk menghentikan proses pembelajaran. Berbagai kondisi seperti squared error, total squared error, dan mean squared error dapat digunakan untuk menghentikan proses pembelajaran. Definisi dari masing-masing kondisi tersebut diatas adalah sebagai berikut: 1. Squared error, adalah jumlah dari masing-masing kuadrat dari perbedaan antara target yang telah ditentukan dengan keluaran yang dihasilkan oleh jaringan setiap neuron pada lapisan keluaran. 2. sum squared error SSE, adalah jumlah squared error untuk setiap pasangan pelatihan. 3. mean squared error MSE, bisa berarti squared error dibagi dengan jumlah neuron pada lapisan keluaran atau sum squared error dibagi dengan jumlah pasangan pelatihan. Pada umumnya digunakan total squared error di dalam algoritma propagasi balik, tetapi pada dasarnya ketiga kondisi tersebut mempunyai kemiripan yaitu sebagai informasi error yang telah didefinisikan untuk menghentikan proses pembelajaran. Harga dari error yang telah didefinisikan, sebelumnya sudah ditentukan dan jika harga Universitas Sumatera Utara error yang dihitung pada tahap pembelajaran lebih kecil dari harga error yang telah didefinisikan maka proses pembelajaran dihentikan. Harga dari error yang didefinisikan untuk menghentikan proses pembelajaran akan menentukan ketepatan jaringan pada saat pengenalan pola dan lamanya proses pembelajaran. Semakin kecil harga error yang didefinisikan akan menyebabkan semakin tinggi tingkat ketepatan jaringan pada saat pengenalan pola nanti, tetapi proses pembelajaran menjadi semakin lama dan sebaliknya. ��� = 1 2 ∑ ∑ � �� − � �� 2 � � 2.11 Dimana: n = banyaknya pola pelatihan k = banyaknya keluaran t kn = nilai terget keluaran yang diinginkan y kn = nilai keluaran actual 2.4.4 Pr oses B elajar Belajar merupakan suatu proses dimana parameter-parameter bebas JST diadaptasikan melalui suatu proses perangsangan berkelanjutan oleh lingkungan dimana jaringan berada. Berdasarkan algoritma pelatihannya, maka JST terbagi menjadi dua yaitu: 1. Supervised Learning Pembelajaran Terawasi Metode pembelajaran ini memerlukan pengawasan dari luar atau pelabelan data sampel yang digunakan dalam proses belajar. Dimana Jaringan belajar dari sekumpulan pola masukan dan keluaran. Sehingga pada saat pelatihan diperlukan pola yang terdiri dari vector masukan dan vektor target yang diinginkan. Vektor masukan dimasukkan ke dalam jaringan yang kemudianmenghasilkan vektor keluaran yang selanjutnya dibandingkan dengan vektor target. Selisih kedua vector tersebut menghasilkan galat error yang Universitas Sumatera Utara digunakan sebagai dasar untuk mengubah matriks koneksi sedemikian rupa sehingga galat semakin mengecil pada siklus berikutnya. 2. Unsupervised Learning Pembelajaran tak Terawasi Metode pembelajaran ini jaringan saraf tiruan mengorganisasi dirinya sendiri untuk membentuk vektor-vektor input yang serupa, tanpa menggunakan data atau contoh-contoh pelatihan. Struktur menggunakan dasar data atau kolerasi antara pola-pola data yang dieksplorasi. Paradigma pembelajaran ini mengorganisasi pola-pola ke dalam kategori-kategori berdasarkan kolerasi yang ada. 2.4.5 Pr opagasi B alik Metode propagasi balik merupakan metode yang sangat baik dalam menagani masalah pengenalan pola-pola kompleks. Metode ini merupakan metode jaringan saraf tiruan yang popluler. Beberapa contoh aplikasi yang melibatkan metode ini adalah pengompresian data, pendeteksian virus computer, pengidentifikasian objek, sintesis suara dari teks, dan lain-lain. Istilah “propagasi baik” atau “perambatan kembali” diambil dari cara kerja jaringan ini, yaitu bahwa gradient error unit-unit tersembunyi diturunkan dari penyiaran kembali error-error yang diasosiasikan dengan unit-unit output. Hal ini karena nilai target untuk unit-unit trersembunyi tidak diberikan. Metode ini menurunkan gradien untuk meminimalkan penjumlahan error kuadrat output jaringan. Nama lain dari propagasi balik adalah aturan delta yang digeneralisasi. 2.4.5.1A r sitektur Di dalam jaringan propagasi balik, setiap unit yang berada di lapisan input terhubung dengan setiap unit yang ada di lapisan tersembunyi. Hal serupa berlaku pula pada lapisan tersembunyi. Setiap unit yang ada di lapisan tersembunyi terhubung dengan setiap unit yang ada di lapisan output. Pada gambar 2.9 terdapat arsitektur JST propagasi balik dengan menggunakan satu Universitas Sumatera Utara layer tersembunyi Fausett, 1994. Jaringan saraf tiruan propagasi balik terdiri dari banyak lapisan multilayer neural networks: 1. Lapisan input 1 buah. Lapisan input terdiri dari neuron-neuron atau unit-unit input, mulai dari unit input 1 sampai unit input n. 2. Lapisan tesembunyi minimal 1. Lapisan tersembunyi terdiri dari unit-unit tersembunyi mulai dari unit tersembunyi 1 sampai unit tersembunyi p. 3. Lapisan output 1 buah. Lapisan output terdiri dari unit-unit outut mulai dari unit output 1 sampai unit output m. n, p, m masing-masing adalah bialangan integer sembarang menurut arsitektur jaringan saraf tiruan yang dirancang. v 0j dan w 0k masing-masing adalah bias untuk unit tersembunyi ke-j dan unit output ke-k. Bias v j0 dan w k0 berprilaku sepertu bobot di mana output bias ini selalu sama dengan 1. v ji adalah bobot koneksi antara unit ke-i lapisan input dengan unit ke-j lapisan tersembunyi, sedangkan w kj adalah bobot koneksi antara unit ke-j lapisan tersembunyi dengan unit ke-k lapisan output. 2.4.5.2 J umlah L apisan T er sembunyi yang Digunakan Satu buah lapisan tersembunyi bisa dikatakan cukup memadai untuk menyelesaikan masalah sembarang fungsi pendekatan. Dengan menggunakan lebih dari satu buah lapisan tersembunyi, kadang-kadang suatu masalah lebih mudah untuk diselesaikan. Mengenai banyaknya jumlah lapisam tersembunyi yang dibutuhkan, tidak terdapat ketentuan khusus Puspitaningrum, 2006. 2.4.5.3 J umlah Neur on di L apisan T er sembunyi Menentukan jumlah neuron di lapisan tersembunyi merupakan bagian terpenting dalam menentukan rancangan arsitektur jaringan saraf tiruan secara keseluruhan. Meskipun lapis tersembunyi ini tidak berinteraksi dengan lingkungan eksternal, lapisan ini memiliki pengaruh besar terhadap hasil Universitas Sumatera Utara akhir jaringan. Jumlah lapis tersembunyi dan jumlah neuron pada masing- masing lapis tersembunyi harus dipertimbangkan dengan cermat. Menggunakan terlalu sedikit neuron di lapisan tersembunyi akan menghasilkan sesuatu yang disebut underfitting. Underfitting terjadi ketika terlalu sedikit neuron di lapisan tersembunyi untuk dapat mendeteksi sinyal dalam satu set data yang rumit. Sebaliknya mennggunakan terlalu banyak neuron di lapisan tersembunyi akan menghasilkan sesuatu yang disebut overfitting. Overfitting terjadi ketika jaringan saraf memiliki banyak kapasitas pengolahan informasi sehingga sedikitnya jumlah informasi yang terdapat pada data pelatihan tidak cukup untuk melatih semua neuron di lapisan tersembunyi. Ada banyak aturan yang digunakan untuk menentukan jumlah neuron di lapis an tersembunyi. Berikut adalah beberapa diantaranya adalah Heaton, 2005: 1. Jumlah neuron lapisan tersembunyi harus diantara ukuran lapisan input dan lapisan output. 2. Jumlah neuron lapisan tersembunyi harus 23 dari ukuran neuron input, ditambah ukuran lapisan output. 3. Jumlah neuron lapis tersembunyi tidak pernah lebih dari dua kali ukuran lapisan input. 2.4.5.4A lgor itma Cara kerja jaringan propagasi balik adalah sebagai berikut, mula-mula jaringan diinisialisasi dengan bobot yang diset dengan bilangan acak. Lalu contoh-contoh pelatihan dimasukkan ke dalam jaringan. Contoh pelatihan terdiri dari pasangan vektor input dan vektor target. Keluaran dari jaringan berupa sebuah vektor output aktual. Selanjutnya vektor output aktual jaringan dibandingkan dengan vektor output target untuk mengetahui apakah output jaringan sudah sesuai dengan yang diharapkan output aktual sudah sama dengan output target. E rror yang timbul akibat perbedaan antara output aktual dengan output target tersebut kemudian dihitung dan digunakan untuk mengupdate bobot-bobot Universitas Sumatera Utara yang relevan dengan jalan mempropagasikan kembali error. Setiap perubahan bobot yang terjadi diharapkan dapat mengurangi besar error. Epoch siklus setiap pola pelatihan seperti ini dilakukan pada semua set pelatihan sampai unjuk kerja jaringan mencapai tingkat yang diinginkan atau sampai kondisi berhenti terpenuhi. Setelah proses sele sai, barulah diterapkan algoritma aplikasi. Algoritma propagasi balik dapat dibagi ke dalam 2 bagian: 1. Algoritma pelatihan Terdiri dari 3 tahap: tahap umpan maju pola pelatihan input, tahap pemprogasibalikan error, dan tahap pengaturan bobot. 2. Algoritma aplikasi Yang digunakan hanyalah tahap umpan maju saja. Berdasarkan gambar 2.9 berikut adalah proses pelatihan JST propagasi balik dengan sebuah lapis tersembunyi Fausett, 1994: a. Algoritma Pelatihan Salah satu dari fungsi aktivasi yang djelaskan pada sub bab 2.3.3 dapat digunakan pada algoritma standar propagasi balik. Bentuk data terutama nilai-nilai target merupakan faktor penting dalam memilih fungsi yang sesuai. Berikut ini adalah algoritma pelatihan propagasi balik. 1. Inisialisasi bobot-bobot dengan menggunakan nilai acak yang kecil. 2. W hile kondisi berhenti tidak terpenuhi do langkah ke-2 sampai langkah ke-9 3. Untuk setiap pasangan pola pelatihan, lakukan langkah ke-3 sampai langkah Ke-8. 4. Setiap unit input x i dari unit ke-1 sampai unit ke- n pada lapisan input mengirimkan sinyal input ke semua unit yang ada dilapisan atasnya ke lapisan tersembunyi. 5. Pada setiap unit di lapisan tersembunyi z j dari unit ke-1 sampai unit ke- p; i=1,...,n; j=1,...,p sinyal output lapisan tersembunyinya dihitung dengan Universitas Sumatera Utara menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbobot z i : � � = �� �0 ∑ � � � �� � �=0 2.12 kemudian dikirim ke semua unit di lapisan atasnya. 6. Setiap unit di lapisan output y k dari unit ke-1 sampai unit ke- m; i=1,...,n; k=1,...,m dihtung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input bebobot z j bagi lapisan ini: � � = �� �0 ∑ � � � �� � �=1 2.13 Tahap propagasi perambatan balik error: 7. Setiap unit output y k dari unit ke-1 sampai unit ke- m; j=1,...,p; k=1,...,m menerima pola target t k lalu informasi kesalahan lapisan output δ k dihitung. δ k dikirim ke lapisan bawahnya dan digunakan untuk menghitung besar koreksi bobot dan bias ∆w kj dan ∆w k0 antara lapisan tersembunyi dengan lapisan output: � � = � � − � � � ′ � �0 + � � � �� 2.14 ∆� �� = ∝ � � � � 2.15 ∆� �0 = �� � 2.16 8. Pada setiap unit di lapisan tersembunyi dari unit ke-1 sampai unit ke- p; i=1,...,n; j=1,...,p; k=1,...,m dilakukan perhiutngan informasi kesalahan lapisan tersembunyi δ j . δ j kemudian digunakan untuk menghitung besar koreksi bobot dan bias ∆v ji dan ∆v j0 antara lapisan input dan lapisan tersembunyi. � � = ∑ � � � �� � �=1 � ′ � �0 ∑ � � � �� � �=1 2.17 Universitas Sumatera Utara ∆� �� = � � � � � 2.18 ∆� �0 = �� � 2.19 9. Pada setiap unit output y k dari unit ke-1 sampai unit ke- m dilakukan peng-update-an bias dan bobot j=0,...,p; k=1,...,m sehingga bias dan bobot baru Menjadi: � �� ���� = � �� ���� + ∆� �� 2.20 Dari unit ke-1 sampai unit ke- p di lapisan tersembunyi juga dilakukan pengupdate-an pada bias dan bobotnya i=0,...,n; j=1,...,p: � �� ���� = � �� + ∆� �� 2.21 10. Tes kondisi berhenti b. A lgor itma A plikasi Setelah dilakukan pelatihan, jaringan sarar tiruan propagasi balik dapat diterapkan dengan hanya menggunakan tahap umpan maju feedforward pada fase pelatihan. Berikut merupakan algoritma dari aplikasi propagasi balik. 1. Inisialisasi bobot. Bobot ini diambil dari bobot-bobot terakhir yang diperoleh dari algoritma pelatihan. 2. Untuk setiap vektor input, lakukan langkah ke-2 sampai ke-4. 3. Setiap unit input x i dari unit ke-1 sampai unit ke- n pada lapisan input; i=1,...,n menerima sinyal input pengujian x i dan menyiarkan sinyal x i ke semua unit pada lapisan di atasnya unit-unit tersembunyi 4. Setiap unit di lapisan tersembunyi z j unit ke-1 sampai unit ke- p; i=1,...,n; j=1,...,p menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input x i. Sinyal output dari lapisan tersembunyi kemudian dikirim ke semua unit pada lapisan di atasnya, dengan menggunakan persamaan 2.15 pada proses pelatihan: Universitas Sumatera Utara � � = �� �0 ∑ � � � �� � �=1 5. Setiap unit output y k ke-1 sampai unit ke- m; j=1,...,p; k=1,...,m menghitung sinyal outputnya dengan menerapakan fungsi aktivasi terhadap sinyal-sinyal input bagi lapisan ini, yaitu sinyal-sinyal input z j dari lapisan tersembunyi, dengan menggunakan persamaan 2.16 pada proses pelatihan : � � = � � �0 � � � � �� � � =1 2.4.6 Optimalitas A r sitektur B ackpropagation Masalah utama yang terdapat dalam backpropagation ialah lamanya proses iterasi yang dilakukan. Backpropagation tidak dapat memastikan berapa epoch yang harus dilalui sampai pola yang diinginkan terpenuhi. Oleh karena itu terdapat beberapa cara yang digunakan untuk mengoptimalkan proses iterasi Puspitaningrum, 2006, yaitu: 1. Pemilihan bobot dan bias awal Bobot awal merupakan unsur yang terpenting dalam pembentukan jaringan yang baik, karena bobot awal mempengaruhi kecepatan iterasi jaringan dalam mengenali pola. Bobot awal standar yang biasa dipakai dalam melakukan proses komputasi dinilai memberikan waktu yang lama. Inisialisasi Nguyen Widrow merupakan modifikasi sederhana bobot-bobot dan bias ke unit tersembunyi yang mampu meningkatkan kecepatan jaringan dalam proses pelatihan jaringan. Inisialisasi Nguyen Widrow didefinisikan dengan persamaan: � = 0,7 �� � 2.22 Universitas Sumatera Utara Dimana: n = jumlah neuron pada lapisan input p = jumlah neuron pada lapisan tersembunyi β = faktor skala Prosedur inisialisasi Nguyen Widrow ialah: a. Inisialisasi bobot-bobot v ji lama dengan bilangan acak dalam interval [- 0.5, 0.5] b. Hitung �� �� � = �� �1 2 + � �2 2 … + � �� 2 2.23 c. Bobot baru yang dipakai sebagai inisialisasi � �� = � � �� ���� �� � � 2.24 d. Bias baru yang dipakai sebagai inisialisasi v j0 = bilangan acak dalam interval [ −�, �] 2.25 2. Momentum Penambahan parameter momentum dalam tahap pengoreksian nilai bobotdapat mempercepat proses pelatihan yaitu dengan memodifikasi nilai bobot pada iterasi t+1 yang nilainya ditentukan oleh nilai bobot pada iterasi ke- t dan t-1. μ adalah konsanta yang menyatakan parameter momentum yang nilainya 0 ≤ μ ≤1. 2.5 Data F low Diagram DF D Data Flow Diagram DFD adalah suatu model logika data atau proses yang dibuat untuk menggambarkan dari mana asal data dan kemana tujuan data Universitas Sumatera Utara yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut. DFD menunjukan hubungan antar data pada sistem dan proses pada sistem. Dengan kata lain DFD merupakan suatu cara untuk menggambarkan bangaimana data dip roses dalam sebuah sistem Sommerville, 2007. DFD dapat digunakan untuk mewakili sistem atau perangkat lunak pada setiap level abstraksi. DFD dapat dibagi menjadi beberapa level yang mewakili tingkatan aliran informasi dan detail fungsional. Oleh karena itu DFD menyediakan mekanisme untuk pemodelan fungsional serta pemodelan arus informasi. Menurut Yourdan dan DeMarco 1987 komponen DFD terdiri dari: 1. Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Biasanya terminator dikenal external entity. 2. Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input menjadi output. 3. Komponen data store digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda jamak yang biasanya database. 4. Alur data merupakan komponen yang menunjukan arah menuju ke dan keluar dari suatu proses. Adapun lambang DFD yang digunakan terdapat pada gambar 2.10. Terminator Proses Storage alur Data G ambar 2.10 K omponen Data F low Diagram DFD level 0 disebut juga sebuah model dasar sistem atau model konteks diagram konteks, yang mewakili element seluruh perangkat lunak Universitas Sumatera Utara sebagai satu gelembung proses tunggal dengan data input atau output yang ditunjukkan dengan panah keluar dan panah masuk Pressman, 2001. Notasi dasar yang digunakan untuk mengembangkan sebuah DFD tidak dengan sendirinya cukup menjelaskan persyaratan untuk perangkar lunak. Notasi grafid harus ditambah dengan teks deskriptif. Spesifikasi proses PSPEC dapat digunakan untuk menentukan rinciaan pengolahan tersirat oleh gelembung dalam DFD. Spesifikasi proses menggambarkan masukan ke fungsi algoritma yang diterapkan untuk mengubah input dan output yang dihasilkan. Selain itu PSPEC menunjukkan pembatasan dan keterbatasan yang ditetapkan pada proses fungsi, karakteristik kinerja yang dapat mempengaruhi cara dimana proses tersebut dilaksanakan. 2.5 Plat nomor K endar aan Tanda Nomor Kendaraan Bermotor TNKB, atau sering kali disebut plat nomor atau nomor polisi nopol, adalah plat aluminium tanda kendaraan bermotor di Indonesia yang telah didaftarkan pada Kantor Bersama Samsat. Spesifikasi teknis dari Tanda Nomor Kendaraan Bermotor : 1. Panjang plat nomor kendaraan buat mobil 39,5 cm 2. Lebar plat nomor kendaraan buat mobil 13,5 cm 3. Panjang plat nomor kendaraan buat motor 27,5 cm 4. Lebar plat nomor kendaraan buat motor 11 cm 5. Latar belakang untuk plat kendaraan pribadi warna hitam Universitas Sumatera Utara

BAB III METODOLOGI PENELITIAN