BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1. Analisis Sistem - Mendeteksi Penyakit Gigi Menggunakan Jaringan Saraf Tiruan Dengan Menggunakan Metode Backpropagation Dan Metode Hopfield

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

  Analisis sistem merupakan suatu tahapan untuk membantu memahami sesuatu yang di butuhkan system dan mempelajari permasalahan-permasalah yang ada untuk kemudian dilakukannya solusi penyelesaian yang didasarkan pada kebutuhan pengguna sistem agar tercipta sebuah sistem yang berguna bagi pengguna. Sehingga nantinya dapat membantu didalam proses perancangan model suatu system yang akan diimplementasikan.

3.1.1. Analisis Permasalahan

  Gigi merupakan organ terpenting makhluk hidup terutama manusia. Fungsi utama gigi adalah untuk merobek dan mengunyah makanan. Gigi memiliki struktur pelindung yang disebut email gigi, yang membantu mencegah lubang di gigi. Kesehatan gigi merupakan suatu hal yang penting bagi kesahatan tubuh manusia karena gigi membantu proses pengunyahan makanan yang apabila gigi tidak sehat akan membuat nafsu makan tidak baik

  Permasalahan yang dihadapin dalam perancangan system ini yaitu masalah pengenalan pola gigi yang terkena penyakit. Sehingga dengan adanya sistem ini diharapkan dapat membantu masyarakat untuk mendeteksi penyakit gigi sementara waktu sebelum dilakukan pendeteksian gigi oleh dokter gigi.

  Penyebab dan dampak dari permasalahan tersebut digambarkan dengan diagram ishikawa dan dapat dilihat pada Gambar 3.1

  .

  Material Metode Berbagai jenis Pemanfaatan JST

  Penyakit Gigi yang backpropagation dan Sering dialami Oleh hopfield untuk Mendeteksi

  Manusia Pemanfaatan Jaringa

  Penyakit Gigi Syaraf Tiruan Untuk Memberikan Solusi

  Pengobatan dari Beragam Mengetahui Solusi dari Pemanfaatan teknologi

  Jenis Penyakit Gigi Berbagai Jenis untuk mendeteksi Penyakit Gigi Sebelum Penyakit Gigi Sementara

  Melakukan Tindakan Untuk Selanjutnya Pengobatan Ke Dokter dilakukan Observasi Oleh Gigi Dokter Gigi

  Lingkungan Teknologi

Gambar 3.1 Diagram Ishikawa

3.1.2. Analisis Kebutuhan Sistem

  Analisis kebutuhan sistem ini meliputi analisis kebutuhan fungsional sistem dan analisis non-fungsional sistem.

3.1.2.1. Kebutuhan Fungsional Sistem

  Kemampuan fungsional dari sistem ini yaitu: 1. Masukan gambar gigi yang memiliki ekstensi file.jpg atau .jpeg.

  2. Sistem melakukan pelatihan terhadap pola gambar agar kemudian dapat menghasilkan Output.

  3. Sistem melakukan pengujian terhadap pola gambar dimana hasil dari pengujian tersebut berupa nama penyakit gigi, salusi pengobatan terhadap penyakit tersebut dan waktu pungujian.

3.1.2.2. Kebutuhan Non-Fungsional Sistem

  Kebutuhan non-fungsional dari sistem ini yaitu : 1. Tampilan antarmuka sistem dapat dimengerti oleh user atau pengguna sistem.

  2. Data yang digunakan oleh sistem haruslah data real atau nyata dan sesuai sehingga dapat menghasilkan pengenalan pola yang tepat dan memberikan informasi yang tepat dan sesuai dengan tidak mengurangi kualitas informasi.

  3. Efektifitas dan efisiensi dapat terlihat dari waktu respon antara pengguna dengan sistem.

  4. Sistem yang nantinya telah dibuat dapat dikembangkan dengan mudah sehingga sistem dapat tetap digunakan di masa yang akan datang.

  5. Sistem yang dibuat dapat dikembangkan untuk kepentingan lebih lanjut.

3.1.3. Analisis Proses

  Dalam sistem ini ada dua metode yaitu metode backpropagation dan metode hopfield yang digunakan untuk melakukan pendeteksian terhadap penyakit gigi. Di dalam proses pelatihan ini dilakukan pelatihan terhadap suatu pola masukan dari image gigi dengan menggunakan kedua metode tersebut. Kemudian dilakukan proses threshold untuk mendapatkan citra gigi, dan dilakukan proses reduksi data citra tersebut dan pada akhirnya dilakukan pelatihan jaringan saraf tiruan untuk mendeteksi penyakit gigi. Berikut ini akan diberikan contoh sederhana bagaimana masing-masing metode melakukan proses pelatihan. Dengan yang pertama sebagai contoh yaitu penerapan metode (algoritma) backpropagation untuk mengenali fungsi XOR yang memilki 2 masukan x1 dan x2, dimana akan dilakukan iterasi terhadap pola pertama yaitu x1 = 1, x2 = 1 dan t = 0 dengan laju pembelajaran(learning rate

  ) α = 0.2. berikut ini penyelesaian yang akan dilakukan dengan backpropagation menggunakan 1 lapisan tersembunyi yang terdiri dari 3 unit.

  1. Inisialisasi semua bobot (langkah 0 – langkah 3) Inisialisasi bobot ini akan dilakukan pemberian bobot secara acak seperti contoh pada tabel 3.1 dan tabel 3.2.

