You are on page 1of 25

Pengenalan Pascal 

SejarahPascal 

Pascal  merupakan  pengembangan  dari  bahasa  ALGOL  60,  bahasa  pemrograman  untuk 
sains  komputasi.  Tahun  1960,  beberapa  ahli  komputer  bekerja  untuk  mengembangkan 
bahasa  ALGOL,  salah  satunya  adalah  Dr.  Niklaus  Wirth  dari Swiss  Federal Institute  of 
Technology  (ETH­Zurich),  yang  merupakan  anggota  grup  yang  membuat  ALGOL. 
Tahun 1971, dia  menerbitkan suatu  spesifikasi untuk highly­structured language (bahasa 
tinggi  yang  terstruktur)  yang  menyerupai  ALGOL.  Dia  menamainya  dengan  PASCAL 
(dari  nama  Blaise  Pascal, ahli  matematika&philosophi  terkenal  abad  17 dari  Perancis). 
Pascal bersifat  data oriented,  yaitu  programmer diberi keleluasaan untuk  mendefinisikan 
data sendiri. Pascal juga merupakan teaching language (banyak dipakai untuk pengajaran 
tentang  konsep  pemrograman).  Kelebihan  yang  lain  adalah  penulisan  kode  Pascal  yang 
luwes,  tidak  seperti  misalnya  FORTRAN,  yang  memerlukan programmer untuk  menulis 
kode dengan format tertentu. 

StrukturPascal 
1. Bagian Judul Program 
2. Blok Program 
a. Bagian Deklarasi 
­ Deklarasi tipe data (TYPE) 
­ Deklarasi variabel (VAR) 
­ Deklarasi konstanta (CONST) 
­ Deklarasi label (LABEL) 
­ Deklarasi sub­program (PROCEDURE dan FUNCTION) 
b. Bagian Program Utama Perintah­perintah atau Pernyataan 

StrukturProgramPascalPalingSederhana 
begin 
statement­statement; 
end. 

ContohProgramSederhana 
begin
writeln('Saya sedang belajar Pascal'); 
writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
readln 
end. 

Perintah Input Output pada Pascal 

1. Assignment 
Komputer  bisa  mengolah  dan  menampilkan  sesuatu  yang  ada  di  dalam  memori. 
Merupakan  cara  tersederhana  untuk  "menempatkan"  (assign)  data  ke  memori. 

2. Perintah Input (read atau readln) 


Perintah  digunakan  untuk  membaca  data  dari  default  input  ­  keyboard. 
Readln=memeasukkan  data  perbaris,  artinya  setelah  kita  menekan  tombol  Enter,  maka 
akan ganti baris. 
Read=tidak ganti baris, masih dalam baris yang sama. 

3. Perintah Output (write atau writeln )

IT-expert.webs.com 

Perintah digunakan untuk menyajikan data ke default output ­ key­board. 


Contoh:  write('TES');  Perintah  ini  akan  menampilkan  teks  string  TES  ke  layar  monitor 
pada  posisi  kursor  sebelum  perintah  write  dilaksanakan.  Setelah  menyajikan  ke  layar, 
kursor pindah ke ujung teks TES pada baris  yang sama. writeln('TES'); Perintah ini akan 
menampilkan  teks  TES  ke  layar  monitor  pada  posisi  kursor  sebelum  perintah  write 
dilaksanakan.  Setelah  menyajikan  ke  layar,  kursor  pindah  ke  awal  baris  berikutnya. 

Unsur­unsur Pemrograman 
a.  Mendapatkan data dengan membaca data dari default  input  (key board, file  atau 
sumber data lainnya). 
b.  Menyimpan data ke dalam memori dengan struktur data yang sesuai, 
c.  Memproses data dengan instruksi yang tepat. 
d.  Menyajikan atau mengirimkan hasil olahan data ke default  output (monitor, file 
atau tujuan lainnya). 

Nama  yang  dipergunakan  di  dalam  program  Pascal  disebut  dengan  pengenal  atau 
Identifier.  Identifier  digunakan  untuk  nama:  Program,  Sub­program  (procedure  dan 
function), nama: Variable, Constant, Type, Label. 

Nama­nama ini digunakan untuk pemakaian dan pemanggilan dalam program. Ketentuan 
penulisan identifier 
a.  Nama  identifier  harus  dimulai  dengan  karakter  huruf  alfabet:  a  sampai  z,  A 
sampai Z atau karakter '_' (underscore ­ garis bawah) 
b.  Karakter berikutnya boleh karakter numerik (0 .. 9) atau kombinasi alphanumerik 
(huruf­numerik). 
c.  Panjang nama, pada berbagai versi Pascal umumnya antara 32­ 63 
d.  Tidak boleh menggunakan karakter istimewa: + ­ * / | \ = < > [ ] . , ; : ( ) ^ @ { } $ 
# ~ ! % & ` " ' dan ? Contoh penulisan: 
Penulisan yang benar: NamaMahasiswa, Gaji_Karyawan, PX4, dll. 
Penulisan yang salah: 3X, A & B, C Z dll. 

Variable  adalah  identifier  yang  berisi  data  yang  dapat  berubah­ubah  nilainya  di 
dalam program. Deklarasi Variable adalah : 
a.  Memberikan nama variabel sebagai identitas pengenal 
b.  Menentukan tipe data variabel 
Contoh deklarasi variabel: 
var X : integer; 
R  : real; 
C  : char; 
T  : boolean; 

Konstanta adalah identifier yang berisi data yang nilainya tidak berubah di dalam 


program. Deklarasi Konstanta adalah: 
a. Memberikan nama konstanta sebagai identitas pengenal 
b. Menentukan nilai konstanta 
Contoh deklarasi konstanta: 
conts MaxSize = 100; {integer} 
ExitC = 'Q'; {char} 

