Kamis, 21 Desember 2017

SISTEM PAKAR GEJALA PENYAKIT DENGAN PROLOG

Sistem pakar adalah suatu program komputer yang mengandung pengetahuan dari satu atau lebih pakar manusia mengenai suatu bidang spesifik. Jenis program ini pertama kali dikembangkan oleh periset kecerdasan buatan pada dasawarsa 1960-an dan 1970-an dan diterapkan secara komersial selama 1980-an. Bentuk umum sistem pakar adalah suatu program yang dibuat berdasarkan suatu set aturan yang menganalisis informasi (biasanya diberikan oleh pengguna suatu sistem) mengenai suatu kelas masalah spesifik serta analisis matematis dari masalah tersebut. Tergantung dari desainnya, sistem pakar juga mampu merekomendasikan suatu rangkaian tindakan penggun.a untuk dapat menerapkan koreksi. Sistem ini memanfaatkan penalaran untuk mencapai suatu simpulan.


Berikut programnya:


mulai :- write('Identifikasi Penyakit'),nl,
hipotesis(Penyakit),
write('Saya pikir penyakit itu adalah: '),
write(Penyakit),
nl,
ulang.

hipotesis(demam):-demam,!.
hipotesis(dbd):-dbd,!.
hipotesis(diabetes):-diabetes,!.
hipotesis(cacar):-cacar,!.
hipotesis(diare):-diare,!.
hipotesis(sariawan):-sariawan,!.

demam:-panas,
periksa(flu),

periksa(pusing),
periksa(batuk),
periksa(pilek).


dbd:-bintik,
periksa(badan_panas),
periksa(pusing),
periksa(lemah).


diabetes:-panas,
periksa(pusing),
periksa(keringat_dingin),
periksa(lesu).


cacar:-bintik,
periksa(badan_panas),
periksa(pusing),
periksa(letih).


diare:-mules,
periksa(badan_panas),
periksa(pusing),
periksa(lesu).


sariawan:- periksa(bibir_perih),
periksa(tenggorokan_gatel).


panas:-periksa(badan_panas),!.
bintik:-periksa(badan_bentol),!.
mules:-periksa(mencret),!.


tanya(Pertanyaan) :-
write('Apakah penyakit itu mempunyai ciri '),
write(Pertanyaan),
write('? '),
read(Jawaban),
nl,
( (Jawaban== ya ; Jawaban == y)
->
assert(ya(Pertanyaan)) ;

assert(tidak(Pertanyaan)), fail).


:- dynamic ya/1,tidak/1.


periksa(S) :-
(ya(S)
->
true ;
(tidak(S)
->
fail ;
tanya(S))).


ulang :- retract(ya(_)),fail.
ulang :- retract(tidak(_)),fail.

ulang.


Setelah selesai membuat program, lalu consult program, dan jalankan program.
Maka, tampilannya akan seperti ini:

1. Diagnosa diabetes

2. Diagnosa DBD

Dan lain sebagainya.. Sekian, semoga bermanfaat.