24.10.2012 Views

SOAL DAN JAWABAN QUIS 1 ALGORITMA

SOAL DAN JAWABAN QUIS 1 ALGORITMA

SOAL DAN JAWABAN QUIS 1 ALGORITMA

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>QUIS</strong> 1 <strong>ALGORITMA</strong><br />

Hari/Tgl : Senin/8 Oktober 2012<br />

Sifat : Tutup Buku<br />

1. Misalkan n adalah suatu bilangan bulat positif. Tunjukkan bahwa setiap 2 n x 2 n<br />

papan catur dengan satu persegi digeser dapat diubin menggunakan sepotong<br />

gambar L, di mana potongan ini menutup tiga persegi pada suatu saat, seperti<br />

ditunjukkan dalam Gambar bawah ini.<br />

Gambar Sepotong kertas berbentuk-L<br />

2. Akan dihitung hasil kali dua buah bilangan bulat positip, atau nilai nol c dan d,<br />

dengan tanpa melalui operasi perkalian langsung. Berikut ini potongan<br />

algoritma pemrograman untuk menghitung hasil kali dua bilangan bulat<br />

tersebut, dengan cara menjumlahkan d sebanyak c kali yang hasilnya c.d sbb :<br />

i ← 0<br />

J ← 0<br />

while i ≠ c do<br />

J ← J + d<br />

i ← i+ 1<br />

endwhile<br />

( i = c, J = c.d )<br />

Buktikan bahwa setiap kali eksekusi mencapai awal loop while-do , ditemukan<br />

J = i.d.<br />

3. Buktikan bahwa n 3 – n dapat dibagi dengan 3 apabila n adalah suatu bilangan<br />

bulat positif.<br />

4. Terdapat tiga buah cakram seperti pada gambar, dimana cakram yang lebih kecil<br />

berada lebih diatas. Buatlah algoritma untuk memindahkan cakram dari tempat A<br />

ke B dimana satu kali perpindahan hanya boleh satu cakram. Cakram yang lebih<br />

kecil harus selalu berada diatas cakram yang lebih besar.


Jawaban :<br />

1. Solusi: Misalkan P(n) adalah proposisi bahwa setiap 2 n x 2 n papan catur<br />

dengan satu persegi digeser dapat diubin menggunakan sepotong gambar L.<br />

Kita dapat menggunakan induksi matematis untuk membuktikan bahwa P(n)<br />

benar untuk semua bilangan bulat positif n.<br />

Langkah Dasar: P(1) benar, karena setiap dari empat papan catur 2 x 2<br />

dengan satu persegi digeser dapat diubin satu dari potongan gambar L, seperti<br />

ditunjukkan dalam Gambar 1 dibawah ini:<br />

Gambar 1: Ubin papancatur 2 x 2 digeser dengan satu persegi<br />

Langkah Induktif: Asumsikan bahwa P(n) benar; yaitu, asumsikan bahwa setiap<br />

2 n x 2 n papan catur dengan satu persegi digeser dapat diubin menggunakan<br />

potongan gambar L. Ini harus ditunjukkan bahwa di bawah asumsi ini P(n + 1)<br />

juga harus benar; yaitu, setiap 2 n + 1 x 2 n + 1 papan catur dengan satu persegi<br />

digeser dapat di ubin menggunakan potongan gambar L. Untuk melihat ini,<br />

perhatikan suatu papan catur 2 n + 1 x 2 n + 1 dengan satu persegi yang digeser.<br />

Membagi papan catur ini ke dalam empat papan catur berukuran 2 n x 2 n , dengan<br />

membaginya dalam separuh dalam kedua arah. Ini diilustrasikan dalam Gambar 2.<br />

Gambar 2: Membagi papancatur 2 n+1 x 2 n+1 ke dalam Empat papancatur 2 n x 2 n<br />

Bukan persegi digeser tiga dari empat papan catur ini. Papan catur 2 n x 2 n keempat<br />

yang memiliki pusat asli, papan catur terbesar sebagai salah satu pojoknya, seperti<br />

ditunjukkan dalam Gambar 3.<br />

