BAHASA PEMROGRAMAN Prosedur Dan Fungsi
-
Upload
hanzskyblue -
Category
Documents
-
view
4.473 -
download
16
Transcript of BAHASA PEMROGRAMAN Prosedur Dan Fungsi
![Page 1: BAHASA PEMROGRAMAN Prosedur Dan Fungsi](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/1.jpg)
PROSEDUR DAN FUNGSI
![Page 2: BAHASA PEMROGRAMAN Prosedur Dan Fungsi](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/2.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/3.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/4.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/5.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/6.jpg)
Contoh pemanggilan prosedur 6
Begin{ memanggil prosedur yang telah didefenisikan}BuatTampilanMenu;…
End.
![Page 7: BAHASA PEMROGRAMAN Prosedur Dan Fungsi](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/7.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/8.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/9.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/10.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/11.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/12.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/13.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/14.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/15.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/16.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/17.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/18.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/19.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/20.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/21.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/22.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/23.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/24.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061421/5571f27e49795947648ca337/html5/thumbnails/25.jpg)
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.