Anda di halaman 1dari 25

PASCAL

Bab I

PENDAHULUAN

Pascal dikembangkan dari bahasa ALGOL, yang merupaka bahasa pemrograman


komputasi
scientific. ALGOL memiliki beberapa kelemahan seperti pada tipe data pointer,
karakter, dan
sulitnya mengimplementasikan bahasa tersebut ke dalam compiler menyebabkan
ALGOL tidak
berkembang dan sedikit demi sedikit ditinggalkan.

Pada akhirnya, tahun 1971, salah seorang pengembang ALGOL telah berhasil
mengembangkan
bahasa pemrograman baru yang diberinama PASCAL, yang mengadopsi nama
ilmuwan
Perancis pada abad ke 17 Blaise Pascal.

Kelebihan dari bahasa PASCAL adalah merupakan bahasa pemrograman yang


terstruktur,
bahasa pemrograman tingkat tinggi (high level language), serta mudah bagi
programmer untuk
menentukan tipe data yang diinginkan.

Di awal tahun 1980 an, PASCAL telah menjadi bahasa pemrograman standard di
berbagai
universitas. Terdapat dua peristiwa yang menyebabkan PASCAL menjadi sangat
populer pada
saat itu yaitu digunakannya PASCAL sebagai bahasa untuk membuat
aplikasi/software guna
keperluan ujian di beberapa sekolah, serta dirilisnya Turbo Pascal Compiler oleh
perusahaan
Borland International untuk komputer IBM. Sampai saat ini, Turbo Pascal sudah
mencapai rilis
7.0 bahkan sudah ada yang berjalan di platform Windows (Turbo Pascal for
Windows). Terdapat
pula varian dari Turbo Pascal yang lebih bersifat open source yaitu Free Pascal.

Namun, pada saat ini. PASCAL sudah mulai banyak ditinggalkan. Kebanyakan para
programmer
saat ini lebih memilih bahasa C/C++ dan Java karena lebih mendukung untuk
pemrograman
berorientasi obyek.

Meskipun demikian, bukan berarti PASCAL juga harus ditinggalkan pada saat ini.
PASCAL masih
layak dipelajari, khususnya bagi mereka yang baru belajar bahasa pemrograman
karena
perintah-perintahnya menggunakan bahasa tingkat tinggi (mirip bahasa manusia -
Inggris)
sehingga mudah dipahami. Selain itu, dengan belajar PASCAL akan diperoleh modal
untuk dapat
menguasai pemrograman visual DELPHI. Karena pada prinsipnya, DELPHI
merupakan PASCAL
yang dikombinasikan dengan efek visual.

Bab II

Compiler

Ketika berbicara tentang bahasa pemrograman komputer, ada 3 jenis bahasa yang
digunakan,
yaitu
· Bahasa mesin, yang hanya terdiri dari kode-kode biner (0 dan 1). Sering pula
bahasa ini
disebut bahasa tingkat rendah (low level language)
· Bahasa rakitan (assembly), yang berupa perintah-perintah yang mirip bahasa
manusia
(sudah tidak dalam bentuk kode biner). Biasanya satu buah perintah hanya
digunakan
untuk melakukan satu proses saja. Sebagai contoh adalah perintah MOV dan ADD
dalam bahasa Intel x86.
· Bahasa tingkat tinggi (high level language). Pada bahasa ini, perintah sudah
menggunakan bahasa manusia (bahasa Inggris), sebagai contoh adalah perintah
WRITE, READ. Tidak seperti bahasa assembly, dalam bahasa ini biasanya suatu
perintah sudah melibatkan banyak proses. Misalkan perintah untuk melakukan
proses
perkalian (yang di dalamnya melibatkan banyak proses penjumlahan), hanya cukup
menggunakan operator *. Beberapa bahasa pemrograman yang termasuk dalam
jenis
bahasa ini adalah PASCAL, C/C++, FORTRAN, BASIC, JAVA.
Supaya perintah dalam bahasa pemrograman yang digunakan (bahasa assembly
dan bahasa
tingkat tinggi) dapat dipahami oleh komputer dan dapat dijalankan oleh
mikroprosessor, maka
perintah tersebut harus diterjemahkan terlebih dahulu ke dalam bahasa mesin.
Proses
penterjemahan inilah yang disebut proses kompilasi (compiling).

