Anda di halaman 1dari 9

Relasi Rekursif

MAKALAH
Dibuat untuk memenuhi salah satu tugas Mata Kuliah Matematika Diskrit

Disusun oleh:

NIM Nama
1600659 Muhammad Furqan Nur Hakim
1601731 Muhammad Rasyid Ridho
1604500 Amellya Mustikaningtyas Rishanty

PROGRAM STUDI PENDIDIKAN ILMU KOMPUTER


FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS PENDIDIKAN INDONESIA
2017
DAFTAR ISI

1. Definisi ........................................................................................................................ 1
2. Struktur Rekursif ......................................................................................................... 1
3. Contoh Relasi Rekursif ................................................................................................ 3
4. Contoh Untuk Ilmu Komputer..................................................................................... 4
Lampiran ............................................................................................................................. 6

i
1. Definisi
Relasi rekursif adalah sebuah formula rekursif dimana setiap bagian dari suatu
barisan dapat ditentukan menggunakan satu atau lebih bagian sebelumnya. Jika ak
adalah banyak cara untuk menjalankan prosedur dengan k objek, untuk k = 0, 1, 2, ...,
maka relasi rekursi adalah sebuah persamaan yang menyatakan an sebagai sebuah
fungsi dari ak untuk k < n.
Contoh:
1. an = 2an-1
2. an = c1an-1 + c2an-2 + .. + cran-r dengan ci konstanta
3. an = can-1 + f(n) dengan f(n) sembarang fungsi dari n
4. an = a0an-1 + a1an-2 + ... + an-1a0
5. an,m = an-1,m + an-1,m-1

Nilai an tidak akan pernah dapat dicari jika suatu nilai awal tidak diberikan.
Jika suatu relasi rekursif melibatkan r buah ak, maka r buah nilai awal a0, a1, ar-1 harus
diketahui. Sebagai contoh, pada relasi rekursif an = an-1 + an-2, tidak cukup hanya
diketahui sebuah nilai a0 = 2, akan tetapi butuh sebuah nillai lagi yaitu missal a1 = 3.
Dengan demikian a2 = a1 + a0 = 3 + 2 = 5;
a3 = a2 + a1 = 5 + 3 = 8; a4 = a3 + a2 = 8 + 5 = 13; dan seterusnya dapat diketahui.
Bilangan Fibonacci
Relasi rekursi yang paling terkenal dan sering digunakan yaitu barisan
Fibonacci. Relasi rekursi ini merupakan salah satu relasi rekursi yang paling tua di
dunia, dibahas pada buku Liber Abbaci yang ditulis oleh Leonardo of Pisa atau yang
lebih dikenal dengan nama Fibonacci pada tahun 1202. Pada saat itu dicoba untuk
menghitung jumlah pasangan kelinci yang ada, jika setiap pasangan kelinci setiap bulan
dapat menghasilkan sepasang anak kelinci baru. Jika syarat awal diberikan dengan
harga a0 = 1 dan a1 = 1, maka bilangan yang diperoleh dengan rumus rekursi an = an 1
+ a n 2 untuk n = 2, 3, 4, ... disebut barisan Fibonacci dan suku a0 disebut bilangan
Fibonacci. Jadi, barisan Fibonacci sebagai berikut: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,
144, 233, ...

2. Struktur Rekursif
Struktur data yang penting dalam komputer adalah pohon biner (binary tree).
Pohon biner adalah struktur yang rekursif, sebab setiap simpul mempunyai cabang
yang juga berupa pohon. Setiap cabang disebut upapohon (subtree).

1
Oleh karena itu, pohon dapat didefinisikan secara rekursif sebagari berikut:
Basis: kosong adalah pohon biner
Simpul (node) pada pohon biner mempunyai paling banyak dua buah anak.
Jumlah anak pada setiap simpul bisa 1, 2, atau 0.
Simpul yang mempunyai anak disebut simpul cabang (branch node) atau simpul
dalam(internal node)
Simpul yang tidak mempunyai anak disebut simpul daun (leave).

