Skip to main content

Tower of Hanoi Algorithm (Python)

Buat program serta jelaskan cara kerja implementasi tower of hanoi






Source Code (Python):


def hanoytower(data, c_from, tower, target):
    if data == 1:
        print("Cakram 1 Dipindahkan Dari " + c_from + " menuju tower " + target)
    else:
        hanoytower(data - 1, c_from, target, tower)
        print("Cakram " + str(data)+" Dipindahkan" + " dari " + c_from + " menuju tower " + target)
        hanoytower(data - 1, tower, c_from, target)

tot_cakram = int(input("Jumlah cakram "))
hanoytower(tot_cakram, 'A', 'B', 'C')






    Tower of hanoy merupakan sebuah permainan puzzle yang memiliki tujuan memindahkan benda berupa cakram dari tower A ke Tower C. Keadaan mula cakram pada tower A tersusun mulai dari paling kecil diatas dan paling besar dibawah. Ketika dipindahkan.  

    Pada program ini diberikan input jumlah cakram sebesar 3, kemudian terjadi  7 mekanisme proses pemindahan cakram hingga berhasil terpindah semuanya ke tower C dari tower A. Mekanisme proses kerja dari program ini adalah, tentunya menentukan terlebih dahulu batasannya, karena tentunya cakram terakhir dari tower A akan bernilai 1, maka dapat ditentukan batasan akhirnya adalah 1. Maka, data == 1 merupakan batasan (cakram terakhir pada tower A). Proses rekursi disini dapat dibayangkan ketika Cakram dengan ukuran terbesar mulai dipindahkan menuju tower C. Namun tentunya tidak sesederhana itu. Pertama setelah menentukan batasan akhir atau teratas, hal yang perlu dilakukan adalah melakukan pengurangan data karena setiap cakram yang berpindah dari tower A atau tower manapun, tentunya akan mengurangi nilai dari jumlah cakram dari tower tersebut.  Selanjutnya proses rekursi akan terus berlangsung hingga keadaan dari data ==1 atau dalam kata lain ternisiasi bahwa cakram teratas pada cakram A telah berada di posisi tower A dan telah berpindah ke tower C dengan posisi teratas juga 


Download Code LangsungDisini

Comments

Post a Comment