• Tidak ada hasil yang ditemukan

PENYELESAIAN MENARA HANOI

N/A
N/A
Achmad Ardani Prasha

Academic year: 2024

Membagikan "PENYELESAIAN MENARA HANOI "

Copied!
17
0
0

Teks penuh

(1)

PENYELESAIAN MENARA HANOI

Presented by Edinburgh Group

(2)

41523010140

MEET OUR GROUP

Achmad Ardani Prasha

Clavino Ourizqi Rachmadi

41523010005

(3)

Dikisahkan bahwa di kota Hanoi, Vietnam, terdapat tiga buah tiang tegak setinggi 5 meter dan 64 buah piringan (disk) dari berbagai ukuran. Tiap piringan mempunyai lubang di tengahnya yang memungkinkannya untuk dimasukkan ke dalam tiang. Pada mulanya piringan tersebut tersusun pada sebuah tiang sedemikian rupa sehingga piringan yang di bawah mempunyai ukuran lebih besar daripada ukuran piringan di atasnya. Pendeta Budha memberi pertanyaan kepada murid-muridnyanya: bagaimana memindahkan seluruh piringan tersebut ke sebuah tiang yang lain; setiap kali hanya satu piringan yang boleh dipindahkan, tetapi tidak boleh ada piringan besar di atas piringan kecil. Tiang yang satu lagi dapat dipakai sebagai tempat peralihan dengan tetap memegang aturan yang telah disebutkan. Menurut legenda pendeta Budha, bila pemindahan seluruh piringan itu berhasil dilakukan, maka dunia akan kiamat!

Soal

(4)

Definisi Fungsi:

H(n) adalah jumlah langkah minimum yang diperlukan untuk memindahkan 𝑛n cakram dari menara asal ke menara tujuan dengan menggunakan satu menara bantuan.

Secara umum, untuk n piringan, penyelesaian dengan cara berpikir rekursif adalah sebagai Berikut:

Kita harus memindahkan piringan paling bawah terlebih dahulu ke tiang B sebagai alas bagi piringan yang lain. Untuk mencapai maksud demikian, berpikirlah secara rekursif: pindahkan n – 1 piringan teratas dari A ke C, lalu pindahkan piringan paling bawah dari A ke B, lalu pindahkan n – 1 piringan dari C ke B.

pindahkan n – 1 piringan dari A ke C 1.

pindahkan 1 piringan terbawah dari A ke B 2.

pindahkan n – 1 piringan dari C ke B 3.

Fungsi Rekursif Menara

Hanoi

(5)

Selanjutnya dengan tetap berpikir rekursif-pekerjaan memindahkan n – 1 piringan dari sebuah tiang ke tiang lain dapat dibayangkan sebagai memindahkan n – 2 piringan antara kedua tiang tersebut, lalu memindahkan piringan terbawah dari sebuah tiang ke tiang lain, begitu seterusnya.

Misalkan Hn menyatakan jumlah perpindahan piringan yang dibutuhkan untuk memecahkan teka- teki Menara Hanoi.

Penyelesaian Menara Hanoi

dengan Fungsi Rekursif

(6)

Permainan ini terdiri dari tiga tiang dan sejumlah cakram / piringan dengan ukuran berbeda-beda yang bisa dimasukkan ke tiang mana saja.

Kondisi awal piringan yang tertumpuk rapi berurutan berdasarkan ukuranya dalam salah satu tiang, piringan terkecil diletakkan teratas, sehingga membentuk kerucut.

Tujuannya memindahkan seluruh tumpukan ke tiang yang lain, dengan

aturan: Tidak boleh meletakkan piringan

di atas piringan lain yang lebih kecil

Setiap perpindahan berupa pengambilan piringan teratas dari satu tiang dan memasukkanya ke tiang lain, di atas piringan lain yang mungkin sudah ada di tiang tersebut

Hanya satu piringan yang boleh dipindahkan dalam satu waktu

Permodelan dengan Relasi Kurens: Menara Hanoi

(7)

Proses Secara Umum

Pindahkan n-1 piringan dari A ke C

Pindahkan piringan ke-n dari A ke B

Pindahkan piringan ke-n dari A ke B

Pindahkan n-1 piringan dari C ke B

Penyelesaian Menara Hanoi

(8)

Pindahkan n-1 piringan dari A ke C

Pindahkan piringan ke-n dari A ke B

Pindahkan piringan ke-n dari A ke B

Pindahkan n-1 piringan dari C ke B

Jumlah perpindahan yang terjadi :

Penyelesaian Menara Hanoi

Hn-1 kali

1 kali

Hn-1 kali

(9)

Langkah Penyelesaian Menara Hanoi dengan Relasi Kurens

Penyelesaian Relasi Kurens

Basis: H1 = 1

Rekurens: Hn = 2^n -1

(10)