Program atau software yang digunakan untuk proses kompilasi dinamakan


compiler. Untuk
PASCAL terdapat beberapa compiler yang dapat digunakan yaitu Turbo Pascal, Free
Pascal.

Terdapat beberapa istilah yang terkait dengan bahasa tingkat tinggi:


· Source code, merupakan kumpulan perintah dalam bentuk program yang dibuat
oleh
programmer. Dalam PASCAL, source code ini disimpan dalam bentuk file
berekstensi
.pas. Source code inilah yang akan dikompilasi oleh compiler.
· Object code, merupakan file sebagai hasil dari proses kompilasi. File ini biasanya
berekstensi .obj.
· Executable code, merupakan file sebagai hasil akhir dari proses pemrograman.
Dalam
DOS/Windows, file ini berekstensi .exe. File ini dapat dijalankan langsung melalui
promt
DOS atau double click pada Windows Explorer.

Menjalankan FREE PASCAL


Untuk mendapatkan master program Free Pascal (terbaru rilis 2.0.04), dapat
diunduh dari situs
http://www.freepascal.org/download.var

Untuk dapat diinstal di DOS/Windows, pilihlah master dalam bentuk BINARIES DOS
atau Win32.

Setelah file program diunduh, proses berikutnya adalah sbb:


1. Jalankan file setup dan ikuti petunjuk instalasi
2. Setelah instalasi selesai, Free Pascal sudah dapat dijalankan dengan membuka
START
> FREE PASCAL
3. Tuliskan program (source code) dalam halaman biru (blue page)
4. Simpan program dengan SAVE atau SAVE AS
5. Jalankan program dengan menggunakan menu RUN. Dalam hal ini, proses
kompilasi
sudah otomatis akan dijalankan. Apabila terdapat perintah dalam program yang
salah/
tidak sesuai aturan maka akan muncul pesan peringatan yang biasanya disertakan
pula
nomor baris letak kesalahan.

Bab III

Struktur Pascal

Berikut ini adalah cara menulis program dan menjalankan program PASCAL untuk
pertama
kalinya. Sebagai contoh, diberikan program sebagai berikut

CODE
program bugz;
begin (* Main *)
writeln ('yachubugz')
end. (* Main *)

Apabila program di atas dijalankan pada IDE Free Pascal, maka output hanya akan
ditampilkan
secepat kilat kemudian hilang lagi. Akan tetapi apabila file executable dari program
di atas
dijalankan dalam command prompt akan terlihat teks

QUOTE
Yachubugz

Supaya tampilan program di atas tidak ditampilkan secepat kilat dalam IDE, maka
dapat
ditambahkan perintah readln sebelum end.

CODE
program bugz;
begin (* Main *)
writeln ('yachubugz');
readln
end. (* Main *)
Struktur Program Pascal

Bahasa Pascal memiliki struktur sbb:

PROGRAM NamaProgram (FileList);


CONST
(* pendeklarasian konstanta *)
TYPE
(* pendeklarasian tipe *)
VAR
(* pendeklarasian variabel *)
(* pendefinisian subprogram-procedure atau function *)
BEGIN
(* batang tubuh/ main body *)
END.

Susunan/ urutan struktur di atas harus dipenuhi. Meskipun demikian, kita dapat
menghilangkan
beberapa bagian struktur apabila tidak diperlukan. Berikut ini adalah contoh
program sederhana
yang tidak melakukan proses apapun (terdapat bagian dari struktur yang
dihilangkan)

CODE
program DoNothing;
begin
end.

Dalam Pascal, penulisan perintah yang di dalamnya terdapat spasi, tab akan
diabaikan. Sebagai
contoh, diberikan dua program berikut ini

