III.
Pembahasan
Pemrograman
dalam bahasa C merupakan kumpulan dari fungsi. Fungsi yg sudah ada dalam bahasa
C/fungsi yg sering digunakan dalam bahasa C adalah fungsi main. Jika ingin
menambah fungsi lagi maka bisa ditambahkan dibawah funsi main atau membuat file
baru lagi yang diperuntukan untuk fungsi baru itu.
Penggunaan fungsi dan prosedur iditujukan untuk
mengelompokan bagian-bagian program agar program itu tidak terlalu panjang.
Penggunaan fungsi juga bermanfaat saat akan mengedit program karena bagian-nagian
program itu sudah terkelompok ke dalam file yang sama.
Inti dari penggunaan fungsi dan prosedur adalah agar program di
dalam blok fungsi main tidak terlalu panjang. Karena didalam fungsi main kita
hanya menuliskan apa yang di outputkan dan memanggil hasil dari perhitungan
fungsi. Perhitungan/pengolahan data yang diinputkan sudah tidak lagi dilakukan
didalam fungsi main tetapi dilakukan didalam fungsi yg berbeda yang dikhususkan
untuk mengolah program tersebut. Setelah program tersebut selesai diproses/diolah
maka akan dikirimkan kembali ke program yang mengirimkan data tersebut
menggunakan return. Sebelum diterima oleh program yang mengirimkan tadi,
hasil pengolahan data tersebut terlebih dulu ditamung didalam variable local
didalam fungsi main, lalu program yang mengirimkan data tadi akan membaca hasil
dari variable local yang menerima hasil pengolahan dari fungsi tadi.
Parameter pada
fungsi
Seringkali orang menyebut bahawa parameter sama
dengan aragumen .sebenarnya parameter pada fungsi berbeda ndengan
argumen.parameter digunakan untuk memasukan input pada sebuah fungsi yang
ditulis pada fungsi main,sedangkan argumen merupakan masukkan pada sebuah
sungsi ketika fungsi tersebut dipanggil pada fungsi main.Terdapat dua jenis
parameter ,yaitu:
1.
Parameter foramal :parameter yang ditulis pada deklarasi
fungsi.
2.
Parameter aktual : parameter yang dimasukan dalam progam
pemanggil fungdi tersebut,sering disebut dengan argumen.
Parameter dapat berupa variabel ataupun
langsung berupa nilai tertentu sesuai tipe data yang di deklarasikkan untuk
masing masing parameter fungsi.
Struktur fungsi
·
Deklarasi fungsi (function prototype /Declaration)
terdiri atas jusul fungsi dan tipe data yang akan dikembalikkan (dapat berupa tipe data tertentu
atau bersifat void)tanda adanya kode implementasi fungsi tersebut.
Hal yang perlu
diperhatikkan dalam pembuatan fungsi:
1.
Deklarasi fungsi di akhiri dengan titik koma.
2.
Tipe data berupa segala tipe data yang dikenal C,namun tipe
data dapat juga tidak ada dan diganti dengan void
3.
Nama fungsi adalah nama yang unik
4.
Antar argumen karena dipisahkan dengan tanda koma
·
Function Defiition
Hal hala yang
diperhatikkan dalah pembuatan function definisi:
Tubuh fungsi
dapat berisi segala perintah yang
dikenal oleh bahasa C pada dasarnya pendefisian tubuh fungsi adaalh sama dengan
membuat progam seperti biasa
Return adalah
keyword pemgembalian nilai dari fungsi keluar fungsi return adalah wajib jika
fungsi tersebut mengembalikkan nilai berupa tipe data tertentu,tetapi tidak
wajib fungsi tersebut bersifat void
Ciri ciri fungsi :
a.
Mengembalikkan nilai kembalian yang berasal dari hasil
proses fungsi tersebut
b.
Ada keyword return.
c.
Tidak ada keyword void.
d.
Memiliki ilai kembalian.
e.
Dapat dianalogikkan sebagai fungsi variabel yang memiliki
tipe data tertentu sehingga dapat langsung ditampilkan hasilnya.
Prosedur
Prosedur merupakan
fungi yang tidak mengembalikkan nilai (void).prosedur tidak dapat dipisahkan
dengan fungsi hanya saja kegunaanya yang membedakan antara prosedur dan fungsi.
Ciri ciri fungsi
yang tidak mengembalikkan nilai :
a.
Tidak adanya keyword return.
b.
Tidak danya tipe data didalam deklarasi fungi.
c.
Menggunakan keyword void.
d.
Tidak dapat ditmpilkan langsung hasilnya.
e.
Tidak memiliki nilai kembalian fungsi.
Penulisan fungsi :
tipe_fungsi nama_fungsi(parameter
input);//prototype fungsi
void nama_prosedur(parameter
input,parameter output);
int main()
{
Badan fungsi main
}
……………
tipe_fungsi nama_fungsi(parameter input)
{
Badan Fungsi
}
void nama_prosedur(parameter
input,parameter output)
{
Badan Prosedur
Berikut
adalah contoh program yang menggunakan fungsi :
#include <stdio.h>
#include <stdlib.h>
float Nilai; //variable global
char angka(int a); //variable global
int main()
{
char
hasil; //variable lokal
printf("Masukan Nilai = ");scanf("%f", &Nilai);
printf("\n");
hasil=angka(Nilai);//mengirimkan
satu data untuk diolah sesuai dgn tempat tampungannya
printf("Nilai Huruf = %c", hasil);
}
char angka(int a)//pengolahan data yg dikirmkan oleh hasil, hanya ada satu tampungan
{
if(a>=85)
{
return 'A';
}
else
if(a>=70&&a<=84)
{
return 'B';
}
else
if(a>=60&&a<=69)
{
return 'C';
}
else
if(a>=50&&a<=59)
{
return 'D';
}
else
{
return 'E';
}
}
Diatas
terlihat bahwa pengolahan data ada pada fungsi tersendiri, sudah tidak pada
fungsi main lagi. Hasil pengolahan data ditampung dulu pada variable local
untuk kemudian dibaca oleh kode program yang mengirimkan data tadi.
Variabel
local adalah variable yang hanya dikenali oleh fungsi yang terdapat variable
tersebut. Sementara variable global adalah variable yang dikenali oleh semua
blok program karena terletak diluar fungsi main dan juga fungsi yang lainnya.
Dalam
mengirimkan data untuk diproses didalam fungsi tidak bisa sembarangan.
Pengiriman data harus sesuai/harus sama dengan kapasitas tempat yg akan
menerima kiriman data tersebut. Jika kurang atau lebih maka akan error.
Pada
program diatas yang bertindak sebagai wadah atau tempat menampung data yang
dikirimkan adalah int a, lalu pada
pengolahan data di bawahnya akan menggunakan varibel a tersebut karena datanya sekarang ada pada variable a tersebut. Jika tetap menggunakan
variable Nilai, maka program tidak
akan mengeluarkan output.