Bahasa C++
Adalah Sebuah Bahasa Pemrograman Komputer Yang Merupakan Perkembangan Dari
Bahasa C Di Kembangkan Oleh Bjane Stroustrup pada awal 1970-an, jika Bahasa C
menggunakan bahasa prosuderal maka Bahasa C++ menggunakan konsep pemrograman
berorientasi objek atau Object Oriented Programming. Salah satu perbedaan yang
sangat mencolok antara Bahasa C dan Bahasa C++ adalah adanya dukungan terhadap
konsep pemrograman berorientasi objek
C++ Mempunyai 32 Buah Kata yang di pesan
(reserved words). Kelompok pertama merupakan turunan dari Bahasa C
Pemrograman
dengan Bahasa C menggunakan 2 konsep:
- Data – Bahan yang akan diolah
- Algorithms – Metode pengolahan
Ada 2 jenis
method dalam pemrograman C+
- Method Return – Memiliki nilai kembali, contoh
int (sama seperti fungsi)
- Method Void – Tanpa memiliki nilai kembalian
(sama seperti prosedur)
Aplikasi
yang digunakan adalah DEV C++ dan anda juga bias menggunakan aplikasi lain
seperti Borland C++ atau Sublime Text
Untuk
membuat codingan pertama download terlebih dahulu aplikasi Dev C++ yang tertera
pada link tersebut
>>>>> Aplikasi Dev C++ <<<<<
Lalu anda install
aplikasi Dev C++ tersebut seperti biasa hingga selesai
Pertama
Anda buka
aplikasi Dev C++ Lalu Pilih File lalu pilih new dan pilih source file atau anda
bisa langsung CTRL+N
Lalu
tuliskan source code sebagai berikut
#include<iostream>
#include<stdlib.h>
#define MAX 20
#define INFINITY 9999
using namespace std;
class dijkstra
{
private:
int n;
int graph[MAX][MAX];
int colour[MAX];
int start;
int distance[MAX];
int predecessor[MAX];
enum {green,yellow,red};
public:
void read_graph();
void initialize();
int select_min_distance_lable();
void update(int);
void output();
void function();
};
void dijkstra::read_graph()
{
cout<<"Enter the no. of nodes in the graph ::";
cin>>n;
cout<<"Enter the adjacency matrix for the graph ::\n";
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>graph[i][j];
for(i=1;i<=n;i++)
colour[i]=green;
cout<<"Enter the start vertex ::";
cin>>start;
}
void dijkstra::initialize()
{
for(int i=1;i<=n;i++)
{
if(i==start)
distance[i]=0;
else
distance[i]=INFINITY;
}
for(int j=1;j<=n;j++)
{
if(graph[start][j]!=0)
predecessor[j]=start;
else
predecessor[j]=0;
}
}
int dijkstra::select_min_distance_lable()
{
int min=INFINITY;
int p=0;
for(int i=1;i<=n;i++)
{
if(colour[i]==green)
{
if(min>=distance[i])
{
min=distance[i];
p=i;
}
}
}
return p;
}
void dijkstra::update(int p) // p is a yellow colour node
{
cout<<"\nupdated distances are ::\n";
for(int i=1;i<=n;i++)
{
if(colour[i]==green)
{
if(graph[p][i]!=0)
{
if(distance[i]>graph[p][i]+distance[p])
{
distance[i]=graph[p][i]+distance[p];
predecessor[i]=p;
}
}
}
cout<<distance[i]<<'\t';
}
}
void dijkstra::output()
{
cout<<"****** The final paths and the distacnes are ******\n\n";
for(int i=1;i<=n;i++)
{
if(predecessor[i]==0 && i!=start)
{
cout<<"path does not exists between "<<i<<" and the start vertex "
<<start<<endl;
exit(1);
}
cout<<"path for node “<<i<<” is ::\n";
int j=i;
int array[MAX];
int l=0;
while(predecessor[j]!=0)
{
array[++l]=predecessor[j];
j=predecessor[j];
}
for(int k=l;k>=1;k=-k)
cout<<array[k]<<"->";
cout<<i<<endl;
cout<<"distance is "<<distance[i]<<endl<<endl<<endl;
}
}
void dijkstra::function()
{
cout<<"\n**********************************************************************\n";
cout<<"This program is to implement dijkstra’s algorithm using colour codes \n";
cout<<"**********************************************************************\n\n";
read_graph();
initialize();
//repeate until all nodes become red
int flag=0;
int i;
cout<<"\n\n******** The working of the algorithm is **********\n\n";
for(i=1;i<=n;i++)
if(colour[i]!=red)
flag=1;
cout<<"The initial distances are ::\n";
for(i=1;i<=n;i++)
cout<<distance[i]<<'\t';
cout<<endl;
while(flag)
{
int p=select_min_distance_lable();
cout<<"\nThe min distance lable that is coloured yellow is "<<p;
colour[p]=yellow;
update(p);
cout<<"\nnode "<<p<<" is coloured red "<<endl;
colour[p]=red;
flag=0;
for(i=1;i<=n;i++)
if(colour[i]!=red)
flag=1;
cout<<endl<<endl<<endl;
}
output();
}
main()
{
dijkstra d;
d.function();
}
Setelah
menuliskan Source code tersebut lalu anda pilih file lalu klik save as dan
masukan nama yang anda inginkan lalu klik save lalu pilih menu “Run”.
Kalau anda menggunakan aplikasi DEV C++, maka pilih menu “Compile and Run” yang
ada di toolbar “Execute” atau anda bisa menekan tombol F11 pada keyboard anda.
Sangat mudah
sekalikan belajar codingan salah satu belajar Bahasa C++, jadi silahkan
pelajari dengan benar dan baik, jika ada kesalahan atau error silahkan kirim
komentar anda pada halaman ini
Sekian materi pembelajaran teknik informatika yang
bisa saying berikan pada artikel ini.
Untuk melihat contoh-contoh pemrograman lainnya anda bisa melihat di
artikel lainnya. Semoga bermanfaat untuk mempelajari tentang pemrograman Bahasa
C++ dengan baik. Selamat Mencoba Salam Codingers