Anda di halaman 1dari 8

PROGRAM PROCEDURE

MAKALAH
UNTUK MEMENUHI MATAKULIAH
Pemograman Komputer
Yang dibina oleh Bapak MohamadYasin, S.Kom, M.Kom

Disusun Oleh :

Fadhilah Nisaul Qonitah (180312613119)


Silmi Hayatan Nashuha (180312613075)

UNIVERSITAS NEGERI MALANG


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
JURUSAN MATEMATIKA
Februari 2020
1. Apa yang dimaksud dengan procedure?

Procedur adalah suatu program terpisah dari program utama, yang mana untuk
memanggilnya cukup dengan mendeklarasikan nama procedur di bagian program utama.
Sementara itu, untuk membuat sebuah prosedur anda hanya perlu menuliskan “procedure
namaprocedure;” (tanpa tanda petik) dibagian publik, setelah itu anda tinggal membuat
syntax procedurnya di bagian implementasi.

2. Bagaimana cara mendeklarasikan procedure sebagai bagian dari obyek dan procedure
yang sifatnya mandiri?

public
{ Public declarations }
procedure tambah;
procedure kurang;
procedure kali;
procedure bagi;
end;

3. Apa yang dimaksud parameter dalam procedure!

Parameter merupakan variabel yang dituliskan didalam kurung setelah nama procedure.
Berdasarkan penulisannya terdapat 2 jenis parameter, yaitu parameter formal dan
parameter aktual. Parameter formal yaitu parameter yang disertakan atau dituliskan pada
saat pendefinisian procedur itu sendiri. Berdasarkan tujuannya parameter formal dibagi
menjadi 3 jenis, yakni parameter masukan (input parameter), parameter keluaran (output
parameter), parameter masukan/keluaran(input/output parameter). Sedangkan parameter
aktual yaitu parameter yang disertakan pada saat pemanggilan prosedur tersebut di blok
program utama.

4. Untuk melewati parameter dalam procedure bisa dilakukan dengan melalui nilai (passed
by value) dan melewatkan parameter melalui variabel (passed by reference). Jelaskan
kedua hal tersebut sekaligus dengan contohnya!

1) Pengiriman Parameter Secara Nilai (Procedure by Value)


Pengiriman secara nilai ini merupakan pengiriman searah, yaitu dari parameter nyata
ke parameter formal, yang tidak dikirimkan balik dari parameter formal ke parameter
nyata. Parameter–parameter yang digunakan dengan pengiriman secara nilai ini
disebut dengan parameter nilai (value parameter). Bila parameter dikirimkan secara
nilai, parameter formal di prosedur akan berisi nilai yang dikirimkan yang kemudian
bersifat local di prosedur. Bila nilai parameter formal di prosedur berubah, tidak akan
mempengaruhi nilai parameter nyata (nilai parameter nyata tetap, tidak berubah).
Contoh:

program procedure_by_value;

{$APPTYPE CONSOLE}

uses
SysUtils;

procedure tambah (a,b: integer);


var
c: integer;

begin

c:= a+b;
writeln('hasil penjumlahan=', c);
end;

var
x,y: integer;

begin
writeln('PROCEDURE BY VALUE');
writeln('==================');
write ('nilai X =');
readln (X);
write ( 'nilai Y =') ;
readln (Y);
tambah (X,Y);
readln;

end.

2) Pengiriman Parameter Secara Acuan (Procedure by Reference)


Bila pengiriman parameter secara acuan, maka perubahan-perubahan yang terjadi
pada nilai parameter formal di prosedur akan mempengaruhi nilai parameter nyata.
Parameter-parameter ini disebut dengan variable parameter serta dideklarasikan di
deklarasi prosedur dengan menggunakan kata cadangan Var.

program procedure_by_reference;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
x,y,z: integer;
procedure tambah(var a,b,c:integer);
begin
c:= A+B;
end;

begin
writeln('PROCEDURE BY REFERENCE');
writeln('======================');
write(' nilai X=');
readln (X);
write('nilai Y=');
readln(Y);

tambah (X,Y,z);
writeln('X+Y=', Z);
readln;

end.

5. Apa pengaruh varibel lokal dan varibel global dalam sebuah procedure! Jelaskan dengan
menggunakan contoh!

Variabel atau identifier yang mempunyai ruang lingkup yang sempit disebut
Variabel Lokal, dan yang mempunyai ruang lingkup yang luas, misal ruang lingkup unit
disebut Variabel Global.

Sebagai contoh, jika anda mendeklarasikan sebuah variabel yang bagian interface
dengan nama A (bersifat global), kemudian mendeklarasikan lagi variabel bernama A
pada suatu procedure X (bersifat lokal) maka jika program sedang menjalankan
procedure X, yang berlaku adalah variabel A yang bersifat Lokal dan tidak mengganggu
Variabel A yang bersifat global.

Contoh program :
procedure TForm1.FormClick(Sender: TObject);
var A : string; //deklarasi lokal
begin
A:='Isi variabel A lokal'; //isi variabel lokal
Form1.Caption:=A; //isi variabel lokal pada caption
end;
procedure TForm1.FormDbClick(Sender: TObject);
begin
Form1.Caption:=A; //cetak variabel global pd caption
end;

var
Form1: TForm1;
A : string; //deklarasi global
begin //program utama, dijalankan pertama
A:='Isi variabel A global'; //kali mengisi variabel global
end. //tetapi belum tercetak pada caption

6. Buat procedure Tukar(A,B) yang bertugas menukar nilai A dan B. Gunakan passed by
value dan passed by reference!
a) Passed by Value

program procedure_by_value;

{$APPTYPE CONSOLE}

uses
SysUtils;

procedure tukar (x,y: integer);


var
z: integer;

begin
z:= x;
x:= y;
y:= z;
writeln('A=',y, 'B=',x);
end;

var
A,B: integer;

begin
writeln('PROCEDURE BY VALUE');
writeln('==================');
write ('nilai A =');
readln (A);
write ( 'nilai B =') ;
readln (B);
tukar (B,A);
readln;

end.

b) Passed by Reference

program procedure_by_reference;

{$APPTYPE CONSOLE}

uses
SysUtils;
var
a,b,c: integer;
procedure tukar (var x,y,z: integer);
begin
z:= x;
x:= y;
y:= z;
end;

begin
writeln('PROCEDURE BY REFERENCE');
writeln('==================');
write ('nilai A =');
readln (A);
write ('nilai B =') ;
readln (B);

tukar (B,A,c);
writeln('Hasil A=',A, ' B=',B);
readln;

end.

7. Buat procedure untuk menghitung nilai standart deviasi dari kumpulan data (data bisa
menggunakan array atau stringgrid). Dalam procedure standart deviasi terdapat procedure
lain seperti menghitung nilai rata-rata.

Program Hitung_Simpangan_Baku;

{$APPTYPE CONSOLE}

Uses
SysUtils;

Var
i,n,data,jumlah : integer;
rata_rata,variansi,standar_deviasi : real;

begin
jumlah:=0;
variansi:=0;

begin
writeln('====================Assalamualaikum Wr.
Wb.====================');
writeln('==========Menghitung Rata2, Variansi, dan Standar
Deviansi==========');

begin
write ('masukkan nilai n (banyaknya data)=');
readln (n);
end;

for i:= 1 to n do
begin
write('Masukkan data ke-',i,' =');
readln (data);
jumlah:=jumlah+data;

begin
rata_rata:=jumlah/n;
variansi:= variansi + (sqr(jumlah)-rata_rata)/(n-1);
standar_deviasi := sqrt(variansi);
writeln('rata_rata=', rata_rata:5:5);
writeln('variansi=',variansi:4:4);
writeln('standar_deviasi=',standar_deviasi:4:4);
writeln('Terimakasih');
writeln('====================Wassalamuaikum Wr.
Wb.====================');

end;
end;
readln;

{ TODO -oUser -cConsole Main : Insert code here }


end.

Anda mungkin juga menyukai