Rabu, 10 Oktober 2012

Program sorting pascal

PROGRAM tugas_program_sorting_data;
uses crt;
const
garis='-----------------------------------------------';
var
Kelas     :array [1..100]of string[5];
NPM       :array[1..100]of string[10];
Nama      :array[1..100]of string[15];
n,i,bar,kelompok,tempatnya_min,pil: Integer;
min,temp:string;
label Menu;
label exit;
begin
clrscr;
write('mau isi berapa data :');
readln(n);
for i:= 1 to n do
begin
clrscr;
GOTOXY(30,4);WRITE('DATA KE-',i:2);
GOTOXY(10,7);WRITE('NPM  :') ; READLN(NPM[i]);
GOTOXY(10,8);WRITE('NAMA :'); READLN(NAMA[i]);
GOTOXY(10,9);WRITE('KELAS:'); READLN(KELAS[i]);
END;
MENU:
CLRSCR;
WRITELN('MASUKAN PILIHAN ANDA :');
WRITELN('1.URUTKAN BERDASARKAN KELAS');
WRITELN('0.EXIT');
WRITE ('PILIH PILIHAN ANDA :');READLN(PIL);
CASE PIL OF
1:FOR KELOMPOK := 1 TO N DO
BEGIN
MIN:=KELAS[KELOMPOK];
FOR I :=KELOMPOK TO N DO
BEGIN
IF (KELAS [i] <= MIN) THEN
BEGIN
MIN:=KELAS[I];
TEMPATNYA_MIN:=i;
END;
TEMP := KELAS[KELOMPOK];
KELAS[KELOMPOK]:=KELAS[TEMPATNYA_MIN];
KELAS[TEMPATNYA_MIN]:=TEMP;
TEMP:= NAMA[KELOMPOK];
NAMA[KELOMPOK]:=NAMA[TEMPATNYA_MIN];
NAMA[TEMPATNYA_MIN]:=TEMP;
TEMP :=NPM[KELOMPOK];
NPM[KELOMPOK]:= NPM[TEMPATNYA_MIN];
NPM[TEMPATNYA_MIN]:= TEMP;
END;
END;
2:FOR KELOMPOK := 1 TO N DO
BEGIN
MIN := NAMA [KELOMPOK];
FOR i:= KELOMPOK TO N DO
BEGIN
IF (NAMA[i] <=MIN)THEN
BEGIN
MIN:= NAMA[i];
TEMPATNYA_MIN:=i;
END;
END;
TEMP:=KELAS[KELOMPOK];
KELAS[KELOMPOK] :=KELAS[TEMPATNYA_MIN];
KELAS[TEMPATNYA_MIN]:=TEMP;
TEMP:=NAMA[KELOMPOK];
NAMA[KELOMPOK]:=NAMA[TEMPATNYA_MIN];
NAMA[TEMPATNYA_MIN]:=TEMP;
TEMP:=NPM[KELOMPOK];
NPM[KELOMPOK]:=NPM[TEMPATNYA_MIN];
NPM[TEMPATNYA_MIN]:=TEMP;
END;
0: GOTO EXIT;
end;
clrscr;
gotoxy(5,4);write(garis);
gotoxy(5,5);write('no');
gotoxy(9,5);write ('NPM');
gotoxy(20,5);write('nama');
gotoxy(37,5);write('Kelas');
gotoxy(5,6);write(garis);

bar:=7;
for i:=1 TO N DO
begin
gotoxy(5,bar);writeln(i:2);
gotoxy(9,bar);writeln(npm[i]);
gotoxy(20,bar);writeln(nama[I]);
gotoxy(37,bar);writeln (kelas[I]);
bar:=bar + 1;
end;
gotoxy(5,bar+1);writeln(garis);
readln;
goto menu;
exit:
end.

OUTPUT program


Tidak ada komentar:

Posting Komentar