Minggu, 20 Desember 2015

Membuat Program Class dengan Menggunakan Dev C++

Assalamualaikum Wr. Wb.
Selamat pagi semua.
Kali ini saya ingin memberikan informasi tentang cara "Membuat Program Class dengan Menggunakan Dev C++". Posting ini merupakan tugas Dasar-Dasar Pemrograman beberapa hari lalu. Kali ini saya tidak membuat tutorial melainkan hanya ingin memberikan penjelasan tentang program class dengan Dev C++. Namun jika ingin membuatnya langkah-langkahnya sama dengan posting saya buat sebelumnya, yaitu Membuat Program Kalkulator Sederhana dengan Dev C++, tetapi perlu diganti di langkah kelima dengan kode-kode yang akan saya berikan.

--

Sebelumnya, saya ingin menjelaskan sedikit tentang program Class ini. Class memiliki kata kunci yang umum digunakan seperti public, private, dan protected. Public berarti akses yang diberikan secara umum kepada kelas-kelas turunannya maupun kepada lingkungan diluar program. Lalu, Private berarti akses yang diberikan hanya kepada kelas yang bersangkutan saja. Maksudnya setiap variabel atau fungsi yang tidak didefinisikan tingkat aksesnya secara otomatis akan ditetapkan sebagai data dengan tingakat akses private. Selanjutnya Protected, berarti akses yang diberikan hanya kepada kelas turunannya tetapi tetap tidak mengizinkan lingkungan luar program untuk mengakses data ini.

--

Class memiliki syntax dasar, yaitu :

class nama_class {
permission_label_1:
member1;
permission_label_2:
member2;
...
} nama_object;


atau

class nama_class {
permission_label_1:
member1;
permission_label_2:
member2;
...
};


--

Contoh program class dengan menggunakan Dev C++ 1 :

// classes example
#include <iostream>
class CRectangle {
int x, y;
public:
void set_values (int,int);
int area (void) {return (x*y);}
};
void CRectangle::set_values (int a, int b) {
x = a;
y = b;
}
int main () {
CRectangle rect;
rect.set_values (3,4);
cout<<"Area: "<<rect.area();
}

x dan y sudah ditentukan dengan int a dan int b yaitu 3 dan 4. sehingga tidak perlu menginputkan apapun.

Contoh program class 1 yang saya modifikasi yaitu mencari rumus luas dan volume kubus dengan menggunakan inputan dari keyboard :

#include <iostream>
using namespace std;
class Kubus {    
int x,y;  
public:    
void rusuk (int x);    
int luas (void) {
y=6*x*x;
return (y);
}
int volume (void) {
y=x*x*x;
return (y);
}
};
void Kubus::rusuk (int a){
x = a;
}
int main(int argc, char** argv) {
Kubus kotak;
int a;
cout<<"Masukkan Rusuk   : ";cin>>a;
kotak.rusuk (a);
cout<<"Luas             : "<<kotak.luas()<<endl;
cout<<"Volume           : "<<kotak.volume();
return 0;
}


PENJELASAN :

class Kubus {    
int x,y;  
public:    
void rusuk (int x);    
int luas (void) {
y=6*x*x;
return (y);
}
int volume (void) {
y=x*x*x;
return (y);
}
};


Class tersebut saya beri nama Kubus, dan variabel yang saya gunakan adalah variabel x dan y. Variabel x dan y ini merupakan integer dan memiliki tingkat akses private karena hanya di deklarasikan variabelnya saja, bukan nilainya. Tingkat akses public di atas digunakan untuk mengisi fungsi rusuk, luas, dan volume. Fungsi rusuk menggunakan void karena tidak memiliki nilai kembalian. Sementara fungsi luas dan volume menggunakan int karena memiliki nilai kembalian yaitu y, yang merupakan rumus untuk mencari luas kubus (y=6*x*x dan y=x*x*x).

void Kubus::rusuk (int a){
x = a;
}


Fungsi rusuk saya beri tanda scope :: karena fungsi rusuk merupakan bagian dari Class Kubus yang kemudian saya definisikan di luar class Kubus tersebut. Int a adalah nilai yang akan diberikan nanti, dan x = a merupakan perumpaan karena fungsi void rusuk pada bagian class Kubus menggunakan int x.

int main(int argc, char** argv) {
Kubus kotak;
int a;
cout<<"Masukkan Rusuk   : ";cin>>a;
kotak.rusuk (a);
cout<<"Luas             : "<<kotak.luas()<<endl;
cout<<"Volume           : "<<kotak.volume();
return 0;
}


Class Kubus memiliki turunan kotak karena kotak inilah yang nantinya akan dijalankan. Int a merupakan variabel yang nantinya akan kita inputkan untuk mencari luas dan volume kubus (int a merupakan rusuk). Untuk kotak.rusuk(a) digunakan karena kita menggunakan turunan kotak untuk mencari nilai rusuk yang merupakan a. Sedangkan kotak.luas() dan kotak.volume() adalah hasil dari fungsi int luas dan juga int volume yang sudah memiliki rumus sendiri.

