Anda di halaman 1dari 25

Prosedur dan Fungsi

Ledy Elsera Astrianty, S.Kom., M.Kom


Pemrograman Modular

■ Program dengan ukuran kode yang besar relatif sulit untuk


ditangani, dipahami, dan dilacak kesalahannya. Karenanya
program sebaiknya dipecah menjadi beberapa
subprogram yang lebih kecil, setiap sub-program
menangani tugasnya masing-masing. Teknik pemrograman
seperti ini disebut Pemrograman Modular.
■ Terdapat 2 bentuk subprogram yakni prosedur dan
fungsi.
Manfaat Modularisasi

■ Berkaitan dengan aktivitas yang dilakukan lebih dari satu kali


didalam algoritme, modularisasi menghindari penulisan teks
program yang sama berulangkali.
■ Modularisasi program membuat proses pemrograman
fleksibel. Persoalan dipecah menjadi beberapa persoalan yang
lebih kecil yang ditulis kedalam modul yang spesifik dan
dikerjakan oleh programer yang berbeda. (Berbagi tugas)
■ Kemudahan dalam melacak kesalahan dalam program
(debug)
Prosedur
Perhitungan luas bangun datar

17

13 19

27

Bagaimana programnya ?
Solusi 1: tanpa prosedur
Solusi 2: dengan prosedur
Konsep Prosedur

■ Kata “Prosedur” sering kita dengar dalam


kehidupan sehari-hari. Seorang mahasiswa
misalnya, setiap awal semester selalu melakukan
pendaftaran ulang (registrasi). Pihak kampus
telah mengumumkan langkah-langkah
pendaftaran ulang yang dinyatakan sebagai
prosedur daftar ulang.
■ Ketika sebuah prosedur dijalankan, maka
instruksi-instruksi di dalamnya dikerjakan satu
per satu. Pada kasus registrasi mahasiswa,
mahasiswalah yang menjalankan prosedur daftar
ulang.
Konsep dan Definisi Prosedur

■ Pada dasarnya struktur prosedur sama dengan struktur program biasa


yaitu ada bagian judul (header) yang terdiri atas nama prosedur, bagian
deklarasi untuk mendefinisikan nama peubah, nama tipe dan konstanta
dan bagian algoritma yang merupakan badan (body) prosedur.
■ Setiap prosedur mempunyai nama yang unik. Nama prosedur sebaiknya
diawali dengan kata kerja aktif karena prosedur berisi aktivitas
melakukan sesuatu, misalkan HitungLuas, Tukar, CariMaks, Inisialisasi, dll.
Contoh mendefinisikan Prosedur
Pemanggilan Prosedur
Prosedur bukan program yang berdiri sendiri, jadi ia tidak dapat dieksekusi secara
langsung. Ini berarti, instruksi-instruksi di dalam prosedur dapat dilaksanakan hanya
bila prosedur tersebut diakses. Prosedur diakses dengan cara memanggil namanya
dari program pemanggil (misalnya dari program utama atau dari modul program
lainnya).
Nama Lokal
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_x0002_nama yang
dideklarasikan di dalam prosedur tersebut dikatakan lingkupnya “lokal”.
Nama-nama lokal hanya berlaku di dalam prosedur yang melingkupinya
saja.

Nama Lokal:
◼ Nama-nama di bagian deklarasi prosedur.
◼ Bersifat lokal, hanya dapat digunakan di dalam
prosedur yang melingkupinya.
Nama Global
■ Sebaliknya nama-nama yang dideklarasikan di dalam program utama
dikatakan lingkupnya “global”. Nama-nama global dapat digunakan dibagian
manapun di dalam program baik di dalam program utama maupun di dalam
prosedur yang dipanggil.
■ Keputusan apakah suatu peubah akan dideklarasikan secara global atau
lokal berggantung pada penggunaan nama tersebut. Bila suatu peubah
digunakan di seluruh bagian program, maka peubah tersebut harus
dideklarasikan secara global.

Nama Global:
◼ Nama-nama yang dideklarasikan di program utama.
◼ Bersifat global, dapat digunakan di bagian manapun dalam
program, baik di program utama maupun di prosedur.
Nama Lokal dan Nama Global

Menggunakan Nama Lokal atau Nama Global ?


◼ Jika nama (peubah, tipe, atau tetapan) digunakan
di seluruh bagian program, maka harus
dideklarasikan global.
◼ Jika nama tersebut hanya digunakan di dalam
prosedur, maka sebaiknya dideklarasikan lokal.
◼ Usahakan menggunakan nama global sedikit mungkin!
→ menyulitkan dalam pencarian kesalahan (debugging)
Contoh Nama Lokal dan Nama
Global
Contoh Prosedur Tanpa
Parameter
Parameter
◼ Kebanyakan program memerlukan pertukaran
informasi antara prosedur (atau fungsi) dan titik di
mana ia dipanggil.
→ Parameter berfungsi sebagai media komunikasi
antara modul dengan program pemanggil.
◼ Tiap item data ditransferkan antara parameter aktual
dan parameter formal.
 Parameter aktual: parameter yang disertakan pada
waktu pemanggilan.
 Parameter formal: parameter yang dideklarasikan di
bagian header prosedur itu sendiri.
Parameter
■ Tiap-tiap parameter aktual berpasangan dengan parameter formal yang
bersesuaian.

■ Aturan yang harus diperhatikan dalam korespondensi satu-satu antara


parameter actual dan parameter formal adalah:

1. Jumlah parameter aktual pada pemanggilan prosedur harus sama


dengan jumlah parameter formal pada deklarasi prosedurnya.

2. Tiap parameter aktual harus bertipe sama dengan tipe parameter


formal yang bersesuaian.
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.
Contoh Parameter masukan
PROGRAM Segitiga
{Menghitung luas N buah segitiga}

DEKLARASI
I, N: integer
alas, tinggi: real
procedure HitungLuasSegitiga(input alas, tinggi: real)

ALGORITMA
read(N)
for i  1 to N do
read(alas, tinggi)
HitungLuasSegitiga(alas,tinggi)
end for
Contoh Parameter
masukan/keluaran
PROGRAM PertukaranNilai
{Menghitung luas N buah segitiga}
DEKLARASI
m,n: integer
procedure Tukar(input/output A,B: integer)

ALGORITMA
m  8
n  5
write(m,n) {cetak nilai m dan n sebelum pertukaran}
Tukar(m,n)
write(m,n)
Konsep dan Definisi Prosedur

■ Parameter (media komunikasi antara


prosedur dengan program
pemanggilnya) : Formal dan Aktual
■ Posisi/letak prosedur dalam program
■ Pemanggilan prosedur
■ Prosedur tidak mengembalikan nilai
Fungsi
Fungsi merupakan suatu program terpisah dalam blok sendiri
yang berfungsi sebagai subprogram (program bagian). Sama
seperti halnya dengan prosedur, namun tetap ada
perbedaannya yaitu fungsi mempunyai pengembalian nilai /
mengembalikan sebuah nilai (memiliki return value) dari tipe
tertentu (tipe dasar atau tipe bentukan)
Format Penulisan Prosedur &
Fungsi
Perbedaan Prosedur dan
Fungsi
Pada dasarnya tidak ada perbedaan yang begitu signifikan antar
prosedur dan fungsi keduanya merupakan sebuah sub program
yang dapat mengerjakan tugas tertentu, namun jika di cermati
fungsi dideklarasi dengan menggunakan tipe data misalnya int
penjumlahan(), fungsi tersebut wajib harus menghasilkan nilai
balik (return value). Sementara untuk prosedur di deklarasikan
biasanya dengan tipe void tipe void adalah salah satu jenis tipe
data yang tidak berarti apa-apa (Valueless) tipe void biasanya
digunakan untuk prosedur yang pada dasarnya tidak mempunyai
nilai balik. Karena tipe void bersifat valueless.
Thank You
Ledy Elsera Astrianty

Anda mungkin juga menyukai