21
PROSEDUR PROSEDUR DAN DAN FUNGSI FUNGSI

Algoritma - prosedur dan fungsi

Embed Size (px)

Citation preview

Page 1: Algoritma - prosedur dan fungsi

PROSEDUR PROSEDUR DAN DAN

FUNGSIFUNGSI

Page 2: Algoritma - prosedur dan fungsi

Mengapa menggunakan Mengapa menggunakan prosedur dan fungsi?prosedur dan fungsi?

1.1. Memecah program yang rumit dan Memecah program yang rumit dan besar menjadi program-program yang besar menjadi program-program yang lebih sederhana.lebih sederhana.

2.2. Untuk aktivitas yang dilakukan lebih Untuk aktivitas yang dilakukan lebih dari satu kali / sering dilakukan dari satu kali / sering dilakukan berulang-ulang.berulang-ulang.

Page 3: Algoritma - prosedur dan fungsi

PROSEDURPROSEDUR

AlgoritmaAlgoritma

DeklarasiDeklarasi

DeskripsiDeskripsi

ProcedureProcedure

DeklarasiDeklarasi

DeskripsiDeskripsi

Page 4: Algoritma - prosedur dan fungsi

Algoritma ABCDAlgoritma ABCD

DeklarasiDeklarasi

A,B,C,D, Temp : integerA,B,C,D, Temp : integer

DeskripsiDeskripsi

…… ……

Temp ATemp A

A BA B

B TempB Temp

if C > D thenif C > D then

Temp CTemp C

C DC D

D TempD Temp

endifendif

endalgoendalgo

Page 5: Algoritma - prosedur dan fungsi

PPRROOSSEEDDUURR

Algoritma ABCDAlgoritma ABCD

DeklarasiDeklarasi

A,B,C,D, Temp : integerA,B,C,D, Temp : integer

DeskripsiDeskripsi

Tukar(A,B)Tukar(A,B)

if C >Dif C >D

Tukar (C,D)Tukar (C,D)

endalgoendalgo

Procedure Tukar (input/output P,Q : integer)Procedure Tukar (input/output P,Q : integer)

DeklarasiDeklarasi

Temp : integerTemp : integer

DeskripsiDeskripsi

Temp PTemp P

P QP Q

Q TempQ Temp

Page 6: Algoritma - prosedur dan fungsi

PROSEDURPROSEDURParameter dalam prosedurParameter dalam prosedur

Nilai didalam suatu modul sifatnya Nilai didalam suatu modul sifatnya lokal, artinya hanya dapat digunakan lokal, artinya hanya dapat digunakan pada modul atau unit program yang pada modul atau unit program yang bersangkutan saja, tidak dapat bersangkutan saja, tidak dapat digunakan pada modul atau unit digunakan pada modul atau unit program yang lainnya.program yang lainnya.

Page 7: Algoritma - prosedur dan fungsi

PROSEDURPROSEDURParameter dalam prosedurParameter dalam prosedur

Algoritma XXXAlgoritma XXX

DeklarasiDeklarasi

Procedure Hitung(input x,output y)Procedure Hitung(input x,output y)

DeklarasiDeklarasi

varvar

x,y : integerx,y : integer

DeskripsiDeskripsi

write (‘masukan nilai x? ‘,x)write (‘masukan nilai x? ‘,x)

y x*xy x*x

write (‘nilai y : ‘,y)write (‘nilai y : ‘,y)

DeskripsiDeskripsi

Hitung(x,y)Hitung(x,y)

EndalgoEndalgo

Page 8: Algoritma - prosedur dan fungsi

Pada contoh diatas variabel x dan y Pada contoh diatas variabel x dan y sifatnya adalah lokal untuk prosedur sifatnya adalah lokal untuk prosedur Hitung, yang artinya hanya dapat Hitung, yang artinya hanya dapat digunakan pada modul tersebut saja. digunakan pada modul tersebut saja. Pada modul yang lain, variabel tersebut Pada modul yang lain, variabel tersebut tidak dapat digunakan.bila digunakan tidak dapat digunakan.bila digunakan akan salah.akan salah.

PROSEDURPROSEDURParameter dalam prosedurParameter dalam prosedur

Page 9: Algoritma - prosedur dan fungsi

PROSEDURPROSEDURParameter dalam program yg salahParameter dalam program yg salah

Algoritma XXXAlgoritma XXX

DeklarasiDeklarasi

Procedure Hitung(input x,output y)Procedure Hitung(input x,output y)

DeklarasiDeklarasi

varvar

x,y : integerx,y : integer

DeskripsiDeskripsi

write (‘masukan nilai x? ‘,x)write (‘masukan nilai x? ‘,x)

y x*xy x*x

write (‘nilai y : ‘,y)write (‘nilai y : ‘,y)

DeskripsiDeskripsi

y 5y 5

Hitung(x,y)Hitung(x,y)

EndalgoEndalgo

Page 10: Algoritma - prosedur dan fungsi

Contoh program diatas adalah program yang salah karena modul utama/program utama menggunakan variabel lokal disuatu modul prosedur

