Senin, 19 November 2012

Belajar C++ Part 11 - Variabel

Variabel dalam C++ ( Lokal,Inisialisasi, Global, Statis, Register)

Berbeda dengan konstanta yang mempunyai nilai tetap,variabel adalah sebuah identifier yang mempunyai nilai dinamis. Arti kata 'dinamis' disini bermaksud bahwa nilai variabel tersebut dapat kita ubah sesuai kebutuhan dalam program. Berikut ini adalah bentuk umum dari pendeklarasian sebuah variabel dalam C++



Sebenarnya bentuk umum ini sudah dijelaskan pada bagian awal yaitu bagian yang menerangkan pendkelarasian identifier hanya disini lebih dikhususkan lagi, yaitu hanya untuk variabel Jika kita kana mendeklarasikan beberapa variabel yang bertipe sama, maka kita dapat menyingkat penulisannya dengan menggunakan bentuk umum dibawah ini.


Contoh



Sedangkan jika kita ingin melakukan inisialisasi, maka sintaknya dapat diganti dengan menggunakan sitaks berikut :



Variabel Global

Jika kita sedang membuat program dan kita membutuhkan sebuah variabel yang dapat dikenali oleh semua lingkungan dalam program kita, maka kita harus mendefiniskan variabel tersebut sebagai variabel yang bersifat global. Kita telah mengetahui bahwa program dalam bahasa C++ selalu terdapat fungsi utama yaitu main (). Jika kita mendeklarasikan sebuah variabel diluar fungsi, maka dengan sendirinya kompiler akan menganggap variabel tersebut sebagai variabel global. Berikut ini adalah contoh program yang menunjukkan penggunaan variabel yang bersifat global



Screen Shoot source code program yang diatas.


Variabel Lokal

Berbeda sekali dengan variabel global, variabel lokal adalah variabel yang hanya dikenali oleh satu fungsi saja, artinya tidak dikenal oleh lingkungan luar didalam program yang kita buat. Adapun bentuk pendeklarasian variabel yang bersifat lokal ini harus berada dalam lingkup fungsi yang dimaksud. berikut ini contoh pendeklarasian variabel yang bersifat lokal.



Screen Shoot source code program yang diatas.


Jika kita ingin menambahkan fungsi lain didalam program, dan kita ingin mengakses variabel a yang telah dideklarasikan didalam fungsi main (), maka program tidak akan dapat dijalankan karena fungsi baru yang kita tambahkan tentu tidak dapat mengenali variabel a diatas. Hal ini merupaka bukti bahwa variabel a diatas bersifat lokal.

Inisialisasi Variabel

Dalam penulisan program ada saatnya kita harus melakukan inisialisasi nilai terhadap sebuah variabel yang dideklarasikan. Artinya jika kita tidak melakukan pengisian nilai terhadap variabel tersebut, maka variabel tersebut akan undefinied atau tidak terdefinisi atau masih kosong. Hal ini sebenarnya sudah disinggung diatas namun disini akan kita bahas kembali melalu contoh-contoh program. Berikut ini contoh program inisialisasi variabel



Screen Shoot source code program yang diatas.


Kita lihat bahwa ketika assigment pertama nilai 0 karena kita isi var x = 0, lalu terbaca masih 0 ketika kita telah mengisi nilai dengan x=2 maka nilai pun berubah menjadi 2.

Variabel Statis

Variabel  statis adalah variabel yang menempati ruang memori komputer secara permanen, artinnya nilai terahir dari variabel ini akan terus disimpan. Dalam C++, untuk menyatakan variabel statis adalah dengan menggunakan kata kunci static. Adapun bentuk umum pendeklarasiannya adalah seperti tampak dibawah ini



Seperti halnya variabel biasa, variabel statis ini juga dibagi ke dalam dua jenis, yaitu variabel statis lokal dan variabel statis global.

  1. Variabel Statis Lokal
Variabel statis lokal ini diterapkan didalam suatu fungsi, sehingga nama variabelnya hanya akan dikenali didalam fungsi saja. Namun perlu diperhatikan bahwa nilai terakhir yang dihasilkan akan terus tersimpan. Dengan demikian setiap pemanggilan fungsi yang sama mengenai pasti akan memberikan hasil yang berbeda. Untuk mengetahui lebih jauh mengenai variabel  statis, perhatikanlah dua source program dibawah ini dan bandingkan.

a.Menggunakan Variabel Biasa



Screen Shoot source code program yang diatas.


       b. Menggunakan Variabel Statis



Screen Shoot source code program yang diatas.

Jika kita amati hasil program diatas, nilai dari setiap pemanggilan fungsi akan memberikan hasil yang berbeda. Konsepnya sederhana, yaitu pada pemanggilan fungsi yang pertama kali nilai variabel a masih bernilai 0 (sesuai dengan inisialisasi. Fungsi akan menambahkan nilai tersebut dengan 10, maka nilai yang dikembalikan fungsi contoh() adalah 10. Karena variabel a adalah variabel statis maka pada saat pemanggilan fungsi yang kedua variabel a menyimpan nilai 10, bukan 0. Dengan demikian pemanggilan fungsi kedua tentu akan menambahkan nilai a dengan nilai 10, sehingga nilai yang dikembalikan adalah 20, begitu seterusnya.

     2. Variabel Statis Global

Dalam pemograman dengan bahasa C++, kita diizinkan untuk melakukan pembuatan fungsi -fungsi dalam file yang terpisah dari program utama. Untuk kasus-kasus tertentu dimana variable statis lokal tidak dapat digunakan, kita dapat membuat file terpisah yang membuat variabel statis global
Sebagai gambaran dari pemahaman materi ini, perhatikanlah contoh penggunaannya dalam potongan sintaks program di bawah ini.



Variabel Register

Tidak seperti  variabel biasa yang berada dimemori, variabel register ini akan disimpan diregister CPU. Dengan demikian, untuk mengisikan atau mengubah nilai dari variabel register tentunya tidak memerlukan akses memori sehingga prosesnya juga akan lebih cepat. Dalam C++, variabel register hanya dapat diisi oleh tipe data char, int dan pointer saja serta hanya dibolehkan mendeklarasikan sebagai variabel lokal ataupun parameter dari sebuah fungsi. Untuk mendeklarasikan variabel register, kita harus menggunakan kata kunci register. Bentuk umum dari pendeklarasian variabel register adalah sebagai berikut

Berikut ini adalah contoh program yang menggunakan variabel register.



Screen Shoot source code program yang diatas.


Daftar Pustaka :
Budi Raharjo, Pemogramman C++ Revisi 2, Informatika 2006.