Makalah Pascal Ipank

73
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

Transcript of Makalah Pascal Ipank

Page 1: Makalah Pascal Ipank

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

Page 2: Makalah Pascal Ipank

DAFTAR ISI

HALAMAN JUDUL .............................................................................................

DAFTAR ISI .......................................................................................................

BAB I Mengenal PascalA. 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 ................................................

BAB II Elemen-Element Program PascalA. Kata-Kata Cadangan .......................................................................B. Pengenal (Identifier) ........................................................................C. Tipe Data .........................................................................................D. Tanda Operasi ................................................................................E. Komentar Program ..........................................................................

BAB III Input dan OutputProgram Output ...................................................................................Program Input .......................................................................................Tampilan Terformat ..............................................................................Pengaturan Letak di Layar dengan Prosedur Gotoxy ..........................Pengaturan Letak di Layar dengan Prosedur Delay ............................

BAB IV Perulangan1. 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 Kondisi1. Pendahuluan ...................................................................................2. Statemen If .... Then ........................................................................3. Statemen If .... Then ..... Else ..........................................................4. Statemen Case .... of ......................................................................

1

2

3333334444

55566

78111415

222225262930

45454748

PEMPROGRAMAN PASCAL 2

Page 3: Makalah Pascal Ipank

BAB IMengenal Pascal

A. Perkembangan PascalPascal 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 PascalStruktur program pascal terdiri dari :1. Judul Program2. Blok Program

a. Bagian deklarasi- Deklarasi label- Definisi konstanta- Definisi tipe- Deklarasi variable- Deklarasi prosedur- Deklarasi fungsi

b. Bagian pernyataan

C. Penulisan Program PascalContoh penulisan program yang bebas

BeginWriteln(‘Belajar Pascal’);

Writeln(--------------‘); End.Contoh penulisan yang tidak dianjurkanBegin Writeln(‘Belajar Pascal’); Writeln(--------------‘);

End.Contoh penulisan program yang dianjurkanBegin

Writeln(‘Belajar Pascal’);Writeln(--------------‘);

End.

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

E. Bagian Deklarasi1. Deklarasi Konstanta

Berisi identifier yang berisi nilai-nilai konstanta.Contoh penulisannya:

PEMPROGRAMAN PASCAL 3

Page 4: Makalah Pascal Ipank

ConstPanjang=10;Lebar=5;

2. Deklarasi VariabelMendefinisikan identifieryang berisi data yang berubah-ubah nilainya dalam program.Var total,gaji:real;

Menikah,keterangan:string;

3. Deklarasi tipeAda 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 labelDeklarasi 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 PascalTorbo 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

Page 5: Makalah Pascal Ipank

BAB IIElement-Element Program Pascal

Element-element program pascal adalah sbb :1. Simbol-simbol dasar2. Kata-kata cadangan3. Pengenalan didefinisikan oleh pemakai.4. Data5. Karakter control6. Tanda operasi7. Komentar program8. Statemen9. Prosedur10. Fungsi

A. Kata-kata cadanganAdalah 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 data1. Tipe data numerik integer

Tipe Ukuran memory jangkauan nilaiByte 1 byte 0 .. 255Shortint 1 byte -128 .. 127Integer 2 byte -32768 .. 32767Word 2 byte 0 .. 65535Longint 4 byte -2147483648

2. Tipe data numerik realTipe konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38, nilai numerik real menempati memory sebesar 6 byte.

3. Tipe data karakterNilai karakter berupa sebuah karakter yang ditulis diantara tanda petik tunggal.

4. Tipe data stringBerupa 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

Page 6: Makalah Pascal Ipank

D. Tanda OperasiDalam bahasa pascal ada beberapa tanda operasi (operator) antara lain :Operator Fungsiassignment operator:= sama denganbinary operator* perkalianDiv pembagian bulat/ pembagian realMOD Modulus (hasil pembagian)+ penjumlahan- penguranganbitwise operatorNOT Logika NotAND Logika AndOR Logika OrXOR Logika XorSHL 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 ProgramKomentar 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

Page 7: Makalah Pascal Ipank

BAB IIIProgram Input dan Output