CODE
program bugz;
begin
writeln ('yachubugz');
readln
end.

Dan

CODE
program bugz;
begin
writeln ('yachubugz');
readln
end.

Dua program akan menghasilkan output yang sama. Dalam hal ini, spasi akan
diabaikan. Begitu
pula dengan program berikut

CODE
program bugz;
begin
writeln ('yachubugz'); readln
end.

Program tersebut juga sama dengan dua program sebelumnya. Dengan demikian, penulisan
program dapat disajikan secara vertikal maupun horizontal.

Supaya program yang dibuat oleh seorang programmer dapat dibaca dan dipahami oleh orang
lain, sebaiknya dibuat komentar dalam source code. Komentar yang diberikan tersebut tidak akan
dijalankan atau diproses oleh compiler.

Untuk memberikan komentar dalam PASCAL, digunakan perintah { komentar } atau (*


komentar
*). Sebagai contoh, dapat Anda lihat kembali contoh pertama (program Hello World).

Bab IV

Pengenal (Identifier)

Identifier merupakan sebuah nama yang digunakan untuk keperluan penyimpanan


suatu nilai,
pendaklarasian variabel, konstanta, type dan nama program maupun subprogram.
Seorang
programmer tidak boleh sembarangan menuliskan nama identifier. Berikut ini
adalah beberapa
aturan penulisannya:

1. Nama identifier harus dimulai (karakter pertama) dengan karakter huruf alfabet
a-z atau
A-Z

2. Setelah karakter pertama, dapat dilanjutkan dengan karakter alfanumerik (angka


maupun
huruf), dan underscore (_)
3. Dalam penulisan identifier tidak boleh menggunakan karakter-karakter berikut ini

~!@#$%^&*()+`-={}[]:";'<>?,./|

4. Tidak boleh menuliskan identifier dengan nama yang sesuai kata tercadang
(reserved
word) dalam PASCAL, seperti

and, array, begin, case, const, div, do, downto, else, end, file,
for, forward, function, goto, if, in, label, mod, nil, not, of,
or, packed, procedure, program, record, repeat, set, then, to,
type, until, var, while, with.

Kalaupun ingin tetap menggunakan kata tercadang di atas, kata tersebut harus
dirangkai dengan karakter lain. Misal program_if, begin1, dll.

PASCAL tidak bersifat case sensitive yang berarti bahwa besar kecilnya huruf dalam
perintah
tidak dibedakan. Sebagai contoh, apabila diberikan 3 identifier MyProgram,
MYPROGRAM, dan
mYpRoGrAm, maka ketiga identifier tersebut adalah sama.

Bab V

Konstanta (Constant)

Suatu konstanta direferensikan oleh sebuah identifier dan dapat diassign oleh suatu
nilai pada
awal program. Nilai yang disimpan pada suatu konstanta tidak dapat diubah.
Konstanta
dideklarasikan pada bagian const.

const
Identifier1 = value;
Identifier2 = value;
Identifier3 = value;

Sebagai contoh, berikut ini adalah perintah untuk mendeklarasikan beberapa


konstanta

const
Name = 'yachubugz'; (* string *)
FirstLetter = 'a'; (* karakter *)
Year = 1984; (* integer *)
pi = 3.1415926535897932; (* real *)
UsingNCSAMosaic = TRUE; (* boolean *)

Catatan:

Dalam Pascal, nilai dalam bentuk string maupun karakter harus diapit dengan tanda
petik satu
(single quote).

Suatu konstanta dapat pula ditulis seperti contoh berikut

const
a : real = 12;

maksud dari perintah di atas adalah nilai 12 bukanlah bilangan bulat (integer)
namun merupakan
bilangan real (12.0). Nilai 12.0 ini disimpan dalam konstanta a.

Bab VI

Variabel dan Tipe Data