Tabel 3.1 Nilai Bobot Lapisan Masukan ke Lapisan Tersembunyi (v ) ji

  z1 z2 z3 x1 0.2 0.3 -0.1 x2 0.3 0.1 -0.1 1 -0.3

  0.3

  0.3 Tabel 3.2 Bobot Lapisan Masukan ke Lapisan Tersembunyi (w )

  kj

  Y z1 0.5 z2 -0.3 z3 -0.4 1 -0.1

  2. Hitung keluaran unit tersembunyi (zj) (langkah 4) z_net + j = v jo

  ∑ =1

  z_net

  1 = -0.3+1(0.2)+1(0.3) = 0.2

  z_net

  2 = 0.3+1(0.3)+1(0.1) = 0.7

  z_net

  3 = 0.3+1(-0.1)+1(-0.1) = 0.1

  1

  z = f(z_net ) =

  j j − _ 1+

  1

  1

  1 z1 = = 0.55 ; z2 = = 0.67 ; z3 = = 0.52.

  −0.2 −0.7 −0.1 1+ 1+ 1+

  3. Hitung keluaran unit y k (langkah 5) y_net = w z w

  • k ko

  j kj ∑

  =1

  y_net k = y_net = -0.1+0.55(0.5)+0.67(-0.3)+0.52(-0.4) = -0.24

  1

  1

  y = f(y_net) = = = 0.44

  − _

  0.24 1+ 1+

  4. k (langkah 6) Hitung faktor δ di unit keluaran y

  k = (t k – y k ) f’(y_net k ) = (t k – y k ) y k (1-y k ) k

  = δ = (t – y) y(1 – y) = (0 – 0.44) (0.44) (1 – 0.44) = -0.11 Suku perubahan bobot w kj

  (dengan α = 0.2):

  kj = k z j z ; j = 0,1, ..., 3

  Δw α = α

  10 = 0.2 (-0.11)(1) = -0.02

  Δw

  11 = 0.2 (-0.11)(0.55) = -0.01

  Δw

  10 = 0.2 (-0.11)(0.67) = -0.01

  Δw

  10 = 0.2 (-0.11)(0.52) = -0.01

  Δw

  5. Hitung penjumlahan kesalahan dari unit tersembunyi (=δ) (langkah 7) net =

  _ j k w 1j

  net = (0.11)(0.5) = -0.05

  _

  1 _ net 2 = (0.11)(-0.3) = 0.03 _ net 3 = (0.11)(-0.4) = 0.04

  faktor kesalahan δ di unit tersembunyi:

  j = j f’(z_net j ) = j z j (1-z j )

  _net _net

  1 = -0.05(0.05) (1 – 0.05) = - 0.01 2 = 0.03(0.67) (1 – 0.67) = 0.01

  = 0.04(0.52) (1 – 0.52) = 0.01

3 Suku perubahaan bobot ke unit tersembunyi x dapat dilihat pada

  Δv ji = j i α

tabel 3.3. (j = 1,2,3; i = 0,1,2)Tabel 3.3 Nilai Suku Perubahan Bobot

  z1 z2 z3 x1 = (0.2) = (0.2) = (0.2)

  11

  

21

  31

  Δv Δv Δv (-0.01)(1) = 0 (0.01)(1) = 0 (0.01)(1) = 0 x2

  12 = (0.2) 22 = (0.2) 32 = (0.2)

  Δv Δv Δv (-0.01)(1) = 0 (0.01)(1) = 0 (0.01)(1) = 0

  1

  13 = (0.2) 23 = (0.2) 32 = (0.2)

  Δv Δv Δv (-0.01)(1) = 0 (0.01)(1) = 0 (0.01)(1) = 0

  6. Hitung semua perubahan bobot (langkah 8) w (baru) = w (k = 1 ; j = 0,1, ..., 3)

  kj kj kj

  (lama) + Δw w (baru) = 0.5 – 0.01 = 0.49

  11

  w

  12 (baru) = -0.3 – 0.01 = -0.31

  w

  13 (baru) = -0.4 – 0.01 = -0.41

  w

  10 (baru) = -0.1 – 0.02 = -0.12

  perubahan bobot unit tersembunyi: v (baru) = v (j = 1,2,3 ; i = 0,1,2)

  ji ji ji

  (lama) + Δv

Tabel 3.4 Perubahan Bobot Unit Tersembunyi

  z1 z2 z3 x1 v (baru) = 0.2+0 v (baru) = 0.3+0 v (baru) = -

  11

  21

  31

  = 0.2 = 0.3 0.1+0 = -0.1 x2 v

  12 (baru) = 0.3+0 v 22 (baru) = 0.1+0 v 32 (baru) = -

  = 0.3 = 0.1 0.1+0 = -0.1 1 v

  13 (baru) = - v 23 (baru) = 0.3+0 v 33 (baru) = 0.3+0

  0.3+0 = 0.3 = 0.3 = -0.3

  Hasil pada tabel 3.4 merupakan iterasi untuk pola pertama, untuk mengetahui nilai dari 1 iterasi penuh semua pola maka dapat dilakukan iterasi pada pola kedua yaitu x1 = 1, x2 = 0, dan t = 1, pola ketiga yaitu x1 = 0, x2 = 1, dan t = 1, dan pola keempat yaitu x1 = 0, x2 = 0, dan t = 0.

  Selanjutnya merupakan contoh penerapan metode (algoritma) Hopfield. Misalkan terdapat 2 buah pola yang ingin dikenali yaitu pola A(0,1,0,1,0,1) dan B(1,0,1,0,1,0). Bobot-bobot jaringan saraf tiruan ditentukan sebagai berikut:

  −1 1 −1 1 −1 ⎡ ⎤

  −1 0 −1 1 −1 1 ⎢ ⎥

  1 −1 0 −1 1 −1

  ⎢ ⎥ =

  −1 1 −1 0 −1 1 ⎢ ⎥

  1 ⎢ ⎥

  −1 1 −1 0 −1 ⎣

  −1 1 −1 1 −1 0⎦ Bobot-bobot tersebut simetris (w ij = w ji ; dimana i=baris dan j=kolom) dan diagonal utamanya adalah 0. Pola A dan pola B dilakukan sebagai vector. Dot product antara A dengan B diperoleh dengan cara mengalikan komponen kedua vector tersebut dengan vector bobot.

  Aktivasi node pertama untuk pola A: ⎡ ⎤

  −1 ⎢ ⎥

  1 = 0 + (

  (0 1 0 1 0 1) ⎢ ⎥ ⦁ −1) + 0 + (−1) + 0 + (−1) = −3

  −1 ⎢ ⎥

  1 ⎢ ⎥ ⎣ ⎦

  −1 Aktivasi node kedua: −1

  ⎡ ⎤ ⎢ ⎥

  −1 (0 1 0 1 0 1) ⎢ ⎥ = 0 + 0 + 0 + 1 + 0 + 1 = 2

  ⦁

  1 ⎢ ⎥ ⎢ −1 ⎥ ⎣ 1 ⎦

  Dan seterusnya untuk node ketiga, keempat, kelima, dan keenam diperoleh masing-masing -3, 2, -3, 2. Masih dengan cara yang sama untuk pola B diperoleh masing-masing 2, -3, 2, -3, 2, -3. Kemudian fungsi ambang ditentukan agar jaringan saraf bisa menghasilkan pola A dan pola B.

  1 ≥

  ( ) = � <

  Untuk contoh ini diambil = 0

  Maka akan diperoleh f(2)=1 dan f(-3)=0 kemudian pola output untuk pola A dan pola B dapat ditentukan. Untuk pola A output yang dihasilkan (0,1,0,1,0,1), ini sama dengan pola inputnya dapat dikatakan bahwa jaringan syaraf sukses dalam mengenali pola A. sedangkan pola B output yang dihasilkan (1,0,1,0,1,0) yang berarti pola B juga berhasil dikenali karena sama dengan pola inputannya.

