Anda di halaman 1dari 6

BAB I.

MENGENAL PASCAL Untuk membuat program anda menjadi mudah dibaca dan di
mengerti, maka perlu diberi keterangan yang akan diabaikan
oleh kompiler. Untuk membuat keterangan gunakan tanda
Pascal merupakan suatu bahasa komputer tingkat tinggi yang kurawal { ini adalah keterangan }, atau (* ini adalah
dibuat sekitar tahun 1970 oleh Niklaus Wirth dan digunakan keterangan *).
untuk pendidikan komputer. Nama Pascal diambil dari
seorang ahli matematika yang bernama Blaise Pascal yang Adapun type variable yang disediakan pada TURBO
menemukan mesin hitung pertama. Bahasa Pascal dirancang PASCAL :
untuk menyelesaikan masalah dari berbagai kalangan 1. Ordinal types, Type data yang mempunyai urutan pasti,
pemakai, mulai dari para mahasiswa, pendidik, dan ilmuwan. dan masih terbagi menjadi:
Salah satu kompiler pascal yang terkenal dan tercepat adalah Integer type variable yang beguna untuk pengolahan data
Turbo PASCAL yang dibuat oleh perusahaan Borland. yang bulat, type ini masih terbagi atas beberapa menurut
jangkauan data dan ukurannya :
1.1 STRUKTUR PROGRAM PASCAL Shortint-128..127 ukuran memory 8 bit
Pascal adalah suatu bahasa pemrograman terstruktur. Hal Integer-32768..32767 ukuran memory 16 bit
tersebut berarti semua program yang anda buat harus Longint-2147483648..2147483647 ukuran memory 32 bit
terstruktur dan teratur, dalam hal ini ada pemakaian goto dan Byte 0..255 ukuran memory 8 bit
jump. Struktur program pascal yang paling sederhana Word 0..65535 ukuran memory 16 bit.
adalah : Char type variabel yang berguna untuk pengolahan character
uses ...; ASCII, type character ini berupa satu karakter yang
var ...; penulisannya ditandai dengan dua buah petik tunggal seperti :
begin 'A', '3','*',#7 untuk menyatakan ' harus ditulis ''''.
.... {Your program is here} Boolean type varibale yang berguna untuk pengolahan hal
end. yang hanya mempunyai dua ketentuan yaitu benar(TRUE)
dan salah(FALSE) saja.
Struktur dari suatu program Pascal terdiri dari sebuah judul 2. Real types Type variable yang beguna untuk pengolahan
program(program heading) dan suatu blok program(program data yang tidak bulat, untuk type real ini juga terbagi atas
block) atau badan program(body program). Blok program beberapa :
dibagi lagi menjadi dua bagian, yaitu : bagian Real 2.9e-39..1.7e38 11-12 digit 6 bit
deklarasi(declaration part) dan bagian pernyataan (statement Single 1.5e-45..3.4e38 ³ 7-8 7-8 digit 4 bit
part). Bagian deklarasi dapat terdiri dari deklarasi label Double 5.0e-324..1.7e308 15-16 digit 8 bit
(labels declaration), deklarasi konstanta (constants Extended 3.4e-4932..1.1e4932 19-20 digit 10 bit
declaration), deklarasi tipe (type declaration), deklarasi Comp -9.2e18..9.2e18 19-20 digit 8 bit
variabel (variables declaration), deklarasi prosedur Untuk pengolahan type variabel diatas di sediakan berbagai
(procedures declaration), dan deklarasi fungsi (function jenis operator antara lain :
declaration). Secara ringkas dapat digambarkan sebagai Operator Integer Type & Real Type :
berikut : + Penjumlahan
1. Judul Program - Pengurangan
2. Blok Program * Perkalian
a. Bagian Deklarasi / Pembagian
- deklarasi label DIV Hasil bagi
- definisi constanta MOD Sisa Bagi
- definisi tipe Operator Integer Type & Boolean Type :
- deklarasi variabel NOT Bitwise Negation Logical Negation
- deklarasi prosedur AND Bitwise AND Logical AND
- deklarasi fungsi OR Bitwise inclusive OR Logical inclusive OR
b. Bagian pernyataan. XOR Bitwise exclusive OR Logical exclusive OR
Atau bisa digambarkan sebagai berikut : SHL Bitwise shift-left
program ... ; { Program heading } SHR Bitwise shift-right
uses ... ; { Uses clause } Operator relasi yang mengembalikan hasil Boolean
label ... ; { Labels } Operator Fungsi
const ... ; { Constants } := Menyatakan nilai
type ... ; { Types } = Sama dengan
var ... ; { Variables } <> Tidak sama dengan
procedure ... ; { Procedures } < Lebih kecil
function ... ; { Functions } > Lebih besar
begin <= Lebih kecil atau sama dengan
statement; { Statements } >= Lebih besar atau sama dengan
...
end. 1.2 Cara Menampilkan Tulisan Ke Layar
Pascal menyediakan perintah Write dan Writeln yang dapat
Judul program dalam Turbo Pascal bersifat optional dan tidak anda gunakan untuk menampilkan tulisan ke layar. Perintah
ada pengaruhnya dalam program. Jika ditulis akan Write menampilkan tulisan dilayar dan posisi kursor berada
memberikan nama program dan suatu daftar parameter disamping kanan tulisan sedangkan perintah writeln
optional dimana program itu berkomunikasi. Daftar itu terdiri menampilkan tulisan dilayar dengan posisi kursor berada
dari sederetan indentifier yang diakhiri dengan tanda kurung dibawah.
dan dipisahkan dengan tanda titik koma.
Contoh : uses crt; {berisi perintah-perintah pengaturan layar seperti
Program Perhitungan(Input,Output); membersihkan layar, mengatur warna tulisan, warna
background, memindahkan posisi cursor, mode layar, dan clrscr;
membuat window Ok} Pi := 22/7;
var Writeln('Bilangan Pi adalah ', Pi);
UmurKu : Byte; Writeln('Bilangan Pi adalah ', Pi:5:2);
Keterangan : String; readln;
begin end.
clrscr; {untuk membersihkan layar}
UmurKu:=17; hasilnya bila di run :
Keterangan:='Hi, saya sedang belajar Pascal di SMAN 15';
Writeln('Saya berumur ',UmurKu,' tahun');
Writeln(Keterangan);
readln;
end.

