• Tidak ada hasil yang ditemukan

Analisis Performansi Metode Backpropagation Untuk Mengidentifikasi Penyakit Mata Menular

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Performansi Metode Backpropagation Untuk Mengidentifikasi Penyakit Mata Menular"

Copied!
104
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

AGI AYUBI

10110515

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

vi

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.1.4 Fungsi Aktivasi Jaringan Syaraf Tiruan ... 13

2.2 JST Backpropagation... 15

(3)

2.2.2 Prosedur Pelatihan Algoritma Backpropagation ... 17

2.2.3 Prosedur Pengujian Algoritma Backpropagation ... 21

2.3 Penyakit Mata Menular ... 21

2.4 Algoritma ... 23

2.4.1 Kompleksitas Algoritma ... 24

2.5 Cross Validation... 28

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 31

3.1 Analisis Masalah ... 31

3.2 Analisis Data Masukan ... 32

3.3 Analisis Metode ... 33

3.4 Analisis Target Keluaran ... 56

3.5 Analisis Kompleksitas ... 56

3.6 Analisis Kebutuhan Sistem ... 61

3.6.1 Analisis Kebutuhan Non Fungsional ... 62

3.6.1.1 Analisis Kebutuhan Perangkat Keras ... 62

3.6.1.2 Analisis Kebutuhan Perangkat Lunak ... 62

3.6.1.3 Analisis Kebutuhan Perangkat Pikir ... 63

3.6.2 Analisis Kebutuhan Fungsional ... 63

3.6.2.1 Use Case Diagram ... 63

3.6.2.2 Activity Diagram ... 64

3.6.2.3 Class Diagram ... 64

3.6.2.4 Sequence Diagram ... 64

3.6.3 Perancangan Sistem ... 64

3.6.3.1 Perancangan Basis Data ... 65

(4)

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

(5)

93 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.

(6)

[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.

(3rd edition). New York: Morgan Kauffman. 2011

[16] Haryanto. Teknik Data Mining untuk Mendapatkan Informasi dari Keluaran

Perangkat Jaringan. Jurnal. Binus University, Jakarta, 2012.

(7)

iii

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

memperjuangkan skripsi ini.

4. Ibu Nelly Indriani W, S.Si.,M.T. selaku dosen pembimbing yang telah banyak

memberikan bimbingan, saran, dan juga nasihat dari sejak awal penelitian

(8)

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

atas

14.Teman-teman GVT Khususnya Ardiansah Rohman, Sofia Nurjanah, Annis

(9)

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

(10)

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)

(11)

1

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 backpropagation” 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

(12)

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

(13)

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

(14)

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

(15)

2. Tahap pembuatan perangkat lunak.

Teknik pembuatan perangkat lunak menggunakan paradigma perangkat lunak

secara Linear Sequential, yang meliputi beberapa proses diantaranya:

a. Analysis

Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan

proyek pembuatan perangkat lunak.

b. Design

Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah

dimengerti oleh user. c. Coding

Tahap penerjemahan data atau pemecahan masalah yang telah dirancang kedalam

bahasa pemrograman tertentu.

d. Test

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

Gambar 1.1 Model Linear Sequential [4]

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran

umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini

(16)

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

(17)

7

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

(18)

2. Sudut pandang penelitian

Kecerdasan buatan adalah suatu studi bagaimana membuat komputer dapat

melakukan sesuatu sebaik yang dikerjakan oleh manusia.

Domain yang sering dibahas para peneliti meliputi:

a. Mundane task

1. persepsi (vision & speech).

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

3. pemikiran yang bersifat common sense dan robot kontrol.

b. Formal task

1. permainan/games.

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

c. Expert task

1. analisis financial.

2. analisis medical.

3. analisis ilmu pengetahuan.

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

3. Sudut pandang bisnis

Kecerdasan buatan adalah kumpulan peralatan yang sangat powerfull dan

metodologis dalam menyelesaikan masalah-masalah bisnis.

4. Sudut pandang pemrograman

Kecerdasan buatan meliputi studi tentang pemrograman simbolik, penyelesaian

masalah (problem solving) dan pencarian (searching).

Untuk melakukan aplikasi kecerdasan buatan ada 2 bagian utama yang sangat

dibutuhkan (Gambar 2.1), yaitu:

a. Basis pengetahuan (Knowledge Base), berisi fakta-fakta, teori, pemikiran dan

(19)

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

berdasarkan pengalaman.

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

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

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

dan 1/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

Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan

(25)

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]:

(26)

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

i) menerima sebuah masukan sinyal ini ke tiap-tiap lapisan tersembunyi z

1,…..,zp. Tiap unit tersembunyi ini