3.1.3.1 Perancangan Arsitektur Jaringan

  Arsitektur jaringan syaraf tiruan yang digunakan pada penelitian ini ditunjukkan pada

Gambar 3.2. dan Gambar 3.3

  X 1 X 2 X 3 X 4 X 12 Z 1 Z 2 Z 3 Z 4 Z 12 b=1 b=1

  Y 1 Y 2 Y 3 Y 4 V 11 V 12 V 13 V 14 V 15 V 21 V 22 V 23 V 24 V 25 V 31 V 32 V 34 V 33 V 35 V 41 V 42 V 43 V 44 V 121 V 122 V 123 V 124 V 125

  V 45 W 11 W 12 W 13 W 14 W 21 W 22 W 23 W 24 W 31 W 32 W 33 W 34 W 41 W 42 W 43 W 44 W 121 W 122 W 123 W 124

  V 01 V 02 V 03 V 04 V 012 W 01 W 02 W 03 W 04 Gambar 3.2 Arsitektur Jaringan Backpropagation sistem

Gambar 3.2 memperlihatkan sistem terdiri dari 12 inputan (

  • 12

  1

  ) sesuai dengan jumlah image gigi yang digunakan sebagai data masukan. Pada lapisan tersembunyi terdiri dari (Z

  • – Z

  1

  12

  ). Dan data keluaran (

  • 4

  1

  ) akan menghasilkan nilai 1 dan 0 yang merupakan subkelas untuk target, target dalam sistem ini adalah 4, dimana : vektor keluaran target 1 adalah 1 0 0 0 vektor keluaran target 2 adalah 0 1 0 0 vektor keluaran target 3 adalah 0 0 1 0 vektor keluaran target 4 adalah 0 0 0 1 Input Vektor Output Vektor

  X 1 V 1 Y 1 Fungsi

  X 2 V 2 Y 2 Ktivasi

  X 3 V 3 Y 3 Y 4 X 12 V 12 Umpan Balik

Gambar 3.3 Arsitektur Jaringan Hopfield sistemGambar 3.3 terlihat bahwa semua unit input dihubungkan dengan semua unit output, meskipun dengan bobot yang berbeda-beda. Tidak ada unit yang dihubungkan

  dengan unit input lainnya. Model diskrit jaringan Hopfield dalam bobot sinaptik

  n

  menggunakan vektor biner dimensi n atau dapat dituliskan a{0,1} . Model ini barisi n neural dan jaringan terdiri dari n(n-1) interkoneksi dua jalur.

  Model jaringan Hopfield secara metematis dapat disajikan dalam bentuk matriks simetris NxN dengan diagonal utamanya bernilai 0. Pemberian nilai 0 pada diagonal utama dimaksudkan agar setiap neuron tidak memberi input pada dirinya sendiri. Dengan demikian jaringan Hopfield merupakan suatu jaringan dengan bobot simetrik , bahwa:

  W ij = W ji Dan

  W ii =0 Keterangan : W : matrik bobot koneksi dari unit i ke unit j

  ij

  W ii = 0 : nilainya sama dengan 0 .

3.2. Pemodelan

  Pada penelitian ini menggunakan UML sebagai bahasa pemodelan untuk membantu mendesain dan merancang sistem identifikasi penyakit gigi. Model UML yang digunakan dalam penelitian ini yaitu use case diagram, sequence diagram, dan activity digaram .

3.2.1. Use Case Diagram

  

Use case diagram merupakan diagram yang menggambarkan interaksi antara sistem

Use case digunakan untuk menggambarkan siapa yang akan menggunakan sistem dan

  bagaimana cara aktor berinteraksi dengan sistem. Berikut ini merupakan use case dari sistem yang akan dirancang.

  diagram Sistem Identifikasi Penyakit Gigi

  Latih Backpropagation <extend>

  Pengujian Penyakit Gigi Backpropagation Latih Hopfield <extend>

  Pengujian Penyakit aktor

  Gigi Hopfield

Gambar 3.4 Use Case Diagram Sistem Identifikasi Penyakit Gigi Berikut adalah tabel yang menunjukkan dokumentasi naratif dari use case latih backpropagation.

Tabel 3.5 Dokumentasi Naratif Use Case Latih Backpropagation

  Nama Use case Latih Backpropagation Aktor User dan Admin Deskripsi Use case ini mendeskripsikan proses pelatihan jaringan sayaraf tiruan Backpropagation Pre-kondisi Masuk pada antarmuka Pelatihan Bidang khas Kegiatan pengguna Respon sistem

  1. Isi id image gigi

  1. Tidak ada

  2. Klik tombol Open

  2. Menampilkan antarmuka cari image gigi

  3. Pilih image gigi yang

  3. Menampilkan image gigi akan digunakan sebagai beserta nama file image masukan gigi

  4. Geser slider Threshold

  4. Menampilkan image gigi yang telah di-threshold

  5. Klik tombol Reduksi dan

  5. Menyimpan hasil reduksi Simpan

  6. Klik tombol Latih

  6. Proses pelatihan

  Backpropagation Backpropagation ,

  Menampilkan grafik pelatihan, dan menyimpan bobot pelatihan

  Bidang

  1. Tekan tombol Reset

  1. Sistem mengosongkan Alternatif

  text field nama file, dan gambar.

  Post-kondisi Sistem menyimpan bobot pelatihan, menampilkan lama waktu pelatihan, dan menampilkan grafik pelatihan.

