Pengenalan Pascal
Bahasa Pascal
dikembangkan
pada
awal tahun
1970-an oleh ilmuwan
komputer Eropa,
Niklaus
Wirth. Nama Pascal
diambil dari
nama
ahli matematika Blaise Pascal yang menemukan
mesin
hitung mekanik pertama. Sekarang Pascal digunakan baik untuk keperluan ilmiah
maupun aplikasi bisnis. Sampai saat ini, bahasa Pascal juga
digunakan pada sekolah dan universitas di
Indoensia untuk belajar pemrograman dasar.
Pascal sebagai
salah satu
bahasa
tingkat tinggi
(high-level language) untuk dapat dapat dikenali
oleh computer harus diterjemahkan
menjadi bahasa mesin. Untuk itu dikembangkan sebuah program penerjemah
yang
disebut dengan kompilator (compiler).
Kompilator
Pascal adalah sebuah
software, bukan perangkat keras
(hardware). Kompilator adalah progam yang disimpan pada file dalam disk.
Komentar
Jika suatu program dikompilasi,
komentar akan
dilewati atau diabaikan
oleh kompilator. Komentar dalam
Pascal dituliskan dengan mengapitnya dengan kurung kurawal buka dan tutup, {komentar} atau (*komentar*)
Reserved Word
Reserved Word adalah kata-kata yang sudah mempunyai
arti khusus dalam bahasa pemrograman atau “kata
kunci”. Contoh: program, begin, end dan lain-lain. Ada banyak sekali reserved word
dalam Pascal, anda dapat mencari dalam buku atau
referensi lain.
Identifier
Identifier adalah nama yang diberikan oleh
programmer. Identifier tidak hanya untuk menamai
program tetapi juga untuk objek-objek Pascal yang
lain, seperti variabel dan konstanta.
Aturan penamaan identifier:
1. Karakter pertama identifier
harus berupa huruf
2.
Karakter selanjutnya dapat gabungan antara
huruf dan angka
3. Tidak berupa reserved word atau kata kunci dalam Pascal
4. Tidak boleh dipisahkan dengan spasi, tidak
boleh mengandung tanda ‘-‘ atau ‘&’
Contoh identifier
yang tidak diperbolehkan:
6jumlah, 7alamat dimulai dengan angka
i/6,
j%,
k$ mengandung selain huruf dan
angka tulis jumlah menggunakan spasi
begin,
do, while reserved word
Identifier dalam Pascal tidak case sensitive, artinya huruf besar
dan
kecil
tidak
dibedakan.
Identifier
‘jumlah’, ‘JUMLAH’ dan ‘Jumlah’ dianggap sama.
Perintah write dan writeln
Perintah writeln merupakan kependekan dari write
line. Setelah menuliskan
parameternya
di layar,
maka kursor penulisan
akan langsung
pindah
ke baris di bawahnya atau ganti baris. Perintah write hanya
menuliskan parameternya saja
tanpa pindah baris.
Contoh penggunaan perintah write dan writeln:
write (‘Selamat Belajar’);
writeln (‘Pascal’);
write (‘Semoga Sukses’);
Dalam layar akan ditampilkan: Selamat Belajar Pascal
Semoga Sukses
Kesalahan Pada Program
Ada dua jenis kesalahan yang mungkin terjadi
pada program, yaitu:
1.
Kesalahan sintaks/tatabahasa (syntax error)
2. Kesalahan logika (logical error)
Kesalahan sintaks menyebabkan program tidak dapat dikompilasi, sedangkan apabila
terdapat
kesalahan logika dalam program, program
dapat dikompilasi, tetapi
jika dijalankan
akan
menghasilkan
keluaran yang salah.
Gaya Penulisan
Gaya penulisan dalam Pascal bukan
line-oriented, yaitu setiap perintah yang berbeda harus ganti baris
penulisan.
Pendefinisian Variabel
Kata kunci var digunakan untuk menandai awal
pendefinisian variabel yang digunakan dalam program. Variabel digunakan untuk menyimpan data
yang
digunakan dalam
program.
Perintah read dan readln
Perintah
read dan readln akan menangkap masukan
yang
diberikan melalui
keyboard dan menyimpannya
disebuah memori
computer dengan
nama
sesuai dengan parameternya.
Perbedaan perintah read dan readln sama dengan perbedaan
perintah
write
dan writeln. Perintah read
akan
membaca masukan dari keyboard tanpa memindahkan posisi kursor setelah pembacaan,
sedangkan perintah
readln akan
membaca masukan
sekaligus memindahkan
posisi kursor.
Tipe, Operator dan Ekspresi
Tipe
digunakan untuk mendefinisikan
objek data yang akan dimanipulasi dalam sebuah program. Objek data yang akan dimanipulasi
disebut variabel dan
konstanta.
Variabel adalah objek data yang nilainya dapat diubah-ubah dan
konstanta adalah objek data
yang nilainya tidak dapat diubah dan hanya dapat
digunakan atau diakses.
Contoh:
X + 5 dan 2*8 adalah sebuah ekspresi
aritmatik.
X adalah sebuah
variabel, 5, 2, 8 adalah konstanta,
+ dan * adalah operator.
Tipe Dasar
integer
Tipe integer
terdiri dari bilangan bulat dalam rentang tertentu.
Operator Integer
Operator
|
Arti
|
+
|
Penjumlahan
|
-
|
Pengurangan
|
*
|
Perkalian
|
DIV
|
Division, hasil
pembagian bulat
|
MOD
|
Modulo, sisa pembagian
|
real
Tipe real terdiri dari bilangan pecahan dalam rentang tertentu.
Operator
|
Arti
|
+
|
Penjumlahan
|
-
|
Pengurangan
|
*
|
Perkalian
|
/
|
Pembagian
|
boolean
Tipe Boolean hanya
terdiri dari dua harga yaitu
TRUE dan FALSE. Ekspresi TRUE atau FALSE
disebut ekspresi Boolean.
Terdapat dua
jenis operator yang dapat digunakan dalam ekspresi
Boolean, yaitu
operator Boolean
dan operator relasional.
Operator
Boolean terdiri dari AND,
OR
dan NOT.
Tabel Kebenaran Operator Boolean
p
|
q
|
p AND q
|
p OR q
|
NOT p
|
TRUE
|
TRUE
|
|
|
|
TRUE
|
FALSE
|
|
|
|
FALSE
|
TRUE
|
|
|
|
FALSE
|
FALSE
|
|
|
|
Operator
Relasional
|
Membuat Program Menggunakan Bahasa Pemrograman Pascal
Bagian-bagian utama dari program Pascal terdiri dari 3 bagian yaitu:
1. Kepala program
2. Deklarasi variabel
3. Badan program
Kepala program
digunakan
untuk memberi
judul pada program yang akan dibuat.
Kepala program
selalu diawali dengan kata Program.
Deklarasi
variabel digunakan untuk mendeklarasikan
semua
variabel yang digunakan
dalam program. Deklarasi
variabel
diawali
dengan kata var. Badan program
berisi statement-statement yang berhubungan dengan
program yang akan dibuat.
Setiap statement dalam Pascal
diakhiri dengan
tanda ‘ ; ’.
Badan
program selalu diawali dengan kata begin dan diakhiri dengan
kata End. Jangan lupa untuk menambahkan tanda ‘ . ’ setelah End.
Tipe Data Integer
Pada pertemuan kali ini akan dibahas tipe data yang
cakupannya lebih
sempit dari tipe data real, yaitu
tipe data
integer. Tipe integer terdiri dari bilangan
bulat dalam rentang tertentu. Tipe integer terdiri atas:
|
||||||||||||||
|
||||||||||||||
|
||||||||||||||
|
Operator – operator yang terdapat dalam tipe integer:
Operator
|
Arti
|
Contoh
|
Hasil
|
+
|
Penjumlahan
|
2+2
|
4
|
-
|
Pengurangan
|
2-2
|
|
*
|
Perkalian
|
2*2
|
0
|
div
|
Hasil pembagian
bulat
|
5 div 2
|
2
|
mod
|
Sisa pembagian
|
5 mod 2
|
1
|
Tipe Data Boolean
Tipe data boolean
hanya terdiri dari dua nilai, yaitu true atau
false. Dua operator yang digunakan dalam tipe data
ini adalah operator
boolean (AND, OR dan
NOT) dan operator relasional (= , <
, <=,
>= , >,
<>). Nilai kebenaran
AND, OR dan NOT seperti nilai kebenaran dalam logika
matematika.
Prioritas pengerjaan operator dalam Turbo Pascal:
1. NOT
2. * / DIV MOD
3. + -
OR
4. =,
<>, <, >, <=, >=
Pernyataan If
Bentuk umum:
if ekspresi/kondisi then pernyataan_1 else
pernyataan_2;
Contoh pernyataan if:
if nilai >= 65 then writeln('Tuntas')
else writeln('Tidak Tuntas');
nilai >= 65 adalah suatu ekspresi aritmatik, jika ekspresi
itu bernilai true maka ditampilkan Tuntas, tetapi jika
bernilai false maka ditampilkan Tidak Tuntas.
Perlu diperhatikan bahwa dalam Pascal, sebelum else
tidak perlu ditambahkan tanda
';'
Contoh dalam program:
Program ketuntasan_1;
uses crt;
Var nilai:real; Begin
clrscr;
writeln('Masukkaan nilai Anda = ');readln(nilai);
if nilai >= 65 then
writeln('Tuntas')
else
writeln('Tidak Tuntas');
readln; End.
menampilkan lebih dari satu komentar/pernyatan dalam tampilan
Program ketuntasan_2;
uses crt;
Var nilai:real; Begin
clrscr;
writeln('Masukkaan nilai Anda = ');readln(nilai);
if nilai >= 65 then
Begin writeln('Tuntas');
writeln('Selamat Anda Berhasil') End
else
Begin
writeln('Tidak Tuntas'); writeln('Selamat Menempuh Remidi');
End;
readln; End.
if bersarang
Program di atas hanyalah untuk satu pernyataan if saja, artinya jika ekspresi yang pertama bernilai True, maka
hanya akan menghasilkan satu konsekuensi lain saja. Pernyataan if
juga dapat digunakan untuk menghasilkan
lebih dari satu konsekuensi.
Contoh:
if bil > 0
then writeln('Bilangan Positif')
else if bil < 0
then writeln('Bilangan Negatif')
else writeln('Bilangan itu
Nol');
Penyataan di atas sebenarnya juga dapat ditulis:
if bil >
0 then writeln('Bilangan Positif');
if bil <
0 then writeln('Bilangan Negatif');
if bil =
0 then writeln('Bilangan itu Nol');
Contoh dalam Program:
Program Bilangan;
uses crt; Var bil:real;
Begin
clrscr;
writeln('Masukkan sembarang bilangan = ');readln(bil);
if bil > 0
then writeln('Bilangan Positif') else if bil <
0 then
writeln('Bilangan Negatif')
else writeln('Bilangan itu
Nol');
readln; End.
Program GanjilGenap:
uses crt;
Var bil:integer;
{Tipe data yang digunakan adalah integer karena bilangan yang genap atau
ganjil adalah bilangan bulat
dan bukan bilangan real}
Begin clrscr;
writeln('Masukkan bilangan bulat sembarang');readln(bil);
if bil mod 2 = 0 then
writeln('Bilangan ',bil,'bilangan genap')
else
writeln('Bilangan ',bil,'bilangan ganjil');
readln; End.
Statement
Case
Berbeda dengan statement IF yang digunakan untuk
memilih
dari
dua kondisi berbeda
berdasar ekspresi
boolean, statement
case digunakan untuk
memilih
jika terdapat lebih dari
dua kondisi
yang
setiapnya
memerlukan penanganan berbeda.
Bentuk umum: case variabel of konstanta1 : statement1; konstanta2 : statement2; konstanta3 : statement3;
...
konstantaN : statementN;
end;
Catatan:
Variabel harus bertipe ordinal (integer atau char) dan tidak
boleh bertipe real
Contoh_1:
Program asosiasihari;
uses crt;
var harike:integer; Begin
clrscr;
write('Hari ke ... = ');readln(harike);
case harike of
1 : writeln('Minggu');
2 : writeln('Senin');
3 : writeln('Selasa');
4 : writeln('Rabu');
5 : writeln('Kamis');
6 : writeln('Jumat');
7 : writeln('Sabtu');
end;
readln;
End.
Contoh_2:
Program nilaiujian; uses crt;
var na:integer;
Begin
clrscr;
write('Nilai angka [0..100]: ');
readln(na);
case na of
86..100 : writeln('Nilai A');
71..85 : writeln('Nilai B');
61..70 : writeln('Nilai C');
51..60 : writeln('Nilai D');
0..50 : writeln('Nila1 E');
end; readln;
End.
Contoh_3:
Program penentuankarakter;
uses crt;
var ch:char; Begin
clrscr;
write('Masukkan sembarang karakter ');readln(ch);
case ch of
'A'..'Z','a'..'z': writeln('Huruf');
'0'..'9' : writeln('Angka');
else
writeln('karakter khusus');
end;
readln;
End.
Perulangan
Terdapat tiga macam statemen perulangan (repetition)
yang dapat digunakan, yaitu: statemen for, while dan
repeat. Masing-masing digunakan pada jenis perulangan
yang berbeda,
meski untuk kasus sebuah perulangan
dapat
diganti dengan statemen perulangan yang lain.
statemen/peryataan for
Pernyataan for digunakan untuk
perulangan yang telah diketahui berapa kali akan dilakukan, misalnya:
menjumlahkan bilangan 1 sampai dengan 1000.
Bentuk umum:
for variabel := ekspresi1 to
ekspresi2 do
statemen
atau:
for variabel := ekspresi1 downto ekspresi2 do statemen
Catatan:
Jika ekspresi1 < ekspresi 2 gunakan bentuk pertama.
Jika ekspresi1 > ekspresi 2 gunakan bentuk kedua.
Jika ekspresi1 = ekspresi 2 gunakan bentuk pertama atau
kedua.
Contoh_1:
Program deretangka1;
uses crt;
var i,batas:integer; Begin
write('Masukkan integer positif');
readln(batas);
for i:=1 to batas do
writeln(i);
readln; End.
Contoh_2:
Program deretangka2;
uses crt;
var i,batas:integer; Begin
write('Masukkan integer positif');
readln(batas);
for i:=1 downto batas do writeln(i);
readln;
End.
Contoh_3:
Program tulis kelipatan3;
uses crt;
var i,batas:integer; Begin
clrscr;
write('Masukkan integer positif :');
readln(batas);
for i:=1 to batas do
if (i mod 3 =
0) then writeln(i);
readln; End.
for bersarang
Pada masalah
tertentu ada kemungkinan FOR berada dalam
FOR
yang lain. Bentuk
seperti ini disebut FOR
bersarang (nested for).
Contoh_4:
Program bintang; uses crt;
var baris,kolom:integer; Begin
clrcr;
for baris:=1 to 8 do
begin
for kolom:=1 to
baris do
write('*'):
writeln;
end; readln;
End.
statemen/peryataan while
Pernyataan while digunakan
untuk perulangan yang banyaknya perulangan tidak diketahui. Peryataan while
mirip dengan peryataan if yang melakukan pemeriksaan
ekspresi
boolean sebelum sebuah atau serangkaian peryataan dilakukan.
Bentuk umum: while kondisi do statemen
Kondisi adalah ekspresi boolean. Jika ekspresi bernilai true
statemen
dijalankan
dan
diperiksa kembali,
dan
keluar dari perulangan jika bernilai false.
Contoh_1:
Program deretangka_1;
uses crt;
var i:integer; Begin
clrscr;
i:=1;
while i <= 10
do begin writeln(i);
i:=i+1; end; readln; End.
Contoh_2:
Program deretangka_2;
uses crt;
var i:integer; Begin
clrscr;
i:=10;
while i > 0 do
begin
writeln(i);
i:=i-1; end; readln; End.
while bersarang
Contoh_3:
Program bintang2;
uses
crt;
var baris, kolom, jumbaris:integer;
Begin clrscr;
write('Jumlah baris : ');readln(jumbaris);
baris:=1;
while baris <= jumbaris do
begin
write('*' :jumbaris+1-baris);
kolom:=2;
while kolom
<= (2*baris-1) do begin
write('*'); kolom:=kolom+1; end;
writeln; baris:=baris+1; end;
readln;
End.
statemen/peryataan repeat
Peryataan Repeat biasa diapaki untuk menangani
perulangan yang
jumlahnya belum pasti, tetapi
paling
tidak dikerjakan
sekali. Pada while, ada kemungkinan
bagian pernyataan tidak dijalankan sama sekali.
Bentuk umum repeat:
repeat
peryataan_1; pernyataan_2;
...
pernyataan_n; until kondisi Tampak bahwa pengulangan
justru dilakukan selama
kondisi bernilai salah/false. Jadi merupakan kebalikan dari
pernyataan while. Perbedaan lain terhadap while adalah, bahwa pemeriksaan
terhadap kondisi pada repeat dilakukan belakangan, setelah bagian pernyataan antara repeat dan until.
Contoh_1:
Program deretangka_1;
uses crt;
var i:integer; Begin
clrscr;
i:=1;
repeat
writeln(i);
i:=i+1; until i > 10; readln;
End.
Contoh_2:
Program sudahberdoa;
uses crt;
var jawab:char;
Begin
repeat
write('Anda sudah berdoa ? (s/b)');
readln(jawab);
until (jawab ='s') or (jawab ='b');
if jawab ='s' then
write('Bagus')
else
write('Berdoa mendekatkan diri pada Tuhan');
readln; End.
Contoh_3:
Program tebakangka;
uses crt;
var tebakan,angka:integer;
sama:boolean;
Begin
clrscr; randomize;
angka:=random(100);
sama:=false;
repeat
write('Angka tebakan :');readln(tebakan);
if (tebakan < angka) then
writeln('Tebakan terlalu kecil')
else
begin
if (tebakan > angka) then
writeln('Tebakan terlalu besar')
else
begin
writeln('Tebakan benar');
sama:=true;
end;
end;
until (sama=true);
readln; End.
0 komentar:
Post a Comment