Selasa, 31 Maret 2015
uses
crt;
type
data= record
nama,
nim: string;
ipk
: real;
end;
var
mhs
: array [1..100] of data;
i,
j, n, temp : integer;
pilih
: char;
procedure
input;
begin
clrscr;
write('Masukkan
jumlah mahasiswa : ');
readln(n);
for
i := 1 to n do
begin
writeln('Masukkan
Data ke- ', i);
writeln('______________________');
write
('Nama : '); readln(mhs[i].nama);
write
('NIM : '); readln(mhs[i].nim);
write
('IPK : '); readln(mhs[i].ipk);
end;
end;
procedure
tampil;
begin
clrscr;
writeln(' >> Tampilan Data
Mahasiswa <<');
writeln;
writeln;
writeln('|---------------------------------------------|');
writeln('| NIM Nama IPK |');
writeln('|---------------------------------------------|');
for
i:=1 to n do
begin
gotoxy(1,6+i);
writeln('|');
gotoxy(10,6+i);
writeln('|');
gotoxy(40,6+i);
writeln('|');
gotoxy(47,6+i);
writeln('|');
gotoxy(3,6+i);
writeln(mhs[i].nim);
gotoxy(14,6+i);
writeln(mhs[i].nama);
gotoxy(42,6+i);
writeln(mhs[i].ipk:2:2);
end;
writeln('|---------------------------------------------|');
readkey;
end;
procedure
selection;
var
max: integer;
temp:
data;
begin
for
i:=1 to n-1 do
begin
max:=i;
for
j:= i+1 to n do
if
mhs[j].ipk> mhs[max].ipk then
max:=j;
temp:=
mhs[max];
mhs[max]:=
mhs[i];
mhs[i]:=
temp;
end;
tampil;
end;
begin
input;
selection;
end.Output :
Data nilai IPK awal :
|
Data ke-
|
|||
|
1
|
2
|
3
|
4
|
|
3.70
|
3.55
|
3.77
|
3.50
|
Proses selection sorting secara descending :
|
Data ke-
|
||||
|
|
1
|
2
|
3
|
4
|
|
Proses 1
|
3.77
|
3.55
|
3.70
|
3.50
|
|
Proses 2
|
3.77
|
3.70
|
3.55
|
3.50
|
|
Hasil
|
3.77
|
3.70
|
3.55
|
3.50
|
Subscribe to:
Posting Komentar (Atom)



0 komentar:
Posting Komentar