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
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.
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
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
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”
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
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
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
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
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
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
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
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
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
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
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
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
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
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
xvii
Lampiran B Listing Program ... B-1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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.
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
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
(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
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
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
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
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.
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
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
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 :
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 ]
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