kemudian menghitung aktivasinya dan mengirimkan sinyalnya (z

j) ke tiap unit keluaran. Tiap unit keluaran (y

k) menghitung aktivasinya (yk) untuk membentuk respon pada jaringan untuk memberikan pola masukan [1].

Selama pelatihan, tiap unit keluaran membandingkan perhitungan aktivasinya y k

dengan nilai targetnya t

k untuk menentukan kesalahan pola tersebut dengan unit itu.

Berdasarkan kesalahan ini, faktor δk (k = 1,..,m) dihitung. δ

(27)

menyebarkan kesalahan pada unit keluaran y

k kembali ke semua unit pada lapisan sebelumnya (unit-unit tersembunyi yang dihubungkan ke y

k). Juga digunakan (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. Tidak perlu untuk menyebarkan kesalahan kembali ke lapisan masukan, tetapi δ

j

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

jk (dari unit tersembunyi zj ke unit keluaran yk) didasarkan pada faktor δ

k dan aktivasi zj dari unit tersembunyi zj. didasarkan pada faktor δ

j dan dan aktivasi xi unit masukan [1].

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 (Xi, I = 1,…,n) menerima sinyal

masukan Xi dan sinyal tersebut disebarkan ke unit-unit bagian

(28)

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 (Yk, 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 (Yk, k=1,…,m) menerima pola target

sesuai dengan pola masukan saat pelatihan dan dihitung galatnya :

(29)

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 (yk, k=1,…,m) diperbaiki bias dan

(30)

(2.25)

(2.26) Masing-masing unit tersembunyi (Zj, j:1,…,p) diperbaiki bias dan

penimbangnya (j=0,…,n)

(2.27)

(2.28) Langkah 9 :

Uji kondisi pemberhentian (akhir iterasi)

Daftar Notasi

Xp = Pola masukan pelatihan ke-p, p=1,2,…,p<=1. (X1,X2,X3, …,Xn)

tp = Pola keluaran target dari pelatihan. (t1, t2, t3, …, tn)

xi = Unit ke-I pada lapisan masukan

Xi = Nilai aktifasi dari unit Xi

Zj = Unit ke-j pada lapisan tersembunyi

Z_inj = Keluaran untuk unit Zj

zj = Nilai aktifasi dari unit Zj

Yk = Unit ke-k pada lapisan keluaran

Y_ink = Net masukan untuk unit Yk

Wk0 = Nilai penimbang sambungan pada bias untuk unit Yk

Wkj = Nilai penimbang sambungan dari Zij ke unit Yk

kj = Selisih Wkj(t) dengan Wkj(t+1)

Vio = Nilai penimbang sambungan pada bias untuk unit Zi

ij = Selisih antara Vij(t) dengan Vij(t+1)

k = Faktor pengaturan nilai penimbang sambungan pada lapisan keluaran

j = Faktor pengaturan niloai penimbang sambungan pada lapisan tersembunyi

(31)

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

k ≥ 0,5 maka yk = 1, else yk = 0.

2.3 Penyakit Mata Menular

Penyakit mata menular adalah penyakit mata yang biasanya timbul akibat

infeksi virus dan bakteri sehingga penyakit tersebut bisa menular kepada orang lain

yang berhubungan dengan orang yang sedang menderita penyakit mata menular ini.

Terdapat banyak jenis dari penyakit mata menular yang di derita oleh sebagian

masyarakat Indonesia. Beberapa diantaranya adalah jenis penyakit Konjungtivitis,

Keratokonjutivitis Vernalis, Endoftalmitis, Selulitis Orbitalis, Trakoma, Blefaritis,

dan Ulkus Kornea. Penyakit tersebut memiliki gejala dan ciri-ciri yang hampir mirip.

Pembagian jenis penyakit mata menular beserta gejala yang dialami oleh

penderita dapat dilihat pada tabel 2.1 berikut.

(32)

Tabel 2.1 Penyakit Mata Menular dan Gejalanya

Jenis Penyakit mata menular Gejala

Konjungtivitis

Mata merah, mata terasa perih, mata terasa gatal,

mata berair, mata mengeluarkan kotoran(belekan),

penglihatan kabur

Keratokonjungtivitis vernalis

Sering mengalami mata merah, mata berair, mata

terasa gatal, kelopak mata membengkak, mata

mengeluarkan kotoran(belekan)

Endoftalmitis

Mata merah, mata terasa perih, mengalami

gangguan pada penglihatan(penglihatan berkurang

atau penglihatan kabur), demam, sakit kepala, mata menjadi sensitif terhadap cahaya

Selulitis Orbitalis

Mata merah, mata terasa perih, kelopak mata

membengkak, bola mata menonjol dan

membengkak, demam

Trakoma

Mata merah, mata mengeluarkan kotoran(belekan),

kelopak mata membengkak, kelenjar getah bening

membengkak, kornea terlihat keruh

Blefaritis

Mata merah, mata terasa panas, mata terasa perih,

mata terasa gatal, mata berair, terdapat luka pada

kelopak mata, kelopak mata membengkak,bulu

mata rontok

Ulkus Kornea

Mata merah, mata terasa perih, mata terasa gatal,

mata berair, mata mengeluarkan kotoran(belekan),

terdapat bintik nanah berwarna kuning keputihan

pada kornea, mengalami gangguan pada

penglihatan(penglihatan kabur), sensitif terhadap

(33)

2.4Algoritma

Algoritma adalah urutan langkah-langkah untuk menyelesaikan suatu

masalah. Terdapat beberapa definisi lain dari algoritma, tetapi pada prinsipnya senada

dengan definisi yang diungkapkan. Definisi lainnya antara lain [12] :

1. Algoritma adalah deretan langkah-langkah komputasi yang

mentransformasikan data masukan menjadi keluaran.

2. Algoritma adalah deretan instruksi yang jelas untuk memecahkan

masalah, yaitu memperoleh keluaran yang diinginkan dari suatu

masukan dalam jumlah waktu yang terbatas.

3. Algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang

menggunakan beberapa nilai sebagai masukan dan menghasilkan

beberapa nilai yang disebut keluaran

Terdapat 3 macam cara penulisan algoritma atau disebut notasi algoritmik.

Berikut ini adalah ketiga notasi algoritmik [12]:

1. Notasi I : menyatakan langkah-langkah algoritma dengan untaian

kalimat deskriptif.

2. Notasi II : menggunakan bagan-alir (flowchart).

3. Notasi III : menggunakan pseudo-code.

Sebuah algoritma tidak hanya harus benar, tetapi juga harus efisien. Ukuran

sebuah algoritma dikatakan efisien yaitu melalui waktu dan ruang memori (space).

Algoritma yang efisien adalah algoritma yang dapat meminimumkan kebutuhan

waktu dan ruang. Untuk itu, diperlukan analisis algoritma untuk dapat mengetahui

performansi, keakuratan, optimasi serta efisiensi sebuah algoritma. Setiap algoritma

memiliki nilai performansi yang berbeda-beda. Performansi suatu algoritma dapat

diukur dengan menghitung nilai kompleksitas waktunya dimana setiap langkahnya

(34)

2.4.1 Kompleksitas Algoritma

Umumnya Algoritma mempunyai parameter utama yang paling menentukan

waktu proses. Parameter ini berkaitan dengan jumlah data yang diproses algoritma

tersebut. Parameter ini dapat berupa pangkat suatu persamaan polinom atau jumlah

record yang akan diurutkan atau dicari. Kompleksitas algoritma menyatakan kelajuan

perkembangan waktu proses dibandingkan dengan kelajuan perkembangan data yang

diproses [13]. Salah satu notasi kompleksitas algoritma adalah Big-Oh. Definisi dari

Big-O Adalah fungsi yang lebih berkaitan dengan kelajuan proses daripada kelajuan

pertambahan data yang dirumuskan dengan T(n) = O( f(n) ). Jika ada konstan c dan no

sedemikian rupa sehingga T(n) ≤ c. f(n) untuk n ≥ no. Secara sederhana dikatakan

bahwa O( f(n) ) dapat dianggap sebagai nilai maksimum dari c.f(n).

Contoh :

Jika f(n) = 2n2 maka T(n) = O(n2)

Jika f(n) = 4n2 + 7n + 3 maka T(n) = O(n2)

Contoh perhitungan 1

Sum = 0;

For (i=0; i<n; i++)

Sum = sum + a[i];

Perhitungan eksekusi :

sum = 0 dieksekusi 1 kali

i = 0 dieksekusi 1 kali

i < n dieksekusi n kali

i++ dieksekusi n kali

sum = sum +a[i] dieksekusi n kali

2 + 3n kali

(35)

Contoh perhitungan 2

Sum = 0;

For (i=0; i<n; i++)

For (j=0; j<n; j++)

Sum = sum + a[i];

Perhitungan eksekusi :

sum = 0 dieksekusi 1 kali

i = 0 dieksekusi 1 kali

j = 0 dieksekusi n kali

i < n dieksekusi n kali

i++ dieksekusi n kali

j < n dieksekusi n x n kali

j++ dieksekusi n x n kali

sum = sum +a[i] dieksekusi n x n kali

2 + 3n + 3n2 kali

Jadi T(n) = O(n2)

Tiap-tiap algoritma mempunyai kompleksitas waktu asimptotik masing-masing.

Kompleksitas waktu asimptotik ini dapat digunakan untuk mengelompokan algoritma

[14].

Urutan spektrum kompleksitas waktu algoritma adalah [14]:

O(1)<O(log n) < O(n)< O(n log n) < O( ) O( )<...<O( )<O(n!)

algoritma polinomial algortima eksponensial

Pembagian kelompok algoritma berdasarkan kompleksitas waktu asimptotik

(36)

Tabel 2.2 Kelompok Algoritma Berdasarkan Kompleksitas Waktu Asimptotik [14]

Kelompok Algoritma Nama

O(1) Konstan

O(log n) Logaritmik

O(n) Lanjar

O(n log n) n log n

O( ) Kuadratik

O( ) Kubik

O( ) Eksponensial

O(n!) Faktorial

Penjelasan masing-masing kelompok algoritma adalah sebagai berikut [14]:

O(1) Kompleksitas O(1) berarti waktu pelaksanaan algoritma adalah tetap,

tidak bergantung pada ukuran masukan. Contohnya prosedur tukar di

bawah ini:

procedureTukar(input/output a, b : integer)

{ Mempertukarkan nilai a dan b. Setelah pertukaran, a berisi

nilai b dan b

berisi nilai a semula.

Masukan : a dan b

Keluaran : a dan b

}

Deklarasi temp: integer

Algoritma temp  a

(37)

b  temp

Di sini jumlah operasi penugasan (assignment) ada tiga buah dan tiap

operasi dilakukan satu kali. Jadi, T(n) = 3 = O(1).

O(log n) Kompleksitas waktu logaritmik berarti laju pertumbuhan waktunya

berjalan lebih lambat daripada pertumbuhan n. Algoritma yang termasuk

kelompok ini adalah algoritma yang memecahkan persoalan besar

dengan mentransformasikannya menjadi beberapa persoalan yang lebih

kecil yang berukuran sama (misalnya algoritma pencarian_biner). Di sini basis algoritma tidak terlalu penting sebab bila n dinaikkan dua kali

semula, misalnya, log n meningkat sebesar sejumlah konstanta. Fungsi

log n hanya meningkat menjadi dua kali semula jika n dinaikan sebesar

n2 kali semula(basis dua).

O(n) Algoritma yang waktu pelaksanaannya lanjar umumnya terdapat pada

kasus yang setiap elemen masukannya dikenai proses yang sama,

misalnya algoritma pencarian_beruntun. Bila n dijadikan dua kali

semula, maka waktu pelaksanaan algoritma juga dua kali semula.

O(n log n) Waktu pelaksanaan yang n log n terdapat pada algoritma yang

memecahkan persoalan menjadi beberapa persoalan yang lebih kecil,

menyelesaikan tiap persoalan secara independen, dan menggabung

solusi masing-masing persoalan. Algoritma yang diselesaikan dengan

teknik bagi dan gabung mempunyai kompleksitas asimptotik jenis ini.

Bila n = 1000, maka n log n mungkin 20.000. Bila n dijadikan dua kali

semual, maka n log n menjadi dua kali semula (tetapi tidak terlalu

(38)

O( ) Algoritma yang waktu pelaksanaannya kuadratik hanya praktis

digunakan untuk persoalan yang berukuran kecil. Umumnya algoritma

yang termasuk kelompok ini memproses setiap masukan dalam dua

buah kalang bersarang, misalnya pada algoritma urut_maks. Bila n =

1000, maka waktu pelaksanaan algoritma adalah 1.000.000. Bila n

dinaikkan menjadi dua kali semula, maka waktu pelaksanaan algoritma

meningkat menjadi empat kali semula.

O( ) Seperti halnya algoritma kuadratik, algoritma kubik memproses setiap

masukan dalam tiga buah kalang bersarang, misalnya algoritma

perkalian matriks. Bila n = 100, maka waktu pelaksanaan algoritma

adalah 1.000.000. Bila n dinaikkan menjadi dua kali semula, waktu

pelaksanan algoritma meningkat menjadi delapan kali semula

O( ) Algoritma yang tergolong kelompok ini mencari solusi persoalan secara

"brute force", misalnya pada algoritma mencari sirkuit Hamilton. Bila n

= 20, waktu pelaksanaan algoritma adalah 1.000.000. Bila n dijadikan

dua kali semula, waktu pelaksanaan menjadi kuadrat kali semula!

O(n!) Seperti halnya pada algoritma eksponensial, algoritma jenis ini

memproses setiap masukan dan menghubungkannya dengan n - 1

masukan lainnya, misalnya algoritma Persoalan Pedagang Keliling

(Travelling Salesperson Problem). Bila n = 5, maka waktu pelaksanaan

algoritma adalah 120. Bila n dijadikan dua kali semula, maka waktu

pelaksanaan algoritma menjadi faktorial dari 2n.

2.5 Cross Validation

Untuk tujuan replikasi, yang dibutuhkan adalah mendapatkan jumlah dari data

(39)

data sebagai data uji). Untuk mendapatkannya, jika sampel X cukup besar, kita dapat

membaginya secara acak kedalam K bagian, lalu secara acak memisahkan

masing-masing bagian ke dalam 2 kelompok dan menggunakan setengah data pertama untuk

data latih dan setengah data lainnya untuk data uji. Pengujian ini dilakukan berulang

dengan menggunakan data split yang berbeda, dinamakan cross validation.

K-fold cross-validation adalah sebuah pengujian dimana dataset X dibagi

secara acak kedalam K bagian dengan ukuran yang sama, Xi, i=1,...,K. Untuk

memproses tiap pasangnya, diambil terlebih dahulu salah satu bagian dari K bagian

sebagai data tes, dan mengkombinasikan sisanya sebanyak K-1 bagian sebagai data

latih. Proses pengujian dilakukan sebanyak K kali [17].

Dalam contoh kasus yang memiliki banyak prediksi, hasil pada data uji sering

ditampilkan sebagai confusion matrix dua dimensi dengan baris dan kolom untuk

setiap kelas. setiap elemen matrix menunjukkan jumlah data uji. Pada bagian baris

adalah kelas data uji yang sebenarnya dan pada bagian kolom adalah kelas hasil

prediksi [15]. Contoh confusion matrix pada dapat dilihat pada tabel 2.3.

Tabel 2.3 Contoh Confusion Matrix

Hasil Identifikasi

Target Identifikasi a b c d

a 4 0 0 0

b 1 3 0 0

c 1 0 2 1

d 0 0 0 4

Berikut ini adalah penjelasan pada tabel 2.3

Target a teridentifikasi menjadi a sebanyak 4

teridentifikasi menjadi b sebanyak 0

(40)

teridentifikasi menjadi d sebanyak 0

Target b teridentifikasi menjadi a sebanyak 1

teridentifikasi menjadi b sebanyak 3

teridentifikasi menjadi c sebanyak 0

teridentifikasi menjadi d sebanyak 0

Target c teridentifikasi menjadi a sebanyak 1

teridentifikasi menjadi b sebanyak 0

teridentifikasi menjadi c sebanyak 2

teridentifikasi menjadi d sebanyak 1

Target d teridentifikasi menjadi a sebanyak 0

teridentifikasi menjadi b sebanyak 0

teridentifikasi menjadi c sebanyak 0

(41)

31

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 backpropagation” 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

penyakit saluran pernafasan dengan keakuratan 91,66% yang diperoleh dari pelatihan

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 sangat 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. Dari masalah yang telah dijelaskan, maka perlunya

(42)

dan parameter yang optimal dari metode backpropagation dalam mengidentifikasi

penyakit mata menular.

3.2 Analisis Data Masukan

Data yang digunakan dalam mengidentifikasi penyakit mata menular pada

sistem adalah data gejala dari beberapa penyakit mata menular seperti terlihat dalam

tabel 2.1 penyakit mata menular dan gejalanya pada bab 2. Dari tabel 2.1 penyakit

mata menular dan gejalanya, gejala-gejala dari penyakit mata tersebut disusun

menjadi variabel X1 hingga X19 yang menjadi data masukan pada sistem.

Masing-masing variabel memiliki rentang nilai dari 0 sampai 1 diurutkan dari tidak terjadi

gejala hingga terjadi gejala yang parah. Untuk nilai dari seluruh variabel dapat dilihat

pada tabel 3.1 berikut ini.

Tabel 3.1 Variabel input gejala penyakit mata menular

Gejala-gejala Variabel Nilai

Mata Merah (X1)

Tidak 0

Ya 1

Frekuensi Waktu Mata Merah (X2)

Tidak 0

Mata Mengeluarkan Kotoran (X6)

Tidak 0

Ya 1

Mengalami Gangguan Penglihatan (X7)

Tidak 0

Ya 1

Kelopak Mata Membengkak (X8)

Tidak 0

Ya 1

(43)

Ya 1

Bola Mata Membengkak (X10)

Tidak 0

Ya 1

Kelenjar Getah Bening Membengkak (X11)

Tidak 0

Ya 1

Terdapat Bintik Putih Pada Kornea (X12)

Tidak 0

Ya 1

Kornea Tampak Keruh(X13)

Tidak 0

Ya 1

Terdapat Luka Pada Kelopak Mata (X14)

Tidak 0

Sensitif Terhadap Cahaya (X19)

Tidak 0

Ya 1

Data masukan yang digunakan untuk mengidentifikasi penyakit mata

menular, memiliki batasan minimum gejala yang harus dipilih pada pilihan yang telah

disediakan sistem. Minimum gejala yang bisa digunakan untuk pengidentifikasian

penyakit mata menular adalah sebanyak empat buah gejala. Jika data masukan yang

dipilih kurang dari empat buah gejala, maka sistem tidak dapat melakukan

identifikasi.

3.3 Analisis Metode

Metode backpropagation adalah salah satu metode pembelajaran dari jaringan

syaraf tiruan. Metode ini memiliki tingkat error yang sangat kecil, karena metode ini

(44)

target yang diinginkan. Metode ini memiliki arsitektur jaringan multilayer network

yang merupakan arsitektur jaringan dengan lapisan lebih dari dua lapisan. Metode

backpropagation merupakan metode yang membutuhkan pembelajaran sebelum

dapat mengidentifikasi suatu kasus, maka metode ini memiliki tahap pelatihan dan

tahap pengujian.

a. Arsitektur Jaringan Metode Backpropagation

Arsitektur metode backpropagation terdiri dari tiga layer dalam proses

pembelajarannya, yaitu input layer, hidden layer, dan output layer.

1) Input layer

Input layer memiliki jumlah neuron yang dipengaruhi oleh jumlah masukan

pada suatu kasus, input layer (Xi) pada kasus ini memiliki 19 neuron, karena

gejala penyakit mata secara keseluruhan berjumlah 19 gejala. Input layer

berfungsi menerima nilai pola berupa sinyal input yang didapatkan dari terjadi

atau tidak terjadinya gejala pada sebuah pola, sinyal input akan bernilai 1 bila

gejala terjadi dan bernilai 0 bila gejala tidak terjadi. Pada input layer tidak

terjadi proses komputasi, namun terjadi pengiriman sinyal input x ke hidden

layer.

2) Hidden layer

Tidak ada ketentuan yang pasti dalam menentukan jumlah neuron pada

hidden layer, namun jumlah hidden layer berpengaruh terhadap akurasi dan

laju pemebelajaran dari metode backpropagation. Hidden layer merupakan

variabel yang dapat diubah-ubah untuk mengetahui akurasi dari metode ini,

pada analisis metode ini digunakan 10 neuron pada hidden layer berdasarkan

prosiding “Jaringan Syaraf Tiruan dengan Metode Backpropagation untuk

(45)

layer pada backpropagation berfungsi sebagai tempat untuk mengoreksi dan

menyesuaikan bobot, sehingga didapatkan nilai bobot yang baru yang bisa

diarahkan mendekati dengan target output yang diinginkan.

3) Output layer

Output layer (Yi) pada contoh kasus ini memiliki 3 neuron, karena jumlah

keluaran pada kasus ini berupa kode penyakit yang berjumlah 3 digit.

Kombinasi dari semua neuron tersebut digunakan untuk mengidentifikasi dan

juga learning sebagai output yang seharusnya.

Arsitektur jaringan pada contoh kasus ini dapat dilihat pada gambar 3.1.

Gambar 3.1 Arsitektur jaringan metode backpropagation pada pengidentifikasi penyakit mata

(46)

Keterangan :

Xi : Lapisan Input terdiri dari 19 neuron

Vij : Bobot pada lapisan tersembunyi.

Zj : Lapisan Tersembunyi terdiri dari 10 neuron

Wjk : Bobot pada lapisan keluaran.

V0j : Bias pada lapisan tersembunyi

W0k : Bias pada lapisan keluaran.

i : Variabel yang mewakili input layer

j : Variabel yang mewakili hidden layer

k : Variabel yang mewakili output layer

n : Jumlah neuron dalam suatu lapisan.

Yk : Lapisan Output terdiri dari 3 neuron

1 : Konstanta bias.

b. Pelatihan Metode Backpropagation

Pelatihan dilakukan agar metode ini dapat mempelajari berbagai pola yang

terjadi pada sebuah kasus sebelum dapat mengidentifikasi sebuah pola pada kasus

tersebut. Block diagram menggambarkan setiap blok atau bagian dari alur kerja. Block

diagram metode pelatihan backpropagation yang diimplementasikan pada sistem

(47)

Gambar 3.2 Block diagram metode pembelajaran backpropagation

Penjelasan dari block diagram tersebut akan diimplementasikan pada contoh

kasus menggunakan data pasien yang menderita penyakit konjungtivitis dengan gejala

mata merah (X1), mata terasa perih (X3), mata terasa gatal (X4), mata berair (X5),

