makalah pascal
Post on 08-Jun-2015
9.050 Views
Preview:
DESCRIPTION
TRANSCRIPT
Pemprograman dengan Bahasa Pascal
Dengan Contoh-Contoh Program, Output,Latihan dan Penyelesaian
Disusun Oleh :
Nama : Irpan Kusuma Wijaya
NIM : 200822018
Fakultas : Teknologi Industri
Jurusan : Teknik Informatika
INSTITUT SAINS DAN TEKNOLOGI AL-KAMAL
JAKARTA
dayak_timur@yahoo.com
DAFTAR ISI
HALAMAN JUDUL .............................................................................................
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
- 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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
Clrscr;Writeln(‘Halo mahasiswa, kalian lagi belajar apa?’);Delay(8000); {Program akan berhenti sejenak selama 5 detik}Writeln;Writeln(‘Kami lagi belajar Praktek Pascal’);Readln;
End.
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
Write('Jumlah Jam Lembur');gotoxy(20,4);Write(':');Readln(jam); Writeln; tunjangan:=15*gaji/100; lembur:=jam*gaji/100; Total:=gaji+tunjangan+lembur; Writeln('Perincian gaji pegawai :'); Writeln('------------------------'); Write('Gaji Pokok');gotoxy(20,8);Writeln(': Rp',gaji:10:0); Write('Tunjangan');gotoxy(20,9);Writeln(': Rp',tunjangan:10:0); Write('Upah Lembur');gotoxy(20,10);Writeln(': Rp',lembur:10:0); Writeln('-------------------------------'); Write('Gaji Total');gotoxy(20,12);Writeln(': Rp',total:10:0); Readln;End.
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
dayak_timur@yahoo.com
3. Buatlah program dg ketentuan sbb :Untuk baris dan kolom diinput, (baris antara 3-6, dan kolom antara 5-10)Setelah diinput akan tampil nama lengkap anda pada posisi yang diinput, setelah 7 detik dari kalimat pertama akan tampil NIM anda pada beda 3 baris dan 5 kolom, setelah beda 16 detik dari kalimat pertama akan tampil jurusan pada beda 5 baris dan 9 kolom, setelah 4 detik dari kalimat terakhir yang tampil akan muncul saya belajar pascal dengan beda 4 baris dan 2 kolom.
Jawab :1. Program
Uses Crt;Var r,t,s,L,V:Real;Const phi=3.14;Begin Clrscr; Write('Tinggi Kerucut');Gotoxy(20,1);Write(':');Readln(t); Write('Jari-Jari');Gotoxy(20,2);write(':');Readln(r); s:=sqrt(r*r+t*t); L:=(phi*r*r)+(phi*r*s); V:=(phi*r*r*t)/3; Write('Luas Kerucut');Gotoxy(20,3);Writeln(':',L:10:4); Write('Volume Kerucut');Gotoxy(20,4);Writeln(':',V:10:4); Readln;End.
Output(Misalkan tinggi dan jari-jari sebuah kerucut adalah 10)
2. 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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
****
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
Uses Crt;Const harga_bensin=700;
Harga_solar=600;Var bensin,solar,I:integer;Begin
Clrscr;Writeln(‘Tabel Harga Bahan Bakar’);Writeln(‘====================’);Writeln(‘ Liter Bensin Solar’);Writeln(‘===================’);I:=1;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
dayak_timur@yahoo.com
End.
Output
Latihan 3 (Buatlah Program, Output dan Flowchartnya)1. Buat program perulangan for bersarang untuk mengatur waktu meledaknya bom
dengan ketentuan :Bila waktu menunjukan 1 : 00 : 00 akan muncul tulisan ‘BOOOMM...!’ dimana set awal waktunya 0 : 00 : 00 dan dengan bantuan Delay (5000) serta perulangan dimulai dari detik ke menit lalu ke jam.
2. Ganti Soal no.1 dengan menggunakan perulangan tersarang WHILE DO.3. Ganti Soal no.2 dengan menggunakan perulangan tersarang REPEAT-UNTIL.4. Buatlah program untuk mencatat 10 buah bilangan genap pertama.5. Buatlah program untuk membuat outpunya :
**************Untuk jumlah bintang diinput
6. Buat program untuk output :‘Saya belajar pascal’ {sebanyak 5x dengan delay waktu 5 detik perkalimat}.
7. Buat program untuk output :‘Saya belajar di lab. Komputer’ {posisi (x,y) diinput antara (3-10,10-20);Hasil output harus sekolom sebanyak 5x}.
8. Buat program menggunakan for do untuk mencetak angka 10 sampai 80 dengan selisih 5.
9. Buat program dengan :Input : posisi baris dan 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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
Nomor 1,2,3 Nomor 5
Nomor 4 Nomor 6
PEMPROGRAMAN PASCAL 39
dayak_timur@yahoo.com
Nomor 7 Nomor 8
Nomor 9
PEMPROGRAMAN PASCAL 40
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
Var I,n:integer;Begin
Clrscr;I:=-2;Repeat
I:=I+2;n:=I*I;Writeln(n);
Until I=30;Readln;
End.
Output
2. 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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
Nomor 1.a Nomor 1.b
Nomor 2 Nomor 3
PEMPROGRAMAN PASCAL 44
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
Contoh 2 :Uses Crt;Var nilai:integer;
Nama,nim:string;Begin
Clrscr;Write(‘Nama anda ?’);Readln(Nama);Write(‘NIM anda ?’);Readln(nim);Write(‘Berapa nilai anda ?’);Readln(nilai);If (nilai<=100) and (nilai>=80) 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
dayak_timur@yahoo.com
Variable dan konstanta yang dapat dipakai hanyalah yang mempunyai ordinal, yaiutu tipe integer dan char.
Contoh 1:Uses Crt;Var nilai:char;Begin
Write(‘Nilai Huruf yang didapat?’);Readln(nilai);Case nilai of‘A’: Writeln(‘Sangat Baik’);‘B’: Writeln(‘Baik’);‘C’: Writeln(‘Cukup’);‘D’: Writeln(‘Kurang’);‘E’: Writeln(‘gagal’);End;Readln;
End.
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
dayak_timur@yahoo.com
Contoh 3:Uses Crt;Var pilihan:Byte;
kg,beras,ketan,terigu:integer;Begin
Clrscr;Gotoxy(10,2);Writeln(‘Pilihan anda :’);Gotoxy(10,4);Writeln(‘1. Menghitung harga beras’);Gotoxy(10,6);Writeln(‘2. Menghitung harga ketan’);Gotoxy(10,8);Writeln(‘3. Menghitung harga terigu’);Gotoxy(10,10);Writeln(‘Pilih nomor 1-3 ?’);Readln(pilihan);Clrscr;Case pilihan of
1: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
dayak_timur@yahoo.com
= = = = = = = = = = =
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
Gaji :1500000Golongan :CBesarnya Pajak :5.00%Pajak yang harus dibayar : 75000-----------------------------------------------------------Gaji Bersih :1425000
Flowchart
Nomor 1 Nomor 2
PEMPROGRAMAN PASCAL 55
dayak_timur@yahoo.com
Nomor 3 Nomor 4
PEMPROGRAMAN PASCAL 56
top related