program hanoi; uses crt; procedure menarahanoi(jumlah:integer; sumber,tujuan,bantuan:char; var langkah:integer); begin if jumlah=1 then begin langkah:=langkah+1; write('langkah:',langkah); writeln('pindahkan piringan 1 dari menara',sumber,'ke menara',tujuan); end else begin menarahanoi(jumlah-1,sumber,bantuan,tujuan,langkah); langkah:=langkah+1; write('langkah:',langkah); write('pindahkan piringan',jumlah); writeln('dari menara',sumber,'ke menara',tujuan); menarahanoi(jumlah-1,bantuan,tujuan,sumber,langkah); end; end; var jumlah,langkah:integer; sumber,bantuan,tujuan:char; begin clrscr; write('masukkan jumlah piringan:');readln(jumlah); langkah:=0; sumber:='a';bantuan:='b';tujuan:='c'; menarahanoi(jumlah,sumber,tujuan,bantuan,langkah); readln; end.