Analisis Performansi Metode Backpropagation Untuk Mengidentifikasi Penyakit Mata Menular

  

ANALISIS PERFORMANSI METODE BACKPROPAGATION

UNTUK MENGIDENTIFIKASI PENYAKIT MATA MENULAR

SKRIPSI

  Diajukan untuk Menempuh Ujian Akhir Sarjana

  

AGI AYUBI

10110515

PROGRAM STUDI TEKNIK INFORMATIKA

  

DAFTAR ISI

  ABSTRAK ............................................................................................................... i ABSTRACT ............................................................................................................ ii KATA PENGANTAR ........................................................................................... iii DAFTAR ISI .......................................................................................................... vi DAFTAR GAMBAR ............................................................................................. ix DAFTAR TABEL .................................................................................................. xi DAFTAR SIMBOL .............................................................................................. xiii DAFTAR LAMPIRAN ....................................................................................... xvii

  BAB 1 PENDAHULUAN .................................................................................... 1

  1.1 Latar Belakang Masalah ........................................................................... 1

  1.2 Rumusan Masalah ..................................................................................... 2

  1.3 Maksud dan Tujuan................................................................................... 3

  1.4 Batasan Masalah ....................................................................................... 3

  1.5 Metodologi Penelitian ............................................................................... 4

  1.6 Sitematika Penulisan ................................................................................. 5

  BAB 2 LANDASAN TEORI ................................................................................ 7

  2.1 Kecerdasan Buatan.................................................................................... 7

  2.1.1 Sejarah Kecerdasan Buatan ....................................................................... 9

  2.1.2 Jaringan Syaraf Tiruan ............................................................................ 10

  2.1.3 Komponen Jaringan Syaraf Tiruan ......................................................... 12

  2.2.2 Prosedur Pelatihan Algoritma Backpropagation .................................... 17

  3.6 Analisis Kebutuhan Sistem ..................................................................... 61

  3.6.2.3 Class Diagram ........................................................................................ 64

  3.6.2.2 Activity Diagram ..................................................................................... 64

  3.6.2.1 Use Case Diagram .................................................................................. 63

  3.6.2 Analisis Kebutuhan Fungsional .............................................................. 63

  3.6.1.3 Analisis Kebutuhan Perangkat Pikir ....................................................... 63

  3.6.1.2 Analisis Kebutuhan Perangkat Lunak ..................................................... 62

  3.6.1.1 Analisis Kebutuhan Perangkat Keras ...................................................... 62

  3.6.1 Analisis Kebutuhan Non Fungsional ...................................................... 62

  3.5 Analisis Kompleksitas ............................................................................ 56

  2.2.3 Prosedur Pengujian Algoritma Backpropagation ................................... 21

  3.4 Analisis Target Keluaran ........................................................................ 56

  3.3 Analisis Metode ...................................................................................... 33

  3.2 Analisis Data Masukan ........................................................................... 32

  3.1 Analisis Masalah ..................................................................................... 31

  BAB 3 ANALISIS DAN PERANCANGAN SISTEM ...................................... 31

  2.5 Cross Validation...................................................................................... 28

  2.4.1 Kompleksitas Algoritma ......................................................................... 24

  2.4 Algoritma ................................................................................................ 23

  2.3 Penyakit Mata Menular ........................................................................... 21

  3.6.2.4 Sequence Diagram .................................................................................. 64

  3.6.3.3 Perancangan Antarmuka ......................................................................... 65

  BAB 4 IMPLEMENTASI DAN PENGUJIAN .................................................. 67

  4.1 Implementasi ........................................................................................... 67

  4.1.1 Implementasi Perangkat Keras ............................................................... 67

  4.1.2 Implementasi Perangkat Lunak ............................................................... 65

  4.1.3 Implementasi Database ........................................................................... 68

  4.1.4 Implementasi Class ................................................................................. 69

  4.1.5 Implementasi Antarmuka ........................................................................ 69

  4.2 Pengujian Metode ................................................................................... 70

  4.2.1 Skenario Pengujian 1 ................................................................................ 71

  4.2.2 Skenario Pengujian 2 ................................................................................ 82

  4.3 Kesimpulan Pengujian .............................................................................. 89

  BAB 5 KESIMPULAN DAN SARAN............................................................... 91

  5.1 Kesimpulan ............................................................................................. 91

  5.2 Saran ....................................................................................................... 91 DAFTAR PUSTAKA ........................................................................................... 93

DAFTAR PUSTAKA

  [1] Kiki dan Sri Kusumadewi. Jaringan Syaraf Tiruan dengan Metode

  Backpropagation untuk Mendeteksi Gangguan Psikologi, Jurnal, Teknik Informatika UII, 2004.

  [2] Novi Indah Pradasari, F.Trias Pontia W, Dedi Triyanto. Aplikasi Jaringan

  Syaraf Tiruan untuk Memprediksi Penyakit Saluran Pernafasan dengan Metode Backpropagation, Jurnal, Jurnal Coding Sistem Komputer Universitas

  Tanjungpura Vol 1, No 1 (2013). [3]

  Ph.D Moh. Nazir, Metode Penelitian, Risman Sikumbang, Bogor, Indonesia: Ghalia Indonesia, 2011. [4]

  Roger S. Pressman. Rekayasa Perangkat Lunak : pendekatan praktisi (Buku I) ;

