Prosedur dan fungsi

5
PROCEDURE DAN FUNGSI Prosedur adalah pendefinisian suatu langkah dengan melalui tahap-tahap tertentu. Sedangkan fungsi itu adalah sebuah transformasi akibat dari pemetaan suatu nilai ke nilai lain. Tujuan dari fungsi dan prosedur adalah untuk mempermudah pemrogram dalam memprogram suatu program. Tujuan lain dari prosedur adalah untuk mempersingkat suatu program. Misalnya saja kita akan melakukan langkah yang sama namun secara berulang-ulang. Kita tak perlu untuk menulis algoritmanya secara berulang-ulang. Yang perlu untuk kita lakukan adalah dengan menuliskannya dalam sebuah prosedur atau pun fungsi, sehingga ketika kita membutuhkannya kita tinggal memanggil prosedur atau fungsi tersebut dalam program yang kita buat. Hal lain yang perlu diperhatikan dalam pembuatan fungsi dan prosedur adalah parameternya. Fungsi dan prosedur memiliki parameter. Parameter ada dua jenis yaitu parameter formal dan yang satunya adalah parameter actual. Untuk parameter actual adalah parameter yang digunakan untuk memanggil prosedur ataupun fungsi, sedangkan parameter formal adalah parameter yang ada pada fungsi atau prosedur. Antara parameter formal dan actual ini akan saling berasosiasi, jadi urutan dan jumlahnya pun harus sama dan harus diperhatikan. Berikut ini adalah penjelasan terpisah untuk fungsi dan untuk prosedur : 1. Fungsi Pada fungsi ini parameter formal dan actual dibutuhkan. Fungsi sendiri menghasilkan suatu nilai dengan tipe hasil sesuai dengan apa yang telah didefinisikan oleh pemrogram. Fungsi ini akan selalu mengupdate dan menghasilkan suatu nilai. Berikut ini akan saya berikan contoh sebuah program yang menggunakan fungsi dalam pascal : Program pakai; Uses crt; Var A,b,c : integer; Function jumlah(u,t:integer):integer; Begin u:=u+1;

Transcript of Prosedur dan fungsi

Page 1: Prosedur dan fungsi

PROCEDURE DAN FUNGSI

Prosedur adalah pendefinisian suatu langkah dengan melalui tahap-tahap tertentu. Sedangkan

fungsi itu adalah sebuah transformasi akibat dari pemetaan suatu nilai ke nilai lain. Tujuan dari

fungsi dan prosedur adalah untuk mempermudah pemrogram dalam memprogram suatu

program. Tujuan lain dari prosedur adalah untuk mempersingkat suatu program. Misalnya saja

kita akan melakukan langkah yang sama namun secara berulang-ulang. Kita tak perlu untuk

menulis algoritmanya secara berulang-ulang. Yang perlu untuk kita lakukan adalah dengan

menuliskannya dalam sebuah prosedur atau pun fungsi, sehingga ketika kita membutuhkannya

kita tinggal memanggil prosedur atau fungsi tersebut dalam program yang kita buat. Hal lain

yang perlu diperhatikan dalam pembuatan fungsi dan prosedur adalah parameternya. Fungsi dan

prosedur memiliki parameter. Parameter ada dua jenis yaitu parameter formal dan yang satunya

adalah parameter actual.

Untuk parameter actual adalah parameter yang digunakan untuk memanggil prosedur ataupun

fungsi, sedangkan parameter formal adalah parameter yang ada pada fungsi atau prosedur.

Antara parameter formal dan actual ini akan saling berasosiasi, jadi urutan dan jumlahnya pun

harus sama dan harus diperhatikan. Berikut ini adalah penjelasan terpisah untuk fungsi dan untuk

prosedur :

1. Fungsi

Pada fungsi ini parameter formal dan actual dibutuhkan. Fungsi sendiri menghasilkan suatu nilai

dengan tipe hasil sesuai dengan apa yang telah didefinisikan oleh pemrogram. Fungsi ini akan

selalu mengupdate dan menghasilkan suatu nilai.

Berikut ini akan saya berikan contoh sebuah program yang menggunakan fungsi dalam pascal :

Program pakai;

Uses crt;

Var

A,b,c : integer;

Function jumlah(u,t:integer):integer;

Begin

u:=u+1;

Page 2: Prosedur dan fungsi

t:=t+1;

jumlah:=u+t;

End;

Begin

Clrscr;

Readln(a);

Readln(b);

c:=jumlah(a,b);

writeln(‘hasilnya adalah ’,c);

Readln;

End.

Dalam contoh program diatas coba anda perhatikan baik-baik. Untuk pemanggilan fungsi itu

diassign(dimasukkan) ke dalam variable c, karena hasil dari suatu fungsi itu sendiri merupakan

sebuah nilai.

Untuk cara pemanggilan fungsi ada 2 cara. Misalnya yaitu :

1) variable:=nama_fungsi(parameterinputan)

2)writeln(nama_fungsi(parameterinputan))

Sedangkan sintaks untuk mendefinisikan fungsinya adalah sebagai berikut:

Function nama_fungsi(parameterinput:tipeparameter):tipehasil;

Tracking program_pakai

Misalnya saya memberikan inputan pertama 3, sedangkan yang kedua adalah 2, maka artinya

nilai a=3, dan b=2.

Kemudian memanggil fungsi jumlah. Dalam fungsi jumlah ini menggunakan parameter input