Variabel hampir mirip dengan konstanta. Nilai yang disimpan dalam variabel ini
dapat diubah
sewaktu-waktu. Setiap variabel yang akan digunakan dalam program harus
dideklarasikan
terlebih dahulu dalam bagian var.

var
IdentifierList1 : DataType1;
IdentifierList2 : DataType2;
IdentifierList3 : DataType3;

IdentifierList merupakan nama-nama identifier (variabel) yang akan digunakan.


Masingmasing
nama tersebut dipisahkan dengan tanda koma. Sedangkan datatype merupakan
tipe
data dari nama-nama variabel tersebut. Berdasarkan nilai yang akan disimpan
dalam variabel,
terdapat 4 tipe data:

· Integer, merupakan tipe data bilangan bulat yang memiliki jangkauan antara
-32768 s/d
32767. Selain itu terdapat pula tipe data longint yang juga masih terkait dengan
bilangan
bulat. Jangkauan dari longint jauh lebih besar daripada integer.

· Real, merupakan tipe data bilangan riil yang memiliki jangkauan 3.4 x 10-38 s/d
3.4 x 1038,
demikian pula untuk bilangan negatifnya. Untuk menuliskan suatu nilai bilangan riil
dapat
menggunakan format scientific maupun desimal. Berikut ini adalah dua nilai yang
ekuivalen
452.13 dan 4.5213e2

Selain real, terdapat pula tipe data extended yang juga bernilai bilangan riil.
Jangkauan dari tipe data extended ini jauh lebih besar daripada real.

· Char, merupakan tipe data untuk nilai yang berupa karakter.

· Boolean, merupakan tipe data yang hanya bernilai TRUE atau FALSE saja.

Berikut ini adalah contoh pendeklarasian beberapa variable

var
age, year, grade : integer;
circumference : real;
LetterGrade : char;
DidYouFail : Boolean;

Pada contoh di atas, variabel age, year, dan grade sama-sama bertipe data integer.

Bab VII

Assignment dan Operasi

Setelah sebuah variabel dideklarasikan, selanjutnya dapat digunakan untuk


menyimpan sebuah
nilai. Proses penyimpanan nilai dalam sebuah variabel ini dinamakan proses
assignment.

Sintaks untuk assignment ini adalah:

variable_name := expression;
sebagai contoh:
some_real := 385.385837;
cara lain bentuk assignment
some_real := 37573.5 * 37593 + 385.8 / 367.1;
Macam-macam operator aritmatik pada Pascal

Operator | Operation | Operands | Result


+ | Penjumlahan | real or integer | real or integer
- | Pengurangan | real or integer | real or integer
* | Perkalian | real or integer | real or integer
/ | Pembagian | riil | real or integer |real
div | Pembagian | integer | integer | integer
mod | Modulus | integer | integer

Setiap variabel hanya bisa diassign dengan nilai yang sesuai dengan tipe data dari
variabel
tersebut. Contoh:

var
a : integer;
b : real;

selanjutnya diberikan statement sbb pada bagian body

b := 3.567;
a := b;

Apabila program di atas dikompilasi, maka akan terdapat error (type mismatch). Hal
ini
disebabkan karena tipe data dari a adalah integer, sedangkan a diassign dengan
nilai berupa
real. Sedangkan apabila diberikan perintah sbb:

a := 3;
b := a;

tidak akan ada kesalahan. Hal ini disebabkan nilai 3 yang disimpan dalam b adalah
dalam bentuk
riil (3.0).

Dalam Pascal tanda minus (-) dapat digunakan untuk menyatakan tanda negatif
dari suatu
bilangan. Berikut ini adalah beberapa contoh penggunannya:

some_real := 37.5 * (-2);


jangan seperti di bawah ini

some_real := 37.5 * -2;

Statement di atas akan membuat bingung Pascal untuk menentukan operasi yang
akan
dilakukan terlebih dahulu.

Dalam pemrograman pada umumnya terdapat tingkat presedensi yang menyatakan


