Tu juan
Untuk mempermudah menyelesaikan permainan teka teki menara hanoi
D apat mengaplikas ikan Repres entasi ruang keadaan untuk menyeles aikan
permainan menara hanoi.
Dasar Teori
M enara H anoi adalah sebuah permainan matematis atau teka-teki. Teka-teki ini
ditemukan Eduard Lucas, ahli matematika P erancis di tahun 1883. Permainan ini terdiri
dari tiga tiang dan sejumlah cakram dengan ukuran berbeda- beda yang bis a dimasukkan
ke tiang mana saja. Permainan M enara Hanoi dimulai dengan cakramcakram yang
tertumpuk rapi dari cakram paling bes ar sampai ke cakram paling terkecil dalam s alah
s atu tiang, s ehingga membentuk kerucut.
Objektif dari permainan M enara H anoi adalah memindahkan tumpukan n buah
cakram berlubang dari tiang as al ke tiang tujuan dengan memanfaatkan sebuah tiang
perantara. Piringan berukuran tidak sama. Jumlah pemindahan dalam n buah cakram
adalah sebanyak 2n -1 kali. Permainan Menara Hanoi memiliki beberapa aturan yang
harus dipatuhi untuk menyeles aikan teka- teki. Dalam melakukan pemindahan cakram
harus mengikuti aturan berikut:
H anya s atu cakram yang boleh dipindahkan dalam s etiap kal perpindahan.
S etiap perpindahan berupa pengambilan cakram teratas dari s atu tiang dan
memas ukkannya ke tiang lain, di atas cakram lain yang mungkin s udah ada di
tiang tersebut.
Tidak boleh meletakkan cakram di atas cakram lain yang lebih kecil.
Agar mempermudah dalam menyelesaikan permainannya maka dibuat program
untuk menemukan solusi penyeles aiannya menggunakan s oftw are dev C++
D ev-C+ + merupakan s ebuah IDE (Integrated Development Environment) C / C++
yang sudah dilengkapi dengan TD M-GCC Compiler (bagian dari GNU Compiler
C ollection / GCC). Dev-C++ merupakan ID E gratis dan full featur yang didistribusikan
dibaw ah lis ensi GNU General Public Licens e untuk pemrograman C dan C ++. seperti
yang sudah disebutkan diatas IDE merupakan Lembar kerja terpadu untuk
pengembangan program.
Muhammad Ilham Mahardhika / JTD 4D Laporan Hasil Praktikum
Program Menara Hanoi
Flow ch art
int main()
int piringan;
cout<< "--------------------\n\n";
cout<< endl;
return 0;
if(N == 1)
MenaraHanoi(N-1,asal,tujuan, bantu);
Fungsi Rekursif
cout<<"Piringan " << N <<" dari " << asal << " ke " << tujuan<<endl;
Hasil d an Pemb ah as an
P embahasan