TUGAS STRUKTUR DAN ORGANISASI DATA
(SORTING DATA –PASCAL)
PROGRAMER :
NAMA
:KUKUH
PRASETYO
NPM :14111031
KLS :2KA04
UNIVERSITAS
GUNADARMA
2012
CODING :
PROGRAM
TUGAS_SETRUKTUR_dan_ORGANISASI_DATA_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;
writeln('___________TUGAS
STRUKTUR DAN ORGANISASI (SORTING PASCAL)_________');
writeln('');
writeln('NAMA : KUKUH
PRASETYO
NPM : 14111031');
writeln('KLS : 02KA04');
writeln ('');
write('BANYAK DATA YANG INGIN
DI INPUT :');
readln(n);
for i:= 1 to n do
begin
clrscr;
GOTOXY(30,4);WRITE('SILAKAN
INPUT 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('2.URUTKAN
BERDASARKAN NAMA');
WRITELN('3.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;
3: GOTO EXIT;
end;
clrscr;
gotoxy(15,2);write('DATA
MAHASISWA');
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);
{proses cetak isi array di
absen}
bar:=7;
for i:=1 TO N DO
begin
{penempatan cetak array}
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.
INTERFACE :
Tidak ada komentar:
Posting Komentar