Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Procedure , Function dan Parameter

Presentasi serupa


Presentasi berjudul: "Procedure , Function dan Parameter"— Transcript presentasi:

1 Procedure , Function dan Parameter
IT132 – Dasar-Dasar Pemrograman Procedure , Function dan Parameter Ramos Somya

2 Pengantar Procedure dan Function
Dalam program yang kompleks  kode program panjang. Sulit dalam memahami program (jalannya program). Solusi: memecah program tersebut menjadi modul-modul sehingga lebih ringkas. Untuk memecah program yang kompleks, kita membutuhkan procedure dan function.

3 Berdasarkan penjelasan sebelumnya, prosedur atau fungsi yaitu suatu bagian/modul program yang terpisah dari program utama, diletakkan dalam blok tersendiri yang berfungsi sebagai bagian dari program.

4 Tujuan dari Procedure dan Function
Merupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

5 Contoh kasus Terdapat pola: Cara manual:
print*; print*; print*; prints; prints; prints; print*; print*;print*; NL; prints; prints; prints; print*; print*; print*; NL

6 Menggunakan Procedure
Caranya: Lihat pola yang sama. Buat definisi: def tigabintang()= print*; print*; print*; enddef def tigaspasi()= prints; prints; prints; enddef Perintah menjadi: tigabintang();tigaspasi();tigabintang();NL; tigaspasi();tigabintang(); NL; tigabintang();tigaspasi();tigabintang();

7 … Buatlah program untuk mencetak huruf HELLO dalam posisi vertikal.
Ukuran tiap huruf 5x5. (Gunakan procedure)

8 Procedure-nya??? def pola1() = print*;prints;prints;prints;print*;NL; enddef def pola2() = print*;print* print*;print*; print*;NL; enddef def pola3() = print*;NL; enddef Perintah menggunakan procedure: pola1();pola1();pola2();pola1();pola1();NL; pola2();pola3();pola2();pola3();pola2();NL; pola3();pola3();pola3();pola3();pola2();NL; Pola2();pola1();pola1();pola1();pola2();NL;

9 Procedure di dalam Procedure
def hello() = def H() = pola1();pola1();pola2();pola1();pola1();NL; enddef def E() = pola2();pola3();pola2();pola3();pola2();NL; enddef def L() = pola3();pola3();pola3();pola3();pola2();NL; enddef def O() = pola2();pola1();pola1();pola1();pola2();NL; enddef def pola1() = print*;prints;prints;prints;print*;NL; enddef def pola2() = print*;print* print*;print*; print*;NL; enddef def pola3() = print*;NL; enddef H();E();L();L();O(); enddef Pemanggilan: hello();

10 Procedure dengan Parameter
def pola3() = print*;NL; enddef Procedure di atas bila dipanggil hasilnya selalu sama, karena tidak ada parameter. Dengan paramater memungkinkan memberikan hasil output yang berbeda tergantung parameter yang dipassingkan. Misal: def r3(p) = p();p();p() ; enddef def one() = p*; enddef def two() = NL; enddef def three() = NL; p*;p*;p*; enddef r3(one); r3(two); r3(three)

11 Procedure dalam Pascal
Merupakan sub program yang tidak mengembalikan nilai secara langsung. Prosedur memiliki struktur yang sama dengan struktur program, yaitu terdiri dari nama prosedur, deklarasi-deklarasi dan bagian deskripsi (statement atau aksi di dalam prosedur). Semua deklarasi di dalam prosedur bersifat lokal sehingga hanya bisa digunakan oleh prosedur itu saja, sedangkan deklarasi di dalam program utama bersifat global sehingga dapat dikenali di seluruh bagian program.

12 Perbedaan Program Utama dan Procedure
PROCEDURE mempunyai judul_prosedur sedangkan Program utama tidak. Untuk tanda berakhirnya Procedure diakhiri dengan tanda End; sedangkan Program Utama End.

13 Penulisan Procedure Penggunaan prosedur selalu diawali dengan kata Procedure. Struktur umum prosedur adalah sebagai berikut : Procedure Nama_Prosedur (param_formal1:tipe_param1, param_formal2:tipe_param2,…); {Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan} var {bagian deklarasi prosedur, sifatnya lokal} begin statement-1; statement-2; ………… Statement-n; end;

14 … Struktur blok program utama beserta prosedur: Program judul_program;
Program judul_program; var {bagian deklarasi prosedur, sifatnya global} Procedure Nama_Prosedur; {Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan} {bagian deklarasi prosedur, sifatnya lokal} begin statement-1; statement-2; ………… Statement-n; end; {program utama} Nama_Prosedur; end.