diterjemahkan oleh LN Harnaningrum. Edisi II. Yogyakarta : Andi. 2007.

[5]

  Sri Kusumadewi. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta : Penerbit Graha Ilmu. 2003. [6]

  Suyanto. Artificial Intelligence : Searching, Reasoning, Planning dan Learning (Edisi Revisi). Penerbit Informatika. 2011. [7]

  Siang, Jong Jek, Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan Matlab. Yogyakarta : Andi Offset, 2004. [8] American Academy of Ophthalmology. External disease and cornea.

  SanFransisco. 2006-2007 [9] Munawar. Pemodelan Visual dengan UML. Graha ILMU, 2005.

  [10] Belajar Pemrograman C#. Yogyakarta : C.V. Andi Offset, Wahana Komputer, 2008.

  [11] Fowler, Martin.UML Distilled edisi 3 Panduan Singkat Bahasa Pemodelan

  Object Standar. Yogyakarta: Andi, 2005

  [12] Munir, Rinaldi.Algoritma & Pemrograman Dalam Bahasa Pascal dan C.

  [13] Susabda Ngoen, Thompson. Pengantar Algoritma dengan Bahasa C. Penerbit

  Salemba Teknika.2004 [14]

  Munir, Rinaldi.Matematika Diskrit. Penerbit Informatika.2010 [15] Witten, Ian. H. Data Mining Practical Machine Learning Tools and Technique.

  (3

  rd

  edition). New York: Morgan Kauffman. 2011 [16]

  Haryanto. Teknik Data Mining untuk Mendapatkan Informasi dari Keluaran Perangkat Jaringan. Jurnal. Binus University, Jakarta, 2012. [17] E. Alpaydin, Introduction to Machine Learning, The MIT Press, 2010.

  

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

  Alhamdulillah, Puji dan Syukur kepada Allah SWT yang telah melimpahkan

  rahmat dan karunia-Nya, serta atas ijin dan cinta-Nyalah sehingga penelitian ini dapat diselesaikan dengan baik sesuai dengan waktu yang direncanakan.

  Skripsi yang berjudul “Analisis Performansi Metode Backpropagation

  untuk Mengidentifikasi Penyakit Mata Menular

  ” disusun untuk memperoleh gelar Sarjana Teknik Informatika, Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

  Penulis sepenuhnya menyadari bahwa tanpa adanya dukungan dan perhatian yang baik dari berbagai pihak, penulis tidak akan mampu menyelesaikan skripsi ini dengan baik dan tepat pada waktunya. Maka dari itu, ijinkanlah penulis mengucapkan rasa terima kasih yang paling tulus dan sedalam-dalamnya kepada :

1. Allah SWT, atas ijin dan semua kemudahan, kelancaran, dan jalan yang telah dibukakan oleh-Nya dalam menyelesaikan skripsi ini.

  2. Kepada kedua orang tua, Abah (Alm)Wawan Hedi Irawan, selaku Ayah dari penulis yang telah menjadi inspirasi penulis dalam menyelesaikan penelitian ini, juga Ibu Djuanawati, selaku Ibu penulis yang telah banyak memberikan dukungan yang sangat besar bagi penulis, karena penulis sadar tanpa peranan, nasihat, dan dukungan beliau maka akan sangat sulit untuk menyelesaikan penelitian ini. Penulis sangat berharap agar mamah dan abah turut bahagia dengan terselesaikannya jenjang pendidikan S1 penulis.

  3. Keluarga besar penulis, Ega Irana, Nurdiansyah, Noor Rahmasari, nenek, kakek, dan saudara-saudara yang telah mendoakan untuk kelancaran skripsi ini dan terus memberikan motivasi agar tidak menyerah dalam kesabaran dalam membimbing penulis dan ilmu-ilmu yang sangat berharga ini.

  5. Bapak Adam Mukharil Bachtiar, S.Kom., M.T selaku dosen penguji yang telah memberikan masukan dan saran-saran dalam penyusunan penelitian skripsi ini.

  6. Bapak Galih Hermawan S.Kom., M.T selaku dosen penguji. Terima kasih karena telah meluangkan waktu untuk menguji serta memberikan saran dan nasehatnya dalam penyusunan skripsi ini.

  7. Bapak Irawan Afrianto, M.T selaku Ketua Program Studi Teknik Informatika Universitas Komputer Indonesia.

  8. Bapak Alif Finandhita, S.Kom selaku dosen wali kelas IF-12 2010.

  9. Seluruh Staff Dosen Jurusan Teknik Informatika.

  10. Teman-teman IF-12 khususnya Intan Purwati, Geby Aranta Sonia, Aditya Komaruzzaman, Amal Julio, Septiyan Hendiyana, dan Muhamad Eko Harianto, dan teman-teman IF-12 2010 yang sudah melewati hari-hari ini bersama-sama atau sekedar mengacak-acak kosan, terima kasih atas pertemanan yang tidak bisa dinilai dengan apapun.

  11. Teteh Dwi Putri Pangrestu yang sudah memberikan banyak pencerahan tentang backpropagation, untuk penjelasan singkat di depan alfamart juga bekal 2 buah buku sakti “jaringan syaraf tiruan” yang sangat bermanfaat dalam penelitian ini.

  12. Teman seperjuangan skripsi Rahayu Dwi Permatasari, Nuri Insania Andyani, Geanissa Handarini, Rifat Firdaus, Dewi Kartini Sinaga, Nida Aprida dan teman-teman lainnya, terima kasih atas dukungan dan saran yang sangat membantu penelitian ini.

  13. Teman-teman anak bimbingan Ibu Nelly, yang telah menunggu giliran bimbingan juga melewati masa-masa skripsi ini bersama-sama, terima kasih dukungan yang tidak ternilai harganya, dan juga gangguan berupa ajakan main malam dan nongkrong yang sangat susah untuk penulis tolak, penulis ucapkan banyak terima kasih.

