Anda di halaman 1dari 18

Program pascal memiliki struktur sebagai berikut:

Program nama_program;
[ Deklarasi label ]
[ Deklarasi konstanta ]
[ Deklarasi tipe ]
[ Deklarasi variabel ]
[ Deklarasi subprogram ]
Begin
Pernyataan;
....
Pernyataan;
End.

Contoh penulisan program:


program contoh ; { judul program yang bersifat optional menggunakan kata kunci program }
uses crt ; { deklarasi piranti menggunakan kata kunci uses }
label 10, selesai ; { deklarasi label menggunakan kata kunci label }
const { deklarasi konstanta menggunakan kata kunci const }
x=1;
y=5;
type { deklarasi tipe menggunakan kata kunci type }
hasil = integer;
var
j : integer; { deklarasi variabel menggunakan kata kunci var }
nama prosedur
procedure hitung (x, y : integer); { deklarasi prosedur menggunakan kata kunci procedure }
begin { awal prosedur }
end; { akhir prosedur yang harus diakhiri titik koma }
function pangkat ( x, y : real) : real; { deklarasi fungsi menggunakan kata kunci function }
tipe fungsi
begin {awal fungsi }
end; { akhir fungsi yang harus diakhiri titik koma }

Ket:
PROGRAM
Kata program pada bagian deklarasi merupakan kata yang berguna untuk memberikan judul
program yang akan dibuat.
USES
Uses merupakan perintah yang digunakan untuk memakai suatu unit tertentu dari Turbo
Pascal. Unit pada Turbo Pascal adalah kumpulan instruksi yang merupakan prosedur dan
fungsi yang dipakai dalam Turbo Pascal.

Indentifier

Dalam pemrogram pascal terdapat beberapa identifier atau istilah yang digunakan oleh
bahasa pemrograman in. Identifier adalah suatu nama yang dipergunakan dalam program
pascal. Pemrogram dapat mendefinisikan sendiri suatu nama sebagai identifier untuk
– Tipe

– Konstanta

– Variabel

– Prosedur

– Fungsi

– Unit

– Field dalam record

Setiap identifier harus memenuhi

- Karakter pertama tidak boleh dimulai dengan angka

- Tidak boleh mengandung spasi

- Tidak Boleh mengandung karakter khusus (*,^,+,-,:,#,$,%,& dll)

- Tidak boleh menggunakan kata baku (program, var, begin, end, for, const, case, if dll).
Kata baku adalah kata-kata yang tidak dapat digunakan lagi oleh seorang program, karena
sudah dipakai oleh pascal.

Contoh Identifier yang salah:

Program 3percobaan3;

Var nama$, jl nbaru, 4mtk:integer;

Procedure begin(i,j:integer);

1X

A&b

AB

Contoh Identifier yang benar:

Gajipokok --> Penulisan benar

No_mhs --> Penulisan benar

P3k --> Penulisan benar


X1 -->Penulisan benar

TIPE DATA
Jika anda mempergunakan identifier variabel dalam program, maka variabel tersebut harus anda
deklarasikan lebih dahulu. Saat melakukan deklarasi anda harus menentukan tipe data variabel tersebut.

Tipe data ini menunjukkan suatu nilai dari variabel bersangkutan.

Tipe data dalam turbo pascal ada beberapa macam yaitu :

– Tipe data standar


– Tipe data didefinisikan oleh pemrogram
– Tipe data terstruktur
– Tipe data penunjuk (pointer)
Tipe Bilangan Bulat (Integer)
Merupakan nilai bilangan bulat baik dalam bentuk desimal maupun hexadesimal. Pascal menyediakan
5 jenis data integer yang masing masing mempunyai jangkauan nilai yang berbeda yaitu :

Type Jangkauan Ukuran Deklarasi

Shortint -128 ... 127 8 bit x : shortint;

Integer -32768 … 32767 16 bit x : integer;

Longint -214783648…214783647 32 bit x : longint;

Byte 0…255 8 bit x : byte;

Word 0…65535 16 bit x : word;

Tipe Real
Jenis tipe data yang dapat memuat variabel yang berupa nilai numerik real. Nilai data tipe ini berkisar
antara 1E-38 sampai dengan 1E+38 dengan lebar hingga 11 digit. E menunjukkan nilai 10 pangkat. Nilai
numerik real menempati memori sebesar 6 byte

Var a:real;

Jenis tipe data real adalah sebagai berikut :

Type Jangkauan Ukuran Deklarasi

Single 1.5 x 10E-45…3.4 x 10E38 4 x : sigle;

Double 5.0 x 10E-324…1.7 x 10E308 8 x : double;

Extended 1.9 x 10E-4951…1.1 x 10E4932 10 x : extended;

Comp -2E + 63+1 … 2E + 63 -1 8 x : comp;

Tipe Boolean
Jenis tipe data yang digunakan untuk menyimpan variabel yang hanya mempunyai nilai benar atau salah
Hanya ada 2 nilai yang bisa diberikan pada variabel dengan tipe data boolean yaitu true dan false

Cara deklarasi contoh pemberian nilai

Var
x : boolean;

x:=true;

Tipe Karakter (Char)


Jenis tipe data yang digunakan untuk menyimpan sebuah data alfanumeris (karakter) diantara 2 tanda
petik seperti ‘A’, ‘a’, ‘Z’, ‘@’, ‘$’, ‘1’, ‘9’, ‘ dll. Ada 2 cara untuk memberi nilai pada tipe data karakter ini
yaitu :

– Menuliskan karakter dalam tanda petik tunggal


– Menuliskan tanda # diikuti kode ASCII dari karakter yang ingin ditulis

Tipe String

Jenis tipe data yang digunakan untuk menyimpan rangkaian data alfanumeris (karakter) diantara 2 tanda
petik seperti ‘Adalah’, ‘12-12-2004’ dan lain-lain.

Bila tanda petik merupakan bagian dari konstanta string maka dapat ditulis dengan menggunakan dua
buah petik tunggal berurutan ‘ ‘ ‘

Nilai data straing akan menempati memori sebesar banyaknya karaker string ditambah dengan satu byte.
Bila panjang string tidak didefinisikan dalam deklarasi maka dianggap panjangnya adalah 255 karakter.

Tipe Pointer
Pointer adalah suatu variabel yang berisi alamat (address) di memori (RAM) dimana suatu data disimpan,
dan bukan berisi data itu sendiri. Dengan kata lain, pointer akan menunjukkan letak dari data di memori.

Contoh

Type

Tipestring = string[40];

Pointerstring = ^tipestring;

Var

LetakNama : ponterstring;

Begin

Letaknama^ := ’Turbo Pascal’;


Writeln (LetakNama^);

End.
INSTRUKSI PASCAL

Statemen INPUT

Merupakan instruksi yang digunakan untuk memasukan data ke dalam


program pascal secara run time.

Readln

Sintaksnya

Readln(var1);

Digunakan untuk menginput data kedalam program setelah program dieksekusi dan
disimpan dalan variabel var1

Contoh

Var cth:integer;

Begin

Write(“masuk data ”);

Readln(cth);

Writeln(cth*2);

End;

Masuk data _

123

246
Read

Sintaksnya

Read(var1,var2, var3,…,var_n);

Digunakan untuk menginput data kedalam program setelah program dieksekusi dan
disimpan dalan variabel var1,var2,var3,..,var_n.

Perbedaan readln dan read adalah bahwa read dapat digunakan untuk menginput lebih dari satu
variabel.

Contoh

Var cth,dat1,dat2:integer;

Begin

Read(cth,dat1,dat2); {yang memisakan nilai data tiap var adl spasi}

Writeln(cth+dat1+dat2);

A:=1;

B:=2:

Writeln(a);

Writeln(b);

End;

2
12

12 34 22-

68

Statemen Output

Writeln

• Write

Write dan writeln sama-sama digunakan untuk menampilkan ‘sesuatu’ dari dalam kode
pascal ke jendela tampilan, atau dalam istilah pemrograman digunakan sebagai perintah
‘ouput’. Perbedaan antara write dan writeln terletak pada apakah ‘output’ selanjutnya
ditampilkan pada baris yang sama, atau di baris baru.

Perintah write akan menampilkan ‘output’, kemudian menyambung tampilan berikutnya


dibaris yang sama (cursor teks tetap berada di baris yang sama).

Sedangkan perintah writeln akan menampilkan ‘output’, kemudian menyambung tampilan


berikutnya di baris baru (cursor teks akan pindah ke baris baru).

Data-ouput ini bisa berupa teks, variabel, konstanta, dll. Agar lebih mudah dipahami, berikut
contoh kode program yang memperlihatkan perbedaan kedua perintah ini:

Cara Penulisan write dan writeln

Data-output yang ingin ditampilkan dengan perintah write dan writeln, harus ditulis diantara
tanda tanda kurung “ ( “ dan “ ) ”.

Jika data tersebut adalah ‘teks’ yang terdiri dari karakter (char) atau kumpulan karakter
(string) kita perlu menambahkan tanda tanda kutip satu ( ‘ ) diantara teks tersebut. Apabila
yang akan ditampilkan angka, variabel, atau konstanta, kita tidak perlu menggunakan tanda
kutip. Berikut contoh kode programnya:

program tampil;
uses crt;
const
kota='Ambon';
var
nama:string;
umur:integer;
begin
clrscr;
nama:='Joni';
unur:=17;
write('Nama : ');
writeln(nama);

write('Umur : ');
writeln(umur);

write('Kota : ');
writeln(kota);

write('IPK : ');
writeln(3);

readln;
end.

Hasil kode program:

Nama : Joni
Umur : 17
Kota : Ambon
IPK : 3

Pada kode program diatas saya membuat 1 konstanta dan 2 variabel.

Contoh Program pascal menggunakan Write


uses crt;
begin
write(1);
write(2);
write(3);
readln;
end.

Contoh program pascal menggunakan Writeln


uses crt;
begin
writeln(1);
writeln(2);
writeln(3);
readln;
end.
setelah mencobanya, silahkan kalian amati perbadaan dengan tampilan contoh program
menggunakan perintah write yang kalian buat sebelumnya. perbadaannya sangat jelas, tulisan
angka yang dihasilkan akan berada dalam baris yang berbeda.

dari 2 contoh program yang telah kita coba praktekan sebelumnya, dapat kita simpulkan
perbedaan antara perintah write dan writeln dalam bahasa pemrograman pascal yaitu,
perintah write akan menampilkan tulisan pada layar dalam satu baris yang sama, sedangkan
perintah Writeln akan menampilkan tulisan pada layar dan kemudian membuat baris baru,
sehingga tulisan setelahnya akan berada pada baris berikutnya.

itulah perbedaan dari perintah write dan juga writeln dalam bahasa pemrograman pascal,
memang cukup sulit untuk menjelaskan perbedaan keduanya, namun akan mudah dipahami
apabila kalian mencoba melakukan latihan membuat contoh program menggunakan masing-
masing perintah

Statemen Pengulangan

Perulangan (iterasi) adalah proses yang berulang. Iterasi selalu ada dalam bahasa
pemrograman apapun, karena disinilah letak kelebihan komputer dibanding manusia,
yaitu mampu melakukan hal yang sama berulang kali tanpa kesalahan akibat bosan
atau lelah. Dengan perulangan, program menjadi lebih pendek dan sederhana.
Dalam Pascal dikenal tiga macam perintah (statement) perulangan, yaitu
1. for…do,

2. repeat…until

3. while…do.

Perulangan for…do adalah perulangan dengan penghitung (counter),

perulangan repeat…until adalah perulangan dengan syarat akhir sedang perulangan while…do
adalah perulangan dengan syarat awal.
Untuk lebih jelas memahami proses perulangan ini, perhatikan contoh program
di bawah ini :
program Iterasi1;
var
I, Data : integer;
Nilai, Rata : real;
Jumlah : real;
begin
Writeln('Latihan Pascal 1: Perulangan dan Seleksi Kondisi');
Writeln('------------------------------------------------');
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
Jumlah := 0;
Writeln;
Write('Masukkan jumlah data : ');
Readln(Data);
Writeln;
for I := 1 to Data do
begin
Write('Masukkan data ke-',I,' : ');
Readln(Nilai);
Jumlah := Jumlah + Nilai;
end;
Rata := Jumlah/Data;
Writeln;
Writeln('Rata-ratanya = ',Rata:6:3);
Readln;
end.

Untuk lebih memahami apa yang dilakukan oleh program, jalankan program dengan tombol F7 dan
amati perubahan variabelnya (cara mengamati perubahan variabel dapat ditanyakan pada asisten).
Jika telah mengerti, buatlah program yang serupa dengan menggunakan statement perulangan yang
lain.

• For do
• While do
• Repeat Until

• program c2oba;
• {$APPTYPE CONSOLE}
• uses
• SysUtils;

• Var i,j,k:integer;
• Begin
• j:=1;
• k:=0;
• for i:=2 to 5 do
• begin
• j:=j*i ;
• for K:=i to i+2 do
• begin
• J:=J+1;
• end;
• writeln(I,' ',K,' ',J);
• j:=j-i;
• readln;
• end;
• End.

Praktikum

Ada banyak statement untuk menghasilkan OUTPUT, salah satunya Write dan Writeln
a. Tulis program 1 (Tulis program lah program berikut ! )
Program cetak1 (output);
Begin
Write (‘Be’);
Write (‘la’);
Write (‘jar’);
End
Coba di Run !
Hasil: Apakah dalam baris yang sama ?
Coba lagi program tersebut cuma write diganti dengan writeln
Hasil: ?
Kesimpulan: ?

b. Tulis program 2
program cetak2 (output);
begin
write (‘My name is’);
wrriteln(‘Jean Claude Van Dame.’);
write(‘what yours?’);
end

Coba di Run !
Hasil: Apakah ada spasi antara is dan Jean ? mengapa ?

Apa beda antara write dan writeln? Perhatikan kedua program berikut ini, amati
perbedaanya.:
Menggunakan write:

1. begin
2. write('Jangan dibaca. ');
3. write('Tidak ada tulisan di sini. ');
4. write('Nakal ya. ');
5. end.

Menggunakan writeln:

1. begin
2. writeln('Jangan dibaca. ');
3. writeln('Tidak ada tulisan di sini. ');
4. writeln('Nakal ya. ');
5. end.

Hasil penggunaan write:


Jangan dibaca. Tidak ada tulisan di sini. Nakal ya._
Hasil penggunakan writeln:
Jangan dibaca.
Tidak ada tulisan di sini.
Nakal ya.
Disini dapat juga penggunaan koma menuliskan kalimat secara berurutan.
1. begin
2. write('Jangan dibaca. ', 'Tidak ada tulisan di sini. ', 'Nakal ya. ');
3. writeln('Jangan dibaca. ', 'Tidak ada tulisan di sini. ', 'Nakal ya. ');
4. end.
Atau, Penggunaan tanda + (plus) seperti ini.
1. begin
2. write('Jangan dibaca. ' + 'Tidak ada tulisan di sini. ' + 'Nakal ya. ');
3. writeln('Jangan dibaca. ' + 'Tidak ada tulisan di sini. ' + 'Nakal ya. ');
4. end.
Kesalahan umum
Perhatikan bahwa jika dilakukan penulisan sebuah teks, maka penulisannya harus dengan
diapit tanda 'kutip'.

Latihan/Praktikum

Pengertian sederhananya dari Nesting Loop adalah Ada Loop dalam Loop
Buatlah program berikut ini, dan amatilah hasilnya.
a. Tulis program 9
Program NL (output);
Var
Index:integer;
Begin
For index := 1 to 10 do
Begin
For index := 1 to 8 do
Write (‘+’);
Writeln;
End

End
Hasil: ?
Kesimpulan: ?

Bagaimana dengan program berikut,

b. Tulis program 10
Program NL (output);
Var
Baris,kolom :integer;
Begin
For baris := 1 to 10 do
Begin
For kolom:= 1 to 8 do
Write (‘+’);
Writeln;
End;
End.

jika ada loop/perulangan yang tidak saling berhubungan dapat digunakan variabel
yang sama, seperti masalah pada Tulis program 9

c. Tulis program 11
program duasegi(output);
var
baris, kolom:integer;
begin
for baris:= 1 to 10 do
begin
for kolom := 1 to 8 do
write(‘+’);
write (‘ ‘);
for kolom := 1 to 8 do
write (‘+’);
writeln;
end;
end.

Latihan

Buatlah program yang hasilnya berikut ini.


1. * * * * *
**
**
**
*****

2. + + + + +
xxxxx
-----
/////
3. * * * *
**
**
****
****
**
**
****

Nesting Loop

8. Tentukan hasil cetakan program berikut


For foo:= 1 to 7 do
Begin
For bar:= 1 to 5 do
Write(‘ada-ada’);
Writeln(‘aja’);
End.

9. Tentukan programnya untuk mencetak

+#########
++########
+++#######
++++######
+++++#####
++++++####
+++++++###
++++++++##
+++++++++#
++++++++++
*) Sdr boleh menggunakan statement For kolom := baris + 1 to 10 do
10. Tentukan program untuk mencetak hasil berikut :

+
++
+++
++++
+++++
+++++
++++
+++
++
+
*) Nilai index dari Loop-For juga dapat di mulai dari besar kekecil dengan
statement DOWNTO
d. Tulis program 12
For index := 5 to 1 do
Write (index);
Hasil: ?
*) Kembali lihat soal 10

Instruksi Pengendalian

1. If .. then
Sintak

If kondisi then

Begin

Sejumlah statemen1;

End;

Keterangan

Jika kondisi bernilai benar maka sejumlah statemen1 akan dikerjakan, tetapi jika kondisi bernilai
salah maka tidak ada yang dikerjakan

Contoh

if d=0 then

begin

writeln('Akar-akarnya adalah x1 = ',-b/2*a:3:1);

writeln(' dan x2 = ',-b/2*a:3:1);

end;
2. If .. then .. else
Sintak

If kondisi then

Begin

Sejumlah statemen1;

End

Else

Begin

Sejumlah statemen2;

End;

Keterangan

Jika kondisi bernilai benar maka sejumlah statemen1 akan dikerjakan, tetapi jika kondisi bernilai
salah maka sejumlah statemen2 yang dikerjakan.

Jika kasus pemiliahan kondisi lebih dari 2 keadaan mengunakan sintak

Anda mungkin juga menyukai