• Tidak ada hasil yang ditemukan

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

N/A
N/A
Protected

Academic year: 2021

Membagikan "5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION"

Copied!
28
0
0

Teks penuh

(1)

5.3 RECURSIVE DEFINITIONS AND

STRUCTURAL INDUCTION

(2)

Rekursif

Ada kalanya kita mengalami

kesulitan untuk mendefinisikan

suatu obyek secara

eksplisit

.

Mungkin lebih mudah untuk

mendefinisikan obyek tersebut

dengan menggunakan dirinya

sendiri. Ini merupakan

proses

rekursif.

Kita dapat mendefinisikan

barisan, fungsi dan himpunan

secara rekursif.

(3)

Fungsi yang Didefinisikan secara Rekursif

Langkah-langkah untuk mendefinisikan fungsi

dengan domain

bilangan cacah

secara rekursif:

1.

Langkah basis

: Definisikan nilai fungsi pada

saat nol.

2.

Langkah rekursif

: Berikan aturan untuk

mencari nilai fungsi untuk setiap bilangan

bulat berdasarkan nilai fungsi pada bilangan

bulat yang lebih kecil

(4)

f(0) = 3

f(n + 1) = 2f(n) + 3

Maka

f(0) = 3

f(1) = 2f(0) + 3 = 23 + 3 = 9

f(2) = 2f(1) + 3 = 29 + 3 = 21

f(3) = 2f(2) + 3 = 221 + 3 = 45

f(4) = 2f(3) + 3 = 245 + 3 = 93

Contoh 1

(5)

Bagaimana kita dapat mendefinisikan fungsi faktorial

f(n) = n! secara rekursif?

f(0) = 1

Karena (n+1)! = n! (n+1) maka

f(n + 1) = (n + 1)f(n)

f(0) = 1

f(1) = 1 f(0) = 1  1 = 1

f(2) = 2 f(1) = 2  1 = 2

f(3) = 3 f(2) = 3  2 = 6

f(4) = 4 f(3) = 4  6 = 24

Contoh 2

(6)

Soal 1

Bagaimana kita dapat mendefinisikan fungsi

secara rekursif?

n k k

a

n

f

0

)

(

(7)

Barisan Yang Didefinisikan Secara Rekursif

Contoh 3.

Barisan bilangan pangkat dari 2

an = 2n untuk n = 0, 1, 2, … .

Barisan ini dapat didefinisikan secara rekursif: a0 = 1

an+1 = 2an untuk n = 0, 1, 2, …

Langkah-langkah untuk mendefinisikan barisan secara rekursif:

1. Langkah basis: Spesifikasi anggota awal.

2. Langkah rekursif: Berikan aturan untuk membangun anggota baru dari anggota yang telah ada.

(8)

Berikan definisi rekursif dari a

n

=r

n

, dengan rN,

r≠0 dan n bilangan bulat positif.

Solusi.

Definisikan a

0

=r

0

=1

dan a

n+1

=r

.

a

n

untuk n = 0, 1, 2, …

(9)

Contoh 5

Barisan Hanoi

0, 1, 3, 7, 15, 31, ...

h

0

= 0

h

n

= 2h

n−1

+ 1 untuk n ≥ 1

Barisan Fibonacci

0, 1, 1, 2, 3, 5, 8, …

f

0

= 0, f

1

= 1

f

n

= f

n-1

+ f

n-2

, untuk n ≥ 2

Tunjukkan bahwa untuk n  3,

(10)

Kompleksitas Algoritma gcd(a,b)

procedure gcd(a,b: bulat)

x := a; y := b; while y ≠ 0 r := x mod y x := y y := r return x (x = gcd(a,b))

Misalkan a,b dan a ≥ b.

Misalkan r0 = a dan r1= b. Diperoleh:

r0 = r1 q1 + r2 0 ≤ r2 < r1 , r1 = r2 q2 + r3 0 ≤ r3 < r2 , : : rn -2 = rn -1 qn -1 + rn 0 ≤ rn < rn-1, rn-1 = rn qn.

Algoritma ini didasarkan pada Lemma berikut:

Lemma Misalkan a = bq + r, dengan a, b, q, dan r bilangan bulat.

(11)

Kompleksitas Algoritma gcd(a,b)

Lemma Misalkan a = bq + r, dengan a, b, q, dan r bilangan

bulat. Maka, gcd(a,b) = gcd(b,r).

Bukti

• Misalkan d|a dan d|b. Maka, d|r, karena r = a – bq. Jadi, setiap pembagi bersama dari a dan b juga pembagi

bersama bagi b dan r.

• Misalkan d|b dan d|r. Maka, d|a, karena a = bq + r. Jadi, setiap pembagi bersama dari b dan r juga pembagi

bersama bagi a dan b. • Jadi, gcd(a,b)=gcd(b,r).

(12)

Kompleksitas Algoritma gcd(a,b)

Teorema Lame. Misalkan a, b bulat. Maka, banyaknya pembagian

yang digunakan dalam Algoritma Euclid gcd(a,b) lebih kecil atau sama dengan 5 kali banyaknya digit desimal dari b.

Algoritma Euclid r0 = r1 q1 + r2 0 ≤ r2 < r1 , r1 = r2 q2 + r3 0 ≤ r3 < r2 , : : rn -2 = rn -1 qn -1 + rn 0 ≤ rn < rn-1, rn-1 = rn qn . Terdapat n pembagian. Bilangan q1 , q2 , … , qn - 1 ≥ 1. Dan, qn ≥ 2 karena rn < rn -1 . rn ≥ 1 = f2 , rn-1 ≥ 2rn ≥ 2f2 = f3 , rn-2 ≥ rn-1 + rn ≥ f3 + f2 = f4 , : : r2 ≥ r3 + r4 ≥ fn-1 + fn-2 = fn , b = r1 ≥ r2 + r3 ≥ fn + fn-1 = fn+1 .

fn adalah barisan Fibonacci, dan telah ditunjukkan bahwa:

(13)

Kompleksitas Algoritma gcd(a,b)

Karena, b = r

1

≥ r

2

+ r

3

≥ f

n

+ f

n-1

= f

n+1

, dan

f

n

> 

n-2

dengan  = (1+√5)/2, maka, b ≥ f

n+1

> 

n-1

.

Ini berarti bahwa log

10

b > (n-1) log

10

 > (n-1)/5,

karena log

10

 ≈ 0.208 > 1/5.

Sehingga, n < 1+ 5log

10

b.

Maka,

banyaknya pembagian lebih kecil atau

(14)

Himpunan yang Didefinisikan secara Rekursif

Langkah-langkah dalam mendefinisikan suatu

himpunan secara rekursif:

1.

Langkah basis:

Spesifikasi koleksi awal dari anggota

2.

Langkah rekursif:

Mendefinisikan aturan konstruksi anggota

baru dari anggota yang telah diketahui

(15)

Contoh 6

Misalkan S didefinisikan secara rekursif oleh:

3  S

(x+y)  S jika x  S dan y  S

Maka S adalah himpunan bilangan bulat positif yang

habis dibagi 3.

Bukti

Misalkan A himpunan yang beranggotakan semua

bilangan bulat positif yang habis dibagi 3.

Untuk membuktikan bahwa A = S, harus ditunjukkan

A  S and S  A.

(16)

Bagian I:

Akan dibuktikan A  S, yaitu menunjukkan bahwa setiap bilangan bulat positif yang habis dibagi 3 ada di S (dengan menggunakan

induksi matematika).

Misalkan P(n): proposisi “3n anggota S” untuk setiap n bilangan asli.

1. Langkah basis: P(1) benar, karena 3  S.

2. Langkah induktif:

Asumsikan P(k) benar, yaitu 3k  S.

Akan ditunjukkan P(k+1) juga benar, yaitu 3(k+1)  S

Karena 3k  S dan 3  S, berdasarkan definisi rekursif dari S, 3k+3 = 3(k+1) juga ada di S.

3. Konklusi:

Jadi, setiap bilangan bulat positif yang habis dibagi 3 anggota S. Jadi, A  S.

(17)

Bagian II:

Akan ditunjukkan S  A dengan menggunakan definisi rekursif dari S. Langkah basis:

Akan ditunjukkan setiap anggota awal S ada di A. Karena 3 habis dibagi 3 maka 3  A.

Langkah rekursif:

Akan ditunjukkan bahwa setiap bilangan bulat yang dibangun dengan mengunakan langkah rekursif juga merupakan anggota A, yaitu

(x+y)  A jika x,y  S (yang diasumsikan  A).

Jika x dan y keduanya di A, maka 3|x dan 3|y. Akibatnya, 3|(x+y). Jadi, S  A.

Dengan demikian, secara keseluruhan, berlaku A = S.

(18)

Induksi Struktural

Dalam membuktikan hasil-hasil yang berkaitan dengan

himpunan yang didefinisikan secara rekursif, akan lebih mudah apabila digunakan suatu bentuk induksi matematika yang

disebut induksi struktural.

Langkah-langkah dalam induksi struktural:

1. Langkah basis:

Menunjukkan bahwa hasil yang akan dibuktikan berlaku untuk semua anggota awal.

2. Langkah rekursif:

Menunjukkan bahwa jika hasil yang akan dibuktikan berlaku untuk anggota-anggota yang digunakan untuk membangun anggota baru, maka hasil tersebut juga berlaku untuk

(19)

Definisi Circular

Definisi 1.

Suatu “definisi” rekursif dikatakan circular jika looping

tidak dapat dihentikan.

Contoh 7.

Definisi circular dari Index and Glossary of Knuth, Vol 1.

Circular Definition, 260

see Definition, circular

Definition, circular,

(20)

Himpunan String atas Alfabet

Himpunan string * atas alfabet  dapat didefinisikan secara

rekursif oleh:

1.Langkah basis:

  * ( adalah string kosong yang tidak memuat simbol)

2.Langkah rekursif:

Jika w  * dan x   , maka wx  *

Contoh 8.

Jika  = {0,1} maka string yang merupakan anggota * adalah:

•  yang didefinisikan sebagai anggota * dalam langkah basis,

• 0 dan 1 yang dibentuk dalam langkah rekursif pertama,

• 00, 01, 10, dan 11 yang dibentuk dalam langkah rekursif kedua, dst

(21)

Sebagai operasi dari dua string, konkatenasi didefinisikan secara rekursif sebagai:

1. Langkah basis:

Jika w *, maka w.  = w, dengan  string kosong

2. Langkah rekursif:

Jika w1  * dan w

2  * dan x  , maka

w1 . (w2 x) = (w1 . w2) x

Konkatenasi Dua String

w1 . w2seringkali ditulis sebagaiw1 w2 Contoh 9.

Konkatenasi dari w1 = meng dan w2 = apa adalah

(22)

Panjang dari string

w,

l (w) dapat didefinisikan secara

rekursif oleh:

l () = 0,

l (w x) = l (w) + 1 jika w  

*

dan x  .

Panjang String

Soal 2.

Gunakan induksi struktural untuk membuktikan

l (x y) = l (x) + l (y).

(23)

Induksi yang Diperluas

Induksi matematika dapat diperluas untuk membuktikan

hasil-hasil mengenai himpunan yang memiliki sifat

terurut dengan baik

.

Contoh 10.

Pandang himpunan N x N di mana (x

1

, y

1

) < (x

2

, y

2

) jika x

1

< x

2

, atau x

1

= x

2

dan y

1

< y

2

.

Setiap subhimpunan dari N x N memiliki elemen terkecil.

Jadi, N x N merupakan himpunan yang terurut dengan

baik.

(24)

Soal 3

Misalkan

didefinisikan secara rekursif

untuk (m,n) N x N oleh

dan

n m

a

,

 

0

jika

,

0

dan

0

jika

,

1

1 , , 1 ,

n

n

a

m

n

a

a

n m n m n m

Tunjukkan bahwa

untuk setiap (m,n) N x N.

0

0 , 0

a

2

/

)

