P. 1
Makalah Pascal Ipank

# Makalah Pascal Ipank

4.55

|Views: 4,615|Likes:
Dipublikasikan oleh irpan kusuma wijaya

See more
See less

05/15/2013

pdf

text

original

# Pemprograman dengan Bahasa Pascal

Dengan Contoh-Contoh Program, Output, Latihan dan Penyelesaian

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

INSTITUT SAINS DAN TEKNOLOGI AL-KAMAL JAKARTA

DAFTAR ISI
HALAMAN JUDUL ............................................................................................. DAFTAR ISI ....................................................................................................... BAB I Mengenal Pascal A. Perkembangan Pascal ..................................................................... B. Struktur Program Pascal .................................................................. C. Penulisan Program Pascal ............................................................... D. Judul Program .................................................................................. E. Bagian Deklarasi .............................................................................. 1. Deklarasi Konstanta ..................................................................... 2. Deklarasi Variabel ........................................................................ 3. Deklarasi tipe ............................................................................... 4. Deklarasi Label ............................................................................ F. Cara Mengorerasikan Turbo Pascal ................................................ 1 2 3 3 3 3 3 3 4 4 4 4 5 5 5 6 6 7 8 11 14 15 22 22 25 26 29 30 45 45 47 48

BAB II Elemen-Element Program Pascal A. Kata-Kata Cadangan ....................................................................... B. Pengenal (Identifier) ........................................................................ C. Tipe Data ......................................................................................... D. Tanda Operasi ................................................................................ E. Komentar Program .......................................................................... BAB III Input dan Output Program Output ................................................................................... Program Input ....................................................................................... Tampilan Terformat .............................................................................. Pengaturan Letak di Layar dengan Prosedur Gotoxy .......................... Pengaturan Letak di Layar dengan Prosedur Delay ............................ BAB IV Perulangan 1. Perulangan For ............................................................................... a. Perulangan For Positif ............................................................... b. Perulangan For Negatif .............................................................. c. Perulangan For Bersarang ......................................................... 2. Pengulangan While Do ................................................................... 3. Perulangan Repeat Until ................................................................. BAB V Penyeleksian Kondisi 1. Pendahuluan ................................................................................... 2. Statemen If .... Then ........................................................................ 3. Statemen If .... Then ..... Else .......................................................... 4. Statemen Case .... of ......................................................................

PEMPROGRAMAN PASCAL

2

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

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

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 Byte 1 byte Shortint 1 byte Integer 2 byte Word 2 byte Longint 4 byte

jangkauan nilai 0 .. 255 -128 .. 127 -32768 .. 32767 0 .. 65535 -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

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

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
start

saya belajar pascal

---------------------

stop

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

End.

Output
Hai apa kabar? Baik-baik saja
start

hai apa kabar ?

baik baik saja

stop

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

PEMPROGRAMAN PASCAL

7

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
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
M asukan ni la i A =5 M asukan ni la i B=6 A =11 +B 5+6=11
{angka 5 merupakan nilai yang kita input} {angka 6 merupakan nilai yang kita input} {angka 11 merupakan nilai C hasil dari A+B}

PEMPROGRAMAN PASCAL

8

s t art

v ar a, b, c

mas uk k an nilai a

a

mas uk k an nilai b

b

c: =a + b

'a'+ 'b'= 'c'

a, '+ ',b,'= ', c

s t op

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 Masukan nilai B= 6 A =11 +B 5+6=11
{angka 5 merupakan nilai yang kita input} {angka 6 merupakan nilai yang kita input} {angka 11 merupakan nilai C hasil dari A+B}

Note : - Clrscr digunakan untuk membersihkan layar monitor dari tampilan sebelumnya - Clrscr harus dipasangkan dengan Uses Crt bila pascal dijalankan dalam DOS - Clrscr harus dipasangkan dengan Uses WinCrt bila pascal dijalankan dalam Windows. Contoh 3
Var Nama:String[15]; Begin Nama :=’Shabira’;