15 Try This uses crt; procedure cetakBintang; begin writeln('****'); end;
clrscr; cetakBintang(); readkey; end.

16 Try This uses crt; procedure Tanya_hitung; var X, Y : real; begin
write ('Nilai X ='); readln (X) ; Y := X * X; end; Tanya_hitung; writeln ('Nilai Y =', Y); end.

17 Bila program dikompilasi, akan dideteksi kesalahan oleh compiler, karena variable Y yang sifatnya local di procedure Tanya_hitung digunakan pada program utama. Agar nilai-nilai variable dapat digunakan di modul lainnya yang membutuhkan, maka dapat dilakukan dengan beberapa cara, yaitu : - Dibuat global - Dikirimkan sebagai parameter ke modul lainnya.

18 Variabel Global uses crt; var Y: real; procedure Tanya_hitung;
uses crt; var Y: real; procedure Tanya_hitung; X: real; begin write ('Nilai X = '); readln (X) ; Y := X * X; end; clrscr; Tanya_hitung; writeln ('Nilai Y = ', Y: 2: 2); readkey; end.

19 Function Pengertian hampir sama dengan procedure (sama-sama sub program / bagian dari program). Bedanya: - Fungsi memiliki tipe data. - Fungsi memberikan nilai balik, procedure tidak. - Harus ada NamaFungsi di dalam tubuh fungsi, karena digunakan untuk menyimpan output. - Penulisannya menggunakan kata Function

20 Struktur Function Function Nama_Fungsi : tipe_hasil; var
{bagian deklarasi fungsi, sifatnya lokal} begin statement-1; statement-2; ………… Statement-n; Nama_Fungsi:=hasil; end;

21 Try This uses crt; function cetakBintang:string; begin
end; clrscr; writeln(cetakBintang); readkey; end.

22 Parameter Suatu variable yang berfungsi sebagai penampung nilai pada procedure atau function, yang diberikan oleh pemanggil procedure atau function. Contoh: Procedur nama_pro(parameter,parameter:tipe_data); Procedur hitung(angka1,angka2:integer); Procedur bagi(angka1:integer; angka2:real);

23 Parameter yang dikirmkan dari modul utama ke modul prosedur disebut dengan parameter nyata (actual parameter) dan parameter yang ada dan dituliskan pada judul prosedur disebut dengan parameter formal (formal parameter). Proses pengiriman data lewat parameter nyata ke parameter formal disebut dengan parameter passing. Parameter nyata dan parameter formal harus dengan tipe yang sama.

24 Tipe pengiriman parameter
Pass by Value Pass by Reference

25 Pass By Value Parameter yang dikirimkan berupa nilai (value)nya saja. Jadi apabila terjadi pengubahan nilai pada prosedur ataupun function tidak akan mempengaruhi nilai pada variabel yang dipassingkan, atau yang dikirimkan.

26 Try This uses crt; var angka1,angka2,hasil : integer;
procedure dua(a,b,c : integer); begin c:=a+b; writeln('Hasil = ', c); end; Begin clrscr; angka1:=10; angka2:=5; dua(angka1, angka2, hasil); writeln; writeln('angka1 = ', angka1); writeln('angka2 = ', angka2); writeln('hasil = ', hasil); readln; end.

27 Pass By Reference Parameter yang dikirimkan berupa acuan. Jadi apabila terjadi pengubahan nilai pada prosedur ataupun function akan mempengaruhi nilai pada variabel yang dipassingkan, atau yang dikirimkan. Kata kuncinya pemberian tambahan kata var pada pendeklarasian parameter.

28 Try This uses crt; var angka1,angka2,hasil : integer;
procedure dua(var a,b,c : integer); begin c:=a+b; writeln('Hasil = ', c); end; clrscr; angka1 :=10; angka2:=5; dua(angka1, angka2, hasil); writeln; writeln('angka1= ', angka1); writeln('angka2= ', angka2); writeln('hasil = ', hasil); readln; end.

29 Tugas Kelas (15 Menit) Buatlah program kalkulator untuk operasi penjumlahan, pengurangan, perkalian dan pembagian menggunakan inputan dari keyboard. Setiap operasi HARUS menggunakan procedure atau function (Pakai Parameter).

30 See You Next Week


Download ppt "Procedure , Function dan Parameter"

Presentasi serupa


Iklan oleh Google