Komputer aplikasi TE-3 :pascal



Tipe rekaman ( record ) hamper sama dengan
larik, yaitu kimpulan data



Perbedaan antara larik dengan rekaman
adalah bahwa larik semua elemennya harus
bertipe sama, tetapi dalam rekaman setipa
elemen bias mempunyai tipe yang berbeda
satu sama lain.



Dalam
aktivitas
sehari-hari
pemakaian
rekaman lebih banyak digunakan dibanding
dengan larik.




Beberapa contoh misalnya rekaman data
akademis mahasiswa, rekaman gaji pegawai,
persediaan barang dalam gudang, dan lain-lain.



Bentuk umum deklarasi rekaman adalah :
Type
Pengenal=record
Nama-field1:tipe;
Nama-field2:tipe;
Nama-fiels3:tipe;
Nama-field-n:tipe
End

Atau dapat juga dituliskan sebagai berikut :
Var

Pengenal=record
Nama-field1:tipe;
Nama-field2:tipe;
Nama-fiels3:tipe;
.
Nama-field-n:tipe
End

program rekaman;
uses wincrt;
type
hasil=record
jari2:integer;
luas:real;
keliling:real;
end;
var
lingkaran:hasil;
begin
write('jari - jari lingkaran=');readln(lingkaran.jari2);

lingkaran.keliling:=2*pi*lingkaran.jari2;
lingkaran.luas:=pi*sqr(lingkaran.jari2);
writeln;
writeln('keliling lingkaran adalah ',lingkaran.keliling:2:2);
writeln('Luas Lingkaran adalah ',lingkaran.luas:2:2);
readln;
end.

PROSEDUR
 Prosedur merupakan suatu program terpisah dalam

blok sendiri yang berfungsi sebagai subprogram.
 Prosedur diawali dengan kata cadangan procedure
didalam bagian deklarasi prosedur.
 Prosedur dipanggil dan digunakan didalam blok
program yang lainnya dengan menyebutkan judul
prosedurnya.
 Prosedur mempunyai struktur yang sama dengan
struktur program, yaitu terdiri dari nama prosedur,
deklarasi-deklarasi dan bagian utama dari prosedur itu

sendiri.

 Prosedur banyak digunakan pada program yang

terstruktur, karena :
1. merupakan penerapan konsep program modular.
Yaitu memecah-mecah program yang rumit menjadi
program-program bagian yang lebih sederhana
dalam bentuk prosedur-prosedur
2. untuk hal – hal yang sering digunakan dan dipakai
secara berulang-ulang, cukup dituliskan sekali saja
dalam prosedur dan dapat dipanggil atau
dipergunakan sewaktu-waktu bila diperlukan.

 Bentuk umum deklarasi prosedur adalah :
Procedure nama
Dengan :
Nama : nama prosedur
Daftar : Daftar parameter formal
 Contoh program:


program prosedure;
uses wincrt;
var
nama,alamat,telp:string;
procedure bacadata;
begin
writeln('Prosedur memasukkan data');
writeln('Nama anda:');readln(nama);
writeln('Alamat:');readln(alamat);
writeln(' Telp:');readln(telp);
end;

procedure cetakdata;
begin
writeln('nama anda:',nama);
writeln('alamat anda :',alamat);
writeln('Nomor telepon :',telp);
end;
{program utama}

begin
clrscr;
bacadata ;
cetakdata ;
readln;
end.

FUNGSI
 Fungsi dideklarasikan sebagai bagian program yang

menghasilkan sebuah ekspresi.
 Blok fungsi hampir sama dengan blok prosedur,hanya
fungsi harus dideklarasikan dengan tipenya.
 Tipe deklarasi ini menunjukan tipe hasil dari fungsi.
Tipe tersebut ditulis pada akhir deklarasi fungsi yang
didahului dengan titik koma, sebagai berikut:
Function nama(dafvar);type
Dengan
Nama : nama fungsi dan dafvar : daftar variable


CONTOH PROGRAM
Program fungsi;
Uses wincrt;
Function tambag(x,y:integer):integer;
Begin
Tambah:=x+y;
End;
Function kali(x,y:integer):integer;
Begin
Kali:=x*y;
End;
{program utama}
Begin
Clrscr;
Writeln(x’,+,’y,=’,tambah(5,10));
Writeln(x’,*,’y,=’,kali(5,10));
Readln;
End.

ARRAY (2)

ARRAY MULTIDIMENSI

