You are on page 1of 32

Procedure & Fungsi

Pendahuluan prosedur (1)


• Istilah prosedur sering dipergunakan dalam
kehidupan sehari hari
• Misal prosedur melamar pekerjaan, daftar
ulang mahasiswa, prosedur membayar
pajak , prosedur transfer di bank dan lain
sebagainya.
• Sebagai contoh kita ambil prosedur untuk
transfer antar rekening melalui ATM yang
kita beri nama prosedur “transfer atm”
Pendahuluan prosedur (2)
• Prosedur “transfer atm”
– Masukkan kartu atm ke mesin atm
– Masukkan pin login
– Pilih menu transfer
– Masukkan jumlah yang hendak ditransferkan
– Masukan nomer rekening tujuan
– Tekan persetujuan untuk transfer
– Selesai
Pendahuluan prosedur (3)
• Ketika seseorang mengeksekusi prosedur
tersebut, maka setiap langkah instruksi
didalamnya akan di eksekusi satu per satu.
• Efek netto dari prosedur tersebut bisa di
amati dengan membandingkan keadaan
awal (t0) dan akhir (t1).
• Keadaan To adalah dana belum ditransfer
dan T1 dana sudah tertransfer
Pendahuluan prosedur (4)
• Selanjutnya apabila orang lain ingin melakukan proses
transfer melalui atm, dilakukan dengan mengeksekusi
prosedur “transfer atm” di atas.
• Hasil akhirnya adalah efek netto diperoleh yaitu dana
tertransfer.
• Konsep penggunaan prosedur di atas juga diterapkan
pada dunia program.
• Prinsipnya adalah memberi nama suatu instruksi
instruksi dan kita dapat menggunakannya secara
berulang ulang tanpa perlu mendefinisikan ulang.
Prosedur didalam program
• Prosedur di dalam program di definisikan
sebagai instruksi algoritmik yang di beri
nama, dan akan menghasilkan efek neto
yang terdefinisi.
• Oleh karena itu di dalam prosedur perlu
juga di definisikan t0 dan t1 dari prosedur
tersebut.
Pendefinisian prosedur
• Artinya adalah menentukan nama prosedur,
mendeklarasaikan nama-nama konstanta, peubah
(variabel), tipe dan rangkaian aksi yang akan dilakukan.
• Struktur prosedur pada prinsipnya sama dengan struktur
algoritma , yaitu terdiri dari:
– Header atau judul , terdiri atas nama prosedur dan
deklarasi parameter (jika ada)
– Deklarasi yang berisi nama-nama yang digunakan
– Bagian algoritma yang disebut badan prosedur
Penamaan prosedur
• Nama prosedur harus unik
• Kemudian nama ada baiknya mewakili fungsi atau
kinerja nya seperti: HitungLuas, Tukar, CariMaks
dan lain sebagainya
• Prosedur ada yang menggunakan parameter, ada yang
tidak menggunakan parameter.
• Pengertian dan penggunaan dari parameter akan
dibahas pada bagian selanjutnya
• Untuk saat ini kita akan membahas prosedur tanpa
parameter
Contoh Notasi Algoritma prosedur
tanpa parameter
Procedure NamaProsedur ()
{spesifikasi dari prosedur , t0, t1
t0:keadaan sebelum prosedur dieksekusi
T1:keadaan setelah prosedur di eksekusi}
DEKLARASI
{semua nama yang hanya bisa digunakan
didalam prosedur}
ALGORITMA
{badan prosedur, berisi instruksi}
Penerapan prosedur
• Contoh: Buatlah prosedur untuk menghitung luas
lingkaran
procedure HitungLuasLingkaran
{Menghitung luas lingkaran, L: 3.14 * jari * jari
t0:bebas
T1:Luas lingkaran tercetak}
DEKLARASI
luas: real
jari : int
ALGORITMA
read(jari)
luas  3.14 * jari * jari
write (luas)
Dalam bahasa C
void HitungLuasLingkaran()
{
//deklarasi
float luas;
int jari;
//algoritma
printf("\nMasukkan jari jari : ");
scanf("%d",&jari);
luas=3.14 * jari * jari;
printf("\nluas lingkaran dengan jari
jari %d adalah %.2f",jari,luas);

}
Pemanggilan prosedur didalam
program
• Prosedur adalah sebuah program yang tidak bisa
berdiri sendiri
• Artinya untuk mengeksekusinya, prosedur perlu
dipanggil didalam sebuah program utama (main
program).
• Sebelum dilakukan, nama prosedur perlu
dideklarasikan terlebih dahulu di bagian deklarasi
• Untuk prosedur tanpa parameter cara
pemanggilannya adalah dengan memanggil namanya
saja:
– Notasi algoritma : HitungLuasLingkaran
– Bahasa C : HitungLuasLingkaran()
Pemanggilan prosedur
• Saat kita memanggil prosedur, maka alur
program akan berpindah sepenuhnya kedalam
prosedur yang dipanggil
• Setelah seluruh instruksi di prosedur di
eksekusi, maka alur program akan kembali ke
main .
• Dibawah ini akan diberikan contoh pemanggilan
prosedur di main program, baik dalam notasi
algoritma maupun bahasa C
Notasi Algoritma
PROGRAM Lingkaran
{Menghitung luas Lingkaran}
DEKLARASI
procedure HitungLuasLingkaran
ALGORITMA
HitungLuasLingkaran
Dalam bahasa C
#include <stdio.h>
#include <conio.h>
void HitungLuasLingkaran();
main()
{
HitungLuasLingkaran();
getche();
}
Nama Global, lokal, dan lingkup
• Nama nama ( konstanta, peubah / variabel, tipe dll)
yang dideklarasikan di dalam prosedur (termasuk
parameter jika ada), bersifat lokal
• Lokal artinya hanya dikenal didalam tubuh prosedur
yang bersangkutan. Di luar badan prosedur, variabel
lokal tidak akan di kenali
• Sebaliknya variabel yang di definiskan diluar prosedur
atau dalam main program disebut global variabel
• Untuk memahaminya coba perhatikan code dalam
bahasa C dibawah ini
#include <stdio.h>
#include <conio.h>
void HitungLuasLingkaran();
int jari;

main()
{ HitungLuasLingkaran(); Perhatikan bahwa
getche(); terdapat dua variabel
} peubah dengan nama
yang sama. Dalam hal
ini program tidak error
void HitungLuasLingkaran()
karena variabel luas
{ didalam prosedur
//deklarasi bersifat lokal
float luas;
int jari;
//algoritma
printf("\nMasukkan jari jari : ");
scanf("%d",&jari);
luas=3.14 * jari * jari;
printf("\nluas lingkaran dengan jari jari %d adalah
%.2f",jari,luas);
}
PROSEDUR dengan
PARAMETER
• Parameter adalah nama-nama yang di deklarasikan pada bagian
header / judul dari prosedur
• Dengan menambahkan parameter, kita bisa menyertakan sebuah
harga atau value yang akan digunakan didalam prosedur.
• Contoh prosedur berparameter
HitungLuasLingkaran(jari : integer)
• Untuk memahami lebih jauh mengenai konsep parameter, kita ambil
contoh kasus transfer dana melalui ATM dengan nama “transfer
atm”.
• Kita tambahkan parameternya menjadi
“transfer atm(pin,norekening)”
• transfer atm(pin,norekening)
• Misal kita deklarasikan :
“transferatm(4567,000000001)”
Maka intruksi menjadi:
– Masukkan kartu atm ke mesin atm
– Masukkan pin login:4567
– Pilih menu transfer
– Masukkan jumlah yang hendak ditransferkan
– Masukan nomer rekening tujuan : 0000000001
– Tekan persetujuan untuk transfer
– Selesai
Contoh penerapan parameter
procedure HitungLuasLingkaran2(input jari: int)
{Menghitung luas lingkaran, L: 3.14 * jari * jari
t0:bebas

T1:Luas lingkaran tercetak }


DEKLARASI
luas: real
ALGORITMA
luas  3.14 * jari * jari
write (luas)
Dalam Bahasa C
void HitungLuasLingkaran2(int jari)
{
//deklarasi
float luas;
//algoritma
luas=3.14 * jari * jari;
printf("\nluas lingkaran dengan jari jari
%d adalah %.2f",jari,luas);
}
Pemanggilan di main

PROGRAM Lingkaran ()
{Menghitung luas Lingkaran}
DEKLARASI
procedure HitungLuasLingkaran (input jari :integer)
jari : integer

ALGORITMA
read(jari)
HitungLuasLingkaran(jari)
#include <stdio.h>
#include <conio.h>
void HitungLuasLingkaran2(int jari);
int jari;

main()
{ printf("\nMasukkan jari jari : ");
scanf("%d",&jari);
HitungLuasLingkaran2(jari);
getche();
}

void HitungLuasLingkaran2(int jari)


{//deklarasi
float luas;
//algoritma
luas=3.14 * jari * jari;
printf("\nluas segitiga dengan jari jari %d adalah %.2f",jari,luas);
}
Parameter masukan dan keluaran
• Parameter yang kita pelajari selama ini adalah
parameter masukan, yaitu parameter yang nilai nya
berlaku sebagai masukan bagi prosedur
• Dalam notasi algoritma , parameter masukan dinyatakan
dengan keyword input
– Notasi algoritma:
procedure HitungLuasLingkaran2(input
jari: int)
– Bahasa C
void HitungLuasLingkaran2(int jari);
Parameter keluaran
• Prosedur memungkinkan untuk menghasilkan satu
atau lebih hasil nilai keluaran yang nantinya hasilnya
akan di gunakan oleh program yang memanggil
prosedur tersebut, seperti value dari luas lingkaran
• Kita bisa menampung hasil dari perhitungan atau hasil
dari prosedur seperti luas lingkarang ke dalam sebuah
parameter
• Parameter tersebut disebut dengan parameter
keluaran
• Di dalam notasi algoritma cukup dengan
menambahkan keyword “output”, sedangkan dibahasa
C dengan menambahkan tanda * didepan variabel
sebagai penanda bahwa parameter tersebut adalah
keluaran dan tanda & pada saat pemanggilan
prosedur di main program
Penerapan parameter keluaran

procedure HitungLuasLingkaran(input jari:


int , output luas: real)
DEKLARASI
ALGORITMA
luas  3.14 * jari * jari
write (luas)
void HitungLuasLingkaran3(int jari, float
*luas)
{ //deklarasi

//algoritma
*luas=3.14 * jari * jari;
printf("\nluas lingkaran dengan jari jari %d
adalah %.2f",jari,&luas);
}
Pemanggilan di main
PROGRAM Lingkaran ()
{Menghitung luas Lingkaran}
DEKLARASI
procedure HitungLuasLingkaran (input jari :integer , output luas
: real)
jari : integer
luas : real

ALGORITMA
read(jari,luas)
HitungLuasLingkaran(jari,luas)
void HitungLuasLingkaran3(int jari, float *luas);
int jari;
float luas2;

main()
{ printf("\nMasukkan jari jari : ");
scanf("%d",&jari);
HitungLuasLingkaran3(jari,&luas2);
getche();
}

void HitungLuasLingkaran3(int jari, float *luas)


{ //deklarasi

//algoritma
*luas=3.14 * jari * jari;
printf("\nluas lingkaran dengan jari jari %d adalah %.2f",jari,*luas);
}
Parameter masukan/keluaran
• Parameter ini dapat berperan sebagai
masukan nilai pada prosedur ataupun
sebagai variabel penampung nilai dari
proses yang dieksekusi di dalam prosedur
• Didalam notasi algoritma digunakan
keyword input/output
Penerapan dalam notasi algoritma
procedure Increment(input/output
nilai)
DEKLARASI
ALGORITMA
nilai  nilai + 1
write (nilai)
void increment( int * nilai)
{ //deklarasi

//algoritma
*nilai=*nilai + 1;
printf("\nhasil increment adalah %d",*nilai);

You might also like