Reserved  Words  atau  kata­kata  cadangan  pada  Pascal  adalah  kata­kata  yang  sudah 
didefinisikan oleh Pascal yang mempunyai maksdu tertentu. 
Suatu Unit adalah kumpulan dari konstanta, tipe­tipe data, variabel, prosedur dan fungsi­ 
fungsi.  Unit  standar  pada  Pascal  yang  bisa  langsung  digunakan  adalah  System,  Crt, 
Printer  Dos  dan  Graph.  Untuk  menggunakan  suatu  unit,  maka  kita  harus  meletakkan 
clausa atau anak kalimat Uses di awal blok program, diikuti oleh daftar nama unit  yang

IT-expert.webs.com 

digunakan. Pada  materi ini yang akan dibahas adalah unit  Crt. Unit  ini digunakan untuk 


memanipulasi  layar  teks  (windowing,  peletakan  cursor  di  layar,  Color  pada  teks,  kode 
extended keyboard dan lain sebagainya. 

Tipe Data dan Operator 

TipeData menunjukkan suatu nilai yang dpat digunakan oleh sutu variable yang 


bersangkutan. 

Tipe Data dalam Pascal : 

1. Tipe Data Sederhana, terdiri dari : 


a. Tipe data standar : 
­ integer : merupakan tipe data berupa bilangan bulat 
­ real : merupakan jenis bilangan pecahan 
­ char : merupakan karakter yg ditulis diantara tanda petik tunggal. Ex : 'A', 'a', '5' 
dll 
­ string : merupakan urut­urutan dari karakter yang terletak di antara tanda petik 
tunggal. 
­ boolean : merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE 
atau FALSE . 
b. Tipe data didefinisikan pemakai 

2. Tipe Data Terstruktur, terdiri dari : 


a. Array 
b. Record 
c. File 
d. Set 

Operator 
Tanda operasi (operator) di dalam bahasa Pascal di kelompokkan dalam : 
1. Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti 
oleh tanda sama dengan (:=). Contoh ­­> A:=B; 

2. Binary operator digunakan untuk mengoperasikan dua buah operand yang berbentuk 


konstanta ataupun variable. Operator ini digunakan untuk operasi arithmatika yang 
berhubungan dgn nilai tipe data Integer dan Real. Operasi yang dilakukan adalah : 
Pertambahan (+), Pengurangan (­), Perkalian (*), Pembagian Bulat (DIV), Pembagian 
Real (/) dan Modulus atau Sisa Pembagian (MOD) 

3. Unary operator, operator ini menggunakan sebuah operand saja dapat berupa unary 


minus dan unary plus. Contoh : +2.5, a+(+b) dll 

4. Bitwise operator digunakan untuk operasi bit per bit pada nilai integer. 


Operator yang digunakan (NOT, AND, OR, XOR, Shl, Sh 

Deklarasi Variable: 
Mendeklarasikan varibel adalah: 
a. Memberikan nama variabel sebagai identitas pengenal 
b. Menentukan tipe data variabel

IT-expert.webs.com 

Contoh deklarasi variabel: 

var K : integer; 
R : real; 
C : char; 
T : boolean; 

Beberapa identifier yang sejenis bisa dideklarasikan bersamaan. 

var i, j, k : integer;{Variabel i, j dan k sebagai integer} 


namaMHS, alamatMHS : char; {Nama dan alamat mahasiswa } 

Deklarasi Konstanta: 
Mendeklarasikan konstanta adalah: 
a. Memberikan nama konstanta sebagai identitas pengenal 
b. Menentukan nilai konstanta 
Contoh deklarasi konstanta: 

const MaximumSize = 100; {integer } 


ExitCommand = 'Q'; {char } 

Tipe data yang disediakan oleh PASCAL meliputi: 


1. Tipe Data Sederhana 
merupakan tipe data dasar yang sering dipakai oleh program, meliputi: integer (bilangan 
bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean 
(logika). Untuk data integer dan real masing­masing terbagi menjadi beberapa kategori 

a. Bilangan Integer 
merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat 
dalam tabel 1. tabel 1 menunjukkan jenis data, ukuran dalam memori dan rentang 
nilainya. 

tabel 1. Tipe Data Bilangan Integer 

Tipe Data  Ukuran Tempat  Rentang Nilai 


Byte  1 byte  0 s/d +255 
Shortint  1 byte  ­28 s/d +127 
integer  2 bytes  ­32768 s/d 32767 
Word  2 bytes  0 s/d 65535 
Longint  4 bytes  2147483648 s/d 2147483647 

Contoh  bilangan  integer  adalah:  34  6458  ­90  0  1112  Penggolongan  tipe  data  integer 
tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan misalkan untuk 
suatu  perhitungan  dari  suatu  variabel  bilangan  diperkirakan  nilai  maksimumnya  32767 
kita  cukup  mendeklarasikan variabel  bilangan sebagai  integer  (2  byte),  daripada sebagai 
longint(4  byte).  Di  dalam  kompilernya,  Pascal  menyediakan  konstanta  untuk  bilangan 
Integer  yaitu:  MaxInt  and  MaxLongInt,  pemrogram  bisa  menggunakannya  di  dalam 
programnya tanpa harus terlebih dahulu mendefinisikannya. 

­MaxInt bernilai 32.767 
­MaxLongint bernilai 2.147.483.647. 
contoh:

IT-expert.webs.com 

Program display_maxint; 
uses wincrt; 
begin writeln (maxint) 
end. 

Hasilnya: 32.767 

b. Bilangan Real 
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa 
atau model scientific . Contoh bilangan real: 34.265 ­3.55 0.0 35.997E+11, dimana E 
merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 
4.5213e2. Penggolongan tipe data bilangan real dapat dilihat pada tabel 2. 
tabel 2. Bilangan Real 

Ukuran 
Tipe Data  Rentang Nilai 
Tempat 
real  6 bytes  2.9 x 10­39 s/d 1.7 x1038 
single  4 bytes  1.5 x 1045 s/d 3.4 x 1038 
double  8 bytes  5.0 x 10­324 s/d 1.7 x 10308 
extended  10 bytes  3.4 x 10­4932 s/d 1.1 x 104932 
comp  8 bytes  ­9.2x 1018 s/d 9.2x 1018 

c. Char 
tipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam 
yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange). 
Contoh: 'a' 'B' '+', dsb. Yang perlu diingat bahwa dalam menuliskannya harus dengan 
memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori sebesar 1(satu) 
byte untuk masing­masing data. 

d. Tipe Data Boolean 
merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau 
FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean, 
WordBool, dan LongBool. Tipe boolean memakai memori paling kecil, sedangkan 
WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan 
Windows. 

Tabel 2. Tipe Data Boolean 

Tipe Data  Ukuran Tempat 


Boolean  1 byte 
WordBool  2 byte 
Longbool  3 byte 
Sebagai bilangan ordinal boolean true mempunyai nilai 1(satu), sedangkan false nilainya 
adalah 0(nol). 

Operator 

Beberapa operator yang disediakan oleh PASCAL: 


1. Aritmatika 
2. Boolean

IT-expert.webs.com 

3. Relasional 
4. Set 

Tabel 2. Operator Aritmatika PASCAL 

Operator  Operasi  Tipe Operand  Tipe Hasil Operasi 


+  Penjumlahan  Integer, real  Integer, real 
­  Pengurangan  Integer, real  Integer, real 
*  Perkalian  Integer, real  Integer, real 
/  Pembagian  Integer, real  Integer, real 
div  Pembagian  integer, integer  integer 
mod  Sisa pembagian  integer, integer  integer 
Contoh : 
9 + 2 (hasil: 11) 
9 ­ 2 (hasil: 7) 
9 * 2 (hasil: 18) 9 / 2 (hasil: 4.5) 
9 div 2 (hasil: 4) 
9 mod 2 (hasil: 1) 

Tabel 3. Operator Boolean PASCAL 

Operator  Operasi  Tipe Operand  Tipe Hasil Operasi 


not  negasi  boolean  boolean 
and  logika ‘and’  boolean  boolean 
or  logika ‘or’  boolean  boolean 
xor  logika ‘xor’  boolean  boolean 

Contoh: A dan B suatu variabel boolean 

A  not (A) 
TRUE  FALSE 
FALSE  TRUE 

A  B  A and B  A or B  A xor B 
TRUE  TRUE  TRUE  TRUE  FALSE 
TRUE  FALSE  FALSE  TRUE  TRUE 
FALSE  TRUE  FALSE  TRUE  TRUE 
FALSE  FALSE  FALSE  FALSE  FALSE

IT-expert.webs.com 

Tabel 3. Operator Relasional 

Operator  Operasi  Tipe Operand  Tipe Hasil Operasi 

=  Sama dengan  tipe sederhana, string, pointer dan set  boolean 


<>  Tidak sama dengan  tipe sederhana, string, pointer dan set  boolean 
<  Lebih kecil dari  tipe sederhana, string  boolean 
>  Lebih besar dari  tipe sederhana, string  boolean 
<=  Lebih kecil atau =  tipe sederhana, string  boolean 
>=  Lebih besar atau =  tipe sederhana, string  boolean 

Contoh: Misal suatu variable A:=9 dan B:=2, 


maka: A = B (hasil: FALSE); 
A <= B (hasil: FALSE) A <> B (hasil: TRUE); 
A >= B (hasil: TRUE) 
A < B (hasil: FALSE) 
A > B (hasil: TRUE) 

4. Operasi pada Set 


a. Operasi Relasional pada Set 
Ada empat perbandingan relasional yang diperkenankan pada set. 
Tabel 4. Operator Relasional pada set 

Operator  Operasi  Tipe Operand  Tipe Hasil Operasi 


=  Sama dengan  Set, set  boolean 
<>  Tidak sama dengan  Set, set  boolean 
<=  Lebih kecil atau =  Set, set  boolean 
>=  Lebih besar atau =  Set, set  boolean 

Misal A dan B adalah merupakan dua buah set. A = B : mempunyai hasil True jika A dan 


B memiliki anggota­anggota yang sama. 
Contoh: [Sun, Tue, Fri] = [Tue, Fri, Sun]. 
A <> B: mempunyai hasil True jika A dan B memiliki anggota­anggota yang tidak sama. 
A <= B : menunjukkan bahwa A adalah subset dari B. 
Contoh: Jika A berisi [Sun, Mon, Tue] dan B berisi [Sun, Mon, Tue, Wed, Thu], maka A 
adalah merupakan subset dari B dan ekspresi menghasilkan nilai True. 
A >= B : menunjukkan bahwa A adalah superset dari B. 
Contoh: Jika A berisi [Sun..Sat] dan B berisi [Mon..Fri], maka A adalah merupakan 
superset dari B dan ekspresi menghasilkan nilai True. 

b. Operasi Logika pada Set Ada 


tiga operasi logika pada set. Tabel 
5. Operator Logika pada set 

Operator  Operasi  Tipe Operand  Tipe Hasil Operasi 


+  Union  Set  Set 
­  Difference  Set  Set 
*  Intersection  Set  Set

IT-expert.webs.com 

Misal: 
+ atau Union: [Sun, Mon, Tue, Wed] + [Mon, Thu, Fri] menghasilkan [Sun, Mon, Tue, 
Wed, Thu, Fri]. 
­ atau Difference: [Sun, Mon, Tue, Wed] ­ [Mon, Tue, Fri] menghasilkan [Sun, Tue, 
Wed], yang merupakan anggota adari set pertama yang bukan anggota set yang kedua. 
* atau Intersection: [Sun, Mon, Tue, Wed] * [Mon, Tue, Fri] menghasilkan [Mon,Tue], 
yang merupakan anggota kedua set. 

5. Ekspresi Merupakan kombinasi antara operator dan operand. Ekspresi matematik yang 
terjadi dalam dunia nyata diterjemahkan kedalam bahasa Pascal dengan sedikit perubahan 
tanda. 
Contoh: 

Ekspresi matematika  Ekspresi PASCAL 


• a + b  • a + b 
• x ( y + z )  • x * ( y + z ) 
• b2 ­ 4ac  • b * b ­ 4*a*c 

Contoh: Bila dideklarasikan var i, j: integer; maka, i + j adalah ekspresi aritmatik 


(menghasilkan suatu bilangan integer) i < j adalah ekspresi boolean (menghasilkan logika 
TRUE atau FALSE) 

6. Fungsi Matematik Standar dalam PASCAL 


Tabel 6. Beberapa fungsi matematik standar yang disediakan oleh PASCAL 

Nama Fungsi  Deskripsi  Tipe Argumen  Tipe Hasil Operasi 


abs  absolute value  real/integer  real/integer 
arctan  arctan (radian)  Real/integer  real 
cos  cosine (radian)  real/integer  real 
sin  sin (radian)  real/integer  real 
exp  fungsi Perpangkatan e  real/integer  real 
ln  ln  real/integer  real 
round  Pembulatan terdekat  real  integer 
sqr  kuadrat  real/integer  real/integer 
sqrt  Akar kuadrat  real/integer  real 
trunc  Pembulatan ke bawah  real/integer  integer 

Contoh : 
Abs(­11) (hasil: 11) 
Round(10.6) (hasil: 11) 
Trunc(10.6) (hasil: 10) 
Sqrt(4) (hasil: 2) 
Sqr(4) (hasil: 16) 
Untuk fungsi trigonometri: 
x = sin phi menjadi x:=sin (3.1416);

IT-expert.webs.com 

Statemen­statemen pemrograman pascal 

Reserved Word 
Reserved  Word  adalah  kata­kata  baku  yang  digunakan  dalam  program  dan  sudah 
terintergrated  dalam  pascal  dan  juga  mempunyai  bentuk  serta  kegunaan  tertentu  yang 
telah didefinisikan oleh Pascal. 
Reserved  Word  tidak  boleh  didefinisikan  kembali  oleh  pemakai,  sehingga  tidak  dapat 
digunakan sebagai pengenal (Identifier). Dalam bahasa pemrograman Pascal, 
beberapa Reserved Word dalam Pascal anatra lain: 

Beberapa Statemen Turbo Pascal 


Statemen adalah perintah untuk pengerjaan program pascal. Statemen terletak  di bagian 
deklarasi statemen dengan  diawali oleh  kata  cadangan  BEGIN  dan  diakhiri dengan  kata 
cadangan  END.  Akhir  dari  setiap  statemen  diakhiri  dengan  titik  koma  [;].  Statemen 
statemen  dalam  bahasa  Pascal  terdiri  dari  pernyataan  yang  berupa  fungsi  dan  prosedur 
yang telah disediakan sebagai perintah standar Turbo Pascal. 

1. Statemen­statemen yang digunakan untuk input/output. 


# Read/Readln [prosedur]. 
Perintah  ini  digunakan untuk  memasukkan [input]  data  lewat  keyboard ke  dalam  suatu 
variabel. 
Sintaks: Read/Readln(x); (ingat, selalu diakhiri dengan titik koma [;]) 
Keterangan : x = variabel. 
Read = pada statemen ini posisi kursor tidak pindah ke baris selanjutnya. 
Readln  =  pada  statemen  ini  posisi  kursor  akan  pindah  ke  baris  selanjutnya  setelah  di 
input. 

# ReadKey [fungsi]. 
Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang dihasilkan adalah char. 
Sintaks: ReadKey; 

# Write/Writeln [prosedur]. 
Digunakan untuk menampilkan isi dari suatu nilai variable di layar. 
Sintaks: Write/Writeln(x); 

Keterangan : 
x = variabel. 
Write/Writeln= statement ini digunakan untuk mencetak variable ke dalam monitor 

Contoh : 
Program input; 
Uses Crt; 
Var nm : String; 
npm : String; 
Begin 
Clrscr; 
Writeln ('masukkan nama dan NPM ');

IT-expert.webs.com 
10 

Writeln ('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write ('nama anda : '); 
Readln (nm); 
Writeln ('NPM anda : '); 
Readln (npm); 
End. 
Bila dijalankan hasilnya adalah: 
masukkan nama dan NPM 
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ 
nama anda : ( di input ) 
NPM anda : ( di input ) 
2. Statemen­statemen yang digunakan untuk pengaturan letak layar. 
# ClrScr [prosedur]. 
Perintah ini digunakan untuk membersihkan layar. 
sintaks: ClrScr; [Clear screen] 

# GotoXY[prosedur]. 
Untuk menempatkan posisi kursor pada layar. 
Sintaks: GotoXY(X, Y: Byte); 
Keterangan : X = sumbu X (posisi horisontal) 
Y = sumbu Y (posisi vertikal) 

# DelLine [prosedur]. 
Untuk  menghapus  sebuah  baris  pada  posisi  kursor  dan  menaikkan  baris­baris 
dibawahnya. 
Sintaks: DelLine; 

# InsLine [prosedur]. 
Untuk  menyisipkan sebuah  baris  pada  posisi kursor dan  menggeser  kebawah tampilan­ 
tampilan baris dibawahnya. 
Sintaks: InsLine; 

# Delay [prosedur]. 
Untuk menghentikan sejenak proses program. 
Sintaks: Delay (MS: Word); 
Keterangan : variable MS = ukuran waktu dalam milisecond. 

3. Statemen yang digunakan untuk memanipulasi string. 
# ConCat[fungsi]. 
Untuk menggabungkan 2 atau beberapa variabel string. 
Sintaks: ConCat (s1 [,s2,...,sn]: String) : String; 
contoh: ConCat ('ABC','DEF') { ABCDEF } 

# Copy [fungsi]. 
Mengambil satu atau beberapa karakter dari sebuah string. 
Sintaks: Copy (S,Index,Count) : String; 
Keterangan : 
S = sebuah string (string). 
Index = posisi awal kita akan mengambil beberapa karakter (integer) 
Count = banyaknya karakter yang akan diambil (integer). 

# Delete [prosedur]. 
Menghapus sebagian karakter dari sebuah string. 
Sintaks: Delete (S,Index,Count); 
Keterangan : sama dengan statemen Copy.

IT-expert.webs.com 
11 

# Insert [prosedur]. 
Menyisipkan satu atau beberapa karakter ke dalam sebuah string. 
Sintaks: Insert (Source,var S,Index); 
Keterangan : 
Source = sumber string untuk disisipi (string) 
var S = string tujuan yang akan disisipi oleh string Source (string) 
Index = posisi mulai (integer). 

# Length [fungsi]. 
Memberikan nilai panjang dari suatu string (jumlah karakter dalam string). 
Sintaks: Length (S); 
Keterangan : S = string 
Length(S) menghasilkan nilai integer. 

# Pos [fungsi]. 
Mencari posisi sebuah bagian string (substring) didalam sebuah string. 
Sintaks: Pos (Substr,S); {menghasilkan nilai Byte} 
Keterangan : 
Substr = substring yang akan dicari posisinya di dalam sebuah string S. 
Bila bernilai 0 berarti nilai string yang dicari tidak ada. 

# Str [prosedur]. 
Merubah nilai numerik ke dalam nilai string. 
Sintaks: Str (N,S); 
Keterangan : 
N = data tipe integer, 
S = data tipe string. 

# Val [prosedur]. 
Merubah nilai string ke dalam nilai numerik. 
Sintaks: Val (S,N,P); 
Keterangan : 
S = nilai string, 
N = nilai real, 
P = posisi salah. 
Nilai  string  harus  berisi  angka,  plus  atau  minus,  bila  tidak  berarti  kesalahan  dan  letak 
kesalahannya ditunjukkan oleh variabel posisi salah. Jika benar, maka nilai variabel tsb = 
0 (nol). 

# UpCase [fungsi]. 
Memberikan huruf kapital dari argumen. 
Sintaks: UpCase (S); 
Keterangan : 
S = variabel bertipe karakter. 

4. Statemen­statemen untuk perhitungan aritmatik. 


# Abs [fungsi]. 
Memberikan nilai mutlak dari suatu argumen. 
Sintaks: ABS(x); 

# ArcTan[fungsi]. 
Memberikan nilai dari fungsi arctangent dari perhitungan goniometri. 
Sintaks: ArcTan (x); 
dimana x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.

IT-expert.webs.com 
12 

# Cos [fungsi]. 
Memberikan nilai dari fungsi Cosinus. 
Sintaks: Cos (x); 

# Exp [fungsi]. 
Menghitung nilai pangkat dari bilangan e (bilangan alam), yaitu sebesar x. 
Sintaks: Exp (x); 
x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real. 

# Frac [fungsi]. 
Untuk mendapatkan nilai pecahan dari suatu bilangan. 
Sintaks: Frac (x); 
Tipe dari x sama seperti yang diatas. 
# Int [fungsi]. 
Memberikan nilai integer (bilangan bulat) dari suatu variabel dengan membuang bilangan 
di belakang koma. 
Sintaks: Int (X); 

# Ln [fungsi]. 
Digunakan untuk menghitung nilai logaritma alam (natural logarithm) dari nilai x. 
Sintaks: Ln (x); 

# Sin [fungsi]. 
Memberikan nilai dari fungsi Sinus. 
Sintaks: Sin (x); 

# Sqr [fungsi]. 
Digunakan untuk menghitung nilai pangkat kuadrat dari suatu bilangan. 
Sintaks: Sqr (x); 
Tipe dari x bisa berupa real maupun integer. Dan hasilnya akan sama dengan tipe dari x. 

# Sqrt (fungsi). 
Digunakan untuk menghitung nilai akar dari suatu bilangan. 
Sintaks: Sqrt (x); 

Contoh : 
Program Aritmatik; 
Uses Crt; 
Var x : Real; 
Begin 
Clrscr; 
Write('Masukkan nilai dari X = '); 
Readln (x); 
If x <0 Then x:=Abs (x); 
Writeln('Nilai X = ',x:5:2); 
Writeln ('Nilai eksponentialnya = ',EXP(x):9:3); 
Writeln ('Nilai logaritma alamnya = ',LN(x):9:3); 
Writeln ('Nilai integernya = ',INT(x):5:2); 
Writeln ('Nilai fraksionalnya = ',FRAC(x):5:2); 
Writeln ('Nilai X dipangkatkan = ',SQRT(x):9:3); 
Writeln ('Nilai X diakarkan = ',SQRT(x):9:3); 
Write('Nilai X jika dimasukkan dalam '); 
Writeln('fungsi Sin,Cos,Tangen: '); 
Writeln('­ Sinus = ',Sin(x):9:3); 
Writeln('­ Cosinus = ',Cos(x):9:3); 
Writeln('­ Tangen = ',ArcTan(x):9:3); 
End.

IT-expert.webs.com 
13 

Hasilnya : 
masukkan nilai dari X = ­2.5 
Nilai X = 2.50 
Nilai eksponensialnya = 12,182 
Nilai logarima alamnya = 0,196 
Nilai integernya = 2.00 
Nilai fraksionalnya = 0.50 
Nilai X dipangkatkan = 6.250 
Nilai X diakarkan = 1.581 
Nilai X jika dimasukkan dalam fungsi Sin,Cos,Tangen: 
­ Sinus = 0.598 
­ Cosinus = ­0.801 
­ Tangen = 1.190 

5. Statemen­statemen untuk transfer nilai dari suatu variabel. 


# Chr [fungsi]. 
Merubah nilai dari byte ke bentuk karakter yang sesuai dengan kode ASCII. 
Sintaks: Chr (x); 
Keterangan : x bertipe byte 
contoh : Writeln (Chr (61)); 
hasilnya : a 

# Ord [fungsi]. 
Merubah nilai suatu variabel dari bentuk karakter ke bentuk longint. 
Sintaks: Ord (x); 
Keteranagn : x bertipe char 
contoh : Writeln(Ord ('B')); 
hasilnya : 42 

# Round [fungsi]. 
Membulatkan data tipe real ke data tipe longint. 
Sintaks: Round (x); 
Keterangan : 
Jika nilai pecahan < 0,5 maka dibulatkan kebawah. 
Jika nilai pecahan > 0,5 maka dibulatkan keatas. 
contoh : Writeln('10/3 dibulatkan = ',Round(10/3)); 
hasilnya : 10/3 dibulatkan = 3 

# TRUNC [fungsi]. 
Membulatkan kebawah data tipe real ke data tipe longint. 
Sintaks: Trunc (x); 
contoh : 
Writeln('20/3 dibulatkan kebawah = ',Trunc (20/3)); 
hasilnya : 20/3 dibulatkan kebawah = 6 

6. Statemen­statemen untuk memanipulasi data. 


# Pred [fungsi]. 
Memberikan nilai sebelum nilai argumen dalam urutannya dalam ASCII. 
Sintaks: Pred (x); 

# Succ [fungsi]. 
Memberikan nilai sesudah nilai argumen dalam urutannya dalam ASCII. 
Sintaks: Succ (x);

IT-expert.webs.com 
14 

# Inc[fungsi]. 
Menambah (increments) nilai suatu variabel. 
Sintaks: Inc (x,i); {i >= 1} 

# Dec [fungsi]. 
Mengurangi (decrements) nilai suatu variabel. 
Sintaks: DEC(x,i); {i >=1} 

7. Statemen­statemen tambahan (warna,suara dan window). 


# TextColor [prosedur]. 
Untuk mengatur warna dari karakter­karakter di layar. 
Sintaks: TextColor (color : Byte); 
Catatan : untuk pilihan warna lihat pada buku Turbo Pascal yang anda miliki. 
Daftar TextColor : 

# TextBackGround [prosedur]. 
Untuk mengatur warna latar belakang dari karakter­karakter di layar. 
Sintaks: TextBackGround (Color : Byte); 

# Window [prosedur]. 
Untuk membuat suatu jendela (window) yang terletak pada layar. 
Sintaks: Window (x1,x2,y1,y2 : Byte); 
x1,x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar. 
y1,y2 = kordinat kanan bawah dengan nilai maksimal sesuai dengan mode layar. 

# TextMode [prosedur]. 
Untuk mengatur lebar layar, 80 kolom atau 40 kolom. 
Sintaks: TextMode(Mode: Byte); 
Default = C80 

# Sound [prosedur]. 
Untuk mengaktifkan suara (beep) pada internal speaker. 
Sintaks: Sound (Hz : word); 
Untuk mengnonaktifkannya, gunakan statemen NoSound. 
Contoh : 
Program Layar2; 
Uses Crt; 
Begin 
ClrScr; 
Window (5,5,20,75); 
TextBackGround(Red); : anda juga bisa menggunakan angka (4) 
TextColor(Yellow);

IT-expert.webs.com 
15 

Sound (220); 
GotoXY(10,7); 
Writeln('I Love Dinda'); 
GotoXY(11,7); 
Writeln('Bayi Sehatku'); 
NoSound; 
End. 

Bentuk perulangan & penyeleksian Kondisi 


Wah gak terasa kita sudah nyampe di bab perulangan & kondisi ……selamat mencoba. 

Tujuan 
1.  Memberikan penjelasan mengenai struktur perulangan dengan statement For, 
termasuk didalamnya : 
1.1. Pengertian dan contoh perulangan statement For Positif. 
1.2. Pengertian dan contoh perulangan statement For Negatif. 
1.3. Pengertian dan contoh perulangan tersarang (Nested Loop). 

2.  Memberikan Penjelasan  dan  contoh  mengenai  struktur perulangan dengan  statement 


While  –  Do  termasuk  didalamnya  penjelasan  mengenai  While­Do  tersarang  (nested 
While­Do). 
3.  Memberikan penjelasan dan  contoh  mengenai  perulangan dengan Statement  Repeat­ 
Until termasuk di dalamnya penjelasan mengenai Repeat –Until tersarang . 
4.  Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan : 
4.1. Statement If ­ Then 
4.2. Statement If – Then ­ Else 
4.3. Statement If tersarang (Nested IF) 
4.4. Statement Case ­ Of 
4.5. Statement Case – Of ­ Else 

Materi 
# Bentuk – bentuk Perulangan 
Dalam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan dan 
percabangan.  Tujuan  perulangan  disini  adalah  untuk  mengulang  statement  atau  blok 
statement berulang kali sesuai sejumlah yang ditentukan pemakai. Dalam materi ini akan 
memberikan gambaran konsep dasar dari pengertian diatas. 

# Perulangan For. 
Perulangan dengan statemen For  digunakan untuk  mengulang statemen atau  suatu  blok 
statemen berulang kali. Perulangan dengan statemen For dapat berupa perunlangan positif 
dan perulangan negatif. 

# Perulangan For positif 


contoh : 
perulangan positif untuk satu statement : 
Uses Crt; 
Var 
i : Integer; 
Begin 
For i := 1 To 5 Do Writeln ('I Love Dinda’); 
END.

IT-expert.webs.com 
16 

Maka bila program diatas dicompile di jalankan 

hasilnya : 
I Love Dinda 
I  Love  Dinda 
I  Love  Dinda 
I  Love  Dinda 
I Love Dinda 

Penjelasan  :  Berati  statemen  I  Love  Dinda  akan  diulang  sebanyak  5  kali  yaitu  dengan 
menghitung nilai i dari i ke 1 sampai nilai i terakhir yaitu i ke 5. 
# Contoh dengan menggunakan blok statement: 
cara penulisannya dengan pada awal blok diawali dengan Begin dan pada akhir blok 
diakhiri dengan End; 

Uses Crt; 
Var 
i : Integer; 
Begin 
For i:= 1 To 10 Do 
Begin 
Writeln ('I Love Dinda'); { blok statement } 
End; 
End. 

Hasil yang akan didapat akan sama dengan contoh yang pertama, tapi yang harus diingat 
disini  untuk  penggunaan    blok  pada  perulangan  For  biasanya  mempunyai  banyak 
statement [lebih dari 1 statement] 

# Contoh 3 : 
Penggunaan perulangan For dalam blok statement untuk membuat tabel 

Uses Crt; 
Var 
a,b,c : Integer; 
bagi : Real; 
Begin 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Writeln(' a a*a a*a*a 1/a '); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
For a := 1 To 10 Do 
Begin 
b:= a*a; 
c:=a*a*a; 
bagi := 1/a; 
Writeln(a:4,c:10,d:10,bagi:12:3); 
End; 
Writeln ('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
End. 

Maka hasilnya :

IT-expert.webs.com 
17 

# Perulangan For negatif 


Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil. 
Statement yang digunakan adalah For­DownTo­Do 

contoh : 
Uses Crt; 
Var 
i : Integer; 
Begin 
For i := 10 DownTo 1 Do Write (i:3); 
End. 

Hasil : 
10 9 8 7 6 5 4 3 2 1 

# Perulangan For tersarang 


Perulangan  For  tersarang  adalah  perulangan  For  yang  berada  pada  perulangan  yang 
lainnya.  Perulangan  yang  lebih  dalam  akan  diproses  terlebih  dahulu  sampai  habis, 
kemudian  perulangan  yang  lebih  luar  baru  akan  bertambah,  mengerjakan  perulangan 
yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya. 

Contoh : 
Var 
a,b : Integer; 
Begin 
For a := 1 To 3 Do 
Begin 
For b := 1 To 2 Do Write (a :4,b:2); 
End; 
End. 

Hasil 

1 1  12 
2 1  22 
3 1  32 

# Perulangan While ­ Do 


Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi kondisi, sehingga 
program dapat  menentukan tindakan apa  yang  harus  dikerjakan,  tergantung dari kondisi 
yang  diseleksi  tersebut.  Perulangan  While  –  Do  tidak  dilakukan  jika  kondisi  tidak 
terpenuhi.

IT-expert.webs.com 
18 

Contoh : 
Uses Crt; 
Var i : Integer; 
Begin 
i := 0; 
While < 5 do 
Begin 
Write (i:3); 
Inc (i); { sama dengan i:=i+1 } 
End; 
End. 

Hasilnya : 
0 1 2 3 4 

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 Crt; 
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 Crt; 
Var

IT-expert.webs.com 
19 

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. 

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini : 


Type 
Angka = String[20]; 
Var 
Nama : Array [1..50] of Angka; 
Begin 


End. 

I. Deklarasi Type Indeks Skalar 
Indeks dari larik dapat berupa tipe skalar. 
Contoh. : 
Program Deklarasi_Indeks_Array_Skalar; 
Uses Crt; 
Var 
Jum : Array[(jan,feb,mar,apr,mei)] of Integer; 
Begin 
Jum[jan]:=25; 
Jum[feb]:=45; 
Jum[mar]:=21; 
Jum[apr]:=23; 
Jum[mei]:=50; 
Writeln('Jumlah nilai bulan maret =',Jum[mar]); 
Readln; 
End. 

dapat juga ditulis : 
type 
Bln = (jan,feb,mar,apr,mei); 
Var 
Jum : Array[bln] of Integer;

IT-expert.webs.com 
20 

atau : 
type 
Bln =(jan,feb,mar,apr,mei); 
Var 
Jum : Array[jan..mei] of Integer; 

II. Deklarasi Konstanta Array 
Array  tidak  hanya  dapat  berupa  suatu  varibel  yang  dideklarasikan  di  bagian  deklarasi 
variabel, tetapi dapat juga berupa konstanta (const). 

Contoh Program : 
Program Contoh_Deklarasi_Array_Konstan; 
Uses Crt; 
Const 
Tetap : Array[1..4] of Integer=(7,10,21,20); 
Var 
i : Integer; 
Begin 
For i:= 1 to 4 Do 
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]); 
Readln; 
End. 

konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut. 


Contoh Program : 
Program Contoh_Konstan_Array_Char_; 
Uses Crt; 
Const 
Huruf : Array[0..5] of Char=('A','B','C','D','E','F'); 
Var 
i : Integer; 
Begin 
For i:= 0 to 5 Do 
Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]); 
Readln; 
End. 

Konstanta array dapat juga berupa string seperti berikut ini. 


Contoh Program : 
Program Constanta_Array_String; 
Uses Crt; 
Type 
A = Array [1..5] of String; 
Const 
Nama : A = ('basic','pascal','cobol','paradox','dbase'); 
Var 
i : Integer; 
Begin 
For i:= 1 to 5 Do 
Writeln('Nilai Array ke­',i:2,'= ',Nama[i]); 
readln; 
end. 

Dalam pascal string merupakan array dari elemen­ elemen karakter seperti berikut : 
Contoh Program : 
Program String_Adalah_Array_Tipe_Char;

IT-expert.webs.com 
21 

Uses Crt; 
Var 
Nama : string; 
i : Integer; 
Begin 
Nama:='Turbo Pascal'; 
For i:= 1 to Length(nama) Do 
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]); 
Readln; 
End. 

contoh program bilangan prima dengan menggunakan bantuan array. 


Contoh program : 
Program Mencari_Bilangan_Prima_Dengan_Array; 
Uses Crt; 
Var 
Prima : Array[1..100] of Integer; 
i,j : Integer; 
bil : Integer; 
Begin 
ClrScr; 
For i := 2 to 100 Do 
Begin 
Prima[i]:=i; 
For j:= 2 to i­1 Do 
Begin 
bil := (i mod j); {* i dibagi j dicek apakah 0*} 
If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*} 
End; 
If Prima[i]<> 0 Then Write(Prima[i],' '); {*cetak array yg prima*} 
End; 
Readln; 
End. 

Contoh pengurutan data  dengan  metode  buble  sort, yaitu  dengan cara  penukaran, dapat 


dilihat pada contoh dibawah ini : 
Contoh Program : 
Program Penggunaan_Array_Untuk_Sortir_Buble_Sort; 
Uses Crt; 
Var 
nil1 : Array[1..100] of Integer; 
n,i,j,dum : Integer; 
Begin 
ClrScr; 
Write('mau isi berapa data acak (integer) ='); readln(n); 
For i := 1 to n Do 
Begin 
Write('Data Ke ',i,':');Readln(nil1[i]); 
End; 
{* penyapuan proses} 
for i:= 1 to n­1 do 
begin 
for j:= i to n do