hasilnya kalau di run :

BAB II PENYELEKSIAN KONDISI

Hampir tiap program yang komplek mengandung sutu


penyeleksian kondisi. Dengan menyeleksi kondisi, program
1.3 Cara Membaca Masukan Dari User dapat menentukan tindakan apa yang harus dikerjakan ,
Perintah Readln dapat digunakan untuk membaca masukan tergantung dari hasil kondisi yang diseleksi tersebut. Untuk
dari user dan menyimpannya ke suatu variabel. menyeleksi kondisi, di dalam bahasa Pascal dapat
uses crt; dipergunakan statemen If dan statemen Case.
var
UmurKu : Byte; 2.1 Statemen If
Keterangan : String; Struktur logika dari statemen if-then atau if-then-else adalah
begin sebagai berikut :
clrscr;
Write('Berapa umur anda ? ');
Readln(UmurKu); {user memasukkan input dari keyboard
dan disimpan di variabel Umurku}
Write('Komentar anda: ');
Readln(Keterangan); {user memasukkan input dari keyboard
dan disimpan di variabel Keterangan} Sintax logika IF dalam PASCAL
Writeln; IF <kondisi> THEN
Writeln('Saya berumur ',UmurKu,' tahun'); <pernyataan>;
Writeln(Keterangan); Bila kondisi yang diseleksi terpenuhi, maka pernyataan yang
readln; {user menekan tombol enter untuk kembali ke mengikuti then akan diproses. Sebaliknya, bila kondisi tidak
program} terpenuhi, maka yang akan diproses adalah statemen
end. berikutnya.
hasilnya bila di run : Bila pernyataan yang dihasilkan, lebih dari satu baris maka
sintaxnya menjadi :
IF <kondisi> THEN
BEGIN
<pernyataan_1>;
<pernyataan_2>;
<pernyataan_n>;
END;

Sintax IF-ELSE dalam PASCAL


IF <kondisi> THEN
<pernyataan1>
1.4 Cara Membatasi Pencetakan Tempat Desimal Untuk Data
ELSE
Real Type
<pernyataan2>;
Untuk menentukan jumlah tempat sebelum desimal dan
Bila pernyataan yang dihasilkan, lebih dari satu maka
sesudah desimal anda dapat menggunakan :x:y setelah
sintaxnya menjadi :
variabel yang akan dibatasi pencetakan nilainya, dimana x
IF <kondisi> THEN
adalah jumlah seluruh tempat desimal (sebelum dan sesudah
BEGIN
tanda titik desimal) beserta tanda titiknya dan y adalah
<pernyataan_1>;
jumlah tempat setelah titik desimal. Silahkan coba koding
<pernyataan_2>;
berikut :
<pernyataan_n>;
uses crt;
END
var
ELSE
Pi : Real;
BEGIN
Begin
<pernyataan_A>;
<pernyataan_B>; END
<pernyataan_n>; ELSE IF PILIHAN=3 THEN
END; BEGIN
WRITELN('ANDA PILIH PEMBAGIAN');
contoh 1 : WRITE('JADI MASUKAN BILANGAN I ? ');READLN(A);
program ramalan_bintang; WRITE('MASUKKAN BILANGAN II ? ');READLN(B);
uses crt; WRITE('HASILNYA ', A,' / ', B,' = ', A/B);
var nama, bintang : string; END
begin ELSE IF PILIHAN=4 THEN
clrscr; BEGIN
writeln('RAMALAN BINTANG'); WRITELN('ANDA PILIH PENGURANMGAN ');
writeln('###############'); WRITE('JADI MASUKAN BILANGAN I ? ');READLN(A);
write('masukkan nama : ');readln(nama); WRITE('MASUKKAN BILANGAN II ? ');READLN(B);
write('masukkan bintang : ');readln(bintang); WRITE('HASILNYA ', A,' - ', B,' = ', A-B);
writeln; END;
if bintang = 'leo' then READLN;
begin END.
writeln('Hai ',nama,' ramalan kamu hari ini : ');
writeln('Anda akan dapat pacar baru...selamat yach.........'); hasilnya bila dirun :
end
else if bintang ='virgo' then
begin
writeln('Hai ',nama,' ramalan kamu hari ini : ');
writeln('Anda akan dapat rejeki...selamat yach.........');
end
else writeln('Maaf bintang anda belum terdaftar...');
readln;
end.

hasilnya bila dirun :

2.2 Statemen Case


Statemen case dapat berbentuk struktur Case-Of atau Case-
Of-Else. Bentuk dari struktur Case-of adalah sebagai berikut :
Case <ungkapan> of
<daftar case-label1>: statemen1;
<daftar case-label2>: statemen2;
<daftar case-label3>: statemen3;
.
.
.
<daftar case-labeln>: statemenn;
Contoh 2 : end;
PROGRAM KALKULATOR_SEDERHANA;
USES CRT; Struktur Case-of mempunyai suatu ungkapan logika yang
VAR PILIHAN , A, B : INTEGER; disebut dengan selector dan sejumlah statemen yang diawali
BEGIN dengan sutu label permasalahan (case label) yang mempunyai
CLRSCR; tipe sama dengan selector. Statemen yang mempunyai case
WRITELN('KALKULATOR SEDERHANA'); label yang bernilai sama dengan nilai selector akan diproses
WRITELN('1. PENJUMLAHAN'); sedang statemen yang lainnya tidak.
WRITELN('2. PERKALIAN');
WRITELN('3. PEMBAGIAN'); Perbedaan dengan struktur If adalah bila statemen if
WRITELN('4. PENGURANGAN'); menyeleksi suatu kondisi dan terpenuhi, setelah memproses
WRITE('ANDA PILIH YANG statemen dalam lingkungan yang terpenuhi tersebut, proses
MANA?');READLN(PILIHAN); penyeleksian masih dilakukan terhadap statemen if
IF PILIHAN=1 THEN berikutnya yang lain. Sedang pada struktur Case-of bila salah
BEGIN satu kondisi terpenuhi (nilai case label sama dengan nilai
WRITELN('ANDA PILIH PENJUMLAHAN'); selector) dan statemen tersebut telah diproses, selanjutnya
WRITE('JADI MASUKAN BILANGAN I ? ');READLN(A); statemen-statemen yang lainnya dalam lingkungan case tidak
WRITE('MASUKKAN BILANGAN II ? ');READLN(B); akan diseleksi lagi.
WRITE('HASILNYA ', A,' + ', B,' = ', A+B);
END Contoh 1 :
ELSE IF PILIHAN=2 THEN program kalkulator_sederhana_sekali;
BEGIN uses crt;
WRITELN('ANDA PILIH PERKALIAN'); var bil1,bil2,hasil:real; pilihan:integer;
WRITE('JADI MASUKAN BILANGAN I ? ');READLN(A); begin
WRITE('MASUKKAN BILANGAN II ? ');READLN(B); clrscr;
WRITE('HASILNYA ', A,' * ', B,' = ', A*B); writeln('MACAM-MACAM PERHITUNGAN');
writeln('1. Penjumlahan '); end;
writeln('2. Perkalian'); writeln('GAJI POKOK :Rp',gapok:10:2);
writeln('3. Pembagian'); readln;
write('anda ingin no berapa : '); end.
readln(pilihan);
write('bilangan 1 : ');readln(bil1); hasilnya bila dirun :
write('bilangan 2 : ');readln(bil2);
case pilihan of
1 : hasil:=bil1+bil2;
2 : hasil:=bil1*bil2;
3 : hasil:=bil1/bil2;
end;
writeln('hasilnya : ',hasil:6:2);
readln;
end.

Hasilnya jika dirun : Contoh 4 :


program pembelian;
uses crt;
var beli,potongan:integer;
BEGIN
CLRSCR;
write('Total Pembelian : ');readln(beli);
CASE beli OF
0..1000 :potongan:=0;
1001..10000:potongan:=400;
10001..30000:potongan:=1000;
ELSE
potongan:=2000;
END;
Contoh 2 :
uses crt; Writeln;
var nilai : char; writeln('Total pembeliannya : Rp.',beli);
begin writeln('Potongan : Rp.',potongan);
clrscr; writeln('*********************************');
write('Nilai huruf yang didapat : ');readln(nilai); writeln('Total Bayar : Rp.',beli-potongan);
case nilai of READLN;
'A': writeln('Sangat Baik'); END.
'B': writeln('Baik');
'C': writeln('Cukup'); hasilnya :
'D': writeln('Kurang');
'E','F': writeln('Gagal');
end;
readln;
end.

Hasilnya bila dirun :

BAB III PERULANGAN

Contoh 3 :
program case_of; Perulangan atau biasa disebut dengan looping digunakan
uses crt; untuk melakukan pengulangan sebuah proses pada program
var nip,nama:string; gol:char; gapok:real; yang dibuat. Sebagai contoh bila kita memasukkan password
begin untuk memasuki sebuah program/ sistem operasi, maka jika
clrscr; password kita keliru dengan otomatis akan meminta
write('NIP : ');readln(nip); password ulang (tidak langsung keluar dari program), baru
write('NAMA: ');readln(nama); setelah password yang dimasukkan benar program yang
write('GOLONGAN : ');readln(gol); diminta akan dijalankan. Untuk membuat seperti hal tersebut
case gol of maka kita memerlukan yang namanya LOOPING.
'A':gapok:=500000;
'B':gapok:=400000; 3.1 Counted Loop
'C':gapok:=300000; Counted Loop(pengulangan Pasti) adalah sebuah bentuk
else gapok:=200000; pengulangan yang disertai counter(penghitung) di dalamnya,
selama loop ini mengulang suatu proses maka nilai akan
bertambah atau berkurang sejumlah tertentu. Sehingga
banyaknya pengulangan dapat dipastikan jumlahnya melalui
angka(10x, 5x atau yang lain). Pada bahasa pascal, Counted
Loop digunakan melalui perintah FOR-TO-DO dan FOR-
DOWNTO-DO.

Pernyataan FOR-TO-DO
SINTAX:
FOR <counter_1> TO <counter_2> DO
BEGIN<proses /code program yang diulang>;
END;

Contoh 1 :
PROGRAM for_do;
uses crt;
var a:integer;
begin Contoh 3 :
clrscr; program perulangan;
for a:=1 to 5 do uses crt;
begin var i,c1, c2 : integer; F:real;
writeln('SMA NEGERI 15 SURABAYA'); begin
writeln('For The Real World'); clrscr;
end; writeln('PROGRAM PERULANGAN MENGGUNAKAN
readln; FOR');
end. write('Masukkan celcius awal : ');readln(c1);
write('Masukkan Celcius akhir : ');readln(c2);
Hasilnya : writeln;
writeln('___________________________');
Writeln(' celcius Fahrenheit ');
writeln('___________________________');
for i:=c1 to c2 do
begin
f:=(9/5*i)+32;
writeln(i:6,f:15:2);
end;
writeln('___________________________');
readln;
end.

hasilnya :

contoh 2 :
program perulangan;
uses crt;
var i,a:integer;
begin
clrscr;
writeln('program perulangan positif');
write('anda ingin berhitung sampai berapa ? ');
readln(a);
writeln('--------------------------');
writeln(' x x*x 1/x');
writeln('--------------------------');
for i:=1 to a do
writeln(i:4,i*i:8,1/i:8:2);
writeln('--------------------------');
readln;
end.

hasilnya :

Pernyataan FOR-DOWNTO-DO
SINTAX :
FOR <counter_1> DOWNTO <counter_2> DO
BEGIN
<proses /code program yang diulang>;
END;
Contoh 1 :
uses crt;
var i, angka: integer;
begin
clrscr;
write('anda ingin deret menurun dari angka berapa ? ');
readln(angka);
for i:=angka downto 1 do
write(i,' ');
readln;
end.

hasilnya :

REPEAT – UNTIL
3.2 Conditional Loop Repeat Until adalah sebuah bentuk pengulangan dimana
Dalam Conditional Loop jumlah pengulangan tergantung proses pengulangan akan terus terjadi sampai syarat yang
pada kondisi tertentu, dengan kata lain jumlah pengulangan telah ditentukan terpenuhi.
tidak bisa ditentukan dengan menggunakan angka.
Misal : seorang anak mendapat perintah untuk mengelilingi
WHILE - DO lapangan sampai pingsan. Dalam keadaan tersebut yang
Dalam pernyataan WHILE – DO, sebuah proses akan terus dimaksud dengan syarat adalah “sampai pingsan”, jadi jika si
diulang selama syarat yang ditentukan masih terpenuhi. anak belum pingsan maka ia akan terus mengelilingi
SINTAX : lapangan. Baru setelah dia pingsan maka proses mengelilingi
WHILE <syarat yang ditentukan> DO lapangan akan langsung berhenti.
BEGIN<proses yang akan diulang>; SINTAX :
END; REPEAT
<proses yang diulang>;
contoh 1 : UNTIL <syarat yang ditentukan>;
program kelipatan_pake_while;
uses crt; Contoh 1 :
var kelipatan,x,y,z : integer; lagi:string; program demo_repuntil;
begin uses crt;
clrscr; var Nilai:char;
lagi:='ya'; begin
while lagi='ya' do clrscr;
begin repeat
write('mulai dari berapa: ');readln(x); writeln('Aku sayang kamu');
write('kelipatan berapa: ');readln; writeln('Dan selalu merindumu');
write('berakhir sampai berapa: ');readln(z); write('Mau mengulang [y/t]: ');readln(nilai);
kelipatan:=x; until (Nilai='T') or (Nilai='t');
while kelipatan<=z do end.
begin
write(kelipatan,' '); hasilnya :
kelipatan:=kelipatan+y;
end;
writeln;writeln;
write('ingin hitung lagi ? ');readln(lagi);
writeln;
end;
end.

hasilnya :

Anda mungkin juga menyukai