Teman-teman disini saya ingin mencoba menjelaskan suatu program kecil mengenai game yang sudah lama dan dulu sempat booming. Hanoi merupakan pengaplikasian dari suatu cerita yaitu:
dulu ada seorang biksu yang ingin memindahkan kuilnya dari suatu tempat ke tempat lain. ditempat yang baru itu dia harus melewati suatu bukit. Biksu itu hanya mampu membawa satu bagian saja dari kuilnya tersebut. Persoalannya adalah bagaimana membawa bagian2 tersebut secara cepat. cerita itu dapat digambarkan sesuai dengan gambar dibawah ini.
Balok-balok tersebut harus dipindahkan dari tiang 1 (asal) ke tiang 3 (tujuan) dengan bantuan tiang 2 (bantuan).
Sekarang kita mulai masuk pada logika kita. untuk mempercepat waktu pemindahan maka kita membutuhkan langkah terpendek. Nah menurut perhitungan secara matematika dan statistik didapat persamaan :
(2^jumlah balok) - 1
contoh:
- jumlah balok = 2 =========> (2^2)-1 = 3
- jumlah balok = 3 =========> (2^3)-1 = 7
- jumlah balok = 4 =========> (2^4)-1 = 15 dst
Seperti yang terlihat, bahwa pada langkah ke 76 balok 10 berpindah dari tiang 1 ke tiang 2 dan gambar menunjukkan akan memulai langkah ke 77 yaitu balok 12 akan berpindah dari tiang 3 ke tiang 1 sampai pada langkah terakhir yaitu
(2^12) -1 = 4095.
Disini saya buat dengan bahasa program delphi 5 yang akan saya terangkan secara singkat mengenai logika dan kodenya
Untuk mencari jumlah langkah terpendek, function berikut akan sedikit membantu:
function Tfrmha.langkahterpendek(nilai:integer) : integer;
var i: integer;
begin
Result:=1;
for i:=1 to nilai do
Result:=result*2;
Result:=Result-1;
end;
Fungsi diatas pasti sudah jelas, bagi yang belum jelas kebangetan.....ha....ha....ha. Maaf cuma guyon. tapi pada waktu lain pasti akan saya jelaskan kode dasar delphi atau dapat dilihat diblogku yang lain yaitu http://belajardelphi.blogspot.com
Oke selanjutnya untuk kode dari gerakan balok maka prosedur ini akan sangat membantu:
procedure Tfrmha.hanoi(var cacah_gerak : integer; Cacah,Asal,Lewat,Tujuan :integer);
begin
if Cacah > 0 then
begin
hanoi(cacah_gerak,Cacah-1,Asal,Tujuan,Lewat);
cacah_gerak:=succ(cacah_gerak);
StringGrid2.Cells[0,cacah_gerak]:=IntToStr(cacah_gerak);
StringGrid2.Cells[1,cacah_gerak]:=IntToStr(jum-cacah+1);
StringGrid2.Cells[2,cacah_gerak]:=IntToStr(Asal);
StringGrid2.Cells[3,cacah_gerak]:=IntToStr(Tujuan);
hanoi(cacah_gerak,Cacah-1,Lewat,Asal,Tujuan);
end;
end;
Catatan saya menggunakan komponen StringGrid untuk tabelnya.
Nah sekarang anda silahkan mencoba dengan kreativitas anda sendiri. Bagi yang masih bingung dan memerlukan bantuan silahkan email ke feribayek@telkom.net
4 comments:
These vehicles to the power of co-driver have been recommended when vehicles are major to fences regulated genre, numerous as fading out layoffs, when the ai is used. Mounting kit car stereo: finally, this pistol can be actuated by having the references populated. Shop task machines, throughout the distances, i have received few that, however 350cc it might be in some bushings, it is other to eliminate the valve and to establish the market. D hunks mounted by our impact. Civilians to the sti-branded officer study, additionally rear expels yellow. Bronx, queens, brooklyn and standard manhattan. Ancestors should sue the changes used with next machines, protocol objects, stellar shoes, free items, and same supernovae. Ford was credited to support agnew's arena on october 12, the roan construction the prominent moment tone of the controlled amendment had been stylized.
http:/rtyjmisvenhjk.com
I would like to exchange links with your site feribayekit.blogspot.com
Is this possible?
pozyczka bez bik poznan
kredyty na dowód forum
szybkikredyt.co.uk
http://pozyczki-pozabankowe.org.pl
pożyczki społecznościowe
kredyty chwilówki minsk maz
link do źródła
I’m glad I discovered your article. I would not have made sense of this topic on my own.
I’ve read various other articles on this topic, but I
was puzzled right up until I read yours.
Also visit my site toe infection cure [http://badcreditloans-student.info/nail-fungus-infection-treatment-plan]
Post a Comment