P. 1
BAHASA PEMROGRAMAN Prosedur Dan Fungsi

BAHASA PEMROGRAMAN Prosedur Dan Fungsi

4.0

|Views: 4,427|Likes:
Published by hanz_skyblue

More info:

Published by: hanz_skyblue on Mar 06, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

03/25/2013

pdf

text

original

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.

program rutin subrutin rutin rutin subrutin
2

subrutin

subrutin

PROSEDUR
3

•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.

Cont…
•Bentuk umum :

4

Procedure NamaProsedur (parameter1:tipe_data, parameter2:tipa_data,…); Const {daftar kostanta lokal} Var {daftar pendeklarasian variabel lokal} Begin {kode program yang akan ditulis} …

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.

Contoh pemanggilan prosedur
6

Begin { memanggil prosedur yang telah didefenisikan} BuatTampilanMenu; … End.

FUNGSI
•Sama dengan prosedur.

7

•Perbedaannya, pada fungsi terdapat pengembalian nilai, sehinggga pada saat pemanggilan, fungsi dapat langsung digunakan untuk mengisikan sebuah ekspresi.
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;

•Bentuk umum:

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

Contoh fungsi …
8

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;

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.

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.

Cont …
Var a,hasil : integer; Begin

11

… hasil := pangkatTiga (a); … End.

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

12 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.

Program ParamNilai1; Uses crt; Procedure Tambah10 (x : integer); Begin x:=x+10; writeln (‘nilai di dalam prosedur :’,x); End; Var a : integer Begin A:=100; Writeln (‘nilai sebelum pemanggilan prosedur :’,a); Tambah10(100); Writeln (‘nilai setelah pemanggilan prosedur :’,a); Readln; End.

Contoh … 13

Cont…
a = 100 Nilai

14 x = 100

awal

Di-copy ke variable x

Di lewatkan ke prosedur Di panggil kembali Proses di dalam prosedur menghasilkan a = 100 Nilai akhir x = 110 Nilai di dalam prosedur

Cont …

15

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.

Cont …

16

Prosedur NamaProsedur (var parameter1 : integer; var parameter2 : string); Begin {kode yang akan ditulis} … End;

Bentuk umum parameter yang dilewatkan berdasarkan referensinya.

Cont … Program ParamRef1;

17

Uses crt; Procedure Tambah10 (var x : integer); Begin x:=x+10; writeln (‘nilai di dalam prosedur :’,x); End; Var a : integer Begin A:=100; Writeln (‘nilai sebelum pemanggilan prosedur :’,a); Tambah10(100); Writeln (‘nilai setelah pemanggilan prosedur :’,a); Readln; End.

Nilai awal
a = x = 100

Cont …

18

Alamat variabel x dilewatkan ke prosedur

Di panggil kembali

Proses di dalam prosedur menghasilkan

a = 100 Nilai akhir

x = 110 Nilai di dalam prosedur

Jenis parameter 19 berdasarkan fungsinya

Parameter masukan

Sebuah default parameter yang digunakan di dalam sebuah rutin akan berparan sebagai masukan. Parameter ini dilewatkan berdasarkan nilai.

Cont …

20

Program ParamMasukan; Uses crt; Function jumlahkan (x,y : integer) : integer; Begin jumlahkan := x + y; End; Var a,b,hasil : integer Begin a:=100; b:=200; Hasil := jumlahkan (a,b); Writeln (‘hasil = ‘, hasil); Readln; End.

Parameter a dan b merupakan nilai-nilai yang akan digunakan untuk melakukan perhitungan di dalam fungsi. a dan b disebut parameter masukan.

Cont …

21

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.

Cont …

22

Procedure kali (x,y : integer ; var hasil : integer); Begin hasil := x*y; End;

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

Continteger ; var hasil : integer); … 23 Procedure kali (x,y :
Begin hasil := x*y; End; Var a,b,c : integer; Begin a:=3; b:=5; Kali (a,b,c); { memanggil prosedur kali dan menjadikan variable c sebagai parameter keluaran } Writeln (‘nilai c=‘,c); Readln; End.

Cont …

24

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 :

Procedure TambahSatu (var x: integer); Begin x:=x+1; End;

Cont … Program ParamMasKel;

25

Uses crt; Procedure TambahSatu (var x: integer); Begin x:=x+1; End; Var a: integer; Begin a:= 10; tambahSatu (a) {menampilkan kembali nilai dari variabel a} writeln (‘nilai a= ‘, a); readln; End.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->