15. Seluruh pihak yang telah memberikan kontribusi dan bantuannya bagi penulis, namun tidak sempat dicantumkan namanya satu per satu.

  Penulis telah berusaha semaksimal mungkin dalam penyelesaian skripsi ini, namun penulis sadar akan banyaknya kelemahan baik dalam segi pemahaman penulis, isi dari skripsi, tata bahasa, juga apabila dalam penulisan laporan tugas akhir ini penulis telah menyinggung perasaan atau telah menyakiti hati semua orang, baik yang disengaja maupun yang tidak disengaja, untuk itu penulis memohon maaf yang sebesar-besarnya. Akhir kata, semoga skripsi ini dapat bermanfaat bagi para pembaca.

  Bandung, Agustus 2014 Penulis

  RIWAYAT HIDUP 1. Data Pribadi

  Nama Agi Ayubi Tempat/Tanggal Lahir Bandung, 28 Januari 1993 Jenis Kelamin Laki - laki Warga Negara Indonesia Agama Islam Status Belum Menikah Alamat Parken Blok D-4 No.10 Email agiayubi@gmail.com No. Handphone 085720216666 2.

   Pendidikan Formal

  1996-1998 RRI Bandung 1998-2004 Al-Basyariyah 2004-2007 MTs

  Mathla’ul Huda 2007-2010 MA

  Mathla’ul Huda 2010-2014 Program Studi S1 Teknik Informatika

  Universitas Komputer Indonesia (UNIKOM) Bandung

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

  Jaringan syaraf tiruan merupakan salah satu cabang dari AI (Artificial

  

Intellegence), adalah salah satu representasi buatan dari otak manusia yang selalu

  mencoba untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah buatan ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran [1]. Metode

  

backpropagation merupakan salah satu metode pembelajaran dari algoritma jaringan

  syaraf tiruan. Metode backpropagation memiliki tingkat keakuratan yang tinggi karena proses pelatihan yang dilakukan secara berulang-ulang hingga menghasilkan nilai yang memiliki kesalahan yang sangat kecil. Metode pembelajaran

  

backpropagation banyak digunakan untuk penyelesaian suatu masalah berkaitan

dengan identifikasi, prediksi, dan pengenalan pola.

  Salah satu penggunaan metode backpropagation adalah dalam analisis medikal, seperti pengidentifikasian suatu penyakit yang memiliki gejala yang bias antara jenis yang satu dengan yang lainya. Hal ini telah dibuktikan pada jurnal “Aplikasi jaringan syaraf tiruan untuk memprediksi penyakit saluran pernafasan dengan metode b

  ackpropagation” karya Novi Indah Pradasari, F.Trias Pontia W, dan

  Dedi Triyanto [2]. Pada jurnal ini, metode backpropagation digunakan untuk memprediksi penyakit saluran pernafasan berdasarkan gejala penyakit yang disusun menjadi 12 buah variabel masukan. Target keluaran sistem berupa jenis penyakit saluran pernafasan yang teridentifikasi oleh sistem, sistem memiliki batasan penyakit yang dapat diidentifikasi sebanyak lima buah penyakit yaitu penyakit Asma, ISPA,

  

