0% menganggap dokumen ini bermanfaat (0 suara)
34 tayangan18 halaman

Procedure Dan Function

Prosedur dan fungsi merupakan modul program yang mengerjakan tugas khusus dan menghasilkan efek tertentu. Prosedur dapat memiliki parameter masukan, keluaran, atau keduanya. Struktur prosedur meliputi deklarasi parameter, spesifikasi tugas, dan badan prosedur yang berisi instruksi. Contoh kode mendemonstrasikan penggunaan prosedur dalam menghitung luas segitiga, menukar nilai variabel, dan mencari nilai maksimum.

Diunggah oleh

Hilmy Alfarizi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
34 tayangan18 halaman

Procedure Dan Function

Prosedur dan fungsi merupakan modul program yang mengerjakan tugas khusus dan menghasilkan efek tertentu. Prosedur dapat memiliki parameter masukan, keluaran, atau keduanya. Struktur prosedur meliputi deklarasi parameter, spesifikasi tugas, dan badan prosedur yang berisi instruksi. Contoh kode mendemonstrasikan penggunaan prosedur dalam menghitung luas segitiga, menukar nilai variabel, dan mencari nilai maksimum.

Diunggah oleh

Hilmy Alfarizi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 18

PROCEDURE DAN FUNCTION

6.2 PROCEDURE (PROSEDUR)

PROCEDURE ADALAH MODUL PROGRAM YANG


MENGERJAKAN TUGAS/AKTIVITAS YANG SPESIFIK DAN
MENGHASILKAN SUATU EFEK NETTO. PADA BEBERAPA
BAHASA PEMROGRAMAN, PROCEDURE DIKENAL DENGAN
NAMA SUBROUTINE. ATAU LEBIH JELASNYA, PROCEDURE
MERUPAKAN SEKUMPULAN INSTRUKSI YANG DIBUNGKUS
YANG AKAN DIPAKAI / DIPANGGIL DALAM PROGRAM UTAMA.
INI BERARTI, INSTRUKSI-INSTRUKSI DIDALAM PROCEDURE
BARU DAPAT DILAKSANAKAN HANYA BILA PROCEDURE
TERSEBUT DIAKSES.
 
STRUKTUR PROCEDURE :

Notasi Algoritmik :

Procedure NamaProcedure(deklarasi parameter,jika ada)


{Spesifikasi procedure, berisi penjelasan tentang apa yang
dilakukan oleh prosedur ini,
keadaan sebelum prosedur dijalankan dan setelah prosedur
dijalankan}
Deklarasi :
{Semua nama yang dipakai dalam prosedur didefinisikan disini dan
hanya
berlaku lokal di dalam prosedur}
Algoritma :
{Badan prosedur, berisi kumpulan instruksi}
STRUKTUR PROCEDURE :

Notasi Pascal :

Procedure NamaProcedure(deklarasi parameter,jika ada)


{Spesifikasi procedure, berisi penjelasan tentang apa yang dilakukan oleh
prosedur ini,
keadaan sebelum prosedur dijalankan dan setelah prosedur dijalankan}
Deklarasi :
{Semua nama yang dipakai dalam prosedur didefinisikan disini dan hanya
berlaku lokal di dalam prosedur}
Algoritma :
{Badan prosedur, berisi kumpulan instruksi}
STRUKTUR PROCEDURE :

 Keterangan :
 Dalam bahasa Pascal, pendefinisian prosedur ditulis bersatu di
dalam program utama, kecuali jika direalisasikan sebagai unit.
Prosedur diletakkan dibawah kata var.
 Bahasa Pascal memungkinkan prosedur mempunyai parameter
masukan, parameter keluaran, dan parameter masukan/keluaran.
Parameter formal yang bertipe keluaran atau masukan/keluaran
harus diawali dengan kata kunci var, sedangkan untuk parameter
formal yang bertipe masukan tidak diawali dengan kata kunci var.
 Argumen parameter aktual dilewatkan ke parameter formal
bertipe masukan sebagai “by value”, sedangkan bila parameter
formalnya bertipe keluaran atau masukan/keluaran, maka
argumen parameter aktual dilewatkan sebagai “By reference”
  
