Rabu, 21 Desember 2011

CONTOH PEMROGRAMAN FILE

PROGRAM PEMROGRAMAN_FILE;
Uses
Wincrt;
type
rec_mhs = record
glb : string[3];
no_dft : string[12];
nama : string[25];
nilai : integer;
end;
var
fmhs : file of rec_mhs;
data_mhs : rec_mhs;
nil2 : real;
grade : char;
ulang : boolean;
yn : char;
jumrec : longint;
tcari : string;
i,brs,hal : integer;

Procedure tampil;
begin
ulang:=true;
while ulang do
begin
assign(fmhs,'mahas.dat');
reset(fmhs);
jumrec:=filesize(fmhs);
clrscr;
brs:=0;hal:=0;
gotoxy(3,2);Write('Laporan Test Penentuan Grade Gelombang ke [I/II/III] :');readln(tcari);
seek(fmhs,0);
for i:=1 to jumrec do
begin
if brs=0 then
begin
clrscr;
hal:=hal+1;
Writeln('<-SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BANTEN JAYA SERANG->');
Writeln(' <-- DAFTAR NILAI CALON MAHASISWA BARU --> ');
Writeln(' Hal :',hal);
Writeln('________________________________________________________________________');
Writeln(' NO No. Daftar Nama Calon Mhs Jwb. Benar Nilai Grade ');
Writeln('________________________________________________________________________');
end;
brs:=brs+1;
read(fmhs,data_mhs);
With data_mhs do
begin
if tcari=glb then
begin
{nil2:=(nilai*5)/3;}
nil2:=nilai;
if (nil2>=85) and (nil2<=100) then
grade := ('A') else
if (nil2>=70) and (nil2<85) then
grade := ('B') else
if (nil2>=55) and (nil2<70) then
grade := ('C') else
if (nil2>=40) and (nil2<55) then
grade := ('D') else
grade := ('E');
Writeln(i:3,' ',no_dft:10,' ',nama:20,' ',nilai:2,' ',nil2:0:2,' ',grade:2,'');
if brs=10 then
begin
Writeln('_______________________________________________________________________');
writeln('Tekan Enter Untuk melanjutkan......');
readln;
brs:=0;
end;
end;
end;
end;
Writeln('________________________________________________________________________');
Writeln ('Data habis...........');
Write('Cetak Lagi (Y/T):');
readln(yn);
If (yn='T') or (yn='t') then
ulang:=false;
readln;
end;
close(fmhs);
end;

begin
clrscr;
assign(fmhs,'mahas.dat');
{$i-}
reset(fmhs);
{$i+}
if ioresult<>0 then rewrite(fmhs);
jumrec:=filesize(fmhs);
seek(fmhs,jumrec);
ulang:=true;
while ulang do
begin
clrscr;
gotoxy(5,2);write(' P E N E R I M A A N M A H A S I S W A B A R U ( P M B ) ');
gotoxy(5,3);write(' T A H U N A K A D E M I K 2 0 0 4 / 2 0 0 5 ');
gotoxy(5,4);write('_____________________________________________________________________');
gotoxy(5,6);write(' GELOMBANG [I/II/III] :');
gotoxy(5,7);write(' NOMOR PENDAFTARAN :');
gotoxy(5,8);write(' NAMA CALON MAHASISEWA:');
gotoxy(5,9);write(' NILAI TOTAL :');
gotoxy(5,10);write('_____________________________________________________________________');
with data_mhs do
begin
gotoxy(30,6);readln(glb);
gotoxy(30,7);readln(no_dft);
gotoxy(30,8);readln(nama);
gotoxy(30,9);readln(nilai);
write(fmhs,data_mhs);
end;
gotoxy(4,11);write ('Input Lagi [Y/T] =:');
gotoxy(5,12);write('_____________________________________________________________________');
gotoxy(30,11);readln(yn);
if (yn='t') or (yn='T') then
ulang:=false;
end;
close(fmhs);
tampil;
end.

Selasa, 20 Desember 2011

CONTOH PROGRAM MENU (PASCAL)

Program menu_coba;
uses wincrt;
var
pil, pil_u : string[1];
jari : integer;
luas, kel : real;

Procedure wd;
begin
clrscr;
Writeln('---------------------------------');
Writeln('Jari-jari Luas Keliling');
Writeln('---------------------------------');
jari:=10;
While jari < 20 Do
Begin
luas:=3.14*jari*jari;
kel:=2*3.14*jari;
Writeln(jari,' ',luas:4:2,' ',kel:4:2);
jari:= jari+2;
End;
end;

Procedure ru;
begin
clrscr;
Writeln('---------------------------------');
Writeln('Jari-jari Luas Keliling');
Writeln('---------------------------------');
jari:=8;
Repeat
jari:= jari+2;
luas:=3.14*jari*jari;
kel:=2*3.14*jari;
Writeln(jari,' ',luas:4:2,' ',kel:4:2);

Until jari=20;
end;

Procedure fd;
begin
clrscr;
Writeln('---------------------------------');
Writeln('Jari-jari Luas Keliling');
Writeln('---------------------------------');
For jari:=10 to 21 do
begin
luas:=3.14*jari*jari;
kel:=2*3.14*jari;
Writeln(jari,' ',luas:4:2,' ',kel:4:2);
jari:=jari+1;
end;
end;

Begin
repeat;
clrscr;
Writeln('-----------------------------------');
Writeln('PROGRAM LUAS DAN KELILING LINGKARAN');
Writeln('-----------------------------------');
Writeln('[1]. Dengan While Do ');
Writeln('[2]. Dengan Repeat Until ');
Writeln('[3]. Dengan For Do ');
Writeln('-----------------------------------');
Write('Pilih [1/2/3]');readln(pil);
if (pil='1') then
wd else
if (pil='2') then
ru else
fd;
Write('Kembali ke menu [Y/T]');readln(pil_u);
Until pil_u='T';
end.

Selasa, 04 Januari 2011

ARRAY

Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Contoh:
Var

Untai : array[1..50] of Integer;
Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer.

Contoh Program :
Program Contoh_Array_Input;

Uses WinCrt;
Var
Bilangan : array[1..50] of Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;
Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]);
Readln;
End.

Array juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini :
Program Contoh_Deklarasi_Array_Beragam;
Uses WinCrt;
Var
NPM : array[1..20] of string[10];
Nama : array[1..20] of string[25];
Nilai : array[1..20] of real;
Umur : array[1..20] of byte;
banyak,i : integer;

Begin
ClrScr;
Write('Isi berapa data array yang diperlukan :');Readln(banyak);
For i := 1 to banyak Do
Begin
Write('NPM =');Readln(NPM[i]);
Write('Nama =');readln(Nama[i]);
Write('Nilai=');readln(Nilai[i]);
Write('Umur =');readln(Umur[i]);
End;
{cetak varibel array}

Writeln('NPM NAMA NILAI UMUR ');
For i:= 1 to banyak Do
Begin
Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3);
End;
Readln;
End.

Tugas : untuk program yang kedua gunakan Looping Repeat-Until.............!