Variabel
Sama halnya dalam matematika, variabel dalam pemrograman adalah sebuah alias yang digunakan untuk menyimpan nilai (dalam hal ini data) tertentu. Pada umumnya pendeklarasian sebuah variabel dilakukan dengan menentukan tipe data apa variabel itu kemudian menentukan nama variabel, yaitu
typedata varname;
dimana typedata harus berupa tipe data built-in maupun tipe user-defined dan varname adalah nama yang akan digunakan untuk mengakses data selama program berjalan. Ada beberapa batasan dalam memberikan nama variabel, yaitu:
- Karakter yang bisa digunakan untuk menyatakan nama variabel hanya angka, alphabet dan underscore (_).
- Karakter pertama tidak boleh berupa angka.
- Huruf kapital dan huruf kecil dianggap berbeda.
- Nama variabel tidak boleh sama dengan keyword.
- Tidak boleh ada dua variabel dengan nama yang sama meskipun tipe datanya berbeda, kecuali berbeda scope.
- Tidak ada batasan berapa panjang nama variabel yang bisa digunakan, namun beberapa platform mungkin memberi batasan.
Selain beberapa batasan di atas, ada juga beberapa hal lain yang sebaiknya dihindari dalam menamai sebuah variabel. Yang pertama, hindari menggunakan underscore sebagai karakter awal dalam menamai variabel. Meskipun tidak mengakibatkan compile-time error, variabel dengan penamaan ini tidak bisa diprediksi tingkah lakunya. Alasan penamaan ini tidak mengakibatkan compile-time error karena nama itu sendiri tidaklah ilegal melainkan telah dipesan oleh implementasi (sistem) untuk digunakan.
Yang kedua, sebaiknya gunakan bentuk yang umum dalam menamai variabel. Paling tidak umum untuk diri anda sendiri. Penamaan variabel yang banyak saya temui sejauh ini menggunakan camelCase yatu karakter awal merupakan huruf kecil dan kata selanjutnya huruf besar. Tentu saja hal ini terserah anda.
Perhatikan contoh – contoh pendeklarasian berikut (dengan asumsi bahwa variabel – variabel berikut berada dalam satu scope) :
Dua atau lebih variabel dengan tipe yang sama juga bisa dinyatakan secara bersamaan dengan menggunakan tanda koma sebagai pemisah, misalnya
int var1, var2, var3;
dari pernyataan di atas, var1, var2, dan var3 adalah variabel dengan tipe integer.
Lalu apakah variabel – variabel di atas sudah bisa digunakan? Belum, sebelum variabel bisa digunakan, variabel tersebut harus lebih dahulu diberi nilai (inisialisasi). Tentu saja ada beberapa cara untuk memberikan nilia kepada sebuah variabel. Yang paling mudahnya adalah dengan menggunakan Assigment Operator (Operator Pengerjaan “ = “), misalnnya:
> var1 = 5;
pernyataan di atas memberikan nilai 5 ke var1, sehingga pernyataan berikut:
var2 = var1 + 5;
akan memberikan nilai 10 ke var2. Pemberian nilai ke suatu variabel bisa juga dilakukan pada saat variabel itu dideklarasikan, misalnya:
int contohVariabel = 5;
Kemudian perhatikan contoh berikut:
int varSatu = varDua = varTiga = 10;
dari pernyataan di atas, baik varSatu, varDua atau varTiga mempunyai nilai yang sama, yaitu 10. Ingat, nilai dari variabel harus berada pada ruas paling kiri jika pemberian nilai dilakukan pada dua atau lebih variabel secara bersamaan.
Berikut ini beberapa contoh inisialisasi variabel:
Dalam pemberian nilai, tentu saja nilai yang diberikan harus sesuai dengan tipe data tersebut. Untuk lebih jelasnya lihat tentang Tipe Data.
Jenis – Jenis Variabel berdasarkan Jangkauan
Yang dimaksud jangkauan (scope) adalah jenis variabel yang dibedakan berdasarkan tempat dimana dia dideklarasikan yang kemudian akan mempengaruhi pada bagian mana saja variabel tersebut bisa diakses. Perhatikan potongan kode berikut:
Pada dasarnya, ada tiga jenis variabel, yaitu:
1. Global Variabel
Variabel global adalah variabel yang bisa diakses oleh seluruh bagian dalam program.
Variabel yang dideklrasikan di luar fungsi manapun merupakan variabel global yang akan membuatnya bisa diakses dan dimodifikasi oleh fungsi manapun, baik oleh main() ataupun oleh suatuFungsi(). Memori yang digunakan untuk menyimpan variabel global dialokasikan saat program pertama dijalankan dan akan terus tersimpan dalam memori sampai program di keluarkan. Pada bagian kode di atas yang termasuk global variabel adalah intgrSatu, intgrDua, varDouble, varChar, dan varFloat.
2. Lokal Variabel
Variabel lokal adalah variabel yang dideklarasikan di dalam suatu blok pernyataan dan membuatnya hanya bisa diakses oleh pernyataan di dalam blok tersebut (ingat, blok diawali dengan ‘{‘ dan di akhiri dengan ‘}’). Jadi, variabel lokal hanya bisa diakses dan dimodifikasi oleh pernyataan yang satu-blok dengan variabel itu. Penyimpanan untuk variabel lokal berbeda dengan variabel global, penyimpanan untuk variabel lokal akan disediakan pada saat pendeklarasiannya dijumpai dan penyimpanan tersebut akan dibebaskan ketika eksekusi program keluar dari blok di mana dia dideklarasikan. Pada contoh di atas, variabel mainLokal hanya akan bisa digunakan dalam main(), suatuFungsi() tidak akan mengenali variabel ini. Begitu juga halnya dengan suatuLokal, dia hanya akan di kenali di suatuFungsi(). Kemudian perhatikan potongan kode berikut:
Pada potongan kode di atas, a akan dikenali di Blok Luar dan Blok Dalam, akan tetapi b hanya akan dikenali oleh Blok Dalam, sehingga ketika kita mencoba mengakses b diluar dari Blok Dalam, maka akan terjadi compile-time error karena b memang tidak dikenal oleh selain di Blok Dalam dan b hanya akan ada ketika Blok Dalam pertama di eksekusi kemudian akan dihapus lagi ketika eksekusi keluar dari Blok Dalam.
3. Formal Parameter
Lalu kemudian bagaimana cara memberikan nilai di suatu variabel lokal di suatu fungsi ke fungsi lainnya? Caranya dengan meneruskan nilai tersebut sebagai argument ke fungsi tujuan. Untuk menerima nilai dari argumen, maka pada pendeklarasian fungsi harus diberikan formal parameter. Formal Parameter bisa digolongkan sebagai variabel lokal, hanya saja variabel ini mempunyai tujuan tertentu. Perhatikan program berikut untuk mengetahui bagaimana membuat formal parameter:
Pada potongan kode di atas, parSatu dan parDua adalah parameter dari fungsiSum(). Sehingga, pada saat pemanggilan di main(), bilSatu dan bilDua adalah argumen yang diberikan ke fungsiSum(). Inisialisasi formal paramter terjadi pada saat fungsinya dipanggil jadi tidak perlu lagi dilakukan pemberian nilai di dalam fungsi, hal tersebut hanya akan mengubah nilai yang seharusnya diteruskan oleh pemanggil. Hal yang berhubungan dengan fungsi dijelaskan lebih lengkap di LINK INI.