Prosedur
dan afungsi adalah suatu bagian program ( sub program ) yang memiliki tugas
untuk mengerjakan deretan perintah tertentu. Dengan prosedur memungkinkan untuk
melakukan suatu pekerjaan yang berulang – ulang tanpa harus menuliskan kembali
instruksi – intruksi yang dilakukan. Pekerjaan yang dilakukan berulang –ulang .
Prosedur dan fungsi bedanya kalau prosedur hasilnya tidak ditipedatakan
sedangkan fungis hasilnya harus ditipedatakan. Syntak penulisannya :
Procedure NamaPRogram;
Begin
Statement
End;
Begin
Pemanggilan
Program;
End;
Dan &&&
Function NamaProgram:Tipedata;
Begin
Statement
End;
Begin
PemanggilanProgram;
End;
Latihan – Latihan
Program Menghitung _Berbagai_Luas;
Uses
Crt;
Var
S,SE,PP,LL,LJ :
Real;
P,Alas,Tinggi,Panjang,Lebar,Jari,Sudut,Pil : Integer;
Pilihan :
Char;
Procedure
Matematika;
Begin
Writeln;
Writeln(‘Ketikan angka pilihan
dibawah ini dan tekan < Enter > ‘);
Writeln(‘1.
Luas Segitiga’);
Writeln(‘2.
Luas SegiEmpat’);
Writeln(‘3.
Luas Persegi Panjang’);
Writeln(‘4.
Luas Lingkaran’);
Writeln(‘5.
Luas Juring’);
Writeln(‘6.
Selesai’);
End;
Procedure
Luas_Segitiga;
Begin
Writeln;
Write(‘Alas : ‘);Readln(Alas);
Write(‘Tinggi : ‘);Readln(Tinggi);
S:=alas
* (Tinggi / 2);
Writeln(‘Luas
Segitiga : ‘,S);
End;
Procedure
Luas_SegiEmpat;
Begin
Writeln;
Write(‘Panjang : ‘);Readln(Panjang);
Write(‘Lebar : ‘);Readln(Lebar);
SE:=Panjang
* Lebar
Writeln(‘Luas
SegiEmpat : ‘,SE);
End;
Procedure
Luas_Persegi_Panjang;
Begin
Writeln;
Write(‘Panjang : ‘);Readln(Panjang);
Write(‘Lebar : ‘);Readln(Lebar);
PP:=Panjang
* Lebar
Writeln(‘Luas
Persegi Panjang : ‘,PP);
End;
Procedure
Luas_Lingkaran;
Begin
Writeln;
Write(‘Jari
- Jari : ‘);Readln(Jari);
LL:=Pi
* Sqr(Jari);
Writeln(‘Luas
Lingkaran : ‘,LL);
End;
Procedure
Luas_Juring;
Begin
Writeln;
Write(‘Sudut
Juring :
‘);Readln(Juring);
Write(‘Jari
- Jari : ‘);Readln(JAri);
LJ:=Sudut
/ 360 * Pi * Sqr(Jari);
Writeln(‘Luas
Juring : ‘,LJ);
End;
Procedure
Laksanakan_Matematika;
Begin
P:= Ord(Pilihan) – 48
Case P Of
1 : Luas_Segitiga;
2 : Luas_SegiEmpat;
3 : Luas_Persegi_Panjang;
4 : Luas_Lingkaran;
5 : Luas_Juring;
6 : Begin
Writeln;
Writeln(‘
&&&& Selesai &&&&’);
End;
End;
End;
Begin
Write(‘Pilihan :
);Readln(Pil);
Write p <> 6 Do
Begin
Repeat
Matematika;
Write(‘Pilihan angka yang
dipilih : ‘);read(Pilihan);
Writeln(Pilihan);
Laksanakan_Matematika;
Until (pilihan = 6);
End;
End.
Program Perpustakaan;
Uses
Crt;
Var
Kode_Buku :
Char;
Harga_Sewa, Denda_Hari,
Sewa_Hari, Bayar : Real;
Procedure
Masukan(Var Tr_Kode ; Var Tr_hari:Real);
Begin
Gotoxy(15,12);Write(‘Kode Buku
Pinjaman :’);Readln(Tr_Kode);
Gotoxy(15,13);Write(‘Lama Hari
Pinjam :’);Readln(Tr_Hari);
End;
Funtion
HargaSewa(Tr_Kode2 : Char);Real;
Begin
If Upcase(Tr_Kode2) = ‘A’ Then
HargaSewa := 300
Else If Upcase (Tr_Kode2) = ‘B’ Then
HargaSewa := 250
Else If Upcase (Tr_Kode2) = ‘L’ Then
HargaSewa := 350;
End;
Funtion
Denda(Tr_Kode3 : Char; Tr_Kode2 : Real);Real;
Var
A :
Real;
Begin
If Upcase(Tr_Kode3) = ‘A’ Then
A:= 50
Else If Upcase
(Tr_Kode3) = ‘B’ Then
A := 25
Else
If Upcase (Tr_Kode3) = ‘L’ Then
A:=
100;
If Tr_Hari2 > 7 Then
Denda := (Tr_Hari2 – 7) * A
Else Denda := 0;
End;
Procedure
Cetak(Tr_Sewa, Tr_Denda, Tr_Total : real);
Begin
Gotoxy(15,15);Write(‘Harga Sewa 7
Hari : Rp.’,Tr_Sewa:5:0);
Gotoxy(15,16);Write(‘Denda Harus
Bayar : Rp.’,Tr_Denda:5:0);
Gotoxy(15,17);Write(‘================================);
Gotoxy(15,18);Write(‘Total
Pembayaran : Rp.’,Tr_Total:5:0);
End;
Clrscr; { Membersihkan Layar }
Masukan(Kode_Buku, Sewa_Hari);
Harga_Sewa := HargaSewa(Kode_Buku);
Denda_Hari :=
Denda(Kode_Buku,Sewa_Hari);
Bayar := Harga_Sewa + Denda_Hari;
Cetak(Harga_sewa, Denda_Hari,Bayar);
End.
0 comments:
Post a Comment
Ayo diskusi disini ..