1

(

,

m

n

n

a

m n

(25)

Bahan Test I

• Logika

– Proposisi

– Predikat dan Kuantifikasi – Kuantifikasi Bersusun – Aturan Inferensi

• Bukti

– Metoda Pembuktian – Strategi Pembuktian

• Struktur Diskrit

– Himpunan – Fungsi – Barisan

• Algoritma

– Algoritma – Pertumbuhan Fungsi – Kompleksitas Algoritma

• Induksi

– Induksi Matematika – Induksi Kuat

• Rekursi

– Fungsi, Himpunan, Barisan yang Didefinisikan secara Rekursif

– Induksi Struktural

(26)

Latihan Soal (1)

1. Misalkan kedua asumsi berikut benar:

1. “Logika itu sulit atau tidak banyak mahasiswa yang menyukai logika.” 2. “Jika matematika mudah, maka logika tidak sulit.”

Berikan alasan mengapa kesimpulan berikut valid berdasarkan dua asumsi di atas.

1. Bahwa matematika tidak mudah, jika banyak mahasiswa yang menyukai logika.

2. Bahwa jika tidak banyak mahasiswa menyukai logika, maka matematika tidak mudah atau logika tidak sulit.

2. Tentukan nilai kebenaran dari pernyataan ”∃x∀y(x ≤ y2)” jika domain adalah

a) himpunan bilangan real positif. b) himpunan bilangan bulat.

