I. Deklarasi
I.1. Pengenal
Pengenal (identifier) merupakan nama yang biasa digunakan untuk variabel, konstanta, fungsi atau obyek yang lain yang didefinisikan oleh pemogram.
Beberapa aturan pembuatan pengenal:
1. harus diawali dengan huruf
2. tidak boleh ada spasi
3. panjangnya hanya 63 karakter
4. huruf kapital atau huruf kecil dianggap sama
contoh:
benar salah
jumlah 3jumlah
harga_jual harga jual
I.2. Kata Baku
Kata Baku merupakan kata khusus yang disediakan oleh bahasa pemograman untuk kebutuhan program. Dalam bahasa Pascal ada beberapa kata baku misalnya:
Absolute external mod shr And file
nil string Array for not then
Begin forward object to Case function
of type Const goto or unit
Constructor if packed until Destructor implementation procedure uses Div in program
var Do inline record virtual Downto
interface repeat while Else interrupt set
with End label shl xor
Suatu kata, terkadang ditulis dengan huruf kapital, huruf kecil ataupun combinasi ke duanya tidak mengubah makna .
Contoh:
PROCEDURE=procedure=PROcedure
I.3. Tipe Data
Tipe data dalam pemograman Pascal dibedakan atas:
a. tipe data sederhana
Tipe data sederhana dibagi lagi atas 2 tipe data yaitu:
1. tipe ordinal dan
2. tipe real
Tipe ordinal merupakan tipe data sederhana sekain tipe real (pecahan), berupa:
* Tipe bilangan bulat
Tipe Kawasan ukuran memori
Shorint -128...127 1 byte
Integer -32768...32768 2 byte
Longint -2147483638...2147483647 4 byte
Byte 0...255 1 byte
Word 0...65535 2 byte
* Tipe Boolean
Suatu tipeyang nilainya berupa False (salah) atau True (benar) saja.
* Tipe Char
Tipe yang hanya terdiri dari sebuah karakter, karakter yang dimaksud dapat berupa karakter ASCII.
* Tipe real
merupakan tipe bilangan pecahan, berupa
Tipe Data Kawasan Ukuran memori
Real ±2,9X10-39...1,7X1038 6 byte
Single ±1,5X10-45...3,4X1038 4 byte
Double ±5,0X10-324...1,7X10308 8 byte
Extended ±5,0X10-4951...1,1X104932 10 byte
Comp -263...263-1 8 byte
b. Tipe data String
String atau literal dapat berupa nol atau sejumlah karakter.
Contoh
‘Selamat datang dalam Pemograman Pascal.’
c. ARRAY
Menurut definisi, array(larik) adalah sebuah variabel yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data sama). Setiap nilai yang disimpan dalam array disebut elemen array. Misalnya array A yang memiliki 10 buah elemen nilai yang bertipe integer, maka kita dapat merepresentasikannya sebagai berikut:
Berikut ini bentuk umum pendeklarasian Array:
NamaArray : array[Indeksawal..IndeksAkhir] of tipe_data;
Contoh:
A:array[1..10]of integer;
Dalam bahasa pascal, tersedia dua fungsi yang dapat mengambil index terrendah dan tertinggi dari sebuah array, yaitu fungsi Low dan High.
CP
Var
A:array[0..5]of integer;
Begin
A[1]:=1;A[2]:=2;A[3]:=3;A[4]:=4;A[5]:=5;
End.
Berikut ini contoh program penggunaan Array
Program AksesArray;
Const
Max:=26
Var
A: array[1..max]of char;
C:char;
I:integer;
Begin
Clrscr;
C:=’a’;
I:=1;
While (i<=max) do begin
A[i]:=c;
Inc(c);
Inc(i);
End;
For i:=1 to max do begin
Write(A[i],’ ‘);
End;
Readln;
End.
Keterangan
Pada kode program di atas kita memiliki array A yang digunakan untuk menyimpan karakter ‘a’ sampai ‘z’. Hasil yang akan diberikan oleh program di atas adalah:
a b c d e f g h i j k l m n o p q r s t u v w x y z
Array Dua Dimensi
Array dua dimensi adalah array yang memiliki dua buah elemen bertipe array.
Pseudocod
NamaArray:array[1..banyakbaris,1..banyakkolom] of tipe_data;
Berikut ini adalah program yang menggunakan array2dimensi
Program JumlahMatriks;
Const
Jbaris=2; jkolom=3;
Type
Matriks23=array[1..jbaris,1..jkolom]of integer;
Var
A,B,C:matriks23;
J,k:integer;
Begin
Writeln(‘Matriks A’);
For j:=1 to jbaris do begin
For k:=1 to jkolom do begin
Write(‘A[‘,j,’,’,k,’]=’);readln(A[j,k]);
End;
Writeln;
End;
Writeln;
Writeln(‘matriks B’);
For j:=1 to jbaris do begin
For k:=1 to jkolom do begin
Write(‘B[‘,j,’,’,k,’]=’);readln(B[j,k]);
End;
Writeln;
Writeln(‘Hasil Penjumlahan’);
For j:=1 to jbaris do begin
For k:=1 to jkolom do begin
C[j,k]:=A[j,k]+B[j,k];
Writeln(‘C[‘,j,’,’,k,’]=’);readln(A[j,k]);
End;
Writeln;
End.
Array Tiga Dimensi
Merupakan array yang memiliki tiga subkrip dan lebih kompleks bila dibandingkan dengan array dua dimensi.
Psudocode
NamaArray:array[1..xmaks,1..ymaks,1..zmaks]of tipe_data;
d. Record
Record merupakan tipe data yang tersusun atas beberapa variabel yang berbeda (atau sama) tipe datanya. Variabel-variabel yang terdapat dalam record biasanya disebut sebagai field. Dalam bahasa pascal tipe Record didefinisikan dengan record, sedangkan dalam C adalah struct
Pseudocode
Namarecord=record
Namafield1:tipe_data1;
Nama_field2:tipe_data2;
...
End;
Setelah didefinisikan, tipe rekaman ini dapat langsung digunakan untuk mendeklarasikan variabel, seperti halnya tipe data lainnya.
Type
Tsiswa =record
NIM:string[8];
Nama:string[25];
Umur:integer;
End;
{menggunakan tipe Tsiswa untuk mendeklarasikan variabel}
Var
S:tsiswa;
Selanjutnya untuk mengakses field dari record di atas kita dapat menggunakan operator titik(.)
{mengisikan nilai ke dalam variable s yang bertipe Tsiswa}
s.nim:=”dddda123”;
s.nama:=”agus”;
s.umur:=18;
untuk menghindari pengulangan dalam penulisan kode, maka pascal menawarkan kemudahan dengan menghadirkan statemen with, sehingga kode di atas dapat dituliskan :
with s do begin
nim:=”dddda123”;
nama:=”agus”;
umur:=18;
end;
Berikut ini contoh program sederhana
Program TipeRecord;
Type
tSiswa=record
nim:string[8];
nama:string[25];
umur:integer;
end;
var s:tSiswa;
begin
writeln(‘Isikan Informasi mengenai diri Anda :’);
write(‘NIM : ‘);readln(s.nim);
write(‘Nama : ‘);readln(s.nama);
write(‘Umur : ‘);readln(umur);
writeln(‘Berikut ini informasi yang telah anda isikan...’);
writeln(‘NIM =’,s.nim);
writeln(‘Nama =’,s.nama);
writeln(‘Umur=’,s.umur);
readln;
end.
e. Tipe Data SetSebuah set merupakan suatu himpunan yang berisi nilai (anggota). set merupakan Tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika,
contoh: A = { 1, 2, 3, 4, 5 }Syntax: set of contoh:type Digits = set of 0..9;Letters = set of 'A'..'Z';type Day = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);CharSet = set of Char;Digits = set of 0..9;Days = set of Day;const EvenDigits: Digits = [0, 2, 4, 6, 8];Vowels: Letters = ['A', 'E', 'I', 'O', 'U', 'Y'];Kita tidak bisa menulis atau membaca isi dari set, tetapi kita bisa melakukan operasi yang lain dengan data yang ada pada set (mis. relasional).Contoh:
Program contoh_set;Uses wincrt;type hari = (ahad, sen, sel, rab, kam,jum, Sab);var semua_hari : set of hari;hari_kerja : set of sen .. jum;hari_ini : hari;beginhari_ini:=sen;if hari_ini in hari_kerja thenwriteln('HARI INI HARI KERJA')elsewriteln('HARI LIBUR');end.
Salah satu manfaat dari penggunaan tipe data set adalah untuk mengecek apakah suatu nilai muncul dalam suatu range tertentu. Misalnya, untuk mementukan apakah suatu karakter berupa lower case letter (huruf kecil), mis. Ch adalah tipe Char, kita bisa menulis,
if (Ch >= 'a') and (Ch <= 'z') then Writeln( Ch,' merupakan huruf kecil.');
atau, dengan notasi set, kita bisa menulis ,
if Ch in ['a'..'z'] then Writeln( Ch,' merupakan huruf kecil.');
f. Tipe Data Pointerpointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memory. Suatu variabel yang points(menunjuk) ke sesuatu sehingga disebut pointer. Ada dua macam pointer:-typed(tertentu): merupakan pointer yang menunjuk pada tipe data tertentu pada variable.-generic(umum): merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variable.Contoh deklarasi pointer:
var p : ^integer;
Contoh di atas merupakan deklarasi variabel p sebagai pointer dari integer. Dengan menambahkan tanda caret (^) di depan nama tipe data variabel yang dideklarasikan:contoh :
program contoh_pointer1;uses wincrt;var p : ^integer;m, n : integer;beginm:=10;n:=15;p:=@m; { p sekarang menunjuk ke m }p^:=12; { hal ini sama dengan m:=12; }p:=@n; { p sekarang menunjuk ke n }p^=m; { { hal ini sama dengan n:=m; }writeln('m = ',m,', n = ',n); { m = 12, n = 12 }end.
Ketika p menunjuk ke m ( p:=@m;), mengakses p^ sama dengan mengakses m. Dalam membuat program, dalam penggunaan pointer kita memerlukan alokasi memori tertentu: Ketika kita mendeklarasikan variabel pointer dalam "var" sehingga merupakan suatu static variable, yang mana Static variable ini dibatasi oleh kapasitas 64KB untuk tiap module. Yang berarti dalam program utama kita hanya bisa menggunakan hanya 64KB dan tiap unit Pascal hanya bisa memakai 64KB. Sehingga kita perlu memecahkan program kebeberapa unit. Salah satu teknik yang dipakai untuk mengatasi persoalan ini adalah seperti program berikut.
Program contoh_pointer2;uses wincrt;Type Pemployee = ^Temployee;Temployee = record Name : string[10];Position : char;Salary : longint;end;var p : pemployee;beginnew(p);p^.name:='Saddam';p^.position:='S';p^.salary:=3000;writeln(p^.name,' ',p^.position,' ',p^.salary);dispose(p);end.
Pada blok begin...end blok, kita bisa melihat meskipun p tidak menunjuk pada suatu variable tetapi dapat diisi dengan nilai. Pernyataan new(p); tidak memerlukan alokasi memori. Setelah itu kita bisa melakukan apapun pada variabel tersebut sampai kita membuangnya dari memori dengan memakai perintah dispose(p);. Variable dengan cara ini dinamakan dengan dynamic variable. Generic Pointer adalah pointer tanpa tipe data tertentu. Biasanya, pointer berkaitan dengan tipe data khusus, sedangkan generic pointer tidak.Deklarasi:
Var P : pointer;
Dipergunakan sebagai buffer sementara (tidak permanen). Sehingga kita bisa melepasnya untuk suatu saat tidak diperlukan. Untuk itu pointer sangat bagus karena sifatnya yang dinamis. Tetapi, generic pointer tidak sama dengan typed pointer. Typed pointer menggunakan "new" untuk menampung memori dan "dispose" untuk melepasnya. Generic pointer menggunakan "getmem" untuk mendapatkan memori dan "freemem" untuk melepasnya. Pada pointer dengan tipe tertentu, program Pascal mengetahui ukuran dari memori yang harus dilaokasikan, sedangkan tipe umum (generic pointer) Pascal tidak bisa, karena Pascal tidak mengetahui variabel apa yang akan dipakai. Sehingga dengan getmem kita perlu untuk menentukan berapa besar memori yang akan kita alokasikan. Ukuran terbesar adalah 65532 bytes (hampir 64K).
Program contoh_pointer2;uses wincrt;Var P : pointer;BeginGetmem(p,8192); { Reserve 8192 bytes }{ We use it then }freemem(p,8192); { Release it, 8192 bytes }end.
I.4. Variabel
Merupakan pengenal yang nilainya berubah-ubah dalam pemograman dan juga untuk menyimpan suatu nilai. Variabel harus dideklarasikan terlebih dahulu sebelum digunakan dalam program, maksudnya menentukan memori yang akan digunakan variabel untuk menyimpan nilai atau data dan menentukan tipe data yang digunakan.
Pseudocod
Var pengenal : Tipe Data;
Contoh:
Var bil:integer;
Var Luas:real;
Var pilihan:char;
Contoh Program (CP)1
Uses wincrt;
Var bil:integer;
Luas:real;
Begin
Bil:=10;
Luas:=55.5;
Writeln(‘Bilangan variabel bil adalah ’,bil,’ dan luas adalah ‘,luas);
End.
simpan dengan nama lat2.pas dan kompile program dengan Ctrl + F9
I.5. Konstanta
Merupakan suatu nilai yang tetap dalam program.
Penggunaan konstanta dapat kita lihat pada CP diatas.
Berikut ini konstanta yang sering digunakan dalam pemograman:
^G bell, membunyikan bel komputer
pendeklarasian konstanta pada program diaturkan penulisannya seperti contoh berikut ini:
const pi=3.14;
nama=’ANDI’;
pilihan=’a’;
keterangan:
pendeklarasian konstanta harus diawali dengan kata baku Pascal Const, kemudian nilai konstantanya.
II. Operator
Merupakan simbol atau karakter yang digunakan dalam program untuk melakukan suatu operasi.
- Operator Aritmetika
* perkalian
/ pembagian
+ penjumlahan
- pengurangan
div pembagian real
mod sisa pembagian
Operator-operator aritmetika diatas tersusun menurut urutan dan kekuatannya dalam suatu operasi, bila terdapat semua operator diatas maka operasi yang pertama dilaksanakan adalah perkalian (*) kemudian pembagian (/), penjumlahan (+) atau pengurangan (-). Operator div dan mod hanya bisa dikenakan pada operand bertipe bilangan bulat, hasil operasi juga bilangan bulat.
Misalnya untuk memperoleh nilai diskriminan dari suatu persamaan kuadrat adalah :
d=b2-4ac
CP2.
Uses wincrt;
Var a,b,c,d:real;
Begin
A:=3;
B:=4;
C:=7;
D:=b*b-4*a*c;
writeln(‘diskriminan= ’,d);
end.
simpan dan eksekusi program dengan Ctrl+F9
-Operator Boolean
Ada 4 buah operator boolean, yaitu AND, OR, XOR dan NOT
Berikut ini diberikan tabel hasil operasi boolean
Operand1
Operand2
Hasil Operasi
AND
OR
XOR
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
TRUE
FALSE
TRUE
TRUE
TRUE
FALSE
FALSE
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
FALSE
- Operator penaikan dan penurunan
+ penaikan; nilai tambah satu
- penurunan; nilai berkurang satu
Berikut ini adalah contoh program aplikasi perhitungan luas lingkaran
CP3.
USES wincrt;
Var r, luas:real;
Const pi=3.14;
begin
writeln(‘Program Menghitung luas lingkaran.’);
Write(‘Masukkan Jari-jari lingkaran R =’);Readln(r);
luas=pi*r*r;
Writeln(‘Maka luas lingkaran dengan jari-jari ‘,r,’ adalah ’,luas);
End.
- Operator Relasi
= sama dengan
> lebih besar dari
>= lebih besar dari dan sama dengan
< lebih kecil dari
<= lebih kecil dan sama dengan
<> tidak sama dengan
Latihan.
Buatlah 3 buah program
menghitung luas persegi panjang dengan panjang dan lebar bilangan bulat
menghitung volume balok dengan Panjang, lebar dan tinggi adalah bilangan real.
menghitung konversi suhu Celcius ke Franheit sebaliknya Reamur ke Franheit,
Wednesday, April 23, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Have read my blog, what do you think?