SOURCE:
program SelectionSort;
uses WinCrt;
type Array100 = array [1..100] of integer;
var
Data: Array100;
DataCount: Integer;
procedure InputData(var d: Array100; var c: Integer);
var
Code, k: Integer;
i: String;
begin
k := 1;
Writeln('Selection Sort');
Writeln('--------------');
Writeln;
repeat
Write('Masukkan angka ke-',k,' : ');readln(i);
if(i <> '') then
begin
Val(i,d[k],Code);
if(Code <> 0) then
d[k] := 0;
end;
Inc(k);
until (k > 100) or (i = '');
c := k - 2;
end;
procedure Swap(var a,b: Integer);
var
t: Integer;
begin
t := a;
a := b;
b := t;
end;
procedure Sorting(var d: Array100; c: Integer);
var
lok, i, j: Integer;
begin
for i:= 1 to c-1 do
begin
lok := i;
for j:=i+1 to c do
if(d[j] < d[lok]) then
lok := j;
Swap(d[i],d[lok]);
end;
end;
procedure Tampil(d: Array100; c: Integer);
var
i: Integer;
begin
for i:=1 to c do
Write(d[i]:5);
Writeln;
end;
begin
InputData(Data, DataCount);
Writeln;
Writeln('Sebelum diurutkan');
Tampil(Data,DataCount);
Sorting(Data,DataCount);
Writeln;
Writeln('Sesudah diurutkan');
Tampil(Data,DataCount);
end.
OUTPUT:
Selection Sort
--------------
Masukkan angka ke-1 : 9
Masukkan angka ke-2 : 8
Masukkan angka ke-3 : 7
Masukkan angka ke-4 : 6
Masukkan angka ke-5 : 5
Masukkan angka ke-6 : 4
Masukkan angka ke-7 : 3
Masukkan angka ke-8 : 2
Masukkan angka ke-9 : 1
Masukkan angka ke-10 :
Sebelum diurutkan
9 8 7 6 5 4 3 2 1
Sesudah diurutkan
1 2 3 4 5 6 7 8 9
No Comment.
Add Your Comment