IT-expert.webs.com 
22 

beg in 
if nil1[j]<nil1[i] then 
begin 
dum:=nil1[j]; 
nil1[j]:=nil1[i]; 
nil1[i]:=dum; 
end; 
end; 
end ; 
writeln; 
writeln('Hasil Sortir'); 
for i := 1 to n do 
write(nil1[i]:3); 
readln; 
end. 

III. Array Dua Dimensi 
Di  dalam  pascal  Array  dapat  berdimensi  lebih  dari  satu  yang  disebut  dengan  array 
dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 
2  dimensi  dapat  mewakili  suatu  bentuk  tabel  atau  matrik,  yaitu  indeks  pertama 
menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik. 
1  2 



Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat 
pada listing program dibawah ini . 

Contoh Program: 
Program Deklarasi_Array_Dua_Dimensi; 
Uses Crt; 
Var 
Tabel : Array[1..3,1..2] of Integer; 
i,j : Integer; 
Begin 
ClrScr; 
Tabel[1,1]:=1; 
Tabel[1,2]:=2; 
Tabel[2,1]:=3; 
Tabel[2,2]:=4; 
Tabel[3,1]:=5; 
Tabel[3,2]:=6; 
For I := 1 to 3 Do 
Begin 
For J:= 1 to 2 Do 
Begin 
Writeln('Elemen ',i,',',j,'= ',tabel[i,j]); 
End; 
End; 
Readln; 
End. 

