Rangkuman Dasar Pascal
Rangkuman Dasar Pascal
Bahasa Turbo Pascal dikembangkan oleh Niklaus Wirth, bahasa Turbo Pascal berawal dari
bahasa Perancis, diambil dari nama seorang ahli matematika Perancis yaitu Blaise Pascal (1623-
1662) (penemu mesin penjumlahan mekanis yang pertama kali).
Turbo Pascal merupakan salah satu bahasa pemrograman tingkat tinggi yang masuk kategori
bahasa pemograman terstruktur yaitu Bahasa pemrograman yang mendukung abtraksi data,
pengkodean terstruktur, dan kontrol program terstruktur
Bahasa Pemrograman Beraras Tinggi: bahasa pemrograman yang mudah dibuat dan dipahami
oleh orang awam, dimana kode-kodenya tidak berorientasi pada bahasa mesin.
Contoh: C dan C++
Fortran
Cobol
DASAR PASCAL
Program adalah instruksi-instruksi yang diberikan kepada komputer agar komputer dapat
melaksanakan tugs-tugas tertentu.
Tahap-tahap penulisan program:
a. Menulis program
b. Menjalankan program untuk menguji kebenaran program
c. Dalam penulisn logika ataupun kaidah, jika ada kesalahan maka program tersebut diperbaiki
dan kembali ke langkah 2.
Mulai
Menulis Program
Menjalankan Program
Ya
Ada
Memperbaiki Program
Kesalahan
Tidak
Selesai
1
Langkah pemrograman dimulai dengan menuliskan program, setelah program ditulis dilakukan
pengujian / menjalankan program, jika dalam menjalankan program terdapat kesalahan maka
program tersebut diperbaiki kembali sampai tidak ada kesalahan dan jika program sudah valid
atau tidak ada kesalahan maka program tersebut dikatakan selesai atau sukses.
Diagram alir berfungsi untuk alat bantu membuat program dan untuk kepentingan
pendokumentasian.
Jenis diagram alir ada 2: diagram alir program dan diagram alir sistem
File Edit Search Run Compile Debug Tools Options Window Help
╔═[■]════════════════════════════ NONAME00.PAS
║ ▲
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▓
║ ▼
╚═══════ 1:1
═════◄■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒►─┘
F1 Help F2 Save F3 Open Alt+F9 Compile F9 Make Alt+F10 Local menu
2
Menu-menu
Kata PROGRAM merupakan kata tercadang, yaitu mempunyai makna khusus dalam
2. Bagian Deklarasi
Bentuk umumnya:
PROGRAM <StructureSample>;
LABEL <LabelDeclaration>;
CONST <ConstantDeclarations>;
VAR <
VariableDeclarations>;
PROCEDURE/FUNCTION <Example>;
BEGIN
3
<BodyProcedureFunction>;
END;
BEGIN
<MainBodyProgram>;
END.
3. Bagian Pernyataan
Bentuk umumnya:
BEGIN
Pernyataan;
…
Pernyataan
END.
Komentar adalah tulisan pada program, yang tidak berarti apa-apa bagi komputer, tetapi sangat
berguna bagi orang karena berfungsi sebagai dokumentasi. Aturannya:
1. sepasang tanda (* *) boleh berada didalam sepasang tanda {}
2. sepasang tanda {}bole berada di dalam sepasang tanda (* *)
3. tanda (* *) tidak boleh berpotongan
Spasi / kosong:
Karakter {elemen terkecil pada Turbo Pascal) dan simbol meliputi:
Karakter
Karakter ASCII
: a,b,c,…,z,A,B,C,…,Z
Simbol 1 karakter
: karakter dengan kode ASCII di bawah dan diats 127
Simbol 2 karakter
: + - * / = < > [] {} , . ; : ^ @ $ # ()
Angka desimal
: <= >= := (* *)<>
4
ELEMEN DASAR
TURBO PASCAL
Karakter adalah elemen terkecil pada Turbo Pascal. Karakter dapat berupa:
1. Huruf (A sampai dengan Z, a sampai dengan z)
2. Angka (0 sampai dengan 9)
3. Simbol khusus satu karakter ( + - * / = , . [ ] . , ( ) ; : ^ @ { } )
Simbol khusus dua karakter:
Simbol Keterangan
<= Operator relasi
>= Operator relasi
:= Operator penugasan
<> Operator relasi
(* Tanda awal komentar
*) Tanda akhir komentar
(. Identik dengan [
.) Identik dengan ]
4. Spasi ( )
.. Tanda subjangkauan
5. Karakter kontrol (karakter dengan nilai ASCII di bawah 32, misalnya Tab dan Backspace)
6. Karakter ASCII (American Standard Code for Information Interchange atau American
Standard Comittee on Information Interchange) tidak standar pada PC (karakter dengan nilai
ASCII antara 128 hingga 255)
Reserved Word (Kata Tercadang): kata baku yang telah disediakan oleh Turbo Pascal dan
memiliki arti khusus. Antara lain:
absolute Do Forward interface or
and Downto Function interupt packed
array Else Goto label procedure
begin End If mod program
case External implementation nil record
const File In not repeat
div For in line of set
shl Type While then var
shr Unit With uses to
string Until Xor
Catatan: penulisan reserved word atau lata tercadang dapat menggunakan huruf kecil atau kapital.
Pengenal / identife digunakan untuk memberi nama program, unit, prosedur, label, fungsi,
5
Penggunaan huruf kecil atau huruf kapital dianggap sama
Ex: yang benar: Semester_1 (identik dengan : SEMESTER_1)
N
HargaBarang
Ex: yang salah: Semester 1 (salah karena ada spasi)
12bulan (salah karena diawali dengan angka)
Bulan-2 (salah karena ada tanda minus)
Konstanta / Const, merupakan nilai yang tetap selama program dijalankan, yang dapat berupa
karakter atau angka.
Larik / array
Terstruktur Rekaman
Himpunan (set)
Berkas (file)
Pointer
6
Ungkapan/ ekspresi digunakan untuk menyatakan pemberian nilai atau menuliskan rumus.
Umumnya ungkapan tersusun atas operand dan operator
Contoh:
10 + 2 – 3 ungkapan / ekspresi
2*3 6
Operator Arti Prioritas Contoh
7/2 3.5
* Kali 1
7 div 2 3
/ Bagi (real) 1
7 mod 2 1
DIV Bagi (bulat) 1
2+35
MOD Sisa pembagian 1
2 – 3 -1
+ Tambah 2
- Kurang 2
Program hitungan_1;
uses wincrt;
var
A,B,C:integer;
F,Q,L:real;
Z:string;
begin
A:=10;
B:=2;
C:=A div B;
F:=100.5;
Q:=5.5;
L:=F + Q;
Z:='soni';
writeln('isi A= ',A);
writeln('isi B= ',B);
writeln('isi C= ',C);
writeln('isi F=',F);
7
writeln('isi Q=',Q);
writeln('isi L=',L);
writeln('isi Z= ',Z);
readln;
end.
Hasil operasi
Operand 1 Operand 2
AND OR XOR
FALSE FALSE FALSE FALSE FALSE
FALSE TRUE FALSE TRUE TRUE
TRUE FALSE FALSE TRUE TRUE
TRUE TRUE TRUE TRUE FALSE
uses wincrt;
const
benar=true;
salah=false;
begin
writeln('nilai benar=',benar);
writeln('nilai salah=',salah);
writeln('true and true=',benar and benar);
readln;
end.
8
9
TIPE DASAR
Operator relasional
Operator Arti
= Sama dengan
< Kurang dari
> Lebih dari
<= kurang dari sama dengan
>= Lebihd ari sama dengan
:= Operator penugasan
<> Tidak sama dengan
10
PERNYATAAN BERSTUKTUR/ MAJEMUK
1. Pernyataan majemuk adalah kumpulan beberapa pernyataan yg diawali dengan Begin dan
diakhiri dengan pernyataan End.
2. Pernyataan Bersyarat (If Then, If Then Else, If Then Else If, Case Of)
A. If Then
Pernyataan bersyarat akan dilaksanakan jika syarat terpenuhi (bernilai True)
Ada 2 sintaks untuk pernyataan If Then
Sintaks 1
If SyaratLogika Then Pernyataan;
Sintaks 2
If SyaratLogika Then
Begin
Pernyataan1;
Pernyataan2;
……………;
PernyataanN;
End;
SyaratLogika adalah operasi relasi yang apabila syarat logika terpenuhi (True), maka
pernyataan atau blok pernyataan setelah Then akan dilakasanakan. Apabila syarat kondisi
logika tidak terpenuhi (bernilai False), maka pernyataan atau blok pernyataan tidak akan
dikerjakan
program derajat_celcius;
uses wincrt;
var
suhu:real;
begin
write('suhu tubuh:');
readln(suhu);
end.
11
BEGIN
CLRSCR;
WRITE ('NAMA SISWA=');
READ(nama;
WRITE('NILAI ANGKA=');
READln(nilai);
KET:=ANDA TIDAK LULUS';
IF (NILAI>55) THEN
KET:='ANDA LULUS';
write;
WRITELN('HASIL=',KET);
READln;
END.
12
readln(nilai);
if (nilai<=100) and (nilai>=85) then P:='A';
if (nilai<85) and (nilai>=75) then P:='B';
if (nilai<75) and (nilai>=60) then P:='C';
if (nilai<60) and (nilai>=50) then P:='D';
if (nilai<50) and (nilai>=0) then P:='E';
writeln('nama siswa=',siswa, 'Nilainya=',p)
readln;
end.
B. If Then Else
Mirip dengan pernyataan If Then.
Ada 2 sintaks untuk pernyataan If Then Else
Sintaks 1
If SyaratLogika Then;
Pernyataan1;
Else
Pernyataan2;
Sintaks 2
If SyaratLogika Then
Begin
Pernyataan1;
Pernyataan2;
……………;
End {tanpa tanda titik koma}
Else
Begin
PernyataanA;
PernyataanB;
……………;
End;
SyaratLogika apabila syarat logika terpenuhi (True), maka pernyataan atau blok pernyataan
setelah Then akan dilaksanakan. Apabila syarat kondisi logika tidak terpenuhi (bernilai
False), maka pernyataan atau blok pernyataan setelah Else yang akan dikerjakan.
13
if nilai >=75 then P:='B'else
if nilai >=60 then P:='C'else
if nilai >=50 then P:='D'else
if nilai <50 then P:='E';
writeln('nama siswa=',siswa, 'Nilainya=',p)
readln;
end.
Program kelulusan;
Var
Nama:integer[20];
Nilai:real;
Ket, Pesan:string[30];
Begin
write('Nama Siswa:');
readln(Nama);
write('Nilai Angka');
readln(Nilai);
Ket:='Aduh Sayang Sekali, Anda Tidak Lulus...';
Pesan:='Ulangi Tahun depan Yach!';
If (Nilai > 55) Then
Begin
Ket='Horeee Anda Lulus!!!!';
Pesan:='Selamat Ya..makan-makannya mana dong!';
End
Else
Begin
Ket:='Anda Tidak Lulus Tuh...';
Pesan:='Belajar Yang Giat LAgi Yo!!!’
End
writeln;
write('Hasil:');
writeln(Ket,'',Pesan)
readln;
End.
C. If Then Else If
If Then Else If sebenarnya merupakan pernyataan bersyarat dalam pernyataan bersyarat yang
lain.
Ada 2 sintaks untuk pernyataan If Then Else If
Sintaks 1
If SyaratLogika Then;
Pernyataan1
Else If SyaratLogika Then
Pernyataan2
Else
Pernyataan3;
14
Sintaks 2
If SyaratLogika Then
Begin
Pernyataan1;
Pernyataan2;
……………;
End
Else If SyaratLogika Then
Begin
Pernyataan21;
Pernyataan22;
……………;
End
Else
Begin
Pernyataan31;
Pernyataan32;
……………;
End;
SyaratLogika terpenuhi (bernilai True), maka pernyataan atau blok pernyataan setelah Then
akan dilaksanakan. Apabila syarat kondisi logika tidak terpenuhi (bernilai False) maka
program akan mengecek kondisi kedua, jika kondisi kedua bernilaiTrue, maka pernyataan atau
blok pernyataan setelah Then akan dikerjakan. Jika kondisi kedua bernilai False, maka
pernyataan atau blok pernyataan setelah False akan dikerjakan.
PROGRAM NILAI;
USES CRT;
VAR
NAMA: STRING[15];
NILAIANGKA:REAL;
NILAIHURUF:CHAR;
BEGIN
CLRSCR;
WRITE('NAMA SISWA:');
READLN(NAMA);
WRITE('NILAI ANGKA=');
READLN(NILAIANGKA);
IF (NILAIANGKA>=75) THEN
NILAIHURUF='A'
ELSE
IF (NILAIANGKA>=50) AND (NILAI ANGKA<75) THEN
NILAIHURUF:='B'
ELSE
NILAI HURUF:='C';
WRITELN('NILAI HURUF=',NILAIHURUF);
READLN;
15
END.
D. Case Of
Pernyataan Case of dipakai untuk seleksi ganda. Misal untuk membuat menu pilihan atau
pilihan proses.
Sintaks:
Case NamaVar Of
Pernyataan1;
Pernyataan2;
……………;
End;
Nama Var dalam hal ini adalah sebuah variabel yang harus bertipe ordinal seperti char, byte
atau integer.
program pernyataan_case_of;
uses wincrt;
var
nilai:integer;
nama:string;
begin
writeln('mencoba pernyataan case of');
writeln;
writeln('masukkan nama anda:');
readln(nama);
write('masukkan nilai 1-10');
readln(nilai);
case nilai of
1 : writeln('anda menekan angka satu:');
2 : writeln('anda menekan angka dua:');
3 : writeln('anda menekan angka tiga:');
4 : writeln('anda menekan angka empat:');
5 : writeln('anda menekan angka lima:');
6 : writeln('anda menekan angka enam:');
7 : writeln('anda menekan angka tujuh:');
8 : writeln('anda menekan angka delapan:');
9 : writeln('anda menekan angka sembilan:');
10 : writeln('anda menekan angka sepuluh:');
end;
readln
end.
16
Contoh 2 program case of
program pernyataancaseof;
uses wincrt;
var
nilai:char;
nama:string;
begin
writeln('mencoba pernyataan case of');
writeln;
writeln('masukkan nama anda:');
readln(nama);
write('masukkan nilai A...E');
readln(nilai);
case nilai of
A : writeln('anda menekan angka A:');
B : writeln('anda menekan angka B:');
C : writeln('anda menekan angka C:');
D : writeln('anda menekan angka D:');
E : writeln('anda menekan angka E:');
end;
readln
end.
17
0..49 begin
writeln ('nama anda=',nama);
writeln ('mendapat nilai:E');
end;
end;
readln
end.
18
'3': begin
write('Jari-jari:');
readln(Jari);
Luas_L:=3.14*Jari*Jari;
write('Luas:', Luas_L:6:2);
readln(pilih);
end;
'4': begin
write('Jari-jari:');
readln(Jari);
Keliling_L:=3.14*2*Jari;
write ('Keliling Lingkaran:',Keliling_L:6:2);
readln(pilih);
end;
'5': begin
write('Jari_Jari:');
readln(Jari);
Volume_Bola:=4/3*3.14*Jari*Jari*Jari;
write('Volume Bola:',Volume_Bola:6:2);
readln(pilih);
end;
'6':halt;
end;
write('S E L E S A I . . . . .');
goto pilihan;
end.
Output:
-----------------------
PILIHAN PROSES
-----------------------
1. Luas Segi Empat
2. Luas Segi Tiga
3. Luas Lingkaran
4. Keliling Lingkaran
5. Volume Bola
6. Selesai
-----------------------
Masukkan Pilihan Anda:2
Alas:5
Tinggi:7
Luas: 17.50
3. Pernyataan Pengulangan (For To Do, For Downto Do, While Do, Repeat Until)
A. For To Do dan For Downto Do
For To Do digunakan untuk mengulang proses dengan cacah perulangan tertentu, artinya
pernyataan (tunggal atau majemuk) akan dikerjakan secara berulang sebanyak N kali, dimana
nilai N telah diketahui sebelumnya.
Sintaks 1
For NamaVarCounter:= Awal To Akhir Do
19
Pernyataan;
Sintaks 2
For NamaVarCounter:= Awal To Akhir Do
Begin
Pernyataan1;
Pernyataan2;
……………;
End;
Dalam bentuk ini pernyataan atau blok pernyataan akan dikerjakan sebanyak Akhir dikurangi
Awal. Nilai NamaVarCounter pertama kali akan sama dengan nilai dalam variabel Awal.
Selanjutnya NamaVarCounter akan bertambah satu pada setiap kali selesai dilaksanakan satu
kali perulangan. Akhirnya prose perulangan akan dihentikan setelah NamaVarCounter lebih
dari nilai pada variabel Akhir.
readln;
end.
ForDown To Do
20
Sintaks 1
For NamaVarCounter:= Awal Downto Akhir Do
Pernyataan;
Sintaks 2
For NamaVarCounter:= Awal Downto Akhir Do
Begin
Pernyataan1;
Pernyataan2;
……………;
End;
Catatan:
Jika Awal < Akhir digunakan perintah For To Do
Jika Awal > Akhir digunakan perintah For Downto Do
Program fordowntodo;
uses wincrt;
var
i:integer;
begin
for i:=8 downto 1 do
begin
writeln('i=',i);
writeln('SMA 3');
writeln('Yogyakarta');
writeln('never ending Asia');
end;
writeln('i=',i);
readln;
end.
B. While Do
Pernyataan While Do biasanya dipakai untuk melakukan pengulangan yang jumlahnya tidak
diketahui sebelumnya.
While do mengeksekusi pernyataan lain selama beberapa kondisi bernilai true.
Sintaks 1
While SyaratLogika Do
Pernyataan;
Sintaks 2
While SyaratLogika Do
Begin
Pernyataan1;
21
Pernyataan2;
……………;
End;
Selama SyaratLogika terpenuhi (bernilai True), maka pernyataan atau blok pernyataan akan
terus menurs diekrjakan, dan baru akan berhenti dikerjakan jika SyaratLogika tidak lagi
terpenuhi (bernilai False).
Writeln('Hayo ke Bioskop');
writeln('Atrium 21');
readln;
end.\
Catatan: Untuk menghentikan proses berulang secara terus menerus tekan Ctrl+Break pada
Keyboard.
Soal:
1. Jalankan progam tersebut:
Berapa kali kata Malam Minggu, Hayo ke Bisokop dan Atrium 21 tercetak?
2. buatlah program dari output berikut ini:
22
C. Repeat Until
Mirip dengan While Do,dimana setiap pernyataan perulangan dengan For To Do dapat diubah
menjadi pernyataan menggunakan Repeat Until.
Sintaks 1
Repeat
Pernyataan;
Until SyaratLogika;
Sintaks 2
Repeat
Pernyataan1;
Pernyataan2;
……………;
Until SyaratLogika;
Pernyataan atau blok pernyataan akan terus menerus dikerjakan selama SyaratLogika
terpenuhi (bernilai True)
23
writeln('di JEC');
readln;
end.
24
LARIK (ARRAY)
Array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana
masing-masing elemen variabel mempunyai nilai indeks.
Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu variabel).
Contoh:
A1 A2 A3 AN
Data A ke-1 Data A ke-2 Data A ke-3 … Data A ke-N
Secara logika pendefinisan array diatas merupakan suatu kotak, dimana setiap kotak mempunyai nilai
indeks integer 1,2,3,…,N setiap elemen array ditandai dengan:
A[1],A[2],A[3],…,A[N]
Sifat array merupakan struktur data yang statis, yaitu jumlah elemen yang ada harus ditentukan
terlebih dahulu dan tak bisa diubah saat program berjalan.. untuk menyatakan dalam PASCAL, yang
harus dilakukan adalah:
1. mendefinisikan jumlah elemen array
2. mendefiniskan tipe data dari elemen array
contoh:
const N=10;
type
A=array [1…N] of integer;
25
A. Array Satu Dimensi
(penjelasan sama dengan diatas). Intinya jika ingin membuat beberapa array dengan tipe/ jenis yang
sama, lebih baik mendeklarasikan dengan type selanjutnya dengan deklarasi var.
Sintaks:
Keterangan:
Bawah dan atas menyatakan batas untuk array. Tipe_data adalah merupakan tipe variabel yang
dipunyai array (misal:Integer, char, real, dsb).
Contoh:
B. Array Multidimensi
Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Indeks pertama adalah baris
dan kedua adalah kolom.
Sintaks
26
PROSEDUR DAN FUNGSI
Procedure atau Function merupakan modul tersendiri atau program terpisah dalam blok tersendiri,
fungsinya sebagai sub program (program bagian). Procedure atau Function dibuat untuk
menyelesaikan suatu tugas spesifik, artinya hanya perlu dituliskan sekali dan dapat digunakan
berulang kali di bagian manapun dalam program.
Prosedure / Procedure
Merupakan sub program yang dapat dipanggil dalam program ataupun sub program lainnya, dan
berdiri sebagai sebuah pernyataan. Prosedure diawali dengan kata Procedure.
Bentuk deklarasi Prosedure:
Keterangan
NamaProsedur : nama prosedur
Parameter : daftar parameter formal, tidak harus ada
Contoh :
Contoh program unt menghitung luas lingkaran dengan menggunakan prosedur. Prosedur yang
digunakan adalah judul, input, cetak, dan tahan_tampilan.
Program prosedur;
Uses crt;
Var
R,Luas:real;
Procedure judul;
Begin
Clrscr;
Writeln(‘Menghitung Luas Lingkaran dengan Prosedur’);
Writeln(‘--------------------------------------------------------’);
End;
Procedure input;
Begin
Write(‘Masukkan jari-jari=’);
Readln(R);
Writeln;
End;
Procedure cetak;
Begin
Writeln(‘jari-jari=’,R:4:1);
Writeln(‘Luas Lingkaran=’,Luas(r):4:1);
Writeln;
End;
27
Procedure tahan_tampilan;
Begin
Writeln(‘Selesai…..’);
Readln;
End;
Fungsi / Function
Hampir sama dengan blok prosedur, hanya harus dideklarasikan dengan tipe datanya. Tipe data
yang dideklarasikan tersebut menunjukkan tipe data hasil dari fungsi. Tipe tersebut dituliskan
pada akhir deklarasi fungsi yang didahului dengan titik koma (;).
Deklarasi fungsi:
Keterangan:
Namafungsi : nama fungsi
Parameter : daftar parameter formal
Contoh:
Contoh program menghitung luas lingkaran dengan menggunakan fungsi. Nama fungsi yang
digunakan adalah luas.
Program fungsi;
Uses crt;
Var
R: real;
Function Luas (r:real):real; {fungsi}
Begin
Luas:=3.14*R*R;
End;
Begin {Program Utama}
Clrscr;
Writeln(‘Menghitung Lingkaran dengan Fungsi’);
Writeln(‘-----------------------------------------------’);
Write(‘Masukkan jari-jari=’);
Readln(R);
Writeln;
Writeln(‘jari-jari=’,R:4:1);
Writeln(‘jari-jari=’,Luas (R):4:1);
Writeln;
Writeln(‘Selesai….’);
28
Readln;
End.
Contoh:
Contoh program, menghitung luas lingkaran dengan melibatkan fungsi dan prosedur sekaligus.
Program luas_lkr;
Uses crt;
Var
R:real;
Function luas(R:real):real; {fungsi}
Begin
Luas:=3.14*R*R;
End;
Procedure judul;
Begin
Clrscr;
Writeln(‘Menghitung Luas Lingkaran dengan Prosedur dan Fungsi’);
Writeln(‘---------------------------------------------------------------------’);
End;
Procedure input;
Begin
Write(‘Masukkan jari-jari=’,R:4:1);
Writeln(‘Luas Lingkaran=’,R:4:1);
Writeln;
End;
Procedure tahan_tampilan;
Begin
Writeln(‘Selesai……….’);
Readln;
End;
Begin {Program Utama Lho!!!}
judul;
input;
luas(R);
cetak;
tahan_tampilan;
End.
29