Professional Documents
Culture Documents
PEMBAHASAN
1. SEJARAH PASCAL
1. Berurutan Susunan dari kode-kode dalam teks Pascal harus ditulis secara urut dari
atas, pernyataan-pernyataan yang ditulis lebih awal akan dieksekusi lebih dahulu.
Oleh karena itu, suatu pernyataan yang menyangkut suatu variabel di dalam program,
maka variable itu harus terdefinisi dahulu sebelumnya. Hal ini terutama menyangkut
pada pemanggilan sub-program oleh sub-program yang lain. Bisa dibaca lebih lanjut
pada bagian sub-program.
1
2. Blok dengan batas-batas yang jelas.Pascal memberikan pembatas yang jelas pada
tiap-tiap blok, seperti pada blok program utama, sub-program, struktur kontrol
(pengulangan/ pemilihan), dll. Pemakaian kata kunci begin untuk mengawali operasi
pada blok dan end untuk menutupnya memudahkan programmer menyusun
programnya dengan mudah.
Seperti_contoh:
If X>0 then
begin
Write ( ‘ bilangan positif’);
Writeln ( ‘ program selesai’);
end;
3. Satu pintu masuk dan satu pintu keluar pada blok pemilihan dan pengulangan.
Contoh di atas juga mengilustrasikan pintu masuk tunggal pada suatu blok pemilihan
yaitu suatu test logika X>0, dengan pintu keluaran yang satu pula (satu disini
maksudnya bukan dua baris perintah output tapi suatu paket perintah yang dirangkai
dengan begin .. end.3. Bakuan PASCALDibakukan oleh ISO pada tahun 1983 dan
dikembangkan dalam beberapa versi, diantaranya: USCD PASCAL, MS PASCAL,
TURBO PASCAL dll. Dengan semakin berkembangnya teknologi dalam komputasi,
Pascal dimanfaatkan untuk pengembangan DELPHI (berasal dari nama suatu kota di
masa Yunani kuno), suatu bahasa pemrograman visual yang menonjolkan pada efek
grafis dan orientasi pada objek-objek yang siap dipakai, karena memiliki Visual
Component_Library(VCL).
4_.Struktur_Bahasa_PASCAL.
2
e. Deklarasi sub-program (PROCEDURE dan FUNCTION)
3. Bagian_Program_Utama_Perintah-perintah.
Teks Pascal setidaknya memiliki bagian Judul Program, bagian Deklarasi, dan
Bagian Program Utama yang berupa perintah-perintah. Sedangkan untuk bagian
deklarasi menyesuaikan dengan isi dari program itu sendiri.
Contoh_:
program TAMBAH_00;
{ Menjumlahkan dua bilangan yang nilainya diberikan dalam perintah}
Var
X, Y, Z: integer;
{ Deklarasi variabel X,Y dan Z sebagai bilangan bulat }
BEGIN
{ Program Utama Mulai }X := 50;
{ Perintah memberikan nilai 50 pada var. X }Y := 25;
{ Perintah memberikan nilai 25 pada var. Y }Z := X + Y;
{ Perintah menjumlahkan X dan Y serta menyimpan hasilnya ke Z}
END.
{Akhir_Program_Utama}
Pada contoh ini nilai X dan Y tidak bisa sembarang, karena didefiniskan tertentu.
Agar nilai X dan Y bisa bebas ditentukan, nilai X dan Y dibaca dari default input.
program TAMBAH_01;
{ Menjumlahlan dua buah bilangan yang dibaca dari default input }
Var
X, Y, Z: integer;
{ Deklarasi variabel X,Y dan Z sebagai bilangan bulat }
BEGIN
{ Program Utama Mulai }read(X);
{ Membaca nilai X lewat key-board }read(Y);
{ Membaca nilai Y lewat key-board }Z := X + Y;
{ Menjumlahkan X dan Y serta menyimpan hasilnya ke Z }write(Z);
{ Menyajikan Z ke layar monitor }
3
END.
{ Akhir Program Utama }
Unsur-unsur PemPrograman :
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).
a. Beberapa instruksi dikelompokkan dalam satu blok atau model yang mengerjakan
tugas tertentu.
b. Beberapa perintah dilaksanakan dengan persyaratan tertentu.
c. Beberapa perintah dilaksanakan berulang dengan jumlah pengulangan tertentu.
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 identifiera. Nama identifier
harus dimulai dengan karakter huruf alphabet :
a. 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:
4
X _PQR Beta Sudut_Alpha luasLingkaran;
Penulisan yang salah:
3D sisi-Kanan B#
4. JENIS IDENTIFIER
5
4.1. Deklarasi Variable:
Mendeklarasikan varibel adalah:
a Memberikan nama variabel sebagai identitas pengenal.
b.Menentukan tipe data variable
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 }
5. TIPE DATA
6
dan boolean (logika). Untuk data integer dan real masing-masing terbagi menjadi
beberapa kategoria. Bilangan Integer merupakan berupa bilangan bulat, terbagi atas
beberapa kategori seperti terlihat dalam tabel 1. tabel 1 menunjukkan jenis data,
ukuran_dalam_memori_dan_rentang_nilainya.
Table_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
7
menggunakannya di dalam programnya tanpa harus terlebih dahulu
mendefinisikannya.-MaxInt bernilai 32.767-MaxLongint bernilai 2.147.483.647.
contoh:
Program display_maxint;
uses crt;
begin
writeln (maxint)
end.
Hasilnya:32.767
b. 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.
Table_2.
Bilangan_Real
Tipe_Data
Ukuran_Tempat
Rentang_Nilai
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
8
3.4 x 10-4932 s/d 1.1 x 104932
comp
8 bytes
-9.2x 1018 s/d 9.2x 1018
c. Chartipe 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_memory_1(satu)_byte_untuk_masing-masing_data .
Ex : Program perkenalanpascal;
Uses crt;
Begin
Writeln(‘Pertemuan 2’);
Writeln(‘Pascal ’);
Write(‘Pertemuan 2 ’);
Write(‘Pascal ’);
Readln;
End.
Ex : Program perkenalan2;
9
Uses crt;
Const
Nama=’nama msg2’;
Kelas=’kelas msg2’;
Var
kampus:string;
Begin
Clrscr;
Readln
End.
Latihan !!
Program latihan;
Uses crt;
Const
kampus=’MARGONDA’;
Var
nama : string[20];
kelas : string;
10
Begin
Clrscr;
Write(‘NAMA :’);readln(nama);
Write(‘KELAS :’);readln(kelas);
Readln
End.
Contoh Program
Listing Programnya
Uses Crt;
Begin
WriteLn( ‘Saya’ );
Write( ‘Belajar’ );
WriteLn( ‘Turbo’ );
Write( ‘Pascal’ );
End.
11
Hasilnya :
Saya
BelajarTurbo
Reserved Word tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat
digunakan sebagai pengenal (Identifier).
Dalam bahasa pemrograman Pascal, beberapa Reserved Word dalam Pascal antara lain :
Selain dari Reserved Word di atas, Turbo Pascal masih memiliki tambahan Reserved
Word berikut:
12
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.
# Read/Readln [prosedur].
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].
13
Sintaks: ReadKey;
# Write/Writeln [prosedur].
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 ');
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 )
14
# ClrScr [prosedur].
Perintah ini digunakan untuk membersihkan layar.
# GotoXY[prosedur].
Untuk menempatkan posisi kursor pada layar.
# 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 meng-
geser kebawah tampilan-tampilan baris dibawahnya.
Sintaks: InsLine;
# Delay [prosedur].
Untuk menghentikan sejenak proses program.
15
Keterangan : variable MS = ukuran waktu dalam milisecond.
Contoh :
Program Layar;
Uses Crt;
Var x : Char;
Begin
ClrScr;
GotoXY(35,10);Writeln (‘I Love Dinda');
Write (tunggu sebentar...!!');
Delay (5000);
InsLine;
GotoXY (35,11);Writeln ('Bayi sehatku');
GotoXY(01,13);Writeln ('Tekan Enter !');
Delay(1000);
GotoXY(15,12);
DelLine;
Read(x);
End.
Hasilnya adalah :
I Love Dinda
Bayi sehatku
tunggu sebentar...!!
Tekan Enter !
# ConCat[fungsi].
Untuk menggabungkan 2 atau beberapa variabel string.
16
# Copy [fungsi].
Mengambil satu atau beberapa karakter dari sebuah 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.
# Insert [prosedur].
Menyisipkan satu atau beberapa karakter ke dalam sebuah string.
# Length [fungsi].
Memberikan nilai panjang dari suatu string (jumlah karakter
dalam string).
17
Sintaks: Length (S);
Keterangan : S = string
Length(S) menghasilkan nilai integer.
# Pos [fungsi].
Mencari posisi sebuah bagian string (substring) didalam sebuah string.
# Str [prosedur].
Merubah nilai numerik ke dalam nilai string.
Keterangan :
N = data tipe integer,
S = data tipe string.
# Val [prosedur].
Merubah nilai string ke dalam nilai numerik.
Keterangan :
S = nilai string,
18
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.
Keterangan :
S = variabel bertipe karakter.
Contoh :
Program Man_String;
Uses Crt;
Var s : String;
l : Integer;
h : String;
Const a='Dinda';
b='Bayi ';
c='Sehatku';
Begin
ClrScr;
s:= ConCat (a,b,c);
Writeln (s);
Insert (' & ',s,6);
Writeln(s);
Delete (s,7,7);
Writeln (s);
19
h:=Copy (s,1,5);
Writeln (h);
l:= Length(s);
Writeln ('Panjangnya string S : ',l);
Writeln ('Posisi "Sehat" pada nilai S : ',POS('Sehat',s));
END.
Hasilnya adalah :
DindaBayiSehatku
Dinda & Bayi Sehatku
Dinda Sehatku
Dinda
Panjangnya string S : 16
Posisi "Sehat" pada nilai S : 7
# Abs [fungsi].
Memberikan nilai mutlak dari suatu argumen.
Sintaks: ABS(x);
# ArcTan[fungsi].
Memberikan nilai dari fungsi arctangent dari perhitungan goniometri.
dimana x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.
# Cos [fungsi].
20
Memberikan nilai dari fungsi Cosinus.
# Exp [fungsi].
Menghitung nilai pangkat dari bilangan e (bilangan alam), yaitu sebesar x.
x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.
# Frac [fungsi].
Untuk mendapatkan nilai pecahan dari suatu bilangan.
# Int [fungsi].
Memberikan nilai integer (bilangan bulat) dari suatu variabel dengan membuang bilangan
di belakang koma.
# 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);
21
# Sqr [fungsi].
Digunakan untuk menghitung nilai pangkat kuadrat dari suatu bilangan.
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.
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: ');
22
Writeln('- Sinus = ',Sin(x):9:3);
Writeln('- Cosinus = ',Cos(x):9:3);
Writeln('- Tangen = ',ArcTan(x):9:3);
End.
Hasilnya :
# Chr [fungsi].
Merubah nilai dari byte ke bentuk karakter yang sesuai dengan kode ASCII.
23
hasilnya : a
# Ord [fungsi].
Merubah nilai suatu variabel dari bentuk karakter ke bentuk longint.
hasilnya : 42
# Round [fungsi].
Membulatkan data tipe real ke data tipe longint.
# TRUNC [fungsi].
Membulatkan kebawah data tipe real ke data tipe longint.
contoh :
24
Writeln('20/3 dibulatkan kebawah = ',Trunc (20/3));
hasilnya :
# 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);
# 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}
Contoh :
Progam Man_Data;
Uses Crt;
Type
hari = (hr0,hr1,hr2,hr3,hr4,hr5,hr6,hr7)
Var
urutanhr : hari;
25
Const
namahr : Array [hr1..hr7] of String [6]=
('Senin','Selasa','Rabu','Kamis',
'Jumat','Sabtu','Minggu');
Begin
Writeln('Daftar Nama Hari);
urutanhr := hr0;
While Urutanhr < hr7 DO
Begin
urutanhr := Succ(urutanhr);
Write('hari ke ',Ord(Urutanhr):2,' adalah ');
Writeln(namahr[urutanhr]);
End;
End.
hasilnya adalah :
# TextColor [prosedur].
Untuk mengatur warna dari karakter-karakter di layar.
Sintaks: TextColor (color : Byte);
26
Catatan : untuk pilihan warna lihat pada buku Turbo Pascal yang anda miliki.
Daftar TextColor :
(2) Hijau Muda (3) Hijau pupus (4) Merah
(5) Ungu Tua (6) Kuning (7) Putih
(8) Biru Tua (9) Biru Cerah (10) Hijau Muda
(12) Merah Muda (13) Ungu Cerah (14) Kuning Muda
(15) Ungu Pupus (16) Hitam
# 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);
# TextMode [prosedur].
Untuk mengatur lebar layar, 80 kolom atau 40 kolom.
Sintaks: TextMode(Mode: Byte);
Default = C80
27
# Sound [prosedur].
Untuk mengaktifkan suara (beep) pada internal speaker.
Sintaks: Sound (Hz : word);
Contoh :
Program Layar2;
Uses Crt;
Begin
ClrScr;
Window (5,5,20,75);
TextBackGround(Red); anda juga bisa menggunakan angka (4)
TextColor(Yellow);
Sound (220);
GotoXY(10,7);
Writeln('I Love Dinda');
GotoXY(11,7);
Writeln('Bayi Sehatku');
NoSound;
End.
28
29