IV. Alternatif Deklarasi Array Dua Dimensi. 
Ada  beberapa  cara  dalam  mendeklarasikan  array  dua  dimensi,  beberapa  cara  tersebut 
dapat dilihat dibawah ini :

IT-expert.webs.com 
23 

Contoh : 
Var 
Tabel : Array[1..3] of Array[1..2] of Byte; 
atau : 
Type 
Matrik = Array[1..3,1..2] of Byte; 
Var 
Tabel : Matrik; 
atau : 
Type 
Baris = 1..3; 
Kolom = 1..2; 
Matrik = Array[Baris,Kolom] of Byte; 
Var 
Tabel : Matrik; 
atau : 
Type 
Baris = 1..3; 
Kolom=1..2; 
Matrik= Array[Baris] of Array[Kolom] of Byte; 
Var 
Tabel : Matrik; 
Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi 
penjumlahan matrik : 

Contoh Prorgam: 
Program Penjumlahan_Matrik; 
Uses Crt; 
Var 
Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer; 
i,j : Integer; 
Begin 
ClrScr; 
{ input matrik ke satu } 
Writeln(' Elemen matrik satu'); 
For i := 1 to 3 Do 
Begin 
For j := 1 to 2 Do 
Begin 
Write('Elemen baris ­',i,' Kolom ­',j,'= '); 
Readln(matrik1[i,j]); 
End; 
End; 
{input matrik ke dua} 
Writeln('input elemen matrik dua'); 
For i:= 1 to 3 Do 
Begin 
For j:= 1 to 2 Do 
Begin 
Write('Elemen baris ­',i,' kolom ­',j,'= '); 
Readln(matrik2[i,j]); 
End; 
End; 
{proses penjumlahan tiap elemen} 
For i := 1 to 3 Do 
Begin 
For j:= 1 to 2 Do

