You are on page 1of 57

Pemprograman dengan Bahasa Pascal

Dengan Contoh-Contoh Program, Output,


Latihan dan Penyelesaian

Disusun Oleh :
Nama : Irpan Kusuma Wijaya
NIM : 200822018
Fakultas : Teknologi Industri
Jurusan : Teknik Informatika

INSTITUT SAINS DAN TEKNOLOGI AL-KAMAL


JAKARTA
dayak_timur@yahoo.com

DAFTAR ISI
HALAMAN JUDUL ............................................................................................. 1

DAFTAR ISI ....................................................................................................... 2

BAB I Mengenal Pascal


A. Perkembangan Pascal ..................................................................... 3
B. Struktur Program Pascal .................................................................. 3
C. Penulisan Program Pascal ............................................................... 3
D. Judul Program .................................................................................. 3
E. Bagian Deklarasi .............................................................................. 3
1. Deklarasi Konstanta ..................................................................... 3
2. Deklarasi Variabel ........................................................................ 4
3. Deklarasi tipe ............................................................................... 4
4. Deklarasi Label ............................................................................ 4
F. Cara Mengorerasikan Turbo Pascal ................................................ 4

BAB II Elemen-Element Program Pascal


A. Kata-Kata Cadangan ....................................................................... 5
B. Pengenal (Identifier) ........................................................................ 5
C. Tipe Data ......................................................................................... 5
D. Tanda Operasi ................................................................................ 6
E. Komentar Program .......................................................................... 6

BAB III Input dan Output


Program Output ................................................................................... 7
Program Input ....................................................................................... 8
Tampilan Terformat .............................................................................. 11
Pengaturan Letak di Layar dengan Prosedur Gotoxy .......................... 14
Pengaturan Letak di Layar dengan Prosedur Delay ............................ 15

BAB IV Perulangan
1. Perulangan For ............................................................................... 22
a. Perulangan For Positif ............................................................... 22
b. Perulangan For Negatif .............................................................. 25
c. Perulangan For Bersarang ......................................................... 26
2. Pengulangan While Do ................................................................... 29
3. Perulangan Repeat Until ................................................................. 30

BAB V Penyeleksian Kondisi


1. Pendahuluan ................................................................................... 45
2. Statemen If .... Then ........................................................................ 45
3. Statemen If .... Then ..... Else .......................................................... 47
4. Statemen Case .... of ...................................................................... 48

PEMPROGRAMAN PASCAL 2
dayak_timur@yahoo.com

BAB I
Mengenal Pascal

A. Perkembangan Pascal
Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada semua
tujuan oleh Professor Niklaus Wirth, nama pascal diambil sebagai penghargaan terhadap
Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Perancis. Kompiler
Bahasa pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) untuk
membantu mengajar program komputer secara sistematis, khususnya untuk pemprograman
terstruktur.

B. Struktur Program Pascal


Struktur program pascal terdiri dari :
1. Judul Program
2. Blok Program
a. Bagian deklarasi
- Deklarasi label
- Definisi konstanta
- Definisi tipe
- Deklarasi variable
- Deklarasi prosedur
- Deklarasi fungsi
b. Bagian pernyataan

C. Penulisan Program Pascal


Contoh penulisan program yang bebas
Begin
Writeln(‘Belajar Pascal’);
Writeln(--------------‘);
End.
Contoh penulisan yang tidak dianjurkan
Begin Writeln(‘Belajar Pascal’); Writeln(--------------‘);
End.
Contoh penulisan program yang dianjurkan
Begin
Writeln(‘Belajar Pascal’);
Writeln(--------------‘);
End.

D. Judul program
Judul program (bila ditulis) terletak pada awal program dan diakhiri dengan titik koma.

E. Bagian Deklarasi
1. Deklarasi Konstanta
Berisi identifier yang berisi nilai-nilai konstanta.
Contoh penulisannya:
Const

PEMPROGRAMAN PASCAL 3
dayak_timur@yahoo.com

Panjang=10;
Lebar=5;
2. Deklarasi Variabel
Mendefinisikan identifieryang berisi data yang berubah-ubah nilainya dalam program.
Var total,gaji:real;
Menikah,keterangan:string;

3. Deklarasi tipe
Ada beberapa tipe dalam pascal antara lain :
a. Tipe data sederhana, terdiri dari :
- Tipe data standar : integer,char,real,string,boolean
- Tipe data didefinisikan pemakai : enumarated atau scalar type, subrange tipe.
b. Tipe data terstruktur, terdiri dari :
- Array - File
- Record - Set
c. Tipe data penunjuk (pointer type data)
Contoh : Type
Pecahan = real;
Logika = Boolean;
Bulat = integer;
Huruf = string [25];
Begin

4. Deklarasi label
Deklarasi yang neggunakan statemet goto untuk meloncat ke suatu statemen lain.
Contoh :
Label 100,selesai;
Begin
.................
Goto 100
.................
100 :
.................
Goto selesai
.................
Selesai :
End.

F. Cara mengoperasikan Turbo Pascal


Torbo pascal versi 5.0 hanya dapat dioperasikan pada format sistem operasi DOS, apabila
kita menggunakan sistem operasi windows maka harus keluar dari sistem operasi.

PEMPROGRAMAN PASCAL 4
dayak_timur@yahoo.com

BAB II
Element-Element Program Pascal

Element-element program pascal adalah sbb :


1. Simbol-simbol dasar
2. Kata-kata cadangan
3. Pengenalan didefinisikan oleh pemakai.
4. Data
5. Karakter control
6. Tanda operasi
7. Komentar program
8. Statemen
9. Prosedur
10. Fungsi

A. Kata-kata cadangan
Adalah kata-kata yang telah didefinisikan oleh pascal yang mempunyai maksud tertentu,
kata-kata cadangan tidak boleh didefinisikan oleh pemakai sehingga tidak dipergunakan
sebagai pengenal(identifier).

B. Pengenal (identifier)
Ketetntuan-ketentuan identifier :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf,
dimana huruf besar dan huruf kecil dianggap sama.
2. Tidak boleh mengandung blank.
3. Tidak boleh mengandung simbol-simbol khusus.
4. Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap signifikan.

C. Tipe data
1. Tipe data numerik integer
Tipe Ukuran memory jangkauan nilai
Byte 1 byte 0 .. 255
Shortint 1 byte -128 .. 127
Integer 2 byte -32768 .. 32767
Word 2 byte 0 .. 65535
Longint 4 byte -2147483648

2. Tipe data numerik real


Tipe konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38, nilai numerik
real menempati memory sebesar 6 byte.
3. Tipe data karakter
Nilai karakter berupa sebuah karakter yang ditulis diantara tanda petik tunggal.
4. Tipe data string
Berupa kumpulan beberapa karakter yang terletak diantara tanda petik tunggal.
5. Tipe data boolean.
Tipe data ini mempunyai dua nilai yaitu true & false.

PEMPROGRAMAN PASCAL 5
dayak_timur@yahoo.com

D. Tanda Operasi
Dalam bahasa pascal ada beberapa tanda operasi (operator) antara lain :
Operator Fungsi
assignment operator
:= sama dengan
binary operator
* perkalian
Div pembagian bulat
/ pembagian real
MOD Modulus (hasil pembagian)
+ penjumlahan
- pengurangan
bitwise operator
NOT Logika Not
AND Logika And
OR Logika Or
XOR Logika Xor
SHL gerser ke kiri (shift left)
SHR geser ke kanan (shift right)
relation operator
= sama dengan
<> tidak sama dengan
> lebih besar dari
< lebih kecil dari
>= lebih besar sama dengan dari
<= lebih kecil sama dengan dari

E. Komentar Program
Komentar program digunakan untuk keperluan dokumentasi program, sehingga program
mudah dibaca dan dipahami dapat ditambahkan komentar-komentar di dalam program
tidak akan mempengaruhi program. Komentar ditulis dengan tanda pembatas { dan } atau
(* dan *).

PEMPROGRAMAN PASCAL 6
dayak_timur@yahoo.com

BAB III
Program Input dan Output

Program Output
Dalam bahasa pascal untuk menampilkan hasil digunakan prosedur standard write atau
writeln.
Write menampilkan hasil tanpa ganti baris.
Writeln menampilkan hasil dengan ganti baris.
Contoh-contoh Program serta Outputnya
Contoh 1
Begin
Writeln(‘Saya Belajar Pascal’);
Writeln(‘---------------------------‘);
Readln;
End.
Output
Saya Belajar Pascal

Contoh 2
Begin
Writeln(‘Hai apa kabar?’);
Write(‘Baik-baik saja’);
Readln;
End.
Output
Hai apa kabar?
Baik-baik saja

Contoh 3
Begin
Write(‘Hai apa kabar?’);
Write(‘Baik-baik saja’);Readln;
End.
Output
Hai apa kabar?Baik-baik saja

Contoh 4

Begin
Writeln(‘Hai apa kabar?’);Writeln;
Write(‘Baik-baik saja’);
Readln;
End.
Output
Hai apa kabar?

