Anda di halaman 1dari 3

Laboratorium Dasar

Fakultas Ilmu Komputer

Latihan Lab-08

Petunjuk Pengerjaan
1. Kerjakan setiap kasus yang ada.
2. Tulis dikertas hasilnya saja dan tunjukkan program dan kertas tersebut ke dosen/asisten.
3. Kerjakan dengan sungguh-sungguh. Usahakan untuk mengerjakan sendiri dahulu! Boleh
diskusi dengan teman untuk menyelesaikan masalah setelah mencoba sendiri. Tetap
kumpulkan tepat waktu meskipun masih terdapat error didalamnya!
Kasus 1-Cetak Kembali Angka!
Deskripsi: Mawar suka sekali dengan deret angka. Dia ingin membuat program yang dapat
membalik urutan deret angka yang dia inputkan. Misal terdapat deret angka: 12 34 1 4 10, dia
ingin mendapatkan output 10 4 1 34 12. Bantu Mawar menyelesaikan ini dengan solusi
rekursif!

Input/Output Program
Penjelasan Input: deret angka disajikan dalam array of integer
Penjelasan Output: deret angka yang sudah dibalik
Contoh Input-Output #1:
Input: 12 34 1 4 10
Output: 10 4 1 34 12

Contoh Input-Output #2:


Input: 1 2 3 4 5
Output: 5 4 3 2 1

Kasus 2-Menara Hanoi


Deskripsi: Menara atau Tower Hanoi merupakan permainan puzzle yang seringkali kita temui
saat melihat anak-anak kecil menyusun mainan ini.

Tetapi apakah kalian tahu cara memainkannya?


Perhatikan bahwa kita memiliki m batang dan n disk/donat. Tujuan permainan ini adalah
memindahkan tumpukan disk di satu batang ke batang yang lain dengan beberapa aturan
berikut:
1. Hanya satu disk yang dapat dipindahkan sekaligus.
2. Setiap aksi yang kita lakukan hanya boleh mengambil disk bagian atas dari salah satu
tumpukan pada salah satu batang dipindahkan atau ditumpukkan di batang yang lain.
3. Disk tidak dapat ditempatkan diatas disk yang berukuran lebih kecil dari disk yang
ditempatkan tadi.
Berikut adalah proses bermain jika diberikan 3 disk dan 3 batang.
Gambar diatas merupakan ilustrasi memindahkan tumpukan disk yang ada di batang A ke
batang C.
Buatlah program yang merepresentasikan proses menara hanoi ini dengan ditetapkan batang
A,B, dan C. Initial state sejumlah n disk berada di batang A.

Input/Output Program
Penjelasan Input: n disk yang direpresentasikan dengan integer
Penjelasan Output: lihat contoh
Bantuan Pseudocode:
n = int(input())
TowerOfHanoi(n,'A','B','C')
# A, C, B adalah nama batangnya dan Fungsi TowerOfHanoi adalah fungsi
# rekursif

Contoh Input-Output:
Input: 4
Output:
Pindahkan disk 1 dari batang A ke batang B
Pindahkan disk 2 dari batang A ke batang C
Pindahkan disk 1 dari batang B ke batang C
Pindahkan disk 3 dari batang A ke batang B
Pindahkan disk 1 dari batang C ke batang A
Pindahkan disk 2 dari batang C ke batang B
Pindahkan disk 1 dari batang A ke batang B
Pindahkan disk 4 dari batang A ke batang C
Pindahkan disk 1 dari batang B ke batang C
Pindahkan disk 2 dari batang B ke batang A
Pindahkan disk 1 dari batang C ke batang A
Pindahkan disk 3 dari batang B ke batang C
Pindahkan disk 1 dari batang A ke batang B
Pindahkan disk 2 dari batang A ke batang C
Pindahkan disk 1 dari batang B ke batang C

Anda mungkin juga menyukai