Page 27 - PEMROGRAMAN DASAR MENGGUNAKAN C
P. 27

Nilai y = 100
                      Nilai z = 1000
                      Apa yang dapat Anda simpulkan dari hasil di atas? Kita lihat bahwa  pada saat kita
                      menggunakan variabel biasa, setiap kali pemanggilan fungsi tersebut, kompilator akan
                      mengalokasikan  variabel  a dan  menginisialisasinya  dengan  nilai  1,  yang  selanjutnya
                      akan dikalikan dengan 10. Namun yang perlu diperhatikan adalah pada saat program
                      selesai  melakukan  proses  yang  terdapat  fungsi,  maka  variabel  a akan  didealokasikan
                      secara  otomatis.  Hal  ini  yang  menyebabkan  setiap  pemanggilan  fungsi  akan  selalu
                      menghasilkan nilai yang tetap, yaitu 10.

                      Sedangkan apabila kita menggunakan variabel statis, maka ketika pertama kali fungsi
                      dipanggil,  variabel  a akan  dialokasikan  dan  akan  tetap  bersarang  di  memori  sampai
                      program  dihentikan.  Adapun  nilai  a yang  ada  pada  saat  ini  adalah  1  sehingga  apabila
                      dikalikan 10, maka hasilnya adalah 10. Kemudian ketika fungsi itu dipanggil untuk
                      yang  kedua  kalinya,  nilai  a sudah  menjadi  10,  bukan  1,  dan  nilai  terakhir  tersebut
                      kemudian  dikalikan  lagi  dengan  10,  menghasilkan  nilai  100.  Begitu  juga  dengan
                      pemanggilan fungsi yang ketiga, nilai a yang ada adalah 100 sehingga apabila dikalikan
                      10 maka hasilnya 1000.

                      2.3.4.3.   Variabel Eksternal

                      Bahasa  C  mengizinkan  kita  untuk  menuliskan  sintak  program  ke  dalam  file  yang
                      terpisah  dengan  bertujuan untuk modularisasi program.  Untuk itu  apabila  kita ingin
                      mendeklarasikan variabel yang dapat dikenali dan diakses oleh masing-masing file yang
                      terpisah tersebut, maka variabel itu harus kita deklarasikan sebagai variabel eksternal.
                      Adapun  caranya  adalah  dengan  menambahkan  kata  kunci  extern  pada  saat
                      pendeklarasikan. Berikut ini bentuk umumnya.

                        extern tipe_data nama_variabel;

                      Sebagai contoh, asumsikan kita memiliki dua buah file program, yaitu eksternal.c dan
                      utama.c, maka apabila kita mendeklarasikan suatu variabel eksternal di file utama.c,
                      maka  dalam  file  eksternal.c  variabel  itu  juga  dapat  diakses,  yaitu  dengan
                      mendefinisikannya melalui kata kunci extern. Untuk mengilustrasikan kasus ini, coba
                      Anda perhatikan potongan sintak di bawah ini.

                      Dalam file utama.c


                      ...
                      int var_eksternal;         /* deklarasi variabel */

                      int main(void) {
                         var_eksternal = 100;

                         printf(“Nilai var_eksternal : %d\n”, var_eksternal);

                         /* Memanggil fungsi SetNilai() yang terdapat pada file
                            eksternal.c */
                         SetNilai();
   22   23   24   25   26   27   28   29   30   31   32