Page 159 - PEMROGRAMAN DASAR MENGGUNAKAN C
P. 159

#include <stdio.h>

                      /* Mendeklarasikan pointer pF untuk menunjuk ke alamat fungsi
                          yang tidak memiliki parameter */
                      int (*pF) (int);

                      /* Mendefinisikan fungsi untuk menghitung nilai faktorial dari
                          sebuah bilangan bulat */
                      int Faktorial(int x) {
                         if (x == 0) {
                           return 1;
                         } else {
                           return x * Faktorial(x-1);
                         }
                      }

                      int main(void) {
                         /* Memerintahkan pointer pF untuk menunjuk ke alamat dari
                             fungsi Faktorial() */
                         pF = &Faktorial;        /* dapat ditulis dengan pF = Faktorial; */

                         int n;
                         printf(“Masukkan nilai yang akan dihitung : ”);
                         scanf(“%d”, &n);

                         /* Menampilkan nilai faktorial melalui pointer pF */
                         printf(“%d! = %d”, n, pF(n));

                         return 0;
                      }


                      Contoh hasil yang akan diberikan dari program di atas adalah sebagai berikut.


                      Masukkan nilai yang akan dihitung : 5
                      5! = 120



                      Perhatikan kembali sintak di atas secara teliti, kita dapat menunjuk alamat dari fungsi
                      Faktorial() dengan pointer  pF, sehingga kita dapat melakukan proses yang terdapat
                      dalam fungsi  Faktorial() melalui pointer  pF. Dalam contoh di atas, kita melakukan
                      pemanggilan fungsi tersebut dengan cara menuliskan statemen pF(5).

                      Sebagai bahan perbandingan dengan contoh sebelumnya, di sini kita akan menuliskan
                      program  lainnya  yang  sama-sama  menggunakan  pointer  untuk  mengakses  sebuah
                      fungsi. Adapun sintak programnya adalah sebagai berikut.


                      #include <stdio.h>
   154   155   156   157   158   159   160   161   162   163   164