(27)

Latihan Soal (2)

3. Buktikan pernyataan berikut.

Jika x dan y bilangan real, maka max(x, y) + min(x, y) = x + y.

4. Buktikan bahwa persamaan n2 + n3 = 100 tidak memiliki solusi bilangan

bulat positif.

5. (a) Tunjukkan bahwa (x3 + 2x)/(2x + 1) adalah O(x2). (b) Periksa apakah fungsi log(n+1) adalah O(log n).

6. Berikan estimasi big-O untuk banyaknya operasi (penjumlahan atau perkalian) yang digunakan dalam algoritma berikut.

t := 0

for i := 1 to n for j := 1 to n

(28)

Latihan Soal (3)

7. Buktikan bahwa n

2

− 7n + 12 adalah bilangan

tak negatif untuk n bilangan bulat dengan n ≥

3.

8. Apakah papan catur dengan ukuran 6 x 2

n

,

untuk setiap bulat positif n, dapat ditutupi

dengan ubin berbentuk L?

Referensi

Dokumen terkait

[r]

Hasil pengujian pada signifikansi perbedaan menunjukkan bahwa terdapat perbedaan yang signifikan antara harga wajar saham yang dinilai dengan Price Earning Ratio terhadap

Setelah lantai ker$a selesai% peker$aan pembesian  pile cap dilakukan pada pile &#34;ap to!er &#34;rane dengan merakit tulangan-tulangan yang telah dipotong dan

Puji dan Syukur saya panjatkan kehadirat Tuhan Yang Maha Esa atas berkat dan rahmat-Nya, sehingga penulis dapat menyelesaikan penyusunan skripsi dengan judul “Hubungan

Bagaimana pengaruh peningkatan konsentrasi gelling agent HPMC terhadap sifat fisik sediaan gel ekstrak etanol herba patikan kebo dan aktivitas antibakteri

 Master of Ceremony dalam Kegiatan Carrier Development Training IPB tahun 2013  Moderator dalam Kegiatan Pekan Kreatifitas Mahasiswa FORCES-IPB tahun 2013  Master of

Penerapan media komik untuk pembelajaran fisika model kooperatif dengan metode diskusi pada siswa SMP Negeri 5 Surakarta kelas VII tahun ajaran 2011/2012 materi gerak.. Diambil