Showing posts with label BAHASA Cplus. Show all posts
Showing posts with label BAHASA Cplus. Show all posts

Wednesday, April 26, 2017

NAMESPACE C++,COMPILE dan LINKING

Hari ini saya akan memposting namespace,compile danlingking pada c++.

NAMESPACE

 Namespace adalah sebuah pengelompokan progam agar progam tidak bertabrakan, contoh progam yang menggunakan namespace :

#include<iostream>
using namespace std;
int main(){
int a;
a = 7;
cout<<a;
}

jika progam tanpa namespace :

#include<iostream>

int main(){
int a;
a = 7;
std::cout<<a;
}

using namespace std adalah standart dari C++ yang digunakan sebagai pemanggilan class atau object atau fungsi yang terdapat dilibrary.

lalu bagaimana bisakah kita membuat namespace sendiri, jawabannya bisa sudah dijelaskan bahwa namespace adalah sebuah pengelompokan suatu objek, contoh seperti dibawah ini:

#include<iostream>
using namespace std;

namespace B{
 int y;
 void setY(int nilai)
 {
  y=nilai;
 }
 int getY()

 {
  return y;
 }
}
int main()
{
 B::y=100;
 cout<<"Nilai x dalam namespace B : "<<B::y<<endl;
 B::setY(200);
 cout<<"Nilai X dalam namespace B : "<<B::y<<endl;
 return 0;
}

lalu bisakah kita menggunakan lebih dari 1 namespace buatan sendiri, jawabannya tentu saja bisa kalaupun error itu pasti karena kesalahan penulisan code progam, lebih dari 1 namespace buatan sendiri seperti contoh dibawah ini :

#include<iostream>
using namespace std;

namespace B{
 int y;
 void setY(int nilai)
 {
  y=nilai;
 }
 int getY()

 {
  return y;
 }
}

namespace A{
 int x;
 void setX(int nilai)
 {
  x=nilai;
 }
 int getX()

 {
  return x;
 }
}
int main()
{
 A::x=100;
 cout<<"Nilai x dalam namespace A : "<<A::x<<endl;
 A::setX(200);
 cout<<"Nilai X dalam namespace A : "<<A::x<<endl;
  B::y=300;
 cout<<"Nilai x dalam namespace B : "<<B::y<<endl;
 B::setY(400);
 cout<<"Nilai X dalam namespace B : "<<B::y<<endl;
 return 0;
}


COMPILE dan LINKING

Bahasa Pemrograman yang dibuat oleh seorang progammer tentu saja hanya dapat dimengerti oleh progammer tersebut, agar progam dapat diketahui komputer maka progam tersebut akan diterjemahkan kedalam bahasa mesin melalui 2 metode yaitu,
Interpreter : merupakan jenis penerjemahan secara baris perbaris setiap saat,
compiler : merupakan penerjemahan yang dilakuka secara menyeluruh dari awal intruksi atau kode progam sampai akhir progam. Lingking yaitu proses pengaitan antar object yang sudah terbuat dengan file file library yang dibutuhkan kemudian menghasilkan progam yang dapat dieksekusi.

Kurang lebih seperti ini File.cpp dicompile masuk ke file object (.obj atau .o) masuk kelinker dilinker dia mengambil file library (.lib) dan file object lain lalu mengeluarkan file executable (.exe). diagramnya seperti gambar dibawah ini :













Tuesday, April 25, 2017

SCRIPT BAHASA C++ INHERITANCE

Halo sobat kali ini saya akan share sebuah script inheritance bahasa c++. Inheritance itu apa sih?? Inheritance adalah dimana keadaaan progam memiliki sebuah induk dan induk tersebut dapat mewarisi nilai terhadap anaknya contoh, disini saya membuat 1 kelas induk yaitu “shape” dan memiliki 2 kelas anak yaitu “circle” dan “rectangular”, dimana sang induk mewarisi fungsi area keanaknya, berikut codingannya. ini terdiri dari 2 file 1 berformat "cpp" dan 1 berformat ".h",yang dicompile yang cpp!
  
!!!INI UNTUK FORMAT CPP!!!
#include <iostream>
#include "shape.h"

using namespace std;

int main()
{
                circle a;
                a.set_position(1,1);
                a.set_radius(5);
                cout<<a.area()<<endl;
               
                rect rec;
                rec.set_radius(3,10);
                cout<<rec.area()<<endl;
               
                return 0;
}


!!!INI UNTUK FORMAT .h!!!
class shape
{
                float x;
                float y;
               
public:
                void set_position(float _x, float _y);
                float area();
};

void shape::set_position(float _x, float _y)
{
                x = _x;
                y = _y;
}

float shape::area()
{
                return 0;
}

//-----end of shape-------//
//-----rectangulare-------//

class rect: public shape
{
                float width;
                float height;
               
public:
                void set_radius(float w, float h);
                float area();
};
void rect::set_radius(float w, float h)
{
                if(w < 0) w = 0;
                if(h < 0) h = 0;
                width=w;
                height=h;
}
float rect::area()
{
                return width * height;
}

//-------circle--------//
class circle: public shape
{
                float radius;
               
public:
                void set_radius(float x);
                float area();
};
void circle::set_radius(float x)
{
                if(x < 0) x = 0;
                radius = x;
}

//overriding//
float circle::area()
{
                return 3.14 * (radius * radius);
}







Saturday, April 22, 2017

SELECTION SORT DAN BINARY SEARCH

Kali ini saya akan posting penggabungan antara selection sort dan binary search sebelum masuk kescript alangkah baiknya kita mempelajari apa itu selection sort dan apa itu binary search.

Selection sort adalah salah satu metode pengurutan dimana data dibandingakan satu persatu sampai data terurutkan secara kecil kebesar atau besar kekecil, contoh ada data 27, 16, 44, 10 maka data akan diurukan seperti gambar dibawah ini, saya beri contoh ascending / kecil kebesar :


step pertama data 27 dan 16 dibandingkan apakah data 27 lebih kecil atau lebih besar dari 16 jika lebih besar maka data akan digeser seperti gambar dibawah :





jika angka lebih kecil maka data tidak digeser :







angka 10 adalah angka terkecil maka data diurukan lagi mulai dari step pertama dengan mengabaikan angka 10 :





Binary search adalah salah satu metode pencarian dimana data harus sudah urut (kecil kebesar atau besar ke kecil) dan data nanti akan dibagi menjadi 3 bagian yaitu low, mid, dan high contoh ada data 1, 2, 3, 4, 5 dan kita akan mencari bilangan 5. maka data dibagi menjadi 3 yaitu  1 dan 2 adalah low, 3 adalah mid, 4 dan 5 adalah high, seperti gambar dibawah ini






lalu angka yang dicari yaitu angka 5 dia termasuk kedalam high maka low dicoret seperti gambar dibawah



maka low berada diangka 3 mid diangka 4 dan high diangka 5, karena low sebelumnya tadi sudah dicoret seperti gambar dibawah





maka pencarian pun selesai karena data 5 telah ditemukan



dibawah ini adalah penggabungan antara selection sort dan bubleserch copy paste boleh tapi juga dipelajari ya

#include <conio.h>
#include <iostream>
#include <iomanip>
using namespace std;
void selection_sort( int data[])
{
      int temp;

      for(int i=0; i<10;i++){        
            for(int j = i+1; j<10; j++)
                  {
                  if(data[i]>data[j])
                  {
                    temp = data[i];
                    data[i]  = data[j];
                    data[j] = temp;
                  }
            }
      }
}
int main()
{
      int data[10];
      int cari;
      cout<<"\t   'BINARY SEARCH'"<<endl;
      cout<<"\t====================="<<endl;
   
      cout<<"\nMasukkan 10 Data : ";  
      for(int x = 0; x<10; x++)
            cin>>data[x];
      cout<<"\nMasukkan data yang ingin Anda cari : ";
      cin>>cari;
      cout<<"\nData diurutkan : ";
      selection_sort(data);

      for(int x = 0; x<10;x++)
            cout<<setw(3)<<data[x];
      cout<<endl;
      int awal, akhir, tengah, b_flag = 0;  
      awal = 0;
      akhir = 10;
   
      while (b_flag == 0 && awal<=akhir)
      {
            tengah = (awal + akhir)/2;        
            if(data[tengah] == cari)
            {
                  b_flag = 1;
                  break;
            }
            else if(data[tengah]<cari)
                  awal = tengah + 1;
            else
                  akhir = tengah -1;
      }
      if(b_flag == 1)
            cout<<"\nData ditemukan pada index ke-"<<tengah<<endl;
             
      else
            cout<<"\nData tidak ditemukan\n";
       

      _getche();
      return 0;
  }



gimana penjelasan diatas mudah mudahan kalian paham dan menambah ilmu serta wawasan kalian sekian postingan dari saya terimakasih.

Saturday, April 1, 2017

SCRIPT BAHASA C++ POLYMORPHIS

Yo whatsapp, kali ini saya akan share tentang polymorphis. Polymorphis itu apa sih???


Dimana sang induk dapat mewarisi nilai kepada anaknya sekaligus dapat meniru sang anak contoh script dibawah nama kelas induk class shape dia menurunkan fungsi draw kepada 3 anaknya yaitu class circle,rect,dan tri, nah siinduk shape dia juga dapat meniru draw anaknya yang memiliki isi yang berbeda,  ini codenya. Ingat ini terdiri dari 2 file satu berformat “cpp” dan satu berformat “.h” dang yang dicompile yang “cpp” ya .


!!!INI UNTUK FORMAT CPP!!
#include <iostream>
#include "shape.h"

int main()
{
               
                circle c;
                c.set_position(6, 1);
                c.draw();
               
                rect r;
                r.set_position(8, 4);
                r.draw();
               
                tri t;
                t.set_position(9, 3);
                t.draw();
               
               
                std::cout<<"ini polymorphis\n";
                shape* sp = &c;
                sp->draw();

                sp = &r;
                sp->draw();

                sp = &t;
                sp->draw();
               
                return 0;
}


!!!INI UNTUK FORMAT .H!!!
class shape
{
public:
                void set_position(float x, float y);
                virtual void draw();
protected:
                float x;
                float y;
};

void shape::set_position(float _x, float _y)
{
                x = _x;
                y = _y;
}

void shape::draw()
{
                std::cout<<"draw a shape {";
                std::cout<< x << ", " << y << "}\n";
}

//--------cicrle-----------//

class circle: public shape
{
                public:
                                void draw();
};

void circle::draw()
{
                std::cout<<"draw a circle at {";
                std::cout<< x << ", " << y << "}\n";
}

//--------rectangular-----------//

class rect: public shape
{
                public:
                                void draw();
};

void rect::draw()
{
                std::cout<<"draw a rect at {";
                std::cout<< x << ", " << y << "}\n";
}

//--------triangle-----------//

class tri: public shape
{
                public:
                                void draw();
};

void tri::draw()
{
                std::cout<<"draw a tri at {";
                std::cout<< x << ", " << y << "}\n";
}





NAMESPACE C++,COMPILE dan LINKING

Hari ini saya akan memposting namespace,compile danlingking pada c++. NAMESPACE  Namespace adalah sebuah pengelompokan progam agar proga...