Jenis-jenis Variabel Dalam Bahasa C Part 1 | Web Edukasi - Sanabila.com

Home

Daftar Isi

Instagram

Google+

Facebook

Twitter

Pasang Iklan

Refresh
Loading...

Jenis-jenis Variabel Dalam Bahasa C Part 1

Jenis-jenis Variabel Dalam Bahasa C Part 1
Jenis-jenis Variabel Dalam Bahasa C Part 1

Kali ini sanabila.com ingin membahas mengenai jenis-jenis variabel dalam bahasa C. Sebelumnya sanabila.com sudah membahas seputar variabel dalam bahasa C, yaitu:
  1. Batasan Penamaan Variabel Dalam Bahasa C
  2. Inisialisasi Variabel Dalam Bahasa C
  3. Lingkup Variabel Dalam Bahasa C
  4. Jenis Variabel Dalam Bahasa C Part 1
  5. Jenis Variabel Dalam Bahasa C Part 2
Jenis-jenis variabel dibedakan menjadi empat macam, yaitu variabel otomatis, statis, eksternal dan register. Dalam pembahasan di part 1 ini, kita baru akan membahas dua topik, yaitu variabel otomatis dan variabel statis.

A. Variabel Otomatis


Variabel otomatis merupakan variabel yang hanya dikenal di dalam suatu blok saja (yang ada di dalam tanda {...}). Blok tersebut antara lain yaitu blok pemilihan, pengulangan, dan fungsi. Apabila setelah tanda { (permulaan blok), kita melakukan deklarasi variabel, maka variabel tersebut hanya akan dikenali oleh program sampai ditemukan tanda } (akhir blok) pertama yang ditemukan. 

Variabel seperti inilah yang dinamakan dengan variabel otomatis, karena variabel ini dialokasikan pada saat pendeklarasian dan akan didealokasikan secara otomatis ketika program telah keluar dari suatu blok. Walaupun bersifat opsional, namun untuk mempertegas bahwa variabel tersebut sebagai variabel otomatis, kita dapat menggunakan kata kunci auto pada saat pendeklarasian. 

Bentuk umumnya : 
auto tipe_data nama_variabel;
Contoh Program :
#include <stdio.h>
#include <math.h> /* untuk menggunakan fungsi pow() */
 
int main(void) {
  int x = 5, y;
  printf("Masukkan nilai pangkat : "); scanf("%d", &y);
  if (y >= 0) {
    auto int hasil;
    hasil = pow (x, y);
    printf("%d^%d = %d", x, y, hasil);
  }

  /* printf("hasil = %d", hasil); */ /* SALAH, karena variabel 
                                        hasil tidak dikenal */
  return 0;
} 

Hasilnya adalah :
Masukkan nilai pangkat : 2
6^2 = 36

B. Variabel Statis

Variabel statis merupakan variabel yang menyimpan nilai permanen dalam memori, artinya variabel tersebut akan menyimpan nilai terakhir yang diberikan. Untuk menyatakan bahwa suatu variabel adalah variabel statis adalah dengan menggunakan kata kunci static.

Bentuk umumnya :
static tipe_data nama_variabel;
Sekarang kita akan membandingkan dengan membuat program yang memakai variabel biasa dan variabel statis.

B.1. Variabel Biasa 

Contoh Program :
#include <stdio.h>

/* Mendefinisikan sebuah fungsi dengan nama kalidua() */
int kalidua(void) {
  int x = 1;  /* Mendeklarasikan variabel biasa */
  x = x * 2;
  return x;
}

/* Fungsi utama */ 
int main(void) {
  /* Mendeklarasikan variabel a, b dan c untuk menampung 
     nilai dari fungsi */
  int a, b, c;

  a = kalidua();  /* Melakukan pemanggilan fungsi untuk 
                         pertama kali */
  b = kalidua(); /* Melakukan pemanggilan fungsi untuk 
                         kedua kali */
  c = kalidua(); /* Melakukan pemanggilan fungsi 
                         untuk ketiga kali */ 
 
  /* Menampilkan nilai yang terdapat pada variabel a, b dan c */
  printf("Nilai a = %d\n", a);
  printf("Nilai b = %d\n", b); 
  printf("Nilai c = %d\n", c);

  return 0;
} 

Hasilnya adalah :
Nilai a = 2
Nilai b = 2
Nilai c = 2

B.2. Variabel Statis

Contoh Program :
#include <stdio.h>

/* Mendefinisikan sebuah fungsi dengan nama kalidua() */
int kalidua(void) { 
  static int x = 1; /* Mendeklarasikan variabel statis */
  x = x * 2;
  return x; 
}

/* Fungsi utama */
int main(void) {
  /* Mendeklarasikan variabel a, b dan c untuk menampung nilai 
     dari fungsi */
  int a, b, c;

  a = kalidua();  /* Melakukan pemanggilan fungsi untuk 
                         pertama kali */
  b = kalidua(); /* Melakukan pemanggilan fungsi untuk 
                         kedua kali */
  c = kalidua(); /* Melakukan pemanggilan fungsi untuk 
                        ketiga kali */
 
  /* Menampilkan nilai yang terdapat pada variabel a, b dan c */
  printf("Nilai a = %d\n", a);
  printf("Nilai b = %d\n", b);
  printf("Nilai c = %d\n", c);

  return 0;
} 

Hasilnya adalah :
Nilai a = 2 
Nilai b = 4
Nilai c = 8

Penjelasan Singkat :

Kita lihat bahwa pada saat kita menggunakan variabel biasa, setiap kali pemanggilan fungsi tersebut, kompilator akan mengalokasikan variabel x dan menginisialisasinya dengan nilai 1, yang selanjutnya akan dikalikan dengan 2. Namun yang perlu diperhatikan adalah pada saat program selesai melakukan proses yang terdapat fungsi, maka variabel x akan didealokasikan secara otomatis. Hal ini yang menyebabkan setiap pemanggilan fungsi akan selalu menghasilkan nilai yang sama, yaitu 2.

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



Daftar Pustaka :

- Cara Mudah Mempelajari Pemrograman C & Implementasinya. Oleh I Made Joni Budi Raharjo. Diakses pada tanggal 25 Mei 2015 jam 13.15 WIB.
Written by: Unknown
Sanabila, Updated at: 5/26/2015