(ii) Rekurens: Jika T1 dan T2 adalah pohon biner, maka


adalah pohon biner

Proses pembentukan pohon biner secara rekursif:

2
3. Contoh Relasi Rekursif
a. Arrangements
Tentukan relasi rekursif untuk menentukan banyaknya cara menyusun n buah
objek yang berbeda dalam suatu barisan. Tentukan banyaknya cara untuk menyusun
8 buah objek.

Penyelesaian:
Misalkan an menyatakan banyaknya cara menyusun n objek yang berbeda,
maka ada n cara meletakkan n objek pada urutan pertama di barisan. Dengan cara
yang sama untuk an-1 maka ada n-1 cara. Oleh karena itu formula relasi rekursif
dapat dinyatakan sebagai:
an = n an-1
an = n an-1 = n[(n-1)an-2] = = n(n-1)(n-2) x 2 x 1 = n!
Jadi a8 = 8!

b. Climbing Stairs
Sebuah rumah memiliki tangga dengan n buah anak tangga untuk dinaiki.
Setiap langkah dapat melewati satu atau dua anak tangga. Tentukan relasi rekursif
untuk an, banyaknya cara berbeda seseorang dapat menaiki n buah anak tangga.

Penyelesaian:
a1 = 1
a2 = 2, yaitu 1, 1 atau 2
a3 = 3, yaitu 1, 1, 1 atau 1, 2 atau 2, 1
a4 = 5, yaitu 1, 1, 1, 1 atau 1, 2, 1 atau 1, 1, 2 atau 2, 2 atau 2, 1, 1
Sangat jelas terlihat bahwa ketika sebuah langkah dijalankan, maka akan ada
tiga atau kurang anak tangga lagi yang tersisa untuk dinaiki. Dengan demikian
setelah langkah pertama menaiki sebuah anak tanga, akan ada a3 cara untuk
meneruskan menaiki tiga anak tangga berikutnya. Jika langkah pertama menaiki
dua anak tangga, maka akan ada a2 cara untuk meneruskan menaiki dua anak tangga
yang tersisa. Dengan demikian a4 = a3 + a2 = 3 + 2.

c. Money Growing in a Savings Account


Sebuah Bank membayar 8 persen bunga setiap tahun untuk uang yang
tersimpan disetiap account. Tentukan relasi rekursi untuk jumlah uang yang
diterima setelah n tahun jika strategi investasinya sebagai berikut:
1. Investasi $ 1000 dan menyimpannya di Bank selama n tahun
2. Investasi $ 100 pada setiap akhir tahun

Jawab:
Jika sebuah account berisi $ x pada awal tahun, maka pada akhir tahun (pada awal
tahun berikutnya) akan menjadi $ x ditambah bunga dari $ x, dengan asumsi tidak
ada uang yang ditambahkan ataupun diambil dari account tersebut selama setahun.
1. Relasi rekursinya adalah an = an-1 + 0,8an-1 = 1,8an-1 dengan kondisi awal a0 = 1000

3
2. Relasi rekursinya adalah an = 1,8an-1 + 100 dengan kondisi awal a0 = 0

d. Tower of Hanoi
Tower of Hanoi adalah sebuah pemainan yang terdiri dari n buah lingkaran
dengan berbagai ukuran dan terdapat tiga buah pasak/tiang tempat meletakan
lingkaran-lingkaran tadi. Pada awalnya seluruh lingkaran diletakan pada salah satu
pasak dengan lingkaran terbesar berada pada posisi terbawah baru diikuti oleh
lingkaran lain yang lebih kecil secara terurut. Lingkaran-lingkaran pada pasak
pertama akan dipindahkan ke pasak ketiga dengan susunan yang sama.
Persoalannya adalah ketika lingkaran tadi akan dipindahkan, maka susunan
lingkaran harus selalu terurut dari besar ke kecil (dari bawah ke atas). Tentukan
relasi rekursif untuk an, yaitu banyak langkah minimum yang dibutuhkan untuk
memindahkan n buah lingkaran. Berapa banyak langkah yang dibutuhkan untuk
bermain dengan 6 buah lingkaran?

