Mengenal dan Memahami Variable Scope di pemrograman C++

komputerdia.com - Scope dalam bahasa Indonesia memiliki arti Cakupan atau Ruang lingkup. Scope adalah kode sumber yang bersarang di dalam blok atau pada awal blok dan berakhir di ujung blok. Kadang sifat kode sumber akan dipengaruhi oleh ruang lingkup tersebut.

Ruang lingkup (Scope) adalah wilayah program dan secara umum ada tiga tempat, di mana variabel dapat dideklarasikan, diantaranya adalah sebagai berikut:
  • Di dalam fungsi atau blok yang disebut variabel lokal,
  • Dalam definisi parameter fungsi yang disebut parameter formal.
  • Di luar semua fungsi yang disebut variabel global 

Sering kali pemula mengabaikan keberadaan dari ruang lingkup, hal ini sangat penting dan tidak bisa diabaikan. Pemahaman mengenai ruang lingkup berguna agar saat pemanggilan identitas yang pernah anda deklarasikan, tidak menimbulkan pesan error pada kompilator yang biasanya mengeluh mengenai “pencarian identitas yang dimaksud tidak ditemukan”.

Baca Juga Artikel Menarik Lainnya :

Mengenal dan Memahami Variable Scope in C++

Peraturan Variable Scope (Ruang Lingkup) C++

  • Ruang lingkup bisa kita buat menggunakan sepasang tanda { dan } . sepasang tanda tersebut juga biasa digunakan dalam pembuatan function, class, struct dan lain sebagainya, semua yang ada dalam ruang lingkup akan disebut sebagai definisi.
  • Deklarasi harus dibuat dahulu sebelum dapat digunakan.
  • Dalam satu ruang lingkup, deklarasi tidak diperbolehkan untuk memiliki identitas yang sama
  • Deklarasi yang didirikan di dalam ruang lingkup akan memiliki sifat lokal yang memiliki arti hanya dapat digunakan di dalam ruang lingkup dimana deklarasi itu didirikan.
  • Ruang Lingkup dimungkinkan untuk memiliki ruang lingkup di dalamya, hal itu dinamakan sebagai nested scope
  • Deklarasi yang didirikan di ruang lingkup induk akan dapat diakses di dalam anak ruang lingkup dan bahkan bisa digantikan dengan deklarasi baru yang memiliki nama yang sama di dalam anak ruang lingkup. Tapi deklarasi yang didirikan di dalam anak ruang linkup tidak bisa digunakan di induk ruang lingkup
Berikut ini adalah contoh program yang menggambarkan bagaimana ruang lingkup pada bahasa pemrograman C++ bekerja, dengan dilengkapi penjelasan yang diletakan pada fitur komentar dan mencontohkan bagaimana menggunakan deklarasi dengan benar.
int main ()
{
    int c = a; // Kesalahan: nama 'a' tidak dalam lingkup / tidak ditemukan.
    int a = 1; // ['a' Pertama] lingkup 'a' pertama dimulai.
    ++ a; // nama 'a' adalah dalam lingkup dan mengacu pada 'a' yang pertama.
    {
        ++ a; // nama 'a' adalah dalam lingkup dan mengacu pada 'a' yang pertama.
        int a = 2; // ['a' Kedua] lingkup 'a' kedua dimulai.
        a = 42; // 'a' adalah dalam lingkup dan mengacu pada variabel 'a' yang kedua
    } // Blok ujung, ruang lingkup 'a' kedua
    // Ruang Lingkup 'a' pertama berlanjut
} // Blok ujung, ruang lingkup 'a' pertama
int b = a; // Kesalahan: nama 'a' tidak dalam ruang lingkup 

Local Variables (Variabel Lokal)

Variabel yang dideklarasikan di dalam fungsi atau blok adalah variabel lokal. Mereka hanya dapat digunakan oleh pernyataan yang ada di dalam fungsi itu atau blok kode. Variabel lokal tidak diketahui memiliki fungsi di luar fungsinya. Berikut ini adalah contoh menggunakan variabel lokal
#include <iostream>
using namespace std;
 
int main () {
   // Local variable declaration:
   int a, b;
   int c;
 
   // actual initialization
   a = 10;
   b = 20;
   c = a + b;
 
   cout << c;
 
   return 0;

}

Global Variable (Variabel Global)

Variabel global didefinisikan di luar semua fungsi, biasanya di atas program. Variabel global akan memegang nilainya sepanjang program kalian masih hidup.

Variabel global dapat diakses oleh fungsi apa pun. yakni, variabel global tersedia untuk digunakan di seluruh program kalian setelah dilakukan pendeklarasian. Berikut ini adalah contoh menggunakan variabel global dan lokal
#include <iostream>
using namespace std;
 
// Global variable declaration:
int g;
 
int main () {
   // Local variable declaration:
   int a, b;
 
   // actual initialization
   a = 10;
   b = 20;
   g = a + b;
  
   cout << g;
 
   return 0;
} 
Suatu program dapat memiliki nama yang sama untuk variabel lokal dan global tetapi nilai variabel lokal di dalam suatu fungsi akan lebih disukai. Misalnya
#include <iostream>
using namespace std;
 
// Global variable declaration:
int g = 20;
 
int main () {
   // Local variable declaration:
   int g = 10;
 
   cout << g;
 
   return 0;
} 
Ketika kode di atas dikompilasi dan dieksekusi, ia menghasilkan hasil sebagai berikut
10

Inisialisasi Variabel Lokal dan Global

Ketika variabel lokal didefinisikan, itu tidak diinisialisasi oleh sistem, kalian harus menginisialisasi sendiri. Variabel global diinisialisasi secara otomatis oleh sistem ketika kalian mendefinisikannya sebagai berikut

Data Type Initializer
int 0
char '\0'
float 0
double 0
pointer NULL

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2