PEMPROGRAMAN PASCAL

9

Output
Nama : Shabira
start nama nama:=shabira nama

shabira

stop

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

Output
Nama : Shabira
start nama nama:=shabira nama

shabira

stop

Contoh 5
Var Nama:String[15];
string} {untuk membatasi jumlah character dalam

Begin

End.

Nama :=’Shabira Kusumawati’; Write(‘Nama :’); Write(Nama); Readln;

Output
Nama : Shabira Kusumaw

PEMPROGRAMAN PASCAL

10

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
start

huruf1 huruf2

huruf1:=a huruf2:=b

a, b

stop

Contoh 7
Var Huruf1,Huruf2:char; Begin Huruf1:=’A’; Huruf2:=’B’; C:=concat(AB); Writeln(C); Readln; End.

{concat digunakan untuk menggabungkan character}

Output
AB
start

huruf1 huruf2

huruf1:=a huruf2:=b

a, b

stop

Contoh 8
Uses Crt; Var A,B,C:Byte;
PEMPROGRAMAN PASCAL

11

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

M asukan ni la i A =5 M asukan ni la i B=6 A =11 +B 5+6=11

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

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 Yang anda maksud adalah B
start

{B merupakan nilai yang kita input}

c,b

benar atau salah ?

c

B:=(c='b')

b

stop

PEMPROGRAMAN PASCAL

12

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); Readln; End.

{disediakan 12 character untuk String1}

Output
Bahasa
start

Pascal

string1 string2

string1:=bahasa string2:=pascal

bahasa pascal

stop

Contoh 3
Uses Crt;
PEMPROGRAMAN PASCAL

13

Var

Ket1:Char; Ket2:String[6]; Ket3:Integer; Ket4:Real; Ket5:Boolean; 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;

Begin

End.

Output

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

k et1, k et2, k et3, k et4, k et5

k et4=222006

k et1=a nilai real

a

222006

k et2=pas c al

nilai real k edua

bahas a

222006

pas c al

k et5=true

k et3=24200

nilai boolean

jumlah data

true

A

s top

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!.

PEMPROGRAMAN PASCAL

14

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
M asukan Jar i - jar i = 10 Luas L ingkaran = 314.00 Kel i l ing L ingkaran = 62.80
{10  nilai yang kita input} {314.00  hasil perhitungan luas} {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
Lebar = 3

Luas Persegi Panjang = 18.000
luas}

{6 {3 {18.000

 nilai p yang kita input}  nilai l yang kita input}  hasil perhitungan

3. Program

Uses Crt; Var p,l,t,i,Luas:integer; s1:string;
PEMPROGRAMAN PASCAL

15

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
start r,l,k start p,l,luas
start pa,la,t,vol,luas

masukkan nilai r r k=(2*3.14)*r*r

masukkan nilai panjang p k=(2*3.14)*r*r

pa=10 la=7 t=15

ukuran kotak = 10*7*15

l=3.14*r

masukkan nilai lebar

vol=pa*la*t

luas lingkaran:

luas=pa*la

l
isi kotak:

l

l=p*l
vol

k

luas persegi:
luas permikaan kotak :

keliling lingkaran:

luas
luas

stop

stop

stop

Nomor 1

Nomor 2

Nomor 3
PEMPROGRAMAN PASCAL

16

Pengaturan Letak di Layar dengan Prosedur gotoxy
Sintaks : gotoxy(x,y) Contoh 1 artinya output akan terletak pada kolom ke-x dan baris ke-y.

Uses Crt; Begin Clrscr; Gotoxy(10,15); Writeln(‘Bahasa Pascal’); Readln; End.

Output

{Bahasa Pascal terletak pada kolom ke-10 dan baris ke-15}
start gotoxy(10,15)

bahasa pascal stop

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
PEMPROGRAMAN PASCAL

17

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? Kami lagi belajar Praktek Pascal
start

halo mahasiswa, lagi apa ?

delay(5000)

kami lagi belajar pascal

stop

Contoh 2
Uses Crt; Begin 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? 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 }.
PEMPROGRAMAN PASCAL