Penyelesaian:
Ke enam lingkaran yang ada pada pasak pertama akan dipindahkan seluruhnya
pada pasak ketiga dengan aturan mula-mula mainkan permainan Tower of Hanoi
untuk lima lingkaran terkecil dimana lima lingkaran terkecil dipindahkan dari
pasak pertama ke pasak kedua. Kemudian lingkaran keenam dipindahkan dari
pasak pertama ke pasak ketiga. Permainan yang sama dilakukan ketika akan
memindahkan lima linkaran terkecil yang ada pada pasak kedua ke pasak ketiga.
Jadi ketika akan memindahkan n buah lingkaran dari pasak pertama ke pasak
ketiga, mula-mula pindahkan (n-1) lingkaran terkecil dari pasak pertama kepasak
kedua, kemudian memindahkan lingkaran terbesar (ke-n) dari pasak pertama ke
pasak ketiga, baru (n-1) lingkaran terkecil yang ada pada pasak kedua dipindahkan
seluruhnya ke pasak ketiga.
Jika an adalah banyaknya langkah yang dibutuhkan untuk memindahkan lingkaran
dari satu pasak ke pasak yang lain, maka relasi rekursi yang terbentuk adalah an =
an-1 + 1 + an-1 = 2an-1 + 1. Dengan kondisi awal a1 = 1, maka:
a2 = 2a1 + 1 = 2.1 + 1 = 3
a3 = 2a2 + 1 = 3.2 + 1 = 7
a4 = 2a3 + 1 = 2.7 + 1 = 15
a5 = 2a4 + 1 = 2.15 + 1 = 31
a6 = 2a5 + 1 = 2.31 + 1 = 63;
Jadi untuk memindahkan enam buah lingkaran dibutuhkan minimal 63 langkah.
Formula eksplisit untuk relasi rekursif ini adalah an = 2n 1.

4. Contoh Untuk Ilmu Komputer


Dalam pemrograman komputer, relasi rekurensi dapat diselesaikan dengan 3 cara:
1. Mengubah relasi rekurensi menjadi rumus eksplisit. Nilai suku barisan ke-n (an)
dapat dihitung secara langsung.
Contoh:
ak = ak-1 + 2 dengan a0 = 1

4
Rumus eksplisit yang bersesuaian dengan relasi tsb adalah ak = 1 + 2k. Untuk
mencari suku barisan ke-n (an), yang harus dilakukan adalah membaca harga n dan
membuat statemen penugasan an = 1 + 2n.

2. Menggunakan struktur perulangan (looping)


Contoh:
Untuk menghitung suku ke-n barisan Fibonacci yang memenuhi relasi Fn = Fn-
1 + Fn-2 dengan F0 = 1 dan F1 = 1, maka dibuat struktur program sbb:

Depan := 1
Tengah := 1
For i := 2 to n
Akhir := Depan + Tengah
Depan := Tengah
Tengah := Akhir
{end For}
Write (Akhir)
3. Menggunakan prosedur atau fungsi yang dipanggil secara rekursif
Merupakan implementasi proses rekursif yang sesungguhnya dalam komputer.
Relasi rekursif an dibuat dalam suatu prosedur/fungsi dengan n sebagai salah satu
parameternya. Fungsi/prosedur ini secara rekursif memanggil dirinya sendiri
dengan nilai parameter yang menurun.
Jika barisan Fibonacci diselesaikan dengan cara ini, maka programnya adalah
(dalam struktur pascal) sbb:

Function Fib (n : Integer) : Integer;


Begin If ((n=0) or (n=1)) Then Fib := 1
Else Fib := Fib (n-1) + Fib (n-2)
End;

5
Lampiran

6
7

Anda mungkin juga menyukai