Program OutputDalam 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 OutputnyaContoh 1Begin

Writeln(‘Saya Belajar Pascal’);Writeln(‘---------------------------‘);Readln;

End.OutputSaya Belajar Pascal

start

saya belajar pascal

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

stop

Contoh 2Begin

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

End.OutputHai apa kabar?Baik-baik saja

start

hai apa kabar ?

baik baik saja

stop

Contoh 3Begin

PEMPROGRAMAN PASCAL 7

Page 8: Makalah Pascal Ipank

Write(‘Hai apa kabar?’);Write(‘Baik-baik saja’);Readln;

End.OutputHai apa kabar?Baik-baik saja

Contoh 4

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

End.OutputHai apa kabar?

Baik-baik sajaNote : Writeln digunakan untuk pindah baris atau posisi cursor.Program InputDalam 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 1Uses 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.

OutputMasukan 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

PEMPROGRAMAN PASCAL 8

Page 9: Makalah Pascal Ipank

var a, b, c

a

b

c:=a + b

masukkan nilai a

masukkan nilai b

'a'+'b'='c'

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

start

stop

Contoh 2Uses Crt;Var A,B,C:Byte; {A,B,C Merupakan variable yang digunakan dalam Program}BeginClrscr;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.

OutputMasukan 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- Clrscr harus dipasangkan dengan Uses WinCrt bila pascal dijalankan dalam

Windows.Contoh 3Var Nama:String[15];Begin

Nama :=’Shabira’;

PEMPROGRAMAN PASCAL 9

Page 10: Makalah Pascal Ipank

Write(‘Nama :’);Write(Nama);Readln;

End.

OutputNama : Shabira

start

nama

nama:=shabira

nama

shabira

stop

Contoh 4Var Nama:String[15];Begin

Nama :=’Shabira’;Writeln(‘Nama :’);Writeln(Nama);Readln;

End.

OutputNama : Shabira

start

nama

nama:=shabira

nama

shabira

stop

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

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

End.

OutputNama : Shabira Kusumaw

PEMPROGRAMAN PASCAL 10

Page 11: Makalah Pascal Ipank

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

Contoh 6Var Huruf1,Huruf2:char;Begin

Huruf1:=’A’;Huruf2:=’B’;Writeln(Huruf1,Huruf2);Readln;

End.

OutputAB

start

stop

huruf1huruf2

huruf1:=ahuruf2:=b

a, b

Contoh 7Var Huruf1,Huruf2:char;Begin

Huruf1:=’A’;Huruf2:=’B’;C:=concat(AB); {concat digunakan untuk menggabungkan character}Writeln(C);Readln;

End.

OutputAB

start

stop

huruf1huruf2

huruf1:=ahuruf2:=b

a, b

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

PEMPROGRAMAN PASCAL 11

Page 12: Makalah Pascal Ipank

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

OutputMasukan 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

Contoh 9Uses 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.

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

start

stop

c,b

B:=(c='b')

yang anda maksud adalah

benar atau salah ?

c

b

PEMPROGRAMAN PASCAL 12

Page 13: Makalah Pascal Ipank

Tampilan Terformata. 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:NTampilan Boolean True atau False dengan lebar n karakter sebelah kanan.

Contoh 1Var 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 2Var String1,String2:String[10];Begin

String1:=’Pascal’;Writeln(‘Bahasa’,String1:12); {disediakan 12 character untuk String1}Readln;

End.

OutputBahasa Pascal

start

stop

string1string2

string1:=bahasastring2:=pascal

bahasa pascal

Contoh 3Uses Crt;

PEMPROGRAMAN PASCAL 13

Page 14: Makalah Pascal Ipank

Var Ket1:Char;Ket2:String[6];Ket3:Integer;Ket4:Real;Ket5:Boolean;

BeginClrscr;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 ABahasa : PascalJumlah Data : 24200Nilai Real : 2.22006E+05Nilai Real Kedua : 222006.000Nilai Boolean : True

start

ket1, ket2, ket3,ket4, ket5

ket1=a

a

ket2=pascal

bahasa

pascal

ket3=24200

jumlah data

24200

ket4=222006

nilai real

222006