Tabel 3.6 Dokumentasi Naratif Use Case Latih Hopfield

  Nama Use case Latih Hopfield Aktor User dan Admin Deskripsi Use case ini mendeskripsikan proses pelatihan jaringan sayaraf tiruan Hopfield Pre-kondisi Masuk pada antarmuka Pelatihan Bidang khas Kegiatan pengguna Respon sistem

  1. Isi id image gigi

  1. Tidak ada

  2. Klik tombol Open

  2. Menampilkan antarmuka cari image gigi

  3. Pilih image gigi yang

  3. Menampilkan image gigi akan digunakan sebagai beserta nama file image masukan gigi

  4. Geser slider Threshold

  4. Menampilkan image gigi yang telah di-threshold

  5. Klik tombol Reduksi dan

  5. Menyimpan hasil reduksi Simpan

  6. Klik tombol Latih

  6. Proses pelatihan

  

Backpropagation Hopfield , dan

  menyimpan bobot pelatihan Bidang

  1. Tekan tombol Reset

  1. Sistem mengosongkan Alternatif

  text field id, nama file dan axes gambar.

  Post-kondisi Sistem menyimpan bobot pelatihan, dan menampilkan lama waktu pelatihan.

Tabel 3.7 Dokumentasi Naratif Use Case Identifikasi Penyakit Gigi (Pengujian)

  

Backpropagation

  Nama Use case Identifikasi Penyakit Gigi (pengujian) Backpropagation Aktor Pengguna Deskripsi Use case ini mendeskripsikan proses identifikasi penyakit gigi dengan menggunakan jaringan syaraf tiruan

  Backpropagation

  Prakondisi Masuk pada antarmuka Pengujian Bidang khas Kegiatan pengguna Respon sistem

  1. Klik tombol Open

  1. Menampilkan antarmuka cari image gigi

  2. Pilih image gigi yang

  2. Menampilkan image gigi ingin dikenali

  3. Geser slider Threshold

  3. Menampilkan image gigi yang telah di-threshold

  4. Klik tombol kenali

  4. Pengujian dengan

  Backpropagation jaringan syaraf tiruan Backpropagation dan

  menampilkan hasil pengenalan Bidang

  1. Tekan tombol Reset

  1. Sistem mengosongkan Alternatif dan axes pada

  text field

  anatarmuka pengujian Post-kondisi Sistem menampilkan hasil pengenalan berupa nama gigi, solusi serta waktu pengujian

Tabel 3.8 Dokumentasi Naratif Use Case Identifikasi Penyakit Gigi (Pengujian)

  

Hopfield

  Nama Use case Identifikasi bentuk gigi (pengujian) Hopfield Aktor Pengguna Deskripsi Use case ini mendeskripsikan proses identifikasi penyakit gigi dengan menggunakan jaringan syaraf tiruan Hopfield Prakondisi Masuk pada antarmuka Pengujian Bidang khas Kegiatan pengguna Respon sistem

  1. Klik tombol Open

  1. Menampilkan antarmuka cari image gigi

  2. Pilih image gig yang

  2. Menampilkan image gigi ingin dikenali

  3. Geser slider Threshold

  3. Menampilkan image gigi yang telah di-threshold

  4. Klik tombol kenali

  4. Pengujian dengan jaringan syaraf tiruan

  Hopfield Hopfield dan

  menampilkan hasil pengenalan Bidang

  1. Tekan tombol Reset

  1. Sistem mengosongkan Alternatif

  text field dan axes pada

  anatarmuka pengujian Post-kondisi Sistem menampilkan hasil pengenalan berupa nama gigi, solusi serta waktu pengujian

3.2.2. Sequence Daigram

  Daigram merupakan diagram yang menggambarkan interaksi antara aktor

   Sequence

  dan sistem. Sequence diagram menunjukan sejumlah contoh maupun pesan yang berada atau melewati objek-objek tersebut didalam use case. Berikut Berikut ini merupakan gambaran dari sequence diagram dari sistem yang telah dirancang.

  : Reduksi : Latih Backpropagation : Form Pelatihan : Threshold : Aktor Threshold matriks image

  Reduksi matriks image matriks tereduksi Proses latih Simpan bobot

Gambar 3.5 Sequence Diagram Pelatihan JST Backpropagation

  : Reduksi : Form Pelatihan : Threshold : Latih Hopfield : Aktor open image gigi

  Threshold matriks image Reduksi matriks image matriks tereduksi Proses latih

  Simpan bobot

Gambar 3.6 Sequence Diagram Pelatihan JST Hopfield

  : Reduksi : Uji Backpropagation : Form Pengujian : Threshold : Aktor

  Open image gigi Threshold matriks image Reduksi matriks image matriks tereduksi

  Proses simulasi tampilkan nama tampilkan solusi

Gambar 3.7 Sequence Diagram Pengujian JST Backpropagation

  : Reduksi : Uji Hopfield : Form Pengujian : Threshold : Aktor

  Open image gigi Threshold matriks image Reduksi matriks image matriks tereduksi

  

Proses simulasi

tampilkan nama

tampilkan solusi

Gambar 3.8 Sequence Diagram Pengujian JST Hopfield

3.2.3. Activity Diagram

  

Activity diagram merupakan diagram yang berfungsi untuk menggambarkan logika

  procedural, jalan kerja suatu sistem. Diagram ini memiliki peran yang sama dengan diagram alir yang mana memungkinkan siapapun yang melakukan proses untuk dapat memilih urutan dalam melakukannya sesuai keinginannya. Berikut ini merupakan activity diagram dari sistem yang akan dirancang.

  Aktor Sistem Open image gigi Tampilan image gigi Threshold image gigi Tampil image gigi hasil threshold

  Input id gigi Klik tombol reduksi dan simpan reduksi dan simpan data Klik tombol pelatihan backpropagation

  Tampil grafik pelatihan Latih backpropagation Simpan bobot pelatihan