18

2.

3.

4.

5.

 Saya sudah bisa membuat program { posisi (20,15) dengan delay 8 detik dari teks pertama }. 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’. 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). 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. 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 ................. ----------------------------------------------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

PEMPROGRAMAN PASCAL

19

start gotoxy(5,10)

saya suka belajar pascal delay(3000) gotoxy(12,13)

pascal itu menyenagkan delay(11000) gotoxy(20,15)

saya sudah bisa membuat program

stop

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 ka wan ? Baik-baik saja
{terletak pada kolom ke3 dan baris ke 3}

PEMPROGRAMAN PASCAL

20

start x,y

nilai x :

x

nilai y: y gotoxy(x,y)

hai apa kabar

delay 7000

baik baik saja stop

3. Program

Uses Crt; Var jumlah:longint; Const langganan=3000; pulsa=100; Begin Clrscr; jumlah:=langganan+235*pulsa; Writeln('Jumlah Tagihan : Rp.',jumlah); Readln; End.

Output
Jumlah Tagihan : Rp.26500
start jp,trf,tag,talang

trf=100 jp=235 tag=trf*jp

tagihan:

tag

tagihan langganan

talang

stop

4. Program

Uses Crt; Var no,nama,alamat:string; x:char;
PEMPROGRAMAN PASCAL

21

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

PEMPROGRAMAN PASCAL

22

s tart jp,nmr,nm,almt total,bp,bl bl=3000 jp=235 bp=jp*100 total=bl+bp

Nomor langganan :

nmr

nama langganan

nm

alamat

almt

perincian tagihan

biay a langganan :bl

biay a pulsa, jp, *Rp100:, bp

---------------------

total : total

s top

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); 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('-------------------------------');
PEMPROGRAMAN PASCAL

23

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 -------------------Rp. 1452000------Gaji total

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 Nama Lengkap NIM Jurusan Turbo Pascal Nama Panggilan Panggilan Nama NIM

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;
PEMPROGRAMAN PASCAL

24

Var Const Begin

r,t,s,L,V:Real; phi=3.14;

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'); Gotoxy(74,25);Writeln('Irpan KW'); Readln; End.

Output
200822018 200822018 Irpan KW 200822018 Teknik Informatika Turbo Pascal Irpan KW KW Irpan

PEMPROGRAMAN PASCAL

25

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

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
PEMPROGRAMAN PASCAL

26

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 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’);
PEMPROGRAMAN PASCAL

27

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.

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);
PEMPROGRAMAN PASCAL

28

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)

Contoh 9
Uses Crt; Var X:integer; C,F:Real; Begin
PEMPROGRAMAN PASCAL

29

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; 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:
PEMPROGRAMAN PASCAL

30

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; End; Readln; End.

Output

Contoh 2

Uses Crt; Var I,J:Integer; Begin Clrscr; For I:=1 to 5 do Begin
PEMPROGRAMAN PASCAL

31

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.

Output

PEMPROGRAMAN PASCAL

32

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 * ** *** ****

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;
PEMPROGRAMAN PASCAL

33

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)

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;

PEMPROGRAMAN PASCAL

34

End.

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;

Output
(misalkan jumlah data yang diinput 3)

{bila berhenti, tapi jika

diinput

T

maka

pengulangan

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
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
PEMPROGRAMAN PASCAL

35

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

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;
PEMPROGRAMAN PASCAL

36

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;

End. Output

PEMPROGRAMAN PASCAL

37

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.

Jawab 1. Program

Uses Crt;
PEMPROGRAMAN PASCAL

38

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'); Gotoxy(12,3);Write(':'); Gotoxy(14,3);Write('00'); Gotoxy(25,15);Write('BOOOOM.....!'); Readln; End.
PEMPROGRAMAN PASCAL

39

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; end.

Output

PEMPROGRAMAN PASCAL

40

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.

Output

PEMPROGRAMAN PASCAL

41

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

42

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

43

mulai

mulai
jumlah bintang

K:=-1
K:=0

detik:=K+1;
K:=K+1

tidak
detik>59
K:=jumlah bintang

tidak

ya
J:=-1

ya
J:=jumlah bintang

menit:=J+1;

J:=J-1

tidak
menit:>59

tidak

J<2

ya
Cetak menit,detik

ya
Cetak 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
I>5

tidak

ya
selesai

ya
selesai

Nomor 4

Nomor 6

PEMPROGRAMAN PASCAL

44

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 P

Cetak n

tidak
I>5

tidak
I>16

ya
selesai

ya
selesai

Nomor 7
mulai

Nomor 8

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

45

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

PEMPROGRAMAN PASCAL

46

b. Program

Uses Crt; 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 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
PEMPROGRAMAN PASCAL

47

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

48

mulai

mulai

awal, akhir

I:=-2

I:=akhir+2

I:=I+2

I:=I-2

n:=I*I

Cetak I

Cetak n

ya
I = awal
I = 30

ya

tidak
selesai

tidak
selesai

Nomor 1.a
mulai

Nomor 1.b

mulai

k,b

k,b

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

b:=b+1

X:=X+5 Y:=Y+2

gotoxy (k,b)

gotoxy (X,Y)

tidak

I:=2

I>3

ya

X:=K+3 Y:=B+I

X:=X-18 Y:=Y+2

X:=X+20

gotoxy (X,Y)
gotoxy (X,Y)

Cetak Nama,NIM,Jurusan Saya Belajar Pascal

Cetak Nama,NIM Jurusan

I>5

tidak
tidak
I>3

ya
selesai

ya
selesai

Nomor 2

Nomor 3
PEMPROGRAMAN PASCAL

49

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

50

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

51

End.

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;

Output

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

PEMPROGRAMAN PASCAL

52

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

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

53

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 Potongan 10000 =Rp 500 ------------------Jumlah yang harus dibayar =Rp 9500 =Rp

PEMPROGRAMAN PASCAL

54

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

55

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

56

bayar:=pembelian-potongan; End Else Begin

End.

End; Writeln('Potongan =Rp.',potongan:7:2); Writeln('Jumlah yang harus dibayar =Rp.',bayar:7:2); Readln;

potongan:=0*pembelian; bayar:=pembelian;

Output
Misalkan jumlah pembeliannya 100000

2. Program
Uses Crt; Var n:Integer; Begin Clrscr; Write('Berapa If n>60 then Writeln('Anda If n=60 then Writeln('Anda Else if n<60 then Writeln('Anda 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

57

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

58

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 NIM :Irpan KW :200822018
PEMPROGRAMAN PASCAL

59

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

Flowchart

PEMPROGRAMAN PASCAL

60

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

61

mulai

mulai
Nama,NIM Jurusan,Gaji

angka

ya
gaji<=500000

ya
tidak

angka < 1 angka > 2

ya

gol:=A pajak:=0.75% pph:=0.0075*gaji

mau coba lagi

Y/N

ya
gaji<=1000000

tidak
tidak

gol:=B pajak:=2% pph:=0.02*gaji

ya
angka = 1 kg

ya

tidak

gaji<=5000000

gol:=C pajak:=5% pph:=0.05*gaji

tidak
kg harga:=kg*900

tidak
gol:=D pajak:=10% pph:=0.1*gaji

harga:=kg*1000

gaber:=gaji-pph

Cetak harga

Cetak Nama,NIM,Jurusan gaji,pajak,gaber

selesai

selesai

Nomor 3

Nomor 4

PEMPROGRAMAN PASCAL

62

scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->