perancangan aplikasi sistem pakar untuk mendiagnosa...

24
Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa Penyakit Ayam pada Android Platform Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh Gelar Sarjana Komputer Oleh: Henoch Juli Christanto NIM: 672011610 Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga April 2015

Upload: leduong

Post on 11-Apr-2019

248 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa

Penyakit Ayam pada Android Platform

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Oleh:

Henoch Juli Christanto

NIM: 672011610

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

April 2015

Page 2: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit
Page 3: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit
Page 4: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit
Page 5: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit
Page 6: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit
Page 7: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit
Page 8: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa Penyakit

Ayam pada Android Platform

1Henoch Juli Christanto,

2 Hindriyanto D. Purnomo,

3 Yos Richard Beeh

Fakultas Teknologi Informasi Program Studi Teknik Informatika

Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

[email protected],

[email protected],

[email protected]

Abstract In world of breeding, not all of the breeders have breeding education background.

It becomes problem when the livestock getting sick. They need other people to overcome

the disease. Absolutely, it takes a long time. Fowl, especially chickens are potentially

attacked by diseases that need initial handling. Expert system as a computer technology

can resolve the problem such as the thought of the adopted expert. Therefore, the writer

makes an expert system application that can be used to diagnose chicken disease on

Android platform. Inference process in this system used Central Inference method. A

knowledge base that used is rule based reasoning. The result of the research is an expert

system application base on Android that can be used to help in diagnose and treat

chickens disease. Keywords : Metamorphosis, Augmented Reality, Game, Learning, Android.

Abstrak

Dalam dunia peternakan seringkali yang menjadi peternak adalah orang-orang

yang tidak memiliki latar belakang pendidikan di dalam peternakan sehingga apabila

terjadi kendala seperti penyakit mereka membutuhkan orang lain untuk mengatasinya dan

itu membutuhkan waktu yang cukup lama. Unggas terkhususnya ayam merupakan salah

satu hewan ternak yang rawan terserang penyakit dan beberapa penyakit membutuhkan

penanganan sedini mungkin. Sistem pakar sebagai suatu teknologi komputer yang dapat

menyelesaikan masalah sesuai dengan pemikiran seorang pakar yang diadopsinya. Oleh

karena itu, dibuatlah aplikasi sistem pakar untuk mendiagnosa penyakit ayam pada

Andoid platform. Proses inferensi pada sistem ini menggunakan metode Central

Inference. Basis pengetahuan yang digunakan adalah Rule Based Reasoning. Hasil dari

penelitian ini menghasilkan sebuah aplikasi sistem pakar berbasis Android yang dapat

memberikan kemudahan dalam mendiagnosa dan mengobati penyakit ayam. Kata kunci : Sistem Pakar, Kecerdasan Buatan, Central Inference, Penyakit Ayam

1 Mahasiswa Fakultas Teknologi Informasi Program Studi Teknik Informatika, Universitas

Kristen Satya Wacana 2 Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

3 Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

Page 9: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

1

1. Pendahuluan

Dalam bidang peternakan, ayam adalah binatang unggas yang rawan terhadap

penyakit dengan jenis gejala yang beraneka ragam. Seringkali, para peternak sulit

untuk menentukan secara pasti penyakit apa yang sedang menyerang karena

penyakit pada ayam terdiri dari berbagai gejala yang hampir sama. Kondisi ini

sangatlah berbahaya jika tidak ditangani dengan cepat dan tepat karena penyakit

pada unggas khususnya ayam dapat dengan mudah ditularkan pada individu yang

lain [1].

Berdasarkan wawancara yang telah didapatkan dari PT. Japfa Comfeed

Indonesia yang menangani dalam penyedia pakan dan obat ternak oleh Maria Yuni

Asih S.Pt. selaku management information system, beberapa para peternak sulit

dalam menentukan penyakit dan penanganan yang dilakukan pada penyakit

tersebut. Mereka melakukan diagnosa dengan cara mengirimkan kondisi

menggunakan BlackBerry Messanger pada perangkat Android mereka kepada

mantri hewan yang ada. Hal ini membutuhkan waktu yang lama dalam

mendiagnosa karena mantri hewan hanya dapat mengira-ngira kondisi ayam

sesungguhnya dan membutuhkan waktu untuk merespon peternak yang jumlahnya

banyak.

Berdasarkan latar belakang masalah tersebut diambil beberapa masalah

utama yang melatar belakangi penelitian ini yaitu bagaimana membangun aplikasi

sistem pakar yang dapat membantu peternak ayam dalam mendiagnosa penyakit

ayam. Untuk mengatasi masalah tersebut maka akan dirancang aplikasi sistem

pakar untuk mendiagnosa penyakit ayam pada Android platform.

2. Tinjauan Pustaka

Pada penelitian berjudul A Rule-Based Inference Engine which is Optimal

and VLSI Implementable menghasilkan metode Central Inference Engine

Algorithm yang merupakan pengembangan dari pendekatan Forward Chaining [2].

Penelitian yang dilakukan mengembangkan hasil penelitian tersebut dan

menerapkan Central Inference Engine Algorithm pada perangkat Android.

Psedocode.1 Algoritma Central Inferensi [2]

Page 10: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

2

Kecerdasan buatan atau Artificial Intelligence merupakan salah satu bagian

ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan

seperti dan sebaik yang dilakukan oleh manusia. Salah satu bidang kecerdasan

buatan adalah sistem pakar (Expert System), dimana program komputer dapat

menirukan penalaran seorang pakar dengan keahlian pada suatu bidang tertentu

termasuk dalam mendiagnosa suatu penyakit [3].

Sistem Pakar (Expert System) adalah aplikasi berbasis komputer yang

menggunakan pengetahuan, fakta, dan teknik penalaran untuk menyelesaikan

masalah sebagaimana yang dipikirkan olah pakar. Pakar yang dimaksud adalah

orang yang mempunyai keahlian khusus dalam suatu bidang tertentu yang dapat

menyelesaikan masalah yang tidak dapat diselesaikan oleh orang awam. Beberapa

aktivitas penyelesaian masalah antara lain : pembuatan keputusan (decicion

making), pemaduan pengetahuan (knowledge fusing), pembuatan desain

(designing), perencanaan (planning), prakiraan (forecasting), pengaturan

(regulating), pengendalian (controlling), diagnosis (diagnosing), perumusan

(prescribing), penjelasan (explaining), pemberian nasihat (advising), dan pelatihan

(tutoring) [4].

Dalam sistem pakar untuk mendiagnosa penyakit ayam (diagnosing)

dibutuhkan dua hal penting yaitu basis pengetahuan dan mesin inferensi. Basis

pengetahuan merupakan sekumpulan pengetahuan atau fakta-fakta yang

dibutuhkan sistem, sedangkan mesin inferensi digunakan untuk mengambil

kesimpulan berdasarkan fakta atau pengetahuan seperti pada gambar 1.

Gambar 1. Sistem yang menggunakan AI [4]

Android adalah sebuah kumpulan lengkap mobile phone software. Android

mencakup semua kebutuhan manufaktur atau operator untuk membangun sebuah

mobile phone. Android telah dibuat tersedia sebagai open source melalui lisensi

Apache v2. Android memanfaatkan konten web dan Internet untuk menyediakan

layanan canggih seperti mobile mashups [5].

3. Metode Penelitian

Penelitian ini dilakukan dan diselesaikan melalui tahapan penelitian yang

terbagi dalam lima tahapan, yaitu analisis kebutuhan dan pengumpulan data,

perancangan sistem, perancangan aplikasi / program, implementasi dan pengujian

sistem serta analisis hasil pengujian, dan yang terakhir adalah penulisan laporan

hasil penelitian.

Page 11: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

3

Gambar 2. Tahapan Penelitian [6]

Tahapan penelitian pada Gambar 2 dapat dijelaskan sebagai berikut : Tahap

pertama merupakan tahapan analisis kebutuhan dan pengumpulan data. Analisis

kebutuhan dilakukan untuk mengetahui informasi apa saja yang dibutuhkan oleh

seorang pakar untuk mendiagnosa penyakit ayam. Informasi didapat dengan cara

melakukan wawancara, studi pustaka dan studi literatur dari jurnal-jurnal penelitian

tentang penyakit ayam.

Tahapan kedua dari penelitian ini adalah merancang sistem aplikasi. Metode

pembuatan aplikasi sistem pakar diselesaikan melalui tahapan sesuai dengan tahap-

tahap pengembangan sistem pakar yaitu : (1) Tahap Penilaian Keadaan, (2) Tahap

Koleksi Pengetahuan, (3) Tahap Perancangan, (4) Tahap Tes, (5) Tahap

Dokumentasi, (6) Tahap Pemeliharaan.

Gambar 3. Tahapan-Tahapan Pengembangan Sistem Pakar [4]

Perancangan Sistem meliputi Perancangan Flow

Diagram dan Perancangan Arsitektur

Analisis Kebutuhan dan Pengumpulan Data

Perancangan Aplikasi / Program

Implementasi dan Pengujian Sistem,

serta Analisis Hasil Pengujian

Penulisan Laporan Hasil Penelitian

Page 12: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

4

Tahapan pengembangan sistem pada Gambar 7, dapat dijelaskan sebagai

berikut. Tahap pertama: tahap penilaian keadaan, yaitu mengkaji situasi,

memutuskan dengan pasti tentang masalah yang akan dikomputerisasi dan apakah

sistem pakar dapat lebih membantu atau tidak.

Tahapan kedua: tahap koleksi pengetahuan, yaitu melakukan analisis

kebutuhan dan pengumpulan data penyakit dan gejala-gejala penyakit dari beberapa

buku dan wawancara terhadap pakar dalam mendiagnosa penyakit ayam.

Tahapan ketiga: tahap perancangan sistem (System and Software Design)

yang meliputi perancangan aturan dari basis pengetahuan yang telah didapatkan,

merancang alur kerja sistem, merancang antarmuka untuk menghubungkan

interaksi user dengan system, proses inferensi, perancangan UML meliputi use case

diagram, activity diagram, class diagram dan sequence diagram.

User

Lihat Data Penyakit

Diagnosa Penyakit

Lihat Penanganan Penyakit<<include>>

<<include>>

Lihat Bantuan

Lihat Tentang Aplikasi

Gambar 4. Use Case Diagram Peternak

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem, yang ditekankan adalah “apa” yang diperbuat sistem dan bukan

“bagaiamana”. Sebuah use case mempresentasikan sebuah interaksi actor dengan

sistem. Use case merupakan sebuah pekerjaan tertentu. Sebuah actor adalah

sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk

melaksanakan pekerjaan-pekerjaan tertentu. Dalam use case diagram ini hanya

terdapat 1 actor yang memerlukan sistem untuk mendiagnosa penyakit. Dalam

sistem ini tidak diperlukan admin dikarenakan proses memperbaharui database

dilakukan dengan memperbaharui file XML yang ada di dalam aplikasi.

Activity diagram adalah gambaran aliran proses yang terdapat dalam sistem

mulai aktivitas start sampai aktivitas stop. Aktivitas yang dapat direalisasikan oleh

satu use case atau lebih yang menggambarkan proses yang berjalan. Gambar 4

merupakan akitivitas yang dilakukan user untuk mendapatkan hasil diagnosa.

Proses dimulai dari memilih menu diagnosa kemudian menjawab pertanyaan-

pertanyaan mengenai kondisi yang dialami hingga mendapatkan kesimpulan dari

diagnosa yang sudah dijawab dan mendapatkan informasi tentang pengobatan yang

dapat dilakukan terhadap hasil diagnosa tersebut.

Page 13: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

5

Title

User System Database

Ph

ase

BEGIN

Memilih

Menu

Menampilkan

Menu Diagnosa

Load Data dari

File XML

Menampilkan

PertanyaanInput Jawaban

Mengolah Jawaban

Menampilkan

Kesimpulan

END

Gambar 5. Activity Diagram Diagnosa Penyakit

Gambar 6. Sequence Diagram Proses Diagnosa

Sequence diagram digunakan untuk menunjukkan aliran fungsional dalam

use case, yang disusun berdasarkan urutan waktu. Sequence diagram digunakan

untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan

sebagai respon dari sebuah perintah untuk menghasilkan suatu output tertentu.

Gambar 5 merupakan sequence diagram untuk proses diagnosa penyakit.

Page 14: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

6

