Pages

Tuesday, November 20, 2012

Penjelasan Fungsi Dalam Bahasa C++




NAMA : Muhammad Akbar Tias Dwi Santoso
NIM     : TI111011



FUNGSI



Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. nama fungi yang didefinisikan sendiri oleh pemrogram tidak boleh sama dengan nama build-in function pada compiler  C++. Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian program (kode) berulang-ulang, dapat menyusun kode program agar terlihat lebih rapi dan kemudahan dalam debugging program.


Tujuan penggunaan fungsi :
  • Program menjadi terstruktur, sehingga mudah di pahami dan mudah di kembangkan dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi-funsi, maka fungsi utama menjadi lebih pendek, jelas dan mudah di mengerti
  • Dapat mengurangi pengulangan kode program, langkah-langkah program yang sama dan dipakai berulang-ulang di program dapat di tuliskan sekali saja secara terpisah dalam bentuk fungsi-fungsi. selanjutnya bagian program yang membutuhkan langkah-langkah ini tidak perlu selalu menuliskanya tetapi cukup memanggil funsi-funsi tersebut.
KONSEP DASAR FUNGSI
Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Nama ini selanjutnya dapat dipanggil beberapa kali di beberapa tempat dalam program.
• Fungsi merupakan cara penggolongan program menjadi bagian-bagian kecil sehingga lebih mudah diakses.
• Fungsi membantu menjaga aspek-aspek program yang berbeda secara logikal dipisahkan.
• Dapat dipikirkan bahwa setiap fungsi dianggap sebagai suatu rutin kecil yang mempunyai tugas tertentu.
Konsep program dibagi menjadi sejumlah modul/rutin.
 
MENDEFINISIKAN FUNGSI
Suatu fungsi secara umum terdiri dari dua buah komponen utama, yaitu definisi fungsi dan tubuh fungsi. Definisi fungsi berisi dengan tipe dari fungsi, nama fungsi dan argumen-argumennya (daftar parameter) jika digunakan. Tubuh fungsi berisi dengan statemen-statemen yang akan melakukan tugas yang diberikan kepada fungsi bersangkutan yang ditulis di dalam tanda kurung kurawal buka dan tutup. Bentuk umum dari suatu fungsi adalah sebagai berikut :
Beberapa hal yang berkenaan dengan pendeklarasian fungsi :
1. tipe hasil berada sebelum nama fungsi. Jika fungsi dimaksudkan tidak memberikan hasil gunakan kata kunci void.
2. Jika daftar parameter kosong, gunakan kurung buka dan tutup tanpa isi.
3. Setiap parameter di pisahkan oleh koma. Parameter dideklarasikan secara ekspilisit.
4. Tubuh fungsi diapit oleh kurung kurawal { }. Tidak ada tanda titik-koma setelah kurung kurawal tutup.
5. C tidak mendukung fungsi didalam fungsi.
6. Kata kunci return dipakai untuk menghasilkan nilai fungsi.
Contoh 10.1 :
#include <stdio.h>
double kuadrat(double x) // Fungsi Kuadrat
{
return x * x ;
} }
int main( )
{
printf(“ 7 ^ 2 = %f “, kuadrat(7));
return 0;
}

PROTOTYPE FUNGSI
C menggunakan aturan bahwa anda harus mendeklarasikan fungsi sebelum fungsi itu digunakan. Pendeklarasian fungsi biasa disebut prototipe, yang berisi : tipe hasil, nama fungsi, dan sejumlah tipe parameter, diikuti tanda titik koma setelah kurung tutup. C membutuhkan prototipe jika anda memanggil sebelum mendefinisikannya.

 
Contoh 10.2 :
#include <iostream.h>
double kuadrat(double);   // Prototipe Fungsi Kuadrat
int main( )
{
printf(“ 7 ^ 2 = %f “, kuadrat(7));
return 0;
}
double kuadrat(double x) // Fungsi Kuadrat
{
return x * x ;
}
PELEWATAN PARAMETER
Parameter secara sederhana dapat disamakan dengan apabila anda mendeklarasikan variabel didalam fungsi. Jadi parameter bertindak sebagai parameter.
a. Pelewatan Parameter secara nilai ( Pass By Value ).
Fungsi akan menyalin isi parameter dan kemudian menggunakannya didalam fungsi. Dimana sifat penyalinan ini adalah, pengubahan nilai parameter yang terjadi didalam fungsi tidak akan mengubah nilai asli pada parameter itu setelah pemanggilan fungsi.
Contoh 10.3:
#include <stdio.h>
void tambah(int a) //pass by value
{
a = a + 5;
}
int main( )
{
int nilai = 10;
tambah (nilai);
printf(nilai);
return 0;
}
Keluaran program diatas adalah 10. Meskipun fungsi tambah mengubah nilai parameter yang dilewatkan, tetapi tidak akan mengubah variabel asli yang dilewatkan.
b. Pelewatan Parameter secara referensi ( Pass By Reference).
Fungsi akan menyalin isi parameter dan kemudian menggunakannya didalam fungsi. Sifat penyalinan ini adalah, pengubahan nilai parameter yang terjadi didalam fungsi akan mengubah nilai asli pada parameter itu setelah pemanggilan fungsi.
Pelewatan parameter ini tidak akan menyalin isi, tetapi hanya membuat nama alias parameter.
Contoh 10.4:
#include <stdio.h>
void tambah(int& a) //pass by reference
{
a = a + 5;
}
int main( )
{
int nilai = 10;
tambah (nilai);
printf(nilai);
return 0;
}

Keluaran program diatas adalah 15.
Variabel nilai diberi nilai awal 10, tetapi kemudian setelah dilewatkan ke fungsi, ia dikaitkan untuk mengacu ke variabel a, kemudian ditambahkan dengan 5. Pengubahan nilai variabel a menjadi 15 otomatis akan menjadi milik variabel nilai. 

RUANG LINGKUP VARIABEL
Lingkup variabel menentukan keberadaan suatu variabel tertentu didalam fungsi. Ada variabel yang hanya dikenal disuatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.
Pada C terdapat jenis-jenis variabel berdasarkan kelas penyimpanannya, yang berkaitan dengan lingkup variabel, yaitu :
a. Variabel Otomatis / Lokal
Variabel yang didefinisikan didalam suatu fungsi. Fungsi ini berlaku sebagai variabel lokal bagi fungsi. Artinya : variabel tersebut hanya dikenal di dalam fungsi tempat variabel itu didefinisikan.
b. Variabel Eksternal / Global
Variabel yang didefinisikan di luar fungsi manapun. Variabel ini dikenal sebagai variabel global. Artinya : variabel ini dikenal di semua fungsi.
c. Variabel statis
Variabel lokal yang dideklarasikan didalam fungsi mempunyai sifat, data yang tersimpan atau yang ada padanya akan hilang (terhapus) setelah fungsi itu selesai dikerjakan. Dengan demikian data yang terdapat pada variabel lokal tersebut tidak dapat dipakai pada pengolahan berikutnya.
C mengijinkan agar variabel lokal bersifat statis, artinya : variabel ini tidak akan dihapus setelah selesai pemanggilan fungsi ini.
Variabel statis biasanya diberi nilai awal. Pemberian nilai awal hanya dilakukan sekali pada saat pemanggilan pertama kali.

Sumber :
http://definisimu.blogspot.com/2012/08/definisi-fungsi.html
http://ocw.gunadarma.ac.id/course/computer-science-and-information/information-system-s1-1/teknik-pemrograman-terstruktur-2/fungsi 

1 comment: