pc1.pl :
mulai:-
inisialisasi,
data_pengamatan,
aturan(Nomor,Alasan),
jawaban(Alasan,Jawab),
write(Jawab),nl,
write('Aturan yang dipakai adalah '),
write(Nomor),nl,nl,
retractall(observation(_)).
mulai:-
write('Maaf tidak dapat membantu!'),nl,nl,
retractall(observation(_)).
inisialisasi:-
write('**Antaramuka Sistem Pakar dengan PROLOG**'),nl,
consult('c:/users/galih400/documents/prolog/pc2.pl'),
judul(Judul),write(Judul),nl,nl,
tulis_pesan,nl.
tulis_pesan:-
pesan(Pesan),
write(Pesan),nl,fail.
tulis_pesan:-
nl.
data_pengamatan:-
pertanyaan(Tanya,Obs),
write(Tanya),nl,
read(Yatidak),
Yatidak=y,
assert(observation(Obs)),
fail.
data_pengamatan.
pc2.pl :
judul('*Nyalakan PC*').
pesan('Diasumsikan PC Error').
pesan('Jawab pertanyaan berikut dengan y atau n').
pertanyaan('Apakah lampu CPU menyala?', pc_lampu).
pertanyaan('Apakah saat menyalakan PC terdapat suara CPU?', pc_hidup).
pertanyaan('Apakah harddisk sudah digunakan dalam jangka lama?', pc_harrdisk).
pertanyaan('Apakah memori cukup dari yang di rekomendasikan?', pc_ram).
aturan(1, tidak_ada_listrik):-
not(observation(pc_lampu)),
not(observation(pc_hidup)).
aturan(2, pc_lambat):-
observation(pc_ram),
not(observation(pc_harddisk)),
observation(pc_lampu),
observation(pc_hidup).
aturan(3, hang):-
observation(pc_lampu),
observation(pc_hidup),
observation(pc_harddisk),
not(observation(pc_ram)).
jawaban(tidak_ada_listrik,'tidak ada listrik yang masuk ke cpu').
jawaban(pc_lambat,'harddisk yang sudah lama digunakan mengurangi kecepatan rpmnya').
jawaban(hang,'ram yang tidak cukup untuk menjalankan banyak task membuat hang').
note : pc1.pl digunakan untuk pendeklarasi dan compile file pc2.pl