Gambar 3.9 Activity Diagram Pelatihan Backpropagation

  Aktor Sistem Open image gigi Tampilkan image gigi Threshold gigi

  Tampilkan hasil Threshold gigi Input id gigi Klik tombol reduksi dan simpan Reduksi dan simpan data

  Klik tombol pelatihan hopfield Latih hopfield Simpan bobot pelatihan

Gambar 3.10 Activity Diagram Pelatihan Hopfield

  Klik tombol pengujian backpropagation Tampilkan hasil pengujian

  Sistem Aktor Open image gigi Tampil image gigi Threshold gigi

  Hasil threshold gigi Pengujian Backpropagation

Gambar 3.11 Activity Diagram Pengujian Backpropagation

  Klik tombol pengujian backpropagation Tampilkan hasil pengujian

  Sistem Aktor Open image gigi Tampil image gigi Threshold gigi

  Hasil threshold gigi Pengujian Hopfield

Gambar 3.12 Activity Diagram Pengujian Hopfield

3.3. Pseudocode program

  adalah suatu deskripsi dari algoritama yang disusun dengan mengikuti

  Pseudocode

  struktur bahasa pemrograman yang dapat digambarkan dengan mudah sehingga dapat dipahami oleh manusia itu sendiri.

3.3.1. Pseudocode Proses pelatihan JST

  GRAYSCALE citra_gigi ← imread(fullfile(nama_path, nama_file)) citra_grayscale

  ← rgb2gray(citra_gigi) THRESHOLD [b k] ← size(citra_grayscale) nilai_threshold ← 130 for x ← 1 to b for y ← 1 to k if citra_grayscale(x,y)< nilai_threshold citra_threshold(x,y)

  ← 0

elseif citra_grayscale (x,y)>= nilai_threshold

citra_threshold (x,y) ← 1 end end end REDUKSI DATA citra_threshold[A B] ← citra_threshold pos ← 0 for i ← 1 to 50 for j ← 1 to 5 z(i,j) ← 0 for k ← 1 to 10 pos ← pos+1 z(i,j) ← z(i,j)+aa(i,pos) end end pos ← 0 end pos

  ← 0 for i ← 1 to 5 for j

  ← 1 to 5 zz(j,i) ← 0 for k

  ← 1 to 10 pos ← pos+1 zz(j,i)

  ← zz(j,i)+z(pos,i) end end pos

  ← 0 end for i ← 1 to 5 for j ← 1 to 5 if(zz(i,j)==100) zz(i,j) ← 0 else if(zz(i,j)>=1 && zz(i,j)<=99) zz(i,j) ← 1 end end end end LATIH JST BACKPROPAGATION input

  ← reduksi_data [A B] ← size(input) target

  ← set manual target ← target’ S

  ← jumlah hidden layer TF ← fungsi transfer BTF

  ← fungsi pelatihan net ← newff(input, target,[S1 S2...S(N-l)],{TF1 TF2...TF(N-l)}, BTF) [net,tr]

  ← train (net,input,target); LATIH JST HOPFIELD input ← reduksi_data [A B] ← size(input) T ← input T ← T’ Ai=target net

  ← newhop(T)

3.3.2. Pseudocode Proses Pengujian JST

  GRAYSCALE citra_gigi ← imread(fullfile(nama_path, nama_file)) citra_grayscale

  ← rgb2gray(citra_gigi) THRESHOLD [b k] ← size(citra_grayscale) nilai_threshold ← 130 for x ← 1 to b for y ← 1 to k if citra_grayscale(x,y)< nilai_threshold citra_threshold(x,y)

  ← 0

elseif citra_grayscale (x,y)>= nilai_threshold citra_threshold (x,y) ← 1 end end end REDUKSI DATAUJI citra_threshold[A B] ← citra_threshold pos ← 0 for i ← 1 to 50 for j ← 1 to 5 z(i,j) ← 0 for k ← 1 to 10 pos ← pos+1 z(i,j) ← z(i,j)+aa(i,pos) end end pos ← 0 end pos

  ← 0 for i ← 1 to 5 for j

  ← 1 to 5 zz(j,i) ← 0 for k

  ← 1 to 10 pos ← pos+1 zz(j,i)

  ← zz(j,i)+z(pos,i) end end ← 0 end for i

  ← 1 to 5 for j ← 1 to 5 if(zz(i,j)==100) zz(i,j) ← 0 else if(zz(i,j)>=1 && zz(i,j)<=99) zz(i,j) ← 1 end end end end PENGUJIAN JST BACKPROPAGATION datauji

  ← reduksi_datauji target ← target’ output=sim(net, datauji)

  PENGUJIAN JST HOPFIELD datauji ← reduksi_datauji T

  ← T’ TS ← time step {}

  ← initial input delay output=sim(net,{TS},{},datauji)

3.4. Perancangan sistem

3.4.1. Perancangan Flowchart Sistem

  

Flowchart merupakan suatu sekema penggambaran yang menampilkan urutan proses

  dari suatu sistem. Flowchart memiliki fungsi untuk memudahkan proses pengecekan terhadap sistem yang ingin dibuat apabila ada yang terlupakan dalam analisis masalah. Berikut merupakan flowchart awal dari sistem yang nantinya akan dibangun yang dapat dilihat pada gambar 3.11

  Start

Tidak

Input citra Pelatihan? gigi Ya

  Threshold Input citra gigi Reduksi

  Masukkan id gigi Pengujian JST Threshold Tampilkan hasil Reduksi pengujian Simpan hasil reduksi Latih JST

  Tampilkan

hasil End

pelatihan

Gambar 3.13 Flowchart Sistem

3.4.2. Perancangan Antarmuka (interface)

  Sistem pendeteksi penyakit gigi ini dirancang dengan menggunakan bahasa pemrograman MATLAB R2007b. Perancangan antar muka ini bertujuan untuk menciptakan suatu tampilan sistem yang memudahkan bagi penggunanya untuk berinteraksi.

3.4.2.1. Form Utama

  