ARRAY MULTIDIMENSI
• Yang termasuk dalam array multidimensi yaitu array yang
memiliki lebih dari satu dimensi. Ciri dari tipe array ini, yakni
mempunyai tipe-indeks lebih dari satu atau tipe-komponen
berupa array yang lain. Contoh array dengan tipe-komponen
berbentuk array :
TYPE Matriks2D = ARRAY [1..3] OF ARRAY [1..5] OF integer;
Matriks3D = ARRAY [1..2] OF ARRAY [1..3] OF ARRAY [1..5] OF char;

• Matrik2D mengandung 3 elemen, dengan masing-masing
elemen terdiri dari 5 elemen. Dengan kata lain, Matrik2D
mempunyai 3 x 5 elemen. Tipe dari elemen integer.
• Matrik3D merupakan tipe array yang mengandung 2 x 3 x 5
elemen, dengan tipe elemen yaitu char.

• Bentuk seperti Matrik2D dan Matrik3D dapat disederhanakan
menjadi :
TYPE Matriks2D = ARRAY [1..3 ,1..5] OF integer;

Matriks3D = ARRAY [1..2 ,1..3 ,1..5] OF char;
• Bentuk penulisan yang lain :
TYPE Matriks2D = ARRAY [1..3] [1..5] OF integer;
Matriks3D = ARRAY [1..2] [1..3] [1..5] OF char;

• Tipe seperti Matriks2D dinamakan array berdimensi dua.
Sedangkan bentuk seperti Matriks3D dinamakan array
berdimensi tiga.
• Penggambaran array berdimensi dua, misalnya untuk variabel
yang dideklarasikan :

• Untuk mengakses setiap elemen dari X diperlukan dua buah
indeks array. Indeks-array pertama untuk menunjuk baris,
indeks-array kedua untuk menentukan kolom. Secara umum
dapat dituliskan sebagai berikut :

• Yang menyatakan elemen pada baris idan kolom j. Pada
diagram, elemen yang ditandai dengan * memiliki identitas
X[2,3].
• Untuk array berdimensi tiga, identitas dari suatu elemen array

ditentukan oleh tiga buah indeks-array. Contoh berikut
menunjukkan car membuat isi keseluruhan elemen array X
bernilai nol.

• Proses membuat elemen array X sama dengan nol
untuk perintah di atas dimulai dari X[1,1] kemudian
X[1,2], X[1,3], X[1,4], X[2,1], X[2,2], X[2,3], X[2,4],
X[3,1], X[3,2], X[3,3], X[3,4], X[4,1], X[4,2], X[4,3] dan
terakhir X[4,4]

• CONTOH PROGRAM
Program Daftar_nama;
uses crt;
type array_nama = array[1..1000] of string[30];
array_alamat = array[1..100] of string[50];
var
i,j : integer;
nm : string[30];
nama : array_nama;
alamat : array_alamat;

begin
clrscr;
writeln('Tulis nama, jika selesai beri(.) pada nama');