Langkah Penyelesaian Menara Hanoi

dengan Relasi Kurens dengan Asumsi 10 Menit dalam 1 Kali Pemindahan

Berdasarkan hasil perhitungan pada slide sebelumnya, jika satu kali pemindahan piringan membutuhkan waktu 1 detik, maka waktu yang diperlukan adalah 18.446.744.073.709.551.615 detik atau setara dengan 584.942.417.355 tahun atau sekitar 584 milyar tahun!

Untuk mengetahui waktu yang diperlukan jika satu kali pemindahan membutuhkan 10 menit kita harus terlebih dahulu mengubah 10 menit menjadi detik yaitu sebesar 600 detik

Kita dapat menghitung waktu total jika menggunakan asumsi 10 menit yaitu

18.446.744.073.709.551.615 x 600 detik = 11.068.046.444.225.730.969.000 detik atau setara 350.725.227.654.375,8 tahun (350, 73 triliun tahun), dapat dibaca tiga ratus lima puluh triliun, tujuh ratus dua puluh lima miliar, dua ratus dua puluh tujuh juta, enam ratus lima puluh empat ribu, tiga ratus tujuh puluh lima koma delapan tahun!

(11)

Kapan Kiamat akan terjadi?

Legenda yang mengklaim bahwa kiamat akan tiba jika seseorang berhasil memindahkan 64 piringan di Menara Hanoi mungkin tidak sepenuhnya tanpa dasar. Ini karena waktu yang dibutuhkan, yaitu 584 miliar tahun atau 350,73 triliun tahun, jika dengan asumsi 10 menit dalam 1 kali pemindahan piringan, merupakan periode yang sangat panjang, selama itu dunia akan terus menua dan pada akhirnya, bisa saja mengalami kehancuran.

Wallahu’alam

(12)

Pembuktian dengan Induksi Matematika

Basis Induksi:

Untuk membuktikan Hn benar untuk n >= 2, kita perlu membuktikan H2 benar. Jelas bahwa H2 = 2^2 - 1 = 3 benar, karena diperlukan 3 langkah untuk menyelesaikan menara Hanoi dengan 2 piringan

Langkah Induksi:

Asumsikan Hk benar untuk k >= 2, maka banyak langkah minimum untuk menyelesaikan persoalan menara Hanoi dengan k piringan adalah 2^k - 1 Tambahkan 1 piringan sehingga banyak langkah untuk menyelesaikan menara Hanoi dengan k + 1 piringan adalah Hk+1 = 2Hk + 1

Subtitusi Hk = 2^k - 1 dan lakukan manipulasi aljabar

Berdasarkan induksi matematika, solusi Hn = 2^n - 1 untuk n >= 2 bernilai benar

(13)

Program Penyelesaian Menara Hanoi (Python)

Kode tersebut merupakan implementasi dari algoritma rekursif untuk menyelesaikan permasalahan Menara Hanoi.

Fungsi hanoi(piringan, asal, bantuan, tujuan): Ini adalah fungsi utama yang digunakan untuk memindahkan piringan- piringan dari satu tiang ke tiang lainnya. Fungsi ini memiliki empat parameter:

piringan: Jumlah piringan yang akan dipindahkan.

1.

asal: Nama tiang asal.

2.

bantuan: Nama tiang bantuan.

3.

tujuan: Nama tiang tujuan.

4.

Setelah semua pemanggilan rekursif pada kode tersebut, dicetaklah langkah pemindahan piringan yang lebih besar (piringan) dari tiang asal ke tiang tujuan.

(14)

Program Penyelesaian Menara Hanoi (Python)

Fungsi ini beroperasi secara rekursif dan memindahkan piringan-piringan sesuai dengan aturan permainan Menara Hanoi.

Pernyataan if piringan == 1: Ini adalah kondisi dasar yang menandakan bahwa hanya ada satu piringan yang harus dipindahkan. Ketika kondisi ini terpenuhi, fungsi langsung

mencetak langkah pemindahan tersebut dan mengakhiri rekursi dengan pernyataan return.

(15)

Program Penyelesaian Menara Hanoi (Python)

Pada baris kode ini, terdapat dua pemanggilan rekursif:

Pemanggilan pertama: hanoi(piringan - 1, asal, tujuan, bantuan). Ini bertujuan untuk

memindahkan piringan - 1 piringan dari tiang asal ke tiang bantuan, dengan menggunakan tiang tujuan sebagai tiang bantuan.

Pemanggilan kedua: hanoi(piringan - 1, bantuan, asal, tujuan). Ini bertujuan untuk memindahkan piringan - 1 piringan dari tiang bantuan ke tiang tujuan, dengan

menggunakan tiang asal sebagai tiang bantuan.

(16)

Output Program

Menara Hanoi

(17)

THANK YOU!

Referensi

Dokumen terkait