REKURSI

Rabu, 17 Juni 2015

REKURSI


         Rekursi atau recursion adalah proses dari suatu subprogam (dapat berupa fungsi/prosedur) yang memanggil dirinya sendiri.



Pert. 4
Rekursi

      Rekursi atau recursion adalah proses dari suatu subprogam (dapat berupa fungsi/prosedur) yang memanggil dirinya sendiri. Proses rekursi untuk beberapa kasus merupakan algoritma yang baik dan dapat membuat pemecahan masalah lebih mudah. Akan tetapi sebagai imbalannya, proses rekursi ini harus dibayar mahal dengan memori yang banyak digunakan, dikarenakan setiap kali suatu subprogam dipanggil, maka diperlukan sejumlah tambahan memori.

       Jika kita menulis suatu fungsi atau prosedur rekursi, yang perlu diperhatikan adalah fungsi atau prosedur tersebut harus mengandung suatu kondisi akhir dari proses rekursi. kondisi ini diperlukan untuk mencegah terjadinya proses rekursi yang tidak berujung (indefinfinite), yaitu proses rekursi akan dilakukan tanpa henti.


Dalam pembuatan progam ini menggunakan  Console Application pada Delphi 7. Dan sebuah progam diatas  yaitu rekursi mengurutkan data metode Quick Sort dalam bentuk prosedur.

Tampilan listing progam rekursi

Dan dibawah ini script progamnya :

program rekursi;
{$APPTYPE CONSOLE}

uses
  SysUtils;

type
Tipelarik=string[20];
Larikurut=array[1..1000] of Tipelarik;

procedure QuickSort(var x:Larikurut;bawah,atas:word);
var
  I,J:word;
  sementara:Tipelarik;
begin
  while atas>bawah do
  begin
  I:=bawah;
  J:=atas;
  sementara:=x[bawah];
  {Memecak larik menjadi 2 bagian}
  while I<J do
  begin
    while x[J]>sementara do
    J:=J-1;
    x[I]:=x[J];
    while (I<J) and (x[I] <= sementara) do
    I:=I+1;
    x[j]:=x[I];
    end;
    x[I]:=sementara;
    {Urutkan Rekursi}
    QuickSort(x,bawah,I-1);
    bawah:=I+1;
    end;
  end;
var
  nama:Larikurut;
  N,I:word;
begin
  write('Jumlah Data yang akan diurutkan?');readln(n);
  writeln;
  writeln('Masukkan Data:');
  for I := 1 to N do
  begin
    write('Data Ke',I,'?');readln(nama[I]);
    end;
    {Urutkan dengan procedure QuickSort}
    QuickSort(nama,1,N);
    {Tampilkan Data yang di urut}
    writeln;
    writeln('Data yang telah Urut:');
    for I:=1 to N do
      writeln(nama[I]);
      readln;
    end.
end.


nah diatas itu script nya ... silah kan ditulis dan di coba ^^
dan jangan lupa setelah mengetik  si simpan ..
cara savenya :

      *Save as               : untuk menyimpan editornya
      *Save Project As  : untuk menyimpan project nya






Hasil Running
Hasil Akhir









Share this article :

0 komentar:

Speak up your mind

Tell us what you're thinking... !

 
Support : Creating Website | Mey | Maisi Army's
Copyright © 2011. Mr. Blog - All Rights Reserved
Template Created by Maisi Army's Inspired by Maisi Army's
Proudly powered by Blogger