Gambar 7. Class Diagram Aplikasi Sistem Pakar

Class diagram sebuah spesifikasi yang jika diinstansiasi akan menghasilkan

sebuah objek dan merupakan inti dari desain dan pengembangan berorientasi objek.

Class menggambarkan keadaan (atribut) suatu sistem sekaligus menampilkan suatu

operasi (fungsi/metode) untuk memanipulasi keadaan tersebut. Gambar 6

menjelaskan hubungan antar class dan bagaimana relasi antar komponen tersebut.

Flowchart Gambar 7 menjelaskan bagaimana proses inferensi dalam

mencari kesimpulan menggunakan algoritma Central Inference dimana algoritma

tersebut terfokus fada suatu aturan dan akan menelusuri setiap elemen pada aturan

tersebut. Pertama, yang perlu dilakukan adalah membaca dokumen penyakit dan

dokumen gejala yang disimpan dalam format XML. Kemudian dari aturan penyakit

yang telah dibaca akan memilih satu per satu untuk ditanyakan pada pengguna

apakah sesuai dengan kondisi pengguna atau tidak. Setelah ditanyakan maka

jawaban akan disimpan meskipun dengan hasil benar atau salah sehingga apabila

ada aturan penyakit lain yang memerlukan informasi kondisi pengguna tidak akan

ditanyakan ulang. Kemudian setelah semua kondisi gejala terpenuhi atau bernilai

benar maka akan ditampilkan hasil kesimpulan sesuai dengan penyakit tersebut.

Apabila kondisi dari suatu gejala tidak memenuhi maka akan langsung memeriksa

untuk penyakit berikutnya. Apabila tidak ada aturan penyakit yang memenuhi,

maka proses penyimpulan hasil diagnosa akan dilakukan dengan membuat

persentase dari tiap penyakit dan akan diambil yang paling besar.

Page 15: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

7

Gambar 8. Flowchart Proses Mesin Inferensi

Proses perhitungan bobot kesimpulan ditunjukkan pada gambar 8 dalam

bentuk persentase. Perhitungan dilakukan dengan mengambil gejala yang sama

pada aturan ke-N yang bernilai benar kemudian dibagi dengan jumlah gejala yang

ada pada aturan ke-N dan dikalikan dengan 100 % maka akan ditemukan bobot

dalam bentuk persen pada suatu aturan. Aturan-aturan yang memiliki gejala yang

sama dengan gejala pengguna akan dihitung bobotnya menggunakan proses

tersebut untuk kemudian diseleksi. Aturan dengan persentase bobot tertinggi akan

diambil sebagai kesimpulan.

Gambar 9. Perhitungan bobot penyakit

Tidak

YA

YATidak

YA

Tidak

BEGIN

Membaca Data Penyakit dan

Gejala

Aturan PenyakitKe -N

Gejala ke -IPada aturan ke -N

Gejala ada dalam kondisi

pengguna ?

Gejala Idalam kondisi

pengguna True ?

I = I +1I = 1

Gejala sesuai dengan kondisi

pengguna?

Simpan gejala pada kondisi

pengguna dengan nilai False

I = 1

Masih ada aturan?

Jumlahgejala dalam

AturanN = I ?

Simpan gejala pada kondisi

pengguna dengan nilai True

N = N + 1N = N + 1

Hitung Persentase dari tiap Aturan

penyakit

Ambil Kesimpulan dengan

presentase paling banyak

Tampilkan Hasil

Kesimpulan

END

YA

Tidak

YA

Tidak

Page 16: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

8

Tahapan keempat: pengujian sistem serta analisis hasil pengujian

(Integration and System Testing), yaitu melakukan pengujian sistem, serta

menganalisis hasil pengujian sistem untuk melihat apakah aplikasi yang telah

dibuat sudah dapat mendiagnosa penyakit dengan benar atau tidak ada eror.

Tahap kelima: Dokumentasi, yaitu melakukan dokumentasi sistem berupa

penulisan laporan penelitian dan artikel ilmiah.

Tahap keenam: Operasi dan Pemeliharaan (Operation and Maintanance),

yaitu memperbaiki kesalahan-kesalahan yang ditemukan pada tahap pengujian

sistem yang telah dilakukan sebelumnya dan memperbaiki aturan baru dalam

mendiagnosa penyakit.

Tahap ketiga dari tahapan penelitan ini adalah merancang aplikasi dengan

merancang antarmuka yang akan digunakan dalam mengimplementasikan sistem

yang telah dirancang. Setelah tahap ketiga selesai dibuat, tahap keempat dari

penelitian ini yakni tahapan pengimplementasian sistem yang sudah dibuat,

pengujian sistem serta analisis hasil pengujian. Tahap kelima adalah penulisan

laporan hasil penelitian yang dilakukan.

4. Hasil dan Implementasi

Perancangan sistem akan diimplementasikan dalam bentuk pengkodean

(coding) untuk membangun aplikasi sistem pakar dalam mendiagnosa penyakit

ayam pada platform Android dengan menggunakan bahasa pemrograman java

sebagai user interface.

Gambar 10. Tampilan Antarmuka Menu Utama

Page 17: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

9

Halaman menu utama aplikasi dibuat dari satu file XML (Extendsible

Markup Language) dan satu file Class Activity, dimana file XML untuk

mendefinisikan komponen-komponen yang digunakan dalam membuat halaman

dari aplikasi, sedangkan class activity berfungsi menampung komponen-komponen

dari file XML sehingga tampilan XML dapat digunakan.

Pada file XML terdapat id yang sesuai dengan komponen-komponen yang

telah disediakan. Pada class activity akan mengimplementasikan komponen yang

tersedia pada file XML sesuai dengan id yang telah disediakan. Di dalam class

activity juga terdapat method yang berguna sebagai pemilihan setiap event untuk

setiap tombol. Setiap tombol akan memberikan statement dimana akan memanggil

activity baru sesuai dengan id yang disediakan. Pemanggilan activity ini

menggunakan intent tetapi untuk tombol keluar menggunakan fungsi finish.

Gambar 11. Tampilan Antarmuka Halaman Menu Diagnosa

Gambar 11 merupakan tampilan antarmuka untuk mengumpulkan data

gejala. Halaman Diagnosa merupakan halaman untuk mendiagnosa penyakit. Di

dalam halaman ini akan ditampilkan pertanyaan-pertanyaan dari gejala-gejala

penyakit. Terdapat dua tombal “Ya” dan “Tidak” untuk menjawab pertanyaan –

pertanyaan gejala yang ada. Setiap kali pengguna menjawab dengan menekan

tombol tersebut maka proses inferensi akan juga berjalan. Apabila masih diperlukan

untuk data dari gejala yang lain maka pertanyaan untuk gejala selanjutnya akan

ditampilkan untuk dijawab, namun apabila data dari gejala yang dibutuhkan sudah

cukup untuk menghasilkan kesimpulan maka tampilan hasil diagnosa akan

ditampilkan.

Page 18: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

10

Gambar 12. Halaman Antarmuka Hasil Diagnosa Penyakit.

Gambar 12 merupakan tampilan antarmuka hasil dari proses diagnosa.

Tampilan ini akan menampilkan hasil dari diagnosa yang sudah dilakukan. Hasil

diagnosa akan diambil 3 penyakit dengan kemungkinan terbesar beserta persentase

nya. Untuk penyakit dengan kemungkinan teratas akan ditampilkan juga gambar

dari ayam yang mengalami penyakit tersebut sehingga user dapat melihat contoh

kondisi ayam yang mengalami penyakit tersebut. Kemudian apabila layar di sentuh

maka halaman akan berganti ke halaman informasi penyakit. Halaman informasi

penyakit berisi tentang informasi penyakit ayam yang sesuai dengan hasil diagnosa

dengan persentase tertinggi beserta pengobatan penyakit tersebut yang dapat pula

diakses dari menu informasi penyakit.

Halaman Daftar Informasi Penyakit merupakan halaman yang berisi tentang

penyakit-penyakit yang terdapat pada sistem pakar ini. Jenis-jenis penyakit tersebut

ditampilkan dalam List View dengan mengatur Adapter dari sebuah class Activity

yang berisi daftar gambar dan daftar judul yang akan ditampilkan di dalam list view.

Gambar 13 merupakan tampilan halaman informasi penyakit.

