Rekursi: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Expand the article using en:recursion rev. 2012-02-11 at 01:42:54, unchecked, will be check for typo and readability again later. |
Fix some typos and readability. I mixed up the word 'rekursi' with 'rekursif'. |
||
Baris 1:
{{No footnotes|date=February 2010}}
[[Image:Droste.jpg|thumb|Suatu bentuk
'''
Sebagai contohnya, saat dua cermin berada paralel antara satu dengan yang lain, gambar yang tertangkap adalah suatu bentuk
Istilah ini memiliki makna beragam bergantung kepada ragam disiplin mulai dari [[linguistik]] sampai [[logika]].
Penggunaan paling umum dari
Secara spesifik hal ini mendefinisikan suatu instansi tak-terbatas (nilai fungsi), menggunakan ekpresi terbatas yang mana beberapa instansi bisa merujuk kepada instansi lainnya, tapi dengan suatu cara dimana tidak ada perulangan atau keterkaitan tak-terbatas dapat terjadi.
Istilah ini juga digunakan secara umum untuk menjelaskan suatu proses pengulangan objek dengan cara
== Definisi formal dari
[[File:Screenshot Recursion via vlc.png|thumb|
Dalam [[matematika]] dan [[ilmu komputer]], kelas dari objek atau metode memperlihatkan perilaku rekursif bila mereka dapat didefinisikan oleh dua properti berikut:
Baris 19:
# Sejumlah aturan yang mengurangi kasus-kasus lainnya sampai ke kasus dasarnya.
Sebagai contoh, berikut ini adalah definisi rekursif dari leluhur seseorang:
* [[Orang tua]] seseorang adalah [[leluhur]] seseorang (''kasus dasar'').
* Orang tua dari suatu leluhur juga merupakan leluhur-nya (''langkah
[[Bilangan Fibonacci]] adalah contoh klasik dari
* Fib(0) adalah 0 [kasus dasar]
Baris 30:
Banyak aksioma matematika berdasarkan aturan-aturan rekursif.
Sebagai contohnya,
Dengan kasus dasar ini dan aturan rekursif, seseorang dapat membuat himpunan dari semua bilangan asli.
Gambaran humornya berbunyi: ''"Untuk memahami
Atau mungkin yang lebih akurat, dari [[Andrew Plotkin]]: ''"Jika anda telah mengetahui apa itu
Objek
==
Ahli linguistik [[Noam Chomsky]] memberikan teori bahwa ekstensi tak-terhingga dari setiap [[bahasa alami]] adalah memungkinkan menggunakan perangkat rekursif dengan menanamkan frase dalam kalimat. Maka, seorang yang cerewet akan berkata, ''"Dorothy, yang bertemu dengan Penyihir Barat jahat di Munchkin Land di mana saudara perempuannya yang juga Penyihir dibunuh, menyiramnya dengan seember air."'' Jelas, dua kalimat sederhana-''"Dorothy bertemu Penyihir Jahat dari Munchkin Land barat"'' dan ''"Saudara perempuannya dibunuh di Munchkin Land"''-dapat ditanamkan dalam kalimat ketiga, ''"Dorothy menyiramnya dengan seember air,"'' untuk memperoleh kalimat yang sangat jelas.
Ide bahwa
Konsep ini, yang menantang ide Chomsky bahwa
Andrew Nevins, David Pesetsky dan Cilene Rodrigues berdebat melawan proposal tersebut.
<ref>{{cite journal
Baris 61:
| pages = 671–681
}}</ref>
Bukti tak-langsung bahwa ide Everett salah datang dari kerja neurolinguistik dimana tampak bahwa
Tanpa rekursi, bahasa tidak memiliki 'diskrit tak-terbatas' dan tidak dapat menanamkan kalimat menjadi tak-terbatas (dengan suatu efek '[[Boneka Matryoshka|Sarang boneka Rusia]]').
Everett membantah bahwa bahasa harus memiliki diskrit tak-terbatas, dan menegaskan bahwa bahasa Piraha - yang diklaimnya tidak memiliki rekursi -
Dia menyamakannya dengan permainan terbatas [[catur]], yang memiliki sejumlah pergerakan terbatas tapi sangat
===
Prosedur yang melakukan
Untuk memahami
Sebuah prosedur yaitu
Jalannya sebuah prosedur mengikuti aturan-aturan dan melakukan langkah-langkah.
Analoginya mungkin sebuah prosedur adalah seperti buku resep dimana di dalamnya terdapat langkah-
Misalnya, suatu resep bisa mengacu pada memasak sayuran, yang merupakan prosedur yang kemudian membutuhkan memanaskan air, dan seterusnya.
Namun, prosedur rekursif adalah spesial dimana (paling tidak) salah satu langkahnya memanggil instansi baru dari prosedur yang sama, seperti suatu resep [[
Hal ini tentu saja membuat suatu kemungkinan perulangan tanpa berakhir; rekursi hanya dapat digunakan secara tepat dalam definisi jika langkah yang bersangkutan dilewat pada beberapa kasus sehingga prosedur dapat selesai, seperti resep
Bahkan jika didefinisikan secara tepat, prosedur rekursif tidak mudah dilakukan oleh manusia, karena ia membutuhkan membedakan pemanggilan prosedur yang baru dengan yang lama (yang telah dieksekusi sebagian); hal ini membutuhkan beberapa administrasi sejauh mana berbagai prosedur instan yang berjalan bersamaan telah berjalan.
Karena hal ini definisi rekursif sangat jarang dalam keadaan harian.
Contohnya dapat berupa prosedur untuk menemukan jalan melewati sebuah [[labirin]].
Terus ke depan sampai menemui jalan keluar atau titik percabangan (sebuah titik mati dianggap sebagai sebuah titik
Jika titik yang ditemui adalah suatu jalan keluar, berhenti.
Kalau tidak coba setiap cabang bergantian, menggunakan prosedur secara rekursif; jika setiap percobaan gagal karena mencapai titik mati, kembali ke jalur yang menyebabkan titik percabangan dan laporkan kegagalan.
Baris 116:
Ia tidak ada di edisi pertama dari "The C Programming Language".
Lelucon yang sama juga terdapat di alat pencari web [[Google]] versi bahasa Inggris: saat mencari kata untuk
[[Akronim
== Rekursi dalam matematika ==
Baris 124:
[[Image:Sierpinski Triangle.svg|right|thumb|250px|[[Segitiga Sierpinski]]—sebuah rekursi terbatas dari segitiga membentuk suatu [[jeruji]] geometris.]]
===
{{Main|Definisi rekursif}}
==== Contoh: bilangan asli ====
Contoh kanonikal dari
:1 ada dalam <math>\mathbb{N}</math>
:jika ''n'' ada dalam <math>\mathbb{N}</math>, maka ''n'' + 1 ada dalam <math>\mathbb{N}</math>
:
==== Contoh:
Contoh menarik lainnya adalah set dari semua proposisi "benar terjangkau" dalam suatu [[sistem aksioma]].▼
▲Contoh menarik lainnya adalah
* Jika suatu proposisi adalah sebuah aksiom, maka ia adalah suatu proposisi benar terjangkau.▼
* Jika suatu proposisi dapat dihasilkan dari proposisi benar terjangkau dalam artian aturan-aturan inferensi, maka ia adalah proposisi benar terjangkau.▼
* Set dari proposisi benar-terjangkau adalah set terkecel dari proposisi yang memenuhi kondisi tersebut.▼
▲* Jika suatu proposisi adalah sebuah
Set ini disebut 'proposisi benar terjangkau' karena dalam pendekatan selain-konstruktif ke fondasi matematika, set dari proposisi benar bisa lebih besar daripada set yang dibangun secara rekursif dari aksiom-aksiom dan aturan-aturan inferensi.▼
▲* Jika suatu proposisi dapat dihasilkan dari proposisi benar terjangkau
▲*
▲
Lihat juga [[Teorema ketaklengkapan Godel]].
=== Rekursi fungsional ===
Sebuah [[fungsi (matematika)|fungsi]] bisa didefinisikan sebagai bagian dari dirinya sendiri. Contoh yang
Supaya definisi dapat berguna, ia harus menggunakan nilai yang terdefinisi secara tak-rekursif, dalam kasus ini ''F''(0) = 0 dan ''F''(1) = 1.
Fungsi rekursif terkenal yaitu [[fungsi Ackermann]] yang mana, tidak seperti urutan Fibonacci, tidak dapat dengan mudah diekspresikan tanpa rekursi.
=== Pembuktian yang mengikutkan definisi rekursif ===
Menerapkan teknik standar dari [[pembuktian dengan kasus]] untuk mendefinisikan secara rekursif suatu
=== Optimisasi rekursif ===
[[Pemrograman Dinamis]] adalah suatu pendekatan terhadap [[optimisasi (matematika)|optimisasi]] yang menempatkan ulang suatu permasalahan multiperiode atau tahapan dalam bentuk rekursif.
== Rekursi dalam ilmu komputer ==
{{Main|Rekursi (ilmu komputer)}}
Sebagai sebuah teknik dalam [[pemrograman komputer]], hal ini disebut dengan [[divide and conquer]] dan merupakan kunci dari perancangan berbagai algoritma penting.
Pendekatan sebaliknya yaitu [[pemrograman dinamis]].
Pendekatan ini menyelesaikannya secara bawah-atas, dimana permasalahan diselesaikan dengan menyelesaikan
Contoh klasik dari rekursi adalah definisi dari fungsi [[faktorial]], diberikan dalam kode C:
Baris 182 ⟶ 183:
</source>
Fungsi tersebut
Rekursi dalam pemrograman komputer dicontohkan saat sebuah fungsi didefinisikan dalam
Solusi dari permasalahan kemudian dirancang dengan menggabungkan solusi-solusi yang didapat dari versi sederhana dari permasalahan.
Keuntungan utama dari rekursi adalah
[[Relasi perulangan]] adalah persamaan-persamaan untuk menentukan satu atau lebih urutan-urutan secara rekursif.
Baris 198 ⟶ 199:
== Teorema rekursi ==
Dalam [[teori
Diberikan suatu
:<math>F(0) = a</math>
:<math>F(n + 1) = f(F(n))</math>
Baris 238 ⟶ 239:
{{col-begin}}
{{col-break}}
*[[
*[[Faktorial]]: <math>n! = n (n - 1)! = n (n - 1)\cdots 1</math>
*[[Bilangan Fibonacci]]: <math>f (n) = f (n - 1) + f (n - 2)</math>
*[[Bilangan Catalan]]: <math>C_0=1</math>, <math>C_{n+1} = (4n+2)C_n/(n+2)</math>
*
*
*[[Fungsi Ackermann]]
{{col-end}}
Baris 259 ⟶ 260:
*{{cite book | author = Kernighan, B.; Ritchie, D. | title=The C programming Language | publisher=Prentice Hall | year = 1988 | isbn = 0-13-110362-8 }}
*{{cite book | author=Stokey, Nancy,; Robert Lucas; Edward Prescott | title=Recursive Methods in Economic Dynamics | publisher=Harvard University Press | year=1989 | isbn=0674750969}}
*{{cite book | author=Hungerford |title=Algebra | publisher=Springer|year=1980|isbn=978-0387905181}}, bagian pertama dari teori
== Lihat juga ==
<div style="-moz-column-count:4; column-count:4;">
* [[Tesis Church-Turing
* [[
* [[Corecursion]]
* [[Rekursi Course-of-values
* [[
* [[Fixed point combinator]]
* [[
* [[
* [[
* [[Mise en abyme]]
* [[
<!--
Including [[Recursion]] in this list will not display correctly, and
Baris 280 ⟶ 281:
-->
* [[Reentrant (subroutine)]]
* [[
* [[Strange loop]]
* [[Tail recursion]]
Baris 301 ⟶ 302:
*[http://faculty.washington.edu/losterho/kaan_and_swaab.pdf Kaan, E. – Swaab, T. Y. (2002) “The brain circuitry of syntactic comprehension”, Trends in Cognitive Sciences, vol. 6, Issue 8, 350-356.]
[[Category:
[[Category:
[[Category:
[[Category:
[[Category:
[[ar:استدعاء ذاتي]]
|