Gambar 3: Ubin papancatur 2 n+1 x 2 n+1 dengan menggeser satu persegi


Dengan hipotesis induktif, masing-masing dari tiga papan catur 2 n x 2 n ini dengan<br />

satu persegi digeser dapat diubin dengan potongan Gambar L. Selanjutnya, tiga<br />

persegi yang untuk sementara waktu dapat digeser menutup dengan potongan<br />

gambar L. Karena, papan catur 2 n + 1 x 2 n + 1 seluruhnya dapat diubin dengan<br />

potongan gambar L. Ini melengkapi bukti.<br />

2. Bukti :<br />

Algoritma untuk enumerasi nilai i dan j untuk setiap kali eksekusi mencapai<br />

awal loop while - do tersebut dapat diilustrasikan sbb:<br />

Tabel eksekusi while – do<br />

dari tabel tersebut tampak bahwa setiap kali eksekusi algoritma mencapai<br />

awal loop while-do, nilai j = 1.d. Untuk mengetahui kebenaranya dapat<br />

digunakan induksi matematik. Misal p(n) merupakan pernyataan bahwa setiap<br />

kali yaitu n eksekusi algoritma mencapai awal loop while – do, nilai i dan j<br />

pada eksekusi ke n dinyatakan in dan jn.<br />

a) Langkah 1<br />

untuk n = 1, pernyataan p(1) benar karena pada saat n = 1 eksekusi mencapai<br />

awal loop while – do i = 0 dan j = 0, serta nilai jn= in .d = 0 adalah benar.<br />

b) Langkah induksi :<br />

misal pernyataan p(n) benar, dengan asumsi bahwa jn = in .d saat eksekusi<br />

mencapai awal loop while – do. Akan ditunjukkan bahwa p(n+1) benar yaitu<br />

saat eksekusi mencapai awal loop while – do yang ke (n+1) yang berarti jn+1<br />

= in+1 .d juga benar. Dari tabel dapat dilihat bahwa nilai i yang baru<br />

bertambah sebesar 1 dari nilai i yang lama dan j yang baru bertambah sebesar<br />

d dari nilai j yang lama sehingga in+1 = in + 1<br />

dan jn+1 = jn + d, dari hipotesa induksi jn= in .d maka<br />

jn+1 = (in.d) + d<br />

= (in + 1 ).d<br />

maka terbukti bahwa setiap kali eksekusi algoritma mencapai awal loop while<br />

– do nilai j= i.d.


3. Solusi: Untuk mengonstruksi bukti, misalkan P(n) menyatakan proposisi: “n 3<br />

– n dapat dibagi dengan oleh 3.”<br />

Langkah Dasar: P(1) benar, karena 1 3 – 1 = 0 dapat dibagi dengan 3.<br />

Langkah Induktif: Asumsikan bahwa P(n) benar; yaitu, n 3 – n dapat dibagi<br />

dengan 3. Kita harus menunjukkan bahwa (n + 1) 3 – (n + 1) dapat dibagi<br />

dengan 3. Ingat bahwa :<br />

(n + 1) 3 – (n + 1) = (n 3 + 3n 2 + 3n + 1) – (n + 1)<br />

= (n 3 – n) + 3(n 2 + n).<br />

Karena kedua suku dalam jumlah ini dapat dibagi dengan 3 (pertama dengan<br />

asumsi dari langkah induktif, dan kedua karena jumlah itu merupakan 3 kali<br />

suatu bilangan bulat), selanjutnya (n + 1) 3 – (n + 1) juga dapat dibagi dengan<br />

3. Ini melengkapi langkah induktif. Sehingga, dengan prinsip induksi<br />

matematis, n 3 – n dapat dibagi oleh 3 apabila n adalah suatu bilangan bulat<br />

positif.<br />

4. Algoritma pemindahan cakram<br />

1. Pindahkan cakram A ke B<br />

2. Pindahkan cakram A ke C<br />

3. Pindahkan cakram B ke C<br />

4. Pindahkan cakram A ke B<br />

5. Pindahkan cakram C ke A<br />

6. Pindahkan cakram C ke B<br />

7. Pindahkan cakram A ke B

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!