Pembahasan 1
Pengenalan
Pascal
Sejarah Pascal
§
Berakar dari Bahasa Algol dan PL/1 pada tahun 60-an di
benua Eropa
§
Pascal disusun oleh Prof.Niklaus Wirth pada tahun 70 dan
dipublikasikan tahun 71
§ Diujicoba pada Komputer CDC
6000
§ Turbo Pascal bersifat Compiler
dan termasuk bahasa tingkat tinggi
Struktur
Bahasa Pascal
§ Judul
Program
<judulnya>;
Uses
<unitnya>;
§ Bagian Deklarasi
Label
<namalabelnya>;
Const
<nama=nilai constantanya>;
Type
<namatype:typedatanya>;
Var
<nama_variabelnya>;
Procedure
<nama_prosedurnya>;
Function
<nama_fungsinya>;
§ Bagian Pernyataan
Begin
<pernyataan-pernyataan>;
End.
Contoh
Program
Listing
Programnya
Uses
Crt;
Begin
WriteLn( ‘Saya’ );
Write( ‘Belajar’ );
WriteLn( ‘Turbo’ );
Write( ‘Pascal’ );
Write( ‘Versi 7.0’ );
End.
Tekan Ctrl F9 untuk ekseskusi program
Tekan F5 untuk melihat hasilnya
Hasilnya
:
Saya
Belajar
Turbo
Pascal
Versi 7.0
Tugas:
Buatlah
Program cetak dilayar Biodata diri anda
Pembahasan 2
PERINTAH DASAR – IDENTIFIER - DEKLARASI
Perintah Dasar/Sederhana Pascal
§ Write
( ‘Text/tulisan’,Variabel);
Perintah untuk menampilkan
atau cetak dilayar monitor tanpa pindah baris
§ WriteLn( ‘Text/Tulisan’,Variabel);
Perintah untuk menampilkan/cetak
dilayar monitor lalu pindah baris kebawah
§ Read(Variabel);
Perintah untuk menginput/mengisi
data tanpa pindah baris
§ ReadLn(Variabel);
Perintah
untuk menginput/mengisi data lalu pindah baris
Identifier/Pengenal
Data
Digunakan
untuk penamaan elemen-elemen deklarasi seperti Label, Constanta, type, variabel, procedure,
function
Syarat Identifier
Add caption |
§ Diawali huruf
§
Tidak boleh ada spasi/blank
§ Tidak boleh menggunakan
reserved word
§
Tidak boleh menggunakan simbol khusus,
kecuali underscore(tanda
bawah)
§ Panjang maximal 63 character
Pembahasan
3
PENGUNAAN
USES CRT – TIPE SEDERHANA - OPERATOR
Penggunaan
Unit CRT (Cathoda Ray Tube)
§ CLRSCR ;
Untuk
membersihkan layar
§ Delay (nilainya);
Untuk
menghentikan program dalam satuan milisecond
§ Gotoxy(x,y);
Untuk menempatkan kursor
diposisi x dan y
§ Window(x1,y1,x2,y2)
Untuk membuat batasan
jendela pada layar
Tipe
Data Bahasa Pascal
§
Bilangan Bulat [integer] Terdiri dari
Tipe
|
Jangkauan nilainya
|
Shortint
|
-128 .. 127
|
Byte
|
0 .. 255
|
Integer
|
-32768 .. 32767
|
Word
|
0 .. 65535
|
Longint
|
-21747483648 .. 21747483647
|
§ Bilangan Pecahan [real] terdiri
dari single, real, double, extended
§
Character
à satu huruf/simbol saja
§ String à lebih dari satu huruf/simbol
§
Boolean
à data berisi True/False
Operator-Operator
Pascal
§ Assignment Operator (Operator
Pengerjaan) Ã
:=
Contoh
A:=5 Nama:=Budi
§ Binari Operator à * / + -
DIV MOD
§ Unary Operator (Operator
Tunggal) Ã
Contoh -5 +2.5
§ Bitwise Operator à NOT, AND, OR, XOR, SHL, SHR
§ Relasi Operator (Operator
Relasi) Ã = <>
> < <=
>= IN
§ Logical Operator (Operator
Logika) Ã NOT, AND, OR, XOR
§ Address Operator (Operator
Alamat) Ã @ ^
§ Set Operator (Operator
Himpunan) Ã + - *
§ String Operator à +
Contoh
Nama1:= ‘Syaiful Anwar’; Nama2:= ‘Anwar’;
Nama3 := Nama1 + Nama2 ;
Hasilnya
Nama3 Ã SyaifulAnwar
Tugas
Program
1.
Buatlah
Program Luas Segi Tiga
2.
Buatlah Program Luas dan Keliling Lingkaran
3.
Buatlah
Program Persegi Panjang
Pembahasan 4
DEKLARASI TIPE - DEKLARASI LABEL
Deklarasi
Type
Pengenal (identifier) dari data yang digunakan harus
diperkenalkan Tipenya. Jika ingin menggunakan tipe data dengan nama yang dibuat
oleh pemakai, maka harus disebutkan tipe data standarnya.
Deklarasi Label
Deklarasi label digunakan untuk melompati beberapa
perintah program. Memiliki arah dan tujuan yaitu dengan menggunakan GOTO
Tugas :
Tugas Program
1. Rubah Program Labelnya dgn Layout sbb
TEXT2 TEXT4 TEXT6
2. Buat luas dan Keliling lingkaran dengan menggunakan deklarasi type
dan Var
Pembahasan 5
FORMAT TIPE
DATA– LOKASI CURSOR
Tampilan Terformat
Untuk mengatur bentuk tampilan dari tampilan default ke
bentuk yang diinginkan atau Batasan cetak
§ Parameter Char:n
Batasan cetak/ bentuk
tampilan/ jarak tampil data char
§ Parameter String:n
Batasan cetak/ bentuk
tampilan/ jarak tampil data string
§ Parameter Boolean:n
Batasan
cetak/ bentuk tampilan/ jarak tampil data Boolean
§ Parameter Integer:n
Batasan cetak/ bentuk
tampilan/ jarak tampil data Integer
§ Parameter Real:n:m
Batasan
cetak/ bentuk tampilan/ jarak tampil data Real
Uses Crt;
Const Kampus=‘SAC’; {Tipe String}
Nrata=2.5;
{Tipe Real}
Ntotal=55;
{Tipe Integer}
Cek
=True; {Tipe Boolean}
Huruf
=‘A’; {Tipe Char}
BEGIN
Clrscr;
Writeln(‘Nama Kampus :’,Kampus);
Writeln(‘Nama Kampus :’,Kampus:3);
Writeln(‘Nama Kampus :’,Kampus:6);
Writeln(‘Nilai Rata :’,Nrata);
Writeln(‘Nilai Rata :’,Nrata:3:0);
Writeln(‘Nilai Rata :’,Nrata:6:1);
Writeln(‘Nilai Total :’,Ntotal:2);
Writeln(‘Nilai Total :’,Ntotal:5);
Writeln(‘Cek Boolean :’,Cek);
Writeln(‘Cek Boolean :’,Cek:7);
Writeln(‘Huruf Abjad :’,Huruf);
Writeln(‘Huruf Abjad :’,Huruf:3);
Readln;
End.
Contoh Program Lokasi Cursor
BEGIN
CLRSCR;
GOTOXY(10,2);
WRITE(‘JUDUL INI TERCETAK DI KOLOM 10 BARIS 2’);
READLN;
END.
Pembahasan 6
BRANCHING IF
TUNGGAL/MAJEMUK – CASE OF
Bracnhing/
Penyeleksian Kondisi
Untuk
menyeleksi kondisi-kondisi suatu proses makan diperlukan perintah IF. Adapun
bentuk-bentuk IF sbb:
§ Statement IF
Bentuk
Umum : If <Kondisi> Then
<Statement>;
contoh : IF N>=60 Then Ket:=‘Lulus’;
Bentuk
Umum : If <Kondisi> Then
<Statement1>
Else <Statement2>;
contoh : IF
N>=60 Then Ket:=‘Lulus’
Else Ket:=‘Gagal’;
Nb : apabila dalam
satu statement lebih dari 1 baris perintah maka statemen tsb dimasukkan blok
Branching
Majemuk
Bentuk
Umum : If <Kondisi1> Then
<Statement1>
Else If
<Kondisi2> Then <Statement2>
Else <Statement3>;
contoh : IF
(N>=84) and (N<100) Then Mutu:=‘Amat Baik’
Else
IF N>74 Then Mutu:=‘Baik’
Else IF N>60 Then Mutu:=‘Cukup’
Else
Mutu:=‘Kurang’;
Statement
Case…OF
Pembahasan 7
LOOPING ( PERULANGAN )
1.
Statement
For....Do (Perulangan Counter)
B.U
: For variabel_kontrol : = nilai_awal
To nilai_akhir
Do
Statement ;
B.U : For variabel_kontrol:=
nilai_awal DownTo nilai_akhir
Do
Statement
;
2.
Statement
While ... Do (Perulangan Kondisi Terpenuhi)
B.U
: While ungkapan_logika Do
Statement ;
3.
Statement Repaet...Until (Perulangan Kondisi Tidak
Terpenuhi)
B.U
: Repeat
Statement ;
Until ungkapan_logika ;
|
|
|
|
Tugas :
- Buat deret bilangan ganjil dan deret bilangan genap
- Buatlah deret bilangan Fibonanci à 1 1 2 3 5 8 13 21 34 55
- Buatlah deret
1 2 3 4 5 b. 1 c.
5 d. 1 2 3 4 5
1 2 3 4 1 2 4 5 2 3 4 5
1 2 3 1 2 3 3 4 5 3
4 5
1 2 1 2 3 4 2 3 4 5 4 5
1 1 2 3 4
5 1 2 3 4 5 5
- Buatlah deret
1 . 2 1 . 4 1 . 6
1 . 8
2 . 2 2 . 4 2 . 6
2 . 8
Pembahasan 8
HIMPUNAN
/ SET
Himpunan
termasuk salah satu tipe data terstruktur,yang terdiri dari sejumlah elemen
yang bertipe data sama.
Pendefinisian
tipe data himpunana diawali dengan kata tercadang Set dan Of,kemudian
didikuti dengan tipe elemen.
Bentuk
umum : SET OF tipe_elemen
Elemen
Himpunan mempunyai bentuk eperti : [daftar_elemen] yang mana etiap elemen harus
bertipe sama.
Operator hubungan dalam
himpunan
Himp1
= Himp2 Dua Himpunan
Dikatakan sama jika jumlah elemen sama dan
masing-masing elemen sama.Hasilnya True bila Himp1 sama dengan Himp2
Himp1
<> Himp2 Dua
Himpunan Dikatakan tidak sama jika jumlah elemen tidak sama dan masing-masing
elemen tidak sama. Hasilnya True bila Himp1 tidak sama dengan Himp2
Himp1
<= Himp2 Hasil
bernilai True jika semua elemen dari Himp1 terdapat pada Himp2
Himp1
>= Himp2 Hasil
bernilai True jika semua elemen dari Himp2 terdapat pada Himp1
Elemen In Himp Memeriksa
elemen adalah anggota himpunan Himp atau tidak.Hasil true jika elemen adalah
anggota dari Himp
Operator Operasi Himpunan
Himp1
* Himp2 Operasi
Interseksi himpunan.untuk memperoleh himpunan yang terdiri dari elemen yang
merupakan anggota himpunan Himp1 dan
sekaligus juga merupakan anggota Himp2
Himp1
+ Himp2 Operasi
penggabungan himpunan.Untuk memperoleh himpunan yang terdiri dari gabungan
elemen anggota Himp1 dan Himp2
Himp1
- Himp2 Operasi
selisih himpunan.Untuk memperoleh himpunan yang terdiri dari elemen anggota
Himp1 yang bukan anggota himpunan Himp2
Contoh
Ungkapan
|
Hasil
|
[1,2,3,4,5]
* [1,3,5,7]
|
[1,3,5]
|
[1,2,3,4,5]
* [6,7,8,9,10]
|
[]
|
[1,2,3]
* []
|
[]
|
[1,2,3,4,5]
+ [6,7]
|
[1,2,3,4,5,6,7]
|
[1,2,4]
+ [1,2,3]
|
[1,2,3,4]
|
[1,2,3,4,5]
- [1,2]
|
[3,4,5]
|
[1,2,3,4,5]
- [4,5,6,7]
|
[1,2,3]
|
[4,5,6,7]
- [1,2,3,4,5]
|
[4,6,7]
|
Contoh
Program Himpunan
Program Himpunan;
Uses Crt;
Type Hs = Set Of 1..9;
Var H1,H2,H3 : Hs;
BEGIN
CLRSCR;
H1:=[1,2,3,4,5];
H2:=[3,5,6,7,8];
H3:=H1+H2;
IF
H3=[1..8] Then Writeln('H1+H2 Adalah [1..8]') Else Writeln('Salah');
Readln;
H3:=H1-H2;
IF
H3=[1,2,4] Then Writeln('H1-H2 Adalah [1,2,4]') Else Writeln('Salah');
Readln;
H3:=H1*H2;
IF
H3=[3,5] Then Writeln('H1*H2 Adalah [3,5]') Else Writeln('Salah');
Readln;
END.
Pembahasan 9
ARRAY / LARIK
Array ( larik ) adalah tipe terstruktur yang terdiri dari
sejumlah komponen yang mempuyai tipe sama.
B.U : Array [ 1 . . 20 ]
of tipe_data ; (Dimensi 1)
B.U
: Array [1 . . 3 , 1 . . 2] of tipe_data; (Dimensi 2)
Contoh
Program Array :
Uses
crt ;
Var
Nama : array [1..30 ] of
string ;
Tugas, uts, uas,
absen : array [1..30] of integer ;
Rata : array [1..30] of
real ;
x , jd : byte;
BEGIN
CLRSCR ;
Write ( ‘ Masukan Jumlah
data : ‘ ) ; readln ( jd )
;
For x : = 1 to jd do
begin
Writeln ( ‘
***************************** ‘ ) ;
Writeln ( ‘ PENILAIAN UJIAN SISWA CENDEKIA ‘ ) ;
Writeln ( ‘
***************************** ‘ ) ;
Write ( ‘
Input Nama : ‘
) ; readln (nama[x] ) ;
Write ( ‘
Input Nilai Tugas : ‘
) ; readln (tugas[x] ) ;
Write ( ‘
Input Nilai Absen : ‘ ) ; readln (absen[x] ) ;
Write ( ‘
Input Nilai UTS : ‘
) ; readln (uts[x] ) ;
Write ( ‘
Input Nilai UAS : ‘
) ; readln (uas[x]) ;
Rata[x]:=(0.1*tugas[x])+(0.2*absen[x])+(0.3*uts[x])+(0.4*uas[x]);
End ;
CLRSCR ;
For i
: = 1 to j do
Begin
Writeln ( ‘ ***************************** ‘ ) ;
Writeln ( ‘ PENILAIAN UJIAN SISWA CENDEKIA ‘ ) ;
Writeln ( ‘ ***************************** ‘ ) ;
Writeln ( ‘ Nama : ‘ , nama[i] ) ;
Writeln ( ‘ Nilai Tugas : ‘ , tugas[i] ) ;
Writeln ( ‘ Nilai Absen : ‘ , absen[i] ) ;
Writeln ( ‘ Nilai UTS : ‘ , uts[i] ) ;
Writeln ( ‘ Nilai UAS : ‘ , uas[i]) ;
Writeln ( ‘ **************************** ‘ ) ;
Writeln ( ‘ Rata-rata : ‘ , rata : 1: 0 ) ;
Readln ;
End;
END.
Pembahasan
10
PROCEDURE
Prosedur
adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai
subprogram ( program bagian ). Parameter pada
procedure ada 2 :
Bentuk Umum :
|
|
Parameter didalam prosedur
terdiri dari 2 yaitu :
a. Parameter
bersifat Lokal artinya bahwa nilai yang terdapat didalam
suatu modul program hanya dapat digunakan pada modul yang bersangkutan sehingga
tidak dapat digunakan pada modul lain.
b.
Parameter bersifat Global artinya bahwa nilai dapat digunakan pada semua modul
maka nilai tersebut harus dideklarasikan di atas modul yang akan
menggunakannya.
Pemanggilan parameter pada
prosedur terdiri dari 2 yaitu :
a. Parameter Secara Nilai ( By
Value )
Bersifat
satu arah, jika terjadi perubahan pada subprogram, maka tidak akan mempengaruhi
program utama.
b.
Parameter
Secara Acuan ( By Reference )
Bersifat
dua arah, jika terjadi perubahan pada subprogram, maka program utamanya akan
ikut berubah.
Contoh Program Prosedure Standar
Uses
Crt;
Const
AC='Agam Cendekia';
Begin
Clrscr;
Writeln(Copy(AC,6,4)); Ã mengambil sebagian dari string
Writeln(Pos('Cendekia',AC)); Ã mencari posisi string
Writeln(Length(AC)); Ã panjang string
Writeln(Concat(AC,' Excellent')); Ã mengabungkan string
Readln;
End.
Pembahasan 11
FUNGSI
Fungsi secara garis besar
sama dengan prosedure baik parameter maupun pemanggilan parameternya hanya yang
membedakannya adalah nama fungsi harus dideklarasikan dengan type datanya.
Bentuk
Umum :
|
Contoh
:
Uses
crt ;
Function Hitung ( Var A, B : integer ) : integer ;
|
Hitung : = A+B ;
End ;
Var
X, Y
: integer ;
BEGIN
|
Write
( ‘ Nilai Y ? ‘ ) ; readln ( Y ) ;
Writeln
;
Writeln
( X, ‘ + ‘, Y , ‘ =’, Hitung ( X, Y )) ;
Readln ;
END.
Parameter pada fungsi sama dengan parameter yang ada pada prosedure yaitu :
a. Pemanggilan
secara Nilai ( By Value )
Contoh :
Uses crt ;
Function Hitung ( X, Y, Z : integer ) :
integer ;
Begin
Z : = X+Y ;
Writeln ( ‘ Nilai X = ‘, X ) ;
Writeln ( ‘ Nilai
Y = ‘, Y ) ;
Writeln ( ‘ Nilai
Z = ‘, Z ) ;
End ;
Var
A, B, C : integer ;
BEGIN
A :
= 5 ; B : = 7 ; C : = 3 ;
Hitung ( A, B, C ) ;
Writeln ( ‘ Nilai A =’, A, ‘ Nilai B = ‘, B, ‘ Nilai C = ‘, C )
;
Readln ;
END.
c.
Pemanggilan
secara Reference ( Acuan )
Contoh :
Uses crt ;
Function
Hitung ( var A, B, C : integer ) : integer ;
Begin
Hitung
: = A+B ;
C : = A * B ;
End ;
Var
X, Y, Z : integer ;
BEGIN
Write ( ‘ Nilai X :
‘ ) ; readln ( X ) ;
Write ( ‘ Nilai Y : ) ;
readln ( Y ) ;
Writeln ;
Writeln ( X , ‘ + ‘ , Y, ‘=’, Hitung ( X, Y, Z )) ;
Writeln ( X, ‘ * ’,Y,
‘=’, Z ) ;
Readln
;
END.
Contoh
Function Standar Aritmatika & Transfer
Uses
Crt;
Const A=2; B=-2;
C=4; D=2.5;
E=2.3; F=2.7;
G='A';
Begin
Clrscr;
Writeln('Absnya : ',A,
'=' ,Abs(A)); Ã Argumen Mutlak
Writeln('Absnya : ',B,
'=' ,Abs(-B));
Writeln('Expnya : ',A,
'=' ,Exp(A)); Ã
Eksponensial Argumen
Writeln('Lnnya : ',A, '=' ,Ln(A)); Ã
Logaritma Natural Argumen
Writeln('Sqrnya : ',A,
'=' ,Sqr(A)); Ã Kuadrat Argumen
Writeln('Sqrtnya :
',C,'=' ,Sqrt(C)); Ã Akar Argumen
Writeln('Pinya : ',Pi); Ã angka Pi=3.14
Writeln('Intnya : ',D, '=' ,Int(D)); Ã
bagian bulat angka real
Writeln('Truncnya : ',D, '='
,Trunc(D)); Ã bagian bulat angka
real
Writeln('Fracnya : ',D,
'=' ,Frac(D)); Ã bagian pecahan
real
Writeln('Roundnya : ',E, '='
,Round(E)); Ã bulatkan angka
real
Writeln('Roundnya : ',F, '='
,Round(F));
Writeln('Ordnya : ',G,
'=' ,Ord(G)); Ã Character ke
ordinal
Writeln('Chrnya : ',A,
'=' ,Chr(67)); Ã ordinal ke
character
Readln;
End.
Contoh
Dengan Format
Uses
Crt;
Const A=2; B=-2;
C=4; D=2.5;
E=2.3; F=2.7;
G='A';
Begin
Clrscr;
Writeln('Absnya : ',A,
'=' ,Abs(A));
Writeln('Absnya : ',B, '=' ,Abs(-B));
Writeln('Expnya : ',A, '=' ,Exp(A):5:2);
Writeln('Lnnya :
',A, '=' ,Ln(A):5:2);
Writeln('Sqrnya : ',A, '=' ,Sqr(A));
Writeln('Sqrtnya : ',C,'=' ,Sqrt(C):1:0);
Writeln('Pinya :
',Pi:4:2);
Writeln('Intnya :
',D:3:1, '=' ,Int(D):1:0);
Writeln('Truncnya : ',D:3:1, '='
,Trunc(D));
Writeln('Fracnya : ',D:3:1, '=' ,Frac(D):3:1);
Writeln('Roundnya : ',E:3:1, '='
,Round(E));
Writeln('Roundnya : ',F:3:1, '='
,Round(F));
Writeln('Ordnya : ',G, '=' ,Ord(G));
Writeln('Chrnya : ',A, '=' ,Chr(67));
Readln;
End.
Pembahasan 12
RECORD
Adalah
kumpulan item data (field) yang masing-masing dapat mempunyai tipe data yang
beda
Contoh
Type
Lgn=
Record
Kode : integer;
Nama :
string[35];
Piutang
: real;
End;
Var Langganan : Lgn;
Menggunakan Tipe Data Record
Tiap-tiap komponen field dari record dapat dipergunakan
dengan cara menuliskan
Pengenalrecord.pengenalfield
Contoh
Langganan.Nama
:= ’Maulana’ ;
PengenalField
PengenalRecord
Penulisan statemen diatas dapat menyebabkan statement
menjadi panjang
Contoh lain :
Lingkaran.Keliling := 2 * Pi * JariJari ;
Menggunakan
Statemen With Do menjadi :
With
Lingkaran Do
Begin
Keliling := 2 * Pi *
JariJari ;
End;
Contoh
:
Uses
Crt;
Type
Recsis = Record
Nama :
string[15];
Nu : byte;
End;
Var
DataSis : Array[1..10] of RecSis;
X, JD : Byte ;
Pred
: String[6] ;
BEGIN
CLRSCR ;
Write( ’ Jumlah Data : ’ ) ; Readln(JD) ;
For X := 1 To JD Do
Begin
Write( ’
Nama Siswa : ’ ) ; ReadLn(Datasis[x].Nama) ;
Write( ’ Nilai Ujian
: ’ ) ; ReadLn(Datasis[x].Nu) ;
End;
For X := 1 To JD Do
Begin
With Datasis[X] Do
Begin
IF
Nu > 60 Then Pred := ’Lulus’ ;
Else Pred := ’Gagal’ ;
WriteLn(X, ’ ’ , Nama:10, ’ ’
,Nu:2, ’ ’ , Pred:6);
End;
End;
ReadLn;
END.
Pembahasan 13
FILE
Suatu File terdiri dari urutn komponen yang mempunyai
tipe sama. Berbeda dengan larik yang jumlah komponennya sudah pasti, jumlah
komponen dalam file sifatnya luwes, yaitu dapat ditambah dan dikurangi
sewaktu-waktu
File Teks
Merupakan file yang berisi kumpulan dari karakter yang
dibentuk dalam baris-baris dan masing-masing baris diakhiri dengan tanda akhir
dari baris berupa karakter carriage return dan karakter line feed. File teks
sebenarnya merupakan file dengan tipe char; tetapi mempunyai perbedaan, yaitu
nilai yang bukan tipe char dapat direkam dan dibaca oleh File Teks
Prosedur
Standar File Teks
Append : digunakan
untuk membuka file yang telah ada untuk keperluan menambah data ke dalam file
Write : digunakan
untuk merekam data ke file
Flush : digunakan untuk segera merekam data yang
ada di buffer ke file Teks
Read : untuk membaca satu atau lebih nilai dari
file ke dalam satu atau lebih variabel
SetTextBuf : digunakan untuk membuat buffer yang baru
sebagai pengganti dari internal buffer untuk file variabel
Fungsi Standar File Teks
EoLn : untuk mengetahui apakah posisi dari file
berada di end-of-line marker atau tidak
SeekEOF : untuk menghasilkan status akhir dari File
SeekEoLn : untuk menghasilkan status akhir baris
Contoh :
Uses Crt ;
Label a,b ;
Var
Vfbarang
: text ;
Nabrg :
string [20 ];
Hrg : longint ;
Jml :
integer ;
X, y : byte ;
Ttl,
gth :
longint ;
Lagi : char ;
Pil : byte ;
BEGIN
A:
Clrscr
;
Writeln ( ‘ MENU PILIHAN FILE TEXT ‘ ) ;
Writeln ( ‘ 1. Rekam Data File Baru ‘ ) ;
Writeln ( ‘
2. Tambah Data File ‘ ) ;
Writeln ( ‘
3. Lihat Data’ ) ;
Writeln ( ‘
4. Exit’ ) ;
Write ( ‘ Silakan Pilih Menu [ 1/2/3/4 ] :
‘ ); readln ( pil ) ;
Case pil of
1..2 : begin
Assign
(vfbarang,’barang.txt’ ) ; { variabel file barang }
IF pil =1 then
Rewrite
( vfbarang )
Else
Append (vfbarang ) ;
Lagi : = ‘Y’ ; X :
= 0 ;
While (lagi =’Y’)
or (lagi = ‘T’) do
begin
write
( ‘ Nama Barang : ‘ ) ; readln ( nabrg
);
write
( ’ Harga Barang : ’ ) ; readln ( hrg ) ;
write
( ’ Jumlah Barang : ’ ) ; readln ( jml ) ;
write ( vfbarang, nabrg:1 5 ,
hrg : 10, jml : 4 ) ;
write ( ’ Isi Data
Lagi [ Y/T ] : ’ ) ; readln ( lagi ) ;
end ;
close (vfbarang) ;
goto a ;
end ;
end;
3
: begin
Assign
( vfbarang , ’ barang.txt ’ ) ;
Reset
( vfbarang ) ;
Writeln(’ DATA PENJUALAN BARANG ’ ) ;
Writeln(’****************************************
’) ;
Writeln(’No
Nama Barang Harga Jumlah Total
’ ) ;
Writeln(’***************************************
’ ) ;
{
proses dan cetak data detail }
y
: = 0 ; fth : = 0 ;
While
not eof ( vfbarang ) do
Begin
Read
( vfbarang, nabrg, hrg, jml ) ;
Total
: = hrg * jml ;
gth
: = gth + ttl ;
Inc
( y) ;
Write
(y, ’ ’ ,nabar:15, ’ ’ ,hrg:7,’
’,jml:3, ’ ’,ttl) ;
End
;
{ garis penutup subtotal }
Writeln(’****************************************
’ ) ;
Writeln
(’Grand Total:
Rp. ’, gth ) ;
Writeln(’****************************************
’ ) ;
Close(vfbarang
) ;
Readln
;
goto
a ;
end ;
4
: Goto b ;
End ;
Readln ;
b:
END.
File Bertipe
Berbeda dengan file teks yang hanya dapat diakses secara
urut, file bertipe disamping dapt pulajuga diakses secara urut(sequential
acces, dapat juga diakses secara aaak (randam access). Dan Tipe dari file
bertipe dapat berupa tipe integer, real, char, string array, record
Write : digunakan untuk merekam satu atau lebih
nilai ke dalam file
Read : digunakan
untuk membaca atau lebih, nilai dari file
Seek : Digunkan untuk mengarahkan penunjuk file ke
suatu komponen tertentu di dalam file
Trunccate : digunakan untuk menghapus sejumlah komponen
atau record mulai dari posisi record tertentu
FileSize : digunakan untuk menghasilkan jumlah dari
komponen atau record
Contoh Program Bertipe Input Data
Uses Crt;
Type SW = Record
NM : string[15];
UTS,UAS : byte;
End;
Var FileSW : File of SW;
RecSW : SW;
No,
Bts, JD, T, RN : Byte;
BEGIN
CLRSCR;
Write('Jumlah
Data : '); ReadLn(JD);
Assign(FileSW,'C:\SW.DAT');
ReWrite(FileSW);
For
No := 1 To JD Do
Begin
With
RecSW Do
Begin
Write('Nama : '); ReadLn(NM);
Write('UTS : ');
ReadLn(UTS);
Write('UAS : ');
ReadLn(UAS);
End;
Write(FileSW,RecSW);
End;
Close(FileSW);
ReadLn;
END.
Lalu disimpan
Contoh Program Bertipe Tampil Data
Uses Crt;
Procedure Judul;
Begin
WriteLn('DAFTAR
NILAI SISWA');
WriteLn('--------------------------------------------------------------------');
WriteLn('No.
Nama Siswa UTS UAS Total Rata
Predikat Kelulusan');
WriteLn('--------------------------------------------------------------------');
End;
Type SW=Record
NM : string[15];
UTS,UAS : byte;
End;
Var FileSW : File of SW;
RecSW : SW;
No,Brs,JD,T,R,RN
: byte;
P :
string[10];
K :
string[5];
BEGIN
CLRSCR;
Judul;
Assign(FileSW,'C:\SW.DAT');
Reset(FileSW);
No:=0;
While
Not EOF (FileSW) Do
Begin
With
RecSW Do
Begin
Read(FileSW,RecSW);
T:= UTS+UAS; R:= T div 2; inc(No);
Case R of
00..59 : P:='Kurang';
60..74 : P:='Cukup';
75..84 : P:='Baik';
85..100: P:='Amat Baik';
End;
IF R<60 Then K:='Gagal' Else K:='Lulus';
WriteLn(No:3,' ',NM:15,' ',UTS:3,' ',UAS:3,' ',T:3,' ',R:3,'
',P:10,' ',K:5);
End;
End;
ReadLn;
Close(FileSW);
END.
Pembahansan 14
PEMBUATAN UNIT BARU
Contoh
Program Pembentukan Unitku
Unit
Unitku;
Interface
Uses
Crt;
Procedure
Bersihkan;
Function
Ls3(A,T:Integer):Real;
Implementation
Procedure
Bersihkan;
Begin
Clrscr;
End;
Function
Ls3(A,T:Integer):Real;
Begin
Ls3:=A*T/2;
End;
End
Lalu
simpan
Contoh
Program Pemakaian Unit Baru
Uses
Unitku;
Var
A,T :Integer;
Begin
Bersihkan;
Write('Nilai Alas :');Readln(A);
Write('Nilai Tinggi :');Readln(T);
Write('Luas Segitiga :',Ls3(A,T):5:1);
Readln;
End.
Komentar