ket5=true

nilai boolean

true

nilai real kedua

222006

stopA

A

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

Page 15: Makalah Pascal Ipank

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 cmlebar alas : 7 cmtinggi : 15 cmbuatlah 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 cmisi kotak : 1050cm3luas permukaan kotak : 650 cm2

Jawab1. 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.OutputMasukan Jari-jari = 10 {10 nilai yang kita input}Luas Lingkaran = 314.00 {314.00 hasil perhitungan luas}Keliling Lingkaran = 62.80 {62.80 hasil perhitungan keliling}

2. ProgramUses 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.

OutputPanjang = 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. ProgramUses Crt;Var p,l,t,i,Luas:integer;

s1:string;

PEMPROGRAMAN PASCAL 15

Page 16: Makalah Pascal Ipank

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.

Outputukuran kotak : 10 cm x 7 cm x 15 cmisi kotak : 1050cm3luas permukaan kotak : 650 cmFlowchart

start

stop

r,l,k

masukkan nilai r

r

l=3.14*r

k=(2*3.14)*r*r

luas lingkaran:

l

keliling lingkaran:

k

start

stop

p,l,luas

masukkan nilai panjang

p

l=p*l

k=(2*3.14)*r*r

luas persegi:

luas

masukkan nilai lebar

l

start

pa,la,t,vol,luas

pa=10la=7t=15

ukuran kotak = 10*7*15

vol=pa*la*t

isi kotak:

vol

luas=pa*la

luas permikaan kotak :

luas

stop

Nomor 1 Nomor 2 Nomor 3

PEMPROGRAMAN PASCAL 16

Page 17: Makalah Pascal Ipank

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

Clrscr;Gotoxy(10,15);Writeln(‘Bahasa Pascal’);Readln;

End.Output

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

stop

gotoxy(10,15)

bahasa pascal

Contoh 2Uses 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

Page 18: Makalah Pascal Ipank

Delay digunakan untuk menghentikan sejenak proses program. Ukuran waktunya dalam milisecond (1/1000 detik).Contoh 1Uses 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.

OutputHalo mahasiswa, kalian lagi belajar apa?

{ada selang 5 detik}Kami lagi belajar Praktek Pascal

start

stop

halo mahasiswa, lagi apa ?

delay(5000)

kami lagibelajar pascal

Contoh 2Uses 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.

OutputHalo 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

}.

PEMPROGRAMAN PASCAL 18

Page 19: Makalah Pascal Ipank

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 barisOutput : 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 TagihanPetunjuk : 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 lemburOutput :

Perincian gaji pegawai :Gaji Pokok : Rp .................Tunjangan : Rp .................Upah Lembur : Rp .................-----------------------------------------------Gaji Total : Rp .................

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

Page 20: Makalah Pascal Ipank

start

stop

gotoxy(5,10)

saya suka belajar pascal

gotoxy(12,13)

pascal itu menyenagkan

delay(3000)

delay(11000)

gotoxy(20,15)

saya sudah bisamembuat program

2. ProgramUses 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

PEMPROGRAMAN PASCAL 20

Page 21: Makalah Pascal Ipank

start

stop

x,y

nilai x :

nilai y:

hai apa kabar

x

y

gotoxy(x,y)

delay 7000

baik baik saja

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

OutputJumlah Tagihan : Rp.26500

start

stop

jp,trf,tag,talang

tagihan:

tag

trf=100jp=235

tag=trf*jp

tagihan langganan

talang

4. ProgramUses Crt;Var no,nama,alamat:string;

x:char;

PEMPROGRAMAN PASCAL 21

Page 22: Makalah Pascal Ipank

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 :20Nama langganan :irpan KWAlamat :BekasiPerincian Tagihan:Biaya berlangganan :Rp. 3000Biaya pulsa 235*Rp.100 :Rp. 23500---------------------------------------------Total :Rp. 26500

PEMPROGRAMAN PASCAL 22

Page 23: Makalah Pascal Ipank

start

stop

jp,nmr,nm,almttotal,bp,bl

Nomor langganan :

nama langganan

bl=3000jp=235

bp=jp*100total=bl+bp

alamat

biaya langganan :bl