STRUKTUR PROCEDURE :
Notasi C :

void NamaProcedure(deklarasi parameter,jika ada)


/* Spesifikasi procedure, berisi penjelasan tentang apa yang
dilakukan oleh prosedur ini,
keadaan sebelum prosedur dijalankan dan setelah prosedur
dijalankan} */
{
/* Deklarasi */
/* Semua nama yang dipakai dalam prosedur didefinisikan disini
dan hanya
berlaku lokal di dalam prosedur */
/*Algoritma*/
/*Badan prosedur, berisi kumpulan instruksi*/
}
STRUKTUR PROCEDURE :
 Keterangan :
 Dalam Bahasa C, pendefinisian prosedur ditulis di luar blok program utama
(main), kecuali direalisasikan sebagai file include. Prosedur umumnya
diletakkan sesudah blok main( ) program utama, sedangkan deklarasi
prosedur ditulis sebelum blok main( ) program utama sebagai prototype saja
yaitu berupa header dari prosedur itu sendiri. Tetapi jika pendefinisian
prosedur ditulis sebelum blok main ( ), maka pendeklarasian prototype
prosedur tidak diperlukan lagi
 Dalam bahasa C tidak dikenal istilah prosedur. Semua modul program
adalah fungsi. Prosedur adalah fungsi yang tidak mengembalikan nilai
apapun. Karena itu, return value untuk prosedur adalah void yang artinya
’kosong’.
 Dalam bahasa C, bila prosedur tidak mempunyai parameter, maka tanda
kurung ( ) tetap ditulis setelah nama prosedur tersebut.
 Perbedaan parameter masukan dengan masukan/keluaran atau keluaran:

 Parameter masukan menerima nilai dari variabel pada parameter aktual.


 Parameter keluaran atau masukan/keluaran menerima alamat
memori dari variabel pada parameter aktual. Hal ini dilakukan
dengan menggunakan tanda & pada parameter aktual dan
menggunakan tanda * pada parameter formal(keluaran atau
masukan/keluaran). Dengan begitu, parameter keluaran atau
masukan/keluaran langsung mengakses alamat memori dari
variabel pada parameter aktual.
 & digunakan untuk mengakses alamat memori dari variabel.

 * digunakan untuk menyatakan bahwa parameter tersebut adalah


pointer.
 Pointer digunakan untuk mengakses alamat memori dari variabel
lain.
  

 Untuk lebih jelasnya lihatlah contoh program dibawah ini :


LIHATLAH CONTOH PROGRAM
DIBAWAH INI :
#include <stdio.h>
#include <conio.h>
void main ()
{
int i = 5;
int *p = &i;
printf("i %d\n", i); /* nilai i=5 */
printf("&i %x\n", &i); /* alamat dari i=fff4 */
printf("p %x\n", p); /* alamat dari i=fff4 */
printf("&p %x\n", &p); /* alamat dari p=fff2 */
printf("*p %d\n", *p); /* isi dari alamat i=5 */
getch();
}
 Cara memanggil procedure:
NamaProcedure → jika proceduretidak mempunyai
parameter
 NamaProcedure ( ) → untuk di C

 NamaProcedure(parameter actual) → jika procedure


mengandung parameter
CONTOH PROCEDURE :
ALGORITMIK:

Procedure Luas_Segitiga
{Procedure tanpa parameter)
Deklarasi : {Variabel Lokal}
alas,tinggi,luas: real
Algoritma :
write('Masukan alas segitiga: ')
read(alas)
write('Masukan tinggi segitiga: ')
read(tinggi)
luas (alas*tinggi)/2
write('luas segitiga: ',luas)
Procedure Tukar1 ( input A,B :integer)
{Procedure dengan 2 parameter input)
Deklarasi :
Temp:integer
Algoritma :
Temp  A
AB
B  Temp

Procedure Maksimum ( input A,B:integer; output Maks:integer)


{Procedure dengan 2 parameter input dan 1 parameter output)
 
Algoritma :
if A>B then
maks  A
else
maks  B
endif

Procedure Tukar2 ( input /output A,B :integer)


