Penjelasan Rekursif pada Tower of Hanoi

 


Apa itu Rekursif ?

    Singkatnya, rekursif adalah sebutan suatu proses dimana suatu fungsi memanggil dirinya sendiri. Rekursif biasanya digunakan untuk memecah masalah menjadi masalah yang lebih simpel. Untuk penjelasan lebih lengkap mengenai fungsi rekursif dapat dilihat pada link berikut.

Implementasi Rekursif pada Tower of Hanoi

    Untuk penyelesaian masalah secara rekursif, dapat dipecah menjadi tiga langkah, yaitu :
  1. Pastikan f(1) dapat diselesaikan, dengan f(1) merupakan kasus dasar (Base Case)
  2. Pastikan bahwa f(n-1) dapat diselesaikan
  3. Buat hubungan f(n) dengan f(1) menggunakan fungsi f(n-1)
    1. Memastikan f(1) dapat diselesaikan
    Contohnya pada Tower of Hanoi, kasus f(1) merupakan kasus dimana tower 1 hanya memiliki 1 disk. Kasus ini dapat diselesaikan dengan memindahkan disk pada tower 1 ke tower 3. 

    2. Pastikan f(n-1) dapat diselesaikan
    Kita dapat anggap bahwa penyelesaian kasus n-1 dari banyak disk n, dapat diselesaikan dengan memindahkan sebanyak n-1 disk dari tower 1 menuju tower 3, dan berlaku seterusnya.

    3. Buat hubungan f(n) dengan f(1) dengan menggunakan fungsi f(n-1)
    Jika kita lihat dari langkah kedua, jika sebanyak n-1 disk dipindah terus menerus dari tower 1 ke 3, akan terjadi dimana tower 1 hanya memiliki 1 disk dan kita tau bahwa kasus ini merupakan kasus dasar.

    Setelah menelaah ketiga langkah rekursif diatas, kita mendapatkan penyelesaian pada masalah Tower of Hanoi, seperti pada source code di bawah.

    
    Dengan method ini penyelesaian pada masalah Tower of Hanoi dapat ditemukan. Agar lebih jelas dalam memahaminya, terdapat source code di bawah sebagai GUI agar mendapatkan gambarannya.


Di bawah ini merupakan video hasil keluaran setelah program di run




Semua source code di atas dapat diakses pada link github di bawah ini

Referensi :

Komentar

Postingan populer dari blog ini

Dokumentasi ETS PWEB 2022

Implementasi Stack di Java

Programming in Java : Mengubah Ekspresi Infix menjadi Postfix