Waktu kuliah Struktur Data sempat enggak ngerti sama menara hanoi. Taunya cuman memindahkan piringan-piringan dari tonggak A ke tonggak C lewat B dengan cara piringan – piringan dari A di pindahin semuanya ke B baru nanti ke C , jadinya yang piringan besar dibawah dan yang kecil diatas
Well, itu ngawur karena malas membaca soalnya
. Pas kuliah Analog ketemu lagi sama menara hanoi. Yo wis… saya baca-baca n’ Alhamdulillah ngerti dikit
.
Jadi apa sih Menara Hanoi itu ?
Sebuah permainan dimana sejumlah piringan dipindahkan dari tonggak satu ke tonggak lainnya dan dapat menggunakan tonggak bantuan .
Caranya semua piringan di tonggak A akan dipindahkan ke tonggak C secara satu persatu dan piringan yang besar tidak boleh diletakkan di atas piringan yang kecil.
Untuk lebih jelasnya soal prosesnya bisa lihat gambar di bawah ini
Untuk menyelesaikan puzzle di atas dalam pemrograman, kita dapat menggunakan teknik rekursif. Rekursif adalah fungsi atau prosedure yang dapat memanggil dirinya sendiri.
Jadi algoritmanya adalah …
Kalau N = 1 maka
N dipindahkan dari A ke C secara langsung
Tapi kalau N > 1 maka
pindahkan N-1 dari A ke B
pindahkan N dari A ke C
pindahkan N-1 dari B ke C
catatan :
N = banyaknya piringan
Sekarang kita coba coding dengan c++
#include<iostream>
using namespace std;
void MenaraHanoi(int N, char asal, char bantu, char tujuan);
int main()
{
int piringan;
cout<< "\nPROGRAM MENARA HANOI\n";
cout<< "--------------------\n\n";
cout<< "Banyaknya piringan: ";
cin >> piringan;
cout<< endl;
MenaraHanoi(piringan,'A','B','C');
return 0;
}
void MenaraHanoi(int N, char asal, char bantu, char tujuan)
{
if(N == 1)
cout<<"Piringan 1 dari "<<asal<< " ke " << tujuan <<endl;
else
{
MenaraHanoi(N-1,asal,tujuan, bantu);
cout<<"Piringan " << N <<" dari " << asal << " ke " << tujuan<<endl;
MenaraHanoi(N-1, bantu, asal, tujuan);
}
}
outputnya







mas/mbaa..
thanks bwt infonya..
saya punya tugas ni ..
tapi tugasnya nggak sampe pemograman gni ..
intinya rumus dari menara hanoi itu apa ya?!
hehe ^^,
saya haturkan nuhun sebelumnya..
tlong di jawab ya..
salam kenal mbak ana
Bukan rumus melainkan algoritma
. Kalau algoritma yang aku tulis diatas itu intinya sebuah prosedur untuk memindahkan piring-piringan itu.
kalau algoritmanya secara pseucode :
salam kenal juga mbaa..
thanks a lot mbaa Lia..
it helps me so..
sebenrnya aku lebin suka diterangin live,,
tapi apa daya..
hehe..
dunia maya sudah cukup sangat membantu..
sekali lagi salam kenal dan terimakasih ya..
^^.
ku akan banyak bertanya sepertinya..
mohon bantuannya ya,,
thanks b4..
nice 2 know you.
n how glad to fin this blog..
saya termasuk orang yang lebih suka di kasih tau..daripada baca..
hehe
jadi blog ini bakal jadi membantu saya sangat ni .
dan mbaa lia akan punya banyak pertanyaan dari saya,, moga mbaa nggak keberatan untuk menjawabnya ya..
hhehe..
permisi…mau nanya nih…
kalo code yang di baris 41 dan 45 itu maksudnya apa yahh?
trus itu disebut apa, method? atau mungkin ada istilah lainnya…terima kasih atas bantuannya…
Kalau yang itu line 41 & 45, merupakan bagian rekursif dari prosedur MenaraHanoi-nya.Dimana prosedur MenaraHanoi memanggil dirinya sendiri (rekursif)
mbak mau tanya namespace pada line 3 salah terus waktu di run???
gmn mbak soludinya??
maksih
oh mungkin karena beda editor c++ nya
Bisa jadi mas pakai editor turbo c++ (yg masih lama) jadi kalau ditambah “using namespace std; ” enggak bisa
Solusinya, tinggal diilangin aja statementnya. Jadi enggak usah pake “using namespace std;” . Mudah-mudahan bisa jalan (pengalaman soalnya
)
makasih ya mba bwt infonya..
kebetulan sya lagi disuruh nyari algoritma baru dan d suruh ngetrace..
ok
MAKASIH ATAS PENJELASANNYA. Saya sendiri masih bingung.. tapi INsya ALLAH ntar aku coba otak-atik lagi deh… dengan adanya artikel di atas, aku jadi ada bayangan jalannya menara hanoi itu..(karena ada gambar ilustrasinya) makasih.. Salam Kenal..
mau tanya dong.
boleh minta diagram alirnya untuk 4 kepingan?
ga paham diagram alir =.=”
MW tnya ney… itu algoritma yang digunakan ap??? algoritma backtracking kah?? atau greddy….
hhhmmmm makasih bgt nie dgn ad nya info diDunia maya ini q bisa ngerjain tugas,…..thanks yach
akh.. lieur
gmana jika menara hanoi prigan dari yang besar dibawah 123, dtuangkan ke tonggak yg B semua, terus dituangkan ke tonggak c, apakah benar?
mo nnya nie,, algoritma bwt menara hanoi pndeskripsian nya sperti ini ya,, tuk flowchart nya gimna ya??? mhon bantuan. . .
makasih infonya