Minggu, 24 Mei 2009

HANDOUT BAHASA PEMROGRAMAN TERSTRUKTUR (C++) FUNGSI TANPA NILAI BALIKAN

1. PENGENALAN FUNGSI

Pemrograman yang baik harus bersifat modular agar suatu masalah program yang besar dan kompleks dapat dipecah-pecah menjadi bagian-bagian yang lebih kecil dan sederhana.
Fungsi/function adalah bagian dari program yang memiliki nama tertentu, digunakan untuk mengerjakan suatu pekerjaan tertentu, serta letaknya dipisahkan dari bagian program yang menggunakan fungsi tersebut.
Keuntungan menggunakan fungsi, yaitu:
 Dapat melakukan pendekatan top-down dan divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.
 Dapat dikerjakan oleh beberapa orang sehingga koordinasi mudah.
 Kemudahan dalam mencari kesalahan-kesalahan karena alur logika jelas dan kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
 Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan.
 Mempermudah dokumentasi.
 Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain

Sifat-sifat fungsi yang baik, yaitu:
 Nilai fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna semakin tinggi nilai fan-in
 Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai fan-out
 Self-contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya sendiri.

Fungsi merupakan bagian dari kode program yang terpisah dari program utama. Bagain kode program ini di-execute jika diperlukan untuk melakukan tindakan khusus dalam program. Fungsi banyak dilibatkan dalam program dengan tujuan untuk mengurangi duplikasi pengkodean dan untuk mempermudah pemahaman. Secara sederhana terdapat fungsi yang tidak mengambil satu parameter pun dan menghasilkan void (data yang tidak memiliki nilai). Namum pada fungsi yang lain akan mengambil suatu parameter dan mungkin menghasilkan suatu nilai tertentu.
Parameter merupakan suatu nilai yang di-pass-kan (diseberangkan) pada fungsi yang berguna untuk mengubah operasinya atau untuk menunjukan operasi yang lebih luas. Sebelum fungsi digunakan, fungsi harus dideklarasikan dulu. Deklarasi fungsi (prototype) berguna untuk memberitahukan compiler tentang bagaimana fungsi diambil dan tipe data yang diambil/dihasilkan. Fungsi dapat dipanggil oleh fungsi yang lain maupun dirinya sendiri (rekursif).
Syntax deklarasi fungsi:

Re_type function_name(parameter);
Parameter berisi pengenal (argument) dan tipe pengenal (argument) yang berfungsi sebagai masukkan. Masukkan tersebut akan diproses sehingga dihasilkan nilai tertentu sesuai tipe datanya (re_type).

Syntax fungsi:
Re_type function_name(parameter)
{statement-statement}

Dalam C++, program merupakan kumpulan dari fungsi-fungsi. C++ mempunyai fungsi utama yang disebut main. Fungsi merupakan sub-program dan berguna untuk menjadikan program bersifat modular sehingga dapat digunakan kembali, baik untuk program itu sendiri maupun untuk program lain yang memiliki proses yang sama. Fungsi dibedakan menjadi user-define function (didefinisikan sendiri) dan built-in function (disediakan oleh compiler).
Di dalam bahasa pemrograman terstruktur (C++) terdapat 2 tipe fungsi, yaitu void dan non void. Adapun perbedaan dari keduanya adalah sebagai berikut:

Bahasa pemrograman C++ tidak mengenal prosedur seperti pada saat menggunakan bahasa PASCAL. Dalam PASCAL, prosedur didefinisikan sebagai suatu proses yang tidak mengembalikan nilai. Sebagai gantinya di dalam C++ terdapat fungsi dengan tipe void, yang berarti tidak memiliki nilai balik (return value) atau tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut. Fungsi dengan tipe void sering disebut juga function. Ciri-ciri dari fungsi tipe void, yaitu:
1. Tidak adanya Keyword Return.
2. Tidak adanya tipe data di dalam deklarasi fungsi.
3. Menggunakan keyword “void”.
4. Tidak dapat langsung ditampilkan hasilnya.
Adapun bentuk umumnya adalah sebagai berikut:
void nama_fungsi (parameter1, parameter2,...){
statement_yang_akan dilakukan;
...
}

Sedangkan bentuk umum pemanggilan sebuah fungsi yang sebelumnya telah didefinisikan adalah sebagai berikut:
nama_fungsi (parameter1, parameter2,...);
Contoh sederhana fungsi tipe void:
void tampilkan_jml(int a,int b){
int jml;
jml = a + b;
printf(“%d”,jml);
}
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun. Contoh penggunaan parameter void:
void print_error(void){
printf(“Error : unexpected error occurred!”);
}

2.CONTOH PROGRA
Berikut beberapa contoh program fungsi tipe void dalam bahasa pemrograman terstruktur:
a) #include
#include
void f1(void);
void main()
{
int i=20;
clrscr();
f1();
printf("i dalam main() = %d\n",i);
f1();
}
void f1(void)
{
static int i=10;
i++;
printf("i dalam f1() = %d\n",i);
getch();
}

b) #include
#include
void ascii(int N,int M);
void main()
{
int A,B;
clrscr();
printf("Angka awal ASCII: ");scanf("%d",&A);
printf("Banyaknya kode: ");scanf("%d",&B);
ascii(A,B);
getch();
}
void ascii(int N,int M)
{
if(M>=0)
{
if((M % 10)==0) printf("\n");
printf("%3d%2c ",N,N);
M--;
ascii(N+1,M);
}
}

Tidak ada komentar:

Posting Komentar