prioritas
operasi mana yang akan didahulukan. Untuk operasi perkalian dan pembagian
terlebih dahulu
akan diprioritaskan daripada penjumlahan dan pengurangan. Contoh:

hasil := 3 + 4 * 5;

nilai yang akan disimpan dalam variabel hasil adalah 23 (bukannya 35). Sedangkan
apabila
diberikan perintah berikut

hasil := (3 + 4) * 5;

barulah hasilnya adalah 35.

Catatan:
Operator aritmatik dalam Pascal tidak dapat diterapkan pada variabel bertipe data
boolean dan
char.

Bab VIII

Standard Functions

Dalam Pascal telah tersedia beberapa fungsi standard yang dapat digunakan untuk
perhitungan
matematika, misalnya adalah perintah sin(). Apabila kita ingin menghitung nilai
sinus dari 3.14
radian dalam Pascal dan hasilnya akan disimpan dalam variabel hasil, maka
perintahnya adalah

hasil := sin(3.14);

Sebuah fungsi dipanggil dengan cara menuliskan nama fungsi dan diikuti dengan
argumen yang
diapit dengan kurung. Berikut ini adalah beberapa fungsi standard dalam Pascal
yang dapat
digunakan

Function | Description | Argument type | Return type


abs | Nilai absolut | real or integer | Sama seperti argumen
arctan | arctan dalam radian | real or integer | Real
cos | cosinus sudut dalam radian | real or integer | Real
exp | pangkat bilangan natural | real or integer | Real
ln | Logaritma natural | real or integer | Real
round | Pembulatan ke bilangan bulat terdekat | real | Integer
sin | sinus sudut dalam radian | real or integer | Real
sqr | pangkat dua | real or integer | Sama seperti argumen
sqrt | akar pangkat dua | real or integer | Real
trunc | Pembulatan ke bawah | real or integer | Integer

Selain itu juga terdapat beberapa fungsi yang lain yang hanya digunakan untuk tipe
data terurut/
ordinal (integer dan char)

Function | Description | Argument type | Return type


chr | Menampilkan karakter ASCII dari suatu bilangan bulat | integer | char
ord | Menampilkan nomor ASCII dari suatu karakter | integer or char | integer
pred | predecessor | integer or char | same as argument type
succ | successor | integer or char |same as argument type

Bab IX

Input dan Output

INPUT

Input merupakan sesuatu data yang dimasukkan ke dalam program untuk diproses.
Dalam hal
ini, hanya akan dibahas input yang diperoleh dari entri data melalui keyboard.

Perintah Pascal untuk menyatakan input adalah:

readln(variabel);

Melalui perintah di atas, data yang dientrikan melalui keyboard akan diassign ke
dalam suatu
variabel. Setelah data dientrikan, user harus menekan tombol ENTER (RETURN)
Contoh:

Program ContohInput;
Var
Bil : integer;
Begin
Write(‘Masukkan sebarang bilangan bulat : ‘);
Readln(bil);
Write(‘Bilangan yang Anda masukkan adalah : ‘,bil);
End.

Misalkan ketika program di atas dijalankan kita masukkan bilangan 6, maka


tampilannya:
Masukkan sebarang bilangan bulat : 6 [enter]
Bilangan yang Anda masukkan adalah : 6

Catatan:

- Untuk input berupa bilangan real yang memuat desimal, digunakan tanda titik
yang
menyatakan koma, misal 345.12. Selain itu dapat pula dituliskan dalam bentuk
format
scientific, misal 1E-5 (sama dengan 0.00001) atau 3.5E+4 (sama dengan 35000)

- Sedangkan input yang berupa karakter tidak perlu diapit dengan tanda petik,
demikian
pula untuk tipe data boolean.

OUTPUT

Setelah data diinput dan selanjutnya diproses, selanjutnya harus ditampilkan


sebagai output
supaya user dapat mengetahui solusi dari permasalahan. Untuk menampilkan data
ke layar
(output), terdapat dua perintah dalam Pascal, yaitu

