Post on 08-Jun-2015
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Flowchart
Nomor 1,2,3 Nomor 5
PEMPROGRAMAN PASCAL 43
Nomor 4 Nomor 6
Nomor 7 Nomor 8
PEMPROGRAMAN PASCAL 44
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Nomor 1 Nomor 2
Nomor 3 Nomor 4
PEMPROGRAMAN PASCAL 60