Pneumonia, Bronkhitis, Sinusitis, dan Tuberkulosis. Penelitian ini mendapatkan

  kesimpulan bahwa metode backpropagation dapat digunakan untuk memprediksi

  96 data dan pengujian 24 data menggunakan dua buah hidden layer, target error sebesar 0,0001, dan learning rate sebesar 0,1 [2].

  Penyakit mata menular memiliki gejala yang hampir mirip antara jenis yang satu dan yang lainya. Gejala-gejala yang ditimbulkan penyakit mata menular dapat berjumlah tiga sampai lima gejala setiap jenis penyakitnya, jumlah ini merupakan jumlah yang sangat sedikit. Suatu penyakit akan sangat mudah diidentifikasi apabila memiliki gejala yang berbeda, akan tetapi gejala yang ditimbulkan penyakit mata menular sangat bias antara jenis penyakit satu dan lainnya. Penyakit mata menular menjadi sulit untuk diidentifikasi karena minimnya gejala yang ditimbulkan dan banyaknya gejala yang mirip.

  Metode backpropagation diimplementasikan pada kasus penyakit mata menular untuk mengidentifikasi jenis penyakit mata menular berdasarkan gejala-gejala yang ditimbulkan oleh penyakit. Pada metode backpropagation gejala-gejala yang ditimbulkan digunakan sebagai sinyal input yang akan dihitung sedemikian hingga didapatkan hasil berupa penyakit yang teridentifikasi. Adapun jenis penyakit mata menular yang diidentifikasi adalah penyakit Konjungtivitis, Keratokonjutivitis

  

Vernalis, Endoftalmitis, Selulitis Orbitalis, Trakoma, Blefaritis, dan Ulkus Kornea.

  Penyakit ini memiliki ciri-ciri dan gejala yang hampir sama seperti mata merah, gatal, nyeri, berair, dan lain-lain. Dari masalah yang telah dijelaskan, maka perlunya dilakukan analisis performansi metode backpropagation untuk mengetahui akurasi dan mendapatkan parameter yang optimal dari metode backpropagation dalam mengidentifikasi penyakit mata menular.

1.2 Rumusan Masalah

  Berdasarkan latar belakang masalah yang telah diuraikan, maka rumusan masalah pada penelitian ini adalah bagaimana menganalisis performansi berupa akurasi dan mendapatkan parameter yang optimal dari algoritma jaringan syaraf penyakit mata menular berdasarkan gejala-gejala yang dialami oleh penderita penyakit mata menular.

  1.3 Maksud dan Tujuan

  Maksud dari penelitian ini adalah untuk menganalisis performansi algoritma jaringan syaraf tiruan dengan metode pembelajaran backpropagation yang diimplementasikan pada sistem pengidentifikasi penyakit mata menular.

  Sedangkan tujuan yang akan dicapai dalam penelitian adalah untuk mengetahui performansi berupa akurasi dan parameter yang optimal dari algoritma jaringan syaraf tiruan dengan metode pembelajaran backpropagation yang diimplementasikan pada sistem pengidentifikasi penyakit mata menular.

  1.4 Batasan Masalah

  Batasan masalah bertujuan untuk memudahkan perancangan dan menghindari meluasnya permasalahan, adapun batasan masalah pada penulisan tugas akhir ini yaitu : 1.

  Data yang menjadi masukan adalah gejala yang dialami oleh penderita penyakit mata menular seperti mata merah, gatal , berair dan lain-lain. Data ini kemudian diolah menjadi 19 gejala atau variable masukan sistem.

2. Masing-masing variable diberi nilai 0 bila tidak terjadi gejala dan 1 bila terjadi gejala pada penderita.

  3. Minimal batasan gejala yang harus dipilih oleh user untuk mendeteksi penyakit mata menular adalah empat buah gejala yang diderita oleh penderita. Jika kurang dari empat buah gejala, maka sistem tidak bisa mengidentifikasi penyakit mata menular tersebut.

  4. Keluaran sistem yang diharapkan berupa hasil identifikasi terserang penyakit mata menular dengan jenis penyakit Konjungtivitis, Keratokonjutivitis Vernalis,

  5. Penentuan jumlah neuron pada lapisan tersembunyi, nilai learning rate, jumlah iterasi (epoch) dan batasan error (MSE atau Mean Square Error) disesuaikan selama proses pelatihan berlangsung untuk mendapatkan jaringan MLP (Multi

  Layer Perceptron) yang paling sesuai untuk mengidentifikasi penyakit mata menular.

6. Proses pengujian menggunakan data sample dilakukan dengan metode cross validation dan confusion matrix.

1.5 Metodologi Penelitian

  Metodologi penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah yang logis dimana memerlukan data untuk mendukung terlaksananya suatu penelitian. Metode penelitian yang digunakan dalam penulisan tugas akhir ini adalah metode analisis deskriptif, yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian secara sistematis, faktual dan akurat [3].