Form utama merupakan tampilan awal pada sistem identifikasi. Berikut merupakan

Menu bar pilihan : pelatihan, pengujian, bantuan, dan keluar Label : Judul Program

  Image : Logo USU Label : Nama dan Nim

Gambar 3.14 Tampilan Rancangan Form Utama

3.4.2.2. Form Pelatihan

  pelatihan ini terdiri dari dua fungsi utama yaitu pelatihan Backpropagation dan

  Form pelatihan Hopfield. Berikut merupakan tampilan form pelatihan.

  Menu bar berisi menu : utama, pengujian, bantuan dan keluar

  1

  7 ID Image latih

  8 Reduksi dan simpan

  10

  9 Latih Hopfield Latih backpropagation

  4

3 Reset

  Open Waktu Proses

  11

5 Nama

  6 Gambar 3.15 Tampilan Rancangan Form Pelatihan

  Keterangan:

  1. Menu Bar Terdiri dari sub menu utama, pengujian, bantuan, dan menu keluar.

  2. Image Tempat menampilkan image gigi yang dimasukkan oleh pengguna.

  3. Tombol Open Merupakan tombol pencarian image gigi yang akan diproses.

  4. Tombol Reset Mereset kembali textfield dan axes yang telah dimasukkan oleh pengguna.

  5. Texfield

  Menampilkan nama dari file yang dibuka.

  6. Threshold Untuk mengubah citra menjadi hitam dan putih (2bit) dari image gigi yang telah dimasukkan

  7. Textfield Tempat untuk menginputkan id dari gigi yang akan dilatih untuk kemudian disimpan ke database.

  8. Tombol Reduksi dan Simpan telah dimasukkan oleh pengguna kedalam database.

  9. Tombol Latih Backpropagation Untuk melakukan pelatihan JST Backpropagation.

  10. Tombol Latih Hopfield Untuk melakukan pelatihan JST Hopfield.

  11. Textfield Menampilkan waktu pelatihan

3.4.2.3. Form Pengujian

  

Form pengujian ini terdiri dari dua fungsi utama yaitu pengujian terhadap jaringan

Backpropaagation , dan pengujian terhadap jaringan Hopfield. Berikut merupakan

  tampilan form pengujian.

  Open Reset Nama Threshold

  9 Gambar 3.16 Tampilan Rancangan Form Pengujian

  dari image gigi yang telah dimasukkan

  mengubah citra menjadi hitam dan putih (2bit)

  6. Threshold Untuk

  5. Textfield Berisi nama dari file yang dimasukkan.

  4. Tombol Reset Mereset kembali textfield dan axes yang telah dimasukkan oleh pengguna.

  3. Tombol Open Merupakan tombol pencarian image gigi yang akan diproses.

  2. Image Tempat menampilkan image gigi yang dimasukkan oleh pengguna.

  1. Menu Bar Terdiri dari sub menu utama, pelatihan, bantuan dan menu keluar.

  Keterangan:

  10

  Latih backpropagation Latih Hopfield Nama Menu bar berisi menu : utama, pengujian, bantuan dan keluar

  7 Waktu Proses Solusi

  11

  8

  1

  6

  5

  4

  2

  3

  Image uji

  7. Tombol Kenali Backpro

  Untuk melakukan pengujian terhadap image yang dimasukkan.

  8. Tombol Kenali Hopfield Untuk melakukan pengujian terhadap image yang dimasukkan.

  9. Textfield Menampilkan nama gigi hasil pengujian.

  10. Textfield Menampilkan waktu proses pengujian.

  11. Textfield

3.4.2.5. Form Bantuan

  bantuan ini berfungsi untuk menampilkan tata cara penggunaan system, adapun

  Form

  menu bantuan ini terdapat pada setiap form. Berikut merupakan tampilan dari form bantuan.

  1 Menu bar pilihan menu : menu keluar

BANTUAN

  2 Gambar 3.17 Tampilan Rancangan Form Bantuan Keterangan:

  1. Menu Bar Terdiri dari sub menu keluar untuk kembali ke form bantuan itu berada.

  2. List Box Tempat menampilkan langkah-langkah penggunaan suatu bentuk tampilan dimana menu bantuan itu berada.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi

  Setelah tahap analisis dan perancangan sistem selesai yaitu tahap implementasi dan pengujian terhadap sistem, selanjutnya akan dilakukan tahap implementasi dan pengujian terhadap sistem yang telah dibangun. Sistem identifikasi penyakit gigi ini menggunakan bahasa pemrograman MATLAB R2007b dan menggunakan Microsoft

  

excel 2007 sebagai media penyimpanan. Pada sistem ini terdapat 7 form yaitu form

  utama, form pelatihan, form pengujian, form bantuanUtama, form bantuanPelatihan, form bantuanPengujian, dan form gambar.

4.1.1. Form Utama

  

Form utama merupakan form tampilan awal ketika sistem ini dijalankan. Pada form

  ini terdapat keterangan judul skripsi, nama dan nim, logo universitas, serta menu bar untuk membawa pengguna kepada form-form selanjutnya. Adapun menu bar ini terdiri atas menu pelatihan, menu pengujian, menu bantuan, dan menu keluar. Adapun tampilan dari form utama adalah sebagai berikut.

Gambar 4.1. Form Utama

4.1.2. Form Pelatihan

  

Form pelatihan ini terdiri dari dua metode pelatihan baik terhadap Backpropagation

  maupun Hopfield. Hal pertama yang dilakukan adalah penginputan citra dengan menekan tombol open. Berikut ini adalah tampilan dari form pelatihan.

Gambar 4.2. Form PelatihanGambar 4.3. Form Pelatihan Setelah Membuka File Citra

  Kemudian melakukan proses threshold, proses threshold ini dilakukan dengan menekan tombol threshold sehingga terbentuk citra biner gigi yang mewakili bentuk gigi dari citra aslinya. Berikut ini adalah tampilan form setelah melakukan proses threshold pada citra gigi.