{Procedure dengan 2 parameter input/output)
 
Deklarasi : Temp:integer
 
Algoritma :
Temp  A
A B
B  Temp
Program Contoh_Prosedur
Deklarasi :
x,y,maksi:integer
Procedure Luas_Segitiga
Procedure Tukar1 ( input A,B :integer)
Procedure Maksimum ( input A,B:integer; output Maks:integer)
Procedure Tukar2 ( input /output A,B :integer)
Algoritma :
{Program Utama}
Luas_Segitiga
write('Masukan Angka ke-1: ')
read(X)
write('Masukan Angka ke-2: ')
read(Y)
Maksimum(X,Y,maksi)
write('Angka ke-1: ',x,' ','Angka ke-2: ',Y,' ','Nilai Maksimum: ',maksi)
Tukar1(X,Y)
Write('Angka ke-1 sekarang nilainya: ',X)
Write('Angka ke-2 sekarang nilainya: ',Y)
Tukar2(X,Y)
Write('Angka ke-1 sekarang nilainya: ',X)
Write('Angka ke-2 sekarang nilainya: ',Y)
CONTOH PASCAL :

Program Contoh_prosedur;
var
X,Y,maksi:integer;
 
procedure luas_segitiga;
var
alas,tinggi,luas:real;
begin
write('masukan alas segitiga: ');
readln(alas);
write('masukan tinggi segitiga: ');
readln(tinggi);
luas:=(alas*tinggi)/2;
write('Luas segitiga:',luas);
end;
 
procedure maksimum(a,b:integer;var maks:integer);
begin
if a>b then
maks:=a
else
maks:=b
end;
procedure tukar2 (var a,b:integer);
var
temp:integer;
begin
temp:=a;
a:=b;
b:=temp;
end;
 
{Program Utama}
begin
luas_segitiga;
write ('Masukan angka ke-1:');
readln(X);
write ('Masukan angka ke-2:');
readln(Y);
maksimum(X,Y,maksi);
writeln('Angka ke-1:',x,' ','Angka ke-2:',Y,' ','Nilai
maksimum: ',maksi);
tukar1(x,y);
writeln('Angka ke-1 sekarang nilainya:',X);
writeln('Angka ke-2 sekarang nilainya:',Y);
tukar2(x,y);
writeln('Angka ke-1 sekarang nilainya:',X);
writeln('Angka ke-2 sekarang nilainya:',Y);
end.
CONTOH C:
/* Program Contoh Prosedur*/
 
#include <stdio.h>
 
void luas_segitiga();
void tukar1 (int a,int b);
void maksimum(int a,int b, int *maks);
void tukar2 (int *a, int *b);
 
void main()
{ int X,Y,maksi;
 
luas_segitiga();
printf ("Masukan angka ke-1:");
scanf("%d",&X);
printf ("Masukan angka ke-2:");
scanf("%d",&Y);
maksimum(X,Y,&maksi);
printf("Angka ke-1: %d \n",X," ","Angka ke-2: %d \n",Y," ","Nilai maksimum: %d \n",maksi);
tukar1(X,Y);
printf("Angka ke-1 sekarang nilainya: %d \n",X);
printf("Angka ke-2 sekarang nilainya: %d \n",Y);
tukar2(&X,&Y);
printf("Angka ke-1 sekarang nilainya: %d \n",X);
printf("Angka ke-2 sekarang nilainya: %d \n",Y);
}
 
void luas_segitiga()
{ float alas,tinggi,luas;
 
printf("masukan alas segitiga: ");
scanf("%f",&alas);
printf("masukan tinggi segitiga:");
scanf("%f",&tinggi);
luas=(alas*tinggi)/2;
printf("Luas segitiga: %f",luas);
}
void tukar1 (int a,int b)
{
int temp;
 
temp=a;
a=b;
b=temp;
}
 
void maksimum(int a,int b, int *maks)
{
if (a>b)
*maks=a;
else
*maks=b;

void tukar2 (int *a,int *b)
{
int temp;
 
temp=*a;
*a=*b;
*b=temp;
}

Anda mungkin juga menyukai