1. Tahap pengumpulan data

  Pengumpulan data adalah cara atau prosedur yang sistematis dan standar untuk memperoleh data yang diperlukan. Adapun metode pengumpulan data pada penelitian ini adalah sebagai berikut: a.

  Observasi Observasi yaitu mengamati secara langsung permasalahan yang terjadi pada lapangan penelitian untuk memperoleh data-data dan gambaran yang jelas mengenai objek yang diteliti.

  b.

  Studi Pustaka Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan algoritma JST

  Backpropagation, penyakit mata menular.

  2. Tahap pembuatan perangkat lunak.

   Coding

  Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini

Gambar 1.1 Model Linear Sequential [4]

  Merupakan tahap pengujian terhadap perangkat lunak yang dibangun. [4]

   Test

  d.

  Tahap penerjemahan data atau pemecahan masalah yang telah dirancang kedalam bahasa pemrograman tertentu.

  c.

  Teknik pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara Linear Sequential, yang meliputi beberapa proses diantaranya:

  Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.

   Design

  b.

  Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.

   Analysis

  a.

1.6 Sistematika Penulisan

  BAB I PENDAHULUAN Pada bab ini memuat latar belakang masalah, identifikasi masalah, maksud dan tujuan

  penelitian, batasan masalah, metodologi penelitian yang digunakan, dan sistematika penulisan.

  BAB II. LANDASAN TEORI Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan

  algoritma Jaringan Syaraf Tiruan, metode pembelajaran backpropagation kompleksitas algoritma, metode pengujian algoritma dan penjelasan tentang penyakit mata menular.

  BAB III. ANALISIS DAN PERANCANGAN SISTEM Bab ini berisi analisis dalam pembangunan sistem yaitu analisis masalah, analisis data

  masukan, analisis data keluaran, analisis metode, analisis kompleksitas, dan analisis kebutuhan perangkat lunak.

  BAB IV. IMPLEMENTASI DAN PENGUJIAN Bab ini berisi implementasi dan pengujian sistem berdasarkan analisis pada bab 3. Pengujian yang dilakukan untuk mengetahui akurasi dari metode backpropagation menggunakan metode cross validation dan confusion matrix. BAB V. KESIMPULAN DAN SARAN Bab ini berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan tugas

  akhir analisis performansi algoritma jaringan syaraf tiruan dengan metode pembelajaran backpropagation untuk mendeteksi penyakit mata menular.

BAB 2 LANDASAN TEORI

2.1 Kecerdasan Buatan

  Kecerdasan Buatan atau artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan umat manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia [5].

  Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan di dunia ini karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan diperoleh dari cara mempelajarinya. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Namun bekal pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki kemampuan untuk menalar dengan baik, manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian juga dengan kemampuan menalar yang sangat baik, namun tanpa dibekali pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik [5].

  Berikut ini beberapa pengertian kecerdasan buatan dari berbagai sudut pandang antara lain [5]:

