12/18/2025
Menara Hanoi adalah permainan puzzle matematika yang terdiri dari:
Memindahkan seluruh tumpukan piringan dari tiang A (sumber) ke tiang C (tujuan)
Keadaan Awal:
Tiang A Tiang B Tiang C
| | |
[1] | |
[2] | |
[3] | |
===== ===== =====
Langkah-langkah:
1. Pindah piringan 1: A → C
2. Pindah piringan 2: A → B
3. Pindah piringan 1: C → B
4. Pindah piringan 3: A → C
5. Pindah piringan 1: B → A
6. Pindah piringan 2: B → C
7. Pindah piringan 1: A → C
Keadaan Akhir:
Tiang A Tiang B Tiang C
| | |
| | [1]
| | [2]
| | [3]
===== ===== =====
Total: 7 langkah = 2³ - 1
def hanoi(n, asal, tujuan, bantuan):
if n == 1:
print(f"Pindahkan piringan 1 dari {asal} ke {tujuan}")
else:
# Langkah 1: Pindahkan n-1 piringan dari asal ke bantuan
hanoi(n-1, asal, bantuan, tujuan)
# Langkah 2: Pindahkan piringan terbesar dari asal ke tujuan
print(f"Pindahkan piringan {n} dari {asal} ke {tujuan}")
# Langkah 3: Pindahkan n-1 piringan dari bantuan ke tujuan
hanoi(n-1, bantuan, tujuan, asal)
Mari kita definisikan T(n) sebagai jumlah langkah yang diperlukan untuk memindahkan n piringan.
Untuk memindahkan n piringan:
Sehingga:
T(n) = T(n-1) + 1 + T(n-1)
T(n) = 2·T(n-1) + 1
Relasi: T(n) = 2·T(n-1) + 1, dengan T(1) = 1
Mari kita hitung beberapa nilai:
Pola yang terlihat:
Rumus Umum:
T(n) = 2ⁿ - 1
Teorema: T(n) = 2ⁿ - 1
Basis Induksi (n = 1):
Hipotesis Induksi: Asumsikan T(k) = 2^k - 1 benar untuk k = n-1
Langkah Induksi: Buktikan T(n) = 2ⁿ - 1
T(n) = 2·T(n-1) + 1 [dari relasi rekurensi]
= 2·(2^(n-1) - 1) + 1 [substitusi hipotesis]
= 2^n - 2 + 1
= 2^n - 1 ✓
Terbukti bahwa T(n) = 2ⁿ - 1
Karena T(n) = 2ⁿ - 1, maka:
T(n) = 2ⁿ - 1 < 2ⁿ
Dengan memilih konstanta c = 1 dan n₀ = 1:
Oleh karena itu, T(n) = O(2ⁿ)
| n | T(n) = 2ⁿ - 1 | Waktu (jika 1 detik/langkah) |
|---|---|---|
| 3 | 7 | 7 detik |
| 5 | 31 | 31 detik |
| 10 | 1,023 | ~17 menit |
| 20 | 1,048,575 | ~12 hari |
| 30 | 1,073,741,823 | ~34 tahun |
| 64 | 18,446,744,073,709,551,615 | ~584 miliar tahun |
Ini menunjukkan bahwa kompleksitas eksponensial O(2ⁿ) membuat permainan Menara Hanoi dengan jumlah piringan besar menjadi tidak praktis untuk diselesaikan!
Menara Hanoi memiliki kompleksitas optimal O(2ⁿ) karena:
Menara Hanoi adalah contoh klasik dari masalah yang secara inheren eksponensial dan tidak dapat diselesaikan lebih efisien.