(48)

1) Penentuan Variabel Pelatihan

Tahap pertama pada metode backpropagation yang diimplementasikan pada

pengidentifikasi penyakit mata menular adalah penentuan variabel pelatihan.

Terdapat empat variabel pelatihan yang ditentukan, yaitu jumlah neuron pada hidden

layer, learning rate , batas epoch, dan batas iterasi.

Penentuan nilai variabel pelatihan dipengaruhi pemilihan jumlah lapisan

tersembunyi (hidden layer) dan nilai learning rate (laju pembelajaran) yang sesuai.

Nilai learning rate yang tidak sesuai berdampak pada hasil klasifikasi yang kurang

optimal. Apabila nilai learning rate terlalu besar, jaringan akan mencapai konvergen

dalam waktu yang singkat tetapi error klasifikasi menjadi besar. Sebaliknya bila

learning rate terlalu rendah, hasil klasifikasi memiliki akurasi yang baik tetapi

proses training membutuhkan waktu yang lama. Batas epoch dan target error

berfungsi untuk membatasi pelatihan, dimana kedua variabel ini akan dibandingkan

dengan kondisi pelatihan. Pada analisis metode ini digunakan variabel pelatihan

berdasarkan prosiding “Jaringan Syaraf Tiruan dengan Metode Backpropagation untuk Mendeteksi Gangguan Psikologi” karya Kiki dan Sri Kusumadewi [1]. Berikut

