Kamis, 02 Februari 2012

DataBase Prolog

domains
penyakit = string
gejala = symbol
query = string
jawab = char
database
dbmengalami(gejala)
dbtdkmengalami(gejala)
predicates
penyebab(penyakit)
go
mengalami(query,gejala)
tdkmengalami(query,gejala)
gejala(gejala)
clear_fakta2
simpan(gejala,jawab)
tanya(query,gejala,jawab)
go_once
diagnosa(penyakit)
solusi(penyakit)
goal
clearwindow,
makewindow(1,7,7," DIAGNOSA PENYAKIT THT ",0,0,24,80),
go,
removewindow.

clauses
go:-
go_once,nl,nl,nl,nl,nl,
write("Ingin mengulang lagi (Y/T) ?"),
readchar(Jawab),nl,
clearwindow,
Jawab = 'y',
go.
go_once:-
diagnosa(_),!,
save("test.dat"),
clear_fakta2.
go_once:-
write("Maaf penyakit tidak bisa didiagnosa"),nl,
clear_fakta2.
mengalami(_,Gejala):-
dbmengalami(Gejala),!.
mengalami(Query,Gejala):-
not(dbtdkmengalami(Gejala)),
tanya(Query,Gejala,Jawab),
Jawab='y'.
tdkmengalami(_,Gejala):-
dbtdkmengalami(Gejala),!.
tdkmengalami(Query,Gejala):-
not(dbmengalami(Gejala)),
tanya(Query,Gejala,Jawab),
Jawab='t'.
tanya(Query,Gejala,Jawab):-
write(Query),
readchar(Jawab),
write(Jawab),nl,
simpan(Gejala,Jawab).
simpan(Gejala,'y'):-
asserta(dbmengalami(Gejala)).
simpan(Gejala,'t'):-
asserta(dbtdkmengalami(Gejala)).
clear_fakta2:-
retract(dbmengalami(_)),fail.
clear_fakta2:-
retract(dbtdkmengalami(_)),fail.
clear_fakta2.

/*------------gejala-----------*/

gejala(Gejala):-
dbmengalami(Gejala),!.
gejala(Gejala):-
dbtdkmengalami(Gejala),!,fail.

gejala(demam):-
mengalami("Apakah Anda demam (Y/T)?",demam).
gejala(sakit_kepala):-
mengalami("Apakah Anda sakit_kepala (Y/T)?",sakit_kepala).
gejala(nyeri_bicara_menelan):-
mengalami("Apakah Anda merasa nyeri pada saat berbicara atau menelan (Y/T)? ",nyeri_bicara_menelan).
gejala(batuk):-
mengalami("Apakah Anda batuk (Y/T)? ",batuk).
gejala(hidung_tersumbat):-
mengalami("Apakah hidung Anda tersumbat (Y/T)? ",hidung_tersumbat).
gejala(nyeri_telinga):-
mengalami("Apakah Anda mengalami nyeri telinga (Y/T)? ",nyeri_telinga).
gejala(nyeri_tenggorokan):-
mengalami("Apakah Anda mengalami nyeri tenggorokan (Y/T)?",nyeri_tenggorokan).
gejala(hidung_meler):-
mengalami("Apakah Anda sering mengeluarkan ingus (meler) (Y/T)? ",hidung_meler).
gejala(letih_lesu):-
mengalami("Apakah Anda mengalami letih dan lesu (Y/T)? ",letih_lesu).
gejala(mual_muntah):-
mengalami("Apakah Anda mengalami mual atau muntah (Y/T)? ",mual_muntah).
gejala(selaput_lendir_merah):-
mengalami("Apakah selaput lendir Anda berwarna merah dan bengkak (Y/T)? ",selaput_lendir_merah).
gejala(benjolan_dileher):-
mengalami("Apakah ada benjolan di leher Anda (Y/T)? ",benjolan_leher).
gejala(nyeri_leher):-
mengalami("Apakah Anda mengalami nyeri di leher (Y/T)? ",nyeri_leher).
gejala(getah_bening):-
mengalami("Apakah Anda mengalami pembengkakan getah bening (Y/T)? ",getah_bening).
gejala(pendarahan_hidung):-
mengalami("Apakah Anda mengalami pendarahan hidung (Y/T)? ",pendarahan_hidung).
gejala(suara_serak):-
mengalami("Apakah suara Anda terasa serak (Y/T)? ",suara_serak).
gejala(bolamata_bergerak):-
mengalami("Apakah bola mata Anda bergerak tanpa sadar (Y/T)? ",bolamata_bergerak).
gejala(dahi_sakit):-
mengalami("Apakah dahi Anda terasa sakit (Y/T)? ",dahi_sakit).
gejala(leher_bengkak):-
mengalami("Apakah leher Anda bengkak (Y/T)? ",leher_bengkak).
gejala(tuli):-
mengalami("Apakah ada gejala tuli (Y/T)? ",tuli).
gejala(tumbuh_dimulut):-
mengalami("Apakah ada yang tumbuh di mulut Anda (Y/T)? ",tumbuh_dimulut).
gejala(airliur_menetes):-
mengalami("Apakah air liur Anda sering menetes (Y/T)?",airliur_menetes).
gejala(beratbadan_turun):-
mengalami("Apakah berat badan Anda turun (Y/T)? ",beratbadan_turun).
gejala(nafas_abnormal):-
mengalami("Apakah bunyi nafas Anda abnormal (Y/T)? ",nafas_abnormal).
gejala(infeksi_sinus):-
mengalami("Apakah Anda mengalami infeksi sinus (Y/T)? ",infeksi_sinus).
gejala(nyeri_antara_mata):-
mengalami("Apakah Anda mengalami nyeri antara mata (Y/T)? ",nyeri_antara_mata).
gejala(nyeri_pinggir_hidung):-
mengalami("Apakah Anda mengalami nyeri di pinggir hidung (Y/T)? ",nyeri_pinggir_hidung).
gejala(nyeri_pipi):-
mengalami("Apakah Anda mengalami nyeri pipi di bawah mata (Y/T)? ",nyeri_pipi).
gejala(nyeri_wajah):-
mengalami("Apakah Anda mengalami nyeri di wajah (Y/T)? ",nyeri_wajah).
gejala(perubahan_kulit):-
mengalami("Apakah kulit Anda mengalami perubahan (Y/T)? ",perubahan_kulit).
gejala(perubahan_suara):-
mengalami("Apakah Anda mengalami perubahan suara (Y/T)? ",perubahan_suara).
gejala(radang_gendang_telinga):-
mengalami("Apakah Anda mengalami radang gendang telinga (Y/T)? ",radang_gendang_telinga).
gejala(sakit_gigi):-
mengalami("Apakah Anda mengalami sakit gigi (Y/T)? ",sakit_gigi).
gejala(serangan_vertigo):-
mengalami("Apakah Anda mengalami serangan vertigo (Y/T)? ",serangan_vertigo).
gejala(telinga_berdenging):-
mengalami("Apakah telinga Anda berdenging (Y/T)? ",telinga_berdenging).
gejala(telinga_penuh):-
mengalami("Apakah telinga Anda terasa penuh (Y/T)? ",telinga_penuh).
gejala(tenggorokan_gatal):-
mengalami("Apakah tenggorokan Anda terasa gatal (Y/T)? ",tenggorokan_gatal).
gejala(tubuh_tak_seimbang):-
mengalami("Apakah tubuh Anda terasa tak seimbang (Y/T)? ",tubuh_tak_seimbang).

