Contoh Penggunaan Fungsi
standart dalam C
Latihan 1: Function jenis void
#include <stdio.h>
#include <conio.h>
void line();
main()
{
line();
printf(“*** Universitas Negeri MAlang****”);
line();
}
void line()
{
int j;
for (j=1;j<=35;j++)
printf(“*”);
printf(“\n”);
}
RETURN VALUE
----
----
main()
{
char chk;
tangkap()
printf(“ Ketik ‘a’ untuk pilihan pertama, ‘b’ untuk
{
pilihan ke dua: “);
char ch;
chk = tangkap();
ch = getche();
switch(chk)
if (ch>64 && ch<91)
{
ch +=32;
case ‘a’ :
return(ch);
printf(“\n Anda mengetik ‘a’ ”);
}
break;
case ‘b’ :
printf(“\n Anda mengetik ‘b’ “);
break;
default :
printf(“\n Pilihan anda tidak tersedia “);
}
}
Argumen: mengirim data ke fungsi
---
--- void bar(int nilai)
main() {
{ int j;
printf(“Agus \t”); for (j=1;j<nilai; j++)
bar(27); printf(“=“);
printf(“Luki \t”); printf(“\n”);
bar(37); }
printf(“Tata \t”);
bar(45);
printf(“Zaenal \t”);
bar(20);
printf(“Budi \t”);
bar(60);
}
VARIABEL LOKAL
………..
………
void varlok();
void main()
{
int x =22;
double y=2.22;
printf(“ Pada fungsi main nilai x = %i dan y = %f “, x,y);
varlok();
}
void varlok()
{
int x = 40;
double y = 3.14;
printf(“ Pada fungsi varlok nilai x = %i dan y = %f “, x,y);
}
Variabel External (Global)
int bilglobal; void fnegatif()
main() {
{ if (bilglobal < 0)
printf(“ketik sembarang bilangan “); printf(“\n Bilangan Tersebut Negatif “);
scanf(“%d”,&bilglobal); else
fganjil(); printf(“\n Bilangan Tersebut Positif “);
fnegatif();
} }
void fganjil()
{
if (bilglobal % 2)
printf(“\n Bilangan Tersebut Adalah bilangan Ganjil “);
else
printf(“\n Bilangan Tersebut Adalah bilangan GENAP “);
}
REKURSIF
long int pangkat(int x, int y);
void main() long int pangkat(int a, int b)
{ {
int x,y,z; if (b==1)
printf(“menghitung x pangkat y”); return(a);
printf(“\n x = “); else
scanf(“%i”, &x); return(x * pangkat(x, b-1));;
printf(“\ny x = “);
scanf(“%i”, &y); }
z= pangkat(x,y);
printf(“Nilai z = x^y = %i “,z);
}
# include <stdio.h>
int faktorial (int); REKURSIF
void main()
{
int x;
printf ("Mencari Nilai Faktorial dari X\n");
printf ("Masukkan nilai X (bulat positif): ");
scanf ("%i", &x);
printf ("\n");
printf ("Faktorial dari %i = %i\n", x, faktorial(x)); // memanggil fungsi
}
// Fungsi mencari nilai faktorial
int faktorial (int m)
{
if (m==1)
return (1);
else
return (m * faktorial (m-1));
}
#include <stdio.h>
#define N 20
void urut(int);
/* Fungsi untuk Mengurutkan Data
void urut (n)
int i, j, A[N]; int n;
{
void main()
{ int dummy;
int jumlah; for (i=1; i<=n-1; i++)
printf ("\nJumlah Bilangan : "); {
scanf ("%d", &jumlah);
printf ("\n");
for (j=i; j<n; j++)
{
/* Input Data */ if (A[i-1] > A[j])
for (i=0; i<jumlah; i++) {
{
printf ("Bilangan ke %d : ", i+1); dummy = A[i-1];
scanf ("%d", &A[i]); A[i-1] = A[j];
} A[j] = dummy;
/* Memanggil Fungsi untuk Mengurutkan Data */
}
urut (jumlah); }
/* Output Data */ }
printf ("\nData Terurut : "); }
for (i=0; i<jumlah; i++)
{
printf ("\nBilangan ke %d : %d", i+1,
A[i]);
}
}
#include <stdio.h>
FUNGSI
void fungsi_a (void); MEMANGGIL
void fungsi_b (void); FUNGSI
int x = 20;
void fungsi_b (void)
void main()
{
{
x--;
x += 2;
printf ("Nilai x di fungsi_b\n");
fungsi_a();
printf ("x = %d\n", x);
fungsi_b();
}
printf ("x = %i\n", x);
}
void fungsi_a (void)
{
static int x = 5;
x++;
printf ("Nilai x di fungsi_a\n");
printf ("x = %i\n", x);
fungsi_b();
}
#include <stdio.h>
void tukar (int *px, int *py); REFERENCE
void main()
{
int a, b;
a = 23;
b = -11;
printf ("Nilai sebelum pemanggilan Fungsi Tukar\n");
printf ("a = %i b = %i\n", a, b);
tukar (&a, &b);
printf ("Nilai sesudah pemanggilan Fungsi Tukar\n");
printf ("a = %i b = %i\n\n", a, b);
}
void tukar (int *px, int *py)
{
int z; //variabel sementara
z = *px;
*px = *py;
*py = z;
printf ("\nNilai di akhir Fungsi Tukar\n");
printf ("*px = %i *py = %i\n\n", *px, *py);
}