Variabel di Java dengan menggunakan BlueJ
Dalam
pemrograman komputer
,
variabel
atau
peubah
adalah
letak penyimpanan
dan terkait
nama simbolis
yang berisi beberapa kuantitas yang diketahui atau tidak diketahui atau informasi,
nilai
. Nama variabel adalah cara biasa untuk
referensi
nilai yang disimpan, pemisahan nama dan konten ini memungkinkan nama yang akan digunakan secara terpisah dari informasi tepat yang diwakilinya.
[
diragukan
–
diskusikan
]
Nama variabel di
kode sumber
komputer adalah
pengenal
yang dapat
terikat
ke
nilai
selama waktu jalan (
runtime
), dan nilai yang dapat berubah selama
program eksekusi
.
[1]
Walaupun variabel dalam pemrograman komputer mempunyai kemiripan dengan
variabel dalam matematika
, mereka tetap mempunyai perbedaan yang mencolok. Sebagai contoh, variabel dalam matematika berbentuk abstrak, tidak mereferensikan suatu nilai apapun yang berada di suatu perangkat penyimpanan. Sedangkan variabel dalam pemrograman komputer juga bukanlah bagian dari suatu persamaan atau rumus. Variabel dalam pemrograman juga sering diberikan nama yang relatif panjang, yang mendeskripsikan kegunaan mereka, sedangkan dalam matematika, variabel sering dinamakan dengan satu atau dua huruf.
Nilai yang terikat kepada suatu variabel dapat direferensikan juga oleh variabel lainnya, sehingga nilai tersebut dapat diakses dari dua variabel atau lebih. Mengubah nilai dari salah satu variabel itu berarti mengubah nilai yang direferensikan oleh variabel lainnya.
Tipe-tipe variabel bedasarkan masa hidupnya
[
sunting
|
sunting sumber
]
Variabel dapat dibagi bedasarkan masa hidupnya. tipe-tipe variabel bedasarkan pembagian ini adalah
statis, stack dinamis, heap dinamis eksplisit, heap dinamis implisit.
Adapaun variabel statis, juga dikenal sebagai variabel global, adalah variabel yang nilainya selalu berada pada tempat yang sama dalam memori, mulai dari awal berjalannya program hingga berakhirnya program. Lalu variabel
stack
dinamis, juga dikenal sebagai variabel lokal, adalah variabel yang diletakkan pada memori
stack
saat
statement
pendeklarasian variabel dieksekusi. Masa hidup variabel ini adalah sepanjang berjalannya
fungsi
tempat variabel tersebut dideklerasikan.
[2]
Variabel
heap
dinamis eksplisit adalah variabel abstrak tanpa nama yang dialokasikan di dalam
heap
saat berjalannya program, sesuai dengan perintah yang telah dispesifikasikan oleh
programmer
. Contoh untuk jenis ini adalah objek dalam bahasa pemrograman
Java
, dan
dynamic object
dalam bahasa
C++
. Terakhir, variabel
heap
dinamis implisit adalah variabel yang dialokasikan ke dalam
heap
hanya saat ia berisi suatu nilai. Variabel ini lebih fleksibel daripada variabel-variabel lainnya. Contohnya adalah beberapa variabel dalam
JavaScript
dan
PHP
.
Ruang lingkup variabel (
variable scope)
[
sunting
|
sunting sumber
]
Ruang lingkup
dari variabel menjelaskan di mana variabel tersebut dapat digunakan dalam kode.
[2]
Sementara itu, masa hidup variabel menjelaskan kapan variabel tersebut mempunyai nilai saat berjalannya program. Walau begitu, ruang lingkup dari suatu variabel berhubungan dengan masa hidupnya. Ruang lingkup adalah sifat dari nama variabel tersebut, yang menjelaskan di mana saja nama tersebut valid untuk digunakan. Sedangkan masa hidup adalah sifat dari nilai di dalam memori yang terikat dengan variabel tersebut, terkhusus saat berjalannya program.
Dua hal ini berbeda dengan konteks, yang merupakan properti dari program itu sendiri. Konteks dari program berbeda-beda dalam kodenya dan juga dalam eksekusinya.
Ruang lingkup adalah bagian penting dalam resolusi nama suatu variabel. Ruang lingkup dari suatu variabel adalah bagian dari teks kode program di mana variabel itu dianggap "ada" dan memiliki nilai. Awal dari bagian itu biasanya mengawali masa hidup dari variabel dan akhir dari bagian itu mengakhiri masa hidupnya. Kebanyakan bahasa pemrograman mendefiniskan ruang lingkup tertentu untuk setiap variabel
Sedangkan, masa hidup dari variabel adalah sifat dari variabel tersebut yang menjelaskan kapan diangkatnya variabel tersebut dari dalam memori saat berjalannya program. Dalam bahasa pemrograman yang tidak mempunyai fitur
pengumpulan sampah
, variabel yang masa hidupnya melebihi ruang lingkupnya dapat menghasilkan
kebocoran memori
. Sebab memori yang dialokasikan tersebut tidak diangkat, sedangkan program sudah berada di luar ruang lingkup variabel yang mereferensikan memori tersebut. Alhasil, memori itu tidak akan bisa diangkat kecuali dengan berhentinya program.
Sehingga untuk mengoptimalkan kinerja memori, memori untuk suatu variabel harus diangkat saat variabel tersebut tidak lagi dibutuhkan, sebagaimana memori hanya boleh dialokasikan saat pertama kali variabel tersebut digunakan. Suatu variabel hanya dibutuhkan saat variabel tersebut berada dalam ruang lingkupnya. Oleh karena itu, kompilator biasanya akan memperingati
programmer
jika suatu variabel tidak diangkat dari memori di luar ruang lingkupnya.
Salah satu praktek yang baik dalam menggunakan variabel adalah dengan menyempitkan ruang lingkup variabel tersebut sebisa mungkin. Sehingga lebih kecil kemungkinan suatu bagian dari program berinteraksi dengan bagian yang lainnya diluar keinginan
programmer
, khususnya dengan memodifikasi variabel yang bukan berasal dari bagiannya. Teknik yang biasa digunakan untuk melakukan ini adalah dengan menggunakan gaya penamaan variabel yang berbeda untuk setiap bagian dalam program, atau dengan membuat variabel tersebut privat untuk membatasi ruang lingkupnya.
- ^
author, Dutormasilabs.
"(PDF) Modul Praktikum Pembahasan variabel Bahasa Pemrograman C/C++ || LAB 4"
.
Dutormasi
. Diakses tanggal
2023-07-20
.
- ^
a
b
Ritchie, Dennis.
C Manual Reference
(PDF)
. Murray Hill, New Jersey: Bell Telephone Laboratories. hlm. 3.