Untitled
unknown
pascal
a year ago
2.1 kB
23
Indexable
program DataManagement;
uses crt;
var
arr: array[1..100] of integer;
n, i, j, temp, cari, pos: integer;
found: boolean;
procedure BubbleSortAscending(var arr: array of integer; n: integer);
var
i, j, temp: integer;
begin
for i := 0 to n-1 do
begin
for j := 0 to n-i-2 do
begin
if arr[j] > arr[j+1] then
begin
temp := arr[j];
arr[j] := arr[j+1];
arr[j+1] := temp;
end;
end;
end;
end;
procedure BubbleSortDescending(var arr: array of integer; n: integer);
var
i, j, temp: integer;
begin
for i := 0 to n-1 do
begin
for j := 0 to n-i-2 do
begin
if arr[j] < arr[j+1] then
begin
temp := arr[j];
arr[j] := arr[j+1];
arr[j+1] := temp;
end;
end;
end;
end;
procedure SequentialSearch(var arr: array of integer; n, cari: integer; var pos: integer; var found: boolean);
var
i: integer;
begin
found := false;
for i := 0 to n-1 do
begin
if arr[i] = cari then
begin
found := true;
pos := i+1;
break;
end;
end;
end;
begin
clrscr;
write('Input jumlah data: ');
readln(n);
for i := 1 to n do
begin
write('Data ke-', i, ': ');
readln(arr[i]);
end;
writeln('Data yang diinput:');
for i := 1 to n do
write(arr[i], ' ');
writeln;
BubbleSortAscending(arr, n);
writeln('Urutan data ascending:');
for i := 1 to n do
write(arr[i], ' ');
writeln;
BubbleSortDescending(arr, n);
writeln('Urutan data descending:');
for i := 1 to n do
write(arr[i], ' ');
writeln;
write('Input data yang anda cari: ');
readln(cari);
SequentialSearch(arr, n, cari, pos, found);
if found then
writeln('Angka ', cari, ' ditemukan dalam data yang diinput pada posisi ke-', pos)
else
writeln('Angka ', cari, ' tidak ditemukan dalam data yang diinput');
readln;
end.
Editor is loading...
Leave a Comment