/* --------------------diagnosa------------------ */

diagnosa("Tonsilitis"):-
gejala(demam),
gejala(sakit_kepala),
gejala(nyeri_bicara_menelan),
gejala(batuk),
gejala(nyeri_tenggorokan),
gejala(selaput_lendir_merah),
penyebab("Tonsilitis").
diagnosa("Sinusitis Maksilaris"):-
gejala(demam),
gejala(sakit_kepala),
gejala(batuk),
gejala(hidung_tersumbat),
gejala(hidung_meler),
gejala(letih_lesu),
gejala(benjolan_dileher),
penyebab("Sinusitis Maksilaris").
diagnosa("Sinusitis Frontalis"):-
gejala(demam),
gejala(sakit_kepala),
gejala(batuk),
gejala(hidung_tersumbat),
gejala(hidung_meler),
gejala(letih_lesu),
gejala(selaput_lendir_merah),
gejala(dahi_sakit),
penyebab("Sinusitis Frontalis").
diagnosa("Sinusitis Edmoidalis"):-
gejala(demam),
gejala(sakit_kepala),
gejala(batuk),
gejala(hidung_tersumbat),
gejala(hidung_meler),
gejala(letih_lesu),
gejala(selaput_lendir_merah),
gejala(nyeri_antara_mata),
gejala(nyeri_pinggir_hidung),
gejala(dahi_sakit),
penyebab("Sinusitis Edmoidalis").
diagnosa("Sinusitis Sfenoidalis"):-
gejala(demam),
gejala(sakit_kepala),
gejala(batuk),
gejala(hidung_tersumbat),
gejala(hidung_meler),
gejala(letih_lesu),
gejala(benjolan_dileher),
gejala(nyeri_leher),
penyebab("Sinusitis Sfenoidalis").
diagnosa("Abses Peritonsiler"):-
gejala(demam),
gejala(sakit_kepala),
gejala(nyeri_tenggorokan),
gejala(getah_bening),
gejala(suara_serak),
gejala(benjolan_dileher),
penyebab("Abses Peritonsiler").
diagnosa("Faringitis"):-
gejala(demam),
gejala(nyeri_bicara_menelan),
gejala(nyeri_tenggorokan),
gejala(nyeri_leher),
gejala(getah_bening),
penyebab("Faringitis").
diagnosa("Kanker Laring"):-
gejala(nyeri_bicara_menelan),
gejala(batuk),
gejala(nyeri_tenggorokan),
gejala(getah_bening),
gejala(suara_serak),
penyebab("Kanker Laring").
diagnosa("Deviasi Septum"):-
gejala(demam),
gejala(hidung_tersumbat),
gejala(nyeri_telinga),
gejala(pendarahan_hidung),
penyebab("Deviasi Septum").
diagnosa("Laringitis"):-
gejala(demam),
gejala(nyeri_bicara_menelan),
gejala(getah_bening),
gejala(leher_bengkak),
penyebab("Laringitis").
diagnosa("Kanker Leher & Kepala"):-
gejala(nyeri_bicara_menelan),
gejala(benjolan_leher),
gejala(pendarahan_hidung),
penyebab("Kanker Leher & Kepala").
diagnosa("Otitis Media Akut"):-
gejala(demam),
gejala(nyeri_telinga),
gejala(mual_muntah),
penyebab("Otitis Media Akut").
diagnosa("Contact Ulcers"):-
gejala(nyeri_bicara_menelan),
gejala(suara_serak),
penyebab("Contact ulcers").
diagnosa("Abses Parafaringeal"):-
gejala(nyeri_bicara_menelan),
gejala(leher_bengkak),
penyebab("Abses Parafaringeal").
diagnosa("Barotitis Media"):-
gejala(sakit_kepala),
gejala(nyeri_telinga),
penyebab("Barotitis Media").
diagnosa("Kanker Nafasoring"):-
gejala(hidung_tersumbat),
gejala(pendarahan_hidung),
penyebab("Kanker Nafasoring").
diagnosa("Kanker Tonsil"):-
gejala(nyeri_tenggorokan),
gejala(benjolan_dileher),
penyebab("Kanker Tonsil").
diagnosa("Neuronitis Vestibularis"):-
gejala(mual_muntah),
gejala(bolamata_bergerak),
penyebab("Neuronitis Vestibularis").
diagnosa("Meniere"):-
gejala(nyeri_telinga),
gejala(mual_muntah),
penyebab("Meniere").
diagnosa("Tumor Syaraf Pendengaran"):-
gejala(sakit_kepala),
gejala(tuli),
penyebab("Tumor Syaraf Pendengaran").
diagnosa("Kanker Leher Metastatik"):-
gejala(benjolan_dileher),
penyebab("Kanker Leher Metastatik").
diagnosa("Osteosklerosis"):-
gejala(tuli),
penyebab("Osteosklerosis").
diagnosa("Vertigo Postular"):-
gejala(bolamata_bergerak),
penyebab("Vertigo Postular").

penyebab("Tonsilitis"):-
solusi("Tonsilitis").



penyebab("Sinusitis Frontalis"):-
solusi("Sinusitis Frontalis").

penyebab("Sinusitis Edmoidalia"):-
gejala(nyeri_antara_mata),
gejala(nyeri_pinggir_hidung),
solusi("Sinusitis Edmoidalis").
penyebab("Sinusitis Sfenoidalis"):-
solusi("Sinusitis Sfenoidalis").
penyebab("Abses Peritonsiler"):-
gejala(airliur_menetes),
solusi("Abses Peritonsiler").
penyebab("Faringitis"):-
solusi("Faringitis").
penyebab("Kanker Laring"):-
gejala(beratbadan_turun),
gejala(nafas_abnormal),
solusi("Kanker Laring").
penyebab("Deviasi Septum"):-
gejala(infeksi_sinus),
gejala(nyeri_wajah),
solusi("Deviasi Septum").
penyebab("Laringitis"):-
gejala(tenggorokan_gatal),
solusi("Laringitis").
penyebab("Kanker Leher & Kepala"):-
gejala(tumbuh_dimulut),
gejala(perubahan_kulit),
gejala(perubahan_suara),
solusi("Kanker Leher & Kepala").
penyebab("Otitis Media Akut"):-
gejala(radang_gendang_telinga),
solusi("Otitis Media Akut").
penyebab("Contact Ulcers"):-
solusi("Contact Ulcers").
penyebab("Abses Parafaringeal"):-
solusi("Abses Parafaringeal").
penyebab("Barotitis Media"):-
solusi("Barotitis Media").
penyebab("Kanker Nafasoring"):-
solusi("Kanker Nafasoring").
penyebab("Kanker Tonsil"):-
solusi("Kanker Tonsil").
penyebab("Neuronitis Vestibularis"):-
solusi("Neuronitis Vestibularis").
penyebab("Meniere"):-
gejala(serangan_vertigo),
gejala(telinga_penuh),
solusi("Meniere").
penyebab("Tumor Syaraf Pendengaran"):-
gejala(tubuh_tak_seimbang),
solusi("Tumor Syaraf Pendengaran").
penyebab("Kanker Leher Metastatik"):-
solusi("Kanker Leher Metastatik").
penyebab("Osteosklerosis"):-
gejala(telinga_berdenging),
solusi("Osteosklerosis").
penyebab("Vertigo Postular"):-
solusi("Vertigo Postular").

solusi(Penyakit):-
upper_lower(BPenyakit,Penyakit),nl,nl,nl,
write(" Penyakit Anda adalah ",BPenyakit),nl.

Tidak ada komentar:

Posting Komentar