nmr

nm

almt

perincian tagihan

biaya pulsa, jp,*Rp100:, bp

total : total

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

5. ProgramUses 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

Page 24: Makalah Pascal Ipank

Write('Gaji Total');gotoxy(20,12);Writeln(': Rp',total:10:0); Readln;End.

OutputNama :Irpan KWnip :200822018Gaji pokok :1200000

Jumlah jam lembur :6

Perincian Gaji pegawai----------------------

Gaji pokok :Rp. 1200000Tunjangan :Rp. 180000Upah 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 NIMNama Lengkap

--

NIM--

Jurusan--

Turbo PascalNama Panggilan Nama Panggilan

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;

PEMPROGRAMAN PASCAL 24

Page 25: Makalah Pascal Ipank

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. ProgramUses 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 200822018Irpan KW

200822018

Teknik Informatika

Turbo PascalIrpan KW

Irpan KW

3. Program

PEMPROGRAMAN PASCAL 25

Page 26: Makalah Pascal Ipank

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 IVPerulangan

A. Perulangan ForPerulangan 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

PEMPROGRAMAN PASCAL 26

Page 27: Makalah Pascal Ipank

Var I:integer;Begin

For I:= 1 to 5 doWriteln(‘Pascal’);Readln;

End.OutputPascalPascalPascalPascalPascal

Contoh 2Var I:integer;Begin

For I:= 1 to 5 doBegin

Writeln(‘Pascal’);End; Readln;

End.OutputPascalPascalPascalPascalPascal

Contoh 3Var 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.

Output1Belajar2Belajar3Belajar4Belajar5Belajar

Contoh 4Var I:integer;Begin

For I:= 1 to 5 do {hanya mengulang nilai ‘I’ dari 1 sampai 5}Write(I);Writeln(‘Belajar’);Readln;

End.

PEMPROGRAMAN PASCAL 27

Page 28: Makalah Pascal Ipank

Output12345Belajar

Contoh 5Uses 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.

Output12345Selesai

Contoh 6Uses 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.

Output1Selesai2Selesai3Selesai 4Selesai5Selesai

Contoh 7Uses 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 doJumlah:=jumlah + I;

PEMPROGRAMAN PASCAL 28

Page 29: Makalah Pascal Ipank

Writeln(‘Jumlah bilangan-bilangan tersebut adalah :’,jumlah);

Readln;End.

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

Contoh 8Uses 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 9Uses Crt;Var X:integer; C,F:Real;Begin Clrscr; Writeln('------------------------------'); Writeln(' Celcius Fahrenheit '); Writeln('------------------------------');

PEMPROGRAMAN PASCAL 29

Page 30: Makalah Pascal Ipank

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 doWriteln(I);Writeln(‘Selesai’);Readln;

End.Output54321Selesai

Contoh 2:Uses Crt;Var B:Integer;Begin

Clrscr;

PEMPROGRAMAN PASCAL 30

Page 31: Makalah Pascal Ipank

Writeln(‘-------------------------------------------‘);Writeln(‘ B B*B B*B*B 1/B ‘);Writeln(‘-------------------------------------------‘);For B:=10 downto 1 doWriteln(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 1Uses Crt;Var I,J:Integer;Begin

Clrscr;For I:=1 to 5 doBegin

For J:=1 to 4 doWrite(I:8,J:5);Writeln;

End;Readln;

End.Output

Contoh 2Uses Crt;Var I,J:Integer;Begin

Clrscr;For I:=1 to 5 doBegin

For J:=1 to 4 doWriteln(I:8,J:5);Writeln;

End;

PEMPROGRAMAN PASCAL 31

Page 32: Makalah Pascal Ipank

Readln;End.Output

Contoh 3Uses Crt;Var I,J,K:Integer;Begin

Clrscr;For I:=1 to 5 doBegin

For J:=1 to 4 doBegin

For K:=1 to 3 doWrite(I:8,J:5,K:4);Writeln;

End;End;Readln;

End.

Output

Contoh 3Uses Crt;Var I,J:Integer;

PEMPROGRAMAN PASCAL 32

Page 33: Makalah Pascal Ipank

BeginClrscr;For I:=1 to 3 doBegin

For J:=1 to 5 doWrite(‘*’);Writeln;

End;Readln;

End.Output***************

Contoh 4Uses Crt;Var I,J,K:Integer;Begin

Write(‘Masukan Jumlah Bintang :’);Readln(I);For J:=1 to I doBegin

For K:=1 to J doWrite(‘*’);Writeln;

End;Readln;

End.Output(misalkan jumlah bintang yang diinput adalah 4)Masukan Jumlah Bintang :4**********

B. Pengulangan while doStruktur 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 1Var I:Integer;Begin

I:=0;While I<5 doBegin

Writeln(I);I:=I+1;

End;Readln;

End.

Output

PEMPROGRAMAN PASCAL 33

Page 34: Makalah Pascal Ipank

01234

Contoh 2Uses 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 doBegin

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 BersarangMerupakan perulangan while-do yang satu di dalam perulangan while-do yang lainnya.Contoh 1Uses Crt;Var Ni,R,T:Real;

N,I:Integer;Lagi:Char;

BeginLagi:=’Y’;While Lagi=’Y’ doBegin

Clrscr;Write(‘Jumlah Data ?’);Readln(N);Writeln;I:=0;T:=0;While I<N do

PEMPROGRAMAN PASCAL 34

Page 35: Makalah Pascal Ipank

BeginI:=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 UntilStruktur 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 1Uses Crt;Var I:Byte;Begin

Clrscr;I:=1;Repeat

Writeln(I);Inc(I);

Until I>5;Readln;

End.

Output12345

Contoh 2Uses Crt;

PEMPROGRAMAN PASCAL 35

Page 36: Makalah Pascal Ipank

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(‘============================’);Repeatd:=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 3Uses 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;RepeatBensin:=700*I;Solar:=600*I;Writeln(I:8,’’,Bensin:10,’’,Solar:10);I:=I+1;Until I>20;Writeln(‘===================’);Readln;

End.

Output

PEMPROGRAMAN PASCAL 36

Page 37: Makalah Pascal Ipank

Perulangan Repeat Until BersarangPerulangan repeat until yang satu berada di dalam perulangan repeat until yang lain.

Contoh 1Uses Crt;Var A,B,C:Real;Begin

Clrscr;Writeln(‘=====================’);Writeln(‘Sisi A Sisi B Sisi C’);Writeln(‘=====================’);A:=1;RepeatB:=0;

RepeatC:=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

Page 38: Makalah Pascal Ipank

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 kolomOutput : ‘Saya lagi belajar pascal’ sebanyak 6 kali dengan selisih 2 baris perkalimat dan pada kolom yang sama dengan selisih delay 5 detik perkalimat.

Jawab1. 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');

PEMPROGRAMAN PASCAL 38

Page 39: Makalah Pascal Ipank

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

3. ProgramUses 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;

PEMPROGRAMAN PASCAL 39

Page 40: Makalah Pascal Ipank

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. ProgramUses Crt;Var I:integer;Begin Clrscr; I:=0; repeat I:=I+2; writeln(I); until I=20; Readln;end.

Output

5. ProgramUses Crt;Var I,J,K:Integer;Begin

Clrscr; Write('Masukan Jumlah Bintang :');Readln(I); For J:=I downto 2 do Begin

PEMPROGRAMAN PASCAL 40

Page 41: Makalah Pascal Ipank

For K:= 1 to J do Write('*'); Writeln; End; Readln;End.

OutputMisalkan jumlah bintang yg diinput adalah 6

6. ProgramUses Crt;Var I:Integer;Begin Clrscr; For I:=1 to 5 do Begin Writeln('Saya Belajar Pascal');

Delay(5000); End; Readln;End.

Output

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

PEMPROGRAMAN PASCAL 41

Page 42: Makalah Pascal Ipank

End.

OutputMisalkan posisi kolom yang diinput 10 dan posisi baris yang diinput 3

8. ProgramUses Crt;Var I,n:integer;Begin

Clrscr;For I :=2 to 16 doBegin

n:=I*5;Writeln(n);

End; Readln;End.Output

9. ProgramUses 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.

OutputMisalkan posisi kolom yang diinput 3 dan posisi baris yang diinput 3

PEMPROGRAMAN PASCAL 42

Page 43: Makalah Pascal Ipank

Flowchart

Nomor 1,2,3 Nomor 5

PEMPROGRAMAN PASCAL 43

Page 44: Makalah Pascal Ipank

Nomor 4 Nomor 6

Nomor 7 Nomor 8

PEMPROGRAMAN PASCAL 44

Page 45: Makalah Pascal Ipank

Nomor 9

Tugas 2 (Buatlah Program, Output dan Flowchartnya)

1. Buatlah programnyaa. 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.

NamaNIMJurusan 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

PEMPROGRAMAN PASCAL 45

Page 46: Makalah Pascal Ipank

NIMNIM

NIMIF IF IF

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

OutputMisalkan batas awal yang diinput 1 dan batas akhir yang diinput 11

b. ProgramUses Crt;Var I,n:integer;Begin

Clrscr;I:=-2;Repeat

I:=I+2;n:=I*I;Writeln(n);

Until I=30;Readln;

End.

Output

PEMPROGRAMAN PASCAL 46

Page 47: Makalah Pascal Ipank

2. ProgramUses 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.

OutputMisalkan posisi baris yang diinput 3 dan posisi kolom yang diinput 3Irpan KW200822018Teknik Informatika

Saya Belajar PascalSaya Belajar PascalSaya Belajar Pascal

3. ProgramUses Crt; Var I,K,B,X,Y:Integer; Begin Clrscr;

PEMPROGRAMAN PASCAL 47

Page 48: Makalah Pascal Ipank

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

Nomor 1.a Nomor 1.b

PEMPROGRAMAN PASCAL 48

Page 49: Makalah Pascal Ipank

Nomor 2 Nomor 3

BAB VPenyeleksian Kondisi

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

B. Statement If .... thenStrukturnya adalah if ungkapan then statementUngkapan 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;

PEMPROGRAMAN PASCAL 49

Page 50: Makalah Pascal Ipank

B:string[11];Begin

Clrscr;B:=’Tidak Lulus’;Write(‘Berapa nilai anda?’);readln(a);If a>55 then B:=’Lulus’;Writeln(B);Readln;

End.

OutputMisalkan 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) doBegin

Gotoxy(10,12);Write(‘Pilih nomor (0-3)?’);Readln(pilihan);End;Clrscr;If pilihan=1 thenBegin

Write(‘Jari-jari Lingkaran =’);Readln(R);Luas:=3.14*R*R;Writeln(‘Luas Lingkaran =’,Luas:9:2);

End;If pilihan=2 thenBegin

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 thenBeginWrite(‘Sisi Panjang =’);Readln(T);Write(‘Sisi Lebar =’);Readln(L);Luas:=T*L;Writeln(‘Luas Bujursangkar =’,Luas:9:2);End;

Readln;End.

Output

PEMPROGRAMAN PASCAL 50

Page 51: Makalah Pascal Ipank

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 thenBegin

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;If pilih=2 then

BeginWriteln(‘Daftar Harga-harga Shampo’);Writeln(‘====================’);Writeln(‘Shampo SunsilkRp.700’);Writeln(‘Shampo Brisk Rp.1100’);Writeln(‘Shampo RejoiceRp.1000’);Writeln(‘Sabun Kao Rp.600’);

End;If pilih=0 thenBegin

Writeln(‘Anda tidak memilih daftar harga’);End;Readln;

End.OutputMisalkan pilihannya adalah 2

PEMPROGRAMAN PASCAL 51

Page 52: Makalah Pascal Ipank

C. Statement If .... then ... elseMerupakan 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.OutputMisalkan pilihannya adalah 80

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) thenBegin

Writeln(‘Anda mendapat nilai A’);Writeln(‘Poin yang anda peroleh = 4’);

End;If (nilai<=79) and (nilai>=70) thenBegin

Writeln(‘Anda mendapat nilai B’);

PEMPROGRAMAN PASCAL 52

Page 53: Makalah Pascal Ipank

Writeln(‘Poin yang anda peroleh = 3’);End;If (nilai<=69) and (nilai>=60) thenBegin

Writeln(‘Anda mendapat nilai C’);Writeln(‘Poin yang anda peroleh = 2’);

End;If (nilai<=59) and (nilai>=50) thenBegin

Writeln(‘Anda mendapat nilai D’);Writeln(‘Poin yang anda peroleh = 1’);

EndElseIf (nilai<=49) thenBegin

Writeln(‘Anda mendapat nilai E’);Writeln(‘Poin yang anda peroleh = 0’);

End;Readln;

End.

OutputMisalkan nilainya adalah 80

Nama anda ?Irpan KWNIM anda ?200822018Berapa nilai anda ?80Anda mendapat nilai APoin yang anda peroleh = 4

D. Statemen case .... ofStruktur 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>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;

PEMPROGRAMAN PASCAL 53

Page 54: Makalah Pascal Ipank

End.

OutputMisalkan nilai yang diinput adalah A

Contoh 2:Uses Crt;Var pembelian,potongan:integer;Begin

Clrscr;Write(‘Total Pembelian ?’);Readln(pembelian);Case pembelian of0..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.

OutputMisalkan jumlah pembelian yang diinput 10000

Total Pembelian ?10000Jumlah Pembelian =Rp 10000Potongan =Rp 500

-------------------Jumlah yang harus dibayar =Rp 9500

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:beginWriteln(‘Menghitung harga beras’);Writeln(‘===================’);Writeln;

PEMPROGRAMAN PASCAL 54

Page 55: Makalah Pascal Ipank

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

EndElseBegin

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 kgMenghitung harga beras= = = = = = = = = = =

Berapa kilogram yang anda beli20Anda 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 diinputJika nilai = 60 anda ikut perbaikanJika nilai > 60 anda lulus

PEMPROGRAMAN PASCAL 55

Page 56: Makalah Pascal Ipank

Jika nilai < 60 anda mengulang3. 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 berasJika anda memilih angka 2 = maka daftar ketanPilihan anda ? 1Berapa kilo beras yang anda beli ? 5Anda harus membayar Rp.4.500Ada 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 diinputOutputNamaNIMGajiGolonganPajak yang harus dibayarGaji bersih

Jawab1. Program

Uses winCrt;Var pembelian,potongan,bayar:real;Begin Clrscr; Write('Jumlah pembelian ?');Readln(pembelian); if pembelian > 50000 then Begin potongan:=0.1*pembelian; 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.

OutputMisalkan jumlah pembeliannya 100000

PEMPROGRAMAN PASCAL 56

Page 57: Makalah Pascal Ipank

2. ProgramUses 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. OutputBerapa Nilai Anda?70Anda LulusorBerapa Nilai Anda?60Anda ikut perbaikan orBerapa Nilai Anda?50Anda mengulang

3. ProgramUses 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'); 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;

PEMPROGRAMAN PASCAL 57

Page 58: Makalah Pascal Ipank

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.

OutputDaftar Perhitungan Penjualan Beras dan Ketan====================================Jika anda memilih angka 1 = maka daftar berasJika anda memilih angka 2 = maka daftar ketan

Pilihan anda ?6

Mau coba lagi (Y/N) ?YPilihan anda (1 or 2) ?1

Berapa kilo beras yang anda beli ?5Anda harus membayar Rp.4500

or

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

Pilihan anda ?6

Mau coba lagi (Y/N) ?NSelesai

4. ProgramUses Crt; Var nama,NIM,jurusan:String;

gol:Char; pajak,pph,bersih,gaji:real;

Begin Clrscr;

PEMPROGRAMAN PASCAL 58

Page 59: Makalah Pascal Ipank

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.

OutputNama :Irpan KWNIM :200822018Jurusan :Teknik InformatikaGaji :1500000Golongan :CBesarnya Pajak :5.00%Pajak yang harus dibayar : 75000-----------------------------------------------------------Gaji Bersih :1425000

Flowchart

PEMPROGRAMAN PASCAL 59

Page 60: Makalah Pascal Ipank

Nomor 1 Nomor 2

Nomor 3 Nomor 4

PEMPROGRAMAN PASCAL 60