RSS

Sorting

Oke, aku mainan algoritma sorting ah. Udah lama sekali aku ndak pakai berbagai macam algoritma pengurutan. Algoritma pengurutan ini ada beberapa macam, seperti : Buble sort, Selection Sort, Insertion Sort dan Merge Sort. Pengurutan sendiri ada 2 macam menurut saya, pengurutan dari kecil ke besar (ascending) dan pengurutan dari besar ke kecil (descending).

Bubble Sort
Metode ini membandingkan data 1 ke data berikutnya, jika tidak sesuai dengan pengurutannya maka kedua data tersebut ditukar.

Listing Program :

program bubble;
uses crt;
var jumdat,tmp,i,j:byte;
    data:array[1..50] of byte;
begin
   clrscr;
   readln(jumdat);
   for i:= 1 to jumdat do readln(data[i]);

   {bubble sort}
   for i:=1 to jumdat-1 do
       for j:=i to jumdat do begin
           {tanda > atau < menentukan bentuk pengurutan}
           if data[i]>data[j] then begin
              tmp:=data[i];
              data[i]:=data[j];
              data[j]:=tmp;
           end;
       end;
   {cetak data}
   for i:=1 to jumdat do write(data[i],'  ');
   writeln;
   readkey;
end.

Selection Sort
Metode pengurutan ini dilakukan dengan menentukan nilai minimum dari data kemudian menukarkan data terkecil dengan posisi terdepan saat itu.

Listing program :

program selection;
uses crt;
var jumdat,tmp,min,i,j:byte;
    data:array[1..50] of byte;
begin
   clrscr;
   readln(jumdat);
   for i:= 1 to jumdat do readln(data[i]);

   {selection sort}
   for i:=1 to jumdat-1 do begin
       min:=i;
       {mendapatkan nilai minimum}
       for j:=i+1 to jumdat do begin
           if data[j]<data[min] then min:=j
       end;

       {menukar data dengan data minimum}
       tmp:=data[i];
       data[i]:=data[min];
       data[min]:=tmp;
   end;

   {cetak data}
   for i:=1 to jumdat do write(data[i],'  ');
   writeln;
   readkey;
end.

Aplikasi metode Sorting


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.