ini adalah variabel pelatihan yang akan digunakan pada analisis metode pada contoh

kasus ini.

Jumlah neuron pada hidden layer = 10

Learning Rate ( ) = 0.1

Batas Epoch = 50000

Target Error = 0.01

2) Pengambilan Data Pelatihan

Data pelatihan yang digunakan pada metode ini berupa pasangan sinyal input

(49)

nilai 0 atau 1, nilai ini didapatkan dari terjadinya gejala atau tidak terjadinya gejala.

Sinyal input akan digunakan pada proses perambatan maju dan perbaikan bobot.

Target output (T) merupakan pengkodean dari nama penyakit yang memiliki gejala

yang sesuai dengan sinyal input yang menjadi pasangan dari target output ini, untuk

pengkodean jenis penyakit mata menular dapat dilihat pada tabel 3.6. Target output

akan digunakan untuk menghitung error dan juga digunakan pada tahap perambatan

mundur. Contoh dari salah satu pola data pelatihan yang terdiri dari pasangan sinyal

input dan target output berdasarkan contoh kasus dapat dilihat pada tabel 3.2 dan 3.3

berikut.

Contoh:

Sinyal input

Tabel 3.2 Sinyal input untuk gejala penyakit konjungtivitis

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10

1 0 1 1 1 1 1 0 0 0