Write(argumen);
Writeln(argumen);

Perbedaan dari kedua perintah di atas adalah sbb:

Apabila digunakan write, maka argumen yang ditulis akan ditampilkan ke layar.
Setelah itu kursor
akan berada di sebelah kanan dari argumen yang telah ditulis tadi. Sehingga
apabila setelah
write tersebut terdapat write atau writeln lagi, maka argumen yang baru akan
ditulis di sebelah
kanan dari argumen yang lama.

Sedangkan apabila digunakan writeln, maka argumen yang ditulis akan ditampilkan
ke layar.
Setelah itu kursor akan berada di bawah argumen yang telah ditulis tadi. Sehingga
apabila
setelah write tersebut terdapat write atau writeln lagi, maka argumen yang baru
akan ditulis di
bawah dari argumen yang lama.

Catatan:

Argumen dapat berupa variabel, string, operasi, maupun function.

Contoh:

a := 4; {misalkan a dan b adalah integer}


b := 5;
write(‘Ini contoh write’);
write(‘Ini contoh write’);
writeln(‘Ini contoh writeln’);
writeln(‘Ini contoh writeln’);
writeln(a);
write(a+b);
writeln(sqr(a+b));
writeln(a,’ ditambah ‘,b,’ adalah ‘, a+b);
output dari potongan program di atas adalah
Ini contoh writeIni contoh writeIni contoh writeln
Ini contoh writeln
4
981
4 ditambah 5 adalah 9

FORMATTING OUTPUT

Tampilan output dapat diatur jaraknya. Untuk tipe data karakter/string serta integer
dapat
menambahkan sintaks berikut ini dalam write/writeln.

value/variabel : lebarfield
dengan value/variabel merupakan nilai atau isi dari variabel yang akan ditampilkan
ke layar.

Sedangkan lebarfield merupakan bilangan positif yang menunjukkan lebar space


untuk nilai
yang akan ditampilkan.

Contoh:

a := 10;
write(‘Ini adalah isi dari a :‘,a:5);
Hasil outputnya adalah
Ini adalah isi dari a : 10
Nilai 5 berarti terdapat 5 space untuk meletakkan 10 (cara pengisian adalah rata
kanan),
sehingga terdapat sisa 3 buah space di depan 10. Hal yang sama juga berlaku
untuk nilai yang
berupa karakter maupun string.

Bagaimana dengan nilai yang berupa real? Bagaimana cara mengatur jumlah digit
di belakang
koma? Berikut ini adalah sintaks untuk ditambahkan dalam write/writeln.

Value/variabel : lebarfield : jumlahdigit

Contoh:

a := 10.2345562;
write(‘Ini adalah isi dari a :‘,a:7:2);

Outputnya adalah
Ini adalah isi dari a : 10.23

Perhatikan tampilan di atas. Masih terdapat jarak 2 spasi di depan 10.23. Hal ini
disebabkan
untuk menuliskan 10.23 diperlukan 5 space, sehingga dari 7 space yang ada, hanya
digunakan 5
space saja.

Bab X

Booelan Expressions

Ekspresi boolean digunakan untuk membandingkan dua buah nilai. Sesuai dengan
namanya
(boolean), maka hasil perbandingan ini selalu menghasilkan nilai TRUE atau FALSE.

Berikut ini adalah beberapa jenis operator perbandingan:

Notasi | Makna

< | Lebih kecil dari


> | Lebih besar dari
= | Sama dengan
<= | Lebih kecil dari atau sama dengan
>= | Lebih besar dari atau sama dengan
<> | Tidak sama dengan

Contoh:

Misalkan b adalah variabel bertipe boolean.

b := 4 < 6;
write(b);

perintah di atas akan menampilkan TRUE, karena 4 < 6 adalah benar.

Selain itu terdapat pula operator logika, sbb:

Notasi | Makna
not | negasi (~)
and | Konjungsi/dan (Ù)
or | Disjungsi/atau (Ú)
xor | exclusive-or

Contoh:

