Minggu, 17 April 2011

Prolog Programming - Worm Diseases

Kami menggunakan beberapa contoh penyakit berdasarkan infeksi multiselular parasit (roundworms & flatworms)

Terdapat beberapa data dengan rincian mentah sebagai berikut:


Disease                        :Pinworm Disease
Causative Agent        :Enterobius Vermicularis
Organs Affected        : Intestine
Characteristic Sign    : Anal Itching
Transmission              : Contact, Food
Animal Host               : NA

Disease                        :Whipworm Disease
Causative Agent        : Trichuris Trichiura
Organs Affected        : Intestine
Characteristic Sign    : Abdominal Pain
Transmission              : Food, Water
Animal Host               : NA

Disease                        :Roundworm Disease
Causative Agent        : Ascaris Lumbricoides
Organs Affected        : Intestine, Lungs
Characteristic Sign    : Emaciation, Pneumonia
Transmission              : Food,Water,Contact
Animal Host               : NA

Disease                        :Trichionosis
Causative Agent        : Trichinella Spiralis
Organs Affected        : Intestine,Muscles,Eye
Characteristic Sign    : Diarrhea,Muscle Pain
                                       Loss of Eye movement
Transmission              : Pork Consumption
Animal Host               : Pig
 
Disease                        :Hookworm Disease
Causative Agent        : Ancylostoma
                                       Duodenale,
                                      Necator americanus
Organs Affected        : Intestine, Lungs, Lymph
Characteristic Sign    : Anemia, Abdominal Pain
Transmission              : Contact with vegetation
Animal Host               : NA

Disease                        :Filariasis
Causative Agent        :Wuchereria Bancrofti
Organs Affected        :Lymph,Vessels
Characteristic Sign    :Edema, Elephantiasis
Transmission              : Mosquito
Animal Host               : Mosquito

Disease                        :Eyeworm Disease
Causative Agent        : Loa Loa
Organs Affected        : Eye Connectivity Tissues
Characteristic Sign    : Conjunctivitis
Transmission              : Deerflies,Horseflies
Animal Host               : Insects

Disease                        :Guinea Worm Disease
Causative Agent        : Dracunculus Medinensis
Organs Affected        : Skin
Characteristic Sign    : Skin Ulcer
Transmission              : Food, Water
Animal Host               : Copped Fish

Disease                        :Beef Tapeworm Disease
Causative Agent        : Taenis Saginata
Organs Affected        : Intestine
Characteristic Sign    : Diarrhea
Transmission              : Beef Consumption
Animal Host               : Cattle

Disease                        :Pork Tapeworm Disease
Causative Agent        : Taenia Solium
Organs Affected        : Intestine
Characteristic Sign    : Diarrhea
Transmission              : Pork Consumption
Animal Host               : Pig

Disease                        :Dwarf Tapeworm Disease
Causative Agent        : Hymenolepsis Nana
Organs Affected        : Intestine
Characteristic Sign    : Diarrhea
Transmission              : Food, Contact
Animal Host               : NA

Disease                        :Dog Tapeworm Disease
Causative Agent        : Echinococcus Granulosus
Organs Affected        : Liver
Characteristic Sign    : Liver Damage
Transmission              : Contact
Animal Host               : Dog and other Canines

Disease                        :Fish Tapeworm Disease
Causative Agent        : Diphyllobothrium Latum
Organs Affected        : Intestine
Characteristic Sign    : Diarrhea, Anemia
Transmission              : Fish Consumption
Animal Host               : Copepod Fish

Disease                        :Intestinal Fluke Disease
Causative Agent        : Fasciolopsis Buski
Organs Affected        : Intestine
Characteristic Sign    : Diarrhea
Transmission              : Consumption of water Plants
Animal Host               : Snail

Disease                        :Chinese Liver Fluke Disease
Causative Agent        : Clonorchis Sinensis
Organs Affected        : Gall Bladder
Characteristic Sign    : Cirrhosis
Transmission              : Fish Consumption
Animal Host               : Snail, Fish

Disease                        :Blood Fluke Disease
Causative Agent        : Schistossoma mansoni
                                       S.Japonicum,
                                      S.Haematobium
Organs Affected        : Liver, Lungs
Characteristic Sign    : Rash
Transmission              : Water Contact
Animal Host               : Snail

Dengan keadaan seperti tertera diatas, kami membuat syntax dengan format sebagai berikut:
disease(X)
Kami  membuat “disease” dengan syntax disease(X) benar jika X adalah penyakit (disease)

causative(X,Y)
Kami  membuat “causative agent” dengan syntax causative(X,Y) benar jika X adalah penyakit (disease) dan memiliki penyebab penyakit (causative agent) berupa Y

organ(X,Y)
Kami  membuat “organ affected” dengan syntax organ(X,Y) benar jika X adalah penyakit (disease) dan menginfeksi organ tubuh (organ affected) berupa Y

charac(X,Y)
Kami  membuat “characteristic sign” dengan syntax charac(X,Y) benar jika X adalah penyakit (disease) dan memiliki gejala (characteristic sign) berupa Y

trans(X,Y)
Kami  membuat “transmission” dengan syntax trans(X,Y) benar jika X adalah penyakit (disease) dan memiliki perantara (transmission) berupa Y

anim(X,Y)
Kami  membuat “animal host” dengan syntax anim(X,Y) benar jika X adalah penyakit (disease) dan memiliki inang inang (animal host) berupa Y


Berdasarkan basic syntax yang kami terapkan diatas, didapatkan keterkaitan antara penyakit, penyebab penyakit, organ tubuh yang diserang, gejala, perantara dan hewan inangnya.

I. Permudahan dari versi bahasa inggris, maka dibuatkan syntax baru sebagai berikut

penyebab(X,Y):-
            causative(X,Y)
Kami  membuat “penyebab” dengan syntax penyebab(X,Y) benar jika X adalah penyakit (disease) dan memiliki penyebab penyakit (causative agent) berupa Y

organ_diserang(X,Y):-
            organ(X,Y).   
Kami  membuat “organ diserang” dengan syntax organ_diserang(X,Y) benar jika X adalah penyakit (disease) dan menginfeksi organ tubuh (organ affected) berupa Y

gejala(X,Y):-
            charac(X,Y).
Kami  membuat “gejala” dengan syntax gejala(X,Y) benar jika X adalah penyakit (disease) dan memiliki gejala (characteristic sign) berupa Y

perantara(X,Y):-
            trans(X,Y).
Kami  membuat “perantara” dengan syntax perantara(X,Y) benar jika X adalah penyakit (disease) dan memiliki perantara (transmission) berupa Y

inang(X,Y):-  
            anim(X,Y).
Kami  membuat “inang” dengan syntax inang(X,Y) benar jika X adalah penyakit (disease) dan memiliki hewan inang (animal host) berupa Y


II. Untuk permudahan pemanggilan balik dari syntax diatas dibuatkan syntax baru sebagai berikut

akibat_penyebab(X,Y):-
            penyebab(Y,X).
Kami  membuat “akibat penyebab” dengan syntax akibat_penyebab(X,Y) benar jika X adalah penyebab penyakit (causative agent) dan memiliki penyakit (disease) berupa Y

akibat_organ_terserang(X,Y):-
            organ_diserang(Y,X).
Kami  membuat “akibat terserang” dengan syntax akibat_terserang(X,Y) benar jika X adalah organ yang terserang (organ) dan memiliki penyakit (disease) berupa Y

akibat_gejala(X,Y):-
            gejala(Y,X).
Kami  membuat “akibat_gejala” dengan syntax akibat_gejala(X,Y) benar jika X adalah gejala (characteristic sign) dan memiliki penyakit (disease) berupa Y

akibat_perantara(X,Y):-
            perantara(Y,X).
Kami  membuat “akibat perantara” dengan syntax akibat_perantara(X,Y) benar jika X adalah perantara (transmission) dan memiliki penyakit (disease) berupa Y
           
akibat_inang(X,Y):-
            inang(Y,X).
Kami  membuat “akibat inang” dengan syntax akibat_inang(X,Y) benar jika X adalah inang (animal host) dan memiliki penyakit (disease) berupa Y

III. Untuk permudahan pemanggilan antara syntax yang belum berhubungan sebelumnya dibuatkan hubungan baru antar syntax yang telah ada

penyebab_menyerang(X,Y):-
            causative(U,X),
            organ(U,Y).
Kami  membuat “penyebab penyakit akan menyerang organ” dengan syntax penyebab_menyerang(X,Y) benar jika X adalah penyebab penyakit (causative agent) dan memiliki organ yang diserang (organ affected) berupa Y, dimana dapat dijelaskan dari “penyebab penyakit” (causative agent) dengan syntax causative(U,X) benar jika U adalah penyakit (disease) dan memiliki penyebab penyakit (causative agent) berupa X, dipasangkan dengan syntax organ(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki organ yang diserang (organ affected) berupa Y

penyebab_bergejala(X,Y):-
            causative(U,X),
            charac(U,Y).
Kami  membuat “penyebab penyakit memiliki gejala” dengan syntax penyebab_memiliki gejala(X,Y) benar jika X adalah penyebab penyakit (causative agent) dan memiliki gejala (characteristic sign) berupa Y, dimana dapat dijelaskan dari “penyebab penyakit” (causative agent) dengan syntax causative(U,X) benar jika U adalah penyakit (disease) dan memiliki penyebab penyakit (causative agent) berupa X, dipasangkan dengan syntax charac(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki gejala (character sign) berupa Y

penyebab_berperantara(X,Y):-
            causative(U,X),
            trans(U,Y).
Kami  membuat “penyebab penyakit memiliki perantara” dengan syntax penyebab_berperantara(X,Y) benar jika X adalah penyebab penyakit (causative agent) dan memiliki perantara (transmission) berupa Y, dimana dapat dijelaskan dari “penyebab penyakit” (causative agent) dengan syntax causative(U,X) benar jika U adalah penyakit (disease) dan memiliki penyebab penyakit (causative agent) berupa X, dipasangkan dengan syntax trans(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki perantara (transmission) berupa Y

penyebab_inangnya(X,Y):-
            causative(U,X),
            anim(U,Y).
Kami  membuat “penyebab penyakit memiliki inang” dengan syntax penyebab_menyerang(X,Y) benar jika X adalah penyebab penyakit (causative agent) dan memiliki inang (animal host) berupa Y, dimana dapat dijelaskan dari “penyebab penyakit” (causative agent) dengan syntax causative(U,X) benar jika U adalah penyakit (disease) dan memiliki penyebab penyakit (causative agent) berupa X, dipasangkan dengan syntax anim(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki inang (animal host) berupa Y

organ_terserang_bergejala(X,Y):-
            organ(U,X),
            trans(U,Y).
Kami  membuat “organ yang terserang penyakit memiliki gejala” dengan syntax organ_terserang_bergejala(X,Y) benar jika X adalah orgran yang terserang (organ affected) dan memiliki gejala (characteristic sign) berupa Y, dimana dapat dijelaskan dari “organ yang terserang” (organ affected) dengan syntax organ(U,X) benar jika U adalah penyakit (disease) dan memiliki organ tubuh yang diserang (organ affected) berupa X, dipasangkan dengan syntax trans(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki gejala (characteristic sign) berupa Y
           
organ_terserang_berperantara(X,Y):-
            organ(U,X),
            trans(U,Y).
Kami  membuat “organ yang terserang penyakit memiliki perantara” dengan syntax organ_terserang_berperantara(X,Y) benar jika X adalah orgran yang terserang (organ affected) dan memiliki perantara (transmission) berupa Y, dimana dapat dijelaskan dari “organ yang terserang” (organ affected) dengan syntax organ(U,X) benar jika U adalah penyakit (disease) dan memiliki organ tubuh yang diserang (organ affected) berupa X, dipasangkan dengan syntax trans(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki perantara (transmission) berupa Y

organ_terserang_inangnya(X,Y):-
            organ(U,X),
            anim(U,Y).
Kami  membuat “organ yang terserang penyakit memiliki inang” dengan syntax organ_terserang_inangnya(X,Y) benar jika X adalah orgran yang terserang (organ affected) dan memiliki inang (animal host) berupa Y, dimana dapat dijelaskan dari “organ yang terserang” (organ affected) dengan syntax organ(U,X) benar jika U adalah penyakit (disease) dan memiliki organ tubuh yang diserang (organ affected) berupa X, dipasangkan dengan syntax anim(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki inang (animal host) berupa Y

gejala_berperantara(X,Y):-
            charac(U,X),
            trans(U,Y).
Kami  membuat “gejala penyakit tertentu dapat diinfeksikan dengan perantara” dengan syntax gejala_berperantara(X,Y) benar jika X adalah gejala penyakit (characteristic sign) dan memiliki perantara (transmission) berupa Y, dimana dapat dijelaskan dari “gejala penyakit” (characteristic sign) dengan syntax charac(U,X) benar jika U adalah penyakit (disease) dan memiliki gejala penyakit (characteristic) berupa X, dipasangkan dengan syntax trans(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki perantara (transmission) berupa Y

gejala_inangnya(X,Y):-
            charac(U,X),
            anim(U,Y).
Kami  membuat “gejala penyakit tertentu dapat diinfeksikan melalui inang” dengan syntax gejala_inangnya(X,Y) benar jika X adalah gejala penyakit (characteristic sign) dan memiliki inang (animal host) berupa Y, dimana dapat dijelaskan dari “gejala penyakit” (characteristic sign) dengan syntax charac(U,X) benar jika U adalah penyakit (disease) dan memiliki gejala penyakit (characteristic) berupa X, dipasangkan dengan syntax anim(U,Y) bernilai benar jika U adalah penyakit(disease) dan memiliki inang (animal host) berupa Y

KEUNGGULAN PROGRAM

Dapat mencari beberapa data tentang penyakit akibat cacing (roundworm maupun flatworm) pada manusia dengan beberapa data yang terkacup didalamnya seperti nama penyakitnya, penyebabnya, organ yang diserangnya, perantaranya dan hewan inangnya.
Pada program dapat ditampilkan hubungan logis antara nama penyakitnya, penyebabnya, organ yang diserangnya, perantaranya dan hewan inangnya dengan cukup baik.

KELEMAHAN PROGRAM

Cakupan data sempit, hanya permasalahan cacing (roundworm maupun flatworm) pada tubuh manusia, tidak secara global permasalahan cacing pada tubuh manusia maupun cacing pada setiap mahluk hidup.
Pada program tidak terdapat cara pencegahan penyakit maupun cara pengobatannya

domains
            name=symbol
predicates
            disease(name)
            causative(name,name)
            organ(name,name)
            charac(name,name)
            trans(name,name)
            anim(name,name)

            penyebab(name,name)
            organ_diserang(name,name)
            gejala(name,name)
            perantara(name,name)  
            inang(name,name)

            akibat_penyebab(name,name)
            akibat_organ_terserang(name,name)
            akibat_gejala(name,name)
            akibat_perantara(name,name)
            akibat_inang(name,name)
           
            penyebab_menyerang(name,name)
            penyebab_bergejala(name,name)
            penyebab_berperantara(name,name)
            penyebab_inangnya(name,name)

            organ_terserang_bergejala(name,name)
            organ_terserang_berperantara(name,name)
            organ_terserang_inangnya(name,name)  

            gejala_berperantara(name,name)
            gejala_inangnya(name,name)


clauses

            disease(pinworm_disease).                    
            disease(whipworm_disease).
            disease(roundworm_disease).
            disease(trichionosis).
            disease(hookworm_disease).
            disease(filariasis).
            disease(eyeworm_disease).
            disease(guenia_worm_disease).
            disease(beef_tapeworm_disease).
            disease(pork_tapeworm_disease).
            disease(dwarf_tapeworm_disease).
            disease(dog_tapeworm_disease).
            disease(fish_tapeworm_disease).
            disease(intestinal_disease).
            disease(chinese_liver_fluke_disease).
            disease(blood_fluke_disease).

            causative(pinworm_disease,enterobius_vermicularis).
            causative(whipworm_disease,trichuris_trichiura).
            causative(roundworm_disease,ascaris_lumbricoides).
            causative(trichinosis,trichinella_spirallis).
            causative(hookworm_disease,ancylostoma_duodenale).
            causative(hookworm_disease,necator_americanus).
            causative(filariasis,wuchereria_bancrofti).
            causative(eyeworm_disease,loa_loa).
            causative(guenia_worm_disease,daracunculus_medinensis).
            causative(beef_tapeworm_disease,taenis_saginata).
            causative(pork_tapeworm_disease,taenia_solium).
            causative(dwarf_tapeworm_disease,hymenolepsis_nana).
            causative(dog_tapeworm_disease,echinococcus_granulosus).
            causative(fish_tapeworm_disease,diphyllobothrium_latum).
            causative(intestinal_fluke_disease,fasciolopsis_buski).
            causative(chinese_liver_fluke_disease,clonorchis_sinensis).
            causative(blood_fluke_disease,schistossoma_mansoni).
            causative(blood_fluke_disease,s_japonicum).
            causative(blood_fluke_disease,s_haematobium).
           
            organ(pinworm_disease,intestine).                      
            organ(whipworm_disease,intestine).
            organ(roundworm_disease,intestine).
            organ(roundworm_disease,lungs).
            organ(trichionosis,intestine).
            organ(trichionosis,muscles).
            organ(trichionosis,eye).
            organ(hookworm_disease,intestine).
            organ(hookworm_disease,lungs).
            organ(hookworm_disease,lymph).
            organ(filariasis,lymph).
            organ(filariasis,vessels).
            organ(eyeworm_disease,eye).
            organ(eyeworm_disease,connectivity).
            organ(eyeworm_disease,tissues).
            organ(guenia_worm_disease,skin).
            organ(beef_tapeworm_disease,intestine).
            organ(pork_tapeworm_disease,intestine).
            organ(dwarf_tapeworm_disease,intestine).
            organ(dog_tapeworm_disease,liver).
            organ(fish_tapeworm_disease,intestine).
            organ(intestinal_disease,intestine).
            organ(chinese_liver_fluke_disease,gall_bladder).
            organ(blood_fluke_disease,liver).
            organ(blood_fluke_disease,lungs).
           
            charac(pinworm_disease,anal_itching).                
            charac(whipworm_disease,abdominal_pain).
            charac(roundworm_disease,emaciation_pneumonia).
            charac(trichionosis,diarrhea_musclepain).
            charac(trichionosis,lose_of_eye_movement).
            charac(hookworm_disease,anemia).
            charac(hookworm_disease,abdominal_pain).
            charac(filariasis,edema).
            charac(filariasis,elephantiasis).
            charac(eyeworm_disease,conjunctivitis).
            charac(guenia_worm_disease,skin_ulcer).
            charac(beef_tapeworm_disease,diarrhea).
            charac(pork_tapeworm_disease,diarrhea).
            charac(dwarf_tapeworm_disease,diarrhea).
            charac(dog_tapeworm_disease,liver_damage).
            charac(fish_tapeworm_disease,diarrhea).
            charac(fish_tapeworm_disease,anemia).
            charac(intestinal_disease,diarrhea).
            charac(chinese_liver_fluke_disease,cirrhosis).
            charac(blood_fluke_disease,rash).

            trans(pinworm_disease,contact).
            trans(pinworm_disease,food).                 
            trans(whipworm_disease,food).
            trans(whopworm_disease,water).
            trans(roundworm_disease,food).
            trans(roundworm_disease,water).
            trans(roundworm_disease,contact).
            trans(trichionosis,pork_consumtion).
            trans(hookworm_disease,contact_with_vegetation).
            trans(filariasis,mosquito).
            trans(eyeworm_disease,deerflies).
            trans(eyeworm_disease,horseflies).
            trans(guenia_worm_disease,food).
            trans(guenia_worm_disease,water).
            trans(beef_tapeworm_disease,beef_consumption).
            trans(pork_tapeworm_disease,pork_consumption).
            trans(dwarf_tapeworm_disease,food).
            trans(dwarf_tapeworm_disease,contact).
            trans(dog_tapeworm_disease,contact).
            trans(fish_tapeworm_disease,fish_consumption).
            trans(intestinal_disease,consumption_of_water_plants).
            trans(chinese_liver_fluke_disease,fish_consumption).
            trans(blood_fluke_disease,water_contact).

            anim(pinworm_disease,nothing).             
            anim(whipworm_disease,nothing).
            anim(roundworm_disease,nothing).
            anim(trichionosis,pig).
            anim(hookworm_disease,nothing).
            anim(filariasis,mosquito).
            anim(eyeworm_disease,insects).
            anim(guenia_worm_disease,copped_fish).
            anim(beef_tapeworm_disease,cattle).
            anim(pork_tapeworm_disease,pig).
            anim(dwarf_tapeworm_disease,nothing).
            anim(dog_tapeworm_disease,dog).
            anim(dog_tapeworm_disease,other_canines).
            anim(fish_tapeworm_disease,copepod_fish).
            anim(intestinal_disease,snail).
            anim(chinese_liver_fluke_disease,snail).
            anim(chinese_liver_fluke_disease,fish).
            anim(blood_fluke_disease,snail).

            penyebab(X,Y):-
                        causative(X,Y).

            organ_diserang(X,Y):-
                        organ(X,Y).       

            gejala(X,Y):-
                        charac(X,Y).

            perantara(X,Y):-
                        trans(X,Y).

            inang(X,Y):-      
                        anim(X,Y).

            akibat_penyebab(X,Y):-
                        penyebab(Y,X).

            akibat_organ_terserang(X,Y):-
                        organ_diserang(Y,X).

            akibat_gejala(X,Y):-
                        gejala(Y,X).

            akibat_perantara(X,Y):-
                        perantara(Y,X).
           
            akibat_inang(X,Y):-
                        inang(Y,X).

            penyebab_menyerang(X,Y):-
                        causative(U,X),
                        organ(U,Y).

            penyebab_bergejala(X,Y):-
                        causative(U,X),
                        charac(U,Y).

            penyebab_berperantara(X,Y):-
                        causative(U,X),
                        trans(U,Y).

            penyebab_inangnya(X,Y):-
                        causative(U,X),
                        anim(U,Y).

            organ_terserang_bergejala(X,Y):-
                        organ(U,X),
                        charac(U,Y).
           
            organ_terserang_berperantara(X,Y):-
                        organ(U,X),
                        trans(U,Y).

            organ_terserang_inangnya(X,Y):-
                        organ(U,X),
                        anim(U,Y).

            gejala_berperantara(X,Y):-
                        charac(U,X),
                        trans(U,Y).

            gejala_inangnya(X,Y):-
                        charac(U,X),
                        anim(U,Y).