Bahasa Pemrograman Prosedur Dan Fungsi

  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Bahasa Pemrograman Prosedur Dan Fungsi as PDF for free.

More details

  • Words: 1,106
  • Pages: 25
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

subrutin

rutin

subrutin

subrutin 2

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…

4

•Bentuk umum : 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

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;

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;

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 …

11

Var a,hasil : integer; Begin … 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.

Contoh … 13

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.

Cont… a = 100 Nilai

14

Di-copy ke variable x

awal

x = 100

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

Bentuk umum parameter yang dilewatkan berdasarkan referensinya.

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

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.

Cont …

Nilai awal a = x = 100

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.

23 Cont … Procedure kali (x,y : integer ; var hasil : integer); 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.

Related Documents