Gambar 4.4. Gambar Gigi Setelah Melakukan Proses Threshold

  Lalu dilakukan proses reduksi terhadap data hasil citra biner sekaligus data tersebut disimpan kedalam database. Setelah semua citra pengujian melakukan proses reduksi dan simpan maka tahapan selanjutnya yaitu melakukan proses pelatihan Backpropagation atau proses pelatihan Hopfield.

Gambar 4.5. Form Setelah Proses Threshold pada Citra Gigi

4.1.3. Form Pengujian

  pengujian ini terdiri dari dua metode pengujian yaitu pengenalan dengan

  Form

  menggunakan Backpropagation dan pengenalan menggunakan Hopfield. Hal pertama yang dilakukan adalah penginputan citra dengan menggunakan tombol open dan kemudian melakukan proses threshold. Proses threshold ini dilakukan dengan menggeser slider hingga pada posisi tertentu sehingga terbentuk citra biner gigi yang mewakili bentuk gigi dari citra aslinya. tombol kenali backprogation atau dengan menekan tombol kenali Hopfield. Jika proses pengenalan berhasil mengenali objek gigi maka akan menampilkan nama beserta solusi pengobatan dari objek gigi tersebut. Jika tidak berhasil mengenali objek gigi maka akan muncul nama dari objek gigi tersebut tidak dikenali. Dalam form ini juga menampilkan lamanya waktu proses pengenalan baik dia dikenali kmaupun tidak dikenali.

Gambar 4.6. Form PengujianGambar 4.7. Hasil Pengujian dengan BackpropagationGambar 4.8. Hasil Pengujian dengan Hopfield

4.1.4. Form Bantuan Utama

  

Form bantuanUtama berfungsi untuk membantu pengguna cara mengoperasikan

tampilan utama sistem ini. Berikut merupakan tampilan dari form bantuanUtama.

Gambar 4.9. Form Menu Bantuan

  4.1.5. Form Bantuan Pelatihan

Form bantuanPelatihan berfungsi untuk membantu pengguna cara mengoperasikan

form pelatihan. Berikut merupakan tampilan dari form bantuanPelatihan.

Gambar 4.10. Form Bantuan Pelatihan

  4.1.6. Form Bantuan Pengujian

  bantuanPelatihan berfungsi untuk membantu pengguna cara mengoperasikan

  Form form pengujian. Berikut merupakan tampilan dari form bantuanPelatihan.

Gambar 4.11. Form Bantuan Pengujian

4.2. Pengujian

  Pengujian ini dilakukan guna untuk mengetahui apakah sistem yang telah dibangun dapat mengidentifikasi penyakit gigi dengan baik melalui jaringan syaraf tiruan baik melalui metode Backpropagation atau melalui metode Hopfield. Dimana yang menjadi parameter pengujian adalah metode mana yang tebih cepat dan tepat dalam mengenali penyakit gigi.

4.2.1. Kecepatan Pelatihan Jaringan Syaraf Tiruan

  Adapun data-data objek gigi yang telah melalui proses threshold dan melalui proses reduksi yang disimpan dalam bentuk vektor input untuk kemudian digunakan dalam pelatihan akan ditampilkan pada tabel berikut.

Tabel 4.1. Vektor Input Pelatihan Nama Nilai Threshold Vektor input

  Karies1 130 00011 11111 11011 11110 10000 Karies2 130 11011 11101 11110 11101 111 11

  Nama Nilai Threshold Vector input Karies3

  130

  10001 10111 10111 10111 10001

  Pulpitis1 130 11111 11111 11111 01111 111 11 Pulpitis2 130 11111 10111 10110 11111 11111 Pulpitis3 130 01101 01001 10111 11111 11100

  Gingivitis1 130 11111 11001 11101 11100 11101 Gingivitis2 130 1111 11110 11111 11110 111111 Gingivitis3 130 10111 10111 11111 10111 10111 Absesgigi1 130 11110 10111 10111 11110 11111 Absesgigi2 130 10111 10100 11011 10111 11111 Absesgigi3 130 11111 11101 11011 00101 11101

  Adapun catatan waktu dari pelatihan terhadap kedua metode tersebut yaitu sebagai berikut:

Gambar 4.12. Catatan Waktu Pelatihan JST BackpropagationGambar 4.13. Catatan Waktu Pelatihan JST Hopfield

  Berdasarkan hasil pelatihan metode backpropagation dengan menggunakan 12 input, 12 hidden layer, 4 output, dan goal performance 0,0001 serta maksimum epoch

  50000 menghasilkan waktu proses 23,5163 detik. Sedangkan dengan menggunakan metode hopfield dengan inputan di-set sehingga menjadi target dengan matriks notasi sesuai dengan jumlah data pelatihan yaitu 12 menghasilkan waktu proses 5,86486 detik. Sehingga dapat disimpulkan bahwa jaringan sayaraf tiruan hopfield lebih cepat dalam melalukan proses pelatihan.

4.2.2. Kecepatan dan Ketepatan Pengujian Jaringan Syaraf Tiruan

  Berikut adalah hasil pengujian antara menggunakan metode jaringan syaraf tiruan kecepatannya. Dalam penentuan ketepatan, nilai target sangat penting terhadap output yang dihasilkan serta nilai threshold yang kita lakukan pada bagian pelatihan terhadap masing-masing gigi. Berikut merupakan beberapa tampilan dari kemampuan jaringan

  backpropagation maupun hopfield dalam mengenali suatu objek.

Gambar 4.14. Pengujian JST Backpropagation Terhadap ObjekGambar 4.15. Pengujian JST Hopfield Terhadap Objek

  Berikut ini tersaji tabel yang memperlihatkan kecepatan serta ketepatan pengenalan terhadap penyakit gigi yang terlatih dengan menggunakan threshold yang sesuai dengan pelatihannya juga menggunakan metode backpropagation.

Tabel 4.2. Hasil Pengujian Metode Backpropagation No Nama Target Nilai Output Hasil Waktu

  Treshold

  1 Karies1 1000 130 1000 Karies 9.36184 detik

  2 Karies2 1000 130 1000 Karies 3.94665 detik

  1000 3.92088