LANJUTAN (1)
writeln;
j:=0;
write('Nama : ');
readln(nm);
while nm '.' do
begin
j:=j+1;
nama[j]:=nm;
write('Alamat : ');
readln(alamat[j]);
writeln;
write('Nama : ');
readln(nm);
end;
writeln(' DAFTAR NAMA ALAMAT
writeln('---------------------------------');

');

LANJUTAN(2)
writeln('|No| Nama

| Alamat

|');

writeln('=================================
=');
for i:=1 to j do
writeln('|',i:3,'|',nama[i]:15,'|',
alamat[i]:21,'|');
write('----------------------------------');
readln;
end.

ARRAY
• Larik atau array adalah tipe terstruktur yang
mempunyai komponen dalam jumlah yang tetap dan
setiap komponen memiliki tipe data yang sama. Posisi
masing – masing komponen dalam larik dinamakan
sebagai nomer index.
• Dengan menggunakan array sejumlah variable dapat
memakai nama yang sama
• Antara satu variable dan variable yang lain di dalam
array dibedakan berdasarkan subscript.
• Sebuah subscript berupa bilangan di dalam kurung
siku. Melalui subscript inilah masing-masing elemen
array diakses.

• Bentuk umum dari type larik :
Type pengenal = Array[ Type index ] of Type;
• Dengan :
Pengenal
: nama tipe data
Type index
: tipe data untuk nomor index
Type
: tipe data komponen
• Contoh:
Var
Bilangan : Array[1..5] of real
• Keterangan:
Maka array bilangan dapat menyimpan lima buah
data bertipe real.

1. ARRAY SATU DIMENSI
• Array berdimensi satu merupakan array dengan ciri
memiliki tipe-indeks hanya sebuah dan tipe-komponen
tidak berupa array.
• Contoh array berdimensi satu :
VAR x : ARRAY [1..8] of real;
Menyatakan bahwa indeks-array dari variabel x dapat
berupa 1,2,3,…,8 dan isi array bertipe real.
• Sedangkan
VAR Huruf : ARRAY [‘A’..”Z’] of integer;
Menyatakan bahwa indeks-array dari variabel Huruf dapat
berupa karakter A, B, C, …, Z dan tipe isi array adalah
integer. Ukuran Array x sama dengan 8. Ukuran Array
Huruf sama dengan 26.

• Pengaksesan terhadap suatu array, dapat dibedakan dalam dua
macam operasi, yaitu penyimpanan dan pengambilan elemen array.
Untuk menjelaskan hal ini, diambil contoh :

• Pendeklarasian seperti di atas menginstruksikan kepada compiler
supaya menyediakan 3 lokasi memori untuk menyimpan data
integer dari variabel D, yaitu lokasi dari D[1], D[2], dan D[3]. Jadi
masing-masing indeks-array[1..3] dari D memiliki lokasi
penyimpanan tersendiri. Untuk menyimpan suatu nilai ke dalam
lokasi penyimpanan, dapat dilakukan dengan instruksi dengan
instruksi D[i] := nilai, dengan i merupakan indeks-array dan nilai
adalah bilangan yang hendak disimpan di D[i]. Sebagai contoh :

• D[1]:=320;
setelah pengeksekusian pernyataan, D[1] bernilai
320.
Untuk mengambil isi array D, misalnya D[1],
dapat digunakan instruksi :
• Writeln(D[1]);
yang akan menampilkan nilai D[1] pada layar.
Contoh lain :
• X:=D[1];
memberikan nilai dari D[1] ke variabel X.

Contoh Program Array Satu Dimensi
Program array_satu;
Uses wincrt;
Const
N=5;
Var
I,J:integer;
Bilangan:array[1..N] of integer;
Begin
For I:=1 to N do
Begin
Write(‘Masukkan Data ke’,I,’?’); readln(Bilangan[I]);
End;
Writeln(‘Data yang anda masukkan adalah’);
Writeln(‘No

Data’);

For J:=1 to N do
Begin
Writeln(I,’
End;
Readln;
End.

‘,Bilangan[I]);

• Jika program tersebut dijalankan, maka keluarannya:

PERULANGAN (3)
3. Perulangan Repeat...Until
• Digunakan untuk mengulang ( repeat ) statemen atau blok statemen
sampai ( Until ) kondisi yang diseleksi tidak terpenuhi.
• Statement Repeat dapat memiliki sintak sebagai berikut:

Repeat
Statemen;
Until Ungkapan
• Pada sintaks di atas, bagian syarat bernilai TRUE atau FALSE. Selama syarat
bernilai FALSE atau syarat belum terpenuhi, proses perulangan akan terus
dilakukan. Perulangan baru akan berhenti jika syarat sudah terpenuhi atau
bernilai TRUE.



Agak sedikit beda dengan WHILE, dalam REPEAT minimal perulangan yang
dapat dilakukan adalah sekali. Hal ini dikarenakan pengecekan syarat
terletak di bawah. Sedangkan untuk WHILE dapat dimungkinkan tidak
terjadi perulangan, yaitu apabila syarat langsung bernilai FALSE (syarat
terletak di atas).



Contoh Program Perulangan Repeat..Until
Program seleksi_repeat;
Uses Wincrt;
Var
Harga,I:integer;
Begin
I:=1;
Repeat
I:=I+1;
Writeln(I,’ bahasa pascal’);
Until i:=5;
End.

Penjelasan program
I=1

i:=i+1

Keterangan

• Program diatas akan terus
melakukan perulangan ketika
nilainya belum memenuhi nilai
i=5,

2

2+1

False

3

3+1

False

4

4+1

False

• dan jika nilai sudah memenuhi
syarat pada until maka proses
akan berhenti.

5

5+1

True

False, proses terus berjalan

True, proses berhenti.

PERULANGAN (2)
- Perulangan Bersarang
• perulangan yang berada didalam perulangan yang lainnya. Perulangan yang
lebih dalam akan diproses terlebih dahulu sampau habis, kemudian
perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan
yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
Bentuk Umum For Bersarang :
For variabel-kontrol := nilai-awal To nilai-akhir Do
For variabel-kontrol2 := nilai-awal2 To nilai-akhir2 Do
Statemen;

Contoh Program Perulangan FOR Bersarang
Program seleksi_sarang;
Uses Wincrt;
Var
I,j:integer;
Begin
For i:=1 to 5 do
Begin
For j:=1 to 3 do
Writeln(I,j:4);
End;
End.

Perulangan
sebanyak j

Perulangan
sebanyak i

Jika program diatas dijalankan maka perulangan
yang akan dilakukan adalah perulangan sebanyak j
kemudian melakukan perulangan sebanyak i,
seperti terlihat pada tampilan program disamping.

2. Perulangan While..Do
• Perulangan ini menggunakan statemen while-Do yang
mempunyai struktur dalam bentuk umum sebagai berikut:
• Bentuk Umum :
While Ungkapan Do
Statemen
• Statemen while-do digunakan untuk melakukan proses
perulangan suatu statemen atau blok statemen terus
menerus selama kondisi ungkapan logika pada While masih
bernilai logika benar.

Contoh Program perulangan while-do
Program seleksi_while;
Uses Wincrt;
Var
I:integer;
Begin
I:=0;
While I 60 then
Writeln(‘LULUS’)
else
Writeln(‘TIDAK LULUS’);
End.

INPUT DAN OUTPUT
•INPUT (Masukan)
• Input merupakan sesuatu data yangdimasukkan ke dalam program untuk
diproses. Dalam hal ini, hanya akan dibahas input yang diperoleh dari entri
data melalui keyboard.
• Perintah Pascal untuk menyatakan input adalah:
readln(variabel);
• Melalui perintah di atas, data yang dientrikan melalui keyboard akan
diassign ke dalam suatu variabel. Setelah data dientrikan, user harus
menekan tombol ENTER (RETURN)
• Misalkan ketika program di atas dijalankan kita masukkan bilangan 6,
maka tampilannya:

• Contoh :

• Catatan:
– Untuk input berupa bilangan real yang memuat desimal,
digunakan tanda titik yang menyatakankoma, misal 345.12. Selain itu
dapat pula dituliskan dalam bentuk format scientific, misal 1E-5 (sama
dengan 0.00001) atau 3.5E+4 (sama dengan 35000)

– Sedangkan input yang berupa karakter tidak perlu diapit dengan tanda
petik, demikian pula untuk tipe data boolean.

• OUTPUT (Keluaran)
• Setelah data diinput dan selanjutnya diproses, selanjutnya harus
ditampilkan sebagai output supaya user dapat mengetahui solusi dari
permasalahan. Untuk menampilkan data ke layar (output), terdapat dua
perintah dalam Pascal, yaitu
Write(argumen);
Writeln(argumen);
• Catatan:
Argumen dapat berupa variabel, string, operasi, maupun function.
• contoh :

• output dari potongan program di atas adalah

VARIABEL & TIPE DATA
• Variabel hampir mirip dengan konstanta. Nilai yang disimpan dalam
variabel ini dapat diubah sewaktu-waktu. Setiap variabel yang akan
digunakan dalam program harus dideklarasikan terlebih dahulu dalam
bagian var.

• IdentifierList merupakan nama-nama identifier (variabel) yang akan
digunakan. Masing-masing nama tersebut dipisahkan dengan tanda koma.
• Sedangkan datatype merupakan tipe data dari nama-nama variabel
tersebut.



Berdasarkan nilai yang akan disimpan dalam variabel,terdapat 4 tipe
data:
1. Integer, merupakan tipe data bilangan bulat yang memiliki jangkauan
antara -32768 s/d 32767. Selain itu terdapat pula tipe data longint
yang juga masih terkait dengan bilangan bulat. Jangkauan dari longint
jauh lebih besar daripada integer.
2. Real, merupakan tipe data bilangan riil yang memiliki jangkauan
3.4x10 (-38) sampai dengan 3.4x10(38) demikian pula untuk bilangan
negatifnya. Untuk menuliskan suatu nilai bilangan riil dapat
menggunakan format scientific maupun desimal. Berikut ini
adalah dua nilai yang ekuivalen: 452.13 dan 4.5213e2
Selain real, terdapat pula tipe data extended yang juga bernilai
bilangan riil. Jangkauan dari tipe data extended ini jauh lebih besar
daripada real.
3. Char, merupakan tipe data untuk nilai yang berupa karakter.
4. Boolean, merupakan tipe data yang hanya bernilai TRUE atau FALSE
saja.

• Berikut ini adalah contoh pendeklarasian beberapa variabel
var
age, year, grade : integer;
circumference : real;
LetterGrade : char;
DidYouFail : Boolean;
Pada contoh di atas, variabel age, year, dan grade sama-sama bertipe data
integer.
Program data_perbandingan;
Uses Wincrt;
Var
a,b :integer;
C:char;
Begin
Writeln(“masukkan angka a =“); read(a);
Writeln(“masukkan angka b=“); read(b);
Writeln(“masukkan karakter c =“); read(c);
End.

KONSTANTA
• Suatu konstanta direferensikan oleh sebuah identifier dan
dapat diassign oleh suatu nilai pada awal program. Nilai
yang disimpan pada suatu konstanta tidak dapat diubah.
Konstanta dideklarasikan pada bagian const.
const
Identifier1 = value;
Identifier2 = value;
Identifier3 = value;

• Sebagai contoh, berikut ini adalah perintah untuk
mendeklarasikan beberapa konstanta
const
Name = 'Tao Yue';
FirstLetter = 'a';
Year = 1997;

(* string *)
(* karakter *)

(* integer *)

pi = 3.1415926535897932; (* real *)
UsingNCSAMosaic = TRUE; (* boolean *)

• Dalam Pascal, nilai dalam bentuk string maupun karakter
harus diapit dengan tanda petik satu (single quote).
• Suatu konstanta dapat pula ditulis seperti contoh berikut
const
a : real = 12;
maksud dari perintah di atas adalah nilai 12
bukanlahbilangan bulat (integer) namun merupakan
bilangan real (12.0). Nilai 12.0 ini disimpan dalam konstanta
a.

Contoh program
Program data_konstan;
Uses Wincrt;
const
a=11;
b=10;
Begin
Writeln(a=b);
Writeln(a=b));
End.

Contoh konstanta

PENGENAL (IDENTIFIER)
• Identifier merupakan sebuah nama yang digunakan untuk keperluan penyimpanan
suatu nilai, pendaklarasian variabel, konstanta, type dan nama program
maupun subprogram. Seorang programmer tidak boleh sembarangan menuliskan
nama identifier. Berikut ini adalah beberapa aturan penulisannya:
1. Nama identifier harus dimulai (karakter pertama) dengan karakter huruf alfabet
a-z atau A-Z
2. Setelah karakter pertama, dapat dilanjutkan dengan karakter alfanumerik (angka
maupun huruf), dan underscore (_)
3. Dalam penulisan identifier tidak boleh menggunakan karakter-karakter berikut ini
~!@#$%^&*()+`-={}[]:";'?,./|
4. Tidak boleh menuliskan identifier dengan nama yang sesuai kata tercadang
(reserved word) dalam PASCAL, seperti
and, array, begin, case, const, div, do, downto, else, end, file,
for, forward, function, goto, if, in, label, mod, nil, not, of,
or, packed, procedure, program, record, repeat, set, then, to,
type, until, var, while, with.

• Kalaupun Anda ingin tetap menggunakan kata tercadang
di atas, kata tersebut harus dirangkai dengan karakter
lain. Misal program_if, begin1, dll.
• PASCAL tidak bersifat case sensitive yang berarti bahwa
besar kecilnya huruf dalam perintah tidak dibedakan.
Sebagai contoh, apabila diberikan 3 identifier
MyProgram, MYPROGRAM, dan mYpRoGrAm, maka
ketiga identifier tersebut adalah sama.

OPERATOR
• OPERATOR PENUGASAN
Operator Penugasan (Assignment operator)
dalam bahasa pascal berupa titik dua tanda
sama dengan (“:=”).
Contoh :
i:=10;
writeln(“ nilai I =“,i);

• OPERATOR ARITMATIKA
Bahasa Pascal menyediakan lima operator aritmatika, yaitu :
*
: untuk perkalian ( real dan intger )
/
: untuk pembagian real
MOD
: untuk sisa pembagian (modulus) (Integer)
+
: untuk pertambahan(real ataupun integer)
: untuk pengurangan ( real dan integer )
DIV : untuk pembagian bulat
Contoh:
A= b*c;
Writeln(“Nilai b x c =“,A);

• OPERASI LOGIKA DAN PERBANDINGAN
Jika operator hubungan membandingkan hubungan antara dua buah
operand, maka operator logika digunakan untuk membandingkan logika
hasil dari operator-operator hubungan.
=

>
>=
<