Baik-baik saja
Note : Writeln digunakan untuk pindah baris atau posisi cursor.
Program Input
PEMPROGRAMAN PASCAL 7
dayak_timur@yahoo.com

Dalam bahasa pascal untuk memasukan data digunakan prosedur standard read atau readln.
Read  untuk memasukan data dalam satu baris.
Readln  untuk memasukan data pada baris yang berbeda.

Contoh 1
Uses Crt;
Var A,B,C:Byte; {A,B,C Merupakan variable yang digunakan dalam Program}
Begin
Clrscr;
Write(‘Masukan nilai A=’);Readln(A);{input data pada baris yang sama}
Write(‘Masukan nilai B=’);Readln(B);{input data pada baris yang sama}
C:=A+B;
Writeln(‘A+B=’,C); {untuk menampilkan A+B=}
Writeln(A,’+’,B,’=’,C); {untuk menampilkan nilai A dan B yang kita input}
Readln;
End.

Output
Masukan ni la i A=5 {angka 5 merupakan nilai yang kita input}
Masukan ni la i B=6 {angka 6 merupakan nilai yang kita input}
A+B=11 {angka 11 merupakan nilai C hasil dari A+B}
5+6=11

Contoh 2
Uses Crt;
Var A,B,C:Byte; {A,B,C Merupakan variable yang digunakan dalam Program}
Begin
Clrscr;
Writeln(‘Masukan nilai A=’);Readln(A); {input data pada baris yang berbeda}
Writeln(‘Masukan nilai B=’);Readln(B); {input data pada baris yang berbeda}
C:=A+B;
Uses Crt;
Var A,B,C:Byte;
Begin
Clrscr;
Writeln(‘Masukan nilai A=’);
Readln(A);C:=A+BWriteln(‘Masukan nilai B=’);Readln(B);
Writeln(‘A+B=’,C); {untuk menampilkan A+B=}
Writeln(A,’+’,B,’=’,C); {untuk menampilkan nilai A dan B yang kita input}
Readln;
End.

Output
Masukan nilai A=
5 {angka 5 merupakan nilai yang kita input}
Masukan nilai B=
6 {angka 6 merupakan nilai yang kita input}
A+B=11 {angka 11 merupakan nilai C hasil dari A+B}
5+6=11

Note :
- Clrscr digunakan untuk membersihkan layar monitor dari tampilan sebelumnya
- Clrscr harus dipasangkan dengan Uses Crt bila pascal dijalankan dalam DOS

PEMPROGRAMAN PASCAL 8
dayak_timur@yahoo.com

-Clrscr harus dipasangkan dengan Uses WinCrt bila pascal dijalankan dalam
Windows.
Contoh 3
Var Nama:String[15];
Begin
Nama :=’Shabira’;
Write(‘Nama :’);
Write(Nama);
Readln;
End.

Output
Nama : Shabira

Contoh 4
Var Nama:String[15];
Begin
Nama :=’Shabira’;
Writeln(‘Nama :’);
Writeln(Nama);
Readln;
End.

Output
Nama :
Shabira

Contoh 5
Var Nama:String[15]; {untuk membatasi jumlah character dalam
string}
Begin
Nama :=’Shabira Kusumawati’;
Write(‘Nama :’);
Write(Nama);
Readln;
End.

Output
Nama : Shabira Kusumaw

Note : String[15] berarti jumlah character yang akan ditampilkan hanya 15 character.

Contoh 6
Var Huruf1,Huruf2:char;
Begin
Huruf1:=’A’;
Huruf2:=’B’;
Writeln(Huruf1,Huruf2);
Readln;
End.

Output
AB

PEMPROGRAMAN PASCAL 9
dayak_timur@yahoo.com

Contoh 7
Var Huruf1,Huruf2:char;
Begin
Huruf1:=’A’;
Huruf2:=’B’;
C:=concat(AB); {concat digunakan untuk menggabungkan character}
Writeln(C);
Readln;
End.

Output
AB

Contoh 8
Uses Crt;
Var A,B,C:Byte;
Begin
Clrscr;
Write(‘Masukan nilai A=’);Readln(A);
Write(‘Masukan nilai B=’);Readln(B);
C:=A+B;
Writeln(‘A+B=’,C); {untuk menampilkan A+B=}
Writeln(A,’+’,B,’=’,C); {untuk menampilkan nilai A dan B yang kita input}
Readln;
End.

Output
Masukan ni la i A=5 {angka 5 merupakan nilai yang kita input}
Masukan ni la i B=6 {angka 6 merupakan nilai yang kita input}
A+B=11 {angka 11 merupakan nilai C hasil dari A+B}
5+6=11

Contoh 9
Uses Crt;
Var C:Char;
B:Boolean;
Begin
Clrscr;
Write(‘Benar atau Salah (B/S)?’);Readln(C);
B:=(C=’B’);
Write(‘Yang anda maksud adalah :’,B);
Readln;
End.

Output
Benar atau Salah (B /S)?B {B merupakan nilai yang kita input}
Yang anda maksud adalah B

PEMPROGRAMAN PASCAL 10
dayak_timur@yahoo.com

Tampilan Terformat
a. Parameter CH:N
Tampilan char selebar n karakter dengan blank di muka sebanyak n-1.
b. Parameter S:N
Tampilan string dengan lebar n karakter.
c. Parameter I:N
Tampilan integer dengan lebar n digit.
d. Parameter R:N
Tampilan nilai numerik real dengan lebar n digit rata sebelah kanan.
e. Parameter R:N:M
Tampilan nilai numerik real dengan lebar n digit rata sebelah kanan, dengan m digit angka
di belakang koma.
f. Parameter B:N
Tampilan Boolean True atau False dengan lebar n karakter sebelah kanan.

Contoh 1
Var Huruf1,Huruf2:Char;
Begin
Huruf1:=’A’;
Huruf2:=’B’;
Writeln(Huruf1:5,Huruf2:4); {disediakan 5 character untuk Huruf1 dan
Readln; 4 character untuk Huruf2 }
End.

Output
A B

Contoh 2
Var String1,String2:String[10];
Begin
String1:=’Pascal’;
Writeln(‘Bahasa’,String1:12); {disediakan 12 character untuk String1}
Readln;
End.

Output
Bahasa Pascal

Contoh 3
Uses Crt;
Var Ket1:Char;
Ket2:String[6];
Ket3:Integer;
Ket4:Real;
Ket5:Boolean;
Begin

PEMPROGRAMAN PASCAL 11
dayak_timur@yahoo.com

