Program LatRec;
uses crt,dos;
Type
Nilai=Record
Nama : String[20];
NilaiPPN : Integer;
NilaiPPA : Integer;
NilaiAgama : Integer;
NilaiLogika : Integer;
end;
var
letak:string;
indeks,jmdata,x,y: Integer;
TotNilai : Integer;
CekFile : PathStr;
FileNilai : File of Nilai;
DtNilai : Nilai;
begin
clrscr;
write('Masukkan nama :');
readln(DtNilai.nama);
write('Masukkan nilai PPN ',DtNilai.Nama,':');
readln(DtNilai.nilaiPPN);
write('Masukkan nilai PPA ',DtNilai.Nama,':');
readln(DtNilai.nilaiPPA);
write('Masukkan nilai Logika ',DtNilai.Nama,':');
readln(DtNilai.nilaiLogika);
write('Masukkan nilai Agama ',DtNilai.Nama,':');
readln(DtNilai.nilaiAgama);
Assign(FileNilai,'Nilai0.dat');
CekFile:=FSearch('Nilai0.dat','');
if CekFile='' then
ReWrite(FileNilai)
else
Reset(FileNilai);
Seek(FileNilai,FileSize(FileNilai));
Write(FileNilai,DtNilai);
clrscr;
writeln('Sebelum diurutkan');
writeln('DATA NILAI');
{123456789 123456789 123456789 123456789 123456789 123456789 123456789 1}
writeln('ÚÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ¿');
writeln('³Nama ³Nil PPN³Nil PPA³Nil Logika³Nil Agama³Grade ³Keterangan ³');
writeln('ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´');
Reset(FileNilai);
for indeks:=0 to FileSize(FileNilai)-1 do
begin
Read(FileNilai,DtNilai);
gotoxy(1, indeks+6);
write('³',DtNilai.nama);
gotoxy(14,indeks+6);
write('³',DtNilai.nilaiPPN);
gotoxy(22,indeks+6);
write('³',DtNilai.nilaiPPA);
gotoxy(30,indeks+6);
write('³',DtNilai.nilaiLogika);
gotoxy(41,indeks+6);
write('³',DtNilai.nilaiAgama);
gotoxy(51,indeks+6);
totNilai:=DtNilai.nilaiPPN+DtNilai.nilaiPPA+DtNilai.nilaiLogika+
DtNilai.nilaiAgama;
if totNilai>=34 then
write('³ A')
else if totNilai>=28 then
write('³ B')
else if totNilai>=24 then
write('³ C')
else
write('³ D');
gotoxy(58,indeks+6);
if DtNilai.nilaiLogika>7 then
write('³L')
else
writeln('³TL');
gotoXY(71,indeks+6);
writeln('³');
end;
writeln('ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÙ');
gotoxy(1,20);
writeln('Sesudah diurutkan');
writeln('DATA NILAI');
{123456789 123456789 123456789 123456789 123456789 123456789 123456789 1}
writeln('ÚÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ¿');
writeln('³Nama ³Nil PPN³Nil PPA³Nil Logika³Nil Agama³Grade ³Keterangan ³');
writeln('ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´');
Reset(FileNilai);
{For := 2 To A Do
For D := A DownTo C Do
If DtNilai.Nama < DtNilai[D-1].Nama Then
Begin
Temp := Mhs[D];
DtNilai[D] := Dtnilai[D-1];
DtNilai[D-1] := Temp;
End;}
Reset(FileNilai);
{ for x:=2 to FileSize(FileNilai) do
for y:= filesize(filenilai) to x do
if dtnilai.nama < dtnilai.nama[y-1] then
begin
letak[y]:=dtnilai.nama[y];
dtnilai.nama[y]:=dtnilai.nama[y-1];
dtnilai.nama[y-1]:=letak[y];
end;}
for x:=0 to FileSize(FileNilai)-1 do
for y:= x+1 to FileSize(FileNilai) do
if dtnilai.nama[x]>dtnilai.nama[y] then
begin
letak[x]:=dtnilai.nama[x];
dtnilai.nama[x]:=dtnilai.nama[y];
dtnilai.nama[y]:=letak[y];
end;
for indeks:=0 to FileSize(FileNilai)-1 do
begin
Read(FileNilai,DtNilai);
gotoxy(1, indeks+25);
write('³',DtNilai.nama);
gotoxy(14,indeks+25);
write('³',DtNilai.nilaiPPN);
gotoxy(22,indeks+25);
write('³',DtNilai.nilaiPPA);
gotoxy(30,indeks+25);
write('³',DtNilai.nilaiLogika);
gotoxy(41,indeks+25);
write('³',DtNilai.nilaiAgama);
gotoxy(51,indeks+25);
totNilai:=DtNilai.nilaiPPN+DtNilai.nilaiPPA+DtNilai.nilaiLogika+
DtNilai.nilaiAgama;
if totNilai>=34 then
write('³ A')
else if totNilai>=28 then
write('³ B')
else if totNilai>=24 then
write('³ C')
else
write('³ D');
gotoxy(58,indeks+25);
if DtNilai.nilaiLogika>7 then
write('³L')
else
writeln('³TL');
gotoXY(71,indeks+25);
writeln('³');
end;
writeln('ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÙ');
readln;
end.
Jumat, 14 Januari 2011
Contoh Program Sorting mengunakan Buble
uses crt;
var
nama:array[1..10]of string;
n,x,y,indek:integer;
letak:string;
begin
clrscr;
write('Masukkan jumlah data = ');readln(n);
for indek:=1 to n do
begin
write('Data ke ',indek,' =');readln(nama[indek]);
end;
for x:=1 to n-1 do
for y:=x+1 to n do
if nama[x] > nama[y] then
begin
letak:=nama[x];
nama[x]:=nama[y];
nama[y]:=letak;
end;
writeln('Data setelah diurutkan');
for indek:=1 to n do
writeln(indek,'.',nama[indek]);
readln;
end.
var
nama:array[1..10]of string;
n,x,y,indek:integer;
letak:string;
begin
clrscr;
write('Masukkan jumlah data = ');readln(n);
for indek:=1 to n do
begin
write('Data ke ',indek,' =');readln(nama[indek]);
end;
for x:=1 to n-1 do
for y:=x+1 to n do
if nama[x] > nama[y] then
begin
letak:=nama[x];
nama[x]:=nama[y];
nama[y]:=letak;
end;
writeln('Data setelah diurutkan');
for indek:=1 to n do
writeln(indek,'.',nama[indek]);
readln;
end.
Langganan:
Postingan (Atom)