X11 X12 X13 X14 X15 X16 X17 X18 X19

0 0 0 0 0 0 0 0 0

Target output

Tabel 3.3 Target output untuk penyakit konjungtivitis

T1 T2 T3

0 0 1

3) Inisialisasi Bobot

Inisialisasi bobot dan bias dilakukan untuk seluruh bobot dan bias yang

(50)

Bobot yang menghubungkan antara input layer ke hidden layer dilambangkan

dengan Vij sedangkan untuk biasnya dilambangkan dengan V0j. Bobot yang

menghubungkan antara hidden layer ke output layer dilambangkan dengan Wjk

sedangkan untuk biasnya dilambangkan dengan W0k. Inisialisasi ini dilakukan dengan

memberi nilai acak terkecil antara 0,0 hingga 0,9 ke seluruh bobot dan bias.

Contoh :

V11 = 0.2643

V01 = 0.4356

W11 = 0.4543

W01 = 0.3242

4) Perambatan Maju (Foward Propagation)

Setelah dilakukan tahap inisialisasi, maka seluruh bobot dan bias yang

menghubungkan layer-layer telah terisi oleh nilai acak kecil. Pada tahap perambatan

maju ini dilakukan penjumlahan seluruh bobot dan bias tersebut dan dilakukan

aktivasi pada hasil penjumlahannya. Pada tahap perambatan maju terdapat tiga

langkah yaitu penerimaan sinyal pada input layer, perhitungan bobot dan bias input

layer ke hidden layer, dan perhitungan bobot da bias hidden layer ke output layer.

a) Penerimaan sinyal pada input layer

Langkah awal pada tahap perambatan maju adalah penyebaran sinyal input

yang telah didapatkan dari data pelatihan ke setiap neuron pada input layer.

Penyebaran sinyal input ke input layer pada contoh kasus ini dapat dilihat pada tabel

3.4.

(51)

Tabel 3.4 Penerimaan sinyal pada input layer

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10

1 0 1 1 1 1 1 0 0 0

X11 X12 X13 X14 X15 X16 X17 X18 X19

0 0 0 0 0 0 0 0 0

b) Perhitungan bobot dan bias input layer ke hidden layer, serta aktivasi

Pada langkah ini digunakan nilai sinyal input(Xi), nilai bobot(Vij), dan nilai

bias(V0j) yang menghubungkan input layer pada hidden layer, untuk menghitung

jumlah seluruh bobot input layer yang menuju ke hidden layer tertentu menggunakan

persamaan (2.10). Proses perhitungan bobot dan bias input layer ke hidden layer

dapat dilihat pada gambar 3.3 berikut.

Gambar 3.3 Proses perhitungan seluruh bobot dan bias input layer ke hidden layer

Berikut adalah salah satu contoh perhitungan bobot dan bias input layer ke

hidden layer dari analisis metode ini.

= 0.4356 + (1 x 0.2643) + (0 x 0.3623) + (1 x 0.1385) + (1 x 0.4643) +

(1 x 0.6537) + (1 x 0.8933) + (1 x 0.6512) + (0 x 0.8246) + (0 x 0.2319) +

(0 x 0.5634) + (0 x 0.1745) + (0 x 0.9127) + (0 x 0.5246) + (0 x 0.5524) +

(0 x 0.7623) + (0 x 0.6723) + (0 x 0.2342) + (0 x 0.9248) + (0 x 0.3494)

=3.5009 Nilai Masukan - Sinyal Input Xi

- Bobot Vij - Bias V0j

Nilai Keluaran

(52)

Dari perhitungan tersebut dihasilkan jumlah seluruh bobot input layer yang

menuju ke hidden layer ke j yang dilambangkan dengan . Nilai ini kemudian

diaktivasi menggunakan rumus aktivasi sigmoid biner dengan persamaan (2.12).

Proses perhitungan aktivasi dapat dilihat pada gambar 3.4 berikut.

Gambar 3.4 Proses aktivasi hasil perhitungan bobot dan bias input layer ke hidden layer

Berikut adalah salah satu contoh perhitungan aktivasi bobot dan bias input

layer ke hidden layer dari analisis metode ini.

=

=

=

= 0.970713367

Dari perhitungan aktivasi nilai ini dihasilkan nilai aktivasi yang

dilambangkan dengan . Nilai ini akan digunakan pengganti sinyal input pada

langkah perhitungan bobot dan bias hidden layer ke output layer.

c) Perhitungan bobot dan bias hidden layer ke output layer, serta aktivasi

Pada langkah ini digunakan nilai aktivasi bobot input layer ke hidden

layer(Zj) sebagai sinyal pada hidden layer, bobot(Wij), dan bias(W0j) yang

menghubungkan hidden layer pada output layer, untuk menghitung jumlah seluruh

bobot hidden layer yang menuju ke output layer ke k menggunakan persamaan

(2.13). Proses perhitungan bobot dan bias hidden layer ke output layer dapat dilihat

pada gambar 3.5 berikut. Nilai Masukan

- Bobot Z_inj

Nilai Keluaran

Gambar

Tabel 2.1 Penyakit Mata Menular dan Gejalanya
Tabel 3.1 Variabel input gejala penyakit mata menular
Gambar 3.1 Arsitektur jaringan metode backpropagation pada pengidentifikasi penyakit mata
Gambar 3.2 Block diagram metode pembelajaran backpropagation
+7

Referensi

Dokumen terkait

Belum tercapainya kriteria ketuntasan yang diharapkan disebabkan dalam menerapkan model pembelajaran kooperatif tipe TTW pada proses pembelajaran analisis kebutuhan

Diumumkan kepada seluruh siswa kelas I-VI, dalam rangka memperingati Diumumkan kepada seluruh siswa kelas I-VI, dalam rangka memperingati hari Pendidikan Nasional siswa diminta

Perkembangan Indeks Harga Konsumen (IHK) setiap bulan atau perubahan Indeks Harga Konsumen (IHK) sepanjang tahun 2013 menunjukkan pergerakan yang fluktuatif

Selanjutnya Mata Pelajaran Pendidikan Agama Islam (PAI) merupakan salah satu Mata Pelajaran yang diajarkan di sekolah tersebut, sedangkan siswa yang masuk pada sekolah

beberapa waktu lalu, terjadi banyak kejadian dan fenomena sosial yang berawal dari perbedaan dan keragaman. Misalnya kasus dugaan penistaan agama yang gagal dipahami

Penelitian pertama yang relevan dengan penelitian ini adalah penelitian Yudaningrum (2014) yang berjudul “Keefektifan Strategi POINT dalam Pembelajaran Membaca

Kegiatan ini dilaksanakan pada bulan Juli sampai November 2020. Mitra kegiatan ini merupakan komunitas peternak ikan air tawar yang terletak di Jalan Gatot Subroto no. 336

Dari penelitian ini dapat disimpulkan bahwa EBNA1 selalu terekspresi pada setiap KNF dan EBNA1 tidak mempunyai peran (fungsi) terhadap keberhasilan terapi; sedangkan EBNA2