Clrscr;
Ket1:=’A’;
Writeln((ket1:5);
Ket2:=’Pascal’;
Writeln(‘Bahasa :’,Ket2:10);
Ket3:=24200;
Writeln(‘Jumlah Data :’,Ket3:9);
Ket4:=222006;
Writeln(‘Nilai Real :’,Ket4:12);
Writeln(‘Nilai Real Kedua :’,Ket4:12:3);
Ket5:=True;
Writeln(‘Nilai Boolean :’,Ket5:7);
Readn;
End.

Output
A
Bahasa : Pascal
Jumlah Data : 24200
Nilai Real : 2.22006E+05
Nilai Real Kedua : 222006.000
Nilai Boolean : True

Latihan 1 (Buatlah Program, Output dan Flowchartnya)


1. Buat program menghitung luas dan keliling lingkaran dengan hasil perhitungannya
menggunakan format 2 angka di belakang koma!.
2. Buat program menghitung luas persegi panjang dengan ketentuan panjang dan lebar
diinput. Dengan outputnya menggunakan format 3 angka di belakang koma
3. diketahui sebuah kotak mempunyai ukuran :
panjang alas : 10 cm
lebar alas : 7 cm
tinggi : 15 cm
buatlah sebuah program yang akan menghitung isi kotak dan luas permukaan kotak.
Tampilan hasil yang diinginkan adalah :
ukuran kotak : 10 cm x 7 cm x 15 cm
isi kotak : 1050cm3
luas permukaan kotak : 650 cm2

Jawab
1. Program
Uses Crt;
Var r:Integer; L,K:Real;
Begin
Clrscr;
Write(‘Masukan Jari-jari =’);Readln(r);
L:=3.14*r*r;
Writeln(‘Luas Lingkaran =’,L:8:2);
K:=3.14*2*r;
Writeln(‘Keliling Lingkaran =’,K:8:2);Readln;
End.
Output
Masukan Jar i - jar i = 10 {10  nilai yang kita input}

PEMPROGRAMAN PASCAL 12
dayak_timur@yahoo.com

Luas L ingkaran = 314.00 {314.00  hasil perhitungan luas}


Kel i l ing L ingkaran = 62.80 {62.80  hasil perhitungan keliling}
2. Program
Uses Crt;
Var p,l:integer;
Luas:real;
Begin
Clrscr;
Write(‘Panjang =’);Readln(p);
Write(‘Lebar =’);Readln(l);
Luas:=p*l;
Writeln(‘Luas Persegi Panjang =’,Luas:8:3);
Readln;
End.

Output
Panjang = 6 {6  nilai p yang kita input}
Lebar = 3 {3  nilai l yang kita input}
Luas Persegi Panjang = 18.000 {18.000  hasil perhitungan
luas}

3. Program
Uses Crt;
Var p,l,t,i,Luas:integer;
s1:string;
s2:char;
Begin
Clrscr;
p:=10;
l:=7;
t:=15;
s1:=’cm’;
s2:=’x’;
Writeln(‘ukuran kotak :
’,p:3,s1:3,s2:2,l:2,s1:3,s2:2,t:3,s1:3);
i:=p*l*t;
Writeln(‘isi kotak :’,i:5,s1,’3’);
Luas:=2*(p*l+p*t+l*t);
Writeln(‘luas permukaan kotak :’,Luas:4,s1:3,’2’);
Readln;
End.

Output
ukuran kotak : 10 cm x 7 cm x 15 cm
isi kotak : 1050cm3
luas permukaan kotak : 650 cm
Flowchart

PEMPROGRAMAN PASCAL 13
dayak_timur@yahoo.com

start
start

p,l,luas
r,l,k

start
masukkan nilai panjang
masukkan nilai r
pa,la,t,vol,luas

p
r pa=10
la=7
t=15
k=(2*3.14)*r*r
k=(2*3.14)*r*r
ukuran kotak = 10*7*15

l=3.14*r masukkan nilai lebar vol=pa*la*t

luas=pa*la
luas lingkaran: l
isi kotak:

l l=p*l
vol

luas persegi:
k
luas permikaan kotak :

luas
keliling lingkaran:
luas

stop stop
stop

Nomor 1 Nomor 2 Nomor 3

Pengaturan Letak di Layar dengan Prosedur gotoxy


Sintaks :
gotoxy(x,y) artinya output akan terletak pada kolom ke-x dan baris ke-y.
Contoh 1
Uses Crt;
Begin
Clrscr;
Gotoxy(10,15);
Writeln(‘Bahasa Pascal’);
Readln;
End.

PEMPROGRAMAN PASCAL 14
dayak_timur@yahoo.com

Output

{Bahasa Pascal terletak pada kolom ke-10 dan baris ke-15}

Contoh 2
Uses Crt;
Begin
Clrscr;
Gotoxy(5,5);
Writeln(‘Bahasa Pascal’);
Readln;
End.

Output

{Bahasa Pascal terletak pada kolom ke-5 dan baris ke-5}

Pengaturan Letak di Layar dengan Prosedur Delay


Delay digunakan untuk menghentikan sejenak proses program. Ukuran waktunya dalam
milisecond (1/1000 detik).
Contoh 1
Uses Crt;
Begin
Clrscr;
Writeln(‘Halo mahasiswa, kalian lagi belajar apa?’);
Delay(5000); {Program akan berhenti sejenak selama 5 detik}
Writeln;
Writeln(‘Kami lagi belajar Praktek Pascal’);
Readln;
End.

Output
Halo mahasiswa, kalian lagi belajar apa?
{ada selang 5 detik}
Kami lagi belajar Praktek Pascal

Contoh 2
Uses Crt;
Begin

PEMPROGRAMAN PASCAL 15
dayak_timur@yahoo.com

Clrscr;
Writeln(‘Halo mahasiswa, kalian lagi belajar apa?’);
Delay(8000); {Program akan berhenti sejenak selama 5 detik}
Writeln;
Writeln(‘Kami lagi belajar Praktek Pascal’);
Readln;
End.

Output
Halo mahasiswa, kalian lagi belajar apa?
{ada selang 8 detik}
Kami lagi belajar Praktek Pascal

Latihan 2 (Buatlah Program, Output dan Flowchartnya)


1. Buat Program yang outputnya :
 Saya suka belajar Pascal { pada posisi (5,10) }.
 Belajar pascal itu mengasyikan { posisi (12,13) dengan delay 3 detik dari teks pertama
}.
 Saya sudah bisa membuat program { posisi (20,15) dengan delay 8 detik dari teks
pertama }.
2. Buat program dengan ketentuan :
Input : masukan nilai x untuk kolom
Masukan nilai y untuk baris
Output : Hai apa kabar kawan ? delay 7 detik muncul ‘Baik-baik saja’.
3. Perusahaan telepon di kota ‘X’ mempunyai tarip Rp.100 per pulsa. Setiap langganan
dikenakan biaya langganan sebesar Rp.3000 per bulan. Jumlah pulsa = 235. buatlah
program untuk menghitung tagihan langganan.
Keluaran : Jumlah Tagihan
Petunjuk : Buatlah biaya langganan dan tarif pulsa sebagai konstanta (karena sama
untuk semua langganan).
4. Sama dengan soal no.3, ubahlah program tersebut sehingga tampilannya sebagai berikut :
Nomor langganan : ...................
Nama langganan : ...................
Alamat : ...................
Perincian tagihan :
Biaya Berlangganan : Rp. ...................
Biaya Pulsa ....*Rp.100 : Rp. ...................
--------------------------------------------------------------------
Total : Rp. ...................
Petunjuk : Tambahkan data masukan Nomor langganan, Nama langganan, dan
Alamat.
5. Buat program untuk menghitung gaji pegawai PT. Al-Kamal yang diterima, dengan
ketentuan : tunjangan pegawai adalah 15 % dari gaji pokok. Upah lembur per jam adalah
1 % dari gaji pokok.
Input : Nama, NIP, Gaji pokok, jumlah jam lembur
Output :
Perincian gaji pegawai :
Gaji Pokok : Rp .................
Tunjangan : Rp .................
Upah Lembur : Rp .................

PEMPROGRAMAN PASCAL 16
dayak_timur@yahoo.com

-----------------------------------------------
Gaji Total : Rp .................
Jawab
1. Program
Uses Crt;
Begin
Clrscr;
Gotoxy(5,10); Writeln(‘Saya suka belajar pascal’);
Delay(3000);
Gotoxy(12,13); Writeln(‘Belajar pascal itu mengasyikan’);
Delay(5000);
Gotoxy(20,15); Writeln(‘Saya sudah bisa membuat
program’);
Readln;
End.
Output

2. Program
Uses Crt;
Var x,y:integer;
Begin
Clrscr;
Write(‘Masukan Kolom :’); Readln(x);
Write(‘Masukan Baris :’); Readln(y);
Clrscr;
Gotoxy(x,y);Writeln(‘Hai apa kabar kawan ?’);
Delay(7000);Writeln(‘Baik-baik saja’);
Readln;
End.

Output {misalkan nilai x,y yang kita input adalah 3}

Hai apa kabar kawan ? {terletak pada kolom ke3 dan baris
ke 3}
Baik-baik saja

3. Program
Uses Crt;
Var jumlah:longint;
Const langganan=3000;
pulsa=100;
Begin

PEMPROGRAMAN PASCAL 17
dayak_timur@yahoo.com

Clrscr;
jumlah:=langganan+235*pulsa;
Writeln('Jumlah Tagihan : Rp.',jumlah);
Readln;
End.

Output
Jumlah Tagihan : Rp.26500

4. Program
Uses Crt;
Var no,nama,alamat:string;
x:char;
Const langganan=3000;
pulsa=100;
Begin
Clrscr;
x:=':';
Write('Nomor langganan',x:2); Readln(no);
Write('Nama langganan',x:3); Readln(nama);
Write('Alamat',x:19); Readln(alamat);
Writeln('Perincian Tagihan :');
Writeln('Biaya berlangganan',x:12,'Rp.',langganan:8);
Writeln('Biaya pulsa 235*Rp.100',x:3,'Rp.',pulsa*235:8);
Writeln('-----------------------------------------');
Writeln('Total',x:20,'Rp.',langganan+235* pulsa:8);
Readln;
End.

Output
Nomor langganan :20
Nama langganan :irpan KW
Alamat :Bekasi
Perincian Tagihan:
Biaya berlangganan :Rp. 3000
Biaya pulsa 235*Rp.100 :Rp. 23500
---------------------------------------------
Total :Rp. 26500

5. Program
Uses Crt;
Var nama,NIP:string;
gaji,tunjangan,jam,lembur,total:Real;
Begin
Clrscr;
Write('Nama');gotoxy(20,1);Write(':');Readln(nama);
Write('NIP');gotoxy(20,2);Write(':');Readln(NIP);
Write('Gaji Pokok');gotoxy(20,3);Write(':');Readln(gaji);

PEMPROGRAMAN PASCAL 18
dayak_timur@yahoo.com

Write('Jumlah Jam
Lembur');gotoxy(20,4);Write(':');Readln(jam);
Writeln;
tunjangan:=15*gaji/100;
lembur:=jam*gaji/100;
Total:=gaji+tunjangan+lembur;
Writeln('Perincian gaji pegawai :');
Writeln('------------------------');
Write('Gaji Pokok');gotoxy(20,8);Writeln(':
Rp',gaji:10:0);
Write('Tunjangan');gotoxy(20,9);Writeln(':
Rp',tunjangan:10:0);
Write('Upah Lembur');gotoxy(20,10);Writeln(':
Rp',lembur:10:0);
Writeln('-------------------------------');
Write('Gaji Total');gotoxy(20,12);Writeln(':
Rp',total:10:0);
Readln;
End.

Output
Nama :Irpan KW
nip :200822018
Gaji pokok :1200000
Jumlah jam lembur :6

Perincian Gaji pegawai


----------------------
Gaji pokok :Rp. 1200000
Tunjangan :Rp. 180000
Upah lembur :Rp. 72000
Gaji total :Rp. 1452000

Tugas 1 (Buatlah Program, Output dan Flowchartnya)


1. Buatlah Program untuk menghitung Luas dan Volume Kerucut.
- input : variable yg berhubungan, π untuk konstanta
- Output : Luas dan Volume kerucut dengan format 4 angka di belakang koma.
2. Buatlah program yang outputnya sbb:

NIM NIM
Nama Lengkap
-
-
NIM
-
-
Jurusan
-
-
Turbo Pascal
Nama Panggilan Nama
Panggilan

PEMPROGRAMAN PASCAL 19
dayak_timur@yahoo.com

3. Buatlah program dg ketentuan sbb :


Untuk baris dan kolom diinput, (baris antara 3-6, dan kolom antara 5-10)
Setelah diinput akan tampil nama lengkap anda pada posisi yang diinput, setelah 7 detik
dari kalimat pertama akan tampil NIM anda pada beda 3 baris dan 5 kolom, setelah beda
16 detik dari kalimat pertama akan tampil jurusan pada beda 5 baris dan 9 kolom, setelah
4 detik dari kalimat terakhir yang tampil akan muncul saya belajar pascal dengan beda 4
baris dan 2 kolom.

Jawab :
1. Program
Uses Crt;
Var r,t,s,L,V:Real;
Const phi=3.14;
Begin
Clrscr;
Write('Tinggi
Kerucut');Gotoxy(20,1);Write(':');Readln(t);
Write('Jari-Jari');Gotoxy(20,2);write(':');Readln(r);
s:=sqrt(r*r+t*t);
L:=(phi*r*r)+(phi*r*s);
V:=(phi*r*r*t)/3;
Write('Luas Kerucut');Gotoxy(20,3);Writeln(':',L:10:4);
Write('Volume
Kerucut');Gotoxy(20,4);Writeln(':',V:10:4);
Readln;
End.

Output
(Misalkan tinggi dan jari-jari sebuah kerucut adalah 10)

2. Program
Uses Crt;
Begin
Gotoxy(1,1);Writeln('200822018');
Gotoxy(72,1);Writeln('200822018');
Gotoxy(37,8);Writeln('Irpan KW');
Writeln;Writeln;
Gotoxy(36,11);Writeln('200822018');
Writeln;Writeln;
Gotoxy(31,14);Writeln('Teknik Informatika');
Writeln;Writeln;
Gotoxy(34,17);Writeln('Turbo Pascal');
Gotoxy(1,25);Write('Irpan KW');

PEMPROGRAMAN PASCAL 20
dayak_timur@yahoo.com

Gotoxy(74,25);Writeln('Irpan KW');
Readln;
End.

Output

200822018
200822018
Irpan KW

200822018

Teknik Informatika

Turbo Pascal
Irpan KW Irpan
KW

3. Program
Uses Crt;
Var x,y:integer;
Begin
Clrscr;
Write('Input Baris (3-6) :');Readln(y);
Write('Input Kolom (5-10) :');Readln(x);
Clrscr;
Gotoxy(x,y);Writeln('Irpan KW');
Delay(7000);
Gotoxy(x+5,y+3);Writeln('200822018');
Delay(9000);
Gotoxy(x+14,y+8);Writeln('Teknik Informatika');
Delay(4000);
Gotoxy(x+16,y+12);Writeln('Saya Belajar Pascal');
Readln;
End.

Output

Irpan kw

20082018

Teknik Informatika

PEMPROGRAMAN PASCAL 21
dayak_timur@yahoo.com

Saya belajar pascal

BAB IV
Perulangan

A. Perulangan For
Perulangan for digunakan untuk mengulang satu statement atau satu blok statement sesuai
jumlah yang ditentukan.
Macam-macam perulangan for :
1. Perulangan for Positif
Perulangan dengan penghitung (counter) dari kecil ke besar, perulangan ini
dibentuk dengan menggunakan statement For-to-do.
Contoh 1
Var I:integer;
Begin
For I:= 1 to 5 do
Writeln(‘Pascal’);
Readln;
End.
Output
Pascal
Pascal
Pascal
Pascal
Pascal

Contoh 2
Var I:integer;
Begin
For I:= 1 to 5 do
Begin
Writeln(‘Pascal’);
End; Readln;
End.
Output
Pascal
Pascal
Pascal
Pascal
Pascal

Contoh 3
Var I:integer;
Begin
For I:= 1 to 5 do {mengulang 1 statement di bawahnya dari begin sampai end}
Begin

PEMPROGRAMAN PASCAL 22
dayak_timur@yahoo.com

Write(I);
Writeln(‘Belajar’);
End; Readln;
End.

Output
1Belajar
2Belajar
3Belajar
4Belajar
5Belajar

Contoh 4
Var I:integer;
Begin
For I:= 1 to 5 do {hanya mengulang nilai ‘I’ dari 1 sampai 5}
Write(I);
Writeln(‘Belajar’);
Readln;
End.

Output
12345Belajar

Contoh 5
Uses Crt;
Var I:Byte;
Begin
Clrscr;
For I:= 1 to 5 do {hanya mengulang nilai ‘I’ dari 1 sampai 5}
Writeln(I);
Writeln(‘Selesai’);
Readln;
End.

Output
1
2
3
4
5
Selesai

Contoh 6
Uses Crt;
Var I:Byte;
Begin
Clrscr;
For I:= 1 to 5 do {mengulang 1 statement di bawahnya dari begin sampai end}
Begin
Write(I);
Writeln(‘Selesai’);
End; Readln;
End.

PEMPROGRAMAN PASCAL 23
dayak_timur@yahoo.com

Output
1Selesai
2Selesai
3Selesai
4Selesai
5Selesai

Contoh 7
Uses Crt;
Var I,awal,akhir,jumlah:word;
Begin
Clrscr;
Write(‘Masukan Batas Awal :’);Readln(awal);
Write(‘Masukan Batas Akhir :’);Readln(akhir);
Jumlah:=0;
For I:=awal to akhir do
Jumlah:=jumlah + I;
Writeln(‘Jumlah bilangan-bilangan tersebut adalah
:’,jumlah);
Readln;
End.

Output
(misalkan batas awal yg diinput 1 dan batas akhirnya 5)

Contoh 8
Uses Crt;
Var a,I,awal,akhir,jumlah:word;
Begin
Clrscr;
Write('Masukan Batas Awal :');Readln(awal);
Write('Masukan Batas Akhir :');Readln(akhir);
Jumlah:=0;
For I:=awal to akhir do
Begin
Write('Masukan nilai ke',I,'=');
Readln(a);
jumlah:=jumlah + a;
End;
Writeln('Jumlah bilangan-bilangan tersebut adalah
:',jumlah);
Readln;
End.

Output
(misalkan batas awal yg diinput 1 dan batas akhirnya 5)

PEMPROGRAMAN PASCAL 24
dayak_timur@yahoo.com

Contoh 9
Uses Crt;
Var X:integer;
C,F:Real;
Begin
Clrscr;
Writeln('------------------------------');
Writeln(' Celcius Fahrenheit ');
Writeln('------------------------------');
C:=0;
For X:=1 to 10 do
Begin
F:=1.8*C+32;
Writeln(C:8:2,F:14:2);
C:=C+0.5;
End;
Writeln('------------------------------');
Readln;
End.

Output

2. Perulangan for Negatif


Perulangan dengan penghitung (counter) dari besar ke kecil, perulangan ini
dibentuk dengan menggunakan statement For-downto-do.
Contoh 1:
Uses Crt;

PEMPROGRAMAN PASCAL 25
dayak_timur@yahoo.com

Var I:Byte;
Begin
Clrscr;
For I:=5 downto 1 do
Writeln(I);
Writeln(‘Selesai’);
Readln;
End.
Output
5
4
3
2
1
Selesai

Contoh 2:
Uses Crt;
Var B:Integer;
Begin
Clrscr;
Writeln(‘-------------------------------------------‘);
Writeln(‘ B B*B B*B*B 1/B ‘);
Writeln(‘-------------------------------------------‘);
For B:=10 downto 1 do
Writeln(B:3,B*B:8,B*B*B:8,1/B:12:2);
Readln;
End.
Output

3. Perulangan For Bersarang


Perulangan yeng berada di dalam perulangan yang lainnya, perulangan yang lebih
dalam akan diproses lebih dahulu sampai habis kemudian perulangan yang lebih luar,
kemudian mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan
seterusnya.
Contoh 1
Uses Crt;
Var I,J:Integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
For J:=1 to 4 do
Write(I:8,J:5);
Writeln;

PEMPROGRAMAN PASCAL 26
dayak_timur@yahoo.com

End;
Readln;
End.
Output

Contoh 2
Uses Crt;
Var I,J:Integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
For J:=1 to 4 do
Writeln(I:8,J:5);
Writeln;
End;
Readln;
End.
Output

Contoh 3
Uses Crt;
Var I,J,K:Integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
For J:=1 to 4 do
Begin
For K:=1 to 3 do
Write(I:8,J:5,K:4);
Writeln;
End;
End;
Readln;
End.

PEMPROGRAMAN PASCAL 27
dayak_timur@yahoo.com

Output

Contoh 3
Uses Crt;
Var I,J:Integer;
Begin
Clrscr;
For I:=1 to 3 do
Begin
For J:=1 to 5 do
Write(‘*’);
Writeln;
End;
Readln;
End.
Output
*****
*****
*****

Contoh 4
Uses Crt;
Var I,J,K:Integer;
Begin
Write(‘Masukan Jumlah Bintang :’);Readln(I);
For J:=1 to I do
Begin
For K:=1 to J do
Write(‘*’);
Writeln;
End;
Readln;
End.
Output
(misalkan jumlah bintang yang diinput adalah 4)
Masukan Jumlah Bintang :4
*
**
***

PEMPROGRAMAN PASCAL 28
dayak_timur@yahoo.com

****

B. Pengulangan while do
Struktur pengulangan while do menggunakan ekspresi logika untuk menghentikan
pengulangan. Struktur while do akan terus mengulang selama syarat terpenuhi, syarat di
dalam pengulangan while do merupakan syarat dilakukannya pengulangan.

Contoh 1
Var I:Integer;
Begin
I:=0;
While I<5 do
Begin
Writeln(I);
I:=I+1;
End;
Readln;
End.

Output
0
1
2
3
4

Contoh 2
Uses Crt;
Var Ni,R,T:real;
I,N,J:Integer;
Begin
Clrscr;
Write(‘Jumlah Data ?’);Readln(N);
Writeln;
I:=0;
T:=0;
While I<N do
Begin
I:=I+1;
Write(‘Nilai data ke’,I,’?’);Readln(Ni);
T:=T+Ni;
End;
R:=T/N;
Writeln;
Writeln(‘Total Nilai =’,T:8:2);
Writeln(‘Jumlah data =’,N:3);
Writeln(‘Rata-rata nilai =’,R:8:2);
Readln;
End.

Output
(misalkan jumlah data yang diinput 3)

PEMPROGRAMAN PASCAL 29
dayak_timur@yahoo.com

Perulangan While-do Bersarang


Merupakan perulangan while-do yang satu di dalam perulangan while-do yang lainnya.
Contoh 1
Uses Crt;
Var Ni,R,T:Real;
N,I:Integer;
Lagi:Char;
Begin
Lagi:=’Y’;
While Lagi=’Y’ do
Begin
Clrscr;
Write(‘Jumlah Data ?’);Readln(N);
Writeln;
I:=0;
T:=0;
While I<N do
Begin
I:=I+1;
Write(‘Nilai data ke :’,I,’?’);Readln(Ni);
T:=T+Ni;
End;
R:=T/N;
Writeln;
Writeln(‘Total Nilai =’,T:8:2);
Writeln(‘Jumlah Data =’,N:3);
Writeln(‘Rata-rata Nilai =’,R:8:2);
Writeln;
Write(‘Akan mengulang lagi (Y/T) ?’);Readln(Lagi);
End;
End.

Output
(misalkan jumlah data yang diinput 3)

{bila diinput T maka pengulangan


berhenti, tapi jika
diinput Y maka akan mengulang terus.}

C. Perulangan Repeat Until


Struktur repeat until menggunakan ekspresi logika untuk menghentikan perulangan.
Struktur repeat until akan mengulang statement sampai kondisi yang diseleksi di until
tidak terpenuhi. Pada struktur repeat until tidak memerlukan blok dari begin sampai end.

Contoh 1

PEMPROGRAMAN PASCAL 30
dayak_timur@yahoo.com

Uses Crt;
Var I:Byte;
Begin
Clrscr;
I:=1;
Repeat
Writeln(I);
Inc(I);
Until I>5;
Readln;
End.

Output
1
2
3
4
5

Contoh 2
Uses Crt;
Var a,b,c,d,y:Real;
Begin
Write(‘Berapa rupiah batas awal tabel =’);readln(a);
Write(‘Berapa rupiah batas akhir tabel =’);readln(b);
Write(‘Berapa rupiah pertambahannya =’);readln(c);
Writeln;
Writeln(‘Tabel Kurs’);
Writeln;
Writeln(‘ Rupiah Dollar Yen ‘);
Writeln(‘============================’);
Repeat
d:=a/1900;
y:=a/900;
Writeln(a:9:2,’’,d:9:2,’’,y:9:2);
a:=a+c;
Until a>=b;
Writeln(‘============================’);
Readln;
End.

Output
(misalkan batas awal 5000, batas akhir 25000 & pertambahnnya 5000)

Contoh 3

PEMPROGRAMAN PASCAL 31
dayak_timur@yahoo.com

Uses Crt;
Const harga_bensin=700;
Harga_solar=600;
Var bensin,solar,I:integer;
Begin
Clrscr;
Writeln(‘Tabel Harga Bahan Bakar’);
Writeln(‘====================’);
Writeln(‘ Liter Bensin Solar’);
Writeln(‘===================’);
I:=1;
Repeat
Bensin:=700*I;
Solar:=600*I;
Writeln(I:8,’’,Bensin:10,’’,Solar:10);
I:=I+1;
Until I>20;
Writeln(‘===================’);
Readln;
End.

Output

Perulangan Repeat Until Bersarang


Perulangan repeat until yang satu berada di dalam perulangan repeat until yang lain.

Contoh 1
Uses Crt;
Var A,B,C:Real;
Begin
Clrscr;
Writeln(‘=====================’);
Writeln(‘Sisi A Sisi B Sisi C’);
Writeln(‘=====================’);
A:=1;
Repeat
B:=0;
Repeat
C:=sqrt(A*A+B*B);
Writeln(A:6:2,B:9:2,C:9:2);
B:=B+5;
Until B>25;
A:=A+1;
Until A>3;
Writeln(‘=====================’);
Readln;

PEMPROGRAMAN PASCAL 32
dayak_timur@yahoo.com

End.

Output

Latihan 3 (Buatlah Program, Output dan Flowchartnya)


1. Buat program perulangan for bersarang untuk mengatur waktu meledaknya bom
dengan ketentuan :
Bila waktu menunjukan 1 : 00 : 00 akan muncul tulisan ‘BOOOMM...!’ dimana set
awal waktunya 0 : 00 : 00 dan dengan bantuan Delay (5000) serta perulangan dimulai
dari detik ke menit lalu ke jam.
2. Ganti Soal no.1 dengan menggunakan perulangan tersarang WHILE DO.
3. Ganti Soal no.2 dengan menggunakan perulangan tersarang REPEAT-UNTIL.
4. Buatlah program untuk mencatat 10 buah bilangan genap pertama.
5. Buatlah program untuk membuat outpunya :
*****
****
***
**
Untuk jumlah bintang diinput
6. Buat program untuk output :
‘Saya belajar pascal’ {sebanyak 5x dengan delay waktu 5 detik perkalimat}.
7. Buat program untuk output :
‘Saya belajar di lab. Komputer’ {posisi (x,y) diinput antara (3-10,10-20);
Hasil output harus sekolom sebanyak 5x}.
8. Buat program menggunakan for do untuk mencetak angka 10 sampai 80 dengan
selisih 5.
9. Buat program dengan :
Input : posisi baris dan kolom
Output : ‘Saya lagi belajar pascal’ sebanyak 6 kali dengan selisih 2 baris perkalimat
dan pada kolom yang sama dengan selisih delay 5 detik perkalimat.

PEMPROGRAMAN PASCAL 33
dayak_timur@yahoo.com

Jawab
1. Program
Uses Crt;
Var J,K:integer;
Begin
Clrscr;
Gotoxy(4,3);Write('0');
Gotoxy(7,3);Write(':');
Delay(5000);
For J:=0 to 59 do
Begin
Gotoxy(9,3);Write(J:2);
Gotoxy(12,3);write(':');
Delay(5000);
For K:=0 to 59 do
Begin
Gotoxy(14,3);Write(K:2);
Delay(5000);
End;
End;
Gotoxy(4,3);Write('1');
Gotoxy(7,3);Write(':');
Gotoxy(9,3);write('00');
Gotoxy(12,3);Write(':');
Gotoxy(14,3);Write('00');
Gotoxy(25,15);Write('BOOOOM.....!');
Readln;
End.

2. Program
Uses Crt;
Var J,K:integer;
Begin
Clrscr;
Gotoxy(4,3);Write('0');
Gotoxy(7,3);Write(':');
Delay(5000);
J:=-1;
While J < 59 do
Begin
J:=J+1;
Gotoxy(9,3);Write(J:2);
Gotoxy(12,3);write(':'); Delay(5000);
K:=-1;
While K < 59 do
Begin
K:=K+1;
Gotoxy(14,3);Write(K:2); Delay(5000);
End;
End;
Gotoxy(4,3);Write('1');
Gotoxy(7,3);Write(':');
Gotoxy(9,3);write('00');

PEMPROGRAMAN PASCAL 34
dayak_timur@yahoo.com

Gotoxy(12,3);Write(':');
Gotoxy(14,3);Write('00');
Gotoxy(25,15);Write('BOOOOM.....!');
Readln;
End.

3. Program
Uses Crt;
Var J,K:integer;
Begin
Clrscr;
Gotoxy(4,3);Write('0');
Gotoxy(7,3);Write(':');
Delay(5000);
J:=-1;
Repeat
J:=J+1;
Gotoxy(9,3);Write(J:2);
Gotoxy(12,3);write(':');
Delay(5000);
K:=-1;
Repeat
K:=K+1;
Gotoxy(14,3);Write(K:2);
Delay(5000);
Until K >= 59;
Until J >= 59;
Gotoxy(4,3);Write('1');
Gotoxy(7,3);Write(':');
Gotoxy(9,3);write('00');
Gotoxy(12,3);Write(':');
Gotoxy(14,3);Write('00');
Gotoxy(25,15);Write('BOOOOM.....!');
Readln;
End.

Output no. 1,2,3


1 : 00 : 00

BOOOOM.....!

4. Program
Uses Crt;
Var I:integer;
Begin
Clrscr;
I:=0;
repeat
I:=I+2;
writeln(I);
until I=20;
Readln;

PEMPROGRAMAN PASCAL 35
dayak_timur@yahoo.com

end.

Output

5. Program
Uses Crt;
Var I,J,K:Integer;
Begin
Clrscr;
Write('Masukan Jumlah Bintang :');Readln(I);
For J:=I downto 2 do
Begin
For K:= 1 to J do
Write('*');
Writeln;
End;
Readln;
End.

Output
Misalkan jumlah bintang yg diinput adalah 6

6. Program
Uses Crt;
Var I:Integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
Writeln('Saya Belajar Pascal');
Delay(5000);
End;
Readln;
End.

PEMPROGRAMAN PASCAL 36
dayak_timur@yahoo.com

Output

7. Program
Uses Crt;
Var I,y,k,b:Integer;
Begin
Clrscr;
Write('Input Posisi Kolom (3-10) :');Readln(k);
Write('Input Posisi Baris (10-20) :');Readln(b);
b:=b-1;
For I:= 1 to 5 do
Begin
y:=b+I;
Gotoxy(k,y);
Writeln('Saya Belajar di Lab. Komputer');
End;
Readln;
End.

Output
Misalkan posisi kolom yang diinput 10 dan posisi baris yang diinput 3

8. Program
Uses Crt;
Var I,n:integer;
Begin
Clrscr;
For I :=2 to 16 do
Begin
n:=I*5;
Writeln(n);
End; Readln;
End.
Output

PEMPROGRAMAN PASCAL 37
dayak_timur@yahoo.com

9. Program
Uses Crt;
Var I,b,k,y:integer;
Begin
Clrscr;
Write('Input Posisi Kolom :');Readln(k);
Write('Input Posisi Baris :');Readln(b);
b:=b-2;
For I:= 1 to 6 do
Begin
y:=b+2;
Gotoxy(k,y);
Writeln('Saya Lagi Belajar Pascal');
Delay(5000);
End;
Readln;
End.

Output
Misalkan posisi kolom yang diinput 3 dan posisi baris yang diinput 3

Flowchart

PEMPROGRAMAN PASCAL 38
dayak_timur@yahoo.com

mulai
mulai

jumlah bintang
K:=-1

K:=0

detik:=K+1;

K:=K+1

tidak tidak
detik>59
K:=jumlah bintang
ya
ya
J:=-1
J:=jumlah bintang

menit:=J+1;
J:=J-1

tidak
menit:>59 tidak
J<2

ya
ya
Cetak Cetak
menit,detik Bintang

selesai selesai

Nomor 1,2,3 Nomor 5

mulai
mulai

I:=0

I:=0
I:=I+1

I:=I+2;
P:=saya belajar
pascal

Cetak I
Cetak
P

tidak
I>20 tidak
I>5

ya
ya
selesai selesai

Nomor 4 Nomor 6

PEMPROGRAMAN PASCAL 39
dayak_timur@yahoo.com

mulai

k,b
mulai

b:=b-1

I:=2
y:=b+I

I:=I+1
gotoxy (k,y)

n:=I*5
p:=Saya Belajar di Lab. Komputer

Cetak
Cetak n
P

tidak
tidak I>16
I>5

ya
ya
selesai selesai

Nomor 7 Nomor 8
mulai

k,b

b:=b-2

I:=b+2

gotoxy (k,b)

p:=Saya lagi belajar pascal

Delay 5000

Cetak
p

ya
I>6

tidak

selesai

Nomor 9
PEMPROGRAMAN PASCAL 40
dayak_timur@yahoo.com

Tugas 2 (Buatlah Program, Output dan Flowchartnya)

1. Buatlah programnya
a. Buatlah program untuk menghitung bilangan ganjil dari akhir ke awal (Batas awal &
akhir diinput).
b. Buatlah program untuk menghitung bilangan genap pangkat dari 0-30.
2. Buatlah program untuk posisi baris dan kolom diinput, pada posisi tersebut akan tampil
Nama, NIM, Jurusan, setelah 7 detik beda 2 baris & 3 kolom akan tampil ‘Saya belajar
Pascal’ sebanyak 4x sejajar.
Nama
NIM
Jurusan
Saya Belajar Pascal
Saya Belajar Pascal
Saya Belajar Pascal
Saya Belajar Pascal
3. Posisi baris dan kolom diinput, pada posisi baris dan kolom yang diinput akan tampil
nama lengkap, anda setelah 6 detik beda 3 baris dan 4 kolom akan tampil NIM sebanyak
3x dengan beda 2 baris dan 5 kolom per NIM, setelah itu akan tampil Jurusan sebanyak 3x
dengan beda 2 kolom.
Nama Lengkap
NIM
NIM
NIM
IF IF IF

Jawab
1. a. Program
Uses Crt;
Var awal,akhir,I:integer;
Begin
Clrscr;
Write(‘Input batas awal (ganjil) :’);Readln(awal);
Write(‘Input batas akhir (ganjil) :’);Readln(akhir);
I:=akhir+2;
Repeat
I:=I-2;
Writeln(I);
Until I=awal;
Readln;
End.

Output
Misalkan batas awal yang diinput 1 dan batas akhir yang diinput 11

b. Program
Uses Crt;

PEMPROGRAMAN PASCAL 41
dayak_timur@yahoo.com

Var I,n:integer;
Begin
Clrscr;
I:=-2;
Repeat
I:=I+2;
n:=I*I;
Writeln(n);
Until I=30;
Readln;
End.

Output

2. Program
Uses Crt;
Var I,B,K,X,Y:Integer;
Begin
Clrscr;
Write('Input Kolom:');Readln(K);
Write('Input Baris:');Readln(B);
Clrscr;
Gotoxy(K,B);Writeln('Irpan KW ');
B:=B+1;
Gotoxy(K,B);Writeln('200822018');
B:=B+1;
Gotoxy(K,B);Writeln('Teknik Informatika');
Delay(7000);
For I:=2 to 5 do

PEMPROGRAMAN PASCAL 42
dayak_timur@yahoo.com

Begin
X:=K+3;
Y:=B+I;
Gotoxy(X,Y);Writeln('Saya Belajar Pascal');
End; Readln;
End.

Output
Misalkan posisi baris yang diinput 3 dan posisi kolom yang diinput 3
Irpan KW
200822018
Teknik Informatika

Saya Belajar Pascal


Saya Belajar Pascal
Saya Belajar Pascal

3. Program
Uses Crt;
Var I,K,B,X,Y:Integer;
Begin
Clrscr;
Write('Input Kolom:');Readln(K);
Write('Input Baris:');Readln(B);
Clrscr;
Gotoxy(K,B);Writeln('Irpan KW');
Delay(6000);
X:=K-1;
Y:=B+1;
For I:=1 to 3 do
Begin
X:=X+5;
Y:=Y+2;
Gotoxy(X,Y);Writeln('200822018');
End;
X:=X-18;
Y:=Y+2;
For I:=1 to 3 do
Begin
X:=X+20;
Gotoxy(X,Y);Writeln('Teknik Informatika');
End;
Readln;
End.

Flowchart

PEMPROGRAMAN PASCAL 43
dayak_timur@yahoo.com

mulai
mulai

awal, akhir
I:=-2

I:=akhir+2
I:=I+2

I:=I-2 n:=I*I

Cetak Cetak
I n

ya ya
I = awal I = 30

tidak tidak

selesai selesai

Nomor 1.a Nomor 1.b


mulai

mulai k,b

X:=k-1
k,b Y:=b+1

X:=X+5
b:=b+1 Y:=Y+2

gotoxy (X,Y)
gotoxy (k,b)

tidak
I>3
I:=2
ya

X:=X-18
X:=K+3
Y:=Y+2
Y:=B+I

X:=X+20
gotoxy (X,Y)

gotoxy (X,Y)

Cetak
Nama,NIM,Jurusan
Cetak
Saya Belajar Pascal Nama,NIM
Jurusan

tidak
I>5 tidak
I>3

ya
ya

selesai selesai

Nomor 2 Nomor 3

PEMPROGRAMAN PASCAL 44
dayak_timur@yahoo.com

BAB V
Penyeleksian Kondisi

A. Pendahuluan
Pengambilan keputusan dalam pascal ada dua statement yaitu If ... then dan Case ... of,
proses pengambilam keputusan berepran penting dalam teknik pemprograman tersetruktur.

B. Statement If .... then


Strukturnya adalah if ungkapan then statement
Ungkapan adalah kondisi yang akan diseleksi oleh statement if. Bila kondisi yang diseleksi
terpenuhi, maka statemen yang mengikuti then akan diproses, sebaliknya, bila kondisi
tidak terpenuhi, maka yang akan diproses adalah statemen berikutnya.
Contoh 1 :
Uses Crt;
Var a:real;
B:string[11];
Begin
Clrscr;
B:=’Tidak Lulus’;
Write(‘Berapa nilai anda?’);readln(a);
If a>55 then B:=’Lulus’;
Writeln(B);Readln;
End.

Output
Misalkan nilai yang diinput 85

Contoh 2 :
Uses Crt;
Var pilihan:byte;
R,L,T,Luas:Real;
Begin
Gotoxy(10,2);Writeln(‘PILIHAN’);
Gotoxy(10,4);Writeln(‘1. Menghitung luas lingkaran’);
Gotoxy(10,6);Writeln(‘2. Menghitung luas segitiga’);
Gotoxy(10,8);Writeln(‘3. Menghitung luas bujursangkar’);
Gotoxy(10,10);Writeln(‘0. Selesai’);
Pilihan:=9;
While(pilihan<0) or (pilihan>3) do
Begin
Gotoxy(10,12);Write(‘Pilih nomor (0-3)?’);Readln(pilihan);
End;
Clrscr;
If pilihan=1 then
Begin
Write(‘Jari-jari Lingkaran =’);Readln(R);
Luas:=3.14*R*R;
Writeln(‘Luas Lingkaran =’,Luas:9:2);
End;

PEMPROGRAMAN PASCAL 45
dayak_timur@yahoo.com

If pilihan=2 then
Begin
Write(‘Sisi Alas =’);Readln(L);
Write(‘Sisi Tinggi =’);Readln(T);
Luas:=0.5*L*T;
Writeln;
Writeln(‘Luas Segitiga =’,Luas:9:2);
End;
If pilihan=3 then
Begin
Write(‘Sisi Panjang =’);Readln(T);
Write(‘Sisi Lebar =’);Readln(L);
Luas:=T*L;
Writeln(‘Luas Bujursangkar =’,Luas:9:2);
End;
Readln;
End.

Output

Misalkan nomor yang diinput 1 dan jari-jarinya 10

Contoh 3 :
Uses Crt;
Var pilih:integer;
Begin
Clrscr;
Writeln(‘Daftar Tabel Penjualan Barang’);
Writeln(‘=======================================’);
Writeln(‘Jika anda pilih 1 maka terdapat daftar harga
sabun’);
Writeln(‘Jika anda pilih 2 maka terdapat daftar harga
shampo’);
Writeln(‘Jika anda pilih 0 maka tidak memilih daftar harga’);
Writeln(‘=======================================’);
Writeln;
Writeln(‘Pilihan anda 1,2,0.....’);Readln(pilih);
If pilih=1 then
Begin
Writeln(‘Daftar Harga-harga Sabun’);
Writeln(‘====================’);
Writeln(‘Sabun Citra Rp.800’);
Writeln(‘Sabun Lifeboy Rp.450’);
Writeln(‘Sabun Lux Rp.450’);
Writeln(‘Sabun Prity Rp.300’);
End;

PEMPROGRAMAN PASCAL 46
dayak_timur@yahoo.com

If pilih=2 then
Begin
Writeln(‘Daftar Harga-harga Shampo’);
Writeln(‘====================’);
Writeln(‘Shampo Sunsilk Rp.700’);
Writeln(‘Shampo Brisk Rp.1100’);
Writeln(‘Shampo Rejoice Rp.1000’);
Writeln(‘Sabun Kao Rp.600’);
End;
If pilih=0 then
Begin
Writeln(‘Anda tidak memilih daftar harga’);
End;
Readln;
End.
Output
Misalkan pilihannya adalah 2

C. Statement If .... then ... else


Merupakan pengembangan dari struktur IF THEN dengan struktur :
If kondisi then statemen 1 Else statemen 2.
Contoh 1 :
Uses Crt;
Var nilai_ujian:Real;
Begin
Write(‘Nilai yang didapat?’);Readln(nilai_ujian);
If nilai_ujian>60 then
Writeln(‘Lulus’)
Else
Writeln(‘Tidak Lulus’);
Readln;
End.
Output
Misalkan pilihannya adalah 80

PEMPROGRAMAN PASCAL 47
dayak_timur@yahoo.com

Contoh 2 :
Uses Crt;
Var nilai:integer;
Nama,nim:string;
Begin
Clrscr;
Write(‘Nama anda ?’);Readln(Nama);
Write(‘NIM anda ?’);Readln(nim);
Write(‘Berapa nilai anda ?’);Readln(nilai);
If (nilai<=100) and (nilai>=80) then
Begin
Writeln(‘Anda mendapat nilai A’);
Writeln(‘Poin yang anda peroleh = 4’);
End;
If (nilai<=79) and (nilai>=70) then
Begin
Writeln(‘Anda mendapat nilai B’);
Writeln(‘Poin yang anda peroleh = 3’);
End;
If (nilai<=69) and (nilai>=60) then
Begin
Writeln(‘Anda mendapat nilai C’);
Writeln(‘Poin yang anda peroleh = 2’);
End;
If (nilai<=59) and (nilai>=50) then
Begin
Writeln(‘Anda mendapat nilai D’);
Writeln(‘Poin yang anda peroleh = 1’);
End
Else
If (nilai<=49) then
Begin
Writeln(‘Anda mendapat nilai E’);
Writeln(‘Poin yang anda peroleh = 0’);
End;
Readln;
End.

Output
Misalkan nilainya adalah 80

Nama anda ?Irpan KW


NIM anda ?200822018
Berapa nilai anda ?80
Anda mendapat nilai A
Poin yang anda peroleh = 4

D. Statemen case .... of


Struktur case dipakai untuk memilih dengan kemungkinan lebih dari 2.
Bentuk umum struktur case adalah :
Case <variable> of
<konstanta 1>:<Pernyataan>
<konstanta 2>:<Pernyataan>
<konstanta 3>:<Pernyataan>

PEMPROGRAMAN PASCAL 48
dayak_timur@yahoo.com

Variable dan konstanta yang dapat dipakai hanyalah yang mempunyai ordinal, yaiutu tipe
integer dan char.

Contoh 1:
Uses Crt;
Var nilai:char;
Begin
Write(‘Nilai Huruf yang didapat?’);
Readln(nilai);
Case nilai of
‘A’: Writeln(‘Sangat Baik’);
‘B’: Writeln(‘Baik’);
‘C’: Writeln(‘Cukup’);
‘D’: Writeln(‘Kurang’);
‘E’: Writeln(‘gagal’);
End;
Readln;
End.

Output
Misalkan nilai yang diinput adalah A

Contoh 2:
Uses Crt;
Var pembelian,potongan:integer;
Begin
Clrscr;
Write(‘Total Pembelian ?’);Readln(pembelian);
Case pembelian of
0..1000:potongan:=100;
1001..10000:potongan:=500;
10001..30000:potongan:=200;
End;
Writeln(‘Jumlah pembelian =Rp’,pembelian:7);
Writeln(‘Potongan =Rp’,potongan:7);
Writeln(‘-----------------------‘);
Writeln(‘Jumlah yang harus dibayar=Rp’,pembelian-potongan:7);
Readln;
End.

Output
Misalkan jumlah pembelian yang diinput 10000

Total Pembelian ?10000


Jumlah Pembelian =Rp
10000
Potongan =Rp 500
-------------------
Jumlah yang harus dibayar =Rp 9500

PEMPROGRAMAN PASCAL 49
dayak_timur@yahoo.com

Contoh 3:
Uses Crt;
Var pilihan:Byte;
kg,beras,ketan,terigu:integer;
Begin
Clrscr;
Gotoxy(10,2);Writeln(‘Pilihan anda :’);
Gotoxy(10,4);Writeln(‘1. Menghitung harga beras’);
Gotoxy(10,6);Writeln(‘2. Menghitung harga ketan’);
Gotoxy(10,8);Writeln(‘3. Menghitung harga terigu’);
Gotoxy(10,10);Writeln(‘Pilih nomor 1-3 ?’);Readln(pilihan);
Clrscr;
Case pilihan of
1:begin
Writeln(‘Menghitung harga beras’);
Writeln(‘===================’);Writeln;
Writeln(‘Berapa kilogram yang anda
beli’);Readln(kg);
beras:=kg*900;
Write(‘Anda harus membayar Rp’,beras:7);
End;
2:begin
Writeln(‘Menghitung harga ketan’);
Writeln(‘===================’);Writeln;
Writeln(‘Berapa kilogram yang anda
beli’);Readln(kg);
ketan:=kg*1000;
Write(‘Anda harus membayar Rp’,ketan:7);
End;
3:begin
Writeln(‘Menghitung harga terigu’);
Writeln(‘===================’);Writeln;
Writeln(‘Berapa kilogram yang anda
beli’);Readln(kg);
terigu:=kg*900;
Write(‘Anda harus membayar Rp’,terigu:7);
End
Else
Begin
Write(‘Pilihan anda salah’);
Write(‘Pilih salah satu dari 1,2 atau 3’);
End;
End;
Readln;
End.

Output

Misalkan pilihan kita 1 dan kita membeli 20 kg

PEMPROGRAMAN PASCAL 50
dayak_timur@yahoo.com

Menghitung harga beras


===========

Berapa kilogram yang anda beli


20
Anda harus membayar Rp 18000

Latihan 4 (Buatlah Program, Output dan Flowchartnya)


1. Sebuah pasar swalayan akan memberikan diskon sebesar 10% jika pembelian lebih dari
50000. Kita akan membuat program yang menanyakan jumlah pembelian. Output
program berapa jumlah yang harus dibayar.
2. Buat program menggunakan if then else dengan ketentuan sbb:
Nilai diinput
Jika nilai = 60 anda ikut perbaikan
Jika nilai > 60 anda lulus
Jika nilai < 60 anda mengulang
3. Buat program untuk memilih suatu menu yang berisi daftar perhitungan penjualan beras
dan ketan (ketentuan harga beras perkilo Rp.900 sedangkan harga ketan perkilo Rp.1000).
contoh hasil keluaran :
Daftar Perhitungan Penjualan Beras dan Ketan
=====================================
Jika anda memilih angka 1 = maka daftar beras
Jika anda memilih angka 2 = maka daftar ketan
Pilihan anda ? 1
Berapa kilo beras yang anda beli ? 5
Anda harus membayar Rp.4.500
Ada perintah perulangan untuk pertanyaan “mau coba lagi”.
4. Buat program untuk menentukan pajak penghasilan bagi pegawai negeri sipil. (ketentuan
untuk golongan A adalah gaji dibawah 500.000 kena pajak 0.75%, untuk golongan B
adalah gaji antara 500.000-1.000.000 kena pajak 2%, untuk golongan C adalah gaji antara
1.000.000-5.000.000 kena pajak 5%, untuk golongan Dadalah gaji di atas 5.000.000 kena
pajak 10%).
Nama, NIM, jurusan, gaji diinput
Output
Nama
NIM
Gaji
Golongan
Pajak yang harus dibayar
Gaji bersih

Jawab
1. Program
Uses winCrt;
Var pembelian,potongan,bayar:real;
Begin
Clrscr;
Write('Jumlah pembelian ?');Readln(pembelian);
if pembelian > 50000 then
Begin
potongan:=0.1*pembelian;

PEMPROGRAMAN PASCAL 51
dayak_timur@yahoo.com

bayar:=pembelian-potongan;
End
Else
Begin
potongan:=0*pembelian;
bayar:=pembelian;
End;
Writeln('Potongan =Rp.',potongan:7:2);
Writeln('Jumlah yang harus dibayar =Rp.',bayar:7:2);
Readln;
End.

Output
Misalkan jumlah pembeliannya 100000

2. Program
Uses Crt;
Var n:Integer;
Begin
Clrscr;
Write('Berapa Nilai Anda?');Readln(n);
If n>60 then
Writeln('Anda Lulus');
If n=60 then
Writeln('Anda ikut perbaikan')
Else
if n<60 then
Writeln('Anda mengulang');Readln;
End.
Output
Berapa Nilai Anda?70
Anda Lulus
or
Berapa Nilai Anda?60
Anda ikut perbaikan
or
Berapa Nilai Anda?50
Anda mengulang

3. Program
Uses Crt;
Var Angka,kg,harga:longint;
x:Char;
Begin
Clrscr;
Writeln('Daftar Perhitungan Penjualan Beras dan Ketan');
Writeln('============================================');
Writeln('Jika anda memilih angka 1 = maka daftar beras');
Writeln('Jika anda memilih angka 2 = maka daftar ketan');

PEMPROGRAMAN PASCAL 52
dayak_timur@yahoo.com

Writeln;
Write('Pilihan anda ?');Readln(angka);
Writeln;
angka:=4;
While (angka<1) or (angka>2) do
Begin
Write('Mau coba lagi (Y/N) ?');Readln(x);
if x='N' then
Write('Selesai');
if x='Y' then
Write('Pilihan anda (1 or 2) ?');Readln(angka);
End;
Writeln;
Case angka of
1:Begin
Write('Berapa kilo beras yang anda beli ?
');Readln(kg);
harga:=kg*900;
Write('Anda harus membayar Rp.',harga);
End;
2:Begin
Write('Berapa kilo ketan yang anda beli ?
');Readln(kg);
harga:=kg*1000;
Write('Anda harus membayar Rp.',harga);
End;
End;
Readln;
End.

Output
Daftar Perhitungan Penjualan Beras dan Ketan
====================================
Jika anda memilih angka 1 = maka daftar beras
Jika anda memilih angka 2 = maka daftar ketan

Pilihan anda ?6

Mau coba lagi (Y/N) ?Y


Pilihan anda (1 or 2) ?1

Berapa kilo beras yang anda beli ?5


Anda harus membayar Rp.4500

or

Daftar Perhitungan Penjualan Beras dan Ketan


====================================
Jika anda memilih angka 1 = maka daftar beras
Jika anda memilih angka 2 = maka daftar ketan

Pilihan anda ?6

PEMPROGRAMAN PASCAL 53
dayak_timur@yahoo.com

Mau coba lagi (Y/N) ?N


Selesai

4. Program
Uses Crt;
Var nama,NIM,jurusan:String;
gol:Char;
pajak,pph,bersih,gaji:real;
Begin
Clrscr;
Write('Nama :');Readln(nama);
Write('NIM :');Readln(NIM);
Write('Jurusan :');Readln(jurusan);
Write('Gaji :');Readln(gaji);
If (gaji<=500000) then
Begin
gol:='A';
pajak:=0.75;
pph:=0.0075*gaji;
End;
If (gaji>500000) and (gaji<=1000000) then
Begin
gol:='B';
pajak:=2;
pph:=0.02*gaji;
End;
If (gaji>1000000) and (gaji<=5000000) then
Begin
gol:='C';
pajak:=5;
pph:=0.05*gaji;
End
Else
If (gaji>5000000) then
Begin
gol:='D';
pajak:=10;
pph:=0.1*gaji;
End;
Writeln('Golongan :',gol);
Writeln('Besarnya Pajak :',pajak:4:2,'%');
Writeln('Pajak yang harus dibayar :',pph:7:0);
Writeln('--------------------------------------------');
bersih:=gaji-pph;
Writeln('Gaji Bersih:',bersih:7:0);
Readln;
End.

Output
Nama :Irpan KW
NIM :200822018

PEMPROGRAMAN PASCAL 54
dayak_timur@yahoo.com

Jurusan :Teknik Informatika


Gaji :1500000
Golongan :C
Besarnya Pajak :5.00%
Pajak yang harus dibayar : 75000
-----------------------------------------------------------
Gaji Bersih :1425000

Flowchart

PEMPROGRAMAN PASCAL 55
dayak_timur@yahoo.com

mulai

pembelian

tidak
pembelian > 50000 bayar:=pembelian

ya

bayar:=pembelian-(0.1*pembelian)

Cetak
bayar

selesai

mulai

Nilai

ya
nilai > 60 p:=Anda Lulus

tidak

ya
nilai = 60 p:=Anda ikut perbaikan

tidak

p:=Anda mengulang

cetak
p

selesai

Nomor 1 Nomor 2

PEMPROGRAMAN PASCAL 56
dayak_timur@yahoo.com

mulai
mulai

Nama,NIM
Jurusan,Gaji
angka

ya ya gol:=A
gaji<=500000 pajak:=0.75%
pph:=0.0075*gaji
ya
angka < 1 mau tidak
Y/N
angka > 2 coba lagi
ya gol:=B
gaji<=1000000 pajak:=2%
pph:=0.02*gaji
tidak
tidak
ya
angka = 1 kg ya gol:=C
gaji<=5000000 pajak:=5%
tidak pph:=0.05*gaji
tidak tidak

kg harga:=kg*900 gol:=D
pajak:=10%
pph:=0.1*gaji

harga:=kg*1000
gaber:=gaji-pph

Cetak
Cetak Nama,NIM,Jurusan
harga gaji,pajak,gaber

selesai selesai

Nomor 3 Nomor 4

PEMPROGRAMAN PASCAL 57

You might also like