Misalkan b adalah variabel bertipe boolean

b := (4 < 4) or (5 < 4);


write(b);

perintah di atas akan menampilkan FALSE, karena 4 < 4 adalah FALSE, sedangkan
5 < 4 juga
FALSE. Dengan demikian FALSE or FALSE hasilnya FALSE.

Percabangan

Bentuk Umum :
1. Perintah IF-Then

IF [i]ekspresi-logika[/i] Then
pernyataan;

2. Perintah IF-Then-Else majemuk

IF [i]ekspresi-logika[/i] Then
Begin
pernyataan;
IF [i]ekspresilogika[/i] Then
pernyataan
Else
pernyataan
End
Else
Begin
Pernyataan;
IF [i]ekspresi-logika[/i] Then
pernyataan
Else
pernyataan;
End;

3. Perintah Case-Of

Case variabel Of
konstanta_1:pernyataan;
konstanta_2:pernyataan;
..
Else
pernyataan;
End;

4. Perintah Case-Of dengan blok

Case ... Of
... :Begin
pernyataan;
pernyataan;
End;
... :Begin
pernyataan;
pernyataan;
End;
End;

Perintah Masukan:
Readln(variabel)

Perintah Tampilan:
Write('karakter')
Write(variable)

Writeln('karakter')
Writeln(variable)

Catatan:

- Jika lebih dari 1 pernyataan harus menggunakan Begin_End untuk memblok


pernyataan tersebut.

- Perintah sebelum Else tidak boleh menggunakan tanda titik koma (;).

- Setelah perintah IF-Then tidak ada tanda titik koma (;)

- Dalam CAse-Of variabel harus integer atau karakter

-----

skarang gw mo coba kasih contoh program sederhana dengan pascal

sory kalo agak kayak jaman kul ya..

1. Diketahui: Panjang dan Lebar


Proses: - keliling = 2 * (Panjang + Lebar)
- luas = Panjang * Lebar
Tampilan:

Nilai Panjang ? 30
Nilai Lebar ? 15

Panjang Lebar Keliling Luas


--------------------------------
30.00 15.00 90.00 450.00

Script:
Program PersegiPanjang:
Uses wincrt;
Var
Panjang, Lebar, Kll, Luas : real;

Begin
Write('Nilai Panjang'); Readln(panjang);
Write('Nilai Lebar ?'); Readln(lebar);

Kll := 2 * (panjang + lebar);


Luas := panjang * lebar;

Writeln('panjang lebar keliling luas');


Writeln('------------------------------');

Writeln(panjang:7:2, lebar:7:2, kll:7:2, luas:7:2);


End

2. Diketahui: Nama, Post


Proses: - Jika Post <= 9, ket 'spam'
- Jika 10 <= Post <= 29, ket = 'ingusan'
- Jika Post >= 30, ket = 'abg'

Tampilan:

Nama Member? Teknisi


Post ? 15

Nama Member Post Keterangan


-------------------------------------
Teknisi 15.00 ingusan

Script:

CODE
ProgramPostMember;
Uses wincrt;
Var
Nama, ket : string [15]
Post : real;

Begin
Write('Nama Member?'); Readln(nama);
Write('Post?'); Readln(post);

Writeln('Nama Member Post Keterangan');


Writeln('-----------------------------');

If post <= 9 then


Ket := 'spam'
Else
If nilai <=19 then
Ket := 'ingusan'
Else
Ket := 'abg';

Writeln(nama:15, nilai:7:2, ket:10);


End
Perulangan

Bentuk Umum:

1. Perintah For-To-Do

CODE
For var_pengontrol := nil_awal To nil_akhir Do
pernyataan;

For var_pengontrol := nil_awal To nil_akhir Do


begin
pernyataan_1;
pernyataan_2;
end;

Catatan: nil_awal < nil_akhir

2. Perintah For-DownTo-Do

CODE
For var_pengontrol := nil_awal DownTo nil_akhir Do
pernyataan;

