Penjelasan Scope atau Ruang Lingkup

Posted on   Januari 22, 2018   |   Last Modified   September 6, 2018
Scope

Penjelasan Scope atau Ruang Lingkup

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.

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”.

Dan di bawah ini merupakan 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

Peraturan dalam ruang lingkup yang perlu diperhatikan:

  • 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
Baca :   Pernyataan dan Kontrol Aliran

Contoh program yang salah :

#include <iostream>
using namespace std;

int main ()
{
	int c = a; //salah
	int a = 1;
	++ a;
	{
		int a = 2;
		a = 42;
		cout<<a<<endl;
	}
	cout<<a<<endl;
}
int b = a; //salah

Contoh program yang benar :

#include <iostream>
using namespace std;

int main ()
{
	int a = 1;
	++ a;
	{
		int a = 2;
		a = 42;
		cout<<a<<endl;
	}
	cout<<a<<endl;
}

2 Replies to “Penjelasan Scope atau Ruang Lingkup”

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *