Namespaces
Konsep namespaces dibuat untuk menghindari timbulnya konflik penamaan variabel, konstanta, nama fungsi dan nama kelas.
Namespaces sangat berguna saat menyelesaikan program-program besar yang memiliki kompleksitas yang tinggi. Artinya, program akan dipecah atau dikelompokkan berdasarkan namespace-namespace yang berlainan.
Alias Namespaces
Apabila sebuah namespace terlalu panjang, maka kita dapat mebuat alias untuk namespace tersebut dengan nama yang pendek sehingga akan mudah dalam penggunaannya.
Alias namespace bukan berarti membuat namespace baru, melainkan membuat nama baru untuk sebuah namespace
Namespaces Bersarang
Sebuah namespace tidak dapat didefinisikan di dalam lingkup (Scope) program lainnya. Sebagai contoh kita tidak dapat mendefinisikan namespace baru didalam sebuah fungsi, blok perulangan maupun lingkup program lainnya.
Namun sebuah namespace dapat didefinisikan didalam sebuah namespace lainnya. Hal ini disebut nested namespace atau namespace bersarang.
Contoh program:
#include <iostream.h>
namespace ContohSebuahNamespaceYangPanjang
{
int alas=0;
int tinggi=0;
double luas;
void setAlas(int nilai)
{
alas=nilai;
}
void setTinggi(int nilai)
{
tinggi=nilai;
}
double HitungLuas()
{
luas=(alas*tinggi)/2;
return luas;
}
}
int main()
{
namespace hitungLuas=ContohSebuahNamespaceYangPanjang;
hitungLuas::setAlas(10);
hitungLuas::setTinggi(3);
cout<<"Luas adalah "<<hitungLuas::HitungLuas()<<endl;
return 0;
}
Contoh program 2:
#include <iostream>
using namespace std;
namespace Satu {
int x= 10;
int y= 11;
void printSatu ()
{
cout<< "namespace Satu" << "\n";
}
}
namespace Dua {
float x= 21.89;
float y= 20.55;
void printDua ()
{
cout<< "namespace Dua" <<"\n";
}
}
int main()
{
using namespace Dua;
printDua();
cout<<"x namespace Dua:" << x <<"\n";
cout<<"y namespace Dua:" << y <<"\n";
cout<<"-----------------------------"<<"\n";
cout<<"x namespace Satu:"<< Satu::x <<"\n";
cout<<"y namespace Satu:"<< Satu::y <<"\n";
Satu::printSatu();
return 0;
}
Kelompok 3:
Bayu Rakasiwi Elsya
M. Apriyanto M. Tomy Ismail
Santi Novitasari
Shinta Widyaningsih
Wiwin Andriyani
Yogi AdiChandra