--

Contoh program class dengan menggunakan Dev C++ 2 :

// class example
#include <iostream>
class CRectangle {
int x, y;
public:
void set_values (int,int);
int area (void) {return (x*y);}
};
void CRectangle::set_values (int a, int b) {
x = a;
y = b;
}
int main () {
CRectangle rect, rectb;
rect.set_values (3,4);
rectb.set_values (5,6);
cout<<"Rect area: "<<rect.area()<<endl;
cout<<"Rectb area: "<<rectb.area()<<endl;
}

x dan y sudah ditentukan dengan int a dan int b yaitu 3 dan 4, serta 5 dan 6. sehingga tidak perlu menginputkan apapun.

Contoh program class 2 yang saya modifikasi yaitu mencari rumus luas persegi dan luas persegi panjang dengan menggunakan inputan dari keyboard :

#include <iostream>
using namespace std;
class Segiempat {
    int x, y;
  public:
    void sisi (int x,int y);
    int luas (void) {
    return (x);
    }
};
void Segiempat::sisi (int a, int b) {
  x = a;
  y = b;
}
int main () {
  Segiempat persegi, panjang;
  int a,b;
  cout<<"Masukkan Panjang/Sisi  : ";cin>>a;
  cout<<"Masukkan Lebar         : ";cin>>b;
  persegi.sisi(a,a);
  panjang.sisi(a,b);
  cout<<"Luas Persegi           : "<<persegi.luas()*a<<endl;
  cout<<"Luas Persegi Panjang   : "<<panjang.luas()*b<<endl;
return 0;
}


PENJELASAN :

#include <iostream>
using namespace std;
class Segiempat {
    int x, y;
  public:
    void sisi (int x,int y);
    int luas (void) {
    return (x);

}
};


Class tersebut saya beri nama Segiempat, dan variabel yang saya gunakan adalah variabel x dan y. Variabel x dan y ini merupakan integer dan memiliki tingkat akses private karena hanya di deklarasikan variabelnya saja, bukan nilainya. Tingkat akses public di atas digunakan untuk mengisi fungsi sisi dan luas. Fungsi sisi menggunakan void karena tidak memiliki nilai kembalian. Sementara fungsi luas menggunakan int karena memiliki nilai kembalian yaitu x. Yang nantinya akan diberikan rumus untuk mencari luas persegi dan persegi panjang.

void Segiempat::sisi (int a, int b) {
  x = a;
  y = b;
}


Fungsi sisi saya beri tanda scope :: karena fungsi sisi merupakan bagian dari Class Segiempat yang kemudian saya definisikan di luar class Segiempat tersebut. Int a dan int b adalah nilai yang akan diberikan nanti, dan x = a, y = b merupakan perumpaan karena fungsi void sisi pada bagian class Segiempat menggunakan int x dan int y.

int main () {
  Segiempat persegi, panjang;
  int a,b;
  cout<<"Masukkan Panjang/Sisi  : ";cin>>a;
  cout<<"Masukkan Lebar         : ";cin>>b;
  persegi.sisi(a,a);
  panjang.sisi(a,b);
  cout<<"Luas Persegi           : "<<persegi.luas()*a<<endl;
  cout<<"Luas Persegi Panjang   : "<<panjang.luas()*b<<endl;
return 0;
}


Class Segiempat memiliki dua turunan yaitu persegi dan panjang. Kedua turunan inilah yang nantinya akan dijalankan. Int a dan int b merupakan variabel yang nantinya akan kita inputkan untuk mencari luas persegi dan luas persegi panjang (int a merupakan panjang/sisi dan int b merupakan lebar). Untuk persegi.sisi(a,a) digunakan karena kita menggunakan turunan persegi untuk mencari nilai sisi yang merupakan a (a,a karena bilangannya sama). Untuk panjang.sisi(a,b) digunakan karena kita menggunakan turunan panjang untuk mencari nilai panjang dan lebar yang merupakan a dan b (a,b karena bilangannya berbeda). Sedangkan persegi.luas() dan panjang.luas() adalah hasil dari fungsi int luas yang sudah memiliki rumus sendiri (persegi.luas menggunakan rumus a*a, dan panjang.luas menggunakan rumus a*b).

--

Contoh program class dengan menggunakan Dev C++ 3 :

#include <iostream>
#include <conio.h>
class p_panjang {
  public:
     int p,l;
     int luas(){
return (p*l);
}
};
main(){
  p_panjang a;
  a.p=5;
  a.l=9;
  cout<<"Luas = "<<a.luas();
  getch();
}

p dan l sudah ditentukan dengan int p dan int l yaitu 5 dan 9, sehingga tidak perlu menginputkan apapun.

Contoh program class 3 yang saya modifikasi yaitu mencari rumus luas segitiga dengan menggunakan inputan dari keyboard :

#include <iostream>
using namespace std;
class Segitiga {
  public:
     int a,t;
     int luas(){
     return ((a*t)/2);
     }
};
main() {
  Segitiga tiga;
  int a,b;
  cout<<"Masukkan Alas   : ";cin>>a;
  cout<<"Masukkan Tinggi : ";cin>>b;
  tiga.a=a;
  tiga.t=b;
  cout<<"Luas = "<<tiga.luas();
}


PENJELASAN :

#include <iostream>
using namespace std;
class Segitiga {
  public:
     int a,t;
     int luas(){
     return ((a*t)/2);
     }
};


Class tersebut saya beri nama Segitiga, dan variabel yang saya gunakan adalah variabel a dan t. Berbeda dengan contoh 1 dan 2, di contoh 3 ini variabel a dan t merupakan integer dan dimasukkan ke dalam tingkat akses public agar dapat di deklarasikan di dalam main. Tingkat akses public di atas digunakan untuk mengisi fungsi luas. Fungsi luas menggunakan int karena memiliki nilai kembalian yaitu (a*t)/2 yang merupakan rumus luas segitiga.

main() {
  Segitiga tiga;
  int a,b;
  cout<<"Masukkan Alas   : ";cin>>a;
  cout<<"Masukkan Tinggi : ";cin>>b;
  tiga.a=a;
  tiga.t=b;
  cout<<"Luas = "<<tiga.luas();
}


Class Segitiga memiliki turunan tiga karena tiga inilah yang nantinya akan dijalankan. Int a dan b merupakan variabel yang nantinya akan kita inputkan untuk mencari luas segitiga (int a merupakan alas dan int b merupakan tinggi). Untuk tiga.a=a dan tiga.b=b karena kita menginputkan int a dan int b pada turunan tiga untuk mencari nilai alas dan tinggi. Sedangkan tiga.luas() adalah hasil dari fungsi int luas yang sudah diberikan rumus sebelumnya.

--

Demikian penjelasan saya kali ini tentang Membuat Program Class dengan Menggunakan Dev C++. Anda dapat mengubah kode-kode yang telah saya berikan, dan jika ada yang ingin ditanyakan silahkan bertanya di kotak komentar yang telah disediakan. Jika bahasa yang saya gunakan sedikit ribet dan sulit saya mohon maaf. Mohon maaf atas segala kekurangan.

Selamat pagi.
Wassalamualaikum Wr. Wb.

27 comments:

  1. Wah gan penjelasan tentang Program Class di C++nya komplit banget, ane bokmark dulu buat nanti d lanjutin bacanya, soalnya sekarang lagi tanggung nonton kimochi :v
    Thank udah di share, moga dapet berkah :)

    BalasHapus
    Balasan
    1. silahkan di bookmark gan :D siapa tau bisa jadi pembelajaran. semoga diberi hidayah :3

      Hapus
  2. bedanya dev c+ ama c++ apa ya gan?

    BalasHapus
    Balasan
    1. dev c++ itu software yang digunakan. sementara c++ itu bahasa yang digunakan untuk membuat program.

      Hapus
  3. mantap sob buat koleksi script ane, coba bikin appnya sob

    BalasHapus
    Balasan
    1. wiihh udah ada koleksi script apa aja gan? :D wah iya saya lupa ss nya hehe

      Hapus
  4. mantep gan thanks :) agak sulit sih :D

    BalasHapus
    Balasan
    1. iya gan sama sama :) iya memang awalnya sulit tapi kalau belajar jadi mudah :D

      Hapus
  5. boleh nih infonya... sangat lengkap dan bantu banget

    BalasHapus
    Balasan
    1. hehe makasih gan. Alhamdulillah jika membantu :D

      Hapus
  6. silahkan di coba gan. semoga bermanfaat :3

    BalasHapus
  7. ane lagi balajar juga nih gan pake dev c,lumayan buat belajar

    BalasHapus
    Balasan
    1. ane juga lagi belajar karena kebutuhan kuliah :3

      Hapus
  8. Mantap Gan artikel di post ente sangat berguna sekali :)

    BalasHapus
    Balasan
    1. Alhamdulillah jika berguna untuk orang lain :) hehe

      Hapus
  9. waaah bagus nih tutorialnya, patut dicoba..... terima kasih gan infonya...

    BalasHapus
  10. ane tertarik nih dgn coding tapi gatau hrs mulai dari mana

    BalasHapus
    Balasan
    1. harus dimulai dari niat gan :D dan abis itu pelajari materi" tentang ngoding. biasanya kalau kuliah dikasih tau hehe.

      Hapus
  11. aik sulit amat nih gan cara-caranya, tapi ijin bookmark deh gan buat dipelajari nanti :V

    BalasHapus
    Balasan
    1. sulit tapi gak bikin melilit kok gan :3 silahkan..

      Hapus
  12. membantu sekalee sob. kalo boleh minta ada gak contoh program yg menggunakan 2 kelas atau lebih

    BalasHapus