FUNGSI
Fungsi :
-Bagian dari program yang
dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari
program yang menggunakannya. Program dari bahasa C dibentuk dari
kumpulan-kumpulan fungsi, mulai dari fungsi utama, fungsi pustka, maupun fungsi
yang dibuat oleh pemrogram.
Manfaat
fungsi :
- Fungsi menjadikan program C
memiliki struktur yang jelas. Dengan memisahkan langkah-langkah detil ke satu
atau lebih fungsi, maka fungsi utama (main( )) akan menjadi lebih pendek, jelas
dan mudah dimengerti.
- Fungsi-fungsi dapat dijinkan untuk
menghindari penulisan yang sama berulang-ulang. Langkah-langkah program yang
sama dan sering digunakan berulang-ulang dapat ditulis sekali saja secara
terpisah dalam bentuk fungsi-fungsi, selanjutnya bagian program yang
membutuhkan langkah-langkah ini cukup memanggil fungsi-fungsi tersebut.
Nilai akhir dari suatu fungsi adalah
nilai yang dikembalikan oleh fungsi berdasarkan input parameter-parameter yang
dimasukkan.
Contoh fungsi:
int rata(int x, int y, int z)
{
int ave;
ave = (x + y + z)/3;
return(ave);
}
Di dalam fungsi dikenal istilah
Parameter Formal dan Parameter Aktual :
a. Parameter formal adalah parameter
yang terdapat pada pendefinisian sebuah fungsi.
b. Parameter aktual adalah parameter
yang terdapat pada saat pemanggilan fungsi.
Cara melewatkan parameter ke dalam
suatu fungsi dapat dilakukan melalui dua cara yaitu:
a. Pelewatan parameter melalui nilai (call by value) :
- pelewatan parameter ke dalam
fungsi dengan menyalin nilai dari suatu variabel aktualnya. Maksudnya adalah
fungsi menerima masukan berupa nilai, bukan alamat memori letak dari datanya
dan nilai tersebut disimpan di alamat memori yang terpisah dari nilai aslinya
yang digunakan oleh bagian program yang memanggil fungsi.
Contoh :
#include <stdio.h>
#include <conio.h>
int kali(int a,int b, int c) //parameter formal
{
int x;
x = a * b * c;
return(x);
}
int main()
{
int a,b,c;
printf(”Masukkan angka 1 : “);
scanf(”%d”,&a);
printf(”Masukkan angka 2 : “);
scanf(”%d”,&b);
printf(”Masukkan angka 3 : “);
scanf(”%d”,&c);
printf(”Hasil perkalian ketiga bilangan adalah
%d”,kali(a,b,c)); //parameter aktual
getch();
return(0);
}
b. Pelewatan parameter melalui acuan/referensi (call by
reference) :
- pelewatan parameter ke dalam
fungsi dengan menyalin alamat dari suatu variabel aktualnya. Fungsi yang
menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan
nilai datanya. Hal ini dilakukan dengan menggunakan pointer. Pointer adalah
variabel yang merujuk pada alamat lokasi suatu memori tertentu, variable
pointer dapat dideklarasikan dengan menuliskan nama variabelnya diawali dengan
asterisk (‘*’). Perubahan yang terjadi pada variabel asal akan mengakibatkan
perubahan pada variabel pointernya dan sebaliknya.
Contoh :
#include <stdio.h>
#include <conio.h>
void desc_sort(int *bil1,int *bil2) //parameter formal
{
if(*bil1<*bil2)
{
*bil1 = *bil1 + *bil2;
*bil2 = *bil1 - *bil2;
*bil1 = *bil1 - *bil2;
}
}
int main()
{
int a,b,c;
printf(”Masukkan angka 1 : “);
scanf(”%d”,&a);
printf(”Masukkan angka 2 : “);
scanf(”%d”,&b);
printf(”Masukkan angka 3 : “);
scanf(”%d”,&c);
desc_sort(&a,&b); //parameter aktual
desc_sort(&a,&c); //parameter aktual
desc_sort(&b,&c); //parameter aktual
printf(”Hasil descending sort adalah %2d %2d %2d”,a,b,c);
getch();
return(0);
}
Di dalam penggunaan fungsi-fungsi
dalam program kita mengenal adanya istilah variable local dan variable global :
a. Variabel lokal :
- Variabel yang nama dan nilainya
hanya dikenal di suatu blok statement tertentu saja atau di dalam suatu fungsi.
Variabel lokal harus dideklarasikan di dalam blok bersangkutan. Variabel lokal
akan dihapus dari memori jika proses sudah meninggalkan blok statement letak
variable lokalnya.
b. Variabel global :
- Variabel yang dikenal di semua
bagian-bagian tertentu dari program. Variabel global dapat dibuat dengan cara
mendeklarasikannya di luar suatu blok statement atau di luar fungsi-fungsi yang
menggunakannya
#include
<stdio.h>
#include
<stdlib.h>
int main(void){
int
a,b,c,d; // deklarasi variabel; prepare variabel
printf("input
angka = ");
scanf("%d",&c);
// nilai c diambil dri inputan user
for (a=1;a<=c;a++)
// perulangan for pertama dari 1 sampai ke c dan a
diincrement(bertambah)
{
for (d=6;d>=a;d--)
// perulangan for
kedua d dimulai dari 6 sampai ke-a dan didicrement(dikurang)
printf("
");
// perintah utk mnampilkan output space
for
(b=a;b<=2*a-1;b++)
// perulangan ke tiga b dimulai dari a smpai ke 2 kali a-1 dan b
di increment
printf("%d",b);
// output ditampilkan adalah nilai b
for (b=2*a-2;b>=a;b--)
// perulangan for dimulai dari b=2 sampai b kurang dari a dan b di
decrement
printf("%d",b);
// perintah utk mnampilkan output nilai variabel b
printf("\n");
// \n di tampilkan
utk melakukan perintah baris baru atau enter
}
system("pause");
// perintah utk eksekusi sejenak
return 0;
}
FUNGSI
Fungsi :
-Bagian dari program yang
dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari
program yang menggunakannya. Program dari bahasa C dibentuk dari kumpulan-kumpulan
fungsi, mulai dari fungsi utama, fungsi pustka, maupun fungsi yang dibuat oleh
pemrogram.
Manfaat
fungsi :
- Fungsi menjadikan program C
memiliki struktur yang jelas. Dengan memisahkan langkah-langkah detil ke satu
atau lebih fungsi, maka fungsi utama (main( )) akan menjadi lebih pendek, jelas
dan mudah dimengerti.
- Fungsi-fungsi dapat dijinkan untuk
menghindari penulisan yang sama berulang-ulang. Langkah-langkah program yang
sama dan sering digunakan berulang-ulang dapat ditulis sekali saja secara
terpisah dalam bentuk fungsi-fungsi, selanjutnya bagian program yang
membutuhkan langkah-langkah ini cukup memanggil fungsi-fungsi tersebut.
Nilai akhir dari suatu fungsi adalah
nilai yang dikembalikan oleh fungsi berdasarkan input parameter-parameter yang
dimasukkan.
Contoh fungsi:
int rata(int x, int y, int z)
{
int ave;
ave = (x + y + z)/3;
return(ave);
}
Di dalam fungsi dikenal istilah
Parameter Formal dan Parameter Aktual :
a. Parameter formal adalah parameter
yang terdapat pada pendefinisian sebuah fungsi.
b. Parameter aktual adalah parameter
yang terdapat pada saat pemanggilan fungsi.
Cara melewatkan parameter ke dalam
suatu fungsi dapat dilakukan melalui dua cara yaitu:
a. Pelewatan parameter melalui nilai (call by value) :
- pelewatan parameter ke dalam
fungsi dengan menyalin nilai dari suatu variabel aktualnya. Maksudnya adalah
fungsi menerima masukan berupa nilai, bukan alamat memori letak dari datanya
dan nilai tersebut disimpan di alamat memori yang terpisah dari nilai aslinya
yang digunakan oleh bagian program yang memanggil fungsi.
Contoh :
#include <stdio.h>
#include <conio.h>
int kali(int a,int b, int c) //parameter formal
{
int x;
x = a * b * c;
return(x);
}
int main()
{
int a,b,c;
printf(“Masukkan angka 1 : “);
scanf(“%d”,&a);
printf(“Masukkan angka 2 : “);
scanf(“%d”,&b);
printf(“Masukkan angka 3 : “);
scanf(“%d”,&c);
printf(“Hasil perkalian ketiga bilangan adalah
%d”,kali(a,b,c)); //parameter aktual
getch();
return(0);
}
b. Pelewatan parameter melalui acuan/referensi (call by
reference) :
- pelewatan parameter ke dalam
fungsi dengan menyalin alamat dari suatu variabel aktualnya. Fungsi yang
menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan
nilai datanya. Hal ini dilakukan dengan menggunakan pointer. Pointer adalah
variabel yang merujuk pada alamat lokasi suatu memori tertentu, variable
pointer dapat dideklarasikan dengan menuliskan nama variabelnya diawali dengan
asterisk (‘*’). Perubahan yang terjadi pada variabel asal akan mengakibatkan
perubahan pada variabel pointernya dan sebaliknya.
Contoh :
#include <stdio.h>
#include <conio.h>
void desc_sort(int *bil1,int *bil2) //parameter formal
{
if(*bil1<*bil2)
{
*bil1 = *bil1 + *bil2;
*bil2 = *bil1 – *bil2;
*bil1 = *bil1 – *bil2;
}
}
int main()
{
int a,b,c;
printf(“Masukkan angka 1 : “);
scanf(“%d”,&a);
printf(“Masukkan angka 2 : “);
scanf(“%d”,&b);
printf(“Masukkan angka 3 : “);
scanf(“%d”,&c);
desc_sort(&a,&b); //parameter aktual
desc_sort(&a,&c); //parameter aktual
desc_sort(&b,&c); //parameter aktual
printf(“Hasil descending sort adalah %2d %2d %2d”,a,b,c);
getch();
return(0);
}
Di dalam penggunaan fungsi-fungsi
dalam program kita mengenal adanya istilah variable local dan variable global :
a. Variabel lokal :
- Variabel yang nama dan nilainya
hanya dikenal di suatu blok statement tertentu saja atau di dalam suatu fungsi.
Variabel lokal harus dideklarasikan di dalam blok bersangkutan. Variabel lokal
akan dihapus dari memori jika proses sudah meninggalkan blok statement letak
variable lokalnya.
b. Variabel global :
- Variabel yang dikenal di semua
bagian-bagian tertentu dari program. Variabel global dapat dibuat dengan cara
mendeklarasikannya di luar suatu blok statement atau di luar fungsi-fungsi yang
menggunakannya.