25
PROSEDUR DAN FUNGSI

BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Embed Size (px)

Citation preview

Page 1: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

PROSEDUR DAN FUNGSI

Page 2: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Pentingnya prosedur/fungsi 2

Suatu permasalahan program yang kompleks pada umumnya akan dibagi ke dalam bagian-bagaian yang disebut dengan subprogram atau rutin.

Kemudahan dalam memperbaiki kesalahan atau perubahan.

Rutin berguna untuk menghindari adanya penulisan kode yang sama dan berulang di beberapa tem,pat dalam program.

2

program

rutin rutin rutin

subrutin subrutin subrutin subrutin

Page 3: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

PROSEDUR3

•Prosedur merupakan suatu rutin yang melakukan proses tertentu tanpa adanya pengembalian nilai.

•Prosedur menyediakan suatu metode pengisolasian bagian program secara terpisah yang dapat dipanggil atau diaktivasi dari bagian manapun di dalam program.

•Suatu prosedur biasanya memiliki satu atau beberapa parameter.

Page 4: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont… 4

Procedure NamaProsedur (parameter1:tipe_data, parameter2:tipa_data,…);Const

{daftar kostanta lokal}Var

{daftar pendeklarasian variabel lokal}Begin

{kode program yang akan ditulis}…

•Bentuk umum :

Page 5: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Contoh pendefenisian prosedur tanpa parameter

5

Procedure BuatTampilanMenu;Begin

writeln (‘Pilih salah satu yang anda inginkan’);writeln (‘[1] menghitung keliling dan luas persegi panjang’);writeln (‘[2] menghitung keliling dan luas segi tiga’);writeln (‘[3] menghitung keliling dan luas lingkaran’);writeln (‘[4] keluar’);

End;

•Prosedur tersebut dapat kita gunakan di dalam bagian program, baik di dalam program utama maupun di dalam prosedur atau fungsi lain.

Page 6: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Contoh pemanggilan prosedur 6

Begin{ memanggil prosedur yang telah didefenisikan}BuatTampilanMenu;…

End.

Page 7: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

FUNGSI 7

•Sama dengan prosedur.

•Perbedaannya, pada fungsi terdapat pengembalian nilai, sehinggga pada saat pemanggilan, fungsi dapat langsung digunakan untuk mengisikan sebuah ekspresi.

•Bentuk umum:Function NamaFungsi(parameter1:tipe_data, parameter2:tipe_data,…):tipe_data;Const

{daftar kostanta lokal}Var

{daftar pendeklarasian variabel lokal}Begin

{kode program yang akan ditulis}…NamaFungsi := nilai_kembalian;

End;

Page 8: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Contoh fungsi …8

Function kali(x,y : integer) : longint;Begin

kali :=x*y;End;

Dapat juga mendeklarasikan variabel lokal untuk menyimpan nilai sebelum akhirnya dikembalikan lagi ke fungsi, mis :

Function kali(x,y : integer) : longint;Var

hasil : longint;Begin

hasil :=x*y;kali := hasil;

End;

Page 9: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Parameter 9

Parameter :Suatu nilai atau referensi yang dilewatkan ke dalam rutin tertentu dan kehadirannya akan mempengaruhi proses maupun nilai yang terdapat di dalam rutin itu sendiri.

Parameter diletakkan di dalam tanda kurung setelah nama rutin bersangkutan.

Ilustrasi parameter :

f(x) =5x+2 Hasil nilai dari fungsi f ditentukan oleh besarnya nilai x,

sehingga x disebut sebagai parameter dari fungsi f.

Page 10: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Jenis parameter …10

•Parameter formal : parameter yang terdapat pada saat pembuatan prosedur atau fungsi.

•Parameter aktual : parameter yang terdapat pada saat pemanggilan prosedur atau fungsi.

•Perhatikan ex pembuatan dan pemanggilan fungsi berikut :

Function pangkatTiga (x : integer) : integer;Begin

pangkatTiga :=power (x,3);End;

•Var x : parameter formal.

Page 11: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont … 11

Vara,hasil : integer;

Begin…hasil := pangkatTiga (a);…

End.

•Var a yang terdapat dalam pemanggilan fungsi disebut parameter aktual.

Page 12: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Melewatkan parameter Melewatkan parameter berdasarkan nilai (pass

by value) Adanya proses penyalinan nilai ke dalam stack

dan rutin akan menggunakan nilai hasil penyalinan, bukan nilai aslinya.

Perubahan nilai di dalam rutin tidak akan mempengaruhi nilai asli di luar rutin.

12

Page 13: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Contoh …Program ParamNilai1;Uses crt;Procedure Tambah10 (x : integer);Begin

x:=x+10;writeln (‘nilai di dalam prosedur :’,x);

End;

Vara : integer

BeginA:=100;Writeln (‘nilai sebelum pemanggilan prosedur :’,a);Tambah10(100);Writeln (‘nilai setelah pemanggilan prosedur :’,a);Readln;End.

13

Page 14: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont…

Nilai awala = 100

x = 110

x = 100

a = 100

Di-copy ke variable x

Proses di dalam prosedur

Di lewatkan ke prosedur

menghasilkan

Nilai di dalam prosedurNilai akhir

Di panggil kembali

14

Page 15: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont … Melewatkan parameter berdasarkan referensi

Referensi : alias atau nama lain dari suatu variabel yang mengacu ke alamat memori yang sama dengan variabel tersebut.

Nama lain : melewatkan parameter berdasarkan alamat. Tidak terjadi proses penyalinan nilai ke dalam stack pada parameter

formal suatu rutin, melainkan variabel pada parameter formal akan mengacu ke alamat dari variabel yang menyimpan nilai asli.

Apabila terjadi perubahan nilai di dalam rutin, maka nilai aslinya (diluar rutin) juga akan berubah, karena kedua nilai tersebut sebenarnya satu variabel (tetapi memiliki 2 buah nama) sehingga alamat memori yang ditempati juga hanya satu.

Awali parameter tersebut dengan kata kunci var.

15

Page 16: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont … Bentuk umum parameter yang dilewatkan

berdasarkan referensinya.

16

Prosedur NamaProsedur (var parameter1 : integer;var parameter2 : string);

Begin{kode yang akan ditulis}…

End;

Page 17: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont …Program ParamRef1;Uses crt;Procedure Tambah10 (var x : integer);Begin

x:=x+10;writeln (‘nilai di dalam prosedur :’,x);

End;

Vara : integer

BeginA:=100;Writeln (‘nilai sebelum pemanggilan prosedur :’,a);Tambah10(100);Writeln (‘nilai setelah pemanggilan prosedur :’,a);Readln;End.

17

Page 18: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont … 18

Nilai awala = x = 100

x = 110a = 100

Alamat variabel x dilewatkan ke prosedur

Proses di dalam prosedur

menghasilkan

Nilai di dalam prosedurNilai akhir

Di panggil kembali

Page 19: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Jenis parameter berdasarkan fungsinya Parameter masukan

Sebuah default parameter yang digunakan di dalam sebuah rutin akan berparan sebagai masukan.

Parameter ini dilewatkan berdasarkan nilai.

19

Page 20: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont … Parameter a dan b

merupakan nilai-nilai yang akan digunakan untuk melakukan perhitungan di dalam fungsi.

a dan b disebut parameter masukan.

Program ParamMasukan;Uses crt;Function jumlahkan (x,y : integer) : integer; Begin

jumlahkan := x + y;End;

Vara,b,hasil : integer

Begina:=100;b:=200;Hasil := jumlahkan (a,b);Writeln (‘hasil = ‘, hasil);Readln;End.

20

Page 21: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont … Parameter keluaran

Berfungsi sebagai penampung nilai hasil proses yang dilakukan oleh suatu rutin.

Parameter jenis ini biasanya diimplementasikan di dalam sebuah prosedur sebagai nilai kembalian, karena prosdur tidak dapat mengembalikan nilai secara langsung seperti yang dilakukan oleh fungsi.

Selalu dilewatkan berdasarkan referensinya.

21

Page 22: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont …Procedure kali (x,y : integer ; var hasil : integer);Begin

hasil := x*y;End;

22

X dan y bertindak sebagai parameter masukan sedangkan parameter hasil bertindak sebagai parameter keluaran.

Page 23: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont …Procedure kali (x,y : integer ; var hasil : integer);Begin

hasil := x*y;End;

Vara,b,c : integer;Begina:=3;b:=5;Kali (a,b,c); { memanggil prosedur kali dan menjadikan variable c

sebagai parameter keluaran }Writeln (‘nilai c=‘,c);Readln;End.

23

Page 24: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont … Parameter masukkan dan keluaran

Dilewatkan berdasarkan referensi. Konsepnya :

Pertama gunakan nilai yang dikandung oleh parameter tersebut sebagai nilai masukan untuk melakukan proses tertentu di dalam sebuah rutin, disini parameter berperan sebagai parameter masukan.

Selanjutnya, nilai yang dihasilkan oleh proses di dalam rutin tersebut disimpan kembali ke dalam parameter tersebut, disini parameter sudah berganti peran sebagai parameter keluaran.

Contoh :

24

Procedure TambahSatu (var x: integer);Begin

x:=x+1;End;

Page 25: BAHASA PEMROGRAMAN Prosedur Dan Fungsi

Cont … 25Program ParamMasKel;Uses crt;Procedure TambahSatu (var x: integer);Begin

x:=x+1;End;

Vara: integer;Begin

a:= 10;tambahSatu (a){menampilkan kembali nilai dari variabel a}writeln (‘nilai a= ‘, a);readln;

End.