Variabel (ilmu komputer): Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k menambahkan variabel bedasarkan masa hidupnya Tag: menambah kata-kata yang berlebihan atau hiperbolis VisualEditor |
Fitur saranan suntingan: 2 pranala ditambahkan. |
||
(4 revisi perantara oleh 2 pengguna tidak ditampilkan) | |||
Baris 1:
{{about||variabel dalam matematika|Variabel (matematika)|penggunaan lainnya|Variabel}}
[[Berkas:Variabel BlueJ.png|jmpl|325x325px|Variabel di Java dengan menggunakan BlueJ]]
Dalam [[pemrograman komputer]], '''variabel''' atau '''peubah''' adalah [[:en:memory location|letak penyimpanan]] dan terkait [[simbol|nama simbolis]] yang berisi beberapa kuantitas yang diketahui atau tidak diketahui atau informasi, [[nilai (ilmu komputer)|nilai]]. Nama variabel adalah cara biasa untuk [[Referensi (ilmu komputer)|referensi]] nilai yang disimpan, pemisahan nama dan konten ini memungkinkan nama yang akan digunakan secara terpisah dari informasi tepat yang diwakilinya.{{Dubious|Dubious|date=Februari 2012}} Nama variabel di [[kode sumber]] komputer adalah [[pengenal]] yang dapat [[Nama mengikat|terikat]] ke [[nilai (ilmu komputer)|nilai]] selama waktu jalan (''[[:en:Runtime (program lifecycle phase)|runtime]]''), dan nilai yang dapat berubah selama [[eksekusi (komputasi)|program eksekusi]].<ref>{{Cite web|last=author|first=Dutormasilabs|title=(PDF) Modul Praktikum Pembahasan variabel Bahasa Pemrograman C/C++ {{!}}{{!}} LAB 4|url=https://dutormasi.com/2020/01/pdf-modul-praktikum-pembahasan-variabel-bahasa-pemrograman-c-c-lab-4.html|website=Dutormasi|access-date=2023-07-20}}</ref>
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 ==
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
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)'' ==
[[Ruang lingkup]] dari variabel menjelaskan di mana variabel tersebut dapat digunakan dalam kode.<ref name=":0" /> 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 (ilmu komputer)|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.{{Authority control}}
[[Kategori:Konsep bahasa pemrograman]]
|