PoDJOK 2lisan anak B-Angsa

PTI 2009

Next task …..
Jawab pertanyaan di bawah ini, sebagai bahan untuk membuat sebuah makalah (bahasa Indonesia).. kerjakan per kelompok(1 kelmpk 5 orang), dikumpul senin 25 mei 2009 saat di kelas.
1. Apa itu Operating System??? definisikan secara ilmiah(merujuk referensi) and persepsi anda..
2. Ada tuntutan yang harus dipenuhi oleh Operating System, terkait tentang usability, Facilities, cost, adaptability.. jelaskan maksudnya, sertakan referensi dan persepsi anda
3. Sebutkan komponen2 utama di dalam operating system!! Jelaskan masing2nya!!
4. Sebutkan berbagai macam jenis Operating System yang populer saat ini, lakukan analisa perbandingan 2 diantaranya…. sertakan referensi serta persepsi anda…

kerjakan … susun menjadi sebuah makalah dengan topik Operating System….
4.

71 Comments

71 responses so far ↓

  • HARLAND // March 25, 2009 at 3:37 pm | Reply

    AA’ erda….waktu nya diperpanjang donk…cz gak taw siapa yg mw jadi admin…n qta kelasnya beda2…so harus ktemu dulu…ya paling ketemunya pas kelas PTI…usul donk klu tggl 1 gmn???

  • 113080198_PTI2009 // March 28, 2009 at 4:30 am | Reply

    Recursion (rekursi) biasa digunakan dalam menyelesaikan perhitungan yang rumit dan kompleks dengan prinsip memecahkan masalah menjadi masalah-masalah yang lebih kecil.

    Definisi recursion (rekursi) adalah fungsi yang dalam definisinya mengimplementasikan dirinya sendiri, atau dengan kata lain yaitu fungsi yang memanggil dirinya sendiri.

    Namun, dalam bahasa pemrograman rekursi dapat pula diartikan sebagai proses berantai yang berjalan tanpa perulangan (looping) secara eksplisit dan prosesnya bisa jadi tak berhingga. Sehingga untuk menghindari infinite process (proses yang tidak berkesudahan), fungsi yang mengimplementasikan rekursi harus menambahkan syarat yang mendefinisikan kondisi di mana proses rekursi selesai dilakukan.

    Contoh umum rekursi dapat dilihat pada sekeliling kita. Salah satu bentuk rekursi dalam dunia nyata yaitu jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi.

    Sedangkan contoh khususnya yaitu penyelesaian perhitungan faktorial dari suatu bilangan bulat.
    *contoh dalam bahasa C++*
    #include
    typedef unsigned int UINT;

    long Factorial(UINT aNumber)
    {
    if (aNumber == 0)
    return 1;

    return aNumber*Factorial(aNumber-1);
    }

    int main()
    {
    std::cout << Factorial(5);
    return 0;

  • 113080114_PTI2009 // March 28, 2009 at 4:00 pm | Reply

    1. Pengertian recursion

    Rekursi atau recursion dalam matematika dan ilmu komputer diartikan sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Untuk lebih mudahnya, bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri.

    Dalam dunia matematika dan komputer, rekursi khususnya digunakan untuk menyelesaikan perhitungan yang rumit dan kompleks. Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.

    jadi rekursi dalam ‘identitas’ kita adalah fungsi yang memanggil dirinya sendiri pada proses pe-looping-an.

    2.contoh rekursi

    khusus: menghitung nilai faktorial.
    misal n=4
    maka
    4!=4*3*2*1
    n!=n*n-1*n-2*…*n-(n-1)

    umum: meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi.

  • 113081018_PTI2009 // March 28, 2009 at 6:10 pm | Reply

    Rekursi dari terjemahan bahasa inggris

    Rekursi adalah proses dari sebuah prosedur yang berjalan ketika salah satu dari langkah di prosedur tersebut berperan dalam mengulang langkah prosedur tersebut.sebuah prosedur yang berjalan melalui rekursi disebut dengan rekursif
    Untuk memahami sebuah rekursi,kita harus memahami dulu perbedaan antara prosedur dan prosedur yang berjalan.prosedur adalah sebuah kelompok tahapan yang akan dijalankan berdasarkan peraturanya.sedangkan prosedur yang berjalan,berperan dalam mengikuti peraturan yang telah ada

    Rekursi dalam komputer sains (Qta2 : global dan khusus)

    Secara Global : Adalah metode umum penyederhanaan untuk membagi masalah menjadi sub-masalah dari jenis yang sama. Dalam teknik komputer,hal ini disebut membagi dan menakluki dan merupakan kunci untuk desain dari beberapa algoritma penting, serta menjadi bagian dari dasar pemrograman dinamis. Recursion(Rekursi) di pemrograman komputer ditunjukan ketika sebuah fungsi didefinisikan dalam hal itu sendiri. Salah satu contohnya adalah penerapan recursion di parsers untuk bahasa pemrograman. Keuntungan yang besar dari recursion(rekursi) adalah tidak terbatasnya kelompok kalimat yang memungkinkan, desain atau data lainnya dapat didefinisikan, dipecah atau terbatas yang dihasilkan oleh program komputer.
    Secara spesifik : Sebuah contoh klasik dari recursion adalah definisi dari fungsi faktorial, diberikan di kode C:
    unsigned int factorial(unsigned int n)
    {
    if (n <= 1) return 1;
    else
    {
    return n * factorial(n-1);
    }
    }

  • 113080181_PTI2009 // March 29, 2009 at 2:18 am | Reply

    Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri.Intinya rekursi digunakan untuk mempermudah masalah-masalah/langkah-langkah dalam pemrograman yang kita anggap sulit.Dari langkah-langkah yang rumit,kita dapat mengubahnya kelangkah yang lebih sederhana.Di dalam suatu bahasa pemrograman,rekursi berarti memanggil suatu fungsi itu sendiri. Contoh umum dalam bahasa pemrograman C
    fungsi() {

    fungsi();

    }
    Atau contoh simpel(khusus) dari recursion(rekursi) adalah pemfaktoran.Contohnya:

    unsigned int factorial(unsigned int n)
    {
    if (n <= 1) return 1;
    else
    {
    return n * factorial(n-1);
    }
    }
    Jika di terjemahkan ke dalam bahasa matematika maka akan menjadi seperti ini:
    5 faktorial=5*4*3*2*1

  • 113081060_PTI2009 // March 29, 2009 at 2:24 am | Reply

    Rekursi
    Terkadang, suatu permasalahan dapat kita selesaikan dengan membagi masalah-masalah tersebut dalam bagian yang lebih kecil. Terkadang, bagian yang lebih kecil itu pun memiliki masalah yang sama dengan bagian sebelumnya, hanya saja ruang lingkupnya lebih kecil. Permasalahan ini disebut dengan rekursi. Contoh sederhana adalah, bila kita meletakan benda ditengah-tengah dua buah cermin yang membentuk sudut siku siku, maka bayanganya akan dipantulkan tidak terbatas di dalam cermin. Semakin lama, letak bayangnya semakin jauh.
    Suatu fungsi yang memanggil fungsi lain mungkin adalah hal yang biasa. Tetapi, suatu fungsi yang memanggil dirinnya sendiri, mungkin asing bagi kita. Teknik untuk memanggil dirinya sendiri, baik pada prosedur maupun fungsi, dikenal dengan sebutan rekursi atau recursion. Kelebihan dari teknik rekursi ini adalah, suatu data, maupun aksi yang tidak terbatas, dapat didefinisikan melalui statemen yang terbatas (sederhana). Kekuranganya, rekursi membutuhkan memori yang besar bila terjadi pemanggilan yang berulang kali.
    Sebuah contoh rekursi, yaitu untuk mendapatkan nilai factorial. Seperti diketahui, suatu factorial m! didefinisikan sebagai berikut:
    1 jika m=0
    1 x 2 x 3 x … x m jika m>0
    Secara rekursif, persoalan diatas dapat dituliskan sebagai berikut:
    (1). 0! = m
    (2). m>0 , m! = m x (m-1)!
    Kondisi 1 merupakan penghenti rekursi. Kondisi 2 menggambarkan proses rekursi. Langkah diatas dapat dituangkan menjadi:
    Function factorial(M : integer) : Longint;
    Begin
    If m = 0 then
    Factorial := 1
    Else
    Factorial := M * factorial (M-1)
    end
    Bila misalnya dilakukan pemanggilan:
    Hasil := factorial (4);
    Akan terjadi proses berikut:
    Factorial (4) = 4 * factorial (3)
    Factorial (4) = 4 * 3 * facktorial (2)
    Factorial (4) = 4 * 3 * 2 * factorial (1)
    Factorial (4) = 4 * 3 * 2 * 1 * factorial (0)
    Factorial (4) = 4 * 3 * 2 * 1 * 1
    Factorial (4) = 12

    Contoh kedua adalah Deret Fibbonaci 0, 1, 1, 2, 3, 5, 8, 13, 21…

    function fib (n: integer):integer
    begin
    if n = 0 then
    fib := 0
    if n =1 then
    fib := 1
    else
    fib:= ( fib (n-1) + fib (n-2)
    end
    contoh, bila n = 4
    fib4 = fib3 + fib2
    = fib2 + fib1 + fib1 + fib0
    = fib1 + fib0 + 1 + 1 + 0
    = 1 + 0 + 1 + 1 + 0
    = 3

    Contoh ketiga adalah mencari pembagi bilangan terbesar dari dua bilangan bulat

    function gcd (x:integer, y:integer) {syaratnya x >= y dan y > 0}
    var
    sisa: integer;
    begin
    if y = o then
    gcd:= x;
    else
    begin
    sisa:= x mod y;
    x:= y;
    y:= sisa;
    gcd:= gcd( x , y)
    end

    Algoritma ini membutuhkan variabel temporer untuk menampung hasil x mod y.

    Contoh unik dari rekursi ini dapat kita lihat dalam berbagai hal. Contoh:
    LAME : Lame Ain’t Mp3 Encoder
    Encoder OpenSource, meng-encode beragam format audio menjadi mp3
    KOSMOS: Kosmos Obey Strategic Multiple Operation Sistematic
    Robot dalam game Xenosaga

  • 113080073_PTI2009 // March 29, 2009 at 2:34 am | Reply

    Rekursi yaitu procedure atau function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll. Contoh paling terkenal dari rekursi adalah proses menghitung nilai faktorial dan mencari deret Fibonacci.
    Rekursi menurut identitas kita mungkin artinya itu fungsi yang memanggil dirinya sendiri dan tidak diketahuui kapan akan berakhir. Serperti looping tetapi berbeda. Karena rekursi tidak menggunakan perintah khusus untuk looping.

    Contoh umum rekursi:

    Bernapas karena prosesnya dilakukan secara berulang dan tidak tahu kapan akan berhenti.

    Contoh khusus rekursi:

    function faktorial(n : integer):integer;
    begin
    if (n = 0) then faktorial := 1
    else faktorial := n * faktorial(n – 1);
    end;

    Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

  • 113081069_PTI2009 // March 29, 2009 at 3:59 am | Reply

    REKURSI
    Suatu istilah yang diberikan pada fungsi yang memanggil dirinya sendiri dalam fungsi tersebut.
    Sebuah fungsi rekursi akan melakukan perulangan yang sulit ditentukan kapan akan berakhir.
    Dengan fungsi rekursi, sebuah command dapat melakukan perulangan tanpa memerlukan perintah FOR TO, WHILE DO, REPEAT UNTIL, dan sebagainya dan sebagainya.
    hal inilah juga yang membedakan rekursi dengan iterasi.

    CONTOH REKURSI
    deret fibonacci
    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

    contoh lain sebagai analogi : KEMASAN SNACK TARO
    di gambar pada kemasannya ada gambar seorang bocah memegang sebungkus TARO. Pada sebungkus TARO itu terlihat gambar seorang bocah memegang sebungkus TARO. Pada sebungkus TARO itu terlihat gambar seorang bocah memegang sebungkus TARO juga. dan seterusnya dan seterusnya……

  • 113081027_PTI2009 // March 29, 2009 at 5:12 am | Reply

    Recursion merupakan metode pemecahan masalah, dimana nantinya permasalahan-permasalahan yang ada dapat dikerjakan dengan bahasa pemrograman komputer yang didukung sebuah fungsi atau prosedur untuk memanggil dirinya sendiri. Keharusan menetapkan bahasa looping constructs seperti “sementara” dan “for” loops yang digunakan untuk melakukan tindakan repetitif. Beberapa bahasa pemrograman fungsional tidak menentukan apapun looping constructs tetapi hanya mengandalkan recursion berulang kali untuk memanggil kode. Computability telah membuktikan bahwa teori ini hanya recursive bahasa matematis setara dengan keharusan bahasa, yang berarti mereka dapat memecahkan masalah sama jenis bahkan tanpa kontrol struktur khas seperti “sementara” dan “for”.
    Recursion sangat tertanam dalam teori komputasi, dengan teori persamaan derajatnya dari μ-recursive fungsi dan mesin Turing pada ide dasar tentang universalitas dari komputer modern.

    contoh recursion algorithm :

    Program_recursion;
    uses crt;

    procedure recursion(A:integer);
    begin
    if A < 10 then
    begin
    write(’Pascal’);
    A:=A+1;
    recursion(A);
    end;
    end;

    var
    x:integer;

    begin
    clrscr;
    readln(x);
    recursion(x);
    readln;
    end.

  • 113081072_PTI2009 // March 29, 2009 at 6:00 am | Reply

    113081072_PTI2009

    pengertian dari recursion: rekursi pemanggilan terhadap diri sendiri bisa juga di artikan Merupakan sistem pengembangan suatu program, dimana penambahan dan perubahannya dilakukan pada source programnya tersendiri.

    adapun pengertian lain dari recursion atau rekursi adalah dalam matematika dan ilmu komputer diartikan sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Untuk lebih mudahnya, bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri.

    ternyata ada banyak contoh rekursi di sekeliling kita.contoh rekursi secara umum dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi.

    contoh rekursi secara khusus dalam dunia komputer, rekursi khususnya digunakan untuk menyelesaikan perhitungan yang rumit dan kompleks. Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan. contoh perhitungan yang menggunakan rekursi adalah perhitungan faktorial.

    misalnya:
    Secara rekursif, persoalan diatas dapat dituliskan sebagai berikut:
    (1). 0! = m
    (2). m>0 , m! = m x (m-1)!

    maka jika kita menulisakan 5!
    akan akan terjadi proses
    Factorial (5) = 5 * factorial (4)
    Factorial (5) = 5 * 4 factorial (3)
    Factorial (5) = 5 * 4 * 3 * facktorial (2)
    Factorial (5) = 5 * 4 * 3 * 2 * factorial (1)
    Factorial (5) = 5 * 4 * 3 * 2 * 1 * factorial (0)
    Factorial (5) = 5 * 4 * 3 * 2 * 1 * 1
    Factorial (5) = 120

  • 113081072_PTI2009 // March 29, 2009 at 6:01 am | Reply

    pengertian dari recursion: rekursi pemanggilan terhadap diri sendiri bisa juga

    di artikan Merupakan sistem pengembangan suatu program, dimana penambahan dan

    perubahannya dilakukan pada source programnya tersendiri.

    adapun pengertian lain dari recursion atau rekursi adalah dalam matematika dan

    ilmu komputer diartikan sebagai fungsi yang dalam definisinya

    mengimplementasikan dirinya sendiri. Untuk lebih mudahnya, bisa dikatakan

    bahwa rekursi adalah fungsi yang memanggil dirinya sendiri.

    ternyata ada banyak contoh rekursi di sekeliling kita.contoh rekursi secara

    umum dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan

    dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua

    cermin itulah rekursi. Contoh lain dari rekursi di dunia nyata adalah seperti

    yang diperlihatkan gambar-gambar di bagian akhir tulisan ini.

    contoh rekursi secara khusus dalam dunia komputer, rekursi khususnya digunakan

    untuk menyelesaikan perhitungan yang rumit dan kompleks. Prinsip rekursi

    sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih

    kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut,

    masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk

    diselesaikan. contoh perhitungan yang menggunakan rekursi adalah perhitungan

    faktorial.

    misalnya:
    Secara rekursif, persoalan diatas dapat dituliskan sebagai berikut:
    (1). 0! = m
    (2). m>0 , m! = m x (m-1)!

    maka jika kita menulisakan 5!
    akan akan terjadi proses
    Factorial (5) = 5 * factorial (4)
    Factorial (5) = 5 * 4 factorial (3)
    Factorial (5) = 5 * 4 * 3 * facktorial (2)
    Factorial (5) = 5 * 4 * 3 * 2 * factorial (1)
    Factorial (5) = 5 * 4 * 3 * 2 * 1 * factorial (0)
    Factorial (5) = 5 * 4 * 3 * 2 * 1 * 1
    Factorial (5) = 120

  • 113080006_PTI2009 // March 29, 2009 at 6:33 am | Reply

    recursion(algorithmic teknik)
    Definisi: Sebuah teknik algorithmic dimana salah satu fungsi, dalam rangka untuk menyelesaikan tugas, panggilan dirinya dengan beberapa bagian dari tugas.
    Setiap solusi recursive melibatkan dua bagian utama atau kasus, kedua bagian yang memiliki tiga komponen.
    • kasus dasar, dalam masalah yang cukup sederhana yang dapat dipecahkan secara langsung, dan
    • recursive kasus,recursive kasus memiliki tiga komponen:
    1. membagi masalah menjadi satu atau lebih sederhana atau lebih kecil bagian dari masalah,
    2. memanggil fungsi (secara rekursif) pada setiap bagian, dan
    3. menggabungkan solusi menjadi bagian dari solusi untuk masalah.
    Tergantung pada masalah, semua ini mungkin sepele atau kompleks.
    Sebagai contoh, berikut adalah definisi recursive orang dari leluhur:
    • Salah satu dari orang tua merupakan salah satu dari nenek moyang (kasus dasar).
    • Orang tua dari salah satu dari nenek moyang juga satu dari leluhur (recursion langkah).
    Beberapa contoh recursion adalah:
    • Faktorial:
    • Fibonacci nomor: f (n) = f (n – 1) + f (n – 2)
    • Catalan nomor: C 0 = 1, C n + 1 = (4 + n 2) C n / (n + 2) • Computing compound interest
    • The tower of Hanoi
    • Fungsi Ackermann
    • Tingkat pertumbuhan penduduk
    • Mustahil dari ulang tahun bersama antara sekelompok orang.

    >>>Recursion, dalam matematika dan ilmu komputer, adalah sebuah metode untuk menentukan fungsi di mana fungsi yang ditetapkan diterapkan dalam definisi sendiri. Istilah ini juga digunakan lebih umum untuk menjelaskan sebuah proses pengulangan objek dalam diri dengan cara serupa.-harland
    Jadi recursion adalah perulangan,yaitu fungsi yang memanggil dirinya sendiri.

  • 113080006_PTI2009 // March 29, 2009 at 6:39 am | Reply

    recursion(algorithmic teknik)
    Definisi: Sebuah teknik algorithmic dimana salah satu fungsi, dalam rangka untuk menyelesaikan tugas, panggilan dirinya dengan beberapa bagian dari tugas.
    Setiap solusi recursive melibatkan dua bagian utama atau kasus, kedua bagian yang memiliki tiga komponen.
    • kasus dasar, dalam masalah yang cukup sederhana yang dapat dipecahkan secara langsung, dan
    • recursive kasus,recursive kasus memiliki tiga komponen:
    1. membagi masalah menjadi satu atau lebih sederhana atau lebih kecil bagian dari masalah,
    2. memanggil fungsi (secara rekursif) pada setiap bagian, dan
    3. menggabungkan solusi menjadi bagian dari solusi untuk masalah.
    Tergantung pada masalah, semua ini mungkin sepele atau kompleks.
    Sebagai contoh, berikut adalah definisi recursive orang dari leluhur:
    • Salah satu dari orang tua merupakan salah satu dari nenek moyang (kasus dasar).
    • Orang tua dari salah satu dari nenek moyang juga satu dari leluhur (recursion langkah).
    Beberapa contoh recursion adalah:
    • Faktorial: n!=n(n-1)!=n(n-1)…1
    • Fibonacci nomor: f (n) = f (n – 1) + f (n – 2)
    • Catalan nomor: C 0 = 1, C n + 1 = (4 + n 2) C n / (n + 2) • Computing compound interest
    • The tower of Hanoi
    • Fungsi Ackermann
    • Tingkat pertumbuhan penduduk
    • Mustahil dari ulang tahun bersama antara sekelompok orang.

    >>>Recursion, dalam matematika dan ilmu komputer, adalah sebuah metode untuk menentukan fungsi di mana fungsi yang ditetapkan diterapkan dalam definisi sendiri. Istilah ini juga digunakan lebih umum untuk menjelaskan sebuah proses pengulangan objek dalam diri dengan cara serupa.-harland
    Jadi recursion yaitu fungsi yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir.

  • 113080144_PTI2009 // March 29, 2009 at 7:15 am | Reply

    DEFINI RECURSION:

    Ada kalanya kita mengalami kesulitan untuk mendefinisikan suatu obyek secara eksplisit.

    Mungkin lebih mudah untuk mendefinisikan obyek tersebut dengan menggunakan dirinya sendiri. Ini dinamakan sebagai proses rekursif.

    Kita dapat mendefinikan barisan, fungsi dan himpunan secara rekursif.

    DEFINISI DARI QTA:

    fungsi rekursif : fungsi yang di dalam fungsi tersebut memanggil dirinya sendiri
    dalam algoritma rekursif terdapat dua komponen penting
    yaitu basis dan rekurens
    basis : digunakan untuk menghentikan rekursif
    rekurens : digunakan untuk melakukan rekursif

    contoh :

    int pangkat (int n, int x)
    {
    int temp;
    if (n=0) –>basis untuk menanggulangi input x pangkat 0
    {
    return 1;
    }
    else if(n=1) –>basis
    {
    return x;
    }
    else if (n>0) –>rekurens
    {
    temp = x*pangkat(n-1,x);
    return temp;
    }
    }

  • 113080244_PTI2009 // March 29, 2009 at 8:45 am | Reply

    1. Definisi dari recursion
    Fungsi yang dalam definisinya mengimplementasikan dirinya sendiri.
    Beberapa hal yang perlu dicatat dalam recursion
    • Fungsi recursion memanggil dirinya sendiri
    • Recursive harus memiliki fungsi-fungsi kondisi non-recursive atau infinite loop akan terjadi.
    • Recursion sering memakan banyak memori
    • Setiap solusi recursive melibatkan dua bagian utama atau kasus, kedua bagian yang memiliki tiga komponen.
    1. base case(s) , dalam masalah yang cukup sederhana yang dapat dipecahkan secara langsung, dan ;
    2. recursive case(s) ,recursive case memiliki tiga komponen:
    a. membagi masalah menjadi satu atau lebih sederhana atau lebih kecil bagian dari masalah,
    b. memanggil fungsi (secara rekursif) pada setiap bagian, dan
    c. menggabungkan solusi menjadi bagian dari solusi untuk masalah.

    2. Definisi yang Recursion menurut “saya”
    Recursion adalah sebuah teknik algoritma yang memungkinkan sebuah fungsi memanggil dirinya sendiri untuk melakukan perulangan.

    3. Beberapa contoh recursion adalah:

    • Faktorial:
    1! = 1
    2! = 1 x 2 = 2
    3! = 1 x 2 x 3 = 2! x 3 = 6
    N! = 1 x 2 x 3 x …. (N-2) x (N-1) x N = (N-1)! x N

    • Fibonacci
    f (n) = f (n – 1) + f (n – 2)

    • Contoh yang lebih umum adalah ketika kita berdiri di depan cermin sambil memegang cermin •

  • 113080003_PTI2009 // March 29, 2009 at 10:02 am | Reply

    Recursion
    Recursion adalah fungsi yang dapat memanggil dirinya sendiri atau dengan kata lain di dalam fungsi terdapat fungsi tersebut. Oleh karena itu di dalam fungsi ini terdapat dua elemen yaitu :
    1. Bagian itterasi yang isinya mengkondisikan untuk dimana fungsi tersebut berhenti
    2. Bagian aksi yang isinya merupakan cara untuk memanggil dirinya sendiri.
    Contoh rekursi
    Contoh umum:
    Saat kita naik escalator maka di kanan kiri kita terdapat cermin.Jika kita perhatikan maka yang terlihat da dalam cermin adalah badan kita.Da n semakin kita memandangnya maka akan terlihat gambaran badan kita banyak sekali.
    Contoh khusus:
    Fungsi factorial
    Misalnya f(5)=5×4x3×2x1
    F(n)=nxn-1xn-2x…..x1
    Secara algoritmik dapat dituliskan sebagai berikut:
    Int factorial (int a){
    If (a==0||a==1)
    Return 1;
    Else
    Return a*factorial(a-1);
    ;

  • 113080067_PTI2009 // March 29, 2009 at 10:06 am | Reply

    1. Definisi Recursion
    Rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat intruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya sendiri. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic

    Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.

    2. Defenisi Recursion yang sesuai dengan identitas Qta Procedure atau Function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir

    3. Contoh Umum Pengimplementasian Recursion dalam kehidupan sehari-hari :

    Rekursi dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar.

    Contoh lainnya adalah gambar/image berikut ini :
    http://i264.photobucket.com/albums/ii180/Dj_Choco/recursion-180px-Droste.jpg
    http://i264.photobucket.com/albums/ii180/Dj_Choco/recursion-200px-Fractal_fern_explai.png

    Contoh Khusus Pengimplementasian Recursion dalam bahasa Pascal :
    Program Faktorial_pascal;
    function Faktorial(a:integer):longint;
    begin
    if (A=1)then
    Faktorial:=1
    else
    Faktorial:=a*faktorial(a-1);
    end;
    var
    x:integer;
    begin
    writeln(’Faktorial sequence’);
    write(’Berapa Faktorial :’);readln(x);
    writeln(x,’faktorial ‘,’=’,faktorial(x));
    readln;
    end.

    Contoh lainnya adalah program deret Fibonacci :
    Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

  • 113080147_PTI2009 // March 29, 2009 at 10:26 am | Reply

    Definisi Recursion

    Recursion atau rekursi dalam dunia komputer diartikan sebagai fungsi yang mengimplementasikan dirinya sendiri atau bisa dikatakan, funsi yang memanggil dirinya sendiri. Recursion juga bisa dikatakan sebagai looping dan prosesnya bisa jadi tak berhingga. Untuk menghindari itu, maka dalam fungsi yang mengimplementasikan recursion harus ditambahan syarat dimana recursion selesai dilakukan. Contoh paling sederhana dari recurcion adalah menghitung suatu bilangan faktorial.

  • 113080142_PTI 2009 // March 29, 2009 at 10:57 am | Reply

    DEFINISI FORMAL :
    Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung
    fungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplementasikan dalam sebuah fungsi yang
    memanggil dirinya sendiri.
    proses pemnggilannya : RECURSION.
    istilahnya seperti iklan Nutrisari , “jeruk kok minum jeruk?”. ^_^
    DEFINI MENURUT SAYA :
    Rekursif merupakan salah satu teknik yang perlu Kita kuasai dalam dunia pemrograman. Sering kali,
    masalah yang sangat kompleks, terutama di bidang Artificial Intelligence atau Kecerdasan Buatan. Oleh Karena itu. Rekursif hadir untuk mebuat masalah2 rumit tsb menjadi lebih kecil dan akan nampak lebih kompleks. rekursif adalah suatu metode yang memanggil dirinya sendiri secara langsung maupun tidak langsung.
    *kasus induksi: pemecahan masalah dengan menyelesaika masalah serupa yg lebih sederhana ( pakai recursive calls guyz)
    *kasus penyetop (base case):mencegah terjadi rekursi tak berhingga

    EXAMPLE:

    1.Fungsi pangkat, faktorial, dan barisan fibonacci
    memangkatkan bil. real tak nol dengan suatu pangkat bil. bulat

    2. Masalah yang akan
    dipecahkan adalah memotong roti tawar tipis‐tipis sampai habis. Jika masalah ini akan dipecahkan
    secara rekursif, maka solusinya adalah:
    1. Jika roti sudah habis atau potongannya sudah paling tipis, pemotongan roti selesai
    2. Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2
    untuk sisa potongannya.
    Yupe, “semudah” itulah fungsi rekursif! ☺
    Ok, mari kita lihat bentuknya dalam pemrograman:
    Versi
    Java
    /*
    * Main.java
    *
    * Created on June 17, 2007, 6:28 PM
    *
    */
    package pangkat;
    /**
    *
    * @author Wisnu Widiarta
    */
    public class Main {
    public static int pangkatRekursif(int x, int y) {
    if (y == 0) {
    return 1;
    }
    else {
    return x * pangkatRekursif(x, y – 1);
    }

  • 113081003_PTI2009 // March 29, 2009 at 11:03 am | Reply

    Recursion adalah sebuah proses dari sebuah prosedur

    yang diteruskan ketika salah satu dari langkah dari

    prosedur memanggil prosedur itu sendiri. prosedur itu

    sendiri harus bersifat rekursif.
    dalam ilmu komputer sendiri, rekursi ialah suatu fungsi

    yang memanggil dirinya sendiri. Rekursi dapat

    dibayangkan sebagai proses berantai yang berjalan tanpa

    perulangan (looping) secara eksplisit dan prosesnya

    bisa jadi tak berhingga. Untuk menghindari infinite

    process (proses yang tidak berkesudahan), fungsi yang

    mengimplementasikan rekursi harus menambahkan syarat

    yang mendefinisikan kondisi di mana proses rekursi

    selesai dilakukan.

    contoh rekursi:
    - searching tree
    - secara khusus: dalam ilmu komputer rekursi biasa

    ditemukan dalam perhitungan faktorial bilangan bulat dalam bahasa pascal

  • 113080067_PTI 2009 // March 29, 2009 at 11:06 am | Reply

    1. Defenisi Recursion
    Merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat intruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya sendiri. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll

    Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.

    2. Defenisi Recursion Menurut QTA
    Procedure atau Function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir.

    3. – Contoh Umum Pengimplementasian Recursion :
    Rekursi dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi.

    Contoh lain terlihat pada url gambar berikut :
    http://i264.photobucket.com/albums/ii180/Dj_Choco/recursion-180px-Droste.jpg
    dan
    http://i264.photobucket.com/albums/ii180/Dj_Choco/recursion-200px-Fractal_fern_explai.png

    – Contoh Khusus
    Dapat ditemui dalam program nilai Faktorial (bahasa Pascal).

    Program Faktorial_pascal;
    function Faktorial(a:integer):longint;
    begin
    if (A=1)then
    Faktorial:=1
    else
    Faktorial:=a*faktorial(a-1);
    end;
    var
    x:integer;
    begin
    writeln(’Faktorial sequence’);
    write(’Berapa Faktorial :’);readln(x);
    writeln(x,’faktorial ‘,’=’,faktorial(x));
    readln;
    end.

    dan juga pada Deret Fibonacci
    Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

  • 113080142_PTI 2009 // March 29, 2009 at 11:06 am | Reply

    DEFINISI FORMAL :
    Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung
    fungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplementasikan dalam sebuah fungsi yang
    memanggil dirinya sendiri.
    proses pemnggilannya : RECURSION.
    istilahnya seperti iklan Nutrisari , “jeruk kok minum jeruk?”. ^_^
    DEFINI MENURUT SAYA :
    Rekursif merupakan salah satu teknik yang perlu Kita kuasai dalam dunia pemrograman. Sering kali,
    masalah yang sangat kompleks, terutama di bidang Artificial Intelligence atau Kecerdasan Buatan. Oleh Karena itu. Rekursif hadir untuk mebuat masalah2 rumit tsb menjadi lebih kecil dan akan nampak lebih kompleks. rekursif adalah suatu metode yang memanggil dirinya sendiri secara langsung maupun tidak langsung.
    *kasus induksi: pemecahan masalah dengan menyelesaika masalah serupa yg lebih sederhana ( pakai recursive calls guyz)
    *kasus penyetop (base case):mencegah terjadi rekursi tak berhingga

    EXAMPLE:

    1.Fungsi pangkat, faktorial, dan barisan fibonacci
    versi delphi:
    program Pangkat;
    {$APPTYPE CONSOLE}
    uses SysUtils;
    type
    TTestPangkat = class(TObject)
    class function PangkatRekursif(x, y: integer): integer;
    end;
    { TTestPangkat }
    class function TTestPangkat.PangkatRekursif(x, y: integer): integer;
    begin
    if (y = 0) then
    Result := 1
    else
    Result := x * PangkatRekursif(x, y – 1);
    end;
    begin
    writeln(‘10 dipangkatkan 3 = ‘ +
    Format(‘%d’, [TestPangkat.PangkatRekursif(10, 3)]));
    end.
    2. Contohke dua saya kaitkan dengan makanan (nyummie)
    masalahnya adalah memotong roti tawar tipis2 sampai habis.. Jika masalah ini akan dipecahkan
    secara rekursif, maka solusinya adalah:
    1. Jika roti sudah habis atau potongannya sudah paling tipis, pemotongan roti selesai
    2. Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2
    untuk sisa potongannya.
    Yupe, “semudah” itulah fungsi rekursif! ☺

  • 113081019_PTI2009 // March 29, 2009 at 11:16 am | Reply

    Rekursif dalam ilmu komputer merupakan salah satu penyelesaian masalah dan juga merupakan salah satu teknik pemrograman. Rekursif adalah cara untuk menetapkan proses dengan dirinya sendiri, langkah-langkah rumit dari proses dijelaskan dengan langkah-langkah yang lebih sederhana.Secara mudahnya maksud dari rekursif adalah memanggil suatu fungsi dari dalam fungsi itu sendiri atau fungsi yang melakukan pemanggilan terhadap dirinya sendiri.

    Contoh implementasi secara umum yaitu pada tree dan graph. Secara khusus contohnya adalah dalam penyelesaian masalah faktorial dan fibonacci.

  • 113080245_pti2009 // March 29, 2009 at 11:26 am | Reply

    Rekursi menjadi salah satu ide sentral dalam ilmu komputer, yaitu cara berpikir dan menyelesaikan permasalahan. Idenya adalah dengan memecah satu masalah kompleks menjadi masalah yang lebih sederhana, lalu memecah bagian masalah tersebut menjadi masalah yang lebih sederhana lagi, dimana proses pengulangan yang terjadi tersebut tidak memiliki batas (infinite).

    Cara rekursi bekerja sangat sederhana, yaitu dengan membuat suatu fungsi atau prosedur yang memanggil fungsi/prosedur itu sendiri. Yang perlu diingat adalah proses rekursi itu berbeda dengan proses iterasi. Bedanya adalah jika proses rekursi adalah proses fungsi/prosedur yang MENANGGIL fungsi/prosedur itu sendiri, sedangkan proses iterasi proses pengulangan DALAM suatu fungsi/prosedur.

    Kelemahan rekursi adalah kita tidak bisa tahu sampai seberapa jauh rekursi melakukan pengulangan, sehingga untuk mencegah pemakaian memory yang berlebihan, rekursi membutuhkan batasan yang berguna untuk menghentikan pengulangan tersebut.

    Contoh rekursi UMUM:
    Optical feedback yang terjadi apabila sebuah camera recorder merekam monitornya sendiri.

    Contoh rekursi KHUSUS:
    mencetak tulisan “hello!” dari kiri ke kanan layar:
    uses
    crt;
    procedure rekursi;
    begin
    if wherex < 80 then
    begin
    write(‘hello!’);
    rekursi;
    end;
    end;

  • 113080034_PTI2009 // March 29, 2009 at 12:19 pm | Reply

    Recursion atau rekursi itu diartikan sebagai prosedur atau fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri. gunanya untk melakukan proses berulang yang sulit diketahui kapan akan berakhir.

    *Contoh globalnya adalah Efek Droste. yaitu sebuah istilah yang berasal dari bahasa Belanda yang mengacu kepada rekursi. Gambar yang bercirikan efek Droste memuat gambar yang sama dengan ukuran yang lebih kecil yang berada di posisi yang realistik. Gambar yang berukuran lebih kecil ini kemudian memuat gambar yang sama dengan ukuran yang lebih kecil lagi, dan seterusnya. Secara teoritis, hal ini dapat terus berlanjut selama resolusi dari gambar tersebut memungkinkan untuk memuatnya.
    Nama efek ini berasal dari sebuah gambar dari kotak bubuk coklat Droste, sebuah merek Belanda. Di gambar tersebut termuat seorang biarawati yang membawa baki berisi segelas coklat panas dan sebuah kotak dengan merek yang sama.

    *Contoh listing programnya:

    1.function faktorial(n : integer):integer;
    begin
    if (n = 0) then faktorial := 1
    else faktorial := n * faktorial(n – 1);
    end;

    2.program yang tujuannya mencetak tulisan “M” dari kiri ke kanan layar.

    REKURSI
    uses
    crt;

    procedure rekursi;
    begin
    if wherex < 80 then
    begin
    write(‘M’);
    rekursi;
    end;
    end;

    begin
    clrscr;
    rekursi;
    end.

  • 113080142_PTI 2009 // March 29, 2009 at 12:50 pm | Reply

    DEFINISI FORMAL :
    Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung
    fungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplementasikan dalam sebuah fungsi yang
    memanggil dirinya sendiri.
    proses pemnggilannya : RECURSION.
    istilahnya seperti iklan Nutrisari , “jeruk kok minum jeruk?”. ^_^
    DEFINISI MENURUT SAYA :
    Rekursif merupakan salah satu teknik yang perlu Kita kuasai dalam dunia pemrograman. Sering kali,
    masalah yang sangat kompleks, terutama di bidang Artificial Intelligence atau Kecerdasan Buatan. Oleh Karena itu. Rekursif hadir untuk mebuat masalah2 rumit tsb menjadi lebih kecil dan akan nampak lebih kompleks. rekursif adalah suatu metode yang memanggil dirinya sendiri secara langsung maupun tidak langsung.
    *kasus induksi: pemecahan masalah dengan menyelesaika masalah serupa yg lebih sederhana ( pakai recursive calls guyz)
    *kasus penyetop (base case):mencegah terjadi rekursi tak berhingga

    EXAMPLE:

    1.Fungsi pangkat, faktorial, dan barisan fibonacci
    versi delphi:
    program Pangkat;
    {$APPTYPE CONSOLE}
    uses SysUtils;
    type
    TTestPangkat = class(TObject)
    class function PangkatRekursif(x, y: integer): integer;
    end;
    { TTestPangkat }
    class function TTestPangkat.PangkatRekursif(x, y: integer): integer;
    begin
    if (y = 0) then
    Result := 1
    else
    Result := x * PangkatRekursif(x, y – 1);
    end;
    begin
    writeln(‘10 dipangkatkan 3 = ‘ +
    Format(‘%d’, [TestPangkat.PangkatRekursif(10, 3)]));
    end.
    2. Contohke dua saya kaitkan dengan makanan (nyummie)
    masalahnya adalah memotong roti tawar tipis2 sampai habis.. Jika masalah ini akan dipecahkan
    secara rekursif, maka solusinya adalah:
    1. Jika roti sudah habis atau potongannya sudah paling tipis, pemotongan roti selesai
    2. Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2
    untuk sisa potongannya.
    Yupe, “semudah” itulah fungsi rekursif! ☺

  • 113081059_PTI2009 // March 29, 2009 at 12:59 pm | Reply

    RECURSION

    Dalam ilmu komputer, fungsi yang memanggil dirinya secara langsung atau lewat fungsi lain disebut rekursif dan proses pemanggilan tersebut disebut rekursi(recursion). Jika kita melihat lebih teliti, ternyata banyak contoh rekursif ditengah kehidupan kita, sebagai contoh (contoh global) jika kita meletakan dua buah cermin secara sejajar dan berhadapan. Bayangan yang terjadi pada kedua cermin tersebut yang disebut rekursi. Pada imperative language, untuk mendefinisikan konstruksi pengulangan digunakan “while” dan “for”. Bahasa pemrograman yang memiliki tingkat lebih tinggi tidak mendefinisikan konstruksi pengulangan pada repetitive action nya tetapi sepenuhnya menggunakan prinsip rekursif untuk memanggil fungsi secara berulang. Sesungguhnya, iterasi atau perkataan berulang-ulang merupakan peralatan yang lebih efisien jika dibandingkan dengan recursif tetapi recursi menyediakan solusi yang lebih baik untuk suatu masalah. Pada rekursif, method dapat memanggil dirinya sendiri. Data yang berada dalam method tersebut seperti argument disimpan sementara kedalam stack sampai method pemanggilnya diselesaikan.

    Menyelesaikan masalah dengan perulangan menggunakan iterasi secara tegas juga digunakan pada struktur kontrol pengulangan. Sementara itu, untuk rekursif, task diulangi dengan memanggil sebuah method pengulangan. Maksud dari hal tersebut adalah untuk menggambarkan sebuah masalah kedalam lingkup yang lebih kecil dari pengulangan itu sendiri. Pertimbangan suatu perhitungan yang faktorial dalam penentuan bilangan bulat. Definisi rekursif dari hal tersebut dapat diuraikan sebagai berikut: factorial(n) = factorial(n-1) * n; factorial(1) = 1. Sebagai contohnya, nilai faktorial dari 2 sama dengan faktorial (1)*2, dimana hasilnya adalah 2. Faktorial dari 3 adalah 6, dimana sama dengan faktorial dari (2)*3.

    Dengan iterasi, proses diakhiri ketika kondisi loop gagal atau salah. Dalam kasus dari penggunaan rekursif, proses yang berakhir dengan kondisi tertentu disebut permasalahan dasar yang telah tercukupi oleh suatu pembatasan kondisi. Permasalahan yang mendasar merupakan kejadian yang paling kecil dari sebuah masalah.

    Listing program berikut ini menunjukkan bagaimana menghitung faktorial menggunakan teknik iterasi.

    class FactorialIter {
    static int factorial(int n) {
    int result = 1;
    for (int i = n; i > 1; i–) {
    result *= i;
    }
    return result;
    }
    public static void main(String args[]) {
    int n = Integer.parseInt(args[0]);
    System.out.println(factorial(n));
    }
    }

    Dibawah ini merupakan listing program yang sama tetapi menggunakan rekursif.

    class FactorialRecur {
    static int factorial(int n) {
    if (n == 1) { /* The base case */
    return 1;
    }
    /* Recursive definition; Self-invocation */
    return factorial(n-1)*n;
    }
    public static void main(String args[]) {
    int n = Integer.parseInt(args[0]);
    System.out.println(factorial(n));
    }
    }

    Rekursi dikhususkan untuk menyelesaikan perhitungan yang kompleks dan rumit. Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.
    Perhatikan contoh source code yang ditulis dalam bahasa pemrograman C++ berikut. Source code berikut adalah contoh penyelesaian komputasi faktorial tanpa menggunakan teknik rekursi.

    1 #include
    2 typedef unsigned int UINT;
    3
    4 long Factorial(UINT aNumber)
    5 {
    6 if (aNumber == 0)
    7 {
    8 return 1;
    9 }
    10
    11 long result = 1;
    12 for (UINT i = 0; i < aNumber; i++)
    13 {
    14 result = result*(i + 1);
    15 }
    16
    17 return result;
    18 }
    19
    20 int main()
    21 {
    22 std::cout << Factorial(6);
    23 return 0;
    24 }

    Sedangkan contoh penyelesaian komputasi faktorial dengan teknik rekursi adalah seperti contoh berikut

    1 #include
    2 typedef unsigned int UINT;
    3
    4 long Factorial(UINT aNumber)
    5 {
    6 if (aNumber == 0)
    7 return 1;
    8
    9 return aNumber*Factorial(aNumber-1);
    10 }
    11
    12 int main()
    13 {
    14 std::cout << Factorial(5);
    15 return 0;
    16 }

    Seperti yang diperlihatkan contoh ke-dua, fungsi Factorial dalam implementasinya ternyata memanggil dirinya sendiri. Rekursi dapat dibayangkan sebagai proses berantai yang berjalan tanpa perulangan (looping) secara eksplisit dan prosesnya bisa jadi tak berhingga. Untuk menghindari infinite process (proses yang tidak berkesudahan), fungsi yang mengimplementasikan rekursi harus menambahkan syarat yang mendefinisikan kondisi di mana proses rekursi selesai dilakukan. Pada contoh ke-dua, syarat yang dimaksud ditunjukan seperti pada baris ke-enam dan ke-tujuh:

    if (aNumber == 0)

    return 1;

    Dengan penambahan kondisi seperti di atas, maka proses komputasi pada fungsi factorial dengan rekursi tersebut akan berhenti jika nilai masukan dari fungsi telah sama dengan nol (0).
    Secara umum, algoritme rekursif selalu mengandung dua macam kasus:

    1 kasus induksi: satu atau lebih kasus yang pemecahan masalahnya dilakukan dengan menyelesaikan masalah serupa yang lebih sederhana (yaitu menggunakan recursive calls)‏

    2 kasus dasar atau kasus penyetop (base case): satu atau lebih kasus yang sudah sederhana sehingga pemecahan masalahnya tidak perlu lagi menggunakan recursive-calls.
    Supaya tidak terjadi rekursi yang tak berhingga, setiap langkah rekursif haruslah mengarah ke kasus penyetop (base case).

  • 113080017_PTI2009 // March 29, 2009 at 1:17 pm | Reply

    REKURSI
    Rekursi adalah fungsi yang memanggil dirinya sendiri sehingga akan terjadi perulangan secara otomatis, yang prinsip kerjanya memecah masalah menjadi masalah-masalah yang lebih kecil,dan digunakan untuk menyelesaikan proses perulangan yang tidak diketahui kapan berakhirnya.Contoh dalam menghitung faktorial dan deret fibonanci.Dalam bahasa pemrograman, rekursi dapat dilakukan tanpa harus menggunakan perintah looping seperti while do, repeat until,dll.Jdi kita dapat menggunakan rekursi ketika suatu problem bisa dipecah2 menjadi sejumlah subproblem yang identik.
    contoh implementasinya secara khusus(dalam dunia informatika):
    1.untuk mencari pangkat
    2.untuk mencari akar
    3.untuk mencari faktorial
    Faktorial dapat dibuat dengan menerapkan rekursi. Berikut ini adalah fungsi faktorial rekursif dari sebuah program.
    int faktorial()int a)
    if (a==0||a==1)
    return 1
    else
    return a*faktorial (a-1)

    Fungsi faktorial diatas akan melakukan rekursi selama nilainya > 1

    4.untuk mencari deret fibonanci
    Contoh program berikut merupakan contoh rekursi untuk menghitungan bilangan fibonnaci
    Var
    suku, nilai : integer;
    function fibo(n:integer):longint;
    begin
    if (n=1) or (n=2) then
    fibo:=1
    else
    fibo := fibo(n-1)+fibo(n-2);
    end;

    begin
    for suku := 1 to 10 do
    writeln(suku:3,fibo(suku):8);
    readln
    end.
    5.untuk membuat menu dan sub menu dalam website
    6.pada binary search .
    - Lihat elemen tengah. Kalo itu adalah elemen yg dicari, stop.
    - Jika elemen itu = elemen yang dicari, lakukan binary search pada setengah array terakhir
    7.Pada Permainan menara hanoi

    contoh implementasi rekursi secara global:
    -pada saat kita meletakkan dua buah cermin secara berhadapan,,bayangan yang terjadi pada kedua cermin tersebut merupakan contoh implementasi rekursi.
    -misal dalam suatu gambar terdapat gambar yang serupa,di dalamnya lagi terdapat gambar yang serupa dan begitu seterusnya

  • 113080023_PTI2009 // March 29, 2009 at 1:17 pm | Reply

    setelah saya membaca referensi, fungsi rekursi adalah suatu fungsi yang memanggil dirinya sendiri. biasanya di gunakan pada proses perulangan yang tidak diketahui kapan akan berakhir. atau lebih mudahnya, perulangan yang jumlah perulangannya belum diketahui. seperti pada suatu fungsi misal untuk menghitung faktorial bilangan atau untuk menghitung deret fibonacci. rekursi berbeda dengan iterasi. jika rekursi adalah fungsi yang memanggil dirinya sendiri, maka iterasi adalah perulangan pada suatu fiungsi atau prosedure. kedua nya mungkin memang sama-sama belum diketahui jumlah perulangannya. namun, sesungguhnya, keduanya merupakan sesuatu yang berbeda. selain itu, banyak bahasa pemrograman yang mendukung penggunaan funsi rekursi. misalnya pascal/visual basic.

    contoh implementasi khusus:
    1. procedure cari deret

    Procedure Deret(N: Integer);

    Begin

    Write(n:3);

    If n < 10 then

    Deret (n+1);

    End;

    Var

    N: integer;

    Begin

    N:=0;

    Deret (n);

    Readln;

    End.

    2. procedure tulis kata pascal

    Program Rekursi_pascal;
    uses Crt;
    procedure rekursi(A:integer);
    begin
    if A nilai X dapat kita tentukan sendiri
    rekursi(x);
    readln;
    end.
    (dari http://budaktasik.wordpress.com/2007/06/12/rekursi/)

    3. fungsi perkalian

    int perkalian(int bilangan1, int bilangan2)

    {

    If(bilangan2==1)return bilangan1;

    else return bilangan1+perkalian(bilangan1,bilangan2-1);

    }

    Baris 1=Base Case

    Baris 2=Recursive Case

    Jika program diatas diberi input Bilangan1=7 dan Bilngan2=6 maka outputnya:

    42

    (dari http://blog.its.ac.id/aryuanda/archives/32)

    contoh implementasi global:
    1. pada saat berada di dalam ruangan dengan cermin di kedua sisi.
    jika cermin tersebut berhadapan 180 derajat, maka akan terjadi rekursi tak terhingga. maka rekursi ini dinamakan rekursi takterbatas (infinite recursion).

    2. misal pada iklan sebuah produk. dalam kemasan produk tersebut ada model yang membawa produk. begitu akan terbentuk rekursif yang tak terhingga.
    (hapz90.blogspot.com/2009/03/rekursi.html)

  • 113080124_PTI2009 // March 29, 2009 at 1:23 pm | Reply

    rekursi adalah procedure atau function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir. Fungsi ini akan terus berjalan sampai kondisi berhenti terpenuhi.

    Rekursi menurut identitas kita artinya fungsi yang memanggil dirinya sendiri dan berulang kali, seperti looping

    Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll.

    contoh umum :

    Rekursi dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi.

    contoh khusus :

    - Menghitung nilai faktorial

    misal n=5
    maka
    5!=5*4*3*2*1
    n!=n*n-1*n-2*…*n-(n-1)

    function faktorial(n : integer):integer;
    begin
    if (n = 0) then faktorial := 1
    else faktorial := n * faktorial(n – 1);
    end;

    -menghitung deret fibonaci

    Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

  • 113081016_PTI2009 // March 29, 2009 at 1:34 pm | Reply

    Rekursif merupakan salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.
    Dalam dunia pemrograman, rekursi diimplementasikan dalam sebuah fungsi yang memanggil dirinya sendiri. Istilahnya Joshua, “jeruk kok minum jeruk?”, karena ada kalanya kita mengalami kesulitan untuk mendefinisikan suatu obyek secara eksplisit dan mungkin lebih mudah untuk mendefinisikan obyek tersebut dengan menggunakan dirinya sendiri. Algoritma rekursif harus dinyatakan dalam prosedur atau fungsi karena hanyalah prosedur dan fungsi yang dapat dipanggil dalam sebuah program.

    CONTOH GLOBAL

    Contoh rekursif yang sederhana: Masalah memotong roti tawar tipis‐tipis sampai habis.

    Ide dasar dalam memecahkan suatu masalah dengan rekursif adalah sebagai berikut:
    1. Tentukan kasus penyetop atau kasus dasar di mana pemanggilan rekursif tidak lagi diperlukan (karena solusinya sudah diperoleh)
    2. Terapkan suatu langkah untuk menggiring kasus kompleks ke kasus penyetopnya dengan metode yang mencerminkan fungsinya

    Jika masalah ini akan dipecahkan secara rekursif, maka solusinya adalah:
    1. Jika roti sudah habis atau potongannya sudah paling tipis, pemotongan roti selesai
    2. Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2 untuk sisa potongannya.

    CONTOH KHUSUS

    Contoh rekursif yang khusus: Masalah faktorial
    • Fungsi factorial dari bilangan bulat positif n didefinisikan sebagai berikut:
    n!= n.(n-1)! , jika n>1
    n!= 1 , jika n=0, 1
    • contoh :
    3!= 3. 2!
    3!= 3. 2. 1!
    3!= 3. 2. 1
    3!= 6
    Kita dapat menuliskan algoritma fungsi penghitung factorial seperti dibawah ini
    1. if n = 0 then
    2. return 1;
    3. else
    4. Return n * Faktorial (n-1)
    5. endif
    • Pada baris 1 dari fungsi diatas,
    nilai n dicek sama dengan 0 atau 1,
    jika ya, maka fungsi mengembalikan nilai 1 {baris 4},
    jika tidak, fungsi mengembalikan nilai n * Faktorial (n -1)
    {baris 4}
    • disinilah letak proses rekursif itu, perhatikan fungsi factorial ini memanggil dirinya sendiri tetapi dengan parameter (n-1)

  • 113080234_PTI2009 // March 29, 2009 at 1:39 pm | Reply

    Rekursi adalah sebuah proses yang mengimplementasikan dirinya sendiri atau bisa disebut proses yang memanggil

    dirinya sendiri .

    Dalam bahasa pemograman rekursi adalah sebuah proses dimana sebuah fungsi memanggil dirinya sendiri secara langsung

    maupun secara tidak langsung .

    Dalam rekursi sebenarnya terkandung pengertian fungsi, perbedaannya adalah
    rekursi bisa memanggil dirinya sendiri sedangkan fungsi harus dipanggil lewat pemanggil
    fungsi. Suatu fungsi tidak hanya bisa memanggil fungsi lain, melainkan juga bisa
    memanggil dirinya sendiri. Pemanggilan dirinya sendiri bisa berarti proses berulang yang
    tidak bisa diketahui kapan berakhir sehingga dalam rekursi harus ada syarat-syarat
    berikut:
    • Ada titik pemberhentian sebagai pengendali rekursi.
    • Adanya langkah induksi yang menuju pada titik pemberhentian.

    Contoh proses rekursi secara umum :

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

    Contoh proses rekursi secara khusus :

    uses
    crt;

    procedure rekursi;
    begin
    if wherex < 80 then
    begin
    write(‘M’);
    rekursi;
    end;
    end;

    begin
    clrscr;
    rekursi;
    end.

  • 113080109_PTI2009 // March 29, 2009 at 2:20 pm | Reply

    rekursi (recursion), pada intinya adalah pemanggilan diri sendiri. pada bahasa pemrograman, rekursi biasanya mengacu pada prosedur atau fungsi yang di dalamnya akan memanggil prosedur atau fungsi itu sendiri.

    rekursi berguna untuk mempersingkat penulisan program atau algoritma yang berulang-ulang. memang akan menjadi lebih kompleks, tetapi penyelesaiannya lebih singkat.

    dalam membuat algoritma rekursi, perlu dibuatkan suatu syarat khusus untuk menghentikan pemanggilan. karena jika tidak, algoritma tersebut akan mengalami ‘eternal looping’.

    contoh rekursi secara global yang paling mudah adalah ketika dua cermin saling dihadapkan satu sama lain, sehingga di dalam cermin akan tampak cermin lagi. contoh lainnya adalah sebuah cerita ‘A’ yang karakter di dalamnya akan menceritakan cerita ‘A’ juga.

    pada bahasa pemrograman, contoh rekursi antara lain fungsi faktorial dan fibbonaci

  • 113080002_PTI2009 // March 29, 2009 at 2:25 pm | Reply

    REKURSI
    Rekursi adalah suatu prosedur atau fungsi dalam algoritma yang mampu memanggil dirinya sendiri. Jadi, secara langsung akan terjadi pengulangan yang akan berhenti apabila syarat untuk melakukan pengulangan tersebut tidak terpenuhi (looping).
    Dilakukan sebagai fungsi ‘if’. Dalam rekursi dikenal 2 istilah :
    • Simple case (base case) adalah kondisi untuk menghentikan rekursi
    • Recursive step adalah kondisi untuk melakukan rekursi
    Pada setiap langkah yang dilakukan, akan terjadi pengecekan kondisi. Dan looping akan berlangsung jika Recursive step terpenuhi. Jika dalam pengecekan ditemukan kondisi Simple case (base case), maka pengulangan akan berhenti dan program akan keluar dari prosedur atau fungsi rekursi tersebut.
    Contoh soal :
    Menghitung faktorial dari suatu bilangan
    function faktorial(n : integer):integer;
    begin
    if (n = 0) then faktorial := 1
    else
    faktorial:= n * faktorial(n – 1);
    end;

    Menghitung perkalian dari 2 bilangan
    function multiply (m,n : integer):integer;
    begin
    if (n = 1) then multiply :=m
    else
    faktorial := m + multiply(m,n-1);
    end;

     Stack adalah struktur data dimana data yang terakhir adalah data yang diproses terlebih dahulu.
     Diimplementasikan dalam sebuah array
     Dalam stack dapat menambah dengan perintah push
     Mengurangi dengan perintah pop.
    Misalnya jika kita ingin menghitung faktorial dari bilangan 3, maka jika menggunakan algoritma di atas prosedural yang terjadi adalah
     Mengecek nilai n (karena n ≠ 0), maka akan masuk ke langkah berikutnya, yaitu ke langkah ‘else faktorial:= n*faktorial(n-1);
     Pada langkah pertama di atas,maka secara otomatis nilai n akan berkurang sacar bertahap, dan pengulangan akan terjadi selama nilai n ≠ 0;
     Jika kondisi n ≠ 0 terpenuhi (Simple case), maka pengulangan akan berhenti dan program akan berakhir.

    Contoh lain :
    Deret fibonacci adalah deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    Menghitung deret fibonacci
    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

    Pada umumnya, kita sulit membedakan antara rekersi dan iterasi.
    Sebagian mahasiswa sulit membedakan antara Rekursi dan Iterasi, karena keduanya melakukan perulangan yang jumlah perulangannya sulit ditentukan kapan berakhir. Padahal secara mudah didefinisikan: Rekursi yaitu prosedur atau fungsi yang memanggil dirinya sendiri, sedangkan Iterasi adalah proses perulangan dalam suatu prosedur atau fungsi.
    Berikut ini adalah contoh yang paling mudah dipahami. Tujuannya mencetak tulisan “M” dari kiri ke kanan layar.
    REKURSI
    uses
    crt;

    procedure rekursi;
    begin
    if wherex < 80 then
    begin
    write(‘M’);
    rekursi;
    end;
    end;

    begin
    clrscr;
    rekursi;
    end.
    ITERASI
    uses crt;

    procedure iterasi;
    begin
    while wherex < 80 do
    begin
    write(‘M’);
    end;
    end;

    begin
    clrscr;
    iterasi;
    end.
    Dari dua program pendek di atas, anda tentu mendapatkan sebuah fakta baru, yaitu rekursi dapat melakukan perulangan tanpa bantuan FOR NEXT, WHILE DO, REPEAT UNTIL, dsb.
    Beberapa buku menyatakan iterasi lebih baik, lebih mudah dipahami, dan lebih terstruktur daripada rekursi, namun menurut saya, rekursi mempunyai keistimewaan tertentu yang sulit digantikan oleh iterasi.
    Persamaan antara rekursif dan iterasi :
     Sama-sama merupakan bentuk perulangan
     Dilakukan kondisi pengecekan terlebih dahulu sebelum melakukan pengulangan

    Kelebihan rekursif :
     Solusi msangatlah efisien
     Dapat memecahkan masalah yang sulit dengan metode yang mudah dan singkat
    Kekurangan rekursif :
     Sulit dipahami
     Perlu stack besar

  • jx3onspot // March 29, 2009 at 2:28 pm | Reply

    1. Recursion adalah suatu metode dalam bahasa pemrograman,di mana metode tersebut dapat meminimalisirkan suatu pendeklarasian fungsi sehingga fungsi tersebut menjadi jauh lebih sederhana dan efisien ,serta dapat memberikan nilai keterbatasan pada suatu database yang awalnya sangat kompleks dan tidak terbatas/sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Untuk lebih mudahnya,bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri

    2. Contoh dari implementasi recursion:

    Recursion dalam mendefinisikan fungsi factorial secara global:

    unsigned int factorial(unsigned int n)
    {
    if (n <= 1) return 1;
    else
    {
    return n * factorial(n-1);
    }
    }

    Recursion dalam struktur data bercabang secara khusus:

    void ProcessTree(node x) {
    unsigned int i = 0;
    while (i < x.count) {
    ProcessTree(x.children[i]);
    i++;
    }
    ProcessNode(x);
    }

  • 113081008_PTI2009 // March 29, 2009 at 2:29 pm | Reply

    *Algoritma Rekusif, setahu saya adalah sebuah algoritma dimana algoritma tersebut memanggil dirinya sendiri saat dijalankan.

    Menurut wikipedia.com:
    Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri. Lebih jelasnya (dan untuk menghalaukan penampilan kesirkularan dalam definisi), langkah-langkah “rumit” dari proses dijelaskan dengan langkah-langkah yang lebih “sederhana”, dan kejadian yang paling “sederhana” diberi secara gamblang.
    Dalam bahasa pemrograman, rekursi berarti memanggil suatu fungsi dari dalam fungsi itu sendiri. Sebagai contoh, dalam Bahasa Pemrograman C:
    fungsi() {

    fungsi();

    }
    Dalam hal ini, perlu ditambahkan kondisi untuk menghindari loop tak terhingga.
    Contoh yang lainnya adalah proses perhitungan nilai fakultet dari suatu bilangan.

    *Contoh umumnya adalah pada gambar dalam bungkus kotak kakao ‘DROSTE’ yang menggambarkan seorang wanita membawa sebungkus kotak kakao yang bergambar dirinya juga dan dalam gambar bingkus kotak kakao ada lagi gambar dirinya, dan begitu seterusnya. Dikenal sbg. Efek Droste.

    Menurut http://www.stttelkom.ac.id oleh : ZK Abdurahman Baizal
    Algoritma Rekursif
    Bentuk rekursif :
    suatu subrutin/fungsi/ prosedur yang memanggil dirinya sendiri. Bentuk dimana pemanggilan subrutin terdapat dalam body subrutin Dengan rekursi, program akan lebih mudah dilihat.

    Contohnya dalam menghitung faktorial:
    Menghitung faktorial
    Function Faktorial (input n : integer) → integer
    {menghasilkan nilai n!, n tidak negatif}
    Algoritma
    If n=0 then
    Return 1
    Else
    Return ( n*faktorial (n-1) )
    Endif

    Bentuk rekursi bertujuan untuk :
    menyederhanakan penulisan program
    menggantikan bentuk iterasi

    Syarat bentuk rekursif:
    ada kondisi terminal (basis), ada subroutine call yang melibatkan parameter yang nilainya menuju kondisi terminal (recurrence).

    *Jadi menurut pandangan saya, dapat diambil kesimpulan bahwa algoritma rekursif (yang berkaitan dengan identitas kita) adalah suatu algoritma yang akan memanggil dirinya sendiri dimana algoritma tersebut akan mempermudah penulisan algoritma untuk menggantikan iterasi, dan harus mempunyai dua kondisi khusus yaitu basis (terminal) dan rekurens (sub-routine call menuju terminal).

  • jx3onspot // March 29, 2009 at 2:30 pm | Reply

    113081083_PTI2009
    MAAF SUBJECT-NYA BEDA

    1. Recursion adalah suatu metode dalam bahasa pemrograman,di mana metode tersebut dapat meminimalisirkan suatu pendeklarasian fungsi sehingga fungsi tersebut menjadi jauh lebih sederhana dan efisien ,serta dapat memberikan nilai keterbatasan pada suatu database yang awalnya sangat kompleks dan tidak terbatas/sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Untuk lebih mudahnya,bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri

    2. Contoh dari implementasi recursion:

    Recursion dalam mendefinisikan fungsi factorial secara global:

    unsigned int factorial(unsigned int n)
    {
    if (n <= 1) return 1;
    else
    {
    return n * factorial(n-1);
    }
    }

    Recursion dalam struktur data bercabang secara khusus:

    void ProcessTree(node x) {
    unsigned int i = 0;
    while (i < x.count) {
    ProcessTree(x.children[i]);
    i++;
    }
    ProcessNode(x);
    }

  • 113081074_PTI2009 // March 29, 2009 at 2:30 pm | Reply

    RECURSION

    Recursion atau biasa disebut sebagai rekursi adalah suatu istilah yang diberikan pada fungsi dalam definisi mengimplementasikan dirinya sendiri.

    Recursion biasa digunakan dalam menyelesaikan perhitungan yang rumit dan kompleks dengan prinsip memecahkan masalah yang kompleks tersebut menjadi masalah-masalah yang lebih kecil. Sebuah fungsi rekursi akan melakukan perulangan yang sulit ditentukan kapan akan berakhir.

    Nah, untuk lebih mudahnya lagi rekursi menurut saya adalah suatu prosedur atau fungsi yang memanggil dirinya sendiri untuk melakukan perulangan.

    Ternyata banyak sekali contoh-contoh rekursi disekitar kita seperti contoh umumnya dalam dunia nyata :
    * apabila kita meletakkan dua cermin secara berhadapan dan sejajar, bayangan yang terjadi pada kedua cermin itulah yang disebut rekursi .

    dan contoh khusunya dalam dunia pemrograman :
    * Fibonacci
    f (n) = f (n – 1) + f (n – 2)

    * Faktorial:
    1! = 1
    2! = 1 x 2 = 2
    3! = 1 x 2 x 3 = 2! x 3 = 6
    N! = 1 x 2 x 3 x …. (N-2) x (N-1) x N = (N-1)! x N

  • 113080024_PTI2009 // March 29, 2009 at 2:53 pm | Reply

    1. difinisi recursi

    recursi merupakan suatu fungsi yang memungkinkan untuk mamnggil dirinya sendiri. istilah ini secara umum artinya adalah memanggil ulang fungsi yang sama dengan fungsi tersebut. oleh sebab itu terkadang rekursi tida diketahui kapan atau syarat apa yang harus dipenuhi untuk berhenti.

    rekursi juga biasanya digunakan untuk menyelesaikan masalah matematika atau komputer yang rumit atau sulit. sehingga dengan bantuan dari rekursi ini kita dapat membagi masalh tersebut menjadi beberapa bagian sehingga kita dapat lebih mudah unutk menyelesaikannya.

    recursi dapat diartikan juga sebagai fungsi untuk mempersingkat perintah dakam suatu pemrograman.

    2. contoh recursi
    contoh umumnya adalah
    -> saat kita membawa cermin didepan cermin makan kita akan melihat didalam cermin yang kita pegang terdapat cermin lagi, dan itu terus bertumpuk yang tak terdefinisi jumlahnya.

    -> setiap manusia pasti mempunyai orang tua, dan orang tua kita pun mempunyai orang tua lagi, begitu berlanjut seterusnya sampai tidak tahu batasannya.

    contoh khusunya adalah saat kita menggunakannya dalam pemrograman untuk mencari faktorial suatu bilangan.

    dari ketiga cintih tersebuat dapat disimpulkan bahwa untuk menghindari penggunaan recursi maka kita diharuskan untuk membuat batasan atau kondisi yang memungkinkan untuk berhenti, agar tidak terjadi looping forever. contohnya sebagai berikut:

    if (aNumber == 0)
    return 1;

  • 113080188_PTI2009 // March 29, 2009 at 3:13 pm | Reply

    Rekursi adalah proses dari sebuah prosedur yang berjalan ketika salah satu dari langkah di prosedur tersebut berperan dalam mengulang langkah prosedur tersebut.sebuah prosedur yang berjalan melalui rekursi disebut dengan rekursif
    Untuk memahami sebuah rekursi,kita harus memahami dulu perbedaan antara prosedur dan prosedur yang berjalan.prosedur adalah sebuah kelompok tahapan yang akan dijalankan berdasarkan peraturanya.sedangkan prosedur yang berjalan,berperan dalam mengikuti peraturan yang telah ada.Rekursif merupakan salah satu teknik yang sangat perlu Kita kuasai dalam dunia informatika khususnya pemrograman.Rekursif hadir untuk mebuat masalah2 rumit tsb menjadi lebih kecil dan akan nampak lebih mudah dan simpel.Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.

    Contoh umum rekursi:

    Darah yang mengalir dijantung karena prosesnya dilakukan secara berulang dan tidak tahu kapan akan berhenti.

    Contoh ukhusus rekursi:

    rekursi dalam fungsi dan procedure suatu program misalnya pascal.Cara rekursi bekerja sangat sederhana, yaitu dengan membuat suatu fungsi atau prosedur yang memanggil fungsi/prosedur itu sendiri. Yang perlu diingat adalah proses rekursi itu berbeda dengan proses iterasi. Bedanya adalah jika proses rekursi adalah proses fungsi/prosedur yang MENANGGIL fungsi/prosedur itu sendiri, sedangkan proses adalah iterasi proses pengulangan DALAM suatu fungsi/prosedur.

  • 113081028_PTI2009 // March 29, 2009 at 3:14 pm | Reply

    [ DEFINISI UMUM REKURSI ]

    Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri. Lebih jelasnya (dan untuk menghalaukan penampilan kesirkularan dalam definisi), langkah-langkah “rumit” dari proses dijelaskan dengan langkah-langkah yang lebih “sederhana”, dan kejadian yang paling sederhana” diberi secara gamblang.

    nb:definisi di atas adalah definisi menurut Pakde Wiki.Klo ada yang g setuju ya wajar aja. namanya juga pendapat. Aku juga g setuju.Terlalu abstrak dan g jelas pengertian di atas. G konkret pokoknya. haha
    Lanjut Gan…
    Ni yang di bawah ini baru pengertian menurut seorang Rofid Rahmadi sesuai dengan jati diri kita dan identitas kita sebagai anak INFORMATIKA
    ——————————————————-

    [ DEFINISI REKURSI BAGI KITA ANAK IF ]

    Recursion atau rekursi merupakan istilah dalam pemrogaman komputer (dalam bahasa pemrogaman apapun : Pascal,C,C++,Java,Basic,dll) dimana suatu fungsi atau prosedur memanggil dirinya sendiri. Hal ini berarti di dalam tubuh fungsi/prosedur itu terdapat

    sintax mengeksekusi fungsi/prosedur itu sendiri.
    ——————————————————–

    [ IMPLEMENTASI UMUM ]
    Ya…Implementasi paling gampang dapat dilihat pas kita semester 1 dulu pas praktikum Pascal di Prolab..
    Saat kita lagi mesra2nya ngoding sama PASCAL .Misalnya :

    procedure rofidganteng;
    begin
    write(‘Apakah Rofid itu Ganteng?(ya/tidak) : ‘);readln(a);
    if a’ya’ then rofidganteng;
    end;

    Yang di atas itu contoh yang paling simple dan jujur.haha ^_^
    ——————————————————–

    [ IMPLEMeNTASI KHUSUS ]
    Dalam contoh di atas dapat dikatakan bahwa rekursi itu adalah sebuah perulangan hanya saja agak berbeda dengan perulangan pada umumnya seperti dalam PASCAL ( repeat..until,for..to do, dan while..do).
    Namun tentu saja rekursi memiliki perbedaan dengan perulangan biasa. Sejauh yang saya tau

    rekursi akan lebih efisien dan efektif dari pada perulangan untuk masalah-masalah tertentu seperti pada algoritma mencari nilai faktorial suatu bilangan. Dalam masalah ini rekursi akan menunjukkan ke-efektifan yang amat sangat dalam logika dan penulisan code program.

    function faktorial(n : integer):integer;
    begin
    if (n = 0) then
    faktorial := 1
    else
    faktorial := n * faktorial(n – 1);
    end;

    Jelas terlihat bahwa code sangat singkat dan efektif meskipun sebenarnya fungsi di atas terus berulang sampai nilai n=0.
    ——————————————————–

  • 113081015_PTI2009 // March 29, 2009 at 3:27 pm | Reply

    RECURSION

    Pada umumnya, recursion (rekursi) adalah suatu metode yang digunakan untuk mendefinisikan suatu fungsi dimana definisi fungsi itu ada dalam proses yang berlangsung pada fungsi itu sendiri.

    Dalam bidang informatika, recursion (rekursi) adalah suatu procedure atau functions yang dapat memanggil dirinya sendiri. Atau dengan kata lain functions yang didefinisikan tersebut ada dalam pengaplikasian functions itu sendiri.

    Rekursi dapat digunakan sebagai alternatif dari iterasi (pengulangan) karena rekursi sendiri berguna untuk melakukan proses pengulangan yang sulit diketahui kapan pengulangan itu akan berakhir.

    Banyak orang yang salah dalam menentukan apakah suatu fungsi atau prosedur itu merupakan rekursi ataukah hanya merupakan bentuk iterasi biasa. Hal ini dikarenakan keduanya sama-sama merupakan bentuk pengulangan yang melakukan pengecekan kondisi pengulangan di awal proses. Walaupun begitu, keduanya tentu saja mempunyai perbedaan yang mendasar. Pada rekursi, ada istilah recursive step, yaitu kondisi untuk menghentikan rekursi. Sedangkan pada bentuk iterasi ada istilah decrement.

    Contoh rekursi (untuk mengitung nilai faktorial)
    Program :
    //menghitung n! menggunakan definisi rekursi
    //pre : n>=0
    Int factorial (int n)
    {
    int ans;
    if (n == 0)
    ans = 1; /*simple case*/
    else
    ans = n * factorial (n-1); /*recursive step*/
    return(ans);
    }

    Bentuk rekursi tentu saja dapat memberikan solusi dengan lebih efisien dan tahapan yang singkat. Namun bentuk ini juga agak sulit dipahami karena memerlukan pengimajinasian (bagaimana cara kita *membayangkan* agar proses dapat dilakukan dengan singkat dan tepat).

  • 113080175_PTI2009 // March 29, 2009 at 3:50 pm | Reply

    Rekursi adalah proses memanggil dirinya sendiri yang biasanya dilakukan oleh fungsi atau prosedur pada pemrograman posedural,atau metode pada pemgroman berorientasi objek.
    Dan rekursi akan terus berjalan sampai kondisi berhenti terpenuhi,oleh kaarena itu dalam sebuah rekursi perlu adanya blok-blok kode sebagai berikut:
    Basis & rekursi.
    Rekusi
    merupakan kode dalam hal ini sebuah blok program(procedure,fungsi,atau metode)memanggil dirinya sediri,misalnya hitung hasil factorial,bahwa didalamnya blok kode fungsi itu mamanggil dirinya sendiri.
    Basis
    Basis merupakan kode yang menjadi titik berhenti dari sebuah proses rekursi karena proses rekursi akan terus berjalan berputar memnggil dirinya sendiri samapai penuh kondisi basis terpenuhi,dan bila tanpa
    basis maka proses akan terus dijalankan tanpa henti.

    Contoh dalam bahasa pemrograman java:
    Class rekursi {
    Public static static void tulis(intn){
    Int counter = n;
    If (counter > 0 ){
    System.out.println(“proses rekursi dangan nilai counter :” + counter);
    Counter = counter – 1
    Tulis(counter);
    }
    }
    Public staticvoid main(string[] args ) {
    Tulis(5);
    }
    }
    Setelah dkompail maka akan muncul:
    Proses rekursi dengan nilai counter : 5
    Proses rekursi dengan nilai counter : 4
    Proses rekursi dengan nilai counter : 3
    Proses rekursi dengan nilai counter : 2
    Proses rekursi dengan nilai counter : 1

    contoh ke dua Penggunaan rekursi dalam factorial :
    Dalam bahsa java:
    Class fakrekursi {
    Public static void
    Factorial(int n, int hasil) {
    If (n > 1){
    Hasil = hasil1 * n;
    System.out.println(“ rekursi dangan nilai hasil : ”+ hasil + “,nilai n : “ + n);
    N = n-1;
    Faktorial (n, hasil);
    }
    }
    Public static void
    Main(string[] args) {
    Int hasil = 1;
    Factorial(10,hasil);
    }
    }

    contoh ke 3 Deret Fibonacci sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    misal: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.
    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

    dan didalam program yang memakai metode rekursi programnya lebih lambat dan lebih baik menggunakan perulangan.

  • 113080242_PTI2009 // March 29, 2009 at 4:00 pm | Reply

    REKURSI adalah suatu metode dalam matematika dan ilmu komputer dimana suatu fungsi atau prosedur memanggil dirinya sendiri. Kata ini juga digunakan untuk mendeskripsikan suatu proses dimana proses itu mengulang proses yang identik dengan dirinya sendiri.

    Fungsi metode rekursi ini berguna untuk memecahkan suatu permasalahan kompleks menjadi permasalahan-permasalahan sama, namun dalam ruang lingkup lebih sempit dan sederhana. Sehingga permasalahan itu semakin mudah untuk diselesaikan. Namun, akibatnya, metode ini sulit ditebak kapan berakhirnya, sehingga dalam penggunaan rekursi, kita sebaiknya menggunakan batasan penghenti untuk mencegah looping-forever atau pun menghabiskan memory komputer yang berlebihan. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll.

    Contoh rekursi UMUM:
    Struktur batang dan daun pohon cemara. Dari satu batang yang besar bercabang menjadi ranting-ranting yang lebih kecil dengan struktur yang sama, dan dari ranting-ranting tersebut bercabang lagi menjadi daun-daun kecil dengan struktur yang masih sama.

    Contoh rekursi KHUSUS:
    Penghitungan deret fibonacci menggunakan pascal:
    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

  • 113080215_PTI2009 // March 29, 2009 at 4:09 pm | Reply

    REKURSI
    Rekursi itu merupakan suatu proses yang menggunakan diri sendiri secara berulang

    Rekursi juga merupakan proses yang terdapat di dalam program baik berupa prosedur atau fungsi yang memanggil dirinya sendiri. Proses rekursi mirip dengan iterasi dimana terjadi perulangan di dalamnya. Akan tetapiyang membedakan rekursi dengan iterasi terletak pada prosedur atau fungsi yang diulang, iterasi melakukan perulangan terhadap prosedure atau fungsi yang dipanggilnya sedangkan rekursi melakukan perulangan terhadap dirinya sendiri.

    Jadi intinya rekursi juga merupakan fungsi atau prosedur.

    Rekursi biasanya digunakan untuk melakukan perulangan yang sulit diketahui kapan berakhirnya. Hal ini dapat dairtikan bahwa rekursi melkukan serangkaian proses perulangan akan tetapi tetap memiliki batas kapan perulangan itu harus diakhiri.(jangan sampai coding together, looping forever,.^_^)

    Contoh umumnya:

    Dikenal juga dengan efek droste.
    Apakah efek droste itu?
    Efek droste merupakan gambar yang memuat gambar tersebut secara keseluruhan dalam bentuk yang lebih kecil,. kemudian di dalam gambar yang lebih kecil itu, terdapat gambar tersebut secara keseluruhan dalam bentuk yang jauh-jauh lebih kecil,(ada gambar di dalam gambar lah intinya)
    ini contoh gambarnya
    http://id.wikipedia.org/wiki/Berkas:Droste.jpg

    Contoh lainnya:
    function Faktorial(a:integer):longint;
    begin
    if (A=1)then
    Faktorial:=1
    else
    Faktorial:=a*faktorial(a-1);
    end;
    var
    x:integer;
    begin
    writeln(’Faktorial sequence’);
    write(’Berapa Faktorial :’);readln(x);
    writeln(x,’faktorial ‘,’=’,faktorial(x));
    readln;
    end.

    algoritma di atas digunakan untuk mencari faktorial dimana fungsi yang diulang adalah function faktorial.

  • 113080066_PTI2009 // March 29, 2009 at 4:14 pm | Reply

    Recursion (rekursi) adalah teknik pemrograman yang memungkinkan programmer untuk mengekspresikan operasi dalam hal sendiri. Dalam C + +, recursion adalah fungsi yang memanggil fungsi itu sendiri. Sebuah cara yang berguna untuk memahami fungsi recursive yang mereka bayangkan sebagai sebuah proses yang dilakukan di mana salah satu petunjuk adalah “ulangi proses”. Cara ini sangat mirip dengan suara satu lingkaran karena mengulang kode yang sama, dan dalam beberapa cara ini mirip dengan looping. Di sisi lain, recursion memudahkan untuk mengekspresikan ide-ide yang merupakan hasil recursive panggilan yang diperlukan untuk menyelesaikan tugas. . Tentu saja, harus dilakukan untuk “proses” untuk kadang-kadang diselesaikan tanpa recursive panggilan. Jadi recursion merupakan sebuah proses perulangan.

    Salah satu contoh global adalah sebuah jalan raya sepanjang 100 m, jika saya ingin membangun sepuluh kaki tinggi dinding, maka saya akan membangun sebuah jalan sepanjan 10 m, dan kemudian menambahkan lagi 10 m kemudian diulang lagi hingga mencapai panjang 100 m.

    salah satu contoh khusus adalah dalam perkalian, 2×10=20; artinya dalam perkalian 2×10 adalah perulangan 2 sebanyak 10 kali.

  • 113080186_PTI2009 // March 29, 2009 at 4:21 pm | Reply

    Rekursi adalah subroutine yg memanggil dirinya sendiri, langsung atopun tdk langsung. Bentuk rekursi merupakan alternatif iterasi atw peengulangan. Walaupun algoritma ini bisa digunakan u/ me2cahkn swatu mslh, tp scara umum teknik rekursi ini kurang efisien dibandingkn teknik iterasi cuz akn menybabkn wktu pemrosesan yg lbh lama dbnding tknik iterasi sehingga akn mengurangi memory stack.
    Contohnya yg diberkn dr internet adlah perhitungan bilangan faktorial. Pada syntax program faktorial yg mngkin sdah bnyak dtuliskan tmn2 if3203 terlhat bhwa fungsi “fact(x)” memanggil dirinya sendiri, inilah yg disbut teknik rekursi. Nilai fact(x) bisa dihitung dr fact(x-1), fact(x-1) bisa dihitung dari fact(x-2) dst.
    Rekursi yg ada pd program ini digunakan u/ mngolah berbagai struktur data berantai.

  • 113081015_PTI2009 // March 29, 2009 at 4:27 pm | Reply

    RECURSION

    Pada umumnya, recursion (rekursi) adalah suatu metode yang digunakan untuk mendefinisikan suatu fungsi dimana definisi fungsi itu ada dalam proses yang berlangsung pada fungsi itu sendiri.

    Dalam bidang informatika, recursion (rekursi) adalah suatu procedure atau functions yang dapat memanggil dirinya sendiri. Atau dengan kata lain functions yang didefinisikan tersebut ada dalam pengaplikasian functions itu sendiri

    Rekursi dapat digunakan sebagai alternatif dari
    (pengulangan) karena rekursi sendiri berguna untuk melakukan proses pengulangan yang sulit diketahui kapan pengulangan itu akan berakhir.

    Banyak orang yang salah dalam menentukan apakah suatu fungsi atau prosedur itu merupakan rekursi ataukah hanya merupakan bentuk iterasi biasa. Hal ini dikarenakan keduanya sama-sama merupakan bentuk pengulangan yang melakukan pengecekan kondisi pengulangan di awal proses. Walaupun begitu, keduanya tentu saja mempunyai perbedaan yang mendasar. Pada rekursi, ada istilah recursive step, yaitu kondisi untuk menghentikan rekursi. Sedangkan pada bentuk iterasi ada istilah decrement.

    Contoh rekursi (untuk mengitung nilai faktorial
    Program :
    //menghitung n! menggunakan definisi rekursi
    //pre : n>=0
    Int factorial (int n)
    {
    int ans;
    if (n == 0)
    ans = 1; /*simple case*/
    else
    ans = n * factorial (n-1); /*recursive step*/
    return(ans);
    }

    Bentuk rekursi tentu saja dapat memberikan solusi dengan lebih efisien dan tahapan yang singkat. Namun bentuk ini juga agak sulit dipahami karena memerlukan pengimajinasian (bagaimana cara kita *membayangkan* agar proses dapat dilakukan dengan singkat dan tepat).

  • 113080145_PTI2009 // March 29, 2009 at 4:45 pm | Reply

    Recursion

    Rekursi atau recursion dalam matematika dan ilmu komputer diartikan sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Rekursi adalah fungsi yang memanggil dirinya sendiri. Rekursi tidak hanya merupakan istilah eksak, contoh rekursi di sekeliling kita salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi.

    Dalam dunia matematika dan komputer, rekursi khususnya digunakan untuk menyelesaikan perhitungan yang rumit dan kompleks. Prinsip yang digunakannya sederhana, yaitu memecah suatu masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan. Contoh paling populer implementasi rekursi adalah penyelesaian perhitungan faktorial dari suatu bilangan bulat (integer number).

    Dalam matematika, faktorial didefinisikan sebagai berikut:

    n! = perkalian bilangan dari 1 hingga bilangan n, dimana n >= 1
    dan
    0! = 1

    Sehingga didapat misalnya nilai faktorial dari bilangan 3 dan 4 adalah sebagai berikut:
    3! = 1 x 2 x 3 = 6
    4! = 1 x 2 x 3 x 4 = 24

    Contoh penyelesaian komputasi faktorial tanpa menggunakan teknik rekursi dengan bahasa pemrograman C++ :
    1 #include
    2 typedef unsigned int UINT;
    3
    4 long Factorial(UINT aNumber)
    5 {
    6 if (aNumber == 0)
    7 {
    8 return 1;
    9 }
    10
    11 long result = 1;
    12 for (UINT i = 0; i < aNumber; i++)
    13 {
    14 result = result*(i + 1);
    15 }
    16
    17 return result;
    18 }
    19
    20 int main()
    21 {
    22 std::cout << Factorial(6);
    23 return 0;
    24 }

    Contoh penyelesaian komputasi faktorial dengan teknik rekursi dengan bahasa pemrograman C++ :
    1 #include
    2 typedef unsigned int UINT;
    3
    4 long Factorial(UINT aNumber)
    5 {
    6 if (aNumber == 0)
    7 return 1;
    8
    9 return aNumber*Factorial(aNumber-1);
    10 }
    11
    12 int main()
    13 {
    14 std::cout << Factorial(5);
    15 return 0;
    16 }

    Contoh ke-dua memperihatkan fungsi Factorial yang ternyata memanggil dirinya sendiri. Rekursi dapat dibayangkan sebagai proses berantai yang berjalan tanpa perulangan (looping) secara eksplisit dan prosesnya bisa jadi tak berhingga. Untuk menghindari proses yang tidak berkesudahan (infinite process), fungsi yang mengimplementasikan rekursi harus menambahkan syarat yang mendefinisikan kondisi di mana proses rekursi selesai dilakukan. Pada contoh ke-dua, syarat yang dimaksud ditunjukan seperti pada baris ke-enam dan ke-tujuh:
    if (aNumber == 0)
    return 1;
    Dengan penambahan kondisi di atas, proses komputasi pada fungsi factorial dengan rekursi tersebut akan berhenti jika nilai masukan dari fungsi telah sama dengan nol (0).

  • 113081083 // March 29, 2009 at 4:47 pm | Reply

    1. Recursion adalah suatu metode dalam bahasa pemrograman,di mana metode tersebut dapat meminimalisirkan suatu pendeklarasian fungsi sehingga fungsi tersebut menjadi jauh lebih sederhana dan efisien ,serta dapat memberikan nilai keterbatasan pada suatu database yang awalnya sangat kompleks dan tidak terbatas.

    2. Contoh dari implementasi recursion:

    Recursion dalam mendefinisikan fungsi factorial secara global:

    unsigned int factorial(unsigned int n)
    {
    if (n <= 1) return 1;
    else
    {
    return n * factorial(n-1);
    }
    }

    Recursion dalam struktur data bercabang secara khusus:

    void ProcessTree(node x) {
    unsigned int i = 0;
    while (i < x.count) {
    ProcessTree(x.children[i]);
    i++;
    }
    ProcessNode(x);
    }

  • 113080235_PTI2009 // March 29, 2009 at 4:51 pm | Reply

    1. Recursion adalah suatu metode dalam bahasa pemrograman,di mana metode tersebut dapat meminimalisirkan suatu pendeklarasian fungsi sehingga fungsi tersebut menjadi jauh lebih sederhana dan efisien ,serta dapat memberikan nilai keterbatasan pada suatu database yang awalnya sangat kompleks dan tidak terbatas.

    2. Contoh dari implementasi recursion:

    Recursion dalam mendefinisikan fungsi factorial secara global:

    unsigned int factorial(unsigned int n)
    {
    if (n <= 1) return 1;
    else
    {
    return n * factorial(n-1);
    }
    }

    Recursion dalam struktur data bercabang secara khusus:

    void ProcessTree(node x) {
    unsigned int i = 0;
    while (i < x.count) {
    ProcessTree(x.children[i]);
    i++;
    }
    ProcessNode(x);
    }

  • 113081037_PTI2009 // March 30, 2009 at 12:34 am | Reply

    muuph telat pa

    RECURSI

    Secara umum rekursi sendiri adalah teknik yang mempermudah perhitungan atau menyelesaikan suatu masalah yang sebenarnya komplek menjadi mudah untuk diselesaikannya

    Sedangkan rekursi di dalam dunia matematika dan ilmu komputer diartikan sebagai fungsi yang mengimplementasikan dirinya sendiri. Untuk lebih jelas, rekursi biasa diartikan dalam fungsi yang dapat memanggil dirinya sendiri

    Penggunaan rekursi biasanya pada proses perhitungan yang kompleks, karena rekursi digunakan untuk mempermudah proses perhitungan dengan cara mengambil bagian-bagian terkecilnya. Sehingga membuat penghitungan terasa mudah dan tidak membingungkan. Rekursi pada ilmj komputer biasanya digunakan pada bahasa pemprograman seperti pada pascal contohnya

    Contoh rekursi

    Pada dasarnya rekursi sigunakan untuk kasus perhitungan bilangan faktorial pada bahasa pascal

    khusus: mencari nilai faktorial.
    misal n=5
    maka
    5!=5*4*3*2*1
    n!=n*n-1*n-2*…*n-(n-1)

    kalau pada umumnya
    saat kita praktek fisika untuk mencari sudut pada kedua cermin, semakin kecil sudut cermin semakin banyak bayangan yang dihasilkan oleh cermin tersebut

  • 113070285_PTI2009 // March 30, 2009 at 9:01 am | Reply

    maaf pak baru di jawab.soalnya sy angkatan 2007.baru tau ada tugas ini.

    Rekursi (recursion) adalah istilah yang digunakan dalam bidang matematika dan ilmu komputer, yang artinya adalah fungsi yang mendeskripsikan fungsi itu sendiri. Contoh dari rekursi dalam kehidupan sehari-hari adalah pada saat di dalam elevator ataupun sebuah ruangan yang memiliki cermin di dua sisi yang saling berhadapan 180 derajat. Kedalaman rekursi ini tidaklah terbatas, maka dari itu dinamakan rekursi tak terbatas (Infinite Recursion).

    Dalam bidang komputer, atau lebih tepatnya ke bidang pemrograman, metode rekursi digunakan untuk menghitung suatu bilangan yang memiliki rumus berulang. Contohnya adalah faktorial sebuah bilangan. Bilangan tersebut akan dikalikan dengan bilangan sebelumnya sampai mencapai angka satu. Untuk itu, akan dipanggil rumus = N =N*(N-1) sampai N-1 adalah satu.

    Contoh lain dari penggunaan metode rekursi dalam ilmu komputer adalah solusi Tower of Hanoi, penghitungan deret fibbonacci, fungsi Ackermann, dan lain-lain.

    #include

    typedef unsigned int UINT;

    long Factorial(UINT aNumber)

    {

    if (aNumber == 0)

    {

    return 1;

    }

    long result = 1;

    for (UINT i = 0; i < aNumber; i++)

    {

    result = result*(i + 1);

    }

    return result;

    }

    int main()

    {

    std::cout << Factorial(6);

    return 0;

    }
    Potongan kode sumber di atas adalah penggunaan rekursi dalam mencari faktorial dari sebuah bilangan. Dalam kode di atas adalah faktorial dari 5 (5!).

    Rekursi juga dapat bercabang-cabang. Jika dapat digambarkan, maka akan terlihat seperti pohon. Di mana cabang pertama terhubung dengan cabang kedua pada pangkalnya, lalu terhubung lagi ke cabang ketiga, dan seterusnya. Rekursi yang bercabang ini dapat kita gunakan untuk mencari kombinasi dari beberapa karakter atau apapun. Dalam fungsi rekursifnya terdapat perulangan yang menentukan berapa panjang dari kombinasi yang kita inginkan asal tidak melebihi panjang asal.

  • 113080267_PTI2009 // March 30, 2009 at 9:08 am | Reply

    1. Recursion adalah suatu metode fungsi ataupun procedure yang dapat memanggil dirinya sendiri. Hal ini berguna untuk melakukan proses perulangan yang sulit diketahui kapan akan berakhir.
    metode recursion tersebut dapat meminimalisirkan suatu pendeklarasian fungsi sehingga fungsi tersebut menjadi jauh lebih sederhana dan efisien.

    2. Contoh Implementasi recursion adalah sebagai berikut.
    • Faktorial: n!=n(n-1)!=n(n-1)…1
    • Fibonacci nomor: f (n) = f (n – 1) + f (n – 2)
    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;
    • The tower of Hanoi
    • Tingkat pertumbuhan penduduk

  • 113071005_PTI2009 // March 30, 2009 at 9:09 am | Reply

    Maaf baru ngumpilin tgsnya pak,, sy baru tau tadi…

    menurut saya,,
    Rekursi yaitu procedure atau function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll. Contoh paling terkenal dari rekursi adalah proses menghitung nilai faktorial dan mencari deret Fibonacci.

    Contoh listing program:

    function faktorial(n : integer):integer;
    begin
    if (n = 0) then faktorial := 1
    else faktorial := n * faktorial(n – 1);
    end;

    Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

    Sebagian mahasiswa sulit membedakan antara Rekursi dan Iterasi, karena keduanya melakukan perulangan yang jumlah perulangannya sulit ditentukan kapan berakhir. Padahal secara mudah didefinisikan: Rekursi yaitu prosedur atau fungsi yang memanggil dirinya sendiri, sedangkan Iterasi adalah proses perulangan dalam suatu prosedur atau fungsi.

    Berikut ini adalah contoh yang paling mudah dipahami. Tujuannya mencetak tulisan “M” dari kiri ke kanan layar.
    REKURSI

    uses
    crt;

    procedure rekursi;
    begin
    if wherex < 80 then
    begin
    write(‘M’);
    rekursi;
    end;
    end;

    begin
    clrscr;
    rekursi;
    end.

    ITERASI

    uses
    crt;

    procedure iterasi;
    begin
    while wherex < 80 do
    begin
    write(‘M’);
    end;
    end;

    begin
    clrscr;
    iterasi;
    end.

    Dari dua program pendek di atas, anda tentu mendapatkan sebuah fakta baru, yaitu rekursi dapat melakukan perulangan tanpa bantuan FOR NEXT, WHILE DO, REPEAT UNTIL, dsb.Beberapa buku menyatakan iterasi lebih baik, lebih mudah dipahami, dan lebih terstruktur daripada rekursi, namun menurut saya, rekursi mempunyai keistimewaan tertentu yang sulit digantikan oleh iterasi.

    klo contoh globalnya :
    Efek Droste. yaitu sebuah istilah yang berasal dari bahasa Belanda yang mengacu kepada rekursi. Gambar yang bercirikan efek Droste memuat gambar yang sama dengan ukuran yang lebih kecil yang berada di posisi yang realistik. Gambar yang berukuran lebih kecil ini kemudian memuat gambar yang sama dengan ukuran yang lebih kecil lagi, dan seterusnya. Secara teoritis, hal ini dapat terus berlanjut selama resolusi dari gambar tersebut memungkinkan untuk memuatnya.
    Nama efek ini berasal dari sebuah gambar dari kotak bubuk coklat Droste, sebuah merek Belanda. Di gambar tersebut termuat seorang biarawati yang membawa baki berisi segelas coklat panas dan sebuah kotak dengan merek yang sama.

  • 113071004_PTI2009 // March 30, 2009 at 9:12 am | Reply

    Maaf baru ngumpulin tugas pak…

    Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri. Lebih jelasnya (dan untuk menghalaukan penampilan kesirkularan dalam definisi), langkah-langkah “rumit” dari proses dijelaskan dengan langkah-langkah yang lebih “sederhana”, dan kejadian yang paling “sederhana” diberi secara gamblang.

    Dalam bahasa pemrograman, rekursi berarti memanggil suatu fungsi dari dalam fungsi itu sendiri. Sebagai contoh, dalam Bahasa Pemrograman C:

    fungsi() {

    fungsi();

    }

    Dalam hal ini, perlu ditambahkan kondisi untuk menghindari loop tak terhingga.

    Contoh yang lainnya adalah proses perhitungan nilai fakultet dari suatu bilangan.

    Rekursi

    Fungsi dalam C dapat dipakai secara rekursif, dalam artian suatu fungsi dapat memanggil dirinya sendiri. Sebagai contoh penerapan rekursi adalah untuk menghitung nilai xy, dengan y berupa bilangan bulat positif. Solusi dari persoalan ini adalah :

    File rekursi.c

    #include

    int pangkat();

    pangkat(basis, exp)
    int basis,exp;
    {
    if (exp)
    {
    return basis * pangkat(basis, exp-1);
    }
    return 1;
    }

    main()
    {
    printf(”%d\n”, pangkat(4,3));
    }

    $ gcc -o rekursi rekursi.c
    $ ./rekursi
    64
    $

    Catatan :

    y=0 maka xy =1 dan yang selain itu xy = x * x(y-1)

    trus contoh implementasi globalny:
    1. pada saat berada di dalam ruangan dengan cermin di kedua sisi.
    jika cermin tersebut berhadapan 180 derajat, maka akan terjadi rekursi tak terhingga. maka rekursi ini dinamakan rekursi takterbatas (infinite recursion).

    2. misal pada iklan sebuah produk. dalam kemasan produk tersebut ada model yang membawa produk. begitu akan terbentuk rekursif yang tak terhingga.
    (hapz90.blogspot.com/2009/03/rekursi.html)

  • 113071005_PTI2009 // March 30, 2009 at 9:18 am | Reply

    Maaf pak, baru ngumpilin sakarang..
    tau ada tugas baru tadi..pas kul…

    klo menurut saya…
    Rekursi yaitu procedure atau function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll. Contoh paling terkenal dari rekursi adalah proses menghitung nilai faktorial dan mencari deret Fibonacci.

    Contoh listing program:

    function faktorial(n : integer):integer;
    begin
    if (n = 0) then faktorial := 1
    else faktorial := n * faktorial(n – 1);
    end;

    Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

    Sebagian mahasiswa sulit membedakan antara Rekursi dan Iterasi, karena keduanya melakukan perulangan yang jumlah perulangannya sulit ditentukan kapan berakhir. Padahal secara mudah didefinisikan: Rekursi yaitu prosedur atau fungsi yang memanggil dirinya sendiri, sedangkan Iterasi adalah proses perulangan dalam suatu prosedur atau fungsi.

    Berikut ini adalah contoh yang paling mudah dipahami. Tujuannya mencetak tulisan “M” dari kiri ke kanan layar.
    REKURSI

    uses
    crt;

    procedure rekursi;
    begin
    if wherex < 80 then
    begin
    write(‘M’);
    rekursi;
    end;
    end;

    begin
    clrscr;
    rekursi;
    end.

    ITERASI

    uses
    crt;

    procedure iterasi;
    begin
    while wherex < 80 do
    begin
    write(‘M’);
    end;
    end;

    begin
    clrscr;
    iterasi;
    end.

    Dari dua program pendek di atas, anda tentu mendapatkan sebuah fakta baru, yaitu rekursi dapat melakukan perulangan tanpa bantuan FOR NEXT, WHILE DO, REPEAT UNTIL, dsb.Beberapa buku menyatakan iterasi lebih baik, lebih mudah dipahami, dan lebih terstruktur daripada rekursi, namun menurut saya, rekursi mempunyai keistimewaan tertentu yang sulit digantikan oleh iterasi.

    klo contoh globalnya :
    Efek Droste. yaitu sebuah istilah yang berasal dari bahasa Belanda yang mengacu kepada rekursi. Gambar yang bercirikan efek Droste memuat gambar yang sama dengan ukuran yang lebih kecil yang berada di posisi yang realistik. Gambar yang berukuran lebih kecil ini kemudian memuat gambar yang sama dengan ukuran yang lebih kecil lagi, dan seterusnya. Secara teoritis, hal ini dapat terus berlanjut selama resolusi dari gambar tersebut memungkinkan untuk memuatnya.
    Nama efek ini berasal dari sebuah gambar dari kotak bubuk coklat Droste, sebuah merek Belanda. Di gambar tersebut termuat seorang biarawati yang membawa baki berisi segelas coklat panas dan sebuah kotak dengan merek yang sama.

  • 113071004_PTI2009 // March 30, 2009 at 9:23 am | Reply

    Maaf pak saya baru ngumpulin tugas.

    Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri. Lebih jelasnya (dan untuk menghalaukan penampilan kesirkularan dalam definisi), langkah-langkah “rumit” dari proses dijelaskan dengan langkah-langkah yang lebih “sederhana”, dan kejadian yang paling “sederhana” diberi secara gamblang.

    Dalam bahasa pemrograman, rekursi berarti memanggil suatu fungsi dari dalam fungsi itu sendiri. Sebagai contoh, dalam Bahasa Pemrograman C:

    fungsi() {

    fungsi();

    }

    Dalam hal ini, perlu ditambahkan kondisi untuk menghindari loop tak terhingga.

    Contoh yang lainnya adalah proses perhitungan nilai fakultet dari suatu bilangan.

    Rekursi

    Fungsi dalam C dapat dipakai secara rekursif, dalam artian suatu fungsi dapat memanggil dirinya sendiri. Sebagai contoh penerapan rekursi adalah untuk menghitung nilai xy, dengan y berupa bilangan bulat positif. Solusi dari persoalan ini adalah :

    File rekursi.c

    #include

    int pangkat();

    pangkat(basis, exp)
    int basis,exp;
    {
    if (exp)
    {
    return basis * pangkat(basis, exp-1);
    }
    return 1;
    }

    main()
    {
    printf(”%d\n”, pangkat(4,3));
    }

    $ gcc -o rekursi rekursi.c
    $ ./rekursi
    64
    $

    Catatan :

    y=0 maka xy =1 dan yang selain itu xy = x * x(y-1)

    trus contoh implementasi globalny:
    1. pada saat berada di dalam ruangan dengan cermin di kedua sisi.
    jika cermin tersebut berhadapan 180 derajat, maka akan terjadi rekursi tak terhingga. maka rekursi ini dinamakan rekursi takterbatas (infinite recursion).

    2. misal pada iklan sebuah produk. dalam kemasan produk tersebut ada model yang membawa produk. begitu akan terbentuk rekursif yang tak terhingga.
    (hapz90.blogspot.com/2009/03/rekursi.html)

  • 113071005_PTI2009 // March 30, 2009 at 9:30 am | Reply

    Maaf pak, saya baru ngumpulin tugas..
    baru tau tadi pas kuliah..

    menurut saya,,
    Rekursi yaitu procedure atau function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll. Contoh paling terkenal dari rekursi adalah proses menghitung nilai faktorial dan mencari deret Fibonacci.

    Contoh listing program:

    function faktorial(n : integer):integer;
    begin
    if (n = 0) then faktorial := 1
    else faktorial := n * faktorial(n – 1);
    end;

    Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;

    Sebagian mahasiswa sulit membedakan antara Rekursi dan Iterasi, karena keduanya melakukan perulangan yang jumlah perulangannya sulit ditentukan kapan berakhir. Padahal secara mudah didefinisikan: Rekursi yaitu prosedur atau fungsi yang memanggil dirinya sendiri, sedangkan Iterasi adalah proses perulangan dalam suatu prosedur atau fungsi.

    Berikut ini adalah contoh yang paling mudah dipahami. Tujuannya mencetak tulisan “M” dari kiri ke kanan layar.
    REKURSI

    uses
    crt;

    procedure rekursi;
    begin
    if wherex < 80 then
    begin
    write(‘M’);
    rekursi;
    end;
    end;

    begin
    clrscr;
    rekursi;
    end.

    ITERASI

    uses
    crt;

    procedure iterasi;
    begin
    while wherex < 80 do
    begin
    write(‘M’);
    end;
    end;

    begin
    clrscr;
    iterasi;
    end.

    Dari dua program pendek di atas, anda tentu mendapatkan sebuah fakta baru, yaitu rekursi dapat melakukan perulangan tanpa bantuan FOR NEXT, WHILE DO, REPEAT UNTIL, dsb.Beberapa buku menyatakan iterasi lebih baik, lebih mudah dipahami, dan lebih terstruktur daripada rekursi, namun menurut saya, rekursi mempunyai keistimewaan tertentu yang sulit digantikan oleh iterasi.

    klo contoh globalnya :
    Efek Droste. yaitu sebuah istilah yang berasal dari bahasa Belanda yang mengacu kepada rekursi. Gambar yang bercirikan efek Droste memuat gambar yang sama dengan ukuran yang lebih kecil yang berada di posisi yang realistik. Gambar yang berukuran lebih kecil ini kemudian memuat gambar yang sama dengan ukuran yang lebih kecil lagi, dan seterusnya. Secara teoritis, hal ini dapat terus berlanjut selama resolusi dari gambar tersebut memungkinkan untuk memuatnya.
    Nama efek ini berasal dari sebuah gambar dari kotak bubuk coklat Droste, sebuah merek Belanda. Di gambar tersebut termuat seorang biarawati yang membawa baki berisi segelas coklat panas dan sebuah kotak dengan merek yang sama.

  • 113071004_PTI2009 // March 30, 2009 at 10:33 am | Reply

    Maaf pak,baru ngumpulin tugas…

    Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri. Lebih jelasnya (dan untuk menghalaukan penampilan kesirkularan dalam definisi), langkah-langkah “rumit” dari proses dijelaskan dengan langkah-langkah yang lebih “sederhana”, dan kejadian yang paling “sederhana” diberi secara gamblang.
    Dalam bahasa pemrograman, rekursi berarti memanggil suatu fungsi dari dalam fungsi itu sendiri. Sebagai contoh, dalam Bahasa Pemrograman C:

    fungsi() {

    fungsi();

    }

    Dalam hal ini, perlu ditambahkan kondisi untuk menghindari loop tak terhingga.

    Contoh yang lainnya adalah proses perhitungan nilai fakultet dari suatu bilangan.

    Fungsi dalam C dapat dipakai secara rekursif, dalam artian suatu fungsi dapat memanggil dirinya sendiri. Sebagai contoh penerapan rekursi adalah untuk menghitung nilai xy, dengan y berupa bilangan bulat positif. Solusi dari persoalan ini adalah :

    File rekursi.c

    #include

    int pangkat();

    pangkat(basis, exp)
    int basis,exp;
    {
    if (exp)
    {
    return basis * pangkat(basis, exp-1);
    }
    return 1;
    }

    main()
    {
    printf(”%d\n”, pangkat(4,3));
    }

    $ gcc -o rekursi rekursi.c
    $ ./rekursi
    64
    $

    Catatan :

    y=0 maka xy =1 dan yang selain itu xy = x * x(y-1)

    trus contoh implementasi globalny:
    1. pada saat berada di dalam ruangan dengan cermin di kedua sisi.
    jika cermin tersebut berhadapan 180 derajat, maka akan terjadi rekursi tak terhingga. maka rekursi ini dinamakan rekursi takterbatas (infinite recursion).

    2. misal pada iklan sebuah produk. dalam kemasan produk tersebut ada model yang membawa produk. begitu akan terbentuk rekursif yang tak terhingga.
    (hapz90.blogspot.com/2009/03/rekursi.html)

  • 113071033_PTI2009 // March 30, 2009 at 11:27 am | Reply

    Pengertian rekursif :
    Rekursif adalah sebuah fungsi yang memanggil dirinya sendiri pada saat eksekusi. fungsi rekursif mirip dengan iterasi (looping) tetapi di fungsi rekursif ini memiliki basis yang merupakan kondisi dimana rekursi akan terpenuhi.
    Terdapat dua blok penting pada fungsi rekursif yaitu blok dimana untuk menggil dirinya dan blok dimana kondisi berhenti.

    Misalkan untuk membaca suatu tipe data yang berupa tree, procedure rekursif jauh lebih mudah dibandingkan dengan looping walaupun sebenarnya dengan procedure looping bisa dilakukan
    bahkan dengan menggunakan procedure looping memory yang digunakan lebih kecil akan tetapi dalam pemrogramannya rekursif sangat sederhana.

    Proses pemanggilan pada fungsi rekursif itu disebut rekursi.
    Masalah yang dapat diselesaikan secara rekursif adalah masalah yang dibagi menjadi satu atau lebih masalah-masalah serupa yang lebih kecil.

    Case yang bisa di selesaikan secara langsung dan tidak langsung :
    Simple Cases adalah kondisi-kondisi yang dapat diselesaikan secara langsung tanpa perlu di-rekursi dan biasanya digunakan sebagai tanda akhir dari sebuah rekursi.
    Recursive Case adalah kondisi-kondisi yang diselesaikan dengan cara memanggil fungsi itu sendiri dengan problem yang semakin berkurang mendekati simple case.

    contoh fungsi rekursif pada faktorial :
    int faktorial (int a) {
    if(a=0 and a=1) then
    return 1;
    else
    return a*faktorial(a-1);

    refrensi :
    http://tutorialpemrograman.wordpress.com/2008/11/05/apa-itu-rekursif-bahasa-c/

    http://www.opensubscriber.com/message/delphindo@yahoogroups.com/6185604.html

  • 113080053_PTI2009 // March 30, 2009 at 11:50 am | Reply

    113080053_PTI2009
    Rekursi….rekursi bukanlah nama seseorang bukan pula makanan maupun minuman, ga pedes, ga manis, ga juga kecut ( haha ga penting).. Ini hanya sebuah sebutan untuk suatu kasus yang terjadi dalam kehidupan, yang kemudian diimplementasikan dalam sebuah algoritma untuk pembuatan program. hehehehe
    Secara umum… Rekursi (recursion) adalah proses dari suatu sub program baik fungsi maupun prosedure yang memanggil dirinya sendiri. Sehingga pointer dari program akan terus masuk ke dalam fungsi atau procedure hingga bertingkat-tingkat dan berakhir hingga statementnya selesai terpenuhi.
    Banyak contoh dalam kehidupan sehari-hari yang merupakan implementasi dari rekursi…salah satu contoh mudahnya ketika kita meletakkan cermin yang sejajar dan saling berhadapan maka akan terjadi bayangan dalam bayangan. Contoh lain dalam matematika adalah dalam kasus factorial dari suatu angka bilangan bulat.

    Contoh :
    Program Rekursi_pascal;
    uses Crt;
    procedure rekursi(A:integer);
    begin
    if A nilai X dapat kita tentukan sendiri
    rekursi(x);
    readln;
    end.

    Contoh faktorial menggunakan rekursi :
    Program Faktorial_pascal;
    function Faktorial(a:integer):longint;
    begin
    if (A=1)then
    Faktorial:=1
    else
    Faktorial:=a*faktorial(a-1);
    end;
    var
    x:integer;
    begin
    writeln(’Faktorial sequence’);
    write(’Berapa Faktorial :’);readln(x);
    writeln(x,’faktorial ‘,’=’,faktorial(x));
    readln;
    end.

    Contoh untuk indefinite dalam pascal merupakan proses rekursi yang dilakukan tanpa berhenti atau rekursi yang tidak berujung.
    Program rekursi_indefinite;
    procedure rekursi;
    begin
    write(’Pascal’);write;
    rekursi;
    end;
    begin
    rekursi;
    readln;
    end.

  • 113080178_PTI 2009 // March 30, 2009 at 1:33 pm | Reply

    REKURSI
    Rekursi yaitu procedure atau function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll. Contoh paling terkenal dari rekursi adalah proses menghitung nilai faktorial dan mencari deret Fibonacci.
    Contoh listing program:
    function faktorial(n : integer):integer;
    begin
    if (n = 0) then faktorial := 1
    else faktorial := n * faktorial(n – 1);
    end;
    Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
    Contoh: 1, 1, 2, 3, 5, 8, 12, 13, 21, 34, 55, 89, 144, …
    Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

    function fibonacci(n : integer):integer;
    begin
    if (n = 1) or (n = 2) then fibonacci := 1
    else fibonacci := fibonacci(n – 1) + fibonacci(n – 2);
    end;
    Sebagian mahasiswa sulit membedakan antara Rekursi dan Iterasi, karena keduanya melakukan perulangan yang jumlah perulangannya sulit ditentukan kapan berakhir. Padahal secara mudah didefinisikan: Rekursi yaitu prosedur atau fungsi yang memanggil dirinya sendiri, sedangkan Iterasi adalah proses perulangan dalam suatu prosedur atau fungsi.
    Berikut ini adalah contoh yang paling mudah dipahami. Tujuannya mencetak tulisan “M” dari kiri ke kanan layar.
    REKURSI
    uses
    crt;

    procedure rekursi;
    begin
    if wherex < 80 then
    begin
    write(‘M’);
    rekursi;
    end;
    end;

    begin
    clrscr;
    rekursi;
    end.
    ITERASI
    uses
    crt;

    procedure iterasi;
    begin
    while wherex < 80 do
    begin
    write(‘M’);
    end;
    end;

    begin
    clrscr;
    iterasi;
    end.

  • bayukukuh // March 30, 2009 at 1:46 pm | Reply

    113070267_PIT2009

    Recursion dalam ilmu komputer adalah salah satu cara untuk memikirkan dan memecahkan masalah.

    Rekrusi dapat digunakan untuk menyederhanakan pemograman yang nampaknya merupakan pemograman rumit.

    Contoh rekursi (untuk mengitung nilai faktorial
    Program :
    //menghitung n! menggunakan definisi rekursi
    //pre : n>=0
    Int factorial (int n)
    {
    int ans;
    if (n == 0)
    ans = 1; /*simple case*/
    else
    ans = n * factorial (n-1); /*recursive step*/
    return(ans);
    }

    contoh lainnya ..

    Coba berdiri di depan cermin sambil memegang cermin yang di arahkan ke depan cermin tadi..
    akan terlihat contoh rekrusi refleksi bayangan pada cermin tadi
    itulah contoh rekrusi yang ada di sekitar kita

  • 113080074_PTI2009 // March 31, 2009 at 5:04 am | Reply

    setelah saya membaca dari beberapa referensi yang dapat dipercaya maka saya mempunyai suatu kesimpulan bahwa rekursi adalah suatu proses yang diulang secara terus menerus sampai batas waktu yang tidak bisa ditentukan misalnya proses ketika pak erda sedang memotong rambut disalon kan ada kaca di depan dan di belakang tuh..nah nanti bapak ngeliat bayangan bapak akan ada di kaca secara terus menerus sampai mengecil dan engga keliatan lagi nah itu contoh yang umum,contoh lainnya adalah ketika kita sedang bernapas..Proses bernapas akan terus-menerus diulang sampai batas yang tidak kita ketahui

    Dalam Bidang Informatika recursi adalah suatu prosedur atau fungsi yang dapat memanggil dirinya sendiri..Kita dapat memakai prosedur ini dalam bahasa pemprograman baik itu pascall,c++,dan masih banyak lainnya

    contoh kasus yang membutuhkan solusi rekursi adalah ketika kita ingin menyelesaikan sebuah deret factorial

    Function Faktorial (input n : integer) → integer
    {menghasilkan nilai n!, n tidak negatif}
    Algoritma
    If n=0 then
    Return 1
    Else
    Return ( n*faktorial (n-1) )
    Endif

  • surgaditelapakkakiibu // March 31, 2009 at 11:20 am | Reply

    113080157_PTI2009
    (sory subjectnya beda )
    RECURSION

    Rekursi atau recursion dalam matematika dan ilmu komputer diartikan sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Untuk lebih mudahnya, bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri.

    Namun demikian, rekursi tidaklah hanya merupakan istilah eksak semata. Jika kita mau memperhatikan lagi dengan lebih teliti, ternyata ada banyak contoh rekursi di sekeliling kita. Rekursi dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi. Contoh lain dari rekursi di dunia nyata adalah seperti yang diperlihatkan gambar-gambar di bagian akhir tulisan ini.

    Dalam dunia matematika dan komputer, rekursi khususnya digunakan untuk menyelesaikan perhitungan yang rumit dan kompleks. Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.

    Contoh paling populer implementasi rekursi adalah penyelesaian perhitungan faktorial dari suatu bilangan bulat (integer number). Dalam matematika, faktorial didefinisikan sebagai berikut
    singkatnya:
    * Method yang memanggil dirinya sendiri baik secara langsung maupun secara tidak langsung.
    o f(0) = 0; f(x) = 2 f(x-1) + x2
    + f(1) = 1; f(2) = 6; f(3) = 21; f(4) = 58
    o fib(n) = fib(n – 1) + fib(n – 2)‏

    public static int f (int x)

    {

    if (x == 0) return 0;

    return 2 * f (x – 1) + x * x;

    }

    * IMPLEMENTASI rekursif yang lebih efficient.
    * Pendekatan Tail Recursive.

    public static long fib4 (int n){

    return fiboHelp(0,1,n);

    }

    static long fiboHelp(long x, long y, int n){

    if (n==0) return x;

    else if (n==1) return y;

    else return fiboHelp(y, x+y, n-1);

    }

  • 113070285_PTI2009 // March 31, 2009 at 11:41 am | Reply

    Rekursi (recursion) adalah istilah yang digunakan dalam bidang matematika dan ilmu komputer, yang artinya adalah fungsi yang mendeskripsikan fungsi itu sendiri. Contoh dari rekursi dalam kehidupan sehari-hari adalah pada saat di dalam elevator ataupun sebuah ruangan yang memiliki cermin di dua sisi yang saling berhadapan 1800. Kedalaman rekursi ini tidaklah terbatas, maka dari itu dinamakan rekursi tak terbatas (Infinite Recursion).
    Dalam bidang komputer, atau lebih tepatnya ke bidang pemrograman, metode rekursi digunakan untuk menghitung suatu bilangan yang memiliki rumus berulang. Contohnya adalah faktorial sebuah bilangan. Bilangan tersebut akan dikalikan dengan bilangan sebelumnya sampai mencapai angka satu. Untuk itu, akan dipanggil rumus = N =N*(N-1) sampai N-1 adalah satu.
    Faktorial dari 5
    5! = 1 x 2 x 3 x 4 x 5 = 120
    Faktorial dari 6
    6! = 1 x 2 x 3 x 4 x 5 x 6 = 720
    Contoh lain dari penggunaan metode rekursi dalam ilmu komputer adalah solusi Tower of Hanoi, penghitungan deret fibbonacci, fungsi Ackermann, dan lain-lain.
    #include
    typedef unsigned int UINT;
    long Factorial(UINT aNumber)
    {
    if (aNumber == 0)
    {
    return 1;
    }
    long result = 1;
    for (UINT i = 0; i < aNumber; i++)
    {
    result = result*(i + 1);
    }
    return result;
    }
    int main()
    {
    std::cout << Factorial(6);
    return 0;
    }

    Potongan kode sumber di atas adalah penggunaan rekursi dalam mencari faktorial dari sebuah bilangan. Dalam kode di atas adalah faktorial dari 5 (5!).

    maaf pak baru kirim, baru tau ada tugasnya.soalnya saya angkatan 2007.tdk dapat jarkom.

    Rekursi juga dapat bercabang-cabang. Jika dapat digambarkan, maka akan terlihat seperti pohon. Di mana cabang pertama terhubung dengan cabang kedua pada pangkalnya, lalu terhubung lagi ke cabang ketiga, dan seterusnya. Rekursi yang bercabang ini dapat kita gunakan untuk mencari kombinasi dari beberapa karakter atau apapun. Dalam fungsi rekursifnya terdapat perulangan yang menentukan berapa panjang dari kombinasi yang kita inginkan asal tidak melebihi panjang asal.

  • 113070285_PTI2009 // March 31, 2009 at 11:42 am | Reply

    maaf pak baru kirim, baru tau ada tugasnya.soalnya saya angkatan 2007.tdk dapat jarkom.

    Rekursi (recursion) adalah istilah yang digunakan dalam bidang matematika dan ilmu komputer, yang artinya adalah fungsi yang mendeskripsikan fungsi itu sendiri. Contoh dari rekursi dalam kehidupan sehari-hari adalah pada saat di dalam elevator ataupun sebuah ruangan yang memiliki cermin di dua sisi yang saling berhadapan 1800. Kedalaman rekursi ini tidaklah terbatas, maka dari itu dinamakan rekursi tak terbatas (Infinite Recursion).
    Dalam bidang komputer, atau lebih tepatnya ke bidang pemrograman, metode rekursi digunakan untuk menghitung suatu bilangan yang memiliki rumus berulang. Contohnya adalah faktorial sebuah bilangan. Bilangan tersebut akan dikalikan dengan bilangan sebelumnya sampai mencapai angka satu. Untuk itu, akan dipanggil rumus = N =N*(N-1) sampai N-1 adalah satu.
    Faktorial dari 5
    5! = 1 x 2 x 3 x 4 x 5 = 120
    Faktorial dari 6
    6! = 1 x 2 x 3 x 4 x 5 x 6 = 720
    Contoh lain dari penggunaan metode rekursi dalam ilmu komputer adalah solusi Tower of Hanoi, penghitungan deret fibbonacci, fungsi Ackermann, dan lain-lain.
    #include
    typedef unsigned int UINT;
    long Factorial(UINT aNumber)
    {
    if (aNumber == 0)
    {
    return 1;
    }
    long result = 1;
    for (UINT i = 0; i < aNumber; i++)
    {
    result = result*(i + 1);
    }
    return result;
    }
    int main()
    {
    std::cout << Factorial(6);
    return 0;
    }

    Potongan kode sumber di atas adalah penggunaan rekursi dalam mencari faktorial dari sebuah bilangan. Dalam kode di atas adalah faktorial dari 5 (5!).

    Rekursi juga dapat bercabang-cabang. Jika dapat digambarkan, maka akan terlihat seperti pohon. Di mana cabang pertama terhubung dengan cabang kedua pada pangkalnya, lalu terhubung lagi ke cabang ketiga, dan seterusnya. Rekursi yang bercabang ini dapat kita gunakan untuk mencari kombinasi dari beberapa karakter atau apapun. Dalam fungsi rekursifnya terdapat perulangan yang menentukan berapa panjang dari kombinasi yang kita inginkan asal tidak melebihi panjang asal.

  • 113080157_PTI 2009 // March 31, 2009 at 11:55 am | Reply

    RECURSION
    Rekursi atau recursion dalam matematika dan ilmu komputer diartikan sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Untuk lebih mudahnya, bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri.

    Namun demikian, rekursi tidaklah hanya merupakan istilah eksak semata. Jika kita mau memperhatikan lagi dengan lebih teliti, ternyata ada banyak contoh rekursi di sekeliling kita. Rekursi dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi. Contoh lain dari rekursi di dunia nyata adalah seperti yang diperlihatkan gambar-gambar di bagian akhir tulisan ini.

    Dalam dunia matematika dan komputer, rekursi khususnya digunakan untuk menyelesaikan perhitungan yang rumit dan kompleks. Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.

    Contoh paling populer implementasi rekursi adalah penyelesaian perhitungan faktorial dari suatu bilangan bulat (integer number). Dalam matematika, faktorial didefinisikan sebagai berikut:

    Definisi factorial

    dan

    Definisi factorial

    Sehingga didapat misalnya nilai faktorial dari bilangan 5 dan 6 adalah sebagai berikut:

    dan

    Perhatikan contoh source code yang ditulis dalam bahasa pemrograman C++ berikut. Source code berikut adalah contoh penyelesaian komputasi faktorial tanpa menggunakan teknik rekursi.

    #include
    typedef unsigned int UINT;

    long Factorial(UINT aNumber)
    {
    if (aNumber == 0)
    {
    return 1;
    }

    long result = 1;
    for (UINT i = 0; i < aNumber; i++)
    {
    result = result*(i + 1);
    }

    return result;
    }

    int main()
    {
    std::cout << Factorial(6);
    return 0;
    }

    Sedangkan contoh penyelesaian komputasi faktorial dengan teknik rekursi adalah seperti contoh berikut.

    #include
    typedef unsigned int UINT;

    long Factorial(UINT aNumber)
    {
    if (aNumber == 0)
    return 1;

    return aNumber*Factorial(aNumber-1);
    }

    int main()
    {
    std::cout << Factorial(5);
    return 0;
    }

    Seperti yang diperlihatkan contoh ke-dua, fungsi Factorial dalam implementasinya ternyata memanggil dirinya sendiri. Rekursi dapat dibayangkan sebagai proses berantai yang berjalan tanpa perulangan (looping) secara eksplisit dan prosesnya bisa jadi tak berhingga. Untuk menghindari infinite process (proses yang tidak berkesudahan), fungsi yang mengimplementasikan rekursi harus menambahkan syarat yang mendefinisikan kondisi di mana proses rekursi selesai dilakukan. Pada contoh ke-dua, syarat yang dimaksud ditunjukan seperti pada baris ke-enam dan ke-tujuh:

    if (aNumber == 0)
    return 1;

    Dengan penambahan kondisi seperti di atas, maka proses komputasi pada fungsi factorial dengan rekursi tersebut akan berhenti jika nilai masukan dari fungsi telah sama dengan nol (0).

    Semoga bermanfaat. ***

  • Aditya Bagoes Saputra // April 2, 2009 at 3:33 am | Reply

    Wah2, Pak Erda kok gokil sekali kayaknya. Kata2nya begitu mudah terlontar begitu saja …..:D

  • 113080204_PTI2009 // April 3, 2009 at 2:13 am | Reply

    Pak maaf baru ngirim sekarang, karena waktu dikasih tugas ini saya ga masuk jadi ga tau ada tugas, hampura pak . .

    Rekursif adalah program yang memanggil dirinya sendiri selama kondisi pemanggilan dipenuhi.
    Dengan melihat sifat sub program rekursif di atas maka sub program rekursif harus memiliki :

    1. kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau special condition)
    2. pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi)

    Secara umum bentuk dari sub program rekursif memiliki statemen kondisional :

    if kondisi khusus tak dipenuhi
    then panggil diri-sendiri dengan parameter yang sesuai
    else lakukan instruksi yang akan dieksekusi bila kondisi khusus dipenuhi

    Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah penyelesaian yang terpola atau langkah-langkah yang teratur. Bila kita memiliki suatu permasalahan dan kita mengetahui algoritma penyelesaiannya, kadang-kadang sub program rekursif menjadi pilihan kita bila memang memungkinkan untuk dipergunakan. Secara algoritmis (dari segi algoritma, yaitu bila kita mempertimbangkan penggunaan memori, waktu eksekusi sub program) sub program rekursif sering bersifat tidak efisien .
    Dengan demikian sub program rekursif umumnya memiliki efisiensi dalam penulisan perintah, tetapi kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan-permasalahan yang lebih sesuai diselesaikan dengan cara rekursif (misalnya dalam pencarian / searching, yang akan dibahas pada pertemuan-pertemuan yang akan datang).

    Contoh sub program rekursif dalam bahasa Pascal.

    1. Contoh sederhana
    PROCEDURE TULIS_1(banyak : integer;kata : string);
    begin
    if banyak > 1 then TULIS_1(banyak-1,kata);
    writeln(kata, banyak:5);
    end;

    OUTPUT (misal dipanggil dengan TULIS_1(5,”Cetakan ke “))

    Cetakan ke 1
    Cetakan ke 2
    Cetakan ke 3
    Cetakan ke 4
    Cetakan ke 5

    2. Contoh terapan
    Secara matematis, perkalian dua bilangan bulat positif a dengan b (ditulis ab atau a x b) pada hakekatnya merupakan penjumlahan dari a sebanyak b suku, yaitu a + a + a + …. + a sebanyak b suku. Misalnya 2 x 3 dapat diartikan sebagai 2 + 2 + 2 = 6 , yaitu penjumlahan 2 sebanyak 3 suku Dengan mengingat bahwa suatu bilangan bila dikalikan dengan angka 1 (satu) akan menghasilkan bilangan itu sendiri, maka permasalahan perkalian dengan menyatakannya dalam bentuk penjumlahan di atas dapat diselesaikan dengan komputer secara mudah.

    Procedure KALI_REK_P(a,b:integer;var hasil:longint)
    begin
    if b>1 then KALI_REK_P(a,b-1,hasil);
    hasil:= hasil+a;
    end;

Leave a Comment