Anda di halaman 1dari 43

BAB I

MODUL VI
PROSEDUR DAN FUNGSI
TUJUAN
1

Dapat memahami konsep prosedur dan fungsi

Mampu membuat prosedur dan fungsi baik dengan paramenter maupun


tanpa paramenter

Mampu membedakan kapan menggunakan prosedur atau fungsi

LANDASAN TEORI
Perosedur
Kata prosedur sering kita dengar dalam kehidupan sehari-hari. Seorang
mahasiswa pada setiap awal semester selalu melakukan pendaftaran ulang
(registrasi). Langkah-langkah pendaftaran ulang lazim dinyatakan dalam sebuah
prosedur yang dinamakan prosedur daftar ulang. Secara sederhana prosedure
daftar ulang dituliskan sebagai berikut:
Prosedur Daftar Ulang
1. Ambil From Rencana Studi (FRS) di kantor Tata Usaha Akademik dengan
memperlihatkan Kartu Tanda Mahasiswa (KTM) dan Kartu Studi Mahasiswa
(KSM).
2. Lakukan pembayaran SPP di loker pembayaran dan minta kwitansinya.
3. Isi FRS dengan mata kuliah-mata kuliah yang akan diambil di semester ini.
4. Lakukan perwakilan untuk mengesahkan FRS oleh Wali Akademik.
5. Jika SPP sudah lunas, maka serahkan FRS yang sudah disahkan oleh Wali
Akademik ke petugas di Kantor Tata Usaha Akademik. Jika SPP belum lunas,
kembali ke langkah 2.
6. Serahkan foto ukuran 2x3 untuk KTM yang baru, untuk kemudian di cap oleh
petugas.
7. Selesai.
Ketika sebuah prosedur dieksekusi, maka intruksi-intruksi di dalamnya dikerjakan
satu per satu. Pada contoh registrasi mahasiswa. mahasiswalah yang

mengeksekusi prosedur daftar ulang. Mahasiswa membaca setiap langkah di


dalam prosedur, lalu melaksanakan intruksi yang telah tertulis pada setiap
langkah. Efek dari pelaksanaan prosedur dapat diamati sebelum dan sesudah
prosedur dijalankan oleh mahasiswa. Sebelum plaksanaan prosedur daftar ulang,
mahasiswa belum terdaftar di semester yang baru, dan sesudah pelaksanaan
prosedur, mahasiswa terdaftar di semester yang baru.
Di dalam dunia pemrograman, prosedur adalah modul program yang mengerjakan
tugas/aktivitas yang spesifik dan menghasilkan suatu efek netto [LIE96]. Suatu
efek netto diketahui dengan membandingkan keadaan awal dan keadaan akhir
pada pelksanaan sebuah prosedur. Oleh karena itu pada setiap prosedur kita perlu
mendefinisikan keadaan awal (K.Awal) sebelum rangkaian intruksi di dalam
prosedur dilaksanakan dan keadaan akhir (K.Akhir) yang diharapkan setelah
rangkaian itruksi di dalam prosedur dilaksanakan.
Pendefinisian Prosedur
Pendefinisian prosedur artinya menuliskan nama prosedur, mendeklarasikan
nama-nama konstanta, peubah dan tipe (jika ada), dan menjabarkan rangkaian aksi
yang dilakukan. Pada dasarnya, struktur prosedur sama dengan strukture
algoritma yang sudah anda kenal, yaitu: ada bagian judul (header) yang terdiri
atas nama prosedur dan deklarasi parameter (jika ada), bagian deklarasi untuk
mengumpulkan nama-nama, dan bagian algoritma yang disebut badan prosedur.
Setiap prosedur mempunyai nama yang unik. Nama prosedur sebaliknya diawali
dengan kata kerja karena prosedur berisi suatu aktivitas, misalnya HitungLuas,
Tukar, CariMaks, Inisialisasi, AktifkanMenu, dan lain sebagainya.
Parameter adalah nama-nama peubah yang dideklarasikan pada bagian header
prosedur. Sebagia besar program memerlukan pertukaran data/informasi antara
prosedur atau fungsi dan titik dimana ia dipanggil. Penggunaan parameter
menawarkan mekanisme pertukaran informasi tersebut. Tiap item data ditransfer
antara parameter aktual dan parameter formal yang bersesuaian. Parameter
aktual (kadang-kadang disebut juga argument) adalah parameter yang disertakan
pada waktu pemanggilan prosedur, sedangkan parameter formal adalah parameter

yang dideklarasikan di dalam bagian header prosedur itu sendiri. Ketika prosedur
dipanggil, parameter aktual menggantikan parameter formal. Tiap-tiap parameter
aktual berpasangan dengan parameter formal yang bersesuaian.
Notasi algoritmik untuk mendefinisikan prosedur (tanpa parameter) adalah:
Procedur NamaProsedur (deklarasikan parameter, jika ada)
{ Spesifikan prosedur, berisi penjelaskan tentang apa yang dilakukan oleh
prosedur ini.
K.awal

: keadaan sebelum prosedur dilaksanakan.

K.akhir : keadaan setelah prosedur dilaksanakan. }


DEKLARASI
{ semua nama yang dipakai di dalam prosedur dan hanya berlaku lokal di
dalam prosedur didefinisikan di sini }
ALGORITMA:
{ badan prosedur, berisi urutan intruksi }
Pendeklarasikan parameter di dalam prosedur bukanlah keharusan. Dengan kata
lain parameter, boleh ada atau tidak ada.
Contoh :
Buatlah prosedur yang membaca panjang alas dan tinggi segitiga, menghitung
luas segitiga dengan rumus luas = (alas x tinggi)/2, dan mencetak luas segitiga
tersebut.

Penyelesaian
Prosedur HitungLuasSegitiga
{ Mengitung luas segitiga dengan rumus L = (alas x tinggi)/2 }
{ K.awal : sembarang }
{ K.akhir : luas segitiga tercetak. }
DEKLARASI
3

Alas

: real { panjang alas segitiga, dalam cm }

Tinggi : real { tinggi segitiga, dalam cm }


Luas

: real { luas segitiga, dalam cm }

ALGORITMA:
Read (alas, tinggi)
Luas

(alas * tinggi)/2

Write (luas)
Perhatikan algoritma di atas. Keadaan awal (K.Awal) prosedur adalah sembarang
kondisi, namun setelah prosedur selesai dilaksanakan, keadaan akhirnya (K.Akhir)
adalah kondisi di mana luas segitiga tercetak (misalnya ke layar).
Pemanggilan prosedur
Prosedur bukan program yang berdiri sendiri, jadi ia tidak dapat dieksekusi secara
langsung. Ini berarti, intruksi-intruksi di dalam prosedur baru dapat dilaksanakan
hanya bila prosedur tersebut diakses. Prosedur diakses dengan cara memanggil
namanya dari program pemanggil (misalnya dari program utama atau modul
program lainnya). Jika prosedur tanpa parameter, maka pemanggilannya cukup
dengan namanya saja:
NamaProsedur
Ketika NamaProsedur dipanggil, kendali program berpindah secara otomatis ke
prosedur tersebut. Seluruh intruksi di dalam badan prosedur dilaksanakan. Setelah
semua intruksi selesai dilaksanakan, kendali program berpindah secara otomatis
kembali ke intruksi sesudah pemanggilan prosedur.
Agar nama prosedur dikenal oleh program pemanggil, maka di dalam program
pemanggil, kita harus mendeklarasikan purwarupa (prototype) prosedur tersebut.
Purwarupa prosedur hanya berisi bagian header prosedur. Pendeklarasian
purwarupa juga untuk memberitahu program pemanggil bagaimana cara-cara
mengakses prosedur (jumlah parameter dan tipe parameternya, jika ada).

Misalkan kita mempunyai N buah segitiga dan kita ingin menghitung luas semua
segitiga. Prosedur untuk menghitung luas segitiga sudah kita definisikan di dalam
contoh berikut:
PROGRAM Segitiga
{ menghitung luas N buah segitiga. }
DEKLARASI
I, N : integer
Procedure HitungLuasSegitiga
{ Menghitung Luas segitiga dengan rumus L = (alas x tinggi)/2 }
ALGORITMA
Read (N) { tentukan banyak segitiga }
For i

1 to N do

HitungLuasSegitiga
Endfor
Nama Global, Nama Lokal, dan Linkup
Nama-nama (konstanta, peubah tipe, dan lain-lain) yang dideklarasikan di dalam
prosedur (termasuk parameter, jika ada) hanya dikenal di dalam badan prosedur
yang bersangkutan. Nama-nama yang dideklarasikan di dalam prosedur tersebut
dikatakan lingkupnya (scope) lokal. Nama-nama local hanya berlaku di dalam
prosedur yang melingkupinya saja. Setelah prosedur selesai dieksekusi, namanama tersebut tidak dikenal lagi di luar prosedur. Tinjau prosedur
HitungLuasSegitiga pada Peubah alas, tinggi dan luas hanya dapat digunakan di
dalam prosedur yang bersangkutan.
Sebaliknya, nama-nama (konstanta, peubah, tipe, dan lain-lain) yang
dideklarasikan di dalam program utama dikatakan lingkupnya global. Namanama global dapat digunakan di bagian manapun di dalam program, baik di dalam
program utama maupun di dalam prosedur yang dipanggil. Tinjau program
Segitiga pada Peubah i dan N dapat digunakan di dalam program utama maupun
di dalam prosedur HitungLuasSegitiga (kalau diperlukan).

Sekarang, mari kita modifikasi prosedur HitungLuasSegitiga dengan meniadakan


Peubah alas, dan tinggi di dalam bagian deklarasinya, dan menghilangkan
pernyataan pembacaan data di dalam prosedur.
Procedure HitungLuasSegitiga
{ menghitung luas segitiga dengan rumus luas = (alas x tinggi)/2 }
{ K.Awal : sembarang }
{ K.Akhir : luas segitiga tercetak. }
DEKLARASI
Luas : real
ALGORITMA:
Luas

(alas * tinggi)/2

Write (luas)
Selanjutnya, modifikasi program utama Segitiga dengan memasukkan peubah
alas, dan tinggi ke dalam bagian deklarasi program utama, dan membaca alas dan
tinggi:
PROGRAM Segitiga
{ menghitung luas N buah segitiga. }
DEKLARASI
i, N : integer
alas, tinggi : real
procedure HitungLuasSegitiga
{ menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 }
ALGORITMA
Read (N)
For i

{ menentukan banyak segitiga }


1 to N do

Read (alas * tinggi)


HitungLuasSegitiga
endfor

peubah alas dan tinggi dideklarasikan di dalam bagian deklarasi program utama,
karena itu, alas dan tinggi adalah peubah global sehingga mereka juga dikenal
dan dapat digunakan di dalam prosedur HitungLuasSegitiga.
Sebaliknya, peubah luas dideklarasikan di dalam prosedur HitungLuasSegitiga
jadi peubah tersebut adalah peubah lokal dan ia hanya dapat digunakan di dalam
lingkup prosedur itu saja. Anda tidak dapat menuliskan write (luas) di dalam
program utama.
Apakah menggunakan peubah global atau peubah lokal?
Keputusan apakah suatu peubah akan dideklarasikan global atau lokal bergantung
kepada penggunaan nama tersebut. Bila suatu peubah digunakan di seluruh bagian
program (termasuk di dalam prosedur) maka peubah tersebut harus dideklarasikan
global. Sebaliknya, bila peubah tersebut hanya digunakan di dalam prosedur saja,
maka nama peubah sebaliknya dideklarasikan sebagai peubah local (dikatakan
sebaliknya karena bila dideklarasikan global pun masih tetap benar).
Usahakanlah mengunakan peubah global sesedikit mungkin. Penggunaan peubah
lokal akan memberikan keuntungan, sebab peubah lokal membuat program lebih
elegan, dan dapat meminimumkan usaha pencarian kesalahan yang disebabkan
oleh nama tersebut, karena peubah lokal hanya bermain di dalam lingkup
prosedur saja.
Prosedur yang baik adalah prosedur yang independen dari program pemanggilnya.
Pernyataan ini menyiratkan bahwa prosedur yang baik tidak menggunakan
peubah-peubah global di dalam badan prosedurnya. Jika program utama perlu
mengomunikasikan nilai peubah global ke dalam prosedur, maka ada satu cara
untuk melakukannya yaitu menggunakan parameter.

Parameter

Kebanyakan program memerlukan pertukaran informasi antara prosedur dan titik


di mana ia dipanggil. Penggunaan parameter menawarkan mekanisme pertukaran
informasi tersebut.
Prosedur dengan parameter diakses dengan cara memanggil namanya dari
program pemanggil (program utama atau modul program lain) disertai
parameternya. Parameter yang disertakan pada waktu pemanggilan disebut
parameter aktual. Cara pemanggilan prosedur dengan parameter adalah:
NamaProsedur (parameter aktual)
Ketika prosedur dipanggil, parameter aktual berkoresponden dengan parameter
formal (parameter yang dideklarasikan pada bagian header prosedur). Tiap-tiap
parameter aktual berpasangan dengan parameter formal yang bersesuaian.
Aturan yang harus diperhatikan dalam korespondensi satu-satu antara parameter
aktual dan parameter formal adalah :
1. Jumlah parameter aktual pada pemanggil prosedur harus sama dengan jumlah
parameter formal pada deklarasi prosedurnya;
2. Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang
bersesuaian;
3. Tiap parameter aktual harus diekspresikan dalam cara yang taat-asas dengan
parameter formal yang bersesuaian, bergantung pada jenis parameter formal
(dijelaskan di bawah ini).
Berdasarkan maksud penggunaannya, terdapat tiga jenis parameter formal yang
disertai di dalam prosedur:
1. Parameter masukan (input parameter)
2. Parameter keluaran (output parameter)
3. Parameter masukan/keluaran (input/output parameter)
Parameter masukan adalah parameter yang nilainya berlaku sebagai masukan
untuk prosedur. Pada bahasa pemrograman, istilah parameter masukan ini sering
dinamakan parameter nilai (value parameter atau parameter by value).
Parameter keluaran adalah parameter yang menampung keluaran yang

dihasilkan oleh prosedur. Sedangkan parameter masukan/keluaran adalah


parameter yang berfungsi sebagai masukan sekaligus keluaran bagi prosedur
tersebut.
Prosedur dengan parameter atau tanpa parameter?
Sangat dianjurkan menuliskan prosedur dengan parameter. Parameter berfungsi
sebagai media komunikasi antar modul dengan program pemanggil. Selain itu,
parameter dapat mengurangi kebutuhan penggunaan peubah global.
Fungsi
Fungsi adalah upa-program yang memberikan/mengembalikan (return) sebuah
nilai dari tipe tertentu tipe dasar atau tipe bentukan. Definisi fungsi di dalam
program bersesuaian dengan definisi fungsi di dalam matematika. Di dalam
matematika, kita mengenal cara penulisan fungsi seperti pada contoh berikut:
2
1. f(x) = 2 x + 5x - 8

2. H(x,y) = 3x - y + xy
Pada kedua contoh di atas, f dan H adalah nama fungsi, sedangkan x dan y adalah
parameter fungsi yang bersangkutan. Nilai yang diberikan oleh fungsi bergantung
pada masukan parameter. Sebagai misalnya:
2

1. x = 2, maka f(2) = 2. 2

+ 5.2 8 = 10

2. x = 1, y = 2, maka H(1,2) = 3.1 2 + 1.2 = 3


nilai 10 dan 3 pada kedua contoh di atas adalah nilai yang diberikan (return value)
oleh masing-masing fungsi f dan fungsi H.
sebagaimana halnya dengan prosedur, fungsi diakses dengan mamanggil
namanya. Seperti pada prosedur, fungsi juga dapat mengandung daftar parameter
formal. Parameter pada fungsi selalu merupakan parameter masukan. Dengan kata
lain, tidak ada fungsi yang mempunyai parameter keluaran atau parameter
masukan/keluaran. Parameter masukan pada fungsi berarti bahwa parameter
tersebut merupakan masukan yang digunakan oleh fungsi tersebut untuk
menghasilkan nilai.

Pendefinisian fungsi
Sebagaimana halnya dengan prosedur, struktur fungsi sama dengan struktur
algoritma yang sudah anda kenal: ada bagian header yang berisi nama fungsi
(beserta parameter masukan, jika ada) dan spesifikasi tentang fungsi tersebut,
bagian deklarasi, dan badan fungsi.
Notasi algoritmik untuk mendefinisikan fungsi adalah:
Function NamaFungsi ( input deklarasi parameter, jika ada )

tipe

{ spesifikasi fungsi, menjelaskan apa yang dilakukan dan yang dikembalikan


oleh fungsi. }
DEKLARASI
{ semua nama yang dipakai di dalam fungsi dan hanya berlaku lokal di
dalam prosedur didefinisikan di sini }
ALGORITMA
{ badan fungsi, berisi intruksi-intruksi untuk menghasilkan nilai yang akan
dikembalikan oleh fungsi }
Return ekspresi { pengembalian nilai yang dihasilkan oleh fungsi }
Tipe menspesifikasikan tipe nilai yang diberikan oleh fungsi. Nilai yang diberikan
oleh fungsi dapat bertipe dasar maupun bertipe bentukan. Parameter formal selalu
berjenis parameter masukan sehingga deklarasi nama parameter selalu diawali
dengan kata input. Sebagaimana halnya pada prosedur, parameter fungsi pada
fungsi tidak selalu harus ada.
Semua nama peubah/konstanta yang hanya berlaku di dalam fungsi saja
diumumkan di bagian deklarasi. Nama yang didefinisikan di dalam bagian
deklarasi fungsi hanya dikenal dan berlaku di dalam fungsi yang bersangkutan
saja, fungsi lain atau program utama tidak dapat menggunakannya.
Pernyataan
Return ekspresi

10

Di dalam badan fungsi bertujuan untuk mengembalikan nilai yang dihasilkan oleh
fungsi tersebut. Ekspresi dapat berupa konstanta, atau sebuah peubah, atau sebuah
rumus. Di bawah ini diberikan beberapa contoh pendefinisian fungsi.
Contoh : Tulislah fungsi untuk menghasilkan nilai F(x) = 2 x

+ 5x 8,xR

Penyelesaian
Function F (input x : real)

real

2
{ mengembalikan nilai F(x) = 2 x + 5x 8, x R }

DEKLARASI
{ tidak ada }
ALGORITMA
Return 2*x*x + 5*x - 8
Di dalam algoritma di atas,
F adalah nama fungsi, tipe-nya real
x adalah parameter (by value) formal
dan dalam badan fungsi, nilai yang dihasilkan oleh fungsi dikembalikan (return)
ke titik pemanggilan dengan pernyataan :
return 2*x*x + 5*x 8
yang dalam hal ini, return mengembalikan hasil evaluasi dari ekspresi
2*x*x + 5*x - 8
Pemanggilan fungsi
Fungsi diakses dengan cara memanggil namanya dari program pemanggil.
Diikuti dengan daftar parameter aktual (bila ada). Karena fungsi menghasilkan
nilai, maka nilai tersebut dapat diperlakukan dengan dua cara. Pertama, nilai yang
dikembalikan oleh fungsi ditampung di dalam sebuah peubah yang bertipe sama
dengan tipe fungsi,
Peubah

NamaFungsi (parameter aktual, jika ada);

Misalnya (berdasarkan contoh-contoh fungsi yang sudah diberikan di atas),


y

F (5)

{ y harus bertipe real }

11

H (x,y,z)

{ z harus bertipe.integer; x, y, dan z harus sudah


terdefinisi nilainya }

hh

Genap (m) { hh bertipe Boolean; m harus sudah terfenisi nilainya }

kedua, nilai yang dikembalikan oleh fungsi dapat langsung dimanipulasi seperti
pada contoh-contoh berikut:
write (F (5) )
p

2*H (x,y,z) x + y

if Genap (m) then . . .


contoh : misalkan kita ingin menampilkan tabel yang berisi nilai-nilai x dan F(x)
di dalam selang [10,15] dengan x = 0,2 seperti contoh berikut:
-----------------------------------------x

F(x)

------------------------------------------

Fungsi F(x) = 2 x

10,0

242,0

10,2

251,08

10,4

..

..

..

14,8

..

15,0

..

+ 5x 8 sudah didefinisikan di dalam algoritma. Kita akan

memanggil fungsi tersebut dari program utama.


Penyelesaian
PROGRAM TabelFungsi
{ Program utama yang mempragakan cara pemanggilan fungsi F. Program
menampilkan tabel nilai-nilai x dan f(x) di dalam selang (10,15) dengan x
= 0,2 }
DEKLARASI
x : real
function F (input x : real)

real
12

{ mengembalikan nilai F(x) = 2 x

+ 5x 8, x R }

ALGORITMA
{ buat header tabel }
Write (..)
Write(

f(x)

Write()
X

10,0

While x 15,0 do
Write (x, ,F(x) )
X

x + 0,2

Endwhile
{ buat garis penutup tabel }
Write (. )
Perhatikan: fungsi F dipanggil dari pernyataan
Write (x,

, F (x) )

Yang dalam hal ini, nilai fungsi F untuk x yang diberikan langsung dicetak.
Fungsi Tanpa Parameter
Suatu Fungsi yang tanpa menggunakan parameter berarti nilai balik yang akan di
hasilkan merupakan nilai yang sudah pasti. Pada Fungsi yang tidak mempunyai
parameter, maka hasilnya tersebut tidak dapat diatur dari modul yang
menggunakannya, karena tidak ada parameter yang dikirimkan.
Contoh :
Program Contoh1;

Output :

Type

--------

Huruf = String;

Pascal

Function Garis : Huruf;

--------

13

Begin
Garis := -----------;
End;
Begin
Writeln(Garis);
Writeln(Pascal);
Writeln(Garis);
End.
Atau dapat juga didefinisikan sebagai suatu konstanta dibagian definisi konstanta,
sebagai berikut :
Contoh :
Program Contoh2;

Output :

Const
Garis:=---------;

---------

Begin

Pascal

Writeln(Garis);

---------

Writeln(Pascal);
Writeln(Garis);
End.
Parameter Dalam Fungsi
Parameter dalam fungsi dapat dikirimkan secara Nilai (By Value) atau secara
acuan (By Reference). Penulisan judul Fungsi yang menggunakan parameter
dengan pengiriman sevara Nilai adalah tampak sebagai berikut :
Function Hitung(A,B : Integer): Integer;
Contoh :
Suatu Fungsi yang akan menghasilkan nilai terbesar dari 2 buah Nilai Real.
Function Terbesar(X,Y:Real):Real;

Output :

Begin

14

If X>Y then
Terbesar :=X
Else

Nilai Pertama ? 12,356


Nilai Kedua ? 55.182
Nilai Terbesar adalah 55,182

Terbesar :=Y;
End;
Var
Nilai1,Nilai2 :Real;
Begin
Write(Nilai Pertama ?);Readln(Nilai1);
Write(Nilai Kedua ?); Readln(Nilai2);
Writeln(Nilai Terbesar adalah ,Terbesar(Nilai1,Nilai2):9:3);
End.
Sedang Penulisan judul Fungsi yang menggunakan parameter dengan pengiriman
secara acuan adalah dengan menambahkan katan cadangan Var sebagai berikut :
Function Hitung(Var A,B : Integer):Integer;
Pengiriman parameter dengan secara acuan akan mengakibatkan perubahan nilai
parameter di Fungsi juga merubah nilai parameter dimodul yang mengirimkannya.
Contoh :
Program Contoh3:
Function Hitung(Var A,B,C : Integer):Integer;

Output :

Begin
Hitung :=A+B;

Nilai X ? 2

C :=A*B;

Nilai Y ? 3

End.
2+3=5
Var

2*3=6
X,Y,Z : Integer;

Begin

15

Write(Nilai X ?);
Readln(X);
Write(Nilai Y?);
Readln(Y);
Writeln;
Writeln(X,+,Y, =,Hitung(X,Y,Z);
Writeln(X,*,Y, =,Z);
End.
Prosedur atau fungsi
Pertanyaan yang sering muncul pada program modular adalah: apakah sebuah
program modul akan dibuat sebagai prosedur atau fungsi? jawaban untuk
pertanyaan ini sebenarnya tidak sulit: fungsi digunakan apabila modul program
mengembalikan sebuah nilai, sementara prosedur digunakan bila modul
menghasilkan efek netto dari (satu atau) sekumpulan aksi. Namun dalam praktek,
sering perbedaan antara keduanya tidak jelas, karena sebuah prosedur dapat juga
ditulis sebagai fungsi, demikian pula sebaliknya. Pemilihan apakah sebuah modul
direalisasikan sebagai fungsi atau prosedur bergantung pada kebutuhan dan seni
memprogram.
(a) Mengubah fungsi menjadi prosedur
Sebuah fungsi dapat dikonversi sebagai prosedur dengan cara menyatakan
nilai yang dikembalikan (return value) oleh fungsi tersebut sebagai parameter
keluaran pada prosedur.
Sebagai contoh, tinjau kembali fungsi make untuk menentukan bilangan
terbesar di antara dua buah bilangan.
Fungsi:
Function Make (input a, b: integer)

integer

{ mengembalikan harga terbesar dari a dan b }


DEKLARASI
{ tidak ada }
ALGORITMA

16

If a b then
Return a
Else
Return b
endif
prosedur:
prosedur TentukanMaks (input a, b: integer, output, maks : integer)
{ menentukan nilai terbesar dari a dan b, dan menyimpannya di max }
{ K.Awal: a dan b sudah terdefinisi nilainya. }
{ K.Akhir: maks berisi nilai terbesar dari a atau b }
DEKLARASI
{ tidak ada }
ALGORITMA
If a b then
Maks

Else
Maks

endif
prosedur yang mempunyai satu buah parameter dapat ditulis sebagai fungsi
dengan cara menyatakan parameter keluaran sebagai nilai yang dikembalikan oleh
fungsi.
Sebagai contoh, tinjau prosedur menghitung nilai rata-rata dari sejumlah data
bilangan bulat sebagai berikut:
Prosedur:
Procedure HitungRataRata (input Ndata : integer, output, U : real )
{ membaca data, menjumlahkannya, dan menghitung rata-rata. }
{ K.Awal : Ndata sudah berisi banyak data ; Ndata > 0 }
{ K.Akhir : U berisi rata-rata seluruh data }
DEKLARASI

17

x : integer

{ data yang dibaca }

i : integer

{ pencacah banyak data }

jumlah : integer

{ jumlah nilai seluruh data }

ALGORITMA
Jumlah
For i

{ inisialisasin penjumlahan }

1 to Ndata do

Read (x)
Jumlah

jumlah + i

Endfor
U

jumlah/Ndata

{ rata-rata seluruh data }

Prosedur HitungRataRata memiliki satu parameter keluaran, karena itu ia dapat


diubah menjadi fungsi. Apabila ditulis sebagai fungsi, maka parameter keluaran u
tidak diperlukan lagi, karena nilai u merupakan nilai yang dihasilkan (return
value) oleh fungsi.
Fungsi RataRata:
Function RataRata (input Ndata : integer)

real

{ membaca data, menjumlahkannya, dan menghitung rata-ratanya.


Banyaknya data adalah Ndata { > 0) . }
DEKLARASI
x : integer

{ data yang dibaca }

i : integer

{ pencacahan banyak data }

ALGORITMA:
Jumlah
For i

{ inisialisasi jumlah }

i to Ndata do

Read (x)
Jumlah

jumlah + x

Endfor
Return jumlah/Ndata

{ rata-rata seluruh data }

Umumnya modul program direalisasika sebagai fungsi apabila nilai fungsi


digunakan langsung dalam suatu ekspresi misalnya:

18

(a) z

( f (a) + f (b) )/2

(b) If f (a)*f (b) > 0 then


Write (Selang [a,b] tidak mengandung akar fungsi)
Endif
Dengan f adalah fungsi yang mendefinisikannya sebagai berikut:
Function f (input x:real)

real

{mengembalikan nilai f (x) = 2*x*x + 5*x 8 }


DEKLARASI
{ tidak ada }
ALGORITMA
Return 2*x*x + 5*x 8
Contoh-contoh lain seperti fungsi menghitung faktorial dan menghitung pangkat
memperlihatkan bahwa masalah-masalah tersebut lebih elegan ditulis sebagai
fungsi ketimbang prosedur. Penggunaan fungsi Fak dan fungsi Pangkat
ditunjukkan pada waktu menghitung fungsi Exp.

19

BAB II
LANGKAH KERJA
1

Membuat program dengan menggunakan prosedur untuk menghitung luas


persegi panjang tanpa paramenter masukan. Simpan file dengan nama
NamaAnda_prosedur1.pas

Modifikasi program di atas dengan menggunakan paramenter masukan.


Simpan file dengan nama NamaAnda_prosedur2.pas

Modifikasi program diatas dengan menggunakan paramenter keluaran.


Simpan file dengan nama NamaAnda_prosedur3.pas

Modifikaai program prosedur3 anda dengan menggunakan fungsi.

Tugas
1 Tuliskan prosedur yang menghasilkan nilai rata-rata sekumpulan bilangan
bulat yang dibaca secara berulang-ulang dari piranti masukan (akhir dari
pembacaan adalah 9999). Prosedur memiliki paramenter keluaran, yaitu
nilai rata-rata yang di hasilkan.
2

Modifikasi tugas 1 dengan menggunakan fungsi !

20

BAB III
PEMBAHASAN
1. Membuat program dengan menggunakan prosedur untuk menghitung luas
persegi panjang tanpa paramenter masukan. Simpan file dengan nama
NamaAnda_prosedur1.pas
Jawaban
Input programnya adalah sebagai berikut:
Program menghitung_luas_ persegi_panjang;
Uses crt;
Var

p, l : byte;
Luas : integer;

Procedure menghitung_luas;
Begin
Luas:=p*l;
Writeln(luas :,luas);
End;
Begin
Clrscr;
Readkey;
End.
Penjelasannya:
Untuk menjalankan program pertama yaitu sebagai berikut:
-

Masukan judul program yaitu nama programnya (program


menghitung_luas_persegi_panjang;)

Masukan perintah uses crt yang berfungsi sebagai menghidupkan


fungsi.

Masukan perintah var yang berfungsi untuk menyimpan data yang


nilainya bisa diubah-ubah.

Masukan perintah p, l untuk menyatakan panjang dan lebar.

21

Masukan perintah byte yang berfungsi untuk mengoprasikan nilai 0255 yang terdiri atas 8 bit, dan byte juga merupakan unit informasi
yang digunakan untuk mewakili suatu aksara.

Masukan perintah luas yang berfungsi sebagai sebuah variabel yang


menampung nilai untuk menyatakan hasil luas persegi panjang.

Masukan perintah integer yang berfungsi untuk menyatakan tipe data


yang berupa angka bulat.

Masukan perintah procedure menghitung_luas yang berfungsi untuk


deklarasi sebuah nama prosedur.

Masukan perintah begin untuk mengawali menjalankan sebuah


program.

Masukan perintah luas:=p*l untuk menghitung luas persegi panjang


(p*l)

Masukan perintah writeln(luas :,luas) untuk menampilkan hasil


perhitungan luas persegi panjang.

Masukan perintah end; untuk mengakhiri procedure hitung;

Masukan perintah begin untuk memulai atau mengawali program


pertama menghitung luas persegi panjang.

Masukan kata clrscr yaitu yang berfungsi untuk membersihkan layar


tampilan.

Masukan perintah readkey untuk membaca keseluruhan program.

Masukan perintah end untuk mengakhiri program pertama menghitung


luas persegi panjang.

Untuk mengakhiri program yang dijalankan. Lalu tekan Ctrl + F9 (RUN)


maka akan muncul hasil output seperti berikut:

Output tidak akan tertampil (kosong) karena memberikan statement di


badan program.

22

2. Modifikasi program di atas dengan menggunakan paramenter masukan.


Simpan file dengan nama NamaAnda_prosedur2.pas
Jawaban
Input programnya adalah sebagai berikut:
Program menghitung_luas_persegi_panjang;
Uses crt;
Var

p,l

: byte;

Luas : integer;
Procedure menghitung_luas;
Begin
Luas:=p*l;
Writeln(luas : ,luas);
End;
(***Program Utama***)
Begin
Clrscr;
Writeln(program menghitung luas persegi panjang);
Writeln;
Write(masukan panjang : ); readln(p);
Write(masukan lebar

: ); readln(l);

Readkey;
End.
Penjelasannya:
Untuk menjalankan program kedua yaitu sebagai berikut:
-

Masukan judul program yaitu nama programnya (program


menghitung_luas_persegi_panjang;)

Masukan perintah uses crt yang berfungsi sebagai menghidupkan


fungsi.

23

Masukan perintah var yang berfungsi untuk menyimpan data yang


nilainya bisa diubah-ubah.

Masukan perintah p, l untuk menyatakan panjang dan lebar.

Masukan perintah byte yang berfungsi untuk mengoprasikan nilai 0255 yang terdiri atas 8 bit, dan byte juga merupakan unit informasi
yang digunakan untuk mewakili suatu aksara.

Masukan perintah luas yang berfungsi sebagai sebuah variabel yang


menampung nilai untuk menyatakan hasil luas persegi panjang.

Masukan perintah integer yang berfungsi untuk menyatakan tipe data


yang berupa angka bulat.

Masukan perintah procedure menghitung_luas yang berfungsi untuk


deklarasi sebuah nama prosedur.

Masukan perintah begin untuk mengawali menjalankan sebuah


program.

Masukan perintah luas:=p*l untuk menghitung luas persegi panjang


(p*l)

Masukan perintah writeln(luas :,luas) untuk menampilkan hasil


perhitungan luas persegi panjang.

Masukan perintah end; untuk mengakhiri procedure hitung;

Masukan perintah begin untuk memulai atau mengawali program


pertama menghitung luas persegi panjang.

Masukan kata clrscr yaitu yang berfungsi untuk membersihkan layar


tampilan.

Masukan perintah writeln dengan inputan program menghitung luas


persegi panjang.

Masukan perintah write(masukan panjang : ); readln(p); untuk

Menginputkan nilai p (panjang persegi) sesuai dengan keinginan user.


Masukan perintah write(masukan lebar : ); readln(l); untuk
Menginputkan nilai l (lebar persegi) sesuai dengan keinginan user.

Masukan perintah readkey untuk membaca keseluruhan program.

Masukan perintah end untuk mengakhiri program pertama menghitung


luas persegi panjang.

24

Untuk mengakhiri program yang dijalankan. Lalu tekan Ctrl + F9 (RUN)


maka akan muncul hasil output seperti berikut:
Program menghitung luas persegi panjang
Masukan panjang

:8

Masukan lebar

:9

3. Modifikasi program diatas dengan menggunakan paramenter keluaran.


Simpan file dengan nama NamaAnda_prosedur3.pas
Jawaban
Input programnya adalah sebagai berikut:
Program menghitung_luas_persegi_panjang;
Uses crt;
Var

p,l

: byte;

Luas : integer;
Procedure menghitung_luas;
Begin
Luas:=p*l;
Writeln(luas : ,luas);
End;
(***Program Utama***)
Begin
Clrscr;
Writeln(program menghitung luas persegi panjang);
Writeln;
Write(masukan panjang : ); readln(p);
Write(masukan lebar

: ); readln(l);

Menghitung_luas;
Readkey;
End.
Penjelasannya:
Untuk menjalankan program kedua yaitu sebagai berikut:

25

Masukan judul program yaitu nama programnya (program


menghitung_luas_persegi_panjang;)

Masukan perintah uses crt yang berfungsi sebagai menghidupkan


fungsi.

Masukan perintah var yang berfungsi untuk menyimpan data yang


nilainya bisa diubah-ubah.

Masukan perintah p, l untuk menyatakan panjang dan lebar.

Masukan perintah byte yang berfungsi untuk mengoprasikan nilai 0255 yang terdiri atas 8 bit, dan byte juga merupakan unit informasi
yang digunakan untuk mewakili suatu aksara.

Masukan perintah luas yang berfungsi sebagai sebuah variabel yang


menampung nilai untuk menyatakan hasil luas persegi panjang.

Masukan perintah integer yang berfungsi untuk menyatakan tipe data


yang berupa angka bulat.

Masukan perintah procedure menghitung_luas yang berfungsi untuk


deklarasi sebuah nama prosedur.

Masukan perintah begin untuk mengawali menjalankan sebuah


program.

Masukan perintah luas:=p*l untuk menghitung luas persegi panjang


(p*l)

Masukan perintah writeln(luas :,luas) untuk menampilkan hasil


perhitungan luas persegi panjang.

Masukan perintah end; untuk mengakhiri procedure hitung;

Masukan perintah begin untuk memulai atau mengawali program


pertama menghitung luas persegi panjang.

Masukan kata clrscr yaitu yang berfungsi untuk membersihkan layar


tampilan.

Masukan perintah writeln dengan inputan program menghitung luas


persegi panjang.

Masukan perintah write(masukan panjang : ); readln(p); untuk

Menginputkan nilai p (panjang persegi) sesuai dengan keinginan user.


Masukan perintah write(masukan lebar : ); readln(l); untuk
Menginputkan nilai l (lebar persegi) sesuai dengan keinginan user.
26

Masukan perintah menghitung_luas untuk Memanggil (mengaktifkan)


proseduce menghitung luas.

Masukan perintah readkey untuk membaca keseluruhan program.

Masukan perintah end untuk mengakhiri program pertama menghitung


luas persegi panjang.

Untuk mengakhiri program yang dijalankan. Lalu tekan Ctrl + F9 (RUN)


maka akan muncul hasil output seperti berikut:
Program menghitung luas persegi panjang
Masukan panjang

: 10

Masukan lebar

:8

Luas

: 80

4. Modifikaai program prosedur3 anda dengan menggunakan fungsi.


Jawaban
Input programnya adalah sebagai berikut:
Program menghitung_luas_persegi_panjang;
Uses crt;
Var

p,l

: byte;

Luas : integer;
Functional luas(p, l : integer) : integer;
Begin
Luas:=p*l;
End;
(***Program Utama***)
Begin
Clrscr;
Writeln(program menghitung luas persegi panjang);
Writeln;
Write(masukan panjang : ); readln(p);
Write(masukan lebar

: ); readln(l);

Write(luas = ,luas(p, l));

27

Readkey;
End.
Penjelasannya:
Untuk menjalankan program kedua yaitu sebagai berikut:
-

Masukan judul program yaitu nama programnya (program


menghitung_luas_persegi_panjang;)

Masukan perintah uses crt yang berfungsi sebagai menghidupkan


fungsi.

Masukan perintah function merupakan deklarasi sebuah nama fungsi


beserta tipe data nya.

Masukan perintah variabel p, l yang bertipe integer karena hanya untuk


menampung bilangan bulat saja.

Masukan perintah begin untuk mengawali menjalankan sebuah


program.

Masukan perintah luas:=p*l untuk menghitung luas persegi panjang


(p*l)

Masukan perintah end; untuk mengakhiri procedure hitung;

Masukan perintah var p, l : integer untuk mendeklarasikan bahwa


variable p, l bertipe integer.

Masukan perintah begin untuk memulai atau mengawali program


pertama menghitung luas persegi panjang.

Masukan kata clrscr yaitu yang berfungsi untuk membersihkan layar


tampilan.

Masukan perintah writeln dengan inputan program menghitung luas


persegi panjang.

Masukan perintah write(masukan panjang : ); readln(p); untuk

Menginputkan nilai p (panjang persegi) sesuai dengan keinginan user.


Masukan perintah write(masukan lebar : ); readln(l); untuk

Menginputkan nilai l (lebar persegi) sesuai dengan keinginan user.


Masukan perintah write(luas = ,luas(p, l)); untuk membaca perintah
luas dan menjalankan proses dari rumus luas (p, l).

Masukan perintah readkey untuk membaca keseluruhan program.

28

Masukan perintah end untuk mengakhiri program pertama menghitung


luas persegi panjang.

Untuk mengakhiri program yang dijalankan. Lalu tekan Ctrl + F9 (RUN)


maka akan muncul hasil output seperti berikut:
Program menghitung luas persegi panjang
Masukan panjang

: 10

Masukan lebar

:9

Luas

: 90

Tugas
1. Tuliskan prosedur yang menghasilkan nilai rata-rata sekumpulan bilangan
bulat yang dibaca secara berulang-ulang dari piranti masukan (akhir dari
pembacaan adalah 9999). Prosedur memiliki paramenter keluaran, yaitu
nilai rata-rata yang di hasilkan.
Jawaban
Input programnya adalah sebagai berikut:
Program tugas_satu;
Uses crt;
Var

i, j

: integer;

: longint;

rata : real;
procedure rata2;
begin
if n<=9999 then
begin
j:=0;
for i:=1 to n do
j:=j+I;
rata:=(j/n);
write(rata2 adalah : ,rata:0:2);
end
else
begin

29

write(anda salah input!);


end;
end;
begin
clrscr;
write(masukan perulangan(maks:9999):);readln(n);
rata2;
readkey;
end.
Penjelasannya:
Untuk menjalankan program kedua yaitu sebagai berikut:
-

Masukan judul program yaitu nama programnya (program tugas_satu;)

Masukan perintah uses crt yang berfungsi sebagai menghidupkan


fungsi.

Masukan perintah var (yang berfungsi untuk menyimpan data yang


nilainya bisa diubah-ubah) mengunakan variabel i, j (integer)
menampung nilai bilangan bulat, variabel n (longint) atau long integer
yang merupakan perpanjangan dari tipe data integer, dan hanya
menampung bilangan bulat, variabel rata (real) bilangan yang dapat
menampung bilangan pecahan.

Masukan perintah Procedure rata2; untuk mendeklarasi sebuah nama


procedure bernama rata2.

Masukan perintah begin untuk mengawali menjalankan sebuah


program procedure rata2.

Masukan perintah n<=9999 then untuk menyatakan jika N lebih kecil

atau sama dengan 9999 maka.


Masukan perintah Begin untuk menyatakan memulai perintah If

n<=9999 then.
Masukan perintah J:=0; untuk menginisialisasikan J(jumlah) = 0
Masukan perintah For i:=1 to n do untuk Perulangan dari i=1 ke N

lakukan
Masukan perintah J:=J+i untuk menyatakan logika perhitungan jumlah
dari total perulangan.

30

Masukan perintah Rata:=J/N untuk menghitung rata-rata jumlah N

perulangan yaitu Jumlah/N.


Masukan perintah write(rata2 adalah : ,rata:0:2) untuk menampilkan
rata-rata dari perhitungan dengan pembatasan 2 angka dibelakang

koma.
Masukan perintah end untuk mengakhiri IF n<=9999 then.
Masukan perintah else untuk logika bila If n<=9999 tidak terpenuhi.
Masukan perintah begin untuk memulai perintah Else.
Masukan perintah write(anda salah input); untuk perintah jika

inputan salah maka akan keluar teks Anda salah input.


Masukan perintah end; untuk mengakhiri perintah else.
Masukan perintah end; untuk mengakhiri Procedure Rata2;
Masukan perintah begin utnuk memulai main program.
Masukan perintah clrscr; untuk membersihkan layar pada unit crt.
Masukan perintah read(n); untuk menentukan banyaknya N.
Masukan perintah rata2; untuk memanggil procedure rata2;

Masukan perintah readkey untuk membaca keseluruhan program.

Masukan perintah end untuk mengakhiri program pertama menghitung


luas persegi panjang.

Untuk mengakhiri program yang dijalankan. Lalu tekan Ctrl + F9 (RUN)


maka akan muncul hasil output seperti berikut:
Masukan perulangan(maks:9999): 9
Rata2 adalah : 5.00
2. Modifikasi tugas 1 dengan menggunakan fungsi !
Jawaban
Input programnya adalah sebagai berikut:
Program tugas_dua;
Uses crt;
Var

i, j

: integer;

: longint;

rata : real;
function rata2: real;
begin
if n<=9999 then
begin
j:=0;
31

for i:=1 to n do
j:=j+I;
rata:=(j/n);
write(rata2 adalah : ,rata:0:2);
end
else
begin
write(anda salah input!);
end;
end;
begin
clrscr;
write(masukan perulangan(maks:9999):);readln(n);
rata2;
readkey;
end.
Penjelasannya:
Untuk menjalankan program kedua yaitu sebagai berikut:
-

Masukan judul program yaitu nama programnya (program tugas_dua;)

Masukan perintah uses crt yang berfungsi sebagai menghidupkan


fungsi.

Masukan perintah var (yang berfungsi untuk menyimpan data yang


nilainya bisa diubah-ubah) mengunakan variabel i, j (integer)
menampung nilai bilangan bulat, variabel n (longint) atau long integer
yang merupakan perpanjangan dari tipe data integer, dan hanya
menampung bilangan bulat, variabel rata (real) bilangan yang dapat
menampung bilangan pecahan.

Masukan perintah function rata2:real; untuk mendeklarasikan sebuah


nama fungsi bernama rata2 dengan tipe data real.

Masukan perintah begin untuk mengawali menjalankan sebuah


program procedure rata2.

32

Masukan perintah n<=9999 then untuk menyatakan jika N lebih kecil

atau sama dengan 9999 maka.


Masukan perintah Begin untuk menyatakan memulai perintah If

n<=9999 then.
Masukan perintah J:=0; untuk menginisialisasikan J(jumlah) = 0
Masukan perintah For i:=1 to n do untuk Perulangan dari i=1 ke N

lakukan
Masukan perintah J:=J+i untuk menyatakan logika perhitungan jumlah

dari total perulangan.


Masukan perintah Rata:=j/n untuk menghitung rata-rata jumlah n

perulangan yaitu Jumlah/n.


Masukan perintah write(rata2 adalah : ,rata:0:2) untuk menampilkan
rata-rata dari perhitungan dengan pembatasan 2 angka dibelakang

koma.
Masukan perintah end untuk mengakhiri IF n<=9999 then.
Masukan perintah else untuk logika bila If n<=9999 tidak terpenuhi.
Masukan perintah begin untuk memulai perintah Else.
Masukan perintah write(anda salah input); untuk perintah jika

inputan salah maka akan keluar teks Anda salah input.


Masukan perintah end; untuk mengakhiri perintah else.
Masukan perintah end; untuk mengakhiri Procedure Rata2;
Masukan perintah begin utnuk memulai main program.
Masukan perintah clrscr; untuk membersihkan layar pada unit crt.
Masukan perintah read(n); untuk menentukan banyaknya N.
Masukan perintah rata2; untuk memanggil procedure rata2;

Masukan perintah readkey untuk membaca keseluruhan program.

Masukan perintah end untuk mengakhiri program pertama menghitung


luas persegi panjang.

Untuk mengakhiri program yang dijalankan. Lalu tekan Ctrl + F9 (RUN)


maka akan muncul hasil output seperti berikut:
Masukan perulangan(maks:9999): 6
Rata2 adalah : 3.50

33

BAB IV
KESIMPULAN
Prosedur artinya menuliskan nama prosedur, mendeklarasikan nama-nama
konstanta, peubah dan tipe (jika ada), dan menjabarkan rangkaian aksi yang
dilakukan. Pada dasarnya, struktur prosedur sama dengan strukture algoritma
yang sudah anda kenal, yaitu: ada bagian judul (header) yang terdiri atas nama
prosedur dan deklarasi parameter (jika ada), bagian deklarasi untuk
mengumpulkan nama-nama, dan bagian algoritma yang disebut badan prosedur.
Kebanyakan program memerlukan pertukaran informasi antara prosedur
dan titik di mana ia dipanggil. Penggunaan parameter menawarkan mekanisme
pertukaran informasi.

34

Fungsi adalah upa-program yang memberikan/mengembalikan (return)


sebuah nilai dari tipe tertentu tipe dasar atau tipe bentukan. Fungsi digunakan
apabila modul program mengembalikan sebuah nilai, sementara prosedur
digunakan bila modul menghasilkan efek netto dari (satu atau) sekumpulan aksi.
Namun dalam praktek, sering perbedaan antara keduanya tidak jelas, karena
sebuah prosedur dapat juga ditulis sebagai fungsi, demikian pula sebaliknya.
Untuk Program pertama, merupakan program yang menggunakan
procedure tetapi tanpa parameter masukan yaitu p=panjang dan l=lebar. Hasil
output tidak akan tertampil (kosong) karena memberikan statement di badan
program.
Untuk program kedua, menggunakan procedure dan parameter masukan,
berbeda dengan program pertama. Parameter masukan nya terdapat pada program
writeln(masukan panjang); readln(p); dan writeln (masukan lebar); readln(l);
proses penghitungan luas dilakukan di procedure yaitu luas:=p*l; (panjang kali
lebar) setelah itu procedure hitung; akan menampilkan hasil perhitungan luas
luas:=p*l.
Untuk program ketiga, menggunakan parameter keluaran yaitu luas (luas
persegi panjang) yang ditampilkan setelah procedure hitung melakukan
perhitungan luas persegi panjang. luas merupakan parameter output yang dapat
digunakan baik di dalam program maupun didalam procedure.
Untuk program keempat, menggunakan fungsi hitung yang memiliki tipe
data integer, parameter yang digunakan adalah parameter masukan dan keluaran.
Parameter masukan nya adalah p(panjang) dan l(lebar). Parameter keluaran yaitu
luas (p, l) yang ditampilkan setelah function hitung melakukan perhitungan luas
persegi panjang. Luas merupakan parameter yang dapat digunakan baik di dalam
program maupun didalam function.
Untuk program tugas_satu, menginput deret bilangan bulat dengan batas
yang tentukan oleh user tetapi tidak boleh lebih dari 9999 dan menggunakan
parameter keluaran yaitu rata-rata jumlah bilangan bilangan yang ditampilkan.
Procedure rata2 digunakan untuk menghitung rata-rata tersebut, didalam
procedure rata2 terdapat logika if n<=9999 then yang arti nya adalah jika n lebih
kecil atau sama dengan 9999 maka program akan memproses perulangan deret

35

bilangan dari i ke n kemudian menghitung jumlah deret tersebut dan merataratakan jumlah deret dan terakhir menampilkan hasil rata-ratanya, jika n yang
dimasukan lebih besar dari 9999 maka akan muncul pesan error yaitu anda salah
input! setelah itu program akan berakhir. Parameter masukan yang digunakan
adalah parameter universal yaitu n.
Untuk program tugas_dua, menginput deret bilangan bulat dengan batas
yang tentukan oleh user tetapi tidak boleh lebih dari 9999 dan menggunakan
parameter keluaran yaitu rata-rata jumlah bilangan bilangan yang ditampilkan.
Function rata2 dengan tipe data real digunakan untuk menghitung rata-rata
tersebut, didalam Function rata2 terdapat logika if n<=9999 then yang arti nya
adalah jika N lebih kecil atau sama dengan 9999 maka program akan memproses
perulangan deret bilangan dari I ke N kemudian menghitung jumlah deret tersebut
dan merata-ratakan jumlah deret dan terakhir menampilkan hasil rata-ratanya, jika
N yang dimasukan lebih besar dari 9999 maka akan muncul pesan error yaitu
anda salah input! setelah itu program akan berakhir. Parameter masukan yang
digunakan adalah parameter universal yaitu N (digunakan untuk meinput banyak
nya bilangan pada deret).

BAB V
DAFTAR PUSTAKA

Jurusan Teknik Informatika (2014). Modul Praktikum Algoritma Dan


Pemrograman I. Palangka Raya: Universitas Palangka Raya.
(5 Desember 2014, jam 15:30).

Munir, Rinaldi (2007). Algoritma & Pemrograman Dalam Bahasa Pascal


dan C. Bandung: Penerbit Informatika. (5 Desember 2014, jam 16:00).

http://www.slideshare.net/mobile/zomb/algoritma-prosedur-dan-fungsi
(5 Desember 2014, jam 16:30).
http://sahrulwijaya.blogspot.com/2009/11/stack-tumpukan.html?m=1
(5 Desember 2014, jam 16:45).
http://id.m.wikibooks.org/wiki/Pemrograman_C/Prosedur_dan_Fungsi
(5 Desember 2014, jam 16:50).

36

http://there10han.wordpress.com/programming/pascal/prosedur-dan-fungsi/
(5 Desember 2014, jam 17:00).

http://ucakgratis.wordpress.com/tag/fungsi-tanpa-parameter/
(5 Desember 2014, jam 17:20).

BAB VI
LAMPIRAN
1

Program dengan menggunakan prosedur untuk menghitung luas persegi


panjang tanpa paramenter masukan.
(INPUT)
Gambar 6.1 Program menghitung luas persegi panjang

37

(OUTPUT)
Gambar 6.2 Program menghitung luas persegi panjang

2. Modifikasi program dengan menggunakan paramenter masukan.


(INPUT)
Gambar 6.3 Program menghitung luas persegi panjang

(OUTPUT)
Gambar 6.4 Program menghitung luas persegi panjang

38

3. Modifikasi program dengan menggunakan paramenter keluaran.


(INPUT)
Gambar 6.5 Program menghitung luas persegi panjang

Gambar 6.6 Program menghitung luas persegi panjang

39

(OUTPUT)
Gambar 6.7 Program menghitung luas persegi panjang

4. Modifikaai program prosedur 3 dengan menggunakan fungsi.


(INPUT)
Gambar 6.8 Program menghitung luas persegi panjang

40

(OUTPUT)
Gambar 6.9 Program menghitung luas persegi panjang

Tugas
1. Menginput deret bilangan bulat dengan batas yang di tentukan oleh user
tetapi tidak boleh lebih dari 9999 dan menggunakan parameter keluaran
yaitu rata-rata jumlah bilangan yang ditampilkan.
41

(INPUT)
Gambar 6.10 Program menggunakan procedure

Gambar 6.11 Program lanjutan menggunakan procedure

(OUTPUT)
Gambar 6.12 Program menggunakan procedure

2. Modifikasi tugas 1 dengan menggunakan fungsi !


(INPUT)
Gambar 6.13 Program menggunakan function

42

Gambar 6.14 Program lanjutan menggunakan function

(OUTPUT)
Gambar 6.15 Program menggunakan function

43

Anda mungkin juga menyukai