BAB 20
Namespace
Namespace adalah sebuah fitur yang telah di kenalkan pada C++ standar, tepatnya pada tahun 1995.
Untuk mendefinisikan sebuah namespace di dalam program c++ kita harus menggunakan kata
kunci using.
Names[ace nama_namespace{
Dari bentuk umum diatas apat kita lihat bahwa namespace sebenarnya adalah sebuah lingkup
(scope) dimana semua program,variable,konstanta, maupun kelas yang di deklarasikan di dalamnya
hanya akan dikenal di dalam lingkup itu saja.
Mendefinisikan namespace A
Namespace A {
Void cetakx() {
}
Pada kode diatas kita mendefinisikan sebuah namespace dengan nama A yang ada di dalamnya memiliki
satu variable dan fungsi anggota(member) function).
Namespace A {
int x;
// definisi fungsi
A : :cetakx() {
Bagaimana cara untuk mendefinisikan kelas di dalam sebuah kelas di dalam sebuah
namespace? Berikut contohnya:
Namespace B
class contoh {
private;
int bilangan;
public:
Bilanngan = nilai;
int getBilangan () {
return bilangan ;
}
Kode diatas menunjukkan bahwa kita mendefinisikan kelas dengan nama contoh di dalam
namespace B.
Menggunakan Namespace
Setelah mengetahui cara mendefinisikan namespace, selanjutnya yang perlu di pahami adalah
bagaimana cara menggunakannya di dalam program. Dengan kata lain, bagaimana kita dapat
mengakses variable, konstanta, fungsi maupun kelas yang di deklarasikan dalam sebuah
namespace. Terdapat dua cara untuk melakukan hal ini, yaitu dengan menggunakan operator : :
dan menggunakan kata kunci using.
Nama_namespace : : member
Berikut contoh yang akan menunjukkan cara akses anggota namespace menggunakan operator
scope resolution (: :)
KODE PROGRAM 19-1
#include <iostream>
namespace A {
int x;
x = nilai;
int getx () {
return x;
int main() {
A : : x = 100;
<<A: : x<<endl;
A: : setx (200);
<<A : : getx()<<endl;
return 0;
}
Apabila dijalankan program diatas akan member hasil seperti:
Tampak pada kode diatas kita dapat melakukan pemanggilan variable x dari fungsi utama (fungsi
main ()) dengan menggunakan A : : x.
Mula-mula kita isikan nilai kedalam variable x dengan nilai 100. Selanjutnya pada baris
berikutnya kita memanggil fungsi setx () dengan menggunakan A: : set (200).Ini berarti bahwa
kita mengubah nilai x menjadi 200 sehingga pada saat nilai tersebut dipanggil lagi dengan
perintah A: : getx (), maka yang akan ditampilkan adalah nilai x terakhir yaitu 200 .
Selanjutnya, kita akan membahas bagaimana cara menggunakan kelas yang terdapat di dalam
namespace? Namun, sebelumnya, coba perhatikan contoh program di bawah ini:
Kode Program 19-2
#include<iostream>
namespace NS {
class titik {
private:
int x;
int y;
public:
X = nilai x;
y = nilai y;
y +=deltay;
x += deltax;
}
void cetakKoordinat () {
};
Int main() {
NS : : titik A;
A.setKoordinat(2, 5);
A.cetakKoordinat ();
A.geserVertikal(-2);
A.cetakKoordinat ();
A.geserHorizontal(3);
A.cetakKoordinat ();
Return 0;
}
Hasil yang diberikan dari program diatas adalah :
Koordinat: (2, 5)
Koordinat: (2, 3)
Koordinat: (5, 3)
#include<iostream>
Int main () {
Int bilangan;
std: :cin>>bilangan;
Return 0;
int main() {
intBilangan;
std: :cin>>Bilangan;
Pada contoh kode di atas kita menggunakan cout, cin, dan endl yang semuanya berada di
dalam namespace std ( namespace yang sudah di sediakan olehc++). Di situ terlihat bahwa kita
menggunakan operator : : setiap kali melakukan pemanggilan terhadap cout, cin, maupun endl.
Sekarang coba anda bayangkan apabila didalam program yang kita bua t terdapat banyak sekali
penggunaan cout, cin, maupun endl? Apakah kita akan selalu menuliskannya dengan cara std: :
cout, std: :cin, danstd: : endl? Hal ini tentu akan sangat merepotkan. Maka dari itu, untuk
meningkatkan efisiensi kode program yang kita yulis, c++menyediakan kata kunci using untuk
memberikan solusi atas masalah seperti ini.
Terdapat dua cara untuk menggunakan kata kunci using, yaitu sebagai berikut:
dan
Bentuk pertama digunakan apabila kita hanya akan menggunakan sebuah anggota namespace
saja. Sebagai contoh, apabila dalam program yang kita buat hanya akan meggunakan cout saja
(tanpa menggunakan cin dan endl),
Dengan menyertakan kode di atas, kita tidak perlu lagi menuliskan std: :cout untuk melakukan
pemanggilan terhadap cout.
Tampak bahwa setelah kita mendaftarkan cout dengan kata kunci using, kita tidak perlu lagi
menuliskan std: :cout di dalam program. Dengan demikian, kita dapat secara langsung
menulisnya dengan cout saja.
#include <iostream>
Usingstd : :cout;
Usingstd: :endl;
namespaceNSStack {
class Stack {
private:
int *A;
intatas;
Hal yang akan di berikan oleh program di atas adalah sebagai berikut:
10