Ruang lingkup variable Pemrograman menggambarkan di mana dalam teks program, variabel dapat digunakan,
sedangkan tingkat (atau masa pakai) menggambarkan kapan dalam eksekusi program
ada variabel yang memiliki nilai (bermakna). Ruang lingkup variabel sebenarnya
adalah properti dari nama variabel, dan luasnya adalah properti dari variabel
itu sendiri. Ini tidak boleh disalahartikan dengan konteks (juga disebut
lingkungan), yang merupakan milik program, dan bervariasi menurut poin dalam
kode sumber atau eksekusi - lihat cakupan: ikhtisar. Selanjutnya, masa pakai
objek dapat bertepatan dengan masa pakai variabel, namun dalam banyak kasus
tidak terkait dengan variabel seumur hidup.
Lingkup nama variabel
mempengaruhi luasnya.
Lingkup merupakan
bagian penting dari resolusi nama suatu variabel. Sebagian besar bahasa
menentukan lingkup spesifik untuk setiap variabel (dan juga entitas lain yang
disebutkan namanya), yang mungkin berbeda dalam program yang diberikan. Ruang
lingkup variabel adalah bagian dari kode program yang nama variabelnya memiliki
arti dan variabel mana yang dikatakan "terlihat". Masuk ke dalam
lingkup itu biasanya memulai masa pakai variabel (seperti konteksnya) dan
keluar dari lingkup itu biasanya mengakhiri masa pakainya (karena melampaui
konteks). Misalnya, variabel dengan "cakupan leksikal" hanya bermakna
dalam fungsi / subrutin tertentu, atau lebih halus dalam blok ekspresi /
pernyataan (sesuai dengan cakupan fungsi atau cakupan blok); ini adalah
resolusi statis, performable pada waktu parse atau waktu kompilasi. Sebagai alternatif,
variabel dengan lingkup dinamik diselesaikan pada saat run-time, berdasarkan
tumpukan pengikat global yang bergantung pada aliran kontrol spesifik. Variabel
yang hanya dapat diakses dalam fungsi tertentu disebut "variabel
lokal". Sebuah "variabel global", atau satu dengan lingkup yang
tidak terbatas, dapat dirujuk ke manapun dalam program ini.
Pelajari Juga : Pengertian Variabel Dalam Pemrograman
Luasnya, di sisi lain,
adalah aspek runtime (dinamis) dari sebuah variabel. Setiap pengikatan variabel
ke nilai dapat memiliki jangkauan sendiri saat runtime. Tingkat pengikatan
adalah bagian dari waktu eksekusi program dimana variabel tersebut terus
mengacu pada nilai atau lokasi memori yang sama. Program yang sedang berjalan
dapat masuk dan meninggalkan batas tertentu beberapa kali, seperti dalam kasus
penutupan.
Kecuali bahasa
pemrograman menampilkan pengumpulan sampah, sebuah variabel yang luasnya
melebihi ambang batasnya dapat mengakibatkan kebocoran memori, dimana memori
yang dialokasikan untuk variabel tidak dapat dibebaskan karena variabel yang
akan digunakan untuk referensi untuk tujuan deallokasi tidak lagi. dapat
diakses Namun, dapat diijinkan untuk variabel yang mengikat untuk melampaui
lingkupnya, seperti yang terjadi pada penutupan Lisp dan variabel lokal C
static; Ketika eksekusi melewati kembali lingkup variabel, variabel tersebut
mungkin sekali lagi akan digunakan. Sebuah variabel yang ruang lingkupnya
dimulai sebelum batasnya dikatakan tidak diinisiasi dan sering memiliki nilai
sewenang-wenang dan tidak semestinya jika diakses (lihat pointer liar), karena
ia harus secara eksplisit diberi nilai tertentu. Sebuah variabel yang batasnya
berakhir sebelum ruang lingkupnya bisa menjadi penunjuk yang menggantung dan
dianggap tidak diinisiasi sekali lagi karena nilainya telah dihancurkan.
Variabel yang dijelaskan oleh dua kasus sebelumnya dapat dikatakan berada di
luar jangkauan atau tidak terikat. Dalam banyak bahasa, ini adalah kesalahan
untuk mencoba menggunakan nilai variabel saat berada di luar jangkauan. Dalam
bahasa lain, melakukan hal itu dapat menghasilkan hasil yang tidak dapat
diprediksi. Variabel semacam itu mungkin diberi nilai baru, yang memberinya
tingkat baru.
Untuk efisiensi ruang,
ruang memori yang dibutuhkan untuk variabel dapat dialokasikan hanya bila
variabel pertama kali digunakan dan dibebaskan saat tidak lagi dibutuhkan.
Variabel hanya diperlukan bila berada dalam ruang lingkup, sehingga memulai
setiap masa hidup variabel saat memasuki ruang lingkup dapat memberi ruang pada
variabel yang tidak terpakai. Agar tidak membuang-buang ruang, kompiler sering
memperingatkan pemrogram jika variabel dinyatakan namun tidak digunakan.
Hal ini dianggap
sebagai praktik pemrograman yang baik untuk membuat lingkup variabel sesempit
layak sehingga berbagai bagian program tidak secara tidak sengaja saling
berinteraksi satu sama lain dengan memodifikasi variabel masing-masing.
Melakukan hal itu juga mencegah tindakan dari kejauhan. Teknik umum untuk
melakukannya adalah memiliki bagian yang berbeda dari sebuah program
menggunakan ruang nama yang berbeda, atau membuat variabel individual
"pribadi" melalui pelingkupan variabel dinamis atau pelingkupan
variabel leksikal.
Banyak bahasa
pemrograman menggunakan nilai yang dipesan (sering disebut null atau nihil)
untuk menunjukkan variabel yang tidak valid atau tidak diinisiasi.
Mengetik Variabel Pemrogramman
Dalam bahasa yang
diketik statis seperti Java atau ML, sebuah variabel juga memiliki tipe, yang
berarti bahwa hanya beberapa jenis nilai tertentu yang dapat disimpan di
dalamnya. Misalnya, variabel tipe "integer" dilarang menyimpan nilai
teks.
Dalam bahasa yang
diketik secara dinamis seperti Python, itu adalah nilai, bukan variabel, yang
membawa tipe. Dalam Common Lisp, kedua situasi ada bersamaan: Variabel diberi
tipe (jika tidak dideklarasikan, diasumsikan T, supertipe universal) yang ada
pada waktu kompilasi. Nilai juga memiliki tipe, yang bisa diperiksa dan di
tanya saat runtime.
Pengetikan variabel
juga memungkinkan polimorfisme dipecahkan pada waktu kompilasi. Namun, ini
berbeda dengan polimorfisme yang digunakan dalam pemanggilan fungsi
berorientasi objek (disebut fungsi virtual di C ++) yang menyelesaikan
panggilan berdasarkan jenis nilai yang bertentangan dengan jenis supertipe yang
diperbolehkan dimiliki.
Variabel sering
menyimpan data sederhana, seperti bilangan bulat dan string literal, namun
beberapa bahasa pemrograman memungkinkan variabel untuk menyimpan nilai tipe
data lainnya juga. Bahasa semacam itu mungkin juga memungkinkan fungsi menjadi
parametrik polimorfik. Fungsi ini beroperasi seperti variabel untuk mewakili
data dari beberapa jenis. Misalnya, fungsi yang diberi nama panjang mungkin
menentukan panjang daftar. Fungsi panjang semacam itu dapat berupa parametrik
polimorfik dengan memasukkan tipe variabel pada tanda tangan jenisnya, karena
jumlah elemen dalam daftar tidak bergantung pada jenis elemen.
Demikianlah Materi Tentang Ruang lingkup Variabel Pemrograman dan luasnya dari Cari Materi Semoga Bermanfaat Bagi Para Pembaca Sekalian.
Pelajari Juga :
Keren infonya,,
ReplyDeleteKalau bisa ada gambar yang menarik, biar lebih seru bacanya,,
Kunjungi kami di Dostzero.blogspot.co.id