1. Sudut pandang kecerdasan

  Kecerdasan buatan akan membuat mesin menjadi ‘cerdas’ (mampu berbuat

  2. Sudut pandang penelitian Kecerdasan buatan adalah suatu studi bagaimana membuat komputer dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia.

  c.

  4. Sudut pandang pemrograman Kecerdasan buatan meliputi studi tentang pemrograman simbolik, penyelesaian masalah (problem solving) dan pencarian (searching).

  3. Sudut pandang bisnis Kecerdasan buatan adalah kumpulan peralatan yang sangat powerfull dan metodologis dalam menyelesaikan masalah-masalah bisnis.

  4. rekayasa (desain, pencarian kegagalan, perencanaan manufaktur).

  3. analisis ilmu pengetahuan.

  2. analisis medical.

  analisis financial.

   Expert task 1.

  2. matematika (geometri, logika, kalkulus integral, pembuktian).

  Domain yang sering dibahas para peneliti meliputi: a.

  permainan/games.

   Formal task 1.

  b.

  3. pemikiran yang bersifat common sense dan robot kontrol.

  2. bahasa alami (understanding, generation & translation).

  persepsi (vision & speech).

   Mundane task 1.

  Untuk melakukan aplikasi kecerdasan buatan ada 2 bagian utama yang sangat dibutuhkan (Gambar 2.1), yaitu: b.

  Motor Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan berdasarkan pengalaman.

  

Komputer

Input:

  Output :

  Basis Motor

  masalah, jawaban,

  Pengetahuan Inferensi

  pertanyaan, solusi, dll

Gambar 2.1 Penerapan Konsep Kecerdasan Buatan di Komputer [5]

2.1.1 Sejarah Kecerdasan Buatan

  Istilah AI (Artificial Intelligence) yang dapat diartikan sebagai kecerdasan buatan, pertama kali dikemukakan pada tahun1956 di konferensi Darthmouth. Sejak saat itu, AI terus dikembangkan sebab berbagain penelitian mengenai teori-teori dan prinsip-prinsipnya juga terus berkembang. Meskipun istilah AI baru muncul tahun 1956, tetapi teori-teori yang mengarah ke AI sudah muncul sejak tahun 1941.[6]

  Kecerdasan buatan atau Artificial Intelligencedimunculkan oleh seorang profesor dari Massachusetth Institute of Technology yang bernama John McCharty pada tahun 1956 pada Dartmouth Conference yang dihadiri oleh para peneliti AI. Pada konferensi tersebut juga didefinisikan tujuan utama dari kecerdasan buatan, yaitu mengetahui dan memodelkan proses-proses berfikir manusia dan mendesain mesin agar dapat menirukan kelakuan manusia tersebut [5].

  Beberapa program AI yang mulai dibuat pada periode 1956-1966 antara lain [5]: 1.

  Logic Theorist diperkenalkan pada Dartmouth Conference, program ini untuk membuktikan teorema matematik

  2. Sad Sam diprogram oleh Robert K. Lindsay (1960) merupakan program yang dapat mengetahui kalimat sederhana dalam bahasa Inggris dan memberikan jawaban dari fakta yang didengar dalam sebuah percakapan 3. ELIZA diprogram oleh Joseph Weisenaum(1967) adalah program untuk terapi pasien dengan memberikan beberapa pertanyaan

2.1.2 Jaringan Syaraf Tiruan

  Jaringan syaraf tiruan merupakan salah satu cabang dari AI (Artificial

  

Intellegence), adalah salah satu representasi buatan dari otak manusia yang selalu

  mencoba untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah buatan ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran [1].

  Jaringan syaraf tiruan merupakan suatu metode komputasi yang meniru sistem jaringan syaraf biologis. Metode ini menggunakan elemen perhitungan non linier dasar yang disebut neuron yang diorganisasikan sebagai jaringan yang saling berhubungan, sehingga mirip dengan jaringan syaraf manusia. Neuron merupakan unit pemroses informasi yang menjadi dasar dalam pengoperasian jaringan syaraf tiruan [7].

  Neuron terdiri dari tiga elemen pembentuk [7] , yaitu : 1.

  Himpunan unit-unit yang dihubungkan dengan jalur koneksi.

  2. Suatu unit penjumlah yang akan menjumlahkan sinyal-sinyal input yang sudah dikalikan dengan bobotnya.

  3. Fungsi aktifasi yang menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain atau tidak.

  Jaringan syaraf tiruan memiliki beberapa arsitektur jaringan, antara lain [7]: 1. Jaringan Layar Tunggal

  Jaringan dengan lapisan tunggal terdiri dari satu layar input dan satu layar

  output. Setiap neuron yang terdapat pada layar input selalu terhubung dengan neuron yang terdapat pada layar output.

  2. Jaringan Layar Jamak Jaringan layar jamak merupakan perluasan dari jaringan layak tunggal.

  Jaringan dengan lapisan jamak memiliki ciri khas tertentu, yaitu memiliki tiga jenis layar yakni layar input, layar output, dan layar tersembunyi.

  Cara berlangsungnya pembelajaran atau pelatihan jaringan syaraf tiruan dapat dibedakan menjadi dua, yaitu [6]:

  1. Supervised Learning (pembelajaran terawasi) Pada metode supervised learning, setiap pola yang diberikan ke dalam suatu jaringan syaraf tiruan telah diketahui output-nya. Sejumlah pasangan data (masukan

  • – target keluaran) dipakai untuk melatih jaringan hingga diperoleh bobot yang diinginkan. Pada setiap kali pelatihan, suatu input diberikan ke dalam jaringan. Jaringan akan memproses dan mengeluarkan keluaran. Selisih antara keluaran jaringan dengan target (keluaran yang diinginkan) merupakan kesalahan yang terjadi. Kemudian selisih tersebut akan digunakan untuk memodifikasi bobot jaringan syaraf tiruan sehingga mampu menghasilkan output sedekat mungkin dengan pola target yang diketahui oleh jaringan.

  2. Unsupervised Learning (pembelajaran tak terawasi) Pada metode ini, tidak diperlukan target output. Pada metode ini tidak dapat pelatihan, perubahan bobot jaringan dilakukan berdasarkan parameter tertentu dan jaringan dimodifikasi menurut parameter tersebut

2.1.3 Komponen Jaringan Syaraf Tiruan

  Jaringan syaraf tiruan (JST) terdiri dari beberapa neuron yang terhubung satu sama lainnya. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju ke neuron-neuron yang lain. Pada jaringan syaraf tiruan , hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut. Gambar 2.2 menunjukan struktur neuron pada jaringan syaraf tiruan [5].

Gambar 2.2 Struktur neuron jaringan syaraf tiruan [5]

  Pada gambar tersebut dapat dilihat, informasi (disebut dengan : input) akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (treshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, tapi jika tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot

  

output-nya ke semua neuron yang berhubungan dengannya. Demikian seterusnya [5].

2.1.4 Fungsi Aktivasi pada Jaringan Syaraf Tiruan

  Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan, antara lain [5] :

1. Fungsi Undak Biner (Hard Limit)

  Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step

  function) untuk mengkonversi input dari suatu variable yang bernilai kontinu ke suatu output biner.

  Fungsi undak biner (hard limit) dirumuskan sebagai: (2.1)

  { 2. Fungsi Undak Biner (Threshold)

  Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut dengan nama fungsi nilai ambang atau fungsi Heaviside. Fungsi undak biner (dengan nilai ambang 0) dirumuskan sebagai:

  (2.2) { 3.

  Fungsi Bipolar (Symetric Hard Limit) Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya output yang dihasilkan berupa 1, 0 atau -1.

  Fungsi Symetric Hard Limit dirumuskan sebagai: (2.3)

  { 4.

  Fungsi Bipolar (dengan Threshold) Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner dengan Fungsi bipolar (dengan nilai ambang 0) dirumuskan sebagai: (2.4)

  { 5. Fungsi Linear (identitas) Fungsi linear memiliki nilai output yang sama dengan nilai input-nya.

  Fungsi linear dirumuskan sebagai : y = x 6. Fungsi Saturating Linear

  1 Fungsi ini akan bernilai 0 jika input-nya kurang dari - / 2 dan akan bernilai 1

  1

  1

  jika input-nya lebih dari / . Sedangkan jika nilai input terletak antara - /

  2

  2

  1

  dan /

  2 , maka output-nya akan bernilai sama dengan nilai input ditambah

  1

  / 2 . Fungsi Saturating Linear dirumuskan sebagai:

  (2.5) { 7.

  Fungsi Symetric Saturating Linear Fungsi ini akan bernilai -1 jika input-nya kurang dari -1 dan akan bernilai 1 jika input-nya lebih dari 1. Sedangkan jika nilai input terletak antara -1 dan 1, maka output-nya akan bernilai sama dengan nilai input-nya. Fungsi Symetric Saturating Linear dirumuskan sebagai:

  (2.6) { 8.

  Fungsi Sigmoid Biner nilai pada range 0 sampai 1. Fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai

  1. Namun, fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai output-nya 0 atau 1. Fungsi sigmoid biner dirumuskan sebagai berikut:

  (2.7) Dengan turunan : f’(x) = f(x) (1- f(x))

9. Fungsi Sigmoid Bipolar

  Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara 1 sampai -1. Fungsi Sigmoid Bipolar dirumuskan sebagai:

  (2.8) Dengan turunan : f’(x) = ½ (1+ f(x)) (1- f(x))

2.2 JST Backpropagation

  Perambatan galat mundur (Backpropagation) merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma bacpropagation menggunakan error

  

output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk

  mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, yaitu [5]:

  (2.9) Arsitektur jaringan backpropagation dapat dilihat pada gambar berikut

Gambar 2.3 Arsitektur Jaringan Backpropagation [5]

2.2.1 Algoritma Pelatihan Backpropagation

  Pelatihan suatu jaringan dengan algoritma backpropagation meliputi dua tahap yaitu perambatan maju dan perambatan mundur. Selama perambatan maju, tiap unit masukan (x ) menerima sebuah masukan

  i

  sinyal ini ke tiap-tiap lapisan tersembunyi z . Tiap unit tersembunyi ini ,…..,z

  1 p

  kemudian menghitung aktivasinya dan mengirimkan sinyalnya (z ) ke tiap unit

  j

  keluaran. Tiap unit keluaran (y ) menghitung aktivasinya (y ) untuk membentuk

  k k respon pada jaringan untuk memberikan pola masukan [1].

  Selama pelatihan, tiap unit keluaran membandingkan perhitungan aktivasinya y

  k dengan nilai targetnya t untuk menentukan kesalahan pola tersebut dengan unit itu. k menyebarkan kesalahan pada unit keluaran y kembali ke semua unit pada lapisan

  k

  sebelumnya (unit-unit tersembunyi yang dihubungkan ke y ). Juga digunakan

  k (nantinya) untuk meng-update bobot-bobot antara keluaran dan lapisan tersembunyi.

  Dengan cara yang sama, faktor ( .

  j = 1,…,p) dihitung untuk tiap unit tersembunyi z j

  j

  Tidak perlu untuk menyebarkan kesalahan kembali ke lapisan masukan, tetap i δ

  digunakan untuk meng-update bobot-bobot antara lapisan tersembunyi dan lapisan masukan [1].

  Setelah seluruh faktor δ ditentukan, bobot untuk semua lapisan diatur secara serentak. Pengaturan bobot w (dari unit tersembunyi z ke unit keluaran y )

  jk j k

  didasarkan pada faktor dan aktivasi z dari unit tersembunyi z . didasarkan pada

  δ k j j faktor dan dan aktivasi x unit masukan [1].

  δ j i

2.2.2 Prosedur Pelatihan Algoritma Backpropagation Berikut ini adalah langkah-langkah pelatihan algoritma backpropagation [1].

  Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil

  Langkah 1 : Ulangi langkah 2 hingga 9 sampai kondisi akhir iterasi dipenuhi

  Langkah 2 : Untuk masing-masing pasangan data pelatihan (training data) lakukan langkah 3 hingga 8

  Perambatan maju

  Langkah 3 : Masing-masing unit masukan (X i

  , I = 1,…,n) menerima sinyal masukan X i dan sinyal tersebut disebarkan ke unit-unit bagian Langkah 4 : Masing-masing unit dilapisan tersembunyi dikalikan dengan faktor penimbang dan dijumlahkan serta ditambahkan dengan biasnya :

  (2.10) ∑

  Kemudian menghitung sesuai dengan fungsi aktifasi yang digunakan : (2.11)

  Bila yang digunakan adalah fungsi sigmoid biner maka bentuk fungsi tersebut adalah : (2.12)

  Langkah 5 : Masing-masing unit keluaran (Y k

  , k=1,2,3,…m) dikalikan dengan faktor penimbang dan dijumlahkan : (2.13)

  ∑ Menghitung kembali sesuai dengan fungsi aktifasi

  (2.14) Bila yang digunakan adalah fungsi sigmoid biner maka bentuk fungsi tersebut adalah :

  (2.15)

  Perambatan mundur

  Langkah 6 : Masing-masing unit keluaran (Y k

  , k=1,…,m) menerima pola target sesuai dengan pola masukan saat pelatihan dan dihitung galatnya : (2.16) Karena menggunakan fungsi sigmoid, maka : (2.17)

  (2.18) Menghitung perbaikan faktor penimbang (kemudian untuk memperbaiki

  (2.19) Menghitung perbaikan koreksi :

  (2.20) Dan menggunakan nilai pada semua unit lapisan sebelumnya. Langkah 7 :

  Masing-masing penimbang yang menghubungkan unit-unit l;apisan keluaran dengan unit-unit pada lapisan tersembunyi ( dikalikan delta dan dijumlahkan sebagai masukan ke unit-unit lapisan berikutnya.

  (2.21) ∑

  Selanjutnya dikalikan dengan turunan dari fungsi aktifasinya untuk menghitung galat.

  ) (2.22) Kemudian menghitung perbaikan penimbang (digunakan untuk memperbaiki )

  (2.23) Kemudian menghitung perbaikan bias (untuk memperbaiki )

  (2.24) Memperbaiki penimbang dan bias

  Langkah 8 : Masing-masing keluaran unit (y k

  , k=1,…,m) diperbaiki bias dan

  (2.25) (2.26)

  (t+1) V io = Nilai penimbang sambungan pada bias untuk unit Z i

  k

  = Net masukan untuk unit Y

  k

  W k0 = Nilai penimbang sambungan pada bias untuk unit Y k W kj = Nilai penimbang sambungan dari Z ij ke unit Y k

  kj

  = Selisih W

  kj

  (t) dengan W

  kj

  ij

  j

  = Selisih antara V

  ij

  (t) dengan V

  

ij

  (t+1)

  k

  = Faktor pengaturan nilai penimbang sambungan pada lapisan keluaran

  

j = Faktor pengaturan niloai penimbang sambungan pada lapisan tersembunyi

  α =

  z j = Nilai aktifasi dari unit Z j Y k = Unit ke-k pada lapisan keluaran Y_in

  = Keluaran untuk unit Z

  Masing-masing unit tersembunyi (Z

  2 ,X

  j

  , j:1,…,p) diperbaiki bias dan penimbangnya (j=0,…,n) (2.27) (2.28)

  Langkah 9 : Uji kondisi pemberhentian (akhir iterasi)

  Daftar Notasi

  X

  p

  = Pola masukan pelatihan ke- p, p=1,2,…,p<=1. (X

  1,

  X

  3

  j

  , …,X

  n )

  t

  p

  = Pola keluaran target dari pelatihan. (t

  1 , t 2 , t

  3

  , …, t

  n )

  xi = Unit ke-I pada lapisan masukan Xi = Nilai aktifasi dari unit Xi Z j = Unit ke-j pada lapisan tersembunyi Z_in

  Konstanta laju pelatihan (learning rate) 0<α<1

2.2.3 Prosedur Pengujian Algoritma Backpropagation

  Setelah pelatihan, jaringan saraf backpropagation diaplikasikan dengan hanya menggunakan tahap perambatan maju dari algoritma pelatihan. Prosedur aplikasinya adalah sebagai berikut [1]: Langkah 0: Inisialisasi bobot (dari algoritma pelatihan).

  Langkah 1: Untuk tiap vektor masukan, lakukan langkah 2-4. Langkah 2: for i .

  = 1,…, n : atur aktivasi unit masukan x

  i

  Langkah 3: for j = 1,…, p :

  (2.10) ∑

  (2.11) Langkah 4: for k

  = 1,…, m : (2.13)

  ∑ (2.14) Langkah 5: Jika y = 1, else y = 0. ≥ 0,5 maka y

  k k k