• About
  • Contact
  • Sitemap
  • Privacy Policy

C++ No.14: Apa itu namespace, bagaimana cara menggunakannya??


Sebelum ke pokok pembahasan, bila kita amati, hampir semua kode dalam tutorial kita sebelumnya selalu diawali dengan:

using namespace std;

Apasih maksudnya??? Maksudnya adalah kita memanggil namespace yang memiliki nama ‘std’. Namespace ‘std’ merupakan standar namespace dari C++ yang dapat kita gunakan untuk memanggil class/object/fungsi yang terdapat di dalam namespace tersebut. Yup, tentu yang kita panggil dan selalu kita gunakan pada tutorial sebelumnya adalah cout dan cin :) . Bayangkan bila anda tidak mengetikan:

using namespace std;

Pasti anda tidak akan bisa menggunakan :

cout << a << endl;

Karena fungsi dari ‘cout’ itu sendiri berada di dalam namespace std yang harus kita definisikan di awal kode. Jadi, apa itu namespace??



Saya menggunakan Microsoft Visual Studio 2013 (IDE terbaru saat artikel ini ditulis). Untuk anda yang menggunakan software lain adalah sama saja penulisannya.

Namespace merupakan group atau kumpulan entities (class, object, function) yang dikelompokkan dalam satu nama. Perhatikan kode berikut ini, kita akan membuat sebuah namespace baru dengan nama mediatutorial.
Lihat gambar 1:


Lihat, kita membuat namespace, kita berikan nama ‘mediatutorial’ dan isi dari namespace tersebut adalah entities yang berupa variable a dan b. Variable ini berjenis integer (int). Mudah bukan?

Mari kita membuat namespace yang lain,
Lihat gambar 2:


Nah, kita kemudian membuat sebuah namespace baru, gampang kan cara membuat namespase yang baru ini?
Lalu bagaimana cara memanggilnya???
OK, perhatikan kode berikutnya,
Lihat gambar 3:


Gampang bukan???

Nah, untuk pemanggilan namespace itu sendiri kita dapat menggunakan nama dari namespace diikuti operator “ :: “. Contohnya pada kode di atas.

Selain itu kita juga bisa menggunakan ‘using’. Caranya adalah seperti pada kode berikut ini,
Lihat gambar 4:


Bila kita menggunakan using SEPERTI PADA KODE DI A TAS, maka kita tidak perlu menggunakan nama namespace diikuti ::, cukup langsung nama variable nya saja.

Nah, bisa juga menggunakan using SEPERTI DI BAWAH INI,
Lihat gambar 5:


Bila kita menggunakan using SEPERTI KODE TERSEBUT maka kita masih menggunakan ::. Ternyata banyak sekali bukan penulisan – penulisannya??

Apakah hanya sebatas itu?? Tidak, kita bisa menggabung – gabungkan penulisannya seperti pada kode berikut ini,
Lihat gambar 6:


Mudah bukan, kita bisa memakai gaya apa saja, entah itu pakai:

Using namespace mediatutorial;

Atau

Using mediatutorial:a;
Atau

Mediatutorial:a;

Sebetulnya apa sih fungsi dari namespace itu? Fungsi dari namespace adalah untuk meng-spesifikasi entities (class, function, variable) yang ada di dalam namespace, sehingga bila kita memiliki variable atau fungsi yang sama maka tidak akan saling bentrok dan overwrite.

Bayangkan bila anda membuat sebuah variable yang memiliki nama yang sama. Apa yang terjadi bila variable yang anda buat tersebut memiliki nama yang sama.

Apa yang terjadi bila fungsi yang anda buat memilki nama yang sama?

Ya, pasti akan di-overwrite atau error.

Nah, dengan namespace, kita bisa memanggil fungsi atau variable secara sendiri – sendiri meski variable atau fungsi tersebut memiliki nama yang sama.
Berikut merupakan contohnya:
Lihat gambar 7:


Nah, anda bisa lihat, kita sama sama membuat fungsi dengan nama ‘berapa’. Dengan menggunakan namespace maka tidak ada terjadi overwrite pada fungsi.

Mudah bukan pengertian apa itu namespace?? Mudah mudahan bermanfaat dan sampai jumpa kembali pada tutorial berikutnya.

Salam.

J-Theme