Minggu, 21 Juni 2015

REKURSI

REKURSI















program rekursi;
{$APPTYPE CONSOLE}
Uses
 SysUtils;
type
    tipe_larik = string[20];
    larik_urut = array [1..1000] of tipe_larik;
    procedure quicksort(var a : larik_urut; bawah, atas:word);
      var i,j:Word;
        sementara :tipe_larik;
          Begin
            While atas > bawah do
            Begin
              i := bawah;
              j := atas;
              sementara:= a[bawah];
              {Memecah Larik Menjadi dua Bagian}
                while i<j do
                  Begin
                    While a[j]>sementara do
                      j:=j-1;
                      a[i]:=a[j];
                        while (i<j) And (a[i] <= sementara) do
                          i:=i+1;
                          a[j]:=a[i];
                  end;
                    a[i]:= sementara;
                    {Urutkan Rekursi}
                    quicksort(a,bawah,i-1);
                    bawah:=i+1;
              end;
          end;
            var
              nama:larik_urut;
              b,i:Word;
                Begin
                  writeln('=================================================');
                  writeln('             BELAJAR PENGURUTAN DATA             ');
                  writeln('=================================================');
                  writeln('Berapa Banyak Data Anda yang Akan Di Urutkan...? '); Readln(b);
                  Writeln;
                  writeln('Masukkan Data Anda : ');
                    for i:=1 to b do
                      Begin
                        write('Data Ke ',i,'?'); Readln(nama[i]);
                      end;
                      {Urutkan dengan Procedure Quicksort}
                      quicksort(nama,1,b);
                      {Tampilan data yang di urutkan}
                      Writeln;
                      Writeln('Data yang Telah di urutkan : ');
                        for i:= 1 to b do
                          Writeln(nama[i]);
                          Readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.

0 komentar:

Posting Komentar