IT-expert.webs.com 
24 

Begin 
Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j]; 
End; 
End; 
{proses cetak hasil} 
For i:= 1 to 3 Do 
Begin 
For j:= 1 to 2 Do 
Begin 
Write(Hasil[i,j]:6); 
End; 
Writeln; 
End; 
Readln; 
End. 

V. Array Sebagai Parameter 
Array dapat  digunakan sebagai parameter  yang  dikirimkan baik  secara  nilai  (by  value) 
atau  secara  acuan  (by  reference)  ke  procedure  atau  ke  function.  Procedure  yang 
menggunakan  parameter  berupa  array  harus  dideklarasikan  di  dalam  judul  procedure 
yang menyebutkan parameternya bertipe array. 

Contoh Program : 
Program Contoh_Pengiriman_Parameter_Array_Di_Procedure; 
Uses Crt; 
Const 
Garis ='­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'; 
Type 
Untai = Array[1..10] of String[15]; 
Bulat = Array[1..10] of Integer; 
Huruf = Array[1..10] of Char; 
Var 
i,Banyak : Integer; 
Procedure Proses(Nama:Untai;Nilai:Bulat); 
Var 
Ket : String; 
Abjad : Char; 
Begin 
Writeln(Garis); 
Writeln('Nama Nilai Abjad Keterangan'); 
Writeln(Garis); 
For i := 1 to Banyak Do 
Begin 
If Nilai[i] > 90 Then 
Begin 
Abjad:='A'; 
Ket :='Istimewa'; 
End; 
If (Nilai[i]<90) And (Nilai[i]>70) Then 
Begin 
Abjad:='B'; 
Ket :='Memuaskan'; 
End; 
If (Nilai[i]<70) And (Nilai[i]>60) Then 
Begin 
Abjad:='C'; 
Ket :='Cukup';

IT-expert.webs.com 
25 

End; 
If (Nilai[i]<60) And (Nilai[i]>45) Then 
Begin 
Abjad:='D'; 
Ket :='Kurang'; 
End; 
If Nilai[i]< 45 Then 
Begin 
Abjad:='E'; 
Ket :='Sangat kurang'; 
End; 
Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15); 
End; 
Writeln(Garis); 
End; 

Procedure Masuk_Data; 
Var 
Nama : Untai; 
Nilai : Bulat; 
Begin 
Write('Banyak data =');Readln(Banyak); 
For i:= 1 to Banyak Do 
Begin 
ClrScr; 
Writeln('Data ke ­ ',i); 
Write('Nama =');readln(Nama[i]); 
Write('Nilai =');readln(Nilai[i]); 
End; 
Proses(Nama,Nilai); 
End; 
{modul Utama} 
Begin 
Masuk_Data; 
Readln;
End. 

IT-expert.webs.com 

You might also like