FULL-Aplikasi Jaringan Saraf Tiruan (Artificial Neural Network) Pada Pengenalan Pola Tulisan

  • Upload
    dens182

  • View
    36

  • Download
    4

Embed Size (px)

DESCRIPTION

a

Citation preview

  • 218 Prosiding Pertemuan Ilmiah XXV HFI Jateng & DIY

    ISSN 0853-0823

    Aplikasi Jaringan Saraf Tiruan (Artificial Neural Network) pada Pengenalan Pola Tulisan

    Alvama Pattiserlihun, Andreas Setiawan, Ferdy S. Rondonuwu

    Program Studi Fisika, Fakultas Sains dan Matematika, Universitas Kristen Satya Wacana Jl. Diponegoro No. 52 60 Salatiga 50711, Jawa Tengah Indonesia, telp (0298) 321212

    e-mail : [email protected]

    Abstrak Jaringan saraf tiruan (JST) merupakan pemroses informasi yang meniru jaringan saraf biologis pada manusia. Karena kelebihan inilah, JST dapat dipakai untuk mengenali pola tertentu, misalnya pola tulisan (huruf). JST yang dipakai adalah pemrograman perceptron. Pola tulisan, dalam hal ini pola huruf yang dikenali oleh pemrograman perceptron adalah pola huruf A dengan dibandingkan dengan pola huruf lain, yakni pola huruf B dan C. Pemrogramannya dimulai dengan membuat pola huruf A, B dan C, kemudian memasukkan vektor masukan dan target (t) yang diinginkan. Setelah itu membentuk jaringan, menghitung keluaran perceptron (a), kemudian melatihnya guna mendapatkan bobot (w) dan bias (b) yang diinginkan, sehingga dapat membandingkan output jaringan yang diperoleh dengan target yang sudah ditentukan. Dari pemrograman ini didapatkan bahwa pola huruf A dapat dikenali hanya dalam 2 epoch, dengan nilai bobot (w) dan nilai bias (b) tertentu. Di mana keluaran pemrograman perceptron (a) sama dengan target (t) yang diinginkan. Pemrograman perceptron untuk pengenalan pola huruf A ini, dapat diimplementasikan juga pada pengenalan huruf yang lain. Kata kunci : jaringan saraf tiruan, pola tulisan, huruf I. PENDAHULUAN

    Salah satu alat bantu yang dipakai oleh penyandang tunanetra untuk membaca adalah dengan menggunakan huruf braille. Ketika menggunakan huruf braille, penyandang tunanetra harus menyentuh huruf yang dibaca dengan menggunakan tangan, mengenali huruf yang dipegang, setelah itu merangkai huruf-huruf berikutnya menjadi sebuah kata lalu menjadi kalimat dan seterusnya.

    Namun jika menggunakan cara ini, maka penyandang tunanetra yang ingin membaca harus menunggu cetakan khusus huruf braille. Agar penyandang tunanetra juga dapat membaca buku selain cetakan huruf braille, maka dibutuhkan suatu pengembangan, misalnya menggunakan alat yang langsung dapat mengenali pola tulisan dan memberitahukan huruf, kata, atau kalimat untuk penyandang tunanetra tersebut. Alat tersebut dapat dibuat dengan menggunakan suatu program untuk mengenali pola tulisan dan dihubungkan dengan program yang memproses tulisan menjadi bentuk besaran fisis lain.

    Pada penelitian ini, penulis hanya akan membuat program untuk mengenali pola tulisan, khususnya pengenalan pola huruf. Untuk mengenali pola tulisan, salah satu metode yang dapat dipakai adalah dengan menggunakan jaringan saraf tiruan (Artificial Neural Network). Jaringan saraf tiruan merupakan suatu sistem yang bertugas untuk memproses data dengan meniru jaringan saraf biologis. Sehingga sampel tulisan yang dijadikan sebagai input dapat dikenali oleh komputer seperti otak yang memproses informasi dan kemudian mengenali pola tulisan yang dilihat oleh mata. Karena kelebihan inilah, jaringan saraf tiruan merupakan metode yang tepat untuk mengenali pola tulisan. Selain kelebihan-kelebihan di atas, jaringan saraf tiruan juga memiliki kemampuan untuk belajar dan sifat toleransi kesalahan (fault tolerance) [1].

    II. DASAR TEORI A. Jaringan Saraf Tiruan (Artificial Neural Network)

    Sejarah perkembangan jaringan saraf tiruan telah dimulai pada tahun 1940 dengan mengasosiasikan cara kerja otak manusia dengan logika numerik yang diadaptasi peralatan komputer [2]. Sederhananya, jaringan saraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan saraf biologi, di mana jaringan saraf tiruan menyerupai otak manusia dalam mendapatkan pengetahuan yaitu dengan proses learning (belajar) dan menyimpan pengetahuan yang didapat di dalam kekuatan koneksi antarneuron [3]. Hal tersebut membuat JST mampu mengenali kegiatan dengan berbasis pada data. Data akan dipelajari oleh JST sehingga memiliki kemampuan untuk memberi keputusan terhadap data yang belum dipelajari [4]. JST ditentukan oleh 3 hal, yakni: pola hubungan antarneuron (arsitektur jaringan), metode untuk menentukan bobot penghubung (metode training/learning/ algoritma) dan fungsi aktivasi [5].

    Struktur jaringan saraf tiruan dapat dilihat pada Gambar 1. Neuron Y menerima input dari neuron x1, x2, dan x3 dengan bobot hubungan masing-masing adalah w1, w2, dan w3. Kemudian ketiga impuls neuron yang ada dijumlahkan, sehingga dapat ditulis

    net = x1w1 + x2w2 + x3w3. (1)

    Besarnya impuls yang diterima oleh Y mengikuti fungsi aktivasi y = f(net). Apabila nilai aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk mengubah bobot [5].

  • Prosiding Pertemuan Ilmiah XXV HFI Jateng & DIY 219

    ISSN 0853-0823

    Gambar. 1. Diagram jaringan saraf tiruan.

    B. Model Jaringan Perceptron

    Jaringan perceptron terdiri dari beberapa unit masukan (ditambah sebuah bias) dan memiliki sebuah unit keluaran seperti pada Gambar 2. Hanya saja fungsi aktivasi bukan merupakan fungsi biner (bipolar), tetapi memiliki kemungkinan nilai 1, 0, atau 1.

    Gambar 2. Arsitektur jaringan perceptron.

    Untuk suatu nilai threshold yang ditentukan

    Secara geometris, fungsi aktivasi membentuk 2 garis sekaligus, masing-masing dengan persamaan [5]

    w1x1 + w2x2 + . . .+ wnxn + b = (2)

    w1x1 + w2x2 + . . .+ wnxn + b = . (3)

    Pada penelitian ini, default sistem yang dipakai adalah

    sebagai berikut. Masukan dan target yang dipakai berbentuk bebas (tidak harus biner/bipolar), threshold yang dipakai adalah 0, fungsi aktivasi memiliki output biner

    dan tidak menggunakan laju pemahaman. Bobot diubah berdasarkan error yang terbentuk dari selisih antara target yang diinginkan dengan keluaran jaringan (f(net)). Perubahan bobot bukan merupakan hasil kali antara target dengan masukan [5].

    C. Pelatihan Perceptron Misalkan s adalah vektor masukan dan t adalah target

    keluaran, adalah laju pemahaman (learning rate) yang ditentukan, adalah threshold yang ditentukan; maka algoritma pelatihan perceptron adalah sebagai berikut : Inisialisasi semua bobot (w) dan bias (b). Tentukan laju pemahaman (). Untuk penyederhanaan, biasanya diberi nilai 1. Selama ada elemen vektor masukan yang respon unit keluarannya tidak sama dengan target, dilakukan: Set aktivasi unit masukan xi = si (i = 1, ..., n). Dihitung respon unit keluaran: net = b.

    Bobot pola yang mengandung kesalahan (y t) diperbaiki menurut persamaan

    wi(baru)=wi(lama)+w(i=1,...,n) (4) dengan w = txi

    b(baru)=b(lama)+b (5) dengan b = t [5] III. METODE

    Pertama-tama, pola huruf A,B dan C dibuat, seperti pada Gambar 3(a) [5]. Setelah itu vektor masukan (pola tulisan yang digunakan) dan target (t) yang diinginkan dibentuk, dengan bobot (w) awal yang dibuat random serta bias (b) awal = 1. Lalu setiap titik pada Gambar 3(a), diambil sebagai komponen vektor. Setiap vektor masukan (pola 1 sampai 6) mempunyai (97) = 63 komponen. Kemudian kepada titik dalam pola yang bertanda . diberikan nilai (1) dan nilai (1) diberikan kepada tiap titik dalam pola yang bertanda #, seperti terlihat pada Gambar 3(b). Pola-pola huruf tersebut harus dibaca dari kiri ke kanan, dimulai dari baris yang paling atas.

    (a)

    Gambar 3. (a) Pola huruf A,B dan C

  • 220 Prosiding Pertemuan Ilmiah XXV HFI Jateng & DIY

    ISSN 0853-0823

    (b)

    Gambar 3. (b) Vektor masukan.

    Pada penelitian ini, program yang dibuat hanya akan mengenali pola huruf A. Target akan bernilai = 0 jika pola masukan menyerupai huruf A. Jika tidak menyerupai huruf A maka target bernilai 1. Pola yang menyerupai huruf A ada pada pola 1 dan pola 4. Pemrograman perceptron ini memiliki 6 pola masukan dan 6 target (t) seperti tampak pada Tabel I.

    TABEL I. POLA MASUKAN DAN TARGET

    Pola masukan

    Target (t)

    Pola 1 0 Pola 2 1 Pola 3 1 Pola 4 0 Pola 5 1 Pola 6 1

    Setelah itu, pemodelan jaringan perceptron dibentuk dan

    keluaran dari jaringan perceptron (a) yang dibuat pun harus dihitung. Guna mendapatkan bobot (w) dan bias (b) yang diinginkan, program perceptron harus dilatih. Setelah mendapatkan bobot (w) dan bias (b) yang diinginkan, output yang diperoleh dari pemrograman perseptron (a) dibandingkan dengan target (t) yang sudah ditentukan.

    IV. HASIL DAN PEMBAHASAN

    Pemrograman dilakukan dengan menggunakan jaringan saraf tiruan (JST). Di mana jaringan saraf tiruan merupakan pemrograman yang meniru jaringan saraf biologis pada manusia. Pemrograman JST ini menggunakan pemrograman perseptron, di mana diperoleh hasil seperti pada Gambar 4.

    Dari pemrograman yang dilakukan, juga didapatkan beberapa data, yakni: Bobot (w)

    Bobot-bobot yang diperoleh dapat dilihat pada Tabel II. Bias (b)

    Nilai bias yang didapatkan 2. a (keluaran yang dihasilkan oleh jaringan)

    a = [ 0 1 1 0 1 1] e (error)

    e = 0

    TABEL 2. BERBAGAI NILAI BOBOR (w).

    Pada Gambar 4 dapat dilihat bahwa iterasi dilakukan

    hanya dalam 2 epoch. Di mana epoch 2 memiliki nilai mean absolute error (mae) = 0. Hal ini berarti bahwa semua pola yang diberikan telah dikenali. Keluaran yang dihasilkan oleh jaringan saraf tiruan (perceptron) a = [ 0 1 1 0 1 1]. Jika dibandingkan dengan target (t) yang diinginkan, t = [0 1 1 0 1 1], maka dapat dilihat bahwa keluaran jaringan perceptron (a) yang dibuat memiliki nilai yang sama dengan target (t) yang diinginkan. Nilai bobot (w) dan nilai bias (b) pada keadaan optimal (keadaan pada saat semua pola dikenali) adalah seperti pada Tabel II. dan nilai bias (b) = 2.

    (a) (b)

    Gambar 4. (a) Informasi tentang output dari pemrograman menggunakan jaringan perceptron, (b) Grafik performance

    (Grafik mean absolute error terhadap epoch). Dari data-data tersebut dapat dilihat bahwa pola 1 dan

    pola 4 yang merupakan pola huruf A dapat dikenali dengan benar, menggunakan pemrograman perceptron. Dan

    w1 = 1,8147 w2 = 1,9058 w3 = 1,1270 w4 = 1,9134 w5 = 3,6324 w6 = 1,0975 w7 = -0,7215 w8 = -0,4531 w9 = 3,9575

    w10 = -0,0351w11 = -2,8424w12 = -0,0294w13 = 1,9572 w14 = 1,4854 w15 = 1,8003 w16 = 1,1419 w17 = -0,5782w18 = -2,0843w19 = -0,2078w20 = -0,0405w21 = 3,6557

    w22 = 1,0357 w23 = 1,8491 w24 = -2,0660 w25 = -0,3213 w26 = -2,2423 w27 = -0,2569 w28 = 1,3922 w29 = 1,6555 w30 = 1,1712 w31 = -0,2940 w32 = 1,0318 w33 = -0,7231 w34 = 1,0462 w35 = -0,9029 w36 = 1,8235 w37 = -0,3052 w38 = -2,6829 w39 = -2,0498 w40 = -2,9656 w41 = -2,5613 w42 = 1,3816

    w43 = 1,7655 w44 = -0,2048 w45 = -0,8131 w46 = -0,5102 w47 = -0,5544 w48 = -2,3537 w49 = 3,7094 w50 = -0,2453 w51 = 1,2760 w52 = -0,3203 w53 = -0,3449 w54 = -0,8374 w55 = -0,8810 w56 = 1,4984 w57 = -0,0403 w58 = -0,6596 w59 = 1,5853 w60 = 3,2238 w61 = 1,7513 w62 = -0,7449 w63 = -2,4940

  • Prosiding Pertemuan Ilmiah XXV HFI Jateng & DIY 221

    ISSN 0853-0823

    pola huruf B dan C dikenali sebagai bukan huruf A. Ini mengindikasikan bahwa jika pola masukan adalah huruf-huruf yang lain selain huruf A maka huruf-huruf tersebut kemungkinan akan dikenali sebagai bukan huruf A, sehingga hal yang sama juga dapat kita implementasikan pada huruf-huruf yang lain, guna mengenali pola huruf yang diinginkan. V. KESIMPULAN

    Pola pengenalan tulisan, khususnya pola huruf dapat dikenali dengan menggunakan jaringan saraf tiruan, khususnya pemrograman perseptron. Dari hasil analisis dengan menggunakan pemrograman perceptron, pola huruf A dapat dikenali hanya dalam 2 epoch, dengan nilai bobot (w) dan nilai bias (b) tertentu. Di mana keluaran pemrograman perceptron (a) sama dengan target (t) yang

    diinginkan. Pemrograman perseptron untuk pengenalan pola huruf A ini, dapat diimplementasikan juga pada pengenalan huruf yang lain. PUSTAKA [1] Nugroho, Fx. Henry. Pengenalan Wajah dengan Jaringan Saraf

    Tiruan Backpropogation.Yogyakarta: 2005. hal 1. [2] Muis, Saludin. Teknik Jaringan Saraf Tiruan. Yogyakarta : 2006 [3] Islam, M.J, dkk. Neural Network Based Handwritten Digits

    Recognition- An Experiment and Analysis. University of Windsor, Canada: 2009. hal 2.

    [4] Luthfie, Syafiie Nur. Implementasi Jaringan Saraf Tiruan Backpropagation Pada Aplikasi Pengenalan Wajah Dengan Jarak Yang Berbeda Menggunakan MATLAB 7.0. Universitas Gunadarma, Depok: 2007. hal 1.

    [5] Siang, Jong Jek. Jaringan Saraf Tiruan dan Pemrogramannya Menggunakan MATLAB. Yogyakarta: 2005.