Bila program ini dikompilasi, akan dideteksi kesalahan oleh kompiler, karena variabel y yang sifatnya lokal diprosedur.

Error yang muncul pada program pascal : error 31:unknown identifier

PROSEDURPROSEDURParameter dalam program yg salahParameter dalam program yg salah

Page 11: Algoritma - prosedur dan fungsi

Supaya nilai-nilai variabel dapat digunakan di modul yang lainnya yang membutuhkannya, maka dapat dilakukan dengan beberapa cara yaitu:

1. Dibuat bersifat global, harus dideklarasikan diatas modul yang menggunakannya

PROSEDURPROSEDURParameter dalam program yg benarParameter dalam program yg benar

Page 12: Algoritma - prosedur dan fungsi

PROSEDURPROSEDURParameter dalam program yg benarParameter dalam program yg benar

Algoritma XXXAlgoritma XXX

DeklarasiDeklarasi

Procedure satuProcedure satu

DeklarasiDeklarasi

DeskripsiDeskripsi

Var a,b : integrVar a,b : integr

Procedure duaProcedure dua

DeklarasiDeklarasi

DeskripsiDeskripsi

DeskripsiDeskripsi

…… ……....

EndalgoEndalgo

Page 13: Algoritma - prosedur dan fungsi

Pada contoh program diatas variabel a dan b bersifat global untuk prosedur dua dan untuk modul utama, tetapi tidak bersifat global untuk prosedur satu

PROSEDURPROSEDURParameter dalam program yg benarParameter dalam program yg benar

Page 14: Algoritma - prosedur dan fungsi

PROSEDURPROSEDURParameter dalam program yg benarParameter dalam program yg benar

Algoritma XXXAlgoritma XXX

DeklarasiDeklarasi

Var a,b : integrVar a,b : integr

Procedure satuProcedure satu

DeklarasiDeklarasi

DeskripsiDeskripsi

Procedure duaProcedure dua

DeklarasiDeklarasi

DeskripsiDeskripsi

DeskripsiDeskripsi

…… ……....

EndalgoEndalgo

Page 15: Algoritma - prosedur dan fungsi

PROSEDURPROSEDURParameter dalam program yg benarParameter dalam program yg benar

Pada contoh program diatas variabel a dan b bersifat global untuk prosedur dua ,untuk modul utama, dan untuk prosedur satu

Page 16: Algoritma - prosedur dan fungsi

2. Dikirimkan sebagai parameter ke modul yang membutuhkannya

PROSEDURPROSEDURParameter dalam program yg benarParameter dalam program yg benar

Page 17: Algoritma - prosedur dan fungsi

PROSEDURPROSEDURParameter dalam program yg benarParameter dalam program yg benar

Procedure XXX (input x,y : integer)Procedure XXX (input x,y : integer)

DeklarasiDeklarasi

DeskripsiDeskripsi

x x+1x x+1

y y+1y y+1

Write(x)Write(x)

Write(y)Write(y)

{program utama}{program utama}

Deklarasi Deklarasi

a,b : integera,b : integer

DeskripsiDeskripsi

XXX(4,10)XXX(4,10)

read(a,b)read(a,b)

XXX(a,b)XXX(a,b)

Page 18: Algoritma - prosedur dan fungsi

Translasi notasi algoritmik kedalam Translasi notasi algoritmik kedalam bahasa pascalbahasa pascal

Procedure namaprosedurProcedure namaprosedur

DeklarasiDeklarasi

…………

…………

DeskripsiDeskripsi

Procedure namaprosedur; namaprosedur;

Begin

End;

Cara memanggil prosedur: namaprosedur

Page 19: Algoritma - prosedur dan fungsi

FUNGSIFUNGSI

Fungsi sama halnya dengan prosedur Fungsi sama halnya dengan prosedur akan tetapi fungsi harus dideklarasikan akan tetapi fungsi harus dideklarasikan dengan tipenya.dengan tipenya.

Tipe tersebut ditulis pada akhir deklarasi Tipe tersebut ditulis pada akhir deklarasi fungsifungsi

Page 20: Algoritma - prosedur dan fungsi

FUNGSIFUNGSI

Function F(input x:real) realFunction F(input x:real) real

DeklarasiDeklarasi

y:realy:real

DeskripsiDeskripsi

y 2*x*x + 5*x-8y 2*x*x + 5*x-8

Return yReturn y

{program utama}{program utama}

DeskripsiDeskripsi

F(5)F(5)

write(‘jadi total adalah : ‘,y)write(‘jadi total adalah : ‘,y)

Page 21: Algoritma - prosedur dan fungsi

FUNGSIFUNGSI

Function F(input x:real) realFunction F(input x:real) real

DeklarasiDeklarasi

y:realy:real

DeskripsiDeskripsi

y 2*x*x + 5*x-8y 2*x*x + 5*x-8

Return yReturn y

{program utama}{program utama}

DeklarasiDeklarasi

a:reala:real

DeskripsiDeskripsi

write(‘masukan nilai x: ’,a)write(‘masukan nilai x: ’,a)

write(‘jadi total adalah : ‘,F(a))write(‘jadi total adalah : ‘,F(a))

endalgoendalgo