Tower of Hanoi in Java

 08/06/2021

Tower of Hanoi

    Ada 3 buah tiang yaitu A, B, C dan beberapa Disc/Cakram dengan ukuran yang berbeda beda, dari yang terkecil hingga yang terbesar, semua cakram tersebut ditematkan pada tiang A, dengan Cakram yang terbesar dibagian paling bawah dan yang terkecil paling atas, cakram tersebut tersusun secara rapi dan terurut dari terkecil hinggal terbesar.

 


    Goal dari permasaahan ini adalah kita harus memindahkan semua Disc/Cakram dari Tiang A ke Tiang C, kita hanya bisa memindahkan satu disk pada satu waktu, dimulai dari Cakram paling besar harus berada di paling bawah dan terkecil di paling atas, Tiang B digunakan sebagai perantara atau tiang bantu sebagai jembatan antara tiang A dan Tiang C.

 

    Cakram yang lebih besar tidak boleh diletakan diatas Cakram yang lebh kecil dan Carkam yang lebih kecil tidak boleh diletakan dibawah cakram yang lebh besar, Semua cakram harus diletakan sedemikian rupa pada tiang C.

 

    Teka teki ini bisa dipecahkan dengan menggunakan Algoritma Rekursif, kalian dapat melihat tutorialnya pada link diatas, untuk sesaat, misalnya kita mempunyai 3 buah Cakram yaitu 1, 2, 3. nomor 1 harus berada paling atas, nomor 2 ditengah dan nomor tiga berada di paling bawah.

Implementasi Tower of Hanoi :


import java.util.Scanner;
public class towers_of_hanoi {
static int move = 1;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter Number Cakram/Disc: ");
int Cakram = input.nextInt();
hanoi (Cakram, 'A', 'B', 'C');}
static void hanoi (int Cakram, char awal, char bantu, char tujuan){
if (Cakram >= 1) {
hanoi (Cakram-1, awal, tujuan, bantu);
move(Cakram, awal, tujuan);
hanoi (Cakram-1, bantu, awal, tujuan);
}
}
static void move (int step, char awal, char tujuan){
System.out.println("Langkah "+move);
move++;
System.out.print("Move Disc "+step);
System.out.print(" from "+awal);
System.out.println(" to "+tujuan);
}
}
view raw Tower of Hanoi hosted with ❤ by GitHub
Output :



Komentar

Postingan populer dari blog ini

TUGAS 1 PPB CV