3 Karies3 1000 Karies

  130

  detik

  4 Pulpitis1 0100 130 0100 Pulpitis 3.82945 detik

  Nama Target Nilai Output Hasil Waktu Threshold

  5 Pulpitis2 0100 130 0100 Pulpitis 3.93389 detik

  6 Pulpitis3 0100 130 0100 Pulpitis 4.03181 detik

  7 Gingivitis1 0010 130 0010 Gingivitis 4.00385 detik

  8 Gingivitis2 0010 130 0010 Gingivitis 3.98877 detik

  9 Gingivitis3 0010 130 0010 Gingivitis 4.18776 detik

  10 Absesgigi1 0001 130 0001 Absesgigi 3.90097 detik

  11 Absesgigi2 0001 130 0001 Absesgigi 4.11463 detik

  12 Absesgigi3 0001 130 0001 Absesgigi 4.00469 detik Dari tabel diatas dapat diketahui bahwa apabila nilai threshold pada saat pelatihan dan pengujian sama maka akan didapatkan hasil 100% sama. Nilai threshold ini sangat berpengaruh pada proses reduksi data, dimana hasil dari reduksi data inilah yang dijadikan inputan pada jaringan.

  Selanjutnya berikut ini tersaji tabel yang memperlihatkan kecepatan serta ketepatan pengenalan terhadap penyakit gigi yang terlatih dengan menggunakan

  threshold yang sesuai dengan pelatihannya juga menggunakan metode hopfield.

Tabel 4.3. Hasil Pengujian Metode Hopfield

  

No Nama Target Nilai Treshold Hasil Output Waktu

  1 Karies1 00011 11111 11011 11110 10000 130 Karies 00011

  11111 11011 11110 10000

  7.86698 detik

  2 Karies2 11011 11101 11110 11101 11111 130 Karies 11011

  11101 11110 11101 11111

  3.94665 detik

  3.92088 detik

3 Karies3

  Karies

  10001 10111 10111 10111 10001

  10001 10111 10111 10111 10001

  4 Pulpitis1 11111 11111 11111 01111 11111 130 Pulpitis 11111

  11111 11111 01111 11111

  3.82945 detik

  5 Pulpitis2 11111 10111 10110 11111 11111 130 Pulpitis 11111

  10111 10110 11111 11111

  3.93389 detik

  130

  

No Nama Target Nilai Treshold Hasil Output Waktu

  9 Gingivitis3 10111 10111 11111 10111 10111 130 Gingivit is

  10111 10100 11011 10111 11111

  11 Absesgigi2 10111 10100 11011 10111 11111 130 Absesgi gi

  3.90097 detik

  11110 10111 10111 11110 11111

  10 Absesgigi1 11110 10111 10111 11110 11111 130 Absesgi gi

  4.18776 detik

  10111 10111 11111 10111 10111

  3.98877 detik

  6 Pulpitis3 01101 01001 10111 11111 11100 130 Pulpitis 01101

  11111 11101 11111 11101 11111

  8 Gingivitis2 11111 11101 11111 11101 11111 130 Gingivit is

  4.00385 detik

  11111 11001 11101 11100 11101

  7 Gingivitis1 11111 11001 11101 11100 11101 130 Gingivit is

  4.03181 detik

  01001 10111 11111 11100

  4.11463 detik

  

No Nama Target Nilai Treshold Hasil Output Waktu

  12 Absesgigi3 11111 130 Absesgi 11111 4.00469 11101 gi 11101 detik 11011 11011 00101 00101 11101 11101

  Dari tabel diatas dapat diketahui juga jika nilai threshold pada saat pelatihan sama dengan pengujian akan menghasilkan hasil 100% sama karena nilai threshold sangat berpengaruh pada proses reduksi dimana data hasil reduksi merupakan inputan bagi jaringan. Jadi, baik pada metode backpropagation maupun hopfield akan menghasilkan hasil 100% sama ketika data yang diuji sesuai dengan data yang dilatih.

  Kemudian selanjutnya akan ditampilkan tabel yang memperlihatkan kecepatan serta ketepatan pengenalan terhadap penyakit gigi yang tidak terlatih dengan menggunakan metode backpropagation.

Tabel 4.4. Hasil Pengujian Metode Backpropagation Menggunakan Data Masukan Tidak Terlatih No Nama Target Nilai Output Hasil Waktu Threshold

  1 Karies1 1000 130 1000 Karies 4.23883 detik

  2 Karies2 1000 130 1000 Karies 4.10696 detik

  3 Karies3 1000 130 1000 Karies 4.13538 detik

  4 Gingivitis1 0010 130 0010 Gingivitis 4.27802 detik

  5 Pulpitis1 0100 130 0100 Pulpitis 5.18435 detik

  6 Pulpitis2 0100 130 0010 gingivitis 8.44938 detik

  7 Absesgigi1 0001 130 0001 absesgigi 4.19276 detik Dari tabel diatas dapat diketahui pengujian backpropagation menghasilkan 93,3% hasil yang sesuai dengan menggunakan inputan objek yang tidak terlatih. Adapun kesalahan-kesalahan yang terjadi dikarenakan :

  1. Data No.6 (Pulpitis2) dengan nilai target (0100) menghasilkan nilai output (0010) dimana nilai output tersebut merupakan nilai target dari penyakit gingivitis sehingga hasil keluaran dari proses pengujian adalah gingivitis.

  Dimana output seharusnya sesuai dengan nilai target yang ingin dicapai. Kemudian selanjutnya akan ditampilkan tabel yang memperlihatkan kecepatan serta ketepatan pengenalan terhadap penyakit gigi yang tidak terlatih dengan menggunakan metode Hopfield.

Tabel 4.5. Hasil Pengujian Metode Hopfield Menggunakan Data Masukan Tidak Terlatih

  4 Gingivitis1 11111 11001 11101 11100 11101 130 11111

  7 Absesgigi1 10111 10100 11011 10111 11111 130 10111

  Pulpitis 8.44938 detik

  11111 11111 01111 11111

  6 Pulpitis 11111 11111 11111 01111 11111 130 11111

  Pulpitis 5.18435 detik

  11111 11110 01111 11111

  5 Pulpitis1 11011 11111 11110 01111 11111 130 11011

  Gingivitis 4.27802 detik

  11001 11101 11100 11101

  Detik