February 29, 2012
PROGRAM MENENTUKAN BILANGAN GENAP ATAU GANJIL DENGAN PASCAL
PROGRAM MENGHITUNG LUAS DAN KELILING SEGITIGA DENGAN PASCAL
February 28, 2012
LOOPING DAN ARRAY PADA PASCAL
- Menggunakan USES CRT,
- NPM : ARRAY [1..20] OF STRING [8], berarti array NPM mempunyai 20 buah elemen yaitu dari 1 sampai 20 dengan tipe data string sebatas 8 karakter dst.,
- Variabel BANYAK untuk menentukan banyak data yang diinginkan User, dan variabel I sebagai variabel index dengan menggunakan pengulangan FOR I := TO BANYAK DO
- WRITE NPM, NAMA, NILAI, UMUR untuk menampilkan data apa saja yang akan dimasukkan oleh User , READLN untuk membaca nilai yang yang dimasukan oleh user dan diwakili dengan variabel masing – masing ditambah variabel indeks I,
- WRITELN untuk menampilkan kata NPM, NAMA, dst. dengan masing – masing spasi yang ditentukan (lihat diatas),
- FOR I dan WRITELN merupakan pengulangan yang kedua untuk menampilkan data yang sudah dimasukkan sebanyak data yang dimasukkan (I) oleh User,
- END; mengakhiri pengulangan, READLN dan END untuk mengakhiri program.Output
February 27, 2012
KONDISI PADA PASCAL
- Ketik USES CRT, lalu deklarasikan variabel X sebagai real, dan variable Y sebagai string.
- Lalu BEGIN, CLRSCR, dan variabel Y diberi nilai ‘TIDAK LULUS’
- WRITE akan menampilkan ‘NILAI ANDA : ’, dan readln(X) akan membaca angka yang ditulis oleh User,
- Kondisi IF X > 60 akan membuat nilai Y dari ‘TIDAK LULUS’ menjadi ‘LULUS’, apabila Y < 60 maka nilai Y tetap ‘TIDAK LULUS’,
- WRITELN(Y) akan menampilkan hasil proses kondisi sebelumnya, lalu READLN DAN END,
- Jalankan program dengan NILAI ANDA : 70, maka outputnya adalah sebagai berikut
- Dimulai dengan USES CRT, lalu deklarasikan variable NILAI sebagai CHAR,
- BEGIN,CLRSCR, WRITELN NILAI ANDA dan READLN(NILAI) untuk membaca character yang ditulis oleh User,
- CASE (NILAI) OF untuk membuat variabel NILAI mempunyai 3 pilihan. ‘a’ sebagai Tshirt, ‘b’ sebagai Sepatu, ‘c’ sebagai Topi,
- END; untuk mengakhiri CASE OF, lalu READLN dan END. untuk mengakhiri program.
February 26, 2012
PROGRAM SEDERHANA PASCAL
January 09, 2012
PROGRAM MULTI LIST DENGAN PASCAL
LISTING PROGRAM :
PROGRAM MULTI_LIST;
USES CRT;
TYPE RBDT = RECORD
NPM : ARRAY [1..10] OF STRING [18];
NIRM : ARRAY [1..10] OF STRING [8];
NAMA : ARRAY [1..10] OF STRING [15];
ALM : ARRAY [1..10] OF STRING [15];
END;
TYPE RNIRM = RECORD
NIRM2 : ARRAY [1..10] OF STRING [8];
TM2 : ARRAY [1..10] OF STRING [10];
TH2 : ARRAY [1..10] OF STRING [10];
END;
VAR FBDT : ARRAY [1..10] OF RBDT;
FNIRM : ARRAY [1..10] OF RNIRM;
FILES,FILES2,FILES3 : TEXT;
PIL : CHAR;
N : INTEGER;
LABEL RETURN;
PROCEDURE LINES;
VAR K : INTEGER;
BEGIN
FOR K := 1 TO 80 DO
WRITE('-');
END;
PROCEDURE LINES2;
VAR K : INTEGER;
BEGIN
FOR K := 1 TO 50 DO
WRITE('-');
END;
PROCEDURE LINES3;
VAR K : INTEGER;
BEGIN
FOR K := 1 TO 49 DO
WRITE('-');
END;
PROCEDURE INPUT_DATA;
VAR I,J : INTEGER;
BEGIN
CLRSCR;
ASSIGN(FILES,'FILE_BIODATA.TXT');
REWRITE(FILES);
WRITELN(' FILE BIODATA');
WRITELN;
WRITE(' BANYAKNYA DATA : ');READLN(N);
FOR I := 1 TO N DO
BEGIN
WITH FBDT[I] DO
BEGIN
WRITELN(' ');
WRITELN(' DATA KE-',I);
WRITE(' NPM : ');READLN(NPM[I]);WRITELN(FILES,NPM[I]);
WRITE(' NIRM : ');READLN(NIRM[I]);WRITELN(FILES,NIRM[I]);
WRITE(' NAMA : ');READLN(NAMA[I]);WRITELN(FILES,NAMA[I]);
WRITE(' ALAMAT : ');READLN(ALM[I]);WRITELN(FILES,ALM[I]);
END;
END;
CLOSE(FILES);
CLRSCR;
ASSIGN(FILES2,'F_NIRM.TXT');
REWRITE(FILES2);
WRITELN(' FILE NIRM');
WRITELN;
WRITELN(' BANYAKNYA DATA : ',N);
FOR J:= 1 TO N DO
BEGIN
WITH FNIRM[J] DO
BEGIN
WRITELN('');
WRITELN(' DATA KE-',J);
WRITE(' NIRM : ');READLN(NIRM2[J]);WRITELN(FILES2,NIRM2[J]);
WRITE(' TANGGAL MULAI : ');READLN(TM2[J]);WRITELN(FILES2,TM2[J]);
WRITE(' TANGGAL HABIS : ');READLN(TH2[J]);WRITELN(FILES2,TH2[J]);
END;
END;
CLOSE(FILES2);
END;
PROCEDURE VIEW_BIODATA;
VAR I,J : INTEGER;
BEGIN
CLRSCR;
RESET(FILES);
FOR I := 1 TO N DO
BEGIN
WITH FBDT[I] DO
BEGIN
GOTOXY (20,2);WRITELN('FILE BIODATA');
GOTOXY (1,4);LINES2;
GOTOXY (2,5);WRITELN('NO NPM NIRM NAMA ALAMAT ');
GOTOXY (1,6);LINES2;
GOTOXY (2,6+I);WRITE(I:2);
GOTOXY (7,6+I);WRITE(NPM[I]);
GOTOXY (17,6+I);WRITE(NIRM[I]);
GOTOXY (29,6+I);WRITE(NAMA[I]);
GOTOXY (41,6+I);WRITE(ALM[I]);
END;
END;
GOTOXY (1,7+I);LINES2;
CLOSE(FILES);
READLN;
END;
PROCEDURE VIEW_NIRM;
VAR J : INTEGER;
BEGIN
CLRSCR;
RESET(FILES2);
FOR J := 1 TO N DO
BEGIN
WITH FNIRM[J] DO
BEGIN
GOTOXY (19,2);WRITELN('FILE NIRM');
GOTOXY (1,4);LINES3;
GOTOXY (2,5);WRITELN('NO NIRM TGL MASUK TGL HABIS');
GOTOXY (1,6);LINES3;
GOTOXY (2,6+J);WRITE(J:2);
GOTOXY (7,6+J);WRITE(NIRM2[J]);
GOTOXY (20,6+J);WRITE(TM2[J]);
GOTOXY (37,6+J);WRITE(TH2[J]);
END;
END;
GOTOXY (1,7+J);LINES3;
CLOSE(FILES2);
READLN;
END;
PROCEDURE VIEW_DAFTAR_MAHASISWA;
VAR I,J : INTEGER;
BEGIN
CLRSCR;
ASSIGN(FILES3,'DAFTAR_MAHASISWA.TXT');
REWRITE(FILES3);
FOR I := 1 TO N DO
BEGIN
WITH FBDT[I] DO
BEGIN
FOR J := 1 TO N DO
BEGIN
WITH FNIRM[J] DO
BEGIN
GOTOXY (31,2);WRITELN('DAFTAR MAHASISWA');
GOTOXY (1,4);LINES;
GOTOXY (2,5);WRITELN('NO NPM NIRM NAMA ALAMAT TGL MASUK TGL HABIS');
GOTOXY (1,6);LINES;
GOTOXY (2,6+I);WRITE(I:2);
GOTOXY (7,6+I);WRITE(NPM[I]);
GOTOXY (17,6+I);WRITE(NIRM[I]);
GOTOXY (29,6+I);WRITE(NAMA[I]);
GOTOXY (41,6+I);WRITE(ALM[I]);
IF NIRM[I] = NIRM2[J] THEN
BEGIN
GOTOXY (54,6+I);WRITE(TM2[J]);
GOTOXY (69,6+I);WRITE(TH2[J]);
END;
END;
END;
WITH FNIRM[J] DO
BEGIN
WRITELN(FILES3,NPM[I]);
WRITELN(FILES3,NIRM[I]);
WRITELN(FILES3,NAMA[I]);
WRITELN(FILES3,ALM[I]);
WRITELN(FILES3,TM2[J]);
WRITELN(FILES3,TH2[J]);
END;
END;
END;
GOTOXY (1,7+I);LINES;
CLOSE(FILES3);
READLN;
END;
BEGIN
REPEAT
RETURN:
CLRSCR;
GOTOXY (9,3);WRITELN('<<< MENU FILE >>>');
GOTOXY (4,5);WRITELN('1. FILE BARU DAN INPUT DATA');
GOTOXY (4,6);WRITELN('2. TAMPILKAN FILE BIODATA');
GOTOXY (4,7);WRITELN('3. TAMPILKAN FILE NIRM');
GOTOXY (4,8);WRITELN('4. TAMPILKAN DAFTAR MAHASISWA');
GOTOXY (4,9);WRITELN('5. SELESAI');
GOTOXY (4,12);WRITE('PILIHAN ANDA : ');READLN(PIL);
IF NOT (PIL IN ['1'..'5']) THEN
BEGIN
WRITELN(CHAR(7));
GOTOXY (23,13);WRITELN('PILIHAN SALAH !!!');
READLN;
GOTO RETURN;
END;
CASE PIL OF
'1' : INPUT_DATA;
'2' : VIEW_BIODATA;
'3' : VIEW_NIRM;
'4' : VIEW_DAFTAR_MAHASISWA;
END;
UNTIL PIL = '5';
END.
CATATAN :
NPM : Nomor Pokok Mahasiswa
NIRM, NIRM2 : Nomor Induk Registrasi Mahasiswa
ALM : Alamat
RBDT : Record BIODATA
RNIRM :Record NIRM
FBDT : FILE BIODATA
FNIRM : FILE NIRM
OUTPUT :
MENU PROGRAM
November 06, 2011
PROGRAM PASCAL SAVE & SORTIR
uses crt;
label z,l;
var textfile:text;
a,b,c:array[1..20] of string;
i,j,k:integer;
temp,temp1,temp2:string;
q:char;
procedure sort; (* membuat block program untuk menyortir data *)
begin
clrscr;
writeln('1.Nama');
writeln('2.Npm');
writeln('3.Kelas');
writeln('Pilih yang ingin di sortir : ');readln(q);
if q = '1' then
begin
for i := 1 to k-1 do (* untuk membandingkan angka sesudahnya untuk mengetahui nilai yang lebih kecil*)
for j:=i+1 to k do
if a[j]
begin
temp:=a[i] ; temp1:=b[i] ; temp2:=c[i];
a[i]:=a[j] ; b[i]:=b[j] ; c[i]:=c[j];
a[j]:=temp ; b[j]:=temp1 ; c[j]:=temp2;
end;
end;
if q = '2' then
begin
for i := 1 to k-1 do
for j:=i+1 to k do
if b[j]
begin
temp:=a[i] ; temp1:=b[i] ; temp2:=c[i];
a[i]:=a[j] ; b[i]:=b[j] ; c[i]:=c[j];
a[j]:=temp ; b[j]:=temp1 ; c[j]:=temp2;
end;
end;
if q = '3' then
begin
for i := 1 to k-1 do
for j:=i+1 to k do
if c[j]
begin
temp:=a[i] ; temp1:=b[i] ; temp2:=c[i];
a[i]:=a[j] ; b[i]:=b[j] ; c[i]:=c[j];
a[j]:=temp ; b[j]:=temp1 ; c[j]:=temp2;
end;
end;
Assign(textfile,'NAMA.TXT');
Rewrite(textfile);
for i:= 1 to k do writeln(textfile,a[i]);
close(textfile);
Assign(textfile,'NPM.TXT');
Rewrite(textfile);
for i:= 1 to k do writeln(textfile,b[i]);
close(textfile);
Assign(textfile,'KELAS.TXT');
Rewrite(textfile);
for i:= 1 to k do writeln(textfile,c[i]);
close(textfile);
(* untuk menulis hasil sortir ke format .txt *)
end;
procedure tulis; (* membuat block program menulis data baru *)
Begin
clrscr;
writeln('Masukkan Banyaknya Data : ');readln(k);
Assign(textfile,'NAMA.TXT');
Rewrite(textfile);
for i:= 1 to k do
begin
clrscr;
Writeln('Masukkan nama ke-',i,' : ');readln(a[i]);
writeln('Masukkan npm ke-',i,' : ');readln(b[i]);
writeln('Masukkan kelas ke-',i,' : ');readln(c[i]);
writeln(textfile,a[i]);
end;
Close(textfile);
Assign(textfile,'NPM.TXT');
Rewrite(textfile);
for i:= 1 to k do writeln(textfile,b[i]);
close(textfile);
Assign(textfile,'KELAS.TXT');
Rewrite(textfile);
for i:= 1 to k do writeln(textfile,c[i]);
close(textfile);
(* untuk menulis hasil data yang di input ke format .txt *)
End;
procedure output; (* untuk membuat block program untuk hasil *)
begin
clrscr;
writeln('************************************************************************');
writeln('* no * Nama * Kelas * NPM *');
writeln('************************************************************************');
for i:=1 to k do
writeln('*',i:2,'. ','*':1,a[i]:15,'*':10,c[i]:11,'*':7,b[i]:16,'*':7);
writeln('************************************************************************');
assign(textfile,'HASIL.TXT');
rewrite(textfile);
writeln(textfile,'************************************************************************');
writeln(textfile,'* no * Nama * Kelas * NPM *');
writeln(textfile,'************************************************************************');
for i:=1 to k do
writeln(textfile,'*',i:2,'. ','*':1,a[i]:15,'*':10,c[i]:11,'*':7,b[i]:16,'*':7);
writeln(textfile,'************************************************************************');
close(textfile);
(*untuk memcetak ke layar hasil sortir atau yang belum di sortir ke layar dan membuatnya ke format .txt *)
end;
begin
clrscr;
writeln('Mulai baru(y/t) : ');readln(q);
if (q='t') or (q='T') then
begin
k:=1;
assign(textfile,'NAMA.TXT');
reset(textfile);
repeat
readln(textfile,a[k]);
k :=k+1;
until a[k] ='';
close(textfile);
(* untuk membaca jumlah data yang di miliki *)
assign(textfile,'KELAS.TXT');
reset(textfile);
for j := 1 to k do readln(textfile,c[j]);
close(textfile);
assign(textfile,'NPM.TXT');
reset(textfile);
for j := 1 to k do readln(textfile,b[j]);
close(textfile);
end;
z: clrscr;
writeln('******************');
writeln('Program Sorting');
Writeln('******************');
writeln('1.Masukkan Data');
writeln('2.Sortir Data');
writeln('3.Output');
writeln('4.Exit');
writeln('Masukkan (1,2,3,4) : ');readln(q);
case q of
'1' : tulis;
'2' : sort;
'3' : output;
'4' : goto l;
end;
writeln('Selesai(press Enter)');readln;
goto z;
l: end.
OUTPUT :
Menu

Data Sebelum Sortir

Sortir Menurut NPM