berupa variable a dan variable b yang telah memiliki nilai 3 dan 2.

Masing-masing parameter input/ parameter actual akan berasosiasi dengan parameter formal

Page 3: Prosedur dan fungsi

sesuai dengan urutannya

Kemudian variable a akan berasosiasi dengan variable u pada fungsi, sedangkan variable b akan

berasosiasi dengan variable t pada fungsi.

Maka u=a dan t=b, u bernilai 3, dan t bernilai 2. Nilai u adalah u+1, maka nilai u adalah 3+1

yaitu 4, sedangkan nilai t adalah t+1, maka nilai t adalah 2+1 yaitu 3.

Fungsi jumlah memiliki hasil yang bertipe integer. Hasil dari fungsi jumlah tersebut adalah u+t

Maka fungsi jumlah bernilai 4+3 yaitu 7;

Kembali ke program utama, variable c diassignkan(diisikan) dengan fungsi jumlah, itu berarti

bahwa c = jumlah, maka c = 7, maka dilayar akan dioutputkan hasilnya yaitu angka 7.

2. Prosedur

Didalam prosedur untuk membuatnya kita bisa menggunakan parameter yang berupa parameter

input/output, atau parameter input saja. Bisa juga tanpa parameter. Kalau dalam fungsi harus ada

parameternya, maka dalam prosedur tidak menggunakan parameterpun tidak apa.

Mengenai jenis parameter dalam pascal ada dua jenis. Yang pertama itu adalah parameter input

saja, kemudian yang kedua adalah parameter input/output. Maksudnya adalah :

**Parameter input : parameter yang menerima inputa dari sebuah variable, namun parameter ini

tidak mengubah ataupun mengupdate nilai.

**Parameter input/output : parameter yang menerima dua tugas sekaligus, yaitu sebagai

penerima inputan sekaligus sebagai pengupdate nilai.

Penulisan sintax dalam pascalnya untuk membuat prosedur adalah :

Procedure nama_prosedur(variabelinput:tipevariabel ; var variabelinputoutput:tipevariabel);

Catatan: Kata var dalam sintax diatas menunjukkan bahwa variable tersebut berfungsi sebagai

parameter input output. Atau sering disebut I/O.

Sedangkan sintax pascal untuk memanggilnya adalah sebagai berikut:

Nama_prosedur(parameter aktual);

Untuk lebih jelasnya perhatikan program dibawah ini :

Program ubah;

Uses crt;

Page 4: Prosedur dan fungsi

Var

First:integer;

Second:integer;

Procedure ganti1(var a,b:integer);

Var

Temp:integer;

Begin

temp:=a;

a:=b;

b:=temp;

writeln(a,’-‘,b);

End;

Procedure ganti2(a,b:integer);

Var

Temp:integer;

Begin

temp:=a;

a:=b;

b:=temp;

writeln(a,’-‘,b);

End;

Begin

Clrscr;

Readln(first);

Readln(second);

Ganti1(first,second);

Ganti2(first,second);

Writeln(first,’-‘,second);

Readln;

End.

Page 5: Prosedur dan fungsi

Misalnya saya memberikan inputan first dengan angka 1, kemudian second saya inputkan angka

2,

Maka akan muncul outputan dilayar :

2-1

1-2

2-1

Agar lebih jelas sebaiknya ditracking saja

Pertama first diinputkan 1, second diinputkan 2, maka nilai first adalah 1 dan second nilainya 2.

Kemudian memanggil prosedur ganti1, variable first berasosiasi dengan variable a sedangkan

second akan berasosiasi dengan variable b, maka nilai a=1, b=2.

Nilai ditukar dan dioutputkan, maka nilai a menjadi 2 dan b menjadi 1. Setelah itu nilai

dioutputkan dan muncul dilayar 2-1.

Kemudian karena parameter parameter formal ada tulisan var nya, maka variabel yang ada

dibelakang kata var dalam parameter formal tersebut bertipe input output, maka nilai dari a dan b

akan diupdate.

Karena nilai a dan b menjadi 2 dan 1 maka a beasosiasi dengan first dan b berasosiasi dengan

second, sehingga nilai first menjadi 2, dan second menjadi 1.

Pemanggilan prosedur ganti1 selesai.

Sekarang kita dapatkan nilai first=2 dan second=1.

Kemudian memanggil prosedur ganti2.

Maka first akan berasosiasi dengan a sedangkan second akan berasosiasi dengan b.

Setelah itu nilai a dalam prosedur ganti2 menjadi 2 sedangkan b menjadi 1.

Maka berikutnya a dan b akan ditukar dalam prosedur tersebut, sehingga nilai a adalah 1 dan b

adalah 2.

Kemudian dioutputkan kelayar dan hasilnya adalah 1-2.

Karena tidak ada kata var di dalam parameter formal di prosedur ganti2 maka nilai a = 1 dan b=2

hanya berlaku dalam prosedur ganti 2 itu saja, dan nilai tidak akan diupdate, sehingga variabel

first dan second nilainya tetap tidak berubah seperti pada saat sebelum memanggil prosedur

ganti2, yaitu first tetap 2 dan second tetap 1.

Pemanggilan prosedur selesai, kemudian akan dilanjutkan dengan mengoutputkan nilai first dan

second, maka akan mengoutputkan tulisan 2-1 pada layar.