Selain itu List View yang ada diberi event onItemClickListener agar setiap

kali pengguna memilih sebuah penyakit yang ada di dalam daftar penyakit maka

akan menggunakan intent untuk menampilkan halaman yang berisi informasi yang

lebih lengkap dari penyakit yang dipilih. Informasi yang ditampilkan di halaman

tersebut berupa nama penyakit, nama latin penyakit, gejala-gelaja penyakit dan

pengobatan dari penyakit tersebut. Gambar 14 merupakan halaman informasi yang

lebih lengkap dari suatu penyakit.

Page 19: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

11

Gambar 13. Tampilan Antarmuka Halaman Daftar Informasi Penyakit.

Gambar 14. Tampilan Antarmuka Halaman Informasi Penyakit.

Page 20: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

12

Pada Sistem pakar ini menggunakan File XML sebagai database dari

penyakit. File data penyakit dapat dilihat pada Kode Program 1.

Kode Program 1. File XML yang berisi data penyakit

1. <Daftar>

2. <Penyakit>

3. <Kode>P002</Kode>

4. <Nama>Penyakit Flu Ayam </Nama>

5. <latin>Avian Influenza</latin>

6. <penanganan>Pengobatan dengan cara pemberian vaksin.Ada tiga

jenis vaksin Avian Influenza, (1) Konvensional, killed, oil emulsion. (2)

Rekombinan – vektor vaksin. (3) Reverse Genetics (killed, oil

emulsion)</penanganan>

7. <DaftarGejala>

8. <Gejala>G003</Gejala>

9. <Gejala>G005</Gejala>

10. <Gejala>G007</Gejala>

11. <Gejala>G013</Gejala>

12. <Gejala>G037</Gejala>

13. <Gejala>G044</Gejala>

14. </DaftarGejala>

15. </Penyakit>

16. </Daftar>

File XML tersebut akan digunakan pada sistem dalam mencapai suatu

kesimpulan. Aturan-aturan direpresentasikan menggunakan teknik representasi

pengetahuan rule based reasoning dengan bentuk pola IF-THEN. Bentuk format

penulisan file aturan dapat dilihat pada Psedocode 2.

Pseudocode 2. Representasi Rule Based Reasoning

IF Gejala_1

AND Gejala _2

AND Gejala _3

AND Gejala _4

AND Gejala _5

THEN Kesimpulan_1

#

IF Gejala _1

AND Gejala _2

AND Gejala _3

THEN Kesimpulan_2

Berdasarkan isi file XML pada kode program 1 dan representasi aturan pada

Psedocode 2 maka akan menghasilkan aturan Psedocode 3.

Pseudocode 3. Representasi Aturan dari file XML

IF G003

AND G005

AND G007

AND G013

AND G037

AND G044

THEN P002

Page 21: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

13

Proses diagnosa dengan menampilkan daftar pertanyaan diikuti dengan

proses inferensi dari Psedocode 1 dengan acuan Psedocode 3 yang didapatkan dari

membaca file XML yang berisi data penyakit dan gejala-gejalanya. Untuk membaca

file XML dengan menggunakan XmlPullParser. Proses membaca dengan melihat

setiap tag yang ada seperti start document, start tag, dan end tag. Apabila tag yang

ada adalah start tag maka akan dilihat atribut pada tag XML tersebut kemudian

dapat diambil nilainya. Untuk proses membaca file XML dapat dilihat pada Kode

Program 2.

Kode Program 2. Kode Program Mengambil Data XML

1. while (eventType != XmlPullParser.END_DOCUMENT) {

2. String name = null;

3. switch (eventType) {

4. case XmlPullParser.START_DOCUMENT:

5. list = new ArrayList<Penyakit>();

6. break;

7. case XmlPullParser.START_TAG:

8. name = parser.getName();

9. if (name.equalsIgnoreCase("penyakit")) {

10. dta = new Penyakit();

11. } else if (dta != null) {

12. if (name.equalsIgnoreCase("kode")) {

13. dta.kdPenyakit = parser.nextText();

14. } else if (name.equalsIgnoreCase("nama")) {

15. dta.Nama = parser.nextText();

16. } else if (name.equalsIgnoreCase("latin")) {

17. dta.latin = parser.nextText();

18. } else if (name.equalsIgnoreCase("penanganan")) {

19. dta.penanganan = parser.nextText();

20. } else if (name.equalsIgnoreCase("daftargejala")) {

21. list2 = new ArrayList<String>();

22. } else if (name.equalsIgnoreCase("gejala")) {

23. list2.add(parser.nextText());

24. }

25. }

26. break;

27. case XmlPullParser.END_TAG:

28. name = parser.getName();

29. if (name.equalsIgnoreCase("penyakit") && dta != null) {

30. list.add(dta);

31. }else if (name.equalsIgnoreCase("daftargejala") && dta != null) {

32. dta.ls = list2;

33. }

34. }

35. eventType = parser.next();

36. }

Page 22: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

14

Kode Program 3. Kode program menampilkan pertanyaan.

1. public void siapSoal() {

2. if(iNow<ls.size())

3. if (!akhir)

4. if (cekGejala(ls.get(iNow))) {

5. if(jNow<ls.get(iNow).ls.size()){

6. int cek = cekJawab(ls.get(iNow).ls.get(jNow));

7. if (cek == -1) {

8. iNow++;

9. jNow=0;

10. siapSoal();} 11. else if (cek == 1){ 12. if (ls.get(iNow).ls.size()-1==jNow){ 13. no = iNow; 14. akhir = true; 15. } 16. jNow++; 17. siapSoal(); 18. } else { 19. String tanya=getGejala(ls.get(iNow).ls.get(jNow))+"?"; 20. txtTanya.setText(tanya); 21. kodeGejala.add(ls.get(iNow).ls.get(jNow)); 22. } 23. }else 24. { 25. iNow++; 26. jNow=0; 27. siapSoal(); 28. } 29. }else 30. {iNow++; 31. siapSoal(); 32. } 33. }else 34. { 35. iNow = ls.size(); 36. siapSoal();} 37. }else 38. {cetakHasil();} 39. }

Kode Program 3 merupakan implementasi dari flowchart proses inferensi

yang telah digambarkan pada Gambar 8. Perulangan yang dilakukan pada

kode program 2 tidak menggunakan for-statement melainkan secara manual

dikarenakan ada bagian dimana harus menunggu jawaban pengguna dan ketika

pengguna menjawab dengan menekan tombol maka akan memanggil method yang

baru.

Dari hasil implementasi central inference ke aplikasi maka proses diagnosa

jauh lebih cepat dikarenakan tidak semua gejala ditanyakan. Apabila terdapat suatu

kondisi yang tidak memenuhi pada suatu aturan maka proses inferensi akan

langsung pada aturan berikutnya dengan mengabaikan kondisi lainnya pada aturan

tersebut. Hal ini pula yang menjadi kelemahan central inference karena

dimungkinkan ada gejala yang tidak akan pernah ditanyakan kerena tidak

bersinggungan dengan aturan lainnya sehingga proses pembobotan dari tiap

penyakit menjadi kurang sempurna.

Page 23: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

15

Pengujian aplikasi dilakukan untuk melihat sudah sejauh mana aplikasi

dapat berjalan dan sejauh mana kesalahan yang mungkin terjadi pada aplikasi.

Pengujian aplikasi ini menggunakan blackbox testing, yaitu pengujian fungsional

tanpa melihat alur eksekusi program, namun cukup dengan memperhatikan apakah

setiap fungsi sudah berjalan dengan baik sesuai harapan. Hal-hal yang diuji dan

hasil pengujian blackbox testing dapat dilihat pada Tabel 2.

Tabel 1 Tabel Pengujian BlackBox

Fungsi yang diuji Output yang

diharapkan

Output yang

muncul

Hasil

Pengecekan format

file dan format

penulisan file

Sukses

menyimpan file

Sukses

menyimpan file

Valid

Membaca file

Penyakit

Sukses

membaca file

Sukses

membaca file

Valid

Membaca file Gejala Sukses

membaca file

Sukses

membaca file

Valid

Menampilkan

kesimpulan

Sukses

menampilkan

kesimpulan

Sukses

menampilkan

kesimpulan

Valid

Perhitungan bobot

dalam mencari

kesimpulan

Sesuai

perhitungan

manual

Sesuai

perhitungan

manual

Valid

Menampilkan hasil

diagnose

Sukses

menampilkan

hasil diagnosa

Sukses

menampilkan

hasil diagnosa

Valid

Menampilkan

informasi penyakit

Sukses

menampilkan

data informasi

penyakit

Sukses

menampilkan

data informasi

penyakit

Valid

Berdasarkan hasil pengujian blackbox pada Tabel 1, maka dapat disimpulkan

bahwa aplikasi sudah berjalan sesuai dengan yang dirancang dan dapat dilanjutkan

ke beta testing untuk mengetahui tingkat kepuasan pengguna terhadap aplikasi yang

dibangun.

Pengujian yang dilakukan berikutnya adalah pengujian beta testing,

pengujian ini dilakukan untuk memperoleh data kualitatif mengenai tingkat

keberhasilan perancangan. Pengujian beta testing dilakukan melalui wawancara

dengan beberapa peternak di sekitar Salatiga. Pengujian ini untuk memperoleh data

kualitatif mengenai keberhasilan perancangan. Menurut beberapa peternak, aplikasi

sistem pakar untuk mendiagnosa penyakit ayam sudah cukup baik dari segi

tampilan, proses diagnosa hingga sampai hasil diagnosa penyakit. Hal ini berkaitan

dengan fungsinya sebagai sistem pakar yang dapat mendiagnosa penyakit dari

gejala yang ada hingga informasi mengenai pengobatan yang dapat dilakukan

Page 24: Perancangan Aplikasi Sistem Pakar untuk Mendiagnosa ...repository.uksw.edu/bitstream/123456789/15270/2/T1_672011610_Full...Perancangan . Aplikasi Sistem Pakar untuk M. endiagnosa Penyakit

16

tentang penyakit tersebut. Melalui aplikasi ini, para peternak dapat mendiagnosa

sendiri yang tentunya akan mempercepat penanganan pada ayam yang terserang

suatu penyakit dibandingkan dengan harus menunggu mantri untuk melakukan

proses diagnosa.

5. Simpulan

Berdasarkan hasil penelitian yang telah dilakukan maka dapat ditarik

beberapa kesimpulan yaitu sistem pakar yang diterapkan dengan menyesuaikan

kebutuhan para peternak pada umumnya dalam mendiagnosa penyakit, sehingga

aplikasi harus didukung oleh informasi lebih terhadap hasil diagnosa. Mesin

Inferensi yang digunakan menerapkan central inference algorithm karena proses

inferensi yang tidak memerlukan untuk menganalisa setiap gejala sehingga proses

inferensi jauh lebih cepat. Selain itu, aplikasi sistem pakar untuk mediagnosa

penyakit ayam ini mampu untuk membantu para peternak dalam mendiagnosa

penyakit ayam yang menyerang ayam mereka. Aplikasi sistem pakar penyakit ayam

ini juga dapat memberikan informasi pengobatan terhadap penyakit menyerang

ayam peternak sehingga penanganan dapat secara dini dilakukan.

Pengembangan yang dapat dilakukan selanjutnya pada penelitian ini adalah

dengan mengembangkan mesin inferensi dalam mencari kesimpulan dan

memperbaiki program jika ditemukan bug.

6. Pustaka

[1] Zuber Ahmad. 2012. Penyakit pada Ayam. Jakarta : Pultry Farm.

[2] Grifin N.L,-. A Rule-Based Inference Engine which is Optimal and VLSI

Implementable Department of Computer Science. 40506. Lexington, Kentucky:

University of Kentucky

[3] Suyatno, 2014. Artificial Intelegence. Bandung: Penerbit Informatika

[4] Sri Kusumadewi, 2013. Artificial Intelegence (Teknik dan Aplikasinya). ISBN:

979-3289-19-8. Yogyakarta: Graha Ilmu

[5] Openhandsetalliance. 2007. What is Android™ and how is it different?.

http://www.openhandsetalliance.com/android_faq.html. Tanggal akses 22 Juni

2014

[6] Hasibuan, Zainal A. 2007. Metodologi Penelitian Pada Bidang Ilmu Komputer

dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi. Jakarta : Ilmu

Komputer Universitas Indonesia