Penjelasan Namespace

Written by: Fajar Laksono   |   Updated on: Mei 9, 2020
namespace

Penjelasan Namespace

Namespace (Dalam Indonesia: Ruang Nama) adalah ruang lingkup dengan nama digunakan untuk pengelompokan entitas seperti Class, Variable, Object dan Function.

Untuk mendirikan sebuah Namespace dibutuhkan sebuah kata kunci namespace dan dilanjutkan dengan identitas dari Namespace tesebut, untuk pengelompokan entitas, diletakan di dalam sepasang tanda kurung kurawal { } setelah nama dari Namespace.

Bentuk penulisan:

namespace identitas{
	//daftar entitas
}

Dengan menggunakan namespace dapat memisahkan beberapa entitas dari Global Scope dan mengelompokanya dalam suatu nama, hal ini dapat meminimalisir adanya benturan antar identitas dengan cara melakukan pengelompokan.

karena suatu entitas akan dimasukan dalam kelompok, maka jika ingin memanggil atau menggunakan suatu entitas harus melalui nama dari Namespace tersebut dengan cara menggunakan Scope Operator ::. Di bawah adalah contoh deklarasi dan pemanggilan entitas di dalam Namespace:

Contoh penulisan:

namespace kodeku{ //contoh deklarasi namespace
	string nama="hallo semua";
}
kodeku::pesan; //contoh pemanggilan

Contoh program:

#include <iostream>
using namespace std; 
//namespace std diperkenalkan di global scope

namespace sistemSekolah{ 
//namespace sistemSekolah didirikan
    string nama = "Sekolah Belajar C++"; 
    //anggota variabel dari namespace
}

int main()
    cout<<"dari : "<<sistemSekolah::nama<<endl;   
    //mengakses anggota variabel "nama" 
    //dari namespace
    //sistem sekolah menggunakan scope operator

    return 0;
}

Penggunaan kata kunci using

using adalah sebuah kata kunci yang digunakan untuk memperkenalkan suatu Namespace kepada suatu ruang lingkup, dengan ini kita tidak diwajibkan lagi untuk menyertakan nama dari Namespace dan Scope Operator :: setiap kali mencoba untuk mengakses entitas dari Namespace tersebut.

Contoh penulisan:

using namespace std;
using namespace sistemSekolah;

Contoh program:

#include <iostream>
using namespace std; 
//namespace std diperkenalkan di global scope

namespace sistemSekolah{ 
//namespace sistemSekolah didirikan
    string nama = "Sekolah Belajar C++";
    string pesan(){
        return "hallo semua";
    }
}

int main()
{
    {
        using namespace sistemSekolah;
        //namespace sistem sekolah 
        //diperkenalkan 
        //di ruang lingkup lokal

        cout<<pesan()<<endl;
        //penggunaan nama dari namespace 
        //tidak diperlukan lg
    }
    cout<<"dari : "<<sistemSekolah::nama<<endl; 
    
    //penggunaan nama dari namespace diperlukan
    //cout dan endl masuk ke dalam namespace
    //std, 
    //dan karena telah diperkenalkan di
    //ruang lingkup global maka tidak 
    //diperlukan
    //penyebutan nama dari namespace setiap 
    //penggunaannya

    return 0;
}

Membuat Alias Namespace

Bahasa pemrograman C++ dimungkinkan untuk membuat alias pada suatu Namespace, dengan hanya menggunakan Assignment operator.

Baca :   Penjelasan Variabel Global dan Kata Kunci Extern

Contoh penulisan:

namespace nama_baru = nama_yg_ada;

Nested Namespace

Namespace juga dimungkinkan untuk melakukan nested atau mendeklarasikan Namespace di dalam Namespace lainnya. Dengan ini, pemanggilan suatu entitas akan dilakukan secara bertingkat menggunakan Scope Operator ::.

Bentuk Pemanggilan:

namespace_lvl_1::namespace_lvl_2::entitas


Tinggalkan Balasan

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