For var_pengontrol := nil_awal DownTo nil_akhir Do


begin
pernyataan_1;
pernyataan_2;
end;

catatan: nil_awal > nil_akhir


3. Perintah While-Do

CODE
While ekspresi_logika Do
pernyataan;

While ekspresi_logika Do
begin
pernyataan_1;
pernyataan_2;
end;

4. Perintah Repeat Until

CODE
Repeat
pernyataan;
Until ekspresi_logika

5. Fungsi Standar

Copy(s:string; posisi:integer; banyak:integer) :string;

6. Prosedur Standar

Delete(var s:string; posisi:integer; banyak:integer;

-----

skarang contoh programnya

1. membuat tampilan seperti ini:

Masukan Jumlah? 5

*
**
***
****
*****

Script:
CODE
ProgramYachubugz;
Uses wincrt;
var
b,f, angka : integer;

Begin
Write('Masukan Jumlah?');
Readln(angka);

Writeln;
For k := 1 to angka do
Begin
For b:= 1 to f do
Write('*');
Writeln;
End;
End.

2. membuat program seperti tampilan di bawah ini:

-------------------
No P 2*P 3*P
-------------------
1 35 ... ...
2 65 ... ...
3 95 ... ...
.. ... ... ...
10 ... ... ...
-------------------

Script:

CODE
ProgramPascal;
Uses Wincrt;
var
k, P, P1, P2 : integer;

begin
writeln('-------------------');
writeln('No P 2*P 3*P ');
writeln('-------------------');

P := 35;
For k := 1 to 10 do
begin
P1 := 2 * P;
p2 := 3 * P;

writeln(k:3, p:5, p1:15, p2:5);


P := P+30
end;
writeln('-------------------');

end.

Program penggabungan program 1, 2, dan 4 dengan membuat menu (prosedur, fungsi)

CODE
Program Gabung;
uses crt;
var pilih: integer;
Procedure luas;
{copy dan paste program 1}
end;
Procedure JenisBilangan;
{copy dan paste program 2}
end;
Procedure Pengurutan;
{copy dan paste program 4}
End;
begin {program utama}
repeat
clrscr;
writeln(' PILIHAN');
writeln('--------------------------');
writeln(' 1. Menghitung Luas');
writeln(' 2. Jenis Bilangan');
writeln(' 3. Pengurutan');
writeln(' 4. Exit');
writeln('--------------------------');
writeln;
writeln;
write(' Pilih Angka untuk Memilih Pilihan : ');
readln(pilih);
case pilih of
1 : luas;
2 : JenisBilangan;
3 : Pengurutan;
4 : exit;
end;
until pilih = 4;
end.

Jadi program ini hanya akan berakhir jika user memilih no 4.

Program toko (record dengan array)

CODE
Program Array_dan_Record;
type dmhs=record
nrp:string[10];
nama:string[25];
alamat:string[50];
end;
var data:array[1..3] of dmhs;
i:integer;
begin
for i:=1 to 3 do
begin
write('nrp : ');readln(data[i].nrp);
write('nama : ');readln(data[i].nama);
write('alamat : ');readln(data[i].alamat);
end;
writeln;
writeln('Data ditampilkan');
for i:=1 to 3 do
begin
writeln('nrp : ', data[i].nrp);
writeln('nama : ', data[i].nama);
writeln('alamat : ', data[i].alamat);
end;
readln;
end.

Di dalam program tersebut dideklarasikan bahwa dmhs (data mahasiswa) itu adalah record yang
mempunyai field nrp, nama dan alamat (lihat baris 2 sampai 6). Selanjutnya variabel data
dideklarasikan bertipe dmhs yang berbentuk array (baris ke 7). Kemudian seperti biasa untuk
memasukkan data ke field digunakan "readln(data[i].nrp)", dst (baris 10 sampai 15). Untuk
menampilkannya bisa dilihat dibaris ke 18 sampai 23.

Lanjutan page 2

Anda mungkin juga menyukai