BAB 2 LANDASAN TEORI
Dalam bab ini dibahas teori yang digunakan sebagai landasan pengerjaan pengenalan kata berdasarkan tulisan tangan huruf Korea (hangūl) menggunakan jaringan saraf tiruan propagasi balik. Pembahasan bertujuan untuk menguraikan teori dan algoritma yang digunakan dalam pengenalan kata.
2.1 Hangūl ( Alfabet Bahasa Korea) Hangūl adalah alfabet bahasa Korea yang diciptakan oleh sekelompok pelajar kerajaan yang diperintah oleh Raja Sejong pada Dinasti Yi tahun 1443. Prinsip daripada hangūl adalah hieroglif. Pada masa penciptaannya, hangūl terdiri dari 28 karakter dasar, namun saat ini hanya 24 karakter yang digunakan (Lee et al. 1991). Karakter dasar hangūl dapat dibagi menjadi konsonan dasar dan vokal dasar seperti pada tabel 2.1. Tabel 2.1 24 Karakter dasar hangūl Vokal
ㅏ
ㅑ
ㅓ
ㅕ
ㅗ
ㅛ
ㅜ
Konsonan
ㄱ
ㄴ
ㄷ
ㄹ
ㅂ
ㅇ
ㅊ
ㅋ
ㅌ
ㅍ
ㅎ
ㅅ
ㅈ
ㅁ
ㅠ
ㅡ
ㅣ
Hangūl adalah tulisan yang terbentuk sebagai gabungan dari beberapa karakter dan memiliki struktur dua dimensi. Karakter hangūl memiliki 3 bagian yakni bagian pertama konsonan, kedua vokal dan ketiga secara umum adalah konsonan. Untuk setiap kata, harus ada setidaknya sebuah karakter konsonan dan karakter vokal,
Universitas Sumatera Utara
7
dimana karakter konsonan selalu diatas kiri atau diatas karakter vokal. Menurut perspektif pemrosesan gambar, maka silabel karakter Korea dapat dibagi menjadi 6 bagian seperti yang ditunjukan pada gambar 2.1. Dalam penelitian ini, bagian yang diteliti hanya hangūl yang terdiri dari dua bagian.
Gambar 2.1 Enam bagian penulisan kata hangūl (Lee et al. 1991).
2.2 Citra Menurut pendapat ahli, citra (image) adalah objek yang dibuahkan oleh pantulan atau pembiasan sinar yang difokuskan dari sebuah lensa atau cermin (Simonett et al. 1983). Pantulan daripada cahaya yang dihasilkan ditangkap oleh alat optik seperti mata ataupun kamera yang direkam didalam memori dan dapat dihasilkan kembali dengan teknik pencetakan bagi alat optik seperti kamera atau menggambarkan kembali dalam bentuk memori bagi manusia. Citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut piksel. Piksel adalah elemen citra yang memiliki nilai yang menunjukan intensitas warna. Berdasarkan cara penyimpanan atau pembentukannya, citra digital dapat dibagi menjadi dua yakni citra yang dibentuk oleh kumpulan piksel dalam array dua dimensi atau disebut bitmap dan citra yang dibentuk oleh fungsi geometrika dan matematika yang disebut grafik vektor. Dalam pembahasan teori ini, yang dimaksud dengan citra digital adalah citra bitmap. Secara umum, citra digital dikelompokan menjadi 3 macam yakni : 1. Citra biner Citra biner adalah citra yang masing-masing piksel hanya berwarna hitam dan putih. Oleh karena hanya terdapat dua nilai kemungkinan yaitu hitam dan putih,
Universitas Sumatera Utara
8
maka hanya diperlukan satu bit per piksel. Citra biner sangat efisien dalam hal tempat penyimpanan. Citra yang direpresentasikan sebagai citra biner sangat cocok digunakan untuk citra yang menggambarkan teks, finger print, atau rencana arsitektural. Untuk mengubah citra grayscale menjadi citra biner, proses yang dilakukan adalah mengubah kuantisasi citra dengan cara pengambangan secara global (global image thresholding). Setiap piksel di dalam citra dipetakan ke dalam dua nilai, 1 atau 0. Dengan fungsi pengambangan:
(, )=
1, 0,
(, )≤
2. Citra keabuan (grayscale) Citra keabuan adalah citra yang masing-masing piksel berisikan warna abuabu dengan nilai normal antara 0 (hitam) sampai 255 (putih). Range tersebut berarti masing-masing piksel dapat direpresentasikan oleh nilai 8 bit atau satu bit. Untuk menghitung citra keabuan digunakan metode luminance dimana metode ini berdasarkan persepsi manusia akan warna, dimana warna hijau adalah warna yang paling sensitif terhadap penglihatan manusia, diikuti warna merah dan yang terakhir adalah warna biru (Lennie et al. 1993). Perhitungan pembentukan citra baru dengan metode luminance yakni dengan rumus : Pnew = 0.299 x R + 0.587 x G + 0.114 x B Dengan Pnew adalah piksel baru yang berisikan nilai keabuan yang diperoleh dari penambahan daripada hasil perkalian red, green, blue. Pada rumus, nilai green lebih tinggi dari red dan blue dikarenakan warna hijau adalah warna yang paling sensitif terhadap persepsi penglihatan manusia.
3. Citra Warna Citra warna adalah citra yang masing-masing piksel mempunyai warna khusus. Warna dideskripsikan oleh kombinasi warna merah, hijau dan biru. Sistem pewarnaan citra warna ada beberapa macam, namun yang paling umum adalah sistem RGB (Red, Green, Blue).
Universitas Sumatera Utara
9
2.3 Pengolahan Citra Pengolahan citra atau image processing adalah proses yang mencakup dua aspek pengubahan sebuah citra yakni meningkatkan kualitas informasi dari sebuah citra (gambar) yang digunakan untuk kepentingan interpretasi manusia dan mengubah citra dari sebuah gambar yang digunakan untuk mempermudah pemrosesan persepsi mesin autonomous agar lebih mudah dalam mengambil keputusan. Dalam pembahasan teori ini berfokus pada hal digital image processing yakni proses pengolahan citra yang melibatkan komputer untuk mengubah dan memproses suatu citra digital.
2.3.1 Normalisasi
Normalisasi adalah proses mengubah nilai daripada intensitas piksel menjadi satu keseragaman dalam satu intensitas yang lebih mendekati kenormalan daripada kemampuan melihat suatu gambar. Normalisasi terkadang disebut juga pelebaran kontras dan pelebaran histogram (Gonzalez & Woods, 2007).
2.3.2 Thinning
Thinning adalah proses pengurangan data yang mengikis (erode) sebuah objek hingga menjadi ukuran 1 piksel dan menghasilkan kerangka (skeleton) dari objek tersebut. Objek seperti huruf atau silhouettes dapat lebih mudah dikenali dengan melihat kepada kerangkanya saja (Phillips, 2000). Pada penelitian ini digunakan algoritma thinning Zhang-Suen.
Algoritma ini adalah algoritma 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 yang pikselnya bernilai 1, dan memiliki paling sedikit 1 piksel dari 8-tetangganya yang bernilai 0. Gambar 2.2 mengilustrasikan titik objek P1 dan 8-tetangganya:
Universitas Sumatera Utara
10
Gambar 2.2 Piksel P1 dengan 8 tetangga
Langkah pertama dari sebuah penelusuran adalah menandai semua titik objek untuk dihapus, jika titik objek tersebut memenuhi syarat-syarat berikut:
a. 2 ≤ N (P1) ≤ 6 b. S(P1) = 1 c. P2 * P4 * P6 = 0 d. P4 * P6 * P8 = 0
Keterangan : 1.
Jumlah dari tetangga titik objek P1, yang pikselnya bernilai 1, yaitu: N(P1) = P2 + P3 + P4 + … + P9
2.
S(P1) adalah jumlah perpindahan nilai nilai dari 0 (nol) ke 1 (satu) mulai dari P2, P3, …, P8, P9.
3.
P2 * P4 * P6 = 0, memiliki arti P2 atau P4 atau P6 bernilai 0 (nol).
Dan pada langkah kedua, kondisi (a) dan (b) sama dengan langkah pertama, sedangkan kondisi (c) dan (d) diubah menjadi: (c’) P2 * P4 * P8 = 0 (d’) P2 * P6 * P8 = 0
2.4 Ekstraksi Fitur
Ekstraksi Fitur adalah proses pengukuran terhadap data yang telah melalui image processing untuk membentuk sebuah nilai fitur yang khas yang digunakan sebagai pengenal
bagi
unit
masukan
dengan
target
keluaran
dan
memudahkan
pengklasifikasian karena nilai fitur yang khas ciri nya mudah untuk dibedakan (Pradeep et al. 2011).
Universitas Sumatera Utara
11
2.4.1 Diagonal Based Feature Extraction
Pradeep et al. (2011) menggunakan diagonal based feature extraction untuk mendapatkan input untuk pengenalan karakter tulisan tangan. Cara kerja ekstraksi fitur tersebut adalah sebagai berikut : 1.
Setiap karakter image dengan ukuran 60x90 piksel (Gambar 2.3) dibagi menjadi 54 zona, setiap zona berukuran 10x10 piksel (Gambar 2.4).
2.
Untuk setiap zona : a.
Hitung histogram secara diagonal untuk mendapatkan 19 subfitur (Gambar 2.5).
b.
Hitung rata-rata dari 19 subfitur tersebut dan nilai tersebut digunakan untuk mewakili setiap zona.
3.
Dari nilai setiap zona, hitung rata-rata masing-masing baris dan masing-masing kolom. Sehingga didapatkan 9 nilai baris dan 6 nilai kolom.
4.
54 fitur + 15 fitur menjadi nilai masukan untuk jaringan saraf tiruan.
Gambar 2.3 Karakter ukuran 60x90 piksel (Pradeep et al. 2011)
Universitas Sumatera Utara
12
Gambar 2.4 Pembagian zona ekstraksi fitur (Pradeep et al. 2011)
Gambar 2.5 Diagonal histogram setiap zona (Pradeep et al. 2011)
2.5 Jaringan Saraf Tiruan
Jaringan saraf tiruan adalah paradigma pengolahan informasi yang terinspirasi oleh sistem saraf secara biologis, seperti proses informasi pada otak manusia. Elemen kunci dari paradigma ini adalah struktur dari sistem pengolahan informasi yang terdiri dari sejumlah besar elemen pemrosesan yang saling berhubungan (neuron), bekerja serentak untuk menyelesaikan masalah tertentu. Cara kerja jaringan saraf tiruan adalah
Universitas Sumatera Utara
13
seperti cara kerja manusia, yaitu belajar pola atau klasifikasi data, melalui proses pembelajaran (Sutojo et al. 2010)
Jaringan saraf tiruan disusun dengan asumsi yang sama seperti jaringan saraf biologi (Puspitaningrum, 2006): 1.
Pengolahan informasi terjadi pada elemen-elemen pemrosesan (neuron).
2.
Sinyal antara dua buah neuron diteruskan melalui link-link koneksi.
3.
Setiap link koneksi memiliki bobot terasosiasi.
4.
Setiap neuron menerapkan sebuah fungsi aktivasi terhadap input jaringan (jumlah sinyal input berbobot). Tujuannya adalah untuk menentukan sinyal output.
2.5.1 Konsep Dasar Jaringan Saraf Tiruan
Pembagian arsitektur jaringan saraf tiruan bisa dilihat dari kerangka kerja dan skema antar interkoneksi. Kerangka kerja jaringan saraf tiruan bisa dilihat dari jumlah lapisan (layer) dan jumlah node pada setiap lapisan (Puspitaningrum, 2006).
Lapisan – lapisan penyusun jaringan saraf tiruan dapat dibagi menjadi tiga : 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 tersembunyi 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.
Universitas Sumatera Utara
14
2.6 Algoritma Propagasi Balik
Algoritma propagasi balik merupakan metode yang sangat baik dalam menangani masalah pengenalan pola-pola kompleks. Istilah propagasi balik diambil dari cara kerja jaringan ini, yaitu bahwa gradien error unit-unit tersembunyi diturunkan dari penyiaran kembali error yang disosialisasikan dengan unit output dikarenakan nilai target untuk unit tersembunyi tidak diberikan (Puspitaningrum, 2006). Contoh jaringan propagasi balik dengan satu buah lapisan tersembunyi dapat dilihat pada gambar 2.6.
Gambar 2.6 Jaringan propagasi balik dengan satu buah lapis tersembunyi (Puspitaningrum, 2006)
Algoritma propagasi balik dapat dibagi ke dalam dua bagian (Puspitaningrum, 2006): 1.
Algoritma pelatihan Terdiri dari 3 tahap: tahap umpan maju pola pelatihan input, tahap pempropagasian error, dan tahap pengaturan bobot.
2.
Algoritma aplikasi Yang digunakan hanyalah tahap umpan maju saja.
Universitas Sumatera Utara
15
2.6.1 Algoritma Pelatihan Propagasi Balik
Berikut adalah algoritma pelatihan untuk jaringan propagasi balik dengan sebuah lapisan tersembunyi yang disusun menurut gambar 2.7.
Algoritma Pelatihan 1.
Inisialisasi bobot-bobot. Tentukan angka pembelajaran (α). Tentukan pula nilai toleransi error atau nilai ambang (bila menggunakan nilai ambang sebagai kondisi berhenti); atau set maksimal epoch (bila menggunakan banyaknya epoch sebagai kondisi berhenti).
2.
While kondisi berhenti tidak terpenuhi do langkah ke-3 sampai langkah ke-10.
3.
Untuk setiap pasangan pola pelatihan, lakukan langkah ke-4 sampai langkah ke-9.
Tahap Umpan Maju 4.
Setiap unit input xi (dari unit ke-1 sampai unit ke-n pada lapisan input) mengirimkan sinyal input ke semua unit yang ada di lapisan atasnya (ke lapisan tersembunyi)
5.
Pada setiap unit di lapisan tersembunyi zj (dari unit ke-1 sampai unit ke-p; i=i,…,n; j=1,...,p) sinyal output lapisan tersembunyinya dihitung dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbobot xi: =
+
kemudian dikirim ke semua unit di lapisan atasnya. 6.
Setiap unit di lapisan output yk (dari unit ke-1 sampai unit ke-m; i=1,...,n; k=1,…,m) dihitung sinyal output-nya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbobot zj bagi lapisan ini: =
+
Universitas Sumatera Utara
16
Tahap Pemropagasibalikan Error 7.
Setiap unit output yk (dari unit ke-1 sampai unit ke-m; i=1,…,p; k=1,….,m) menerima pola target tk lalu informasi kesalahan lapisan output (δk) dihitung. δk dikirim ke lapisan di bawahnya dan digunakan untuk mengitung besar koreksi bobot dan bias (Δwjk dan Δw0k) antara lapisan tersembunyi dengan lapisan output: δ = (t − y ) f′ w
+
zw
Δwjk = α δk zj Δw0k = α δk 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 perhitungan informasi kesalahan lapisan tersembunyi (δj). δj kemudian digunakan untuk menghitung besar koreksi bobot dan bias (Δwjk dan Δw0k) antara lapisan input dan lapisan tersembunyi. δ =
δ w ) f′ v +
xv
Δvij = α δj xi Δv0j = α δj
Tahap Peng-update-an Bobot dan Bias 9.
Pada setiap unit output yk (dari unit ke-1 sampai unit ke-m) dilakukan pengupdate-an bias dan bobot (j=0,…,p; k=1,…,m) sehingga bias dan bobot baru menjadi: wjk (baru) = wjk (lama) + Δ wjk 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): vij (baru) = vij (lama) + Δ vij
10. Tes kondisi berhenti.
Algoritma Aplikasi
Universitas Sumatera Utara
17
1. Inisialisasi bobot. Bobot ini diambil dari bobot-bobot terakhir yang diperoleh dari algoritma pelatihan. 2. Untuk setiap vektor input, lakukanlah langkah ke-3 sampai ke-5. 3
Setiap unit input xi (dari unit ke-1 sampai unit ke-n pada lapisan input; i=1,…,n) menerima sinyal input pengujian xi dan menyiarkan sinyal xi ke semua unit pada lapisan di atasnya (unit-unit tersembunyi).
4.
Setiap unit di lapisan tersembunyi zj (dari unit ke-1 sampai unit ke-p; i=1,…,n; j=1,….,p) menghitung sinyal output-nya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input xi. Sinyal output dari lapisan tersembunyi kemudian dikirim ke semua unit pada lapisan di atasnya: =
5.
+
Setiap unit output yk (dari unit ke-1 sampai unit ke-m; j=1,…,p; k=1,…,m) menghitung sinyal output-nya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input bagi lapisan ini, yaitu sinyal-sinyal input zj dari lapisan tersembunyi: =
+
2.6.2 Fungsi Aktivasi
Pilihan fungsi aktivasi yang dapat digunakan pada metode propagasi balik yaitu fungsi sigmoid biner, sigmoid bipolar dan tangent hiperbolik. Karakteristik yang harus dimiliki fungsi aktivasi tersebut adalah kontinu, diferensiabel dan tidak menurun secara monoton. Fungsi aktivasi diharapkan jenuh (mendekati nilai-nilai maksimum dan minimum secara asimtot) (Puspitaningrum, 2006).
2.6.2.1 Fungsi Sigmoid Biner
Fungsi ini merupakan fungsi yang umum digunakan. Rentang-nya adalah (0,1) dan didefenisikan sebagai :
Universitas Sumatera Utara
18
( )=
1 1+
dengan turunan : ( )=
( ) 1−
( )
2.6.3 Inisialisasi Bobot dan Bias
Cepat atau tidaknya pembelajaran pada pelatihan jaringan saraf tiruan propagasi balik dipengaruhi oleh nilai bobot antar neuron dan nilai bias. Bobot dan bias pada jaringan propagasi balik dapat diinisialisasi dengan berbagai cara, salah satunya adalah inisialisasi Nguyen-Widrow.
2.6.3.1 Inisialisasi Nguyen Widrow
Waktu pembelajaran jaringan propagasi balik yang bobot dan biasnya diinisalisasi dengan inisialisasi Nguyen-Widrow lebih cepat dibandingkan bila diinisialisasi dengan inisialisasi acak. Pada inisialisasi Nguyen-Widrow, inisialisasi acak tetap terpakai tetapi digunakan untuk menginisialisasi bias dan bobot dari unit tersembunyi ke unit output saja. Untuk bias dan bobot dari unit-unit input ke unit-unit tersembuyi digunakan bias dan bobot yang khusus diskala agar jatuh pada range tertentu. Dengan penskalaan maka diharapkan kemampuan belajar dari unit-unit tersembunyi dapat meningkat. Faktor skala Nguyen-Widrow (β) didefenisikan sebagai : β = 0.7 (p) di mana : n = banyak unit input p = banyak unit tersembunyi β = faktor skala
Prosedur inisialisasi Nguyen-Widrow Untuk setiap unit tersembunyi dari unit ke-1 sampai unit ke-p :
Universitas Sumatera Utara
19
1. Inisialisasi vektor bobot dari unit-unit input ke unit-unit tersembunyi (j = 1, …, p) dengan cara : a. Menentukan bobot-bobot antara unit input ke unit tersembunyi (vij) : vij(lama) = bilangan acak antara - β dan β di mana i = 1, …, n. b. Menghitung || vij ||. c. Menginisialisasi kembali vij : =
β.
(lama)
2. Menentukan bias antara unit input ke unit tersembunyi (j = 1, …, p). voj diset dengan bilangan acak yang terletak pada skala antara - β dan β.
2.6.4 Jumlah Lapisan Tersembunyi 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 lapisan tersembunyi yang dibutuhkan, tidak ada ketentuan khusus (Puspitaningrum, 2006).
2.6.5 Peng-update-an Bobot dengan Momentum
Penambahan parameter momentum dalam meng-update bobot seringkali bisa mempercepat proses pelatihan. Ini disebabkan karena momentum memaksa proses perubahan bobot terus bergerak sehingga tidak terperangkap dalam minimumminimum lokal. Peng-update-an bobot pada proses pelatihan jaringan yang biasa adalah sebagai berikut :
Δwjk = α δk zj Δvij = α δjxi
Universitas Sumatera Utara
20
Jika error tidak terjadi (output aktual telah sama dengan output target) maka δk menjadi nol dan hal ini akan menyebabkan koreksi bobot Δwjk = 0, atau dengan kata lain peng-update-an bobot berlanjut dalam arah yang sama seperti sebelumnya.
Jika parameter momentum digunakan maka persamaan-persamaan pengupdate-an bobot dengan langkah pelatihan t, dan t+1 untuk langkah pelatihan selanjutnya, mengalami modifikasi sebagai berikut : Δwjk(t + 1) = α δk zj + µ Δwjk(t) Δvij(t + 1) = α δj xi + µ Δvij(t) dengan µ adalah parameter momentum dalam range antara 0 sampai 1.
2.7 Penelitian Terdahulu
Penelitian terdahulu mengenai pengenalan kata huruf sudah banyak dilakukan. Penelitian terdahulu berfungsi sebagai referensi dan masukan bagi pengerjaan pengenalan kata tulisan tangan berbasis huruf Korea agar lebih optimal. Berbagai penelitian terdahulu dapat dilihat pada tabel 2.2.
Tabel 2.2 Penelitian terdahulu Peneliti Lee et al (1991)
Metode Penelitian Penemuan
baru
algoritma
pendeteksi
hangul
berdasarkan ekstraksi goresan. Kang & J.H (2003)
Pengenalan tulisan tangan hangul dengan representasi kata hirarki stokastik.
Pradeep et al (2011)
Pengenalan tulisan tangan huruf alfabet dengan jaringan saraf tiruan menggunakan metode DBFE.
Khairunnisa (2012)
Pengenalan tulisan tangan bersambung dengan jaringan saraf tiruan metode ekstraksi Zoning.
Putra (2012)
Peningkatan nilai fitur pengenalan dengan gabungan metode Zoning dan DBFE menggunakan jaringan saraf tiruan.
Universitas Sumatera Utara