Anda di halaman 1dari 10

Sainur Idrussalam D0219412

Nurul Amalia D0219523

Rafli Adiguna S D0219525

BAB 20

Namespace

Namespace adalah sebuah fitur yang telah di kenalkan pada C++ standar, tepatnya pada tahun 1995.

Apa Itu Namespace?

Untuk mendefinisikan sebuah namespace di dalam program c++ kita harus menggunakan kata
kunci using.

Names[ace nama_namespace{

//deklarasi yang akan dilakukan

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.

Perhatikan contoh berikut:

Mendefinisikan namespace A

Namespace A {

//mendeklarasikan sebuah variable int x;

//mendefinisikan fungsi cetakx () di dalam namespace A

Void cetakx() {

Cout<<”Nilai x di dalam namespace A:”<<x<<endl;

}
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;

void cetakx(); //deklarasi fungsi

// definisi fungsi

A : :cetakx() {

Cout<<”Nilai x di dalam namespace A: “<<x<<endl;

Bagaimana cara untuk mendefinisikan kelas di dalam sebuah kelas di dalam sebuah
namespace? Berikut contohnya:

Namespace B

class contoh {

private;

int bilangan;

public:

Void SetBilangan (int nilai) {

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.

Menggunakan Operator Scope Resolution (: :)

Dalam namespace, operator : : digunakan untuk menyatakan kepemilikan


variable,konstanta,fungsi maupun kelas yang terdapat di dalam kelas. Cara yang di gunakan
untuk mengakses anggota (member dari sebuah namespace adalah:

Nama_namespace : : member

Berikut contoh yang akan menunjukkan cara akses anggota namespace menggunakan operator
scope resolution (: :)
KODE PROGRAM 19-1

#include <iostream>

using namespace std;

namespace A {

int x;

void setx (int nilai ) {

x = nilai;

int getx () {

return x;

int main() {

// mengakses dan mengisikan nilai x yang terdapat

//di dalam namespace A

A : : x = 100;

cout <<”Nilai x di dalam namespace A:”

<<A: : x<<endl;

//memanggil fungsi setx ()

//yang terdapat di dalam namespace A

A: : setx (200);

//memanggil fungsi getx ()

//yang terdapat di dalam namespace A

cout<<”Nilai x di dalam namespace A: “

<<A : : getx()<<endl;

return 0;

}
Apabila dijalankan program diatas akan member hasil seperti:

Nilai x di dalam namespace A: 100

Nilai x di dalam namespace A: 200

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>

using namespace std;

namespace NS {

class titik {

private:

int x;

int y;

public:

void setKoordinat (int nilaiX, int nilaiy) {

X = nilai x;

y = nilai y;

void geserVertikal (int deltay) {

y +=deltay;

void geserHorizontal (int deltax) {

x += deltax;
}

void cetakKoordinat () {

cout <<”Koordinat: {“<<x<<”, “<<Y<<”) “<<endl;

};

Int main() {

// melakukan instalasi kelas titik

NS : : titik A;

// mengeset nilai koordinat awal

A.setKoordinat(2, 5);

A.cetakKoordinat ();

// menggeser 2 nilai kebawah

A.geserVertikal(-2);

Cout<<”\nSetelah digeser 2 nilai kebawah “<<endl;

A.cetakKoordinat ();

// menggeset 3 nilai ke kanan

A.geserHorizontal(3);

Cout <<”\nSetelah digeset 3 nilai ke kanan “<<endl;

A.cetakKoordinat ();

Return 0;

}
Hasil yang diberikan dari program diatas adalah :

Koordinat: (2, 5)

Setelah di geser 2 nilai ke bawah

Koordinat: (2, 3)

Setelah di geser 3 nilai ke kanan

Koordinat: (5, 3)

#include<iostream>

Int main () {

Int bilangan;

Std: :cout<<Masukkan sebuah bilangan bulat : “;

std: :cin>>bilangan;

std: :cout<<Bilangan yang anda masukkan adalah: “

<<bilangan std: :<<endl;

Return 0;

int main() {

intBilangan;

std: :cout<<”Masukkan sebuah bilangan bulat: “;

std: :cin>>Bilangan;

std: :cout<<”Bilangan yang anda masukan adalah: “<<Bilangan<<std::endl;


return 0;

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:

usuing namespace: :member;

dan

using namespace nama_namespace;

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

Anda mungkin juga menyukai