Makalah Pascal

67
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

description

tugas yang membosankan

Transcript of Makalah Pascal

Page 1: Makalah Pascal

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

Contoh 2Begin

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

End.OutputHai apa kabar?Baik-baik saja

Contoh 3Begin

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?

PEMPROGRAMAN PASCAL 7

Page 8: Makalah Pascal

[email protected]

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

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 :

PEMPROGRAMAN PASCAL 8

Page 9: Makalah Pascal

[email protected]

- 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’;Write(‘Nama :’);Write(Nama);Readln;

End.

OutputNama : Shabira

Contoh 4Var Nama:String[15];Begin

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

End.

OutputNama : Shabira

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

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

End.

OutputNama : Shabira Kusumaw

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.

Output

PEMPROGRAMAN PASCAL 9

Page 10: Makalah Pascal

[email protected]

AB

Contoh 7Var Huruf1,Huruf2:char;Begin

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

End.

OutputAB

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

Clrscr;Write(‘Masukan nilai A=’);Readln(A);Write(‘Masukan nilai B=’);Readln(B);C:=A+B;Writeln(‘A+B=’,C); {untuk menampilkan A+B=}Writeln(A,’+’,B,’=’,C); {untuk menampilkan nilai A dan B yang kita input}Readln;

End.

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

PEMPROGRAMAN PASCAL 10

Page 11: Makalah Pascal

[email protected]

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

Contoh 3Uses Crt;Var Ket1:Char;

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

PEMPROGRAMAN PASCAL 11

Page 12: Makalah Pascal

[email protected]

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

Latihan 1 (Buatlah Program, Output dan Flowchartnya)1. Buat program menghitung luas dan keliling lingkaran dengan hasil perhitungannya

menggunakan format 2 angka di belakang koma!.2. Buat program menghitung luas persegi panjang dengan ketentuan panjang dan lebar

diinput. Dengan outputnya menggunakan format 3 angka di belakang koma 3. diketahui sebuah kotak mempunyai ukuran :

panjang alas : 10 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.Output

PEMPROGRAMAN PASCAL 12

Page 13: Makalah Pascal

[email protected]

Masukan 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; s2:char;

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

PEMPROGRAMAN PASCAL 13

Page 14: Makalah Pascal

[email protected]

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

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.

PEMPROGRAMAN PASCAL 14

Page 15: Makalah Pascal

[email protected]

Output

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

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

Contoh 2Uses Crt;Begin

PEMPROGRAMAN PASCAL 15

Page 16: Makalah Pascal

[email protected]

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

}. 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 kolomMasukan nilai y untuk baris

Output : Hai apa kabar kawan ? delay 7 detik muncul ‘Baik-baik saja’.3. Perusahaan telepon di kota ‘X’ mempunyai tarip Rp.100 per pulsa. Setiap langganan

dikenakan biaya langganan sebesar Rp.3000 per bulan. Jumlah pulsa = 235. buatlah program untuk menghitung tagihan langganan.Keluaran : Jumlah 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 .................-----------------------------------------------

PEMPROGRAMAN PASCAL 16

Page 17: Makalah Pascal

[email protected]

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

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

3. ProgramUses Crt;Var jumlah:longint;Const langganan=3000; pulsa=100;Begin Clrscr;

PEMPROGRAMAN PASCAL 17

Page 18: Makalah Pascal

[email protected]

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

OutputJumlah Tagihan : Rp.26500

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

x:char;Const langganan=3000; pulsa=100;Begin

Clrscr; x:=':';

Write('Nomor langganan',x:2); Readln(no);Write('Nama langganan',x:3); Readln(nama);Write('Alamat',x:19); Readln(alamat);Writeln('Perincian Tagihan :');Writeln('Biaya berlangganan',x:12,'Rp.',langganan:8);Writeln('Biaya pulsa 235*Rp.100',x:3,'Rp.',pulsa*235:8);

Writeln('-----------------------------------------');Writeln('Total',x:20,'Rp.',langganan+235* pulsa:8);Readln;End.

Output Nomor langganan :20Nama langganan :irpan KWAlamat :BekasiPerincian Tagihan:Biaya berlangganan :Rp. 3000Biaya pulsa 235*Rp.100 :Rp. 23500---------------------------------------------Total :Rp. 26500

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

PEMPROGRAMAN PASCAL 18

Page 19: Makalah Pascal

[email protected]

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

OutputNama :Irpan KWnip :200822018Gaji pokok :1200000Jumlah jam lembur :6

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

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

Tugas 1 (Buatlah Program, Output dan Flowchartnya)1. Buatlah Program untuk menghitung Luas dan Volume Kerucut.

- input : variable yg berhubungan, π untuk konstanta- Output : Luas dan Volume kerucut dengan format 4 angka di belakang koma.

2. Buatlah program yang outputnya sbb:

NIM NIMNama Lengkap

--

NIM--

Jurusan--

Turbo PascalNama Panggilan Nama Panggilan

PEMPROGRAMAN PASCAL 19

Page 20: Makalah Pascal

[email protected]

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

Jawab :1. Program

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

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

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

PEMPROGRAMAN PASCAL 20

Page 21: Makalah Pascal

[email protected]

Readln;End.

Output

200822018 200822018Irpan KW

200822018

Teknik Informatika

Turbo PascalIrpan KW

Irpan KW

3. Program Uses Crt;Var x,y:integer;Begin Clrscr; Write('Input Baris (3-6) :');Readln(y); Write('Input Kolom (5-10) :');Readln(x); Clrscr; Gotoxy(x,y);Writeln('Irpan KW');

Delay(7000); Gotoxy(x+5,y+3);Writeln('200822018');

Delay(9000); Gotoxy(x+14,y+8);Writeln('Teknik Informatika');

Delay(4000); Gotoxy(x+16,y+12);Writeln('Saya Belajar Pascal'); Readln;End.

Output

Irpan kw

20082018

Teknik Informatika

Saya belajar pascal

PEMPROGRAMAN PASCAL 21

Page 22: Makalah Pascal

[email protected]

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 1Var 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’);

PEMPROGRAMAN PASCAL 22

Page 23: Makalah Pascal

[email protected]

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.

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.

PEMPROGRAMAN PASCAL 23

Page 24: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 24

Page 25: Makalah Pascal

[email protected]

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

Output

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

PEMPROGRAMAN PASCAL 25

Page 26: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 26

Page 27: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 27

Page 28: Makalah Pascal

[email protected]

Output

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

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

PEMPROGRAMAN PASCAL 28

Page 29: Makalah Pascal

[email protected]

****

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.

Output01234

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)

PEMPROGRAMAN PASCAL 29

Page 30: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 30

Page 31: Makalah Pascal

[email protected]

Uses Crt;Var I:Byte;Begin

Clrscr;I:=1;Repeat

Writeln(I);Inc(I);

Until I>5;Readln;

End.

Output12345

Contoh 2Uses 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(‘============================’);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 3

PEMPROGRAMAN PASCAL 31

Page 32: Makalah Pascal

[email protected]

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

End.

Output

Perulangan Repeat Until 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;

PEMPROGRAMAN PASCAL 32

Page 33: Makalah Pascal

[email protected]

End.

Output

Latihan 3 (Buatlah Program, Output dan Flowchartnya)1. Buat program perulangan for bersarang untuk mengatur waktu meledaknya bom

dengan ketentuan :Bila waktu menunjukan 1 : 00 : 00 akan muncul tulisan ‘BOOOMM...!’ dimana set awal waktunya 0 : 00 : 00 dan dengan bantuan Delay (5000) serta perulangan dimulai dari detik ke menit lalu ke jam.

2. Ganti Soal no.1 dengan menggunakan perulangan tersarang WHILE DO.3. Ganti Soal no.2 dengan menggunakan perulangan tersarang REPEAT-UNTIL.4. Buatlah program untuk mencatat 10 buah bilangan genap pertama.5. Buatlah program untuk membuat outpunya :

**************Untuk jumlah bintang diinput

6. Buat program untuk output :‘Saya belajar pascal’ {sebanyak 5x dengan delay waktu 5 detik perkalimat}.

7. Buat program untuk output :‘Saya belajar di lab. Komputer’ {posisi (x,y) diinput antara (3-10,10-20);Hasil output harus sekolom sebanyak 5x}.

8. Buat program menggunakan for do untuk mencetak angka 10 sampai 80 dengan selisih 5.

9. Buat program dengan :Input : posisi baris dan kolomOutput : ‘Saya lagi belajar pascal’ sebanyak 6 kali dengan selisih 2 baris perkalimat dan pada kolom yang sama dengan selisih delay 5 detik perkalimat.

PEMPROGRAMAN PASCAL 33

Page 34: Makalah Pascal

[email protected]

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

End.

2. Program

Uses Crt;Var J,K:integer; Begin

Clrscr; Gotoxy(4,3);Write('0'); Gotoxy(7,3);Write(':'); Delay(5000); J:=-1; While J < 59 do Begin

J:=J+1; Gotoxy(9,3);Write(J:2); Gotoxy(12,3);write(':'); Delay(5000); K:=-1;While K < 59 do Begin

K:=K+1; Gotoxy(14,3);Write(K:2); Delay(5000);

End; End; Gotoxy(4,3);Write('1');Gotoxy(7,3);Write(':'); Gotoxy(9,3);write('00');

PEMPROGRAMAN PASCAL 34

Page 35: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 35

Page 36: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 36

Page 37: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 37

Page 38: Makalah Pascal

[email protected]

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

Flowchart

PEMPROGRAMAN PASCAL 38

Page 39: Makalah Pascal

[email protected]

Nomor 1,2,3 Nomor 5

Nomor 4 Nomor 6

PEMPROGRAMAN PASCAL 39

Page 40: Makalah Pascal

[email protected]

Nomor 7 Nomor 8

Nomor 9

PEMPROGRAMAN PASCAL 40

Page 41: Makalah Pascal

[email protected]

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 NIM

NIMNIM

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

PEMPROGRAMAN PASCAL 41

Page 42: Makalah Pascal

[email protected]

Var I,n:integer;Begin

Clrscr;I:=-2;Repeat

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

Until I=30;Readln;

End.

Output

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

PEMPROGRAMAN PASCAL 42

Page 43: Makalah Pascal

[email protected]

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; Write('Input Kolom:');Readln(K); Write('Input Baris:');Readln(B); Clrscr; Gotoxy(K,B);Writeln('Irpan KW'); Delay(6000); X:=K-1; Y:=B+1; For I:=1 to 3 do Begin X:=X+5; Y:=Y+2; Gotoxy(X,Y);Writeln('200822018'); End;

X:=X-18; Y:=Y+2; For I:=1 to 3 do

Begin X:=X+20; Gotoxy(X,Y);Writeln('Teknik Informatika'); End; Readln;

End.

Flowchart

PEMPROGRAMAN PASCAL 43

Page 44: Makalah Pascal

[email protected]

Nomor 1.a Nomor 1.b

Nomor 2 Nomor 3

PEMPROGRAMAN PASCAL 44

Page 45: Makalah Pascal

[email protected]

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;

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

PEMPROGRAMAN PASCAL 45

Page 46: Makalah Pascal

[email protected]

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

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;

PEMPROGRAMAN PASCAL 46

Page 47: Makalah Pascal

[email protected]

If pilih=2 thenBeginWriteln(‘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

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

PEMPROGRAMAN PASCAL 47

Page 48: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 48

Page 49: Makalah Pascal

[email protected]

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.

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

PEMPROGRAMAN PASCAL 49

Page 50: Makalah Pascal

[email protected]

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

PEMPROGRAMAN PASCAL 50

Page 51: Makalah Pascal

[email protected]

= = = = = = = = = = =

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

PEMPROGRAMAN PASCAL 51

Page 52: Makalah Pascal

[email protected]

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

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;

PEMPROGRAMAN PASCAL 52

Page 53: Makalah Pascal

[email protected]

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.

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

PEMPROGRAMAN PASCAL 53

Page 54: Makalah Pascal

[email protected]

Mau coba lagi (Y/N) ?NSelesai

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

OutputNama :Irpan KWNIM :200822018Jurusan :Teknik Informatika

PEMPROGRAMAN PASCAL 54

Page 55: Makalah Pascal

[email protected]

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

Flowchart

Nomor 1 Nomor 2

PEMPROGRAMAN PASCAL 55

Page 56: Makalah Pascal

[email protected]

Nomor 3 Nomor 4

PEMPROGRAMAN PASCAL 56