Anda di halaman 1dari 20

PROSEDUR

DAN FUNGSI
KELOMPOK 6
1. Adelina Natalia Lubis (4182111001)
2. Agnes Lucyana Purba (4183111070)
3. Hendrawan Purba (4183111073)
4. Nadya Isti Amima Siagian (4182111011)

Kelas : Matematika Dik C 2018


Mata Kuliah : Struktur Data dan Algoritma
Dosen Pengampu : Susiana, S.Si., M.Si.
BENTUK UMUM PROSEDUR
Bentuk Umum Prosedur
Prosedur adalah bagian dar suatu program
yang disusun secara terpisah untuk melakukan
suatu tugas khusus / fungsi tertentu. Pada
dasarnya ada dua macam bentuk prosedur yatu
Subrutin (subprogram) dan Fungsi.
Subrutin adalah bagian dari program yang
dibuat terpisah untuk melaksanakan sebagian
dari tugas yang harus diselesaikan oleh suatu
program. Pada umumnya yang dikenal dengan
nama “prosedur” sebenarnya adalah
“subprogram”.
Fungsi adalah bagian dari program yang
dibuat terpisah untuk melaksanakan fungs
tertentu yang menghasilkan suatu nlai untuk
Manfaat Pembuatan Prosedur

Modularisasi
• Simpifikasi
Prosedur yang baik memiliki ciri-ciri
sebagai
 Hanya memiliki satuberikut
fungsi :tujuan (logical
inherent). Sebuah prosedur sebaiknya hanya
memiliki satu fungsi tujuan dan tidak
bercampur dengan tujuan lain. Hal ini untuk
membuat prosedur lebih fokus.
 Berukuran kecil (small size). Yang dimaksud
ukuran disini adalah panjang algoritma atau
panjang kode program pada suatu prosedur.
Ukuran kecil akan mudah dibaca maupun
diperbaiki.
 Tidak tergantung pada prosedur lain
(independent). Sebuah prosedur harusnya
bersifat mandiri, artinya sebuah prosedur
dapat berjalan dan diuji tanpa menunggu
bagian lainnya selesai. Selain itu variable
yang digunakan dalam prosedur tidak
mempengaruhi variabel yang digunakan
pada bagian lain di keseluruhan program.
Prosedur dalam penulisannya memiliki
struktur, di antaranya :
 judul (berisi nama prosedur dan deklarasi
parameter jika ada)
 deklarasi 
 deskripsi (badan prosedur)
Untuk dapat menggunakan prosedur tersebut
perlu adanya pemanggilan prosedur sama
seperti pemanggilan fungsi. Untuk lebih jelasnya
kita lihat potongan program berikut :
 algoritma hitung_luas_persegi_panjang
 deklarasi 
var luas,panjang,lebar : integer;
 deskripsi
read(panjang);
read(lebar);
luas <-- panjang * lebar;
write(luas);
VARIABEL LOKAL DAN VARIABEL
Variabel Lokal GLOBAL
Variabel lokal adalah variabel yang hanya
dikenali oleh sebuah fungsi / prosedur saja
(hanya dikenali pada fungsi / prosedur tempat
variabel tersebut dideklarasikan). Hal tersebut
karena proses deklarasi variabel lokal dilakukan
di dalam lingkup fungsi yang dimaksud.

Variabel Global
Variabel global adalah variabel yang dapat
digunakan atau dipanggil atau dikenali oleh
semua fungsi / prosedur / dikenali diseluruh
program. Variabel global ini dapat digunakan
pada beberapa fungsi / prosedur, Hal ini
betujuan untuk menghemat penulisan, karena
tidak perlu lagi berkali - kali menuliskan variabel
Perbedaan Utama Variabel Global
dan Variabel Lokal

1. Variabel Global dideklarasian diluar


fungsi main atau diluar sebuah fungsi
atau prosedur lain.
2. Variabel Lokal dideklarasian didalam
sebuah fungsi atau didalam sebuah
prosedur.
3. Variabel Global dapat digunakan atau
dipanggil atau dikenali oleh semua fungsi
/ prosedur / dikenali diseluruh program.
4. Variabel Lokal hanya dikenali oleh suatu
fungsi / prosedur saja (hanya dikenali
pada fungsi / prosedur tempat variabel
tersebut dideklarasikan)
PARAMETER
Parameter adalah data masukan untuk
subprogram yang nantinya akan diproses lebih
lanjut dalam subprogram tersebut. Parameter
sebuah fungsi adalah variabel yang menyertai
fungsi tersebut baik saat deklarasi maupun saat
pemanggilan fungsi.

JENIS PARAMETER
Dalam bahasa C dikenal dua jenis parameter,
yaitu parameter formal dan aktual. Parameter
formal adalah parameter yang berupa variabel
yang ada dalam definisi fungsi saat
dideklarasikan. Sedangkan parameter aktual
adalah parameter yang bisa berupa variabel
atau konstanta yang dipakai saat pemanggilan
Parameter Formal
Parameter formal sebuah fungsi harus
berupa variabel karena dia bersifat kerangka
yang nanti nilainya bisa berubah selama proses
program. Parameter formal bisa berupa satu
atau beberapa variabel yang ditulis setelah
nama fungsi, ditaruh didalam kurung dengan
masing-masing variabel dipisahkan tanda koma.

Ada tiga jenis parameter formal dalam


prosedur:
 Parameter masukan, yaitu parameter yang
nilainya berlaku sebagai masukan untuk
prosedur.
 Parameter keluaran, yaitu parameter yang
menampung keluararn yang dihasilkan oleh
Parameter Aktual
Parameter aktual merupakan parameter
yang dipakai ketika sebuah fungsi dipanggil
didalam program. Parameter aktual dapat
berupa variabel atau konstanta. Penulisan dan
tipe data parameter aktual sebuah fungsi
harus mengikuti aturan yang telah ditetapkan
oleh parameter formal. Selain itu, parameter
aktual juga bisa merupakan hasil dari sebuah
operasi bilangan.
FUNCTION (FUNGSI)
Fungsi/function adalah suatu kumpulan
instruksi/perintah/program yang
dikelompokkan menjadi satu, letaknya
terpisah dari program yang menggunakan
fungsi tersebut, memiliki nama tertentu
yang unik, dan digunakan untuk
mengerjakan suatu tujuan tertentu.
Dalam bahasa pemrograman lain fungsi
dapat disebut sebagai subrutin (basic, VB)
atau procedure (pascal, Delphi).
Struktur Fungsi
 Function NAMA_FUNGSI (daftar
parameter formal)  tipe hasil
{Spesifikasi fungsi, berisi penjelasan tentang
apa yang dilakukan
dan yang dikembalikan oleh fungsi ini}

 DEKLARASI

{semua nama yang digunakan dalam fungsi


dan hanya berlaku
lokal di dalam fungsi didefinisikan di sini}

 DESKRIPSI

{badan fungsi, berisi kumpulan instruksi}


Jenis Fungsi
1. Standard Library Function
Yaitu fungsi-fungsi yang telah
disediakan oleh C dalam file-file
header atau librarynya.
Misalnya: clrscr(), getch()
Untuk function ini kita harus
mendeklarasikan terlebih dahulu
library yang akan digunakan,
yaitu dengan menggunakan
preprosesor direktif.
Misalnya: #include <conio.h>
2. Programmer-Defined
Function

Adalah function yang dibuat oleh


programmer sendiri.
Function ini memiliki nama
tertentu yang unik dalam
program, letaknya terpisah dari
program utama, dan bisa
dijadikan satu ke dalam suatu
library buatan programmer itu
sendiri yang kemudian juga di-
includekan jika ingin
menggunakannya.
CONTOH
Buatlah sebuah program dengan sebuah fungsi
yang dapat mengkonversikan angka bulan
menjadi nama bulan. Misalnya 1 = januari, 4 =
maret
#include <iostream>
using namespace std;
deklarasi
string KonversiNamaBulan(int bulan);
 
deskripsi
int main () {
int bln;
cout << "Masukkan angka bulan yang
akan dikonversi :";
cin >> bln;
cout << "Bulan ke-" << bln << " adalah ";
cout << KonversiNamaBulan(bln);
return 0;
PROSEDUR / FUNGSI REKURSIF
Prosedur atau fungsi rekursif adalah
prosedur atau fungsi yang berulang kali
memanggil dirinya sendiri hingga tercapai
suatu kondisi yang membuatnya berhenti.
Suatu prosedur atau fungsi boleh saja ditulis
normal tanpa rekursi namun apabila komputasi
yang dilaksanakannya merupakan suatu proses
yang berulang maka ada baiknya ditulis secara
rekursif agar lebih kelihatan lebih sederhana.
Pada hakikatnya prosedur rekursif dieksekusi
lebih lama dibanding perulangan biasa, karena
secara internal prosedur rekursif stack memory
yang biasanya terbatas.
CONTOH
Ketika menghitung faktorial, katakanlah 6!,
maka secara normal bisa ditulis sebagai :
fact = 6 * 5 * 4 * 3 * 2 * 1 = 720 ;
bentuk rekursif dari komputasi faktorial ini juga
dapat ditulis sebagai berikut :
6! = 6 * 5!
= 6 * 5 * 4!
= 6 * 5 * 4 * 3!
= 6 * 5 * 4 * 3 * 2!
= 6 * 5 * 4 * 3 * 2 * 1!
= 6 * 5 * 4 * 3 * 2 * 1 * 0!
Dimana 0! = 1. Terlihat pada bentuk diatas
adanya proses perhitungan yang rekursif, karena
secara berulang memanggil fungsi faktorial dengan
dimensi yang berkurang. Bentuk formula rekursif ini
dapat didefenisikan sebagai berikut :
n! = 1 bila n = 0
= n * (n-1)! Bila n > 0

Bentuk fungsi rekursifnya adalah sebagai berikut :


Fungsi factorial (N) int
if (N = 0)
then return 1
else return (N* factorial (N-1)) ;
Perhatikan bagaimana fungsi rekursif disusun
seirama dengan formula rekursifnya.
Apa yang terjadi ketika fungsi ini dipanggil,
misalnya : factorial(6)
awalnya N = 6, karena N > 0, maka akan
dikembalikan 6* factorial(5)
berikutnya N = 5, mengembalikan 5 * factorial (4)
berikutnya N = 4, mengembalikan 4 * factorial (3)
berikutnya N = 3, mengembalikan 3 * factorial (2)
berikutnya N = 2, mengembalikan 2 * factorial (1)
berikutnya N = 1, mengembalikan 1 * factorial (0)

selanjutnya N = 0, maka diperoleh factorial(0)=1


lalu hasil ini disubstitusi ke atas sehingga :
factorial(1)= 1* factorial(0) = 1*1 = 1
factorial(2)= 2* factorial(1) = 2*1 = 2
factorial(3)= 3* factorial(2) = 3*2 = 6
factorial(4)= 4* factorial(3) = 4*6 = 24
factorial(5)= 5* factorial(4) = 5*24 = 120
dan terakhir factorial(6)= 6* factorial(5) = 6*120 =
720
r i m a K a s ih
d a n T e
Sekian

r m a nf a a t
o ga Be
Sem

Anda mungkin juga menyukai