clear all;
x=input ('Keadaan Awal y=input ('Keadaan Awal a=input (' Goal b=input (' Goal
Gelas Gelas Gelas Gelas
A (4 Liter) berisi
B (3 Liter) berisi =
A (4 Liter) berisi B (3 Liter) berisi
@tanda node ini belum ditampung tanda_tampung(1:5,1:4)=0;
$node awal diberitanda ditampung tanda_tampung (x+1, y+1)=17
stack=[];
tampungRule=[]; solusiRule=[]; solusi=[];
selesai=0; Jm1_node_yang_ditampung=0; Rl='Gelas B diisi penuh R2='Gelas A diisi penuh
R3='Kosongkan isi Gelas A R4='Kosongkan isi Gelas B
R5='Tuangkan isi Gelas B ke Gelas A hingga Gelas A penuh R6='"Tuangkan isi Gelas A ke
Gelas B hingga Gelas B penuh
R7='"Tuangkan seluruh air dari Gelas B ke Gelas A R8='Tuangkan seluruh air dari Gelas A
ke Gelas B tRule=(R1;R2;R3;R4;R5;R6;R7;R9] ;
’check jika node (x,y) adalah Goal
if (x==a) B(y==b) solusi=[x yl]; selesai=1; end
while selesai==0
if y<3
&R1='"Gelas B diisi penuh’; xl=x;yl=3; tbhuat node anak (x1, ¥1)
&%jika node anak belum pernah dimasukkan stack if tanda_tampung(x1+1, yl1+1)==0
stack=([stack;
[xl yl] ]z
• ==
• See te te
sete
Se ote
Jml_node yang ditampung=Jm1_ node yang ditampung+1;
tampungRule=[tampungRule;R1);
end end
if x<4