• Tidak ada hasil yang ditemukan

sistem Pakar Mendiagnosa Penyakit Ayam Berbasis web

N/A
N/A
Protected

Academic year: 2017

Membagikan "sistem Pakar Mendiagnosa Penyakit Ayam Berbasis web"

Copied!
158
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

PUPUS MUSTIKA PURI

10106188

PROGRAM STUDI S1

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

i

SISTEM PAKAR UNTUK MENDIAGNOSA PENYAKIT AYAM BERBASIS WEB

oleh

Pupus Mustika Puri 10106188

Pertumbuhan dan perkembangan ayam mulai dari perawatan, pemeliharaan sampai produksi daging dan telur tidak luput dari berbagai gangguan penyakit. Hal ini, mengakibatkan kerugian bagi pemilik peternakan tersebut.

Proses pembangunan sistem pakar ini menggunakan metode akuisisi pengetahuan dengan teknik pengumpulan data yang digunakan yaitu wawancara, observasi dan induksi aturan. Sedangkan metode inferensi yang digunakan dalam

pembangunan sistem pakar ini dengan metode forward chaining dan

menggunakan metode pencarian best-first-search. Untuk metodologi

pembangunan perangkat lunak yang digunakan menggunakan metode terstruktur

yaitu Data Flow Diagram dan Entity Relationship Diagram. Tools pemrograman

yang digunakan dalam pembangunan sistem pakar ini menggunakan Adobe

Dreamweaver CS3 sedangkan basis datanya menggunakan MySQL.

Sistem pakar ini dibuat bertujuan untuk membantu pasien dalam mendiagnosa penyakit ayam secara dini. Dalam perancangan sistem pakar ini

meminta suatu jawaban dari user terhadap gejala yang di derita, kemudian ouput

yang dihasilkan oleh komputer berupa kemungkinan penyakit yang dialami oleh

user serta solusi untuk mengobati penyakit pada ayam tersebut.

(3)

ii WEB-BASED

by

Pupus Mustika Puri 10106188

Growth and development of avian ranging from maintenance, maintenance to the production of meat and eggs do not escape from a variety of diseases. This, result in losses for the owners of these farms.

This expert system development process using the method of acquisition of knowledge with data collection techniques used were interviews, observation and induction rules. While the inference method used in the development of this expert system with forward chaining method and using the method of best-first search. For software development methodology used to use a structured method that is Data Flow Diagram and Entity Relationship Diagram. Programming tools used in this expert system development using Adobe Dreamweaver CS3 while using a MySQL database

Expert system was created aims to assist patients in diagnosing disease early chicken. In this expert system design of the user requesting a response to the symptoms in the suffering, then the output generated by the computer in the form of the possibility of disease experienced by users as well as solutions for treating the disease in chickens

(4)

iii

Alhamdulillahi Rabbil ‘alamiin, segala puji dan syukur penulis panjatkan ke

hadirat sang Maha Pintar Allah SWT, karena dengan izin-Nya dan setitik ilmu

pengetahuan yang dipinjamkan kepada mahluk-Nya, penulis dapat menyelesaikan

laporan tugas akhir ini.

Laporan tugas akhir dengan judul “SISTEM PAKAR UNTUK

MENDIAGNOSA PENYAKIT AYAM BERBASIS WEB” ini disusun guna memenuhi salah satu tugas mata kuliah tugas akhir pada semester sembilan

di jurusan Teknik Informatika Universitas Komputer Indonesia.

Penulis sangat menyadari kekurangan yang ada pada laporan ini.

Kekurangan ini dikarenakan keterbatasan penulis dalam hal ilmu pengetahuan dan

pemahaman penulisan laporan. Akan tetapi, penulis berusaha menyusun laporan

ini sebaik yang penulis bisa dengan segenap kemampuan dan usaha yang penulis

bisa.

Selama menulis laporan tugas akhir ini, penulis telah mendapatkan banyak

sekali bimbingan dan bantuan dari berbagai pihak yang telah dengan segenap hati

dan keikhlasan yang penuh membantu dan membimbing penulis dalam

menyelesaikan laporan ini. Dengan kesadaran hati, penulis ucapkan terima kasih

kepada:

1. Kedua orang tuaku yang senantiasa mendukungku dari kecil sampai saat

(5)

2. Kakakku tercinta Puput Yuni S.“u’re bad sister(?) lol sometimes! xD but I

love u the most, thanks for do everythings to me. I really proud got sist like

you and sorry sometimes I always make u angry for many reason ”

3. Ibu Mira Kania Sabariah, S.T, M.T., selaku Ketua Jurusan Teknik

Informatika Universitas Komputer Indonesia.

4. Bapak Galih Hermawan S.Kom. selaku dosen wali kami IF-5 angkatan

2006.

5. Bapak Andry Alamsyah, S.SI., M.SI. selaku dosen pembimbing laporan

tugas akhir yang dengan segala kesabaran hatinya membimbing penulis

dalam menulis laporan tugas akhir ini.

6. Bapak Iskandar Iqbal, S.T. sebagai reviewer dan dosen penguji 1 yang

telah banyak memberikan saran, arahan dan bimbingan kepada penulis.

7. Bapak dan Ibu dosen serta seluruh staf pegawai jurusan Teknik

Informatika, UNIKOM Bandung yang telah banyak membantu penulis.

8. Drh. Titis Wahjudianto selaku pembimbing dalam pembuatan sistem pakar

dan mau meluangkan waktunya untuk penulis.

9. Teman-teman yang sedang tugas akhir Yudha, Wiwik, Ilmani, Dayu,

Sophian, Desi, dan Fauzi, terima kasih atas supportnya.

10.Teman-teman kosn Ria, Karina dan Yanti terima kasih sudah susah-senang

bareng “jangan bosen ya ngumpul dan ngobrol bareng lagi”

11.Fandy yang sudah membantu penulis dalam pembuatan program tugas

akhir ini. Terimakasih atas bantuan dan infonya “gomawo~yo

(6)

Dan semua pihak yang tidak dapat penulis tuliskan namanya satu persatu

yang telah memberikan dorongan semangatnya kepada penulis. Akhir kata,

penulis berharap agar laporan ini dapat berguna bagi semua orang yang

membutuhkan. Amien.

Bandung, Januari 2011

(7)

iv

ABSTRACT ...ii

KATA PENGANTAR ...iii

DAFTAR ISI ...v

DAFTAR GAMBAR ...xi

DAFTAR TABEL ...xv

DAFTAR SIMBOL...xx

DAFTAR LAMPIRAN...xvii

BAB I PENDAHULUAN ...1

1.l. Latar Belakang Masalah ...1

1.2. Identifikasi Masalah...2

1.3. Maksud dan Tujuan ...3

1.3.1. Maksud ...3

1.3.2. Tujuan ...3

1.4. Batasan Masalah ...3

1.5. Metodologi Penelitian ...4

1.5.1. Pengumpulan Data ...5

1.5.2. Pembangunan Perangkat Lunak ...6

1.6. Sistematika Penulisan ...8

BAB II TINJAUAN PUSTAKA ...10

2.1. Artificial Intelligence ...10

(8)

2.1.2. Pengertian Artificial Intelligence ...12

2.1.3. Tujuan Artificial Intelligence ...14

2.1.4. Lingkup Utama Artificial Intelligence ...15

2.2. Sistem Pakar ...16

2.2.1. Pengertian Sistem Pakar ...16

2.2.2. Tujuan Sistem Pakar ...18

2.2.3. Bentuk Sistem Pakar ...19

2.2.4. Manfaat dan Ketebatasan Sistem Pakar ...20

2.2.4.1. Manfaat Sistem Pakar ...20

2.2.4.2 Keterbatasan Sistem Pakar ...21

2.2.5. Komponen Sistem Pakar ...22

2.2.6. Arsitektur Sistem pakar ...24

2.2.7. Pemilihan Masalah ...26

2.2.8. Rekayasa pengetahuan ...28

2.2.9. Partisipasi dalam proses pembangunan ...29

2.2.10. Akuisi Pengetahuan ...30

2.2.11 Komponen-komponen Sistem Pakar ...31

2.2.12. Pohon Pelacakan ...33

2.2.13. Bidang-Bidang sistem Pakar ...37

2.3. Basis data ...39

2.4. Metode Analisis yang digunakan ...45

2.2.14.1. Flowchart ...47

2.2.14.2.Diagram Konteks ...48

2.2.14.3. DFD ...48

(9)

2.2.14.5. Kamus Data ...50

2.2.14.6. Perintah- Perintah MSQL ...51

2.2.14.7. PHP ...52

2.2.14.7. Website ...53

BAB III ANALISIS DAN PERANCANGAN SISTEM ...54

3.1. Analisis Sistem ...54

3.1.1. Analisis Masalah ...54

3.1.2. Identifikasi Masalah ...55

3.1.3. Analisis Data penyakit ...60

3.1.4. Pohon Pelacakan ...64

3.1.5 Kaidah Produksi………...………..66

3.1.6. Analisis Basis Data ...70

3.1.6.1. Entity Relationship Diagram ...70

3.1.7. Analisis Kebutuhan Fungsional ...71

3.1.7.1. Diagram Konteks ...71

3.1.7.2. DFD ...71

3.1.7.2.1. DFD level 1 ...72

3.1.7.2.2. DFD level 2 ...73

3.1.7.2.3. DFD level 3 (Pengolahan Gejala) ...74

3.1.7.2.4. DFD level 3 (Pengolahan Rule) ...74

3.1.7.2.5. DFD level 3 (Pengolahan Penyakit) ...75

3.1.7.2.6. DFD level 3 (Pengolahan Pakar) ...75

3.1.7.2.7. DFD level 3 (Pengolahan Forum) ...76

(10)

3.1.7.4. Kamus Data ...82

3.2 Perancangan Sistem ...83

3.2.1. Perancangan Data ...84

3.2.1.1. Skema Relasi ...84

3.2.1.2. Struktur Tabel...85

3.2.2. Perancangan struktur menu ...90

3.2.3. Perancangan Arsitektur...91

3.2.3.1. Perancangan Menu ...91

3.2.3.2. Perancangan Pesan ...101

3.2.3.3. Jaringan Semantik ...103

3.2.3.4. Jaringan Semantik ...104

BAB VI. IMPLEMENTASI DAN PENGUJIAN SISTEM ...107

4.1. Implementasi Sistem ...107

4.1.1. Kebutuhan Perangkat Keras ...107

4.1.2. Kebutuhan Perangkat Lunak ...108

4.1.3. Implementasi Basis Data ...108

4.1.4. Implementasi Antar Muka ...111

4.1.4.1. Implementasi Antamuka pakar ...111

4.1.4.2. Implementasi Antamuka User ...112

4.2. Pengujian Alpha...112

4.2.1. Rencana Pengujian Aplikasi ...113

4.2.2. Kasus dan Hasil Pengujian...114

(11)

4.2.2.2. Pengujian Pengolahan Data gejala ...115

4.2.2.3. Pengujian Pengolahan Data penyakit ...116

4.2.2.4. Pengujian Pengolahan Data Relasi...117

4.2.2.5. Pengujian Ubah Profil (Pakar) ...118

4.2.2.6. Pengujian Forum ...119

4.3. Pengujian Beta ...119

4.3.1. Kesimpulan Hasil Pengujian Beta Sistem Pakar ...119

4.3.2. Kesimpulan Hasil Pengujian Beta Sistem Pakar ...126

BAB V. KESIMPULAN DAN SARAN ...127

5.1. Kesimpulan ...127

5.2. Saran ...127

(12)

xi

Gambar 1.1. Skema Waterfall ... 6

Gambar 2.1. Proses Motor Inferensi ... 15

Gambar 2.2. Struktur sistem pakar ... 25

Gambar 2.3. Arsitektur sistem pakar ... 27

Gambar 2.4. Proses dalam rekayasa pengetahuan ... 30

Gambar 2.5. Metode akuisi pengetahuan ... 32

Gambar 2.6. Proses Forward chaining ... 36

Gambar 3.1. ERD sistem pakar diagnosa penyakit ayam ... 78

Gambar 3.2. Diagram konteks ... 79

Gambar 3.3. DFD level 1 Sistem Pakar Diagnosa Penyakit Ayam ... 80

Gambar 3.4. DFD level 2 pengolahan data ... 81

Gambar 3.5. DFD level 3 proses gejala ... 82

Gambar 3.6. DFD level 3 proses relasi ... 82

Gambar 3.7. DFD level 3 proses penyakit ... 83

Gambar 3.8.DFD level 3 pengelolaan pakar ... 83

Gambar 3.9. DFD level 3 pengelolaan forum ... 84

Gambar 3.10. Skema Relasi ... 99

Gambar 3.11. Struktur Menu Member ... 100

(13)

Gambar 3.13. Form Menu Utama ... 101

Gambar 3.14. Form Pendaftaran... 101

Gambar 3.15. Form Login Pakar ... 102

Gambar 3.16. Form Cetak diagnosa ... 102

Gambar 3.17. Form menu diagnosa ... 103

Gambar 3.18. Form menu hasil diagnosa... 104

Gambar 3.19. Form detail diagnosa dan cetak diagnosa... 104

Gambar 3.20. Form Menu Forum ... 105

Gambar 3.21. Form Jawab Forum ... 105

Gambar 3.22. Form Menu Utama Pakar ... 106

Gambar 3.23. Form Penyakit ... 106

Gambar 3.24. Form Tambah Penyakit ... 107

Gambar 3.25. Form Edit Penyakit ... 107

Gambar 3.26. Form Gejala ... 108

Gambar 3.27. Form Tambah gejala ... 108

Gambar 3.28. Form Edit gejala ... 108

Gambar 3.29. Form Relasi ... 109

Gambar 3.30. Form tambah relasi ... 109

Gambar 3.31. Form edit relasi ... 110

Gambar 3.32. Form Tambah pakar ... 110

Gambar 3.34. Form edit pakar ... 111

Gambar 3.35. Form laporan penyakit ... 112

(14)

Gambar 3.37. Form menu forum ... 113

Gambar 3.38. Form tambah forum ... 113

Gambar 3.39. Form edit forum ... 114

Gambar 3.40. Tampilan Pesan M01 ... 114

Gambar 3.41. Tampilan Pesan M02 ... 114

Gambar 3.42. Tampilan Pesan M03 ... 114

Gambar 3.43. Tampilan Pesan M04 ... 114

Gambar 3.44. Tampilan Pesan M05 ... 115

Gambar 3.45. Tampilan Pesan M06 ... 115

Gambar 3.46. Tampilan Pesan M07 ... 115

Gambar 3.47. Tampilan Pesan M08 ... 115

Gambar 3.48. Tampilan Pesan M09 ... 115

Gambar 3.49. Tampilan Pesan M10 ... 115

Gambar 3.50. Tampilan Pesan M11 ... 115

Gambar 3.51. Tampilan Pesan M12 ... 115

Gambar 3.52. Tampilan Pesan M13 ... 116

Gambar 3.53 .Tampilan Pesan M14 ... 116

Gambar 3.54. Tampilan Pesan M15 ... 116

Gambar 3.55. Tampilan Pesan M16 ... 115

Gambar 3.56. Tampilan Pesan M17 ... 115

Gambar 3.57. Tampilan Pesan M18 ... 116

Gambar 3.58 .Tampilan Pesan M19 ... 116

(15)

Gambar 3.60 Jaringan Semantik pengguna ... 117

Gambar 3.61 Jaringan Semantik pakar ... 118

Gambar 3.62 Flowchart Diagnosa ... 119

Gambar 3.63 Flowchart Login ... 119

Gambar 3.64 Flowchart Tambah ... 119

(16)

xv

Tabel 3.2. Spesifikasi proses ... 76

Tabel 3.3. Kamus Data ... 82

Tabel 3.4. Tabel Gejala ... 85

Tabel 3.5. Tabel Relasi ... 85

Tabel 3.6. Tabel Penyakit ... 85

Tabel 3.7. Tabel Hasil Diagnosa ... 86

Tabel 3.8. Tabel Pakar ... 86

Tabel 3.9. Tabel Temporary Penyakit... 86

Tabel 3.10. Tabel Temporary Gejala ... 87

Tabel 3.11. Tabel Temporary Analisa ... 87

Tabel 3.12. Tabel Jawaban ... 87

Tabel 3.13. Tabel Forum ... 88

Tabel 3.14. Tabel Topik ... 88

Tabel 3.15. Tabel Poling ... 88

Tabel 3.16. Tabel Member ... 89

Tabel 4.1. Perangkat Keras yang digunakan ... 108

Tabel 4.2. Perangkat Lunak yang digunakan ... 108

Tabel 4.3. Implementasi Database ... 108

Tabel 4.4. Antarmuka Pakar ... 111

(17)

Tabel 4.6. Rencana Pengujian Aplikasi Sistem Pakar Penyakit Ayam ... 113

Tabel 4.7. Pengujian Login ... 114

Tabel 4.8. Pengujian member ... 114

Tabel 4.10. Pengujian diagnosa ... 115

Tabel 4.11. Pengujian Tambah gejala ... 115

Tabel 4.12. Pengujian Ubah gejala ... 116

Tabel 4.13. Pengujian Tambah Penyakit... 116

Tabel 4.14. Pengujian ubah data penyakit ... 117

Tabel 4.15. Pengujian tambah data relasi... 117

Tabel 4.16. Pengujian ubah relasi ... 118

Tabel 4.17. Pengujian Tambah Pakar ... 118

Tabel 4.18. Pengujian Ubah Pakar ... 118

Tabel 4.19. Pengujian Forum Diskusi... 119

Tabel 4.20. Hasil Pengujian kuesioner 1 (Pakar) ... 120

Tabel 4.21. Hasil Pengujian kuesioner 2 ... 121

Tabel 4.22. Hasil Pengujian kuesioner 3 ... 121

Tabel 4.23. Hasil Pengujian kuesioner 4 ... 122

Tabel 4.24. Hasil Pengujian kuesioner 5 ... 122

Tabel 4.25. Hasil Pengujian kuesioner 1 (Member) ... 123

Tabel 4.26. Hasil Pengujian kuesioner 2 ... 123

Tabel 4.27. Hasil Pengujian kuesioner 3 ... 124

Tabel 4.28. Hasil Pengujian kuesioner 4 ... 125

(18)

xvii

Proses Merupakan proses komputer yang

terjadi didalam aliran dokumen

Aliran Menunjukkan aliran data antar dokumen

atau antar proses

Proses Manual Merupakan proses yang terjadi didalam

Flow Map

Seleksi Digunakan untuk pengecekan

Dokumen Menujukan dokumen sebagai masukan

/keluaran baik secara manual atau

melalui komputer

Multiple

dokumen

Menunjukan banyak dokumen sebagai

masukan/keluaran baik secara manual

atau melalui komputer

Offline

Storage

Menunjukkan tempat penyimpanan data

(19)

2. Simbol Entity Relationship Diagram (ERD)

SIMBOL NAMA KETERANGAN

Entity Menunjukkan himpunan entitas

Belah Ketupat Relationship

Menunjukkan himpunan relasi

Garis

Menunjukkan penghubung antara

himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya

Atribut Ellips Menunjukkan atribut dari sebuah

entitas

3. Simbol Data Flow Diagram (DFD)

SIMBOL NAMA KETERANGAN

Proses

Menunjukkan kegiatan / kerja yang dilakukan oleh orang, mesin atau komputer

Terminator Menunnjukkan bagian dari luar

Arus / Aliran data

Menunjukkan arus dari proses

Data store

Menunjukkan simpanan dari data yang

dapat berupa suatu file / database di

(20)

xvii

Lampiran B Listing Program ... B-1

(21)

128 Graha Imu, Yogyakarta.

[3] Sari Iswanti, Sri Hartati. 2008. Sistem Pakar dan Pengembangannya. Graha

Ilmu, Yogyakarta.

[4] http://id.wikipedia.org/wiki/MySQLdiakses 23 maret 2010 pukul 20:22

(22)

1

1.1 Latar Belakang Masalah

Kesehatan merupakan hal yang paling penting bagi makhluk hidup.

Tidak hanya manusia yang membutuhkan kesehatan tetapi hewan juga

membutuhkannya. Dalam suatu peternakan ayam, dapat terjadi banyak sekali

variasi penyakit yang sudah sangat dipahami atau familiar bagi peternak

terutama peternak skala menengah dan besar. Berbicara keberhasilan mengenai

peternakan (tanpa tergantung skala bisnisnya) oleh seorang peternak ditentukan

dari pengetahuan dan pemahaman dengan pengenalan sumber hambatan dan

ancaman dari penyakit yang mungkin dapat menjadikan ledakan penyakit

menular dan berakibat sangat merugikan. Oleh sebab itu, pengamanan dan

menjauhkan ternak ayam dari sumber wabah dan hambatan potensial

tersebut menjadi prioritas dan perhatian khusus.

Pemilihan indukan yang unggul, pengelolaan yang baik, sanitasi,

peningkatan daya tahan ayam dengan vaksinasi dan usaha menjauhkan ternak

ayam dari sumber penyakit adalah kunci sukses dalam beternak ayam. Tetapi

kurangnya informasi pengetahuan dan pemahaman dalam pengenalan suatu

penyakit dapat mengakibatkan kesalahan diagnosis dan pengobatan suatu

(23)

Jenis penyakit ayam yang tidak diketahui sebagai virus alami atau parasit

yang menyebabkan timbulnya penyakit. Infeksi yang terdapat pada ayam dapat

menularkan ke ayam lainnya. Sulitnya peternak mendapatkan informasi tentang

jenis-jenis penyakit pada ayam yang akan menghambat dan merupakan

ancaman besar bagi para peternak.

Informasi yang menampilkan penyakit ayam dianggap sangat sedikit.

Sulitnya pasien dalam mendiagnosa penyakit ayam secara dini, akan

menyebabkan keterlambatan atas penangulangan penyakit dan kematian ayam.

Hal ini, merugikan bagi peternak dengan berkurangnya populasi jumlah

ternaknya. Begitu juga dengan ayam lainnya bisa tertular penyakit yang

disebabkan oleh ayam yang sudah terinfeksi sebelumnya.

1.2Identifikasi Masalah

Dilihat dari fenomena-fenomena yang terjadi dalam pembuatan sistem

pakar penyakit pada ayam, ditemukan berbagai masalah yaitu:

1. Kurangnya informasi pengetahuan dan pemahaman dalam pengenalan

suatu penyakit dapat mengakibatkan kesalahan diagnosis dan pengobatan

penyakit pada ayam.

2. Sulitnya peternak mendapatkan informasi tentang jenis-jenis penyakit pada

ayam yang akan menghambat dan merupakan ancaman besar bagi para

(24)

3. Sulitnya pasien dalam mendiagnosa penyakit ayam secara dini, akan

menyebabkan keterlambatan atas penangulangan penyakit dan kematian

ayam.

1.3Maksud dan Tujuan

1.3.1 Maksud

Maksud dari skripsi ini adalah membangun Sistem Pakar untuk

Mendiagnosa Gejala Penyakit pada Ayam Berbasis Web.

1.3.2 Tujuan

Tujuan dari skripsi ini:

1. Memberikan informasi pengetahuan dan pemahaman dalam

pengenalan suatu penyakit dapat mengakibatkan kesalahan diagnosis

dan pengobatan penyakit pada ayam.

2. Memudahkan peternak mendapatkan informasi tentang jenis-jenis

penyakit pada ayam yang akan menghambat dan merupakan ancaman

besar bagi para peternak.

3. Memudahkan pasien dalam mendiagnosa penyakit ayam secara dini,

akan menyebabkan keterlambatan atas penangulangan penyakit dan

kematian ayam.

1.4 Batasan Masalah

Melihat paparan di atas, maka batasan masalah dalam skripsi ini adalah

(25)

a. Data yang diolah yaitu data pakar, data gejala, data relasi, data laporan dan

data penyakit

b. Proses yang terdapat dalam aplikasi ini adalah proses diagnosa, pengisian

forum dan pembuatan hasil detail penyakit.

c. Keluaran pada sistem berupa informasi penyakit, gejala, laporan,forum diskusi

dan informasi hasil detail penyakit.

d. Sistem dibangun dengan berbasis web.

e. Pembangunan sistem pakar menggunakan tree dengan metode inferensi

Forward chaining, menggunakan metode pencarian Best-First-Search dari data

penunjang untuk diagnosis.

f. Pembangunan sistem menggunakan Macromedia Dreamweaver MX,

menggunakan bahasa pemrograman PHP dan database yang digunakan

adalah MySQL.

1.5 Metode Penelitian

Metodologi yang digunakan dalam penelitian ini adalah metode deskriptif,

yaitu suatu metode yang menggambarkan fakta-fakta dan informasi dalam

situasi atau kejadian secara sistematis, faktual dan akurat. Metode penelitian ini

memiliki dua tahapan, yaitu tahap pengumpulan data dan tahap pengembangan

(26)

1.5.1 Tahap Pengumpulan Data

Teknik pengumpulan data yang digunakan dalam penelitian ini adalah

sebagai berikut:

1. Studi Pustaka

Studi ini dilakukan dengan mempelajari, meneliti dan menelaah berbagai

literature-literatur di perpustakaan yang bersumber dari buku-buku, teks, jurnal

ilmiah, situs-situs di internet dan bacaan-bacaan yang ada kaitannya dengan

topik penelitian.

2. Studi Lapangan

Studi ini dilakukan dengan cara mengunjungi tempat yang akan diteliti

dan pengumpulan data dilakukan secara langsung. Hal ini meliputi :

a. Wawancara

Wawancara adalah teknik pengumpulan data dengan cara mengadakan tanya

jawab secara langsung dengan narasumber yang terkait dengan permasalahan

yang diambil, yaitu Peternakan Rokim Farm milik Drh. Djodi Hario Seno di

Cimuning, Bekasi-Jawa Barat.

b. Observasi

Observasi yaitu teknik pengumpulan data dengan cara melakukan

pengamatan secara langsung terhadap objek permasalahan yang diambil, dalam

(27)

1.5.2 Tahap Pengembangan Perangkat Lunak

Teknik analisis data dalam pembuatan perangkat lunak menggunakan

paradigma pembuatan perangkat lunak secara waterfall, yang meliputi beberapa

proses seperti yang terlihat pada Gambar 1.1 :

Gambar 1. 1 Skema Waterfall

a. Rekayasa Sistem

Merupakan tahapan yang pertama kali yaitu merumuskan sistem yang akan

kita bangun. Hal ini bertujuan agar pengembang benar-benar memahami sistem

yang dibangun dan langkah-langkah serta kebijakan apa saja yang berkaitan

(28)

b. Analisis Sistem

Analisis sistem merupakan kegiatan mengumpulkan kebutuhan secara

lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi

oleh aplikasi yang akan dibangun. Tahap ini harus dikerjakan secara lengkap

untuk bisa menghasilkan desain yang lengkap.

c. Perancangan Sistem

Perancangan sistem merupakan tahap perancangan antarmuka dari hasil

analisis kebutuhan yang telah selesai dikumpulkan secara lengkap.

d. Pengkodean Sistem

Pengkodean sistem merupakan tahap penerjemahan data atau pemecahan

masalah yang telah dirancang ke dalam bahasa pemrograman tertentu.

e. Pengujian Sistem

Perancangan lunak yang sudah dirancang direalisasikan sebagai serangkaian

program atau unit program, dan pengujian unit melibatkan verifikasi bahwa setiap

unit telah memenuhi spesifikasi.

Pemeliharaan Sistem

Tahap akhir sesudah perangkat lunak dibangun dengan melakukan

pemeliharaan, seperti penyesuaian atau melakukan perubahan sesuai dengan

(29)

Umpan balik : merupakan respon dari pengguna sistem yang bisa digunakan

untuk mengetahui sejauh mana aplikasi yang dibangun diterima oleh

penggunanya.

1.6 Sistematika Penulisan

Sistem penulisan dalam menyusun laporan penelitian ini, untuk memberikan

gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas

akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, identifikasi masalah, maksud

dan tujuan, batasan masalah, metodologi penelitian dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi tentang konsep dasar serta teori-teori yang berkaitan dengan

topik penelitian dari sumber pustaka dan referensi yang menjadi landasan dasar

dalam perancangan, analisis kebutuhan sampai implementasi dan pengujian

(30)

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis kebutuhan dalam membangun aplikasi ini, analisis

sistem yang sedang berjalan pada aplikasi ini sesuai dengan metode pembangunan

perangkat lunak yang digunakan. Selain itu terdapat juga perancangan antarmuka

untuk aplikasi yang akan dibangun sesuai dengan hasil analisis yang telah dibuat.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi tahapan implementasi dan pengujian yang merupakan tahap

yang dilakukan dalam mengimplementasikan dari hasil penelitian, analisis dan

perancangan yang telah diidentifikasikan untuk mengimplementasikan dan

menguji aplikasi.

BAB IV KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan tentang keseluruhan dari pembangunan aplikasi ini

(31)

10 BAB II

TINJAUAN PUSTAKA

2.1 Artificial Intelligence

2.1.1 Sejarah Singkat

Kecerdasan Buatan (artificial intelligence) merupakan inovasi baru di

bidang ilmu pengetahuan. Mulai ada sejak muncul komputer modern, yakni pada

1940 dan 1950. Kemampuan mesin elektronika baru menyimpan sejumlah besar

info, memproses dengan kecepatan sangat tinggi menandingi kemampuan

manusia. Ilmu pengetahuan komputer ini khusus ditujukan dalam perancangan

otomatisasi tingkah laku cerdas dalam sistem kecerdasan komputer. Pada sistem

ini memperlihatkan sifat-sifat khas yang dihubungkan dengan kecerdasan dalam

kelakuan yang sepenuhnya dapat menirukan beberapa fungsi otak manusia, seperti

pengertian bahasa, pengetahuan, pemikiran, pemecahan, dan masalah.

Pentingnya kecerdasan buatan menjadi nyata bagi negara-negara yang berperan

sejak tahun 1970. Para pemimpin negara yang mengakui potensialnya kecerdasan

buatan mengharap mendapat persetujuan jangka panjang untuk sumber-sumber

yang memerlukan dana intensif. Jepang adalah yang pertama kali melakukan itu.

Negara ini mengembangkan program yang sangat berambisi dalam penelitian

kecerdasan buatan. Sebagai bidang ilmu pengetahuan komputer, kecerdasan

buatan sebenarnya sudah mulai diselidiki pada 1930-an dan 1940-an. Pada saat

(32)

Logika matematika menjadi bidang aktif dari penyelidikan kecerdasan buatan,

karena sistem logika deduktif telah berhasil diimplementasikan dalam

program-program komputer. Seorang ahli matematika bernama Alan Turing, yang

memiliki sumbangan besar dalam pengembangan teori kemampuan penghitungan

(computability), mengusulkan tes untuk melihat bisa atau tidaknya mesin

memberikan respon terhadap seangkaian pertanyaan (agar mesin dapat dikatakan

cerdas). Uji yang dilakukan adalah dengan mengukur kinerja (performance) mesin

cerdas. Uji Alan Turing menjadi dasar bagi banyak strategi yang digunakan

dengan menilai program-program kecerdasan buatan.

Pada awalnya, kecerdasan buatan hanya ada di universitas-universitas dan

laboratorium penelitian, serta hanya sedikit produk yang dihasilkan dan

dikembangkan. Menjelang akhir 1970-an dan 1980-an, mulai dikembangkan

secara penuh dan hasilnya berangsur-angsur dipublikasikan di khalayak umum.

Permasalahan di dalam kecerdasan buatan akan selalu bertambah dan berkembang

seiring dengan laju perkembangan zaman menuju arah globalisasi dalam setiap

aspek kehidupan manusia, yang membawa persoalan-persoalan yang semakin

beragam pula.

Program kecerdasan buatan lebih sederhana dalam pengoperasiannya,

sehingga banyak membantu pemakai. Program konvensional dijalankan secara

prosedural dan kaku, rangkaian tahap solusinya sudah didefinisikan secara tepat

oleh pemrogramnya. Sebaliknya, pada program kecerdasan buatan untuk

mendapatkan solusi yang memuaskan dilakukan pendekatan trial and error, mirip

(33)

2.1.2 Pengertian Artificial Intelligence

Adapun beberapa definisi Artificial Intelligence adalah sebagai berikut :

Definisi artificial intelligent menurut Jog [1] : ”Artificial Intelligence

didefinisikan sebagai suatu mesin atau alat pintar (biasanya adalah komputer)

yang dapat melakukan suatu tugas yang bilamana tugas tersebut dilakukan oleh

manusia akan dibutuhkan suatu kepintaran untuk melakukannya”.

Definisi artificial intelligent menurut Kus [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”.

Definisi artificial intelligent menurut Sar [3] : “Kecerdasan buatan(artificial

intelligence adalah salah satu bidang ilmu komputer yang mendayagunakan

komputer sehingga dapat berprilaku cerdas seperti manusia”.

Kecerdasan buatan dilihat dari berbagai sudut pandang adalah sebagai

berikut :

1. Sudut pandang Kecerdasan (Intelligence)

Kecerdasan buatan adalah bagaimana membuat mesin yang “cerdas” dan dapat

(34)

2. Sudut pandang Penelitian

Studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik

yang dilakukan oleh manusia.

Domain penelitian adalah sebagai berikut :

a. Mundane task

i. Persepsi (vision and speech)

ii. Bahasa alami (understanding, generation and translation)

iii. Pemikiran yang bersifat commonsense

iv. Robot control

b. Format task

i. Permainan atau games

ii. Matematika (geometri, logika, kalkulus, integral, pembuktian)

c. Expert task

i. Analisis financial

ii. Analisis medical

iii. Analisis ilmu pengetahuan

(35)

3. Sudut pandang Bisnis

Kumpulan peralatan yang sangat powerful dan metodologis dalam

menyelesaikan masalah-masalah bisnis.

4. Sudut pandang Pemrograman (Programming)

Kecerdasan buatan termasuk didalamnya adalah studi tentang pemrograman

simbolik, pemecahan masalah, proses pencarian (search).

2.1.3 Tujuan Artificial Intelligance

Tujuan dari kecerdasan buatan menurut Winston dan Prendergast :

1. Membuat mesin menjadi lebih pintar (tujuan utama)

2. Memahami apa itu kecerdasan (tujuan ilmiah)

3. Membuat mesin lebih bermanfaat (tujuan entrepreneurial)

Dua bagian utama yang dibutuhkan untuk aplikasi kecerdasarn buatan

(Gambar 2.1 Proses Motor Inferensi) adalah :

a. Basis Pengetahuan (Khowledge Base) berisi fakta-fakta, teori, pemikiran

dan hubungan antara satu dengan lainnya.

b. Motor Inferensi (Inference Engine) adalah kemampuan menarik

(36)

Input

Masalah

Pertanyaan

Basis Pengetahuan

Motor Inferensi

Output

Jawaban

Solusi

Gambar 2. 1 Proses Motor Inferensi

2.1.4 Lingkup Utama Artificial Intelligence

1. Sistem Pakar (Expert System)

Komputer sebagai sarana untuk menyimpan pengetahuan para pakar

sehingga komputer memiliki keahlian menyelesaikan permasalahan dengan

meniru keahlian yang dimiliki pakar.

2. Pengolahan bahasa alami (Natural Language Processing)

User dapat berkomunikasi dengan computer menggunakan bahasa

sehari-hari, missal bahasa inggris, bahasa Indonesia atau pun bahasa daerah lainnya.

3. Pengenalan ucapan (Speech recognition)

Manusia dapat berkomunikasi dengan komputer menggunakan suara.

4. Robotika dan sistem sensor

Contohnya sistem sensor, seperti sistem vision, sistem tactile dan sistem

pemrosesan sinyal jika dikombinasikan dengan Artificial Intelligence, dapat

(37)

5. Computer Vision

Menginterpretasikan gambar atau objek tampak melalui komputer.

6. Intelligent Computer Aided Instruction

Komputer dapat digunakan sebagai tutor yang dapat melatih dan

mengajar.

7. Game Playing

Permainan dilakukan dengan menggunakan sekumpulan aturan, pencarian

ruang, teknik untuk menentukan alternative dalam menyimak problema ruang

merupakan sesuatu yang rumit, teknik tersebut disebut dengan Heuristic dan

permainan merupakan bidang yang menarik dalam studi heuristic.

2.2Sistem Pakar

2.2.1 Pengertian Sistem Pakar

Ketika hendak membuat suatu keputusan yang komplek atau memecahkan

masalah, seringkali kita meminta nasehat atau berkonsultasi dengan seorang pakar

atau ahli. Seorang pakar adalah seseorang yang mempunyai pengetahuan dan

pengalaman spesifik dalam suatu bidang; misalnya pakar komputer, pakar uji tak

merusak, pakar politik dan lain-lain. Semakin tidak terstruktur situasinya, semakin

mengkhusus (dan mahal) konsultasi yang dibutuhkan.

(38)

mampu mencapai tingkat performa yang sebanding seorang pakar dalam bidang

problem yang khusus dan sempit. Ide dasarnya adalah: kepakaran ditransfer dari

seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang

ada disimpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer

itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan,

mendeduksi, dll.) seperti layaknya seorang pakar, kemudian menjelaskannya ke

pengguna tersebut, bila perlu dengan alasan-alasannya. Sistem Pakar malahan

terkadang lebih baik unjuk kerjanya daripada seorang pakar manusia!

Kepakaran (expertise) adalah pengetahuan yang ekstensif (meluas) dan spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman.

Pengetahuan membuat pakar dapat mengambil keputusan secara lebih baik dan

lebih cepat daripada non-pakar dalam memecahkan problem yang kompleks.

Kepakaran mempunyai sifat berjenjang, pakar top memiliki pengetahuan lebih

banyak daripada pakar yunior.

Tujuan Sistem Pakar adalah untuk mentransfer kepakaran dari seorang pakar

ke komputer, kemudian ke orang lain (yang bukan pakar). Proses ini tercakup

dalam rekayasa pengetahuan (knowledge engineering) yang akan dibahas

kemudian.

(39)

MYCIN

Dibuat oleh Edward Shortlife of Standford University tahun 70-an.

Sistem pakar medical yang bisa mendiagnosa penyakit infeksi dan

merekomendasi pengobatan. MYCIN membantu dokter mengidentifikasi pasien

yang menderita penyakit. Dokter duduk di depan komputer dan memasukkan data

pasien: umur, riwayat kesehatan, hasil laboratorium dan informasi terkait lainnya.

Dengan informasi ini ditambah pengetahuan yang sudah ada dalam komputer,

MYCIN mendiagnosa selanjutnya merekomendasi obat dan dosis yang harus

dimakan. MYCIN sebagai penasehat medis, tidak dimaksudkan untuk

mengantikan kedudukan seorang dokter. Tetapi membantu dokter yang belum

berpengalaman dalam penyakit tertentu. Juga untuk membantu dokter dalam

mengkonfirmasi diagnosa dan terapi yang diberikan kepada pasien apakah sesuai

dengan diagnosa dan terapi yang ada dalam basis pengetahuan yang sudah

dimasukkan ke dalam MYCIN, karena MYCIN dirancang oleh dokter-dokter

yang ahli di bidang penyakit tersebut. Kesimpulan : sistem pakar seperti MYCIN

bisa digunakan sebagai bahan pembanding dalam pengambilan solusi dan

pemecahan masalah. Keputusan terakhir atas pengobatan tersebut tetap menjadi

tanggung jawab dokter.

2.2.2 Tujuan Sistem Pakar

Tujuan dari sistem pakar adalah untuk memindahkan kemampuan

(40)

komputer dan kemudian memindahkannya dari komputer kepada pemakai yang

tidak ahli (bukan pakar). Proses ini meliputi empat aktivitas yaitu:

1. Akuisi pengetahuan (knowledge acquisition) yaitu kegiatan mencari dan

mengumpulkan pengetahuan dari para ahli atau sumber keahlian yang lain.

2. Representasi pengetahuan (knowledge representation) adalah kegiatan

menyimpan dan mengatur penyimpanan pengetahuan yang diperoleh dalam

komputer. Pengetahuan berupa fakta dan aturan disimpan dalam komputer

sebagai sebuah komponen yang disebut basis pengetahuan.

3. Inferensi pengetahuan (knowledge inferencing) adalah kegiatan melakukan

inferensi berdasarkan pengetahuan yang telah disimpan didalam komputer.

4. Pemindahan pengetahuan (knowledge transfer) adalah kegiatan pemindahan

pengetahuan dari komputer ke pemakai yang tidak ahli.

2.2.3 Bentuk Sistem Pakar

1. Mandiri merupakan sistem pakar yang murni berdiri sendiri, tidak digabung

dengan perangkat lunak lain, bisa dijalankan pada komputer pribadi dan

mainframe.

2. Terkait atau tergabung merupakan sistem pakar hanya bagian dari program

yang lebih besar. Program tersebut biasanya menggunakan teknik algoritma

konvensional tapi bisa mengakses sistem pakar yang ditempatkan sebagai

(41)

3. Terhubung adalah sistem pakar yang berhubungan dengan software lain.

Misalnya spreadsheet, DBMS, program grafik. Pada saat proses inferensi,

sistem pakar bisa mengakses data dalam spreadsheet atau DBMS atau

program grafik bisa dipanggil untuk menayangkan output visual.

4. Sistem Mengabdi Merupakan bagian dari komputer khusus yang diabdikan

kepada fungsi tunggal. Sistem tersebut bisa membantu analisa data radar

dalam pesawat tempur atau membuat keputusan intelejen tentang bagaimana

memodifikasi pembangunan kimiawi.

2.2.4 Manfaat dan Keterbatasan Sistem Pakar 2.2.4.1Manfaat Sistem Pakar

1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli

2. Bisa melakukan proses secara berulang secara otomatis

3 Menyimpan pengetahuan dan keahlian para pakar

4 Mampu mengambil dan melestarikan keahlian para pakar (terutama yang

termasuk keahlian langka)

5 Mampu beroperasi dalam lingkungan yang berbahaya

6 Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan

mengandung ketidakpastian. Pengguna bisa merespon dengan jawaban ‟tidak

tahu‟ atau ‟tidak yakin‟ pada satu atau lebih pertanyaan selama konsultasi dan

sistem pakar tetap akan memberikan jawaban.

7 Tidak memerlukan biaya saat tidak digunakan, sedangkan pada pakar manusia

(42)

8 Dapat digandakan (diperbanyak) sesuai kebutuhan dengan waktu yang

minimal dan sedikit biaya

9 Dapat memecahkan masalah lebih cepat daripada kemampuan manusia

dengan catatan menggunakan data yang sama.

10 Menghemat waktu dalam pengambilan keputusan

11 Meningkatkan kualitas dan produktivitas karena dapat memberi nasehat yang

konsisten dan mengurangi kesalahan

12 Meningkatkan kapabilitas sistem terkomputerisasi yang lain. Integrasi Sistem

Pakar dengan sistem komputer lain membuat lebih efektif, dan bisa mencakup

lebih banyak aplikasi .

13 Mampu menyediakan pelatihan. Pengguna pemula yang bekerja dengan

sistem pakar akan menjadi lebih berpengalaman. Fasilitas penjelas dapat

berfungsi sebagai guru.

2.2.4.2 Keterbatasan Sistem Pakar

Metodologi Sistem Pakar yang ada tidak selalu mudah, sederhana dan

efektif. Berikut adalah keterbatasan yang menghambat perkembangan Sistem

Pakar:

a. Pengetahuan yang hendak diambil tidak selalu tersedia.

b. Kepakaran sangat sulit diekstrak dari manusia.

c. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa

(43)

d. Adalah sangat sulit bagi seorang pakar untuk mengabstraksi atau

menjelaskan langkah mereka dalam menangani masalah

e. Pengguna Sistem Pakar mempunyai batas kognitif alami, sehingga

mungkin tidak bisa memanfaatkan sistem secara maksimal.

f. Sistem Pakar bekerja baik untuk suatu bidang yang sempit.

g. Banyak pakar yang tidak mempunyai jalan untuk mencek apakah

kesimpulan mereka benar dan masuk akal.

h. Istilah dan jargon yang dipakai oleh pakar dalam mengekspresikan fakta

seringkali terbatas dan tidak mudah dimengerti oleh orang lain.

i. Pengembangan Sistem Pakar seringkali membutuhkan perekayasa

pengetahuan (knowledge engineer) yang langka dan mahal.

j. Kurangnya rasa percaya pengguna menghalangi pemakaian Sistem

Pakar.

k. Transfer pengetahuan dapat bersifat subyektif dan bias.

2.2.5 Area Permasalahan Aplikasi Sistem Pakar

1. Interpretasi

Pengambilan keputusan dari hasil observasi, diantaranya pengawasan,

pengenalan ucapan, analisis citra, interpretasi sinyal, dan beberapa analisis

(44)

2. Prediksi

Memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi

tertentu, diantaranya peramalan, prediksi demografis, peralaman ekonomi,

prediksi lalu lintas, estimasi hasil, militer, pemasaran, atau peramalan

keuangan.

3. Diagnosis

Menentukan sebab malfungsi dalam situasi kompleks yang didasarkan

pada gejala-gejala yang teramati, diantaranya medis, elektronis, mekanis,

dan diagnosis perangkat lunak.

4. Desain

Menentukan konfigurasi komponen-komponen sistem yang cocok dengan

tujuan-tujuan kinerja tertentu dan kendala-kendala tertentu, diantaranya

layout sirkuit, perancangan bangunan.

5. Perencanaan

Merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah

tujuan dengan kondisi awal tertentu, diantaranya perencanaan keuangan,

komunikasi, militer, pengembangan politik, routing dan manajemen

proyek.

6. Monitoring

Membandingkan tingkah laku suatu sistem yang teramati dengan tingkah

laku yang diharapkan darinya, diantaranya Computer Aided Monitoring

(45)

7. Debugging dan repair

Menentukan dan mengimplementasikan cara-cara untuk mengatasi

malfungsi, diantaranya memberikan resep obat terhadap suatu kegagalan.

8. Instruksi

Melakukan instruksi untuk diagnosis, debugging dan perbaikan kinerja.

9. Kontrol

Mengatur tingkah laku suatu environment yang kompleks seperti kontrol

terhadap interpretasi-interpretasi, prediksi, perbaikan, dan monitoring

kelakuan sistem

10.Seleksi

Mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan.

11.Simulasi

Pemodelan interaksi antara komponen-komponen sistem.

2.2.6 Komponen Sistem Pakar

Sistem pakar terdiri dari dua bagian pokok, yaitu lingkungan pengembangan

(development environment) dan lingkungan konsultasi (consultation

environment).

Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik

dari segi pembangun komponen maupun basis pengetahuan. Lingkungan

konsultasi digunakan oleh seorang yang bukan ahli untuk berkonsultasi (Gambar

(46)

Gambar 2. 2 Struktur Sistem Pakar

Papan Tulis (Blackboard/Workplace), adalah memori/lokasi untuk bekerja

dan menyimpan hasil sementara. Biasanya berupa sebuah basis data. Antarmuka

Pemakai (User Interface). Sistem Pakar mengatur komunikasi antara pengguna

dan komputer. Komunikasi ini paling baik berupa bahasa alami, biasanya

disajikan dalam bentuk tanya-jawab dan kadang ditampilkan dalam bentuk

gambar atau grafik. Antarmuka yang lebih canggih dilengkapi dengan percakapan

(voice communication).

Subsistem Penjelasan (Explanation Facility). Kemampuan untuk menjejak

(tracing) bagaimana suatu kesimpulan dapat diambil merupakan hal yang sangat

(47)

Komponen subsistem penjelasan harus dapat menyediakannya yang secara

interaktif menjawab pertanyaan pengguna, Misalnya:

1. “Mengapa pertanyaan tersebut anda tanyakan?”

2. “Seberapa yakin kesimpulan tersebut diambil?”

3. “Mengapa alternatif tersebut ditolak?”

4. “Apa yang akan dilakukan untuk mengambil suatu kesimpulan?”

5. “Fakta apalagi yang diperlukan untuk mengambil kesimpulan akhir?”

Sistem Penghalusan Pengetahuan (Knowledge Refining System). Seorang

pakar mempunyai sistem penghalusan pengetahuan artinya, mereka bisa

menganalisa sendiri performa mereka, belajar dari pengalaman, serta

meningkatkan pengetahuannya untuk konsultasi berikutnya. Pada Sistem Pakar,

swa-evaluasi ini penting sehingga dapat menganalisa alasan keberhasilan atau

kegagalan pengambilan kesimpulan, serta memperbaiki basis pengetahuannya.

2.2.7 Arsitektur Sistem Pakar

Sistem pakar memiliki beberapa komponen utama, yaitu antarmuka

pengguna (user interface), basis data sistem pakar (expert system database),

fasilitas akuisisi pengetahuan (knowledge acquisition facility), dan mekanisme

inferensi (inference mechanism). Selain itu ada satu komponen yang hanya ada

pada beberapa sistem pakar, yaitu fasilitas penjelasan (explanation facility)

(48)

Ada 4 tipe penjelasan yang digunakan dalam sistem pakar (Gambar 2.3 Arsitektur

Sistem Pakar), yaitu (Schnupp, 1989):

1. penjelasan mengenai jejak aturan yang menunjukkan status konsultasi.

2. Penjelasan mengenai bagaimana sebuah keputusan diperoleh.

3. Penjelasan mengapa sistem menanyakan suatu pertanyaan.

4. Penjelasan mengapa sistem tidak memberikan keputusan seperti yang

dikehendaki pengguna.

Basis Pengetahuan

(Aturan)

Mesin

Agenda

Memori kerja (Fakta)

Fasilitas Penjelasan

Fasilitas Aku isi Pengetahuan

Antar Muka Pengguna

Gambar 2. 3 Arsitektur Sistem Pakar

Memori kerja dalam arsitektur sistem pakar (Gambar 2.3) merupakan

bagian dari sistem pakar yang berisi fakta-fakta masalah yang ditemukan dalam

suatu sesi, berisi fakta-fakta tentang suatu masalah yang ditemukan dalam proses

(49)

2.2.8 Pemilihan Masalah

Pembuatan Sistem Pakar membutuhkan waktu dan biaya yang banyak.

Untuk menghindari kegagalan yang memalukan dan kerugian yang besar, maka

dibuat beberapa pedoman untuk menentukan apakah Sistem Pakar cocok untuk

memecahkan suatu problem:

a. Biaya yang diperlukan untuk pembangunan Sistem Pakar ditentukan

oleh kebutuhan untuk memperoleh solusi. Sehingga harus ada

perhitungan yang realistis untuk cost and benefit.

b. Pakar manusia tidak mudah ditemui untuk semua situasi di mana dia

dibutuhkan. Jika pakar pengetahuan tersebut terdapat di mana saja dan

kapan saja, maka pembangunan Sistem Pakar menjadi kurang

berharga.

c. Problem yang ada dapat diselesaikan dengan teknik penalaran simbolik,

dan tidak membutuhkan kemampuan fisik.

d. Problem tersebut harus terstruktur dengan baik dan tidak membutuhkan

terlalu banyak pengetahuan awam (common sense), yang terkenal sulit

untuk diakuisisi dan dideskripsikan, dan lebih banyak berhubungan

dengan bidang yang teknis.

e. Problem tersebut tidak mudah diselesaikan dengan metode komputasi

yang lebih tradisionil. Jika ada penyelesaian algoritmis yang bagus

(50)

f. Ada pakar yang mampu memberikan penjelasan tentang kepakarannya serta

mau bekerjasama. Adalah sangat penting bahwa pakar yang dihubungi

benar-benar mempunyai kemauan kuat untuk ikut berpartisipasi serta tidak merasa

pekerjaannya akan menjadi terancam.

g. Problem tersebut mempunyai sekup yang tepat. Biasanya merupakan problem

yang membutuhkan kepakaran yang sangat khusus namun hanya membutuhkan

seorang pakar untuk dapat menyelesaikannya dalam waktu yang relatif singkat

(misalnya paling lama 1 jam).

2.2.9 Rekayasa Pengetahuan (Knowledge Engineering)

Proses dalam rekayasa pengetahuan meliputi (Gambar 2.4):

a. Akuisisi pengetahuan, yaitu bagaimana memperoleh pengetahuan dari

pakar atau sumber lain (sumber terdokumentasi, buku, sensor, file

komputer, dll.).

b. Validasi pengetahuan, untuk menjaga kualitasnya misalnya dengan uji

kasus.

c. Representasi pengetahuan, yaitu bagaimana mengorganisasi

pengetahuan yang diperoleh, mengkodekan dan menyimpannya dalam

suatu basis pengetahuan.

d. Penyimpulan pengetahuan, menggunakan mesin inferensi yang

(51)

e. Transfer pengetahuan (penjelasan). Hasil inferensi berupa nasehat,

rekomendasi, atau jawaban, kemudian dijelaskan ke pengguna oleh

subsistem penjelas.

Gambar 2. 4 Proses dalam Rekayasa Pengetahuan

2.2.10 Partisipan Dalam Proses Pengembangan

Pakar, yaitu seseorang yang mempunyai pengetahuan, pengalaman, dan metode

khusus, serta mampu menerapkannya untuk memecahkan masalah atau memberi

nasehat. Pakar menyediakan pengetahuan tentang bagaimana nantinya Sistem

Pakar bekerja.

Perekayasa pengetahuan (knowledge engineer), yang membantu pakar untuk

menyusun area permasalahan dengan menerjemahkan dan mengintegrasikan

(52)

memberikan contoh-contoh yang berlawanan, kemudian menyusun basis

pengetahuan.

Pengguna, yang mungkin meliputi: seorang klien non-pakar yang sedang

membutuhkan nasehat (Sistem Pakar sebagai konsultan atau advisor), seorang

siswa yang sedang belajar (Sistem Pakar sebagai instruktur), seorang pembuat

Sistem Pakar yang hendak meningkatkan basis pengetahuan (Sistem Pakar

sebagai partner), seorang pakar (Sistem Pakar sebagai kolega atau asisten, yang

dapat memberikan opini kedua).

Partisipan lain, dapat meliputi: pembangun sistem (system builder), tool builder,

staf administrasi dan lain sebagainya.

2.2.11 Akuisi Pengetahuan

Dalam proses akuisisi pengetahuan, seorang perekayasa pengetahuan

menjembatani antara pakar dengan basis pengetahuan. Perekayasa pengetahuan

mendapatkan pengetahuan dari pakar, mengolahnya bersama pakar tersebut, dan

menaruhnya dalam basis pengetahuan, dengan format tertentu. Pengambilan

pengetahuan dari pakar dapat dilakukan secara (Gambar 2.5):

Manual, di mana perekayasa pengetahuan mendapatkan pengetahuan dari

pakar (melalui wawancara) dan/atau sumber lain, kemudian mengkodekannya

dalam basis pengetahuan. Proses ini biasanya berlangsung lambat, mahal, serta

(53)

Semi-otomatik, di mana terdapat peran komputer untuk: (1) mendukung

pakar dengan mengijinkannya membangun basis pengetahuan tanpa (atau dengan

sedikit) bantuan dari perekayasa pengetahuan, atau (2) membantu perekayasa

pengetahuan sehingga kerjanya menjadi lebih efisien dan efektif.

Otomatik, di mana peran pakar, perekayasa pengetahuan, dan pembangun

basis pengetahuan (system builder) digabung. Misalnya dapat dilakukan oleh

seorang system analyst seperti pada metode induksi.

(54)

2.2.12 Komponen-komponen Sistem Pakar

1. Basis Pengetahuan (Knowledge Base)

Pengetahuan merupakan kemampuan untuk membentuk model mental

yang menggambarkan obyek dengan tepat dan mempresentasikannya dalam aksi

yang dilakukan terhadap suatu obyek (Martin dan Oxman, 1988).

Pengetahuan dapat diklasifikasikan menjadi tiga, yaitu pengetahuan

prosedural (procedural knowledge), pengetahuan deklaratif (declaratif

knowlwdge), dan pengetahuan tacit (tacit knowledge). Pengetahuan prosedural

lebih menekankan pada bagaimana melakukan sesuatu, pengetahuan deklaratif

menjawab pertanyaan apakah sesuatu bernilai salah atau benar, sedangkan

pengetahuan tacit merupakan pengetahuan yang tidak dapat diungkapkan dengan

bahasa. Basis Pengetahuan merupakan inti program Sistem Pakar dimana basis

pengetahuan ini adalah representasi pengetahuan (Knowledge Representation)

dari seorang pakar.

Pengetahuan dapat dipresentasikan dalam bentuk yang sederhana atau

kompleks, tergantung dari masalahnya (Schnupp, 1989).

Ada beberapa model representasi yang penting yaitu : logika (logic), jaringan

(55)

a. Logika (logic)

Logika merupakan suatu pengkajian ilmiah tentang serangkaian

penalaran, sistem kaidah, dan prosedur yang membantu proses penalaran.

Logika merupakan bentuk representasi pengetahuan yang paling tua, yang

menjadi dasar dari teknik representasi high level.

b. Jaringan Sematik

Merupakan suatu gambaran dari pengetahuan yang

memperlihatkan hubungan hirarki dari objek – objek. Objek

dipresentasikan dalam bentuk node dan hubungan antara objek dinyatakan

oleh garis penghubung beratribut.

c. Bingkai (Frame)

Yaitu blok – blok berisi pengetahuan mengenai objek tertentu,

kejadian, lokasi, situasi dari elemen – elemen lain yang menggambarkan

objek tersebut secara rinci, dimana rincian objek tersebut disimpan ke

dalam sebuah slot yang menggambarkan berbagai atribut dan karakteristik

dari objek.

d. Kaidah Produksi

Metode kaidah produksi biasanya dituliskan dalam bentuk jika

maka (if-then). Kaidah ini dapat dikatakan sebagai hubungan implikasi dua

(56)

(konkulasi). Apabila bagian jika dipenuhi maka bagian muka akan bernilai

benar.

2. Basis Data (Data Base)

Basis Data adalah bagian yang mengandung semua fakta-fakta, baik fakta

awal pada saat sistem mulai beroperasi maupun fakta-fakta yang didapatkan pada

saat pengambilan kesimpulan yang sedang dilaksanakan. Dalam praktiknya, Basis

data berada di dalam memori komputer. Kebanyakan Sistem Pakar mengandung

Basis Data untuk menyimpan data hasil observasi dan data lainnya yang

dibutuhkan selama pengolahan.

3. Mesin Inferensi (Inferensi Engine)

Mesin Inferensi adalah bagian yang mengandung mekanisme fungsi

berpikir dan pola-pola penalaran sistem yang akan menganalisis suatu masalah

tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik.

Secara deduktif mesin inferensi memilih pengetahuan yang relevan dalam rangka

mencapai kesimpulan. Dengan demikian sistem ini dapat menjawab pertanyaaan

pemakai meskipun jawaban tersebut tidak tersimpan secara eksplisit di dalam

basis pengetahuan. Mesin Inferensi memulai pelacakannya dengan mencocokan

kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis

(57)

Dibawah ini ada 2 macam metode inference, yaitu :

a. Forward Chaining (Pelacakan ke Depan)

Pendekatan yang dimotori oleh data (data driven). Dalam pendekatan ini

pelacakan dimulai dari informasi masukan dan selanjutnya mencoba

menggambarkan kesimpulan. Aturan dalam sistem merepresentasikan aksi-aksi

yang harus diambil apabila terdapat suatu kondisi khusus pada item-item dalam

memori kerja yang disebut himpunan aturan kondisi-aksi. Dalam metode ini, data

digunakan untuk menentukan aturan mana yang akan dijalankan, kemudian aturan

tersebut dijalankan. Mungkin proses menambahkan data ke memori kerja. Proses

diulang sampai ditemukan suatu hasil. Aktivitas sistem dilakukan berdasarka

siklus mengenal-beraksi (recognize-act).

Pelacakan ke depan mencari fakta yang sesuai dari bagian IF dari aturan

IF-THEN (Gambar 2.6 menunjukkan proses forward chaining).

Observasi A

Observasi B Aturan R2

Aturan R1

Fakta D Fakta C

Fakta E

Aturan R4 Aturan R3

Kesimpulan 2 Kesimpulan 1

Gambar 2. 6 Proses Forward Chaining

b. Backward Chaining

Merupakan penalaran dari node tujuan dan bergerak ke belakang menuju

(58)

menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang

diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang

mendukung (ataupun kontadiktif) dari ekspektasi tersebut.

Contoh :

R1 : IF suku bunga turun THEN harga obligasi naik

R2 : IF suku bunga naik THEN harga obligasi turun

R3 : IF suku bunga tidak berubah THEN harga obligasi tidak berubah

R4 : IF dolar naik THEN suku bunga turun

R5 : IF dolar turun THEN suku bunga naik

R6 : IF harga obligasi turun THEN beli obligasi

2.2.13 Pohon Pelacakan

Hampir semua masalah Artificial Intellegence ditampilkan dalam bentuk

grafik atau jaringan yang berbentuk node dan akar yang disebut pohon pelacakan.

Untuk menghindari kemungkinan adanya proses pelacakan suatu node secara

berulang, maka digunakan struktur pohon.

Pohon pencarian untuk graph keadaan dengan 6 level (Gambar 2.7

(59)

Gambar 2.7 Struktur pohon

Pada Gambar 2.7 tersebut sudah tidak terlihat lagi adanya siklus, karena

setiap node tidak diperbolehkan memiliki cabang kembali ke node dengan level

yang lebih rendah.

Struktur pohon digunakan untuk menggambarkan keadaan secara hirarki

yang terdiri dari beberapa node. Node yang terletak pada level-0 disebut dengan

nama aka. Node akar menunjukkan keadaan awal yang biasanya merupakan topic

atau objek. Node akar teletak pada level ke nol yang memiliki beberapa

percabangan yang terdiri atas beberapa node successor yang disebut dengan nama

anak dan merupakan node-node perantara.

Node ini pada gilirannya mempunyai pengganti lagi sebagai anak,

bergerak mundur melalui pohon, node ini disebut node pendahuluan, nenek

moyang atau orang tua. Node yang tidak mempunyai anak atau tidak mempunyai

pengganti disebut node pengganti. Akar yang disilang dan dihubungkan disebut

(60)

2.2.13.1Metode Pencarian dan Pelacakan

A. Pencarian Melebar Pertama (Breadth-First Search)

Pada metode Breadth-First Search ini adalah semua node pada level n

akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1.

pencarian dimulai dari node akar terus ke level 1 dari kiri ke kanan, kemudian

berpindah ke level berikutnya dari kiri ke kanan hingga solusi ditemukan (Gambar

2.8 Metode Breadth-First Search).

Gambar 2.8 Metode Breadth-First Search

Algoritma :

1. Buat suatu variable Node_List dan tetapkan sebagai keadaan awal.

2. Kerjakan langkah-langkah berikut ini sampai tujuan tercapai atau Node_List

dalam keadaan kosong :

a) Hapus elemen pertama dari Node_List, sebut dengan nama E. Jika

Node_List kosong, keluar.

(61)

i. Aplikasikan aturan tersebut membentuk suatu keadaan baru.

ii. Jika keadaan awal adalah tujuan yang diharapkan, sukses dan keluar.

iii. Jika tidak demikian, tambahkan keadaan awal yang baru tersebut pada

akhir Node_List.

Keuntungan :

1. Tidak akan menemui jalan buntu

2. Jika ada 1 solusi, maka breadth – first search solusi akan menemukannya dan

jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.

Kelemahan :

1. Membutuhkan memori yang cukup banyak

2. Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk

mendapatkan solusi pada level yang ke-(n+1).

B. Pencarian Mendalam Pertama (Depth First Search)

Pada metode Depth – First Search, Proses pencarian dilakukan pada

semua anaknya sebelum dilakukan pencarian ke node-node yang selevel.

Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses diulangi terus

(62)

Gambar 2.9 Metode Depth First Search

Algoritma :

1. Jika keadaan awal merupakan tujuan, keluar (sukses).

2. Jika tidak demikian, kerjakan langkah-langkah berikut ini sampai tercapai

keadaan sukses atau gagal :

a) Bangkitkan successor E dari keadaan awal. Jika tidak ada successor, maka

akan terjadi kegagalan.

b) Panggil Depth – First Search dengan E sebagai keadaan awal.

c) Jika sukses berikan tanda sukses. Namun jika tidak, ulangi langkah-2.

Keuntungan :

1. Membutuhkan memori relatif kecil, karena hanya node-node pada lintasan

yang aktif saja yang disimpan.

2. Secara kebetulan, metode Depth – First Search akan menemukan solusi

(63)

Kelemahan :

1. Memungkinkan tidak ditemukannya tujuan yang diharapkan

2. Hanya mendapat satu solusi pada setiap pencarian

C. Pencarian Terbaik Pertama (Best First Search)

Metode Pencarian Terbaik Pertama (Best First Search) merupakan

kombinasi dari metode depth first search dan metode breadth first search dengan

mengambil kelebihan dari kedua metode tersebut. Pada setiap langkah proses

pencarian terbaik pertama, kita memilih node-node dengan menerapkan fungsi

heuristik yang memadai pada setiap node atau simpul yang kita pilih dengan

menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya. Pada best

first search, pencarian diperbolehkan mengunjungi node di lebih rendah dan jika

ternyata node dilevel lebih tinggi memiliki nilai heuristik lebih buruk.

Untuk mengimplementasikan metode ini, dibutuhkan dua antrian yang berisi

node-node, yaitu :

1. OPEN yaitu berisi node-node yang sudah dibangkitkan, sudah memiliki

fungsi heuristik namun belum diuji. Umumnya berupa antrian berprioritas

yang berisi elemen-elemen dengan nilai heuristik tertinggi.

2. CLOSED yaitu berisi node-node yang sudah diuji

Algoritma :

(64)

2. Kerjakan langkah-langkah berikut hingga tujuan ditemukan atau antrian

OPEN sudah kosong :

a) Ambil node terbaik dari OPEN (Gambar 2.11 Antrian OPEN)

b) Bangkitkan semua successornya

c) Untuk tiap-tiap successor kerjakan :

i. Jika node tersebut belum pernah dibangkitkan sebelumnya, evaluasi node

tersebut dan masukkan ke OPEN.

ii. Jika node tersebut sudah pernah dibangkitkan sebelumnya, ubah parent

jika lintasan baru lebih menjanjikan. Hapus node tersebut dari antrian

OPEN.

Antrian OPEN

[ A ]

[ D C B ]

[ C F B E ]

[ G F B E H ]

(65)

Diasumsikan node dengan nilai yang lebih besar memiliki nilai evaluasi

yang lebih baik. Pada keadaan awal, antrian berisi A. Pengujian dilakukan di level

pertama, node D memiliki nilai terbaik, sehingga menempati antrian pertama,

disusul dengan C dan B. Node D memiliki cabang E dan F yang masing-masing

bernilai 2 & 4. Dengan demikian C merupakan pilihan terbaik dengan menempati

antrian pertama (Gambar 2.12 Metode Best First Search).

Fungsi Heuristik yang digunakan merupakan prakiraan (estimasi) cost dari

initial state ke goal state, yang dinyatakan dengan :

f‟ = g + h‟

dimana : f‟ = prakiraan cost dari initial ke goal

g = cost dari initial state ke current state

h‟ = prakiraan cost dari current state ke goal state

Gambar

Gambar 2. 2 Struktur Sistem Pakar
Gambar 2. 3 Arsitektur Sistem Pakar
Gambar 2. 4 Proses dalam Rekayasa Pengetahuan
Gambar 2. 5 Metode Akuisisi Pengetahuan (a) Manual (b) Akuisisi Terkendali Pakar (c)Induksi
+7

Referensi

Dokumen terkait

a) Menurut Durkin: sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar.

Jadi sistem pakar Æ kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna

Sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia (Pakar) ke komputer, sehingga komputer dapat menyelesaikan permasalahan tersebut layaknya seorang

Pada penelitian ini, tujuan Sistem Pakar yang dibangun adalah untuk mentransfer ke komputer, kemudian ke orang lain (yang bukan pakar) yaitu mentransfer kepakaran

Jadi dalam sebuah sistem pakar, kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna

Ide dasarnya adalah kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna

Merepresentasikan pengetahuan dari seorang pakar ke komputer dalam bentuk kaidah produksi (production rule) yang disimpan dalam basis pengetahuan (knowledge

Ide dasarnya adalah kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna