Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 56
BAB VII BAHASA PEMROGRAMAN PASCAL
7.1. Flow Chart Diagram Alir
Pada pembuatan suatu program diperlukan perencaaan tentang urutan proses yang secara logis harus benar. Prencanaan dalam suatu program pada
umumnya meliputi hubungan antara input, proses dan output. Gambaran yang menyatakan hal tersebut dinamakan flow chart diagram alir. Untuk membuat
suatu flow chart biasanya dipergunakan simbol-simbol yang sesuai kondisi yang terjadi. Simbol-simbol atau tanda yang dipakai dalam suatu flow chart untuk
pembuatan program komputer telah ditetapkan sebagai berikut :
Terminal
Input Output
Proses
Keputusan
Predefined Process
Konektor
Konektor Pindah halaman
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 57
Dengan adanya simbol atau tanda ini dimaksudkan untuk memudahkan dalam memahami alur atau jalannya proses yang ada pada suatu program.
7.2. Bahasa Pemrograman Pascal
Struktur program Pascal dapat dikelompokkan dalam tiga bagian, yaitu: 1.
Kepala Program 2.
Bagian Deklarasi 3.
Bagian PernyataanStatemen Kepala program terdiri dari kata program dan nama program. Kepala program
bisa tidak dituliskan. Bagian deklarasi berisi konstanta dan variabel yang akan dipakai. Bagian statemen berisi perintah-perintah yang harus harus dikerjakan dan
dimengerti oleh bahasa Pascal.
Program Lingkaran; Uses crt;
Const pi=3.14159; Var jarijari, keliling, luas : real;
Begin Clrscr;
WriteMasukkan jari-jari : ; Readlnjarijari;
Keliling := 2pijarijari; Luas := pisqrjarijari;
WritelnJari-jari =,jarijari:5:2; WritelnKeliling =,keliling:6:3;
WritelnLuas =,luas:6:3; Readln;
End.
Suatu bahasa program komputer biasanya mempunyai aturan penulisan programnya sendiri. Aturan penulisan program Pascal adalah sebagai berikut;
1. Program Pascal boleh ditulis mulai kolom berapa saja dan diakhiri pada kolom
berapa saja 2.
Setiap statemen diakhiri dengan ; titik koma 3.
Beberapa statemen boleh ditulis sekaligus di dalam satu baris Kepala Program
Bagian Deklarasi
Bagian Pernyataan
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 58
7.3. Percabangan I : If ….. Then …. Else …..
Pernyataan percabangankendalibersyarat merupakan pernyataan yang akan mengeksekusi suatu pernyataan yang mengikutinya bila suatu persyaratan
dipenuhi. Salah satu pernyataan kendali untuk pengambilan keputusan dalam Pascal
adalah pernyataan If … Then … Else …
Bentuk umum : IF kondisi THEN
Statemen 1 ELSE
Statemen 2 dimana :
kondisi : ungkapan boolen yang menghasilkan nilai benar atau salah statemen 1, statemen 2 : pernyataan-pernyataan tunggalmajemuk. Dalam
Pascal, pernyataan majemuk adalah kumpulan dari beberapa pernyataan yang diawali dengan kata baku BEGIN dan diakhiri oleh kata baku END, yang
dianggap sebagai sebuah pernyataan tunggal. Maksudnya : bila kondisi bernilai TRUE benar maka akan dikerjakan statemen 1
dan statemen 2 dilewati, sedangkan jika kondisi bernilai FALSE salah maka akan dikerjakan statemen 2 dan statemen 1 dilewati.
Untuk pernyataan IF yang berkalang ada pernyataan IF yang lain dalam pernyataan IF, ELSE selalu berpasangan dengan dengan IF yang terletak sebelum
dan yang paling dekat dengan ELSE tersebut, serta terletak dalam blok pernyataan yang sama.
Contoh 1 : Program untuk mencari akar persamaan kuadrat di bawah ini
Program PersamaanKuadrat; uses crt;
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 59
var a,b,c,d,x1,x2 :real; begin
clrscr; writelnMenghitung akar-akar persamaan kuadrat;
writelnNilai a,b,c dimasukkan dengan jeda spasi; writeMasukkan nilai a,b,c:;
readlna,b,c; d:=bb-4ac;
if d0 then writelntidak ada akar real else
begin x1:=-b+sqrtd2a;
x2:=-b-sqrtd2a; writelnx1 =,x1:6:2;
writelnx2 =,x2:6:2; end;
readln; end.
Contoh Hasil Eksekusi : - jika d = 0
Menghitung akar-akar persamaan kuadrat Nilai a,b,c dimasukkan dengan jeda spasi
Masukkan nilai a,b,c:1 4 2 x1 = -0.59
x2 = -3.41
- jika d 0 :
Menghitung akar-akar persamaan kuadrat Nilai a,b,c dimasukkan dengan jeda spasi
Masukkan nilai a,b,c:1 2 6 tidak ada akar real
Catatan : 1.
Di dalam IF boleh ada IF pernyataan IF yang berkalang 2.
Jika diinginkan kondisi = FALSE tidak mengerjakan apa-apa, maka ELSE tidak perlu dituliskan.
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 60
3. Pernyataan ELSE tidak diakhri dengan ; titik koma begitu pula baris
pernyataan sebelum ELSE.
7.4. Percabangan II : Case ….. Of …..
Pernyataan CASE …. OF …. Digunakan untuk pengambilan keputusan jika terdapat lebih dari dua alternatif jawaban yang tersedia.
Bentuk umum : CASE ungkapan OF
Label 1 : Statemen 1 Label 2 : Statemen 1
……….. ………..
……….. Label n : Statemen n
END;
dimana : ungkapan
: dapat berupa sembarang ungkapan yang memberikan hasil integer, char, boolean atau tipe terbilang kecuali real.
Label : konstanta yang mempunyai tipe yang sama dengan ungkapan
Statemen : pernyataan yang mengikuti berupa rangkaian instruksi yang
harus dikerjakan jika nilai konstanta dalam label sama dengan nilai variabel
Maksudnya jika ungkapan bernilai label 1, maka dikerjakan statemen1, jika bernilai label 2 akan dikerjakan statemen 2 dan seterusnya.
Pernyataan CASE …. OF …. boleh diikuti ELSE. Perlu diketahui, ELSE dalam pernyataan CASE …. OF …. Hanya bersifat pilihan, dalam artian boleh
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 61
disertakan boleh tidak. Jika ELSE disertakan, pernyataan yang mengikuti ELSE akan dieksekusi hanya bila nilai dari syarat-pemilih tidak ada dalam semua label.
Contoh 1 :
Program nilai_ujian; uses crt;
var nama : string[25]; nim : string[8];
nilai: integer; begin
clrscr; writeMasukkan nama mahasiswa : ;
readlnnama; writeMasukkan nomor induk mahasiswa : ;
readlnnim; writeMasukkan nilai ujian : ;
readlnnilai; writeln;
case nilai div 10 of 10,9 : writelnNilai huruf = A;
8 : writelnNilai huruf = B; 7 : writelnNilai huruf = C;
6 : writelnNilai huruf = D; 5,4,3,2,1,0 : writelnNilai huruf = E;
end; readln;
end.
Contoh 2 :
Program konversi; uses crt;
var menit, jam, kaki, meter, fahrenheit, celcius : real;
pilihan :char; begin
clrscr; writelnPilihan konversi:;
writeln1 Menit ke jam; writeln2 Kaki ke meter;
writeln3 Derajat Fahrenheit ke Celcius; writepilihan ? ;
readlnpilihan;
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 62
case pilihan of 1 : begin
writemenit= ; readlnmenit;
jam:=menit60; writelnnilai ini sama dengan ,jam:4:1,
jam; readln;
end; 2 : begin
writekaki= ; readlnkaki;
meter:=0.3048kaki; writelnnilai ini sama dengan ,meter:4:1,
meter; readln;
end; 3 : begin
writeDerajat Fahrenheit = ; readlnfahrenheit;
celcius:=59fahrenheit-32; writelnnilai ini sama dengan ,Celcius:4
:1, Celcius; readln;
end; else writelnTidak melakukan konversi;
end; end.
7.5. KalanG I : For … To … Do… dan For ... Downto ... Do…
Salah satu ciri bahasa pemrograman adalah adanya perintah-perintah yang harus dikerjakan berulang- ulang. Pengulangan ini sering disebut dengan kalang.
Dalam bahasa Pascal ada beberapa perintah untuk membuat kalang, yaitu: FOR … TO … DO… dan FOR … DOWNTO … DO…
Bentuk umum : FOR pengubah:=ungkapan1 TO ungkapan2 DO
Statemen; dan
FOR pengubah:=ungkapan1 DOWNTO ungkapan2 DO Statemen;
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 63
dimana, pengubah
: suatu pengubah yang disebut pengubah kendali, dapat berupa pengenal dari tipe integer, char, boolean atau tipe terbilang.
ungkapan1 : nilai awal pengubah
ungkapan2 : nilai akhir pengubah
Beberapa aturan yang harus dipenuhi : -
Pengubah, ungkapan1 dan ungkapan2 harus mempunyai tipe data yang sama -
Pada kalang TO ungkapan1ungkapan2 -
Pada kalang DOWNTO ungkapan1ungkapan2
Contoh 1 : Program untuk menghitung jumlah n bilangan pertama dan jumlah
kuadrat n bilangan pertama Program jumlahKuadrat;
Uses crt; Var jumlah, jmlkuadrat,i,n : integer;
begin clrscr;
WriteBanyak n bilangan yang akan diproses; readlnn;
jumlah:=0; jmlkuadrat:=0;
for i:=1 to n do begin
jumlah:=jumlah+i; jmlkuadrat:=jmlkuadrat + ii;
writelnJumlah ,i:2, bilangan pertama
= ,jumlah:5; writelnJumlah Kuadrat ,i:2, bilangan pertama
= ,jmlkuadrat:5; end;
readln; end.
Contoh 2 : Mencetak abjad dengan urutan terbalik dari z…a
Program tulisabjad; Uses crt;
Var karakter : char;
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 64
begin clrscr;
for karakter:= z downto a do writekarakter:2;
readln; end.
Contoh 3 :
Program berikut adalah program untuk menghitung deret eksponensial dan membandingkan dengan fungsi pustaka EXP.
Deret eksponensial adalah : .......
..... 4
3 2
1
4 3
2
+ +
+ +
+ +
+ =
=
∑
∞ =
n x
x x
x x
n x
e
n n
n x
Program eksponensial; uses crt;
var eksponen, x,suku : real; n,i : integer;
begin clrscr;
writeMasukkan banyaknya sukun: ; readlnn;
writeMasukan nilai x : ; readlnx;
eksponen:=1.0; suku:=1.0;
for i:=1 to n do begin
suku:=sukuxi; eksponen:=eksponen+suku;
end; writeln;
writelnNilai deret = ,eksponen:10:6; writelnNilai fungsi = ,expx:10:6;
readln; end.
Contoh 4 :
Bilangan Fibonacci memiliki rumusan
: F
i
= F
i-1
+ F
i-2
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 65
Suku ke-1 merupakan penjumlahan bilangan Fibonacci suku ke-i-1 dan suku ke- i-2, dengan bilangan pada suku pertama dan suku kedua didefinisikan sama
dengan satu. Program Fibonacci;
Uses crt; Var i,n,f,f1,f2 : integer;
begin clrscr;
writelnIngin mencetak bilangan Fibonacci; writesampai suku ke-;
readlnn; writeln;
writelnSuku ke- 1 = ,1; writelnSuku ke- 2 = ,1;
f1 :=1; f2:=1; for i:=3 to n do
begin f:=f1+f2;
writelnSuku ke- ,i:2, = ,F:3; f2:=f1; f1:=f;
end; readln;
end.
7.6. Kalang II : While .… Do…. dan Repeat .... Until ….
Selain membuat kalang dengan FOR….TO.…DO.… dan FOR..… DOWNTO … DO … ada bentuk kalang yang lebih umum yaitu : WHILE … DO
…. yang bentuk umumnya adalah sebagai berikut : WHILE kondisi DO
Statemen dimana,
kondisi : adalah ungkapan boolean yang digunakan sebagai syarat agar
statemen dikerjakan berulang kali statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan
diproses ulang.
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 66
Contoh 1 :
Jumlah deret n bilangan asli pertama Program Jumlah_Deret;
Uses crt; Var n, jumlah, pencacah : integer;
begin clrscr;
WritelnMenghitung jumlah 1 + 2 + 3 + ... + n; writen = ? ;
readlnn; pencacah:=1;
jumlah:=0; while pencacah = n do
begin jumlah:=jumlah+pencacah;
pencacah:=pencacah + 1; end;
writeln; writelnJumlah deret = ,jumlah:5;
readln; end.
Selain membuat kalang dengan 3 cara di atas masih ada cara lain untuk membuat kalang, yaitu dengan perintah REPEAT …. UNTIL yang bentuk umumnya adalah
sebagai berikut : REPEAT
………… Statemen
…………. UNTIL kondisi
dimana, statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan
diproses ulang. Kondisi : adalah ungkapan boolen sebagai syarat agar pernyataan diproses
ulang.
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 67
Catatan : Salah satu statemen diantara repeat dan until harus ada yang bisa merubah nilai kondisi sehingga kalang bisa berhenti
Contoh 2 :
Mengganti kalang WHILE … DO …. Dari contoh 1 dengan kalang REPEAT …. UNTIL …..
Program Jumlah_Deret; Uses crt;
Var n, jumlah, pencacah : integer; begin
clrscr; WritelnMenghitung jumlah 1 + 2 + 3 + ... + n;
writen = ? ; readlnn;
pencacah:=0; jumlah:=0;
repeat begin
jumlah:=jumlah+pencacah; pencacah:=pencacah + 1;
end; until pencacah = n+1;
writeln; writelnJumlah deret = ,jumlah;
readln; end.
Contoh 3 : Program berikut adalah program untuk menghitung deret
eksponensial dan membandingkan dengan fungsi pustaka EXP
dengan kalang WHILE …. DO ….
Deret eksponensial adalah :
....... .....
4 3
2 1
4 3
2
+ +
+ +
+ +
+ =
=
∑
∞ =
n x
x x
x x
n x
e
n n
n x
Program eksponensial; uses crt;
var eksponen, x,suku : real;
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 68
n,i : integer; begin
clrscr; writeMasukkan banyaknya sukun: ;
readlnn; writeMasukan nilai x : ;
readlnx; eksponen:=1.0;
suku:=1.0; i:=1;
while i = n do begin
suku:=sukuxi; eksponen:=eksponen+suku;
i:=i+1; end;
writeln; writelnNilai deret = ,eksponen:10:6;
writelnNilai fungsi = ,expx:10:6; readln;
end.
Contoh 4 :
Program untuk menghitung mean dan standar deviasi dari sejumlah data masukkan non negatif dan berhenti apabila masukkan data adalah -1.
Program Mean_StdDev; Uses crt;
Const neg=-1; Var bilangan, total1, total2, mean, std : real;
n : integer; begin
clrscr; total1:=0.0;
total2:=0.0; n:=0;
writelnMasukkan data non negatif, dan untuk mengakhiri masukkan angka -1;
readlnbilangan; repeat
n:=n+1; total1:=total1+bilangan;
total2:=total2+bilanganbilangan;
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 69
writelnMasukkan data non negatif, dan untuk mengakhiri masukkan angka -1;
readlnbilangan; until bilangan=neg;
mean:= total1n; std:=sqrttotal2n-1-sqrtotal1nn-1;
writelnMean = ,mean:7:2; writelnDeviasi Standar = ,std:8:3;
readln; end.
7.7. Procedure dan Fungsi