kami tidak mengerjakan serumit seperti yang ada di dalam penjelasan kami sebelumnya.
Hehe.. : )
Kalau pada posting sebelumnya, kami hanya membuat pseudocode yang berfungsi hanya untuk mengecek peralatan listrik yang sedang menyala atau tidak. Tapi, kali ini kami menambahnya dengan beberapa fungsi baru yang menurut kami tidak jauh berbeda dengan konsep dasar kami pada posting yang berjudul HP Sahabat Rumah. Kami memberi beberapa tambahan didalamnya, yaitu diantaranya seperti mematikan maupun menyalakan lampu, buka-tutup pagar, dan lain sebagainya. Supaya lebih mudah, kita lihat saja pseudocodenya.
Dalam Notepad kami menuliskan sebagai berikut.
Bagian pertama ini adalah input data yang nantinya berguna untuk di akses oleh parameter-parameter yang akan kami buat berikutnya.
(klik gambar untuk memperbesar)
Ini adalah parameter yang berfungsi untuk mengakses dan menampilkan logika yag kita masukkan
(klik gambar untuk memperbesar)
Setelah menuliskan data di atas, kita harus mencoban program tersebut di prolog. Berikut ini adalah contoh hasil dari prolog tersebut.
(klik gambar untuk memperbesar)
Berikut ini adalah pseudocode yang bisa di copy-paste. Silahkan mencoba..
lampu(teras,99,1,on).
lampu(kamar_1,90,8,on).
lampu(kamar_2,75,1,off).
lampu(kamar_3,0,error,off).
lampu(k_mandi_1,100,1,off).
lampu(k_mandi_2,90,12,on).
lampu(dapur,60,24,off).
lampu(r_tamu,85,5,on).
lampu(r_tengah,10,36,off).
ac(kamar1,90,12,off).
ac(kamar2,90,12,off).
ac(r_tengah,80,12,on).
tv(r_tengah,95,12,off).
tv(kamar_1,90,12,off).
pagar(besar,depan,buka).
pagar(kecil,depan,tutup).
pagar(besar,blkg,tutup).
cek_lampu_on :- lampu(Pos,_,_,on),write(Pos),nl,fail.
cek_ac_on :- ac(Pos,_,_,on),write(Pos),nl,fail.
cek_tv_on :- tv(Pos,_,_,on),write(Pos),nl,fail.
cek_lampu_off :- lampu(Pos,_,_,off),write(Pos),nl,fail.
cek_ac_off :- ac(Pos,_,_,off),write(Pos),nl,fail.
cek_tv_off :- tv(Pos,_,_,off),write(Pos),nl,fail.
cek_lampu :- lampu(Pos,_,_,S),write('Lampu '),write(Pos),
write(' '),write(S),nl,fail.
cek_tv :- tv(Pos,_,_,S),write('TV '),write(Pos),write(' '),
write(S),nl,fail.
cek_ac :- ac(Pos,_,_,S),write('AC '),write(Pos),write(' '),
write(S),nl,fail.
cek_pagar :- pagar(Uk,Pos,K),write('Pagar '),write(Uk),write(' '),
write(Pos),write(' '),write(K),nl,fail.
kond_lampu :- lampu(Pos,Cond,Usia,_),write('Lampu '),write(Pos),
write(' '),write(Cond),write('% '),write(Usia),
write(' bulan'),nl,fail.
kond_ac :- ac(Pos,Cond,Usia,_),write('AC '),write(Pos),write(' '),
write(Cond),write('% '),write(Usia),write(' bulan'),
nl,fail.
kond_tv :- tv(Pos,Cond,Usia,_),write('TV '),write(Pos),write(' '),
write(Cond),write('% '),write(Usia),write(' bulan'),
nl,fail.
lampu_on :- lampu(Pos,_,_,off),write('Lampu '),write(Pos),
write(' on'),nl,fail.
tv_on :- tv(Pos,_,_,off),write('TV '),write(Pos),write(' on'),
nl,fail.
ac_on :- ac(Pos,_,_,off),write('AC '),write(Pos),write(' on'),
nl,fail.
lampu_off :- lampu(Pos,_,_,on),write('Lampu '),write(Pos),
write(' off'),nl,fail.
tv_off :- tv(Pos,_,_,on),write('TV '),write(Pos),write(' off'),
nl,fail.
ac_off :- ac(Pos,_,_,on),write('AC '),write(Pos),write(' off'),
nl,fail.
pagar_buka :- pagar(Uk,Pos,tutup),write('Pagar '),write(Uk),
write(' '),write(Pos),write(' buka'),nl,fail.
pagar_tutup :- pagar(Uk,Pos,buka),write('Pagar '),write(Uk),
write(' '),write(Pos),write(' tutup'),nl,fail.
Tidak ada komentar:
Posting Komentar