Konsep OOP di Visual Basic C++ 2005

Dalam konsep OOP (Object Oriented Programming) salah satu syarat dari bahasa pemrograman agar dapat dikelompokan kedalam bahasa pemrogramman yang mendukung OOP yaitu class. Visual C++ 2005 yang merupakan bahasa pemrograman berbasis OOP-pun mendukung class.
Ditutorial ini yang akan saya bahas yaitu mengenai class yang berisi beberapa method dan juga cara membuat sebuah object/instance class.

Setiap kali membuat sebuah class baru maka harus juga dibuat 2 buah file baru dengan nama yang sama, yaitu satu file header dengan ekstensi *.h dan satu file source yang berekstensi *.cpp.
Misalkan ingin dibuat sebuah class dengan nama Class1, maka harus dibuat juga file Class1.h dan Class1.cpp. Dengan menggunakan Visual C++ 2005 hal tersebut bisa diatasi dengan mudah karena akan dapat dibuat secara langsung oleh Visual C+ 2005.

File header berguna untuk menampung prototype dari konstruktor class dan juga prototype dari setiap method yang ada di dalam class tersebut. Sedangkan file source berguna untuk menampung baris perintah atau isi dari constructor dan method tersebut.

Ok buatlah sebuah project baru kemudian designlah form seperti gambar berikut ini :


form tersebut terdiri dari 4 buah componen yaitu label, maskedtextbox, combobox, button.
aturlah properties dari form tersebut seperti dibawah ini :


    Nama Kontrol : Form1
    Properties : AcceptButton
    Nilai : button1

    Nama Kontrol : From1
    Properties : Text
    Nilai : Konversi Suhu

    Nama Kontrol : label1
    Properties : Text
    Nilai : Input Suhu

    Nama Kontrol : label2
    Properties : Text
    Nilai : Pilihan Konversi

    Nama Kontrol : label3
    Properties : Text
    Nilai : Hasil

    Nama Kontrol : label4
    Properties : Text
    Nilai : Celcius

    Nama Kontrol : maskedtextbox1
    Properties : Mask
    Nilai : 00

    Nama Kontrol : combobox1
    Properties : Items
    Nilai : Fahrenheit, Reamur, Kelvin

    Nama Kontrol : combobox1
    Properties : Text
    Nilai : Fahrenheit

    Nama Kontrol : button1
    Properties : Text
    Nilai : Konversi





kemudian tambahkan sebuah class baru dengan mengklik menu dropdown Add New Item yang ada pada toolbar lalu pilih Add Class atau dengan menggunakan kombinasi tombol shorcut SHIFT + ALT + C. Pada jendela yang tampil dibagian kategori pilih Visual C++ > C++ kemudian pada bagian template pilih lalu klik C++ Class.
Lalu klik tombol Add seperti tampil pada gambar dibawah ini :
Akan tampil kotak dialog Generik C++ Class Wizard isilah Class Namenya menjadi classkonversi seperti yang saya bilang diawal ketika kita membuat sebuah class di Visual C++ 2005 maka file header dan file source akan langsung dibuat secara otomatis sesuai dengan nama class seperti tampil pada gambar dibawah ini, dimana nama file header dan file source akan terisi secara otomatis ketika menulis nama class :
Lihat pada Solution Explorer akan tercipta 2 buah file baru. klik ganda file classkonversi.cpp lalu tambahkan listing code berikut ini dibawah code yang telah ada :

double classkonversi::keFahrenheit(double celcius)
{
double fahrenheit;
fahrenheit = (celcius * 1.8) + 32;
return fahrenheit;
}

double classkonversi::keReamur(double celcius)
{
double reamur;
reamur = celcius * 0.8;
return reamur;
}

double classkonversi::keKelvin(double celcius)
{
double kelvin;
kelvin = celcius + 273.15;
return kelvin;
}

setelah itu kliklah pada classkonversi.h lalu tambahkan code berikut ini :

#pragma once
ref class classkonversi
{
public:
classkonversi(void);
double classkonversi::keFahrenheit(double celcius);
double classkonversi::keReamur(double celcius);
double classkonversi::keKelvin(double celcius);
};

setelah itu pindahlah ke tab Form1.h [Design] kemudian tekan F7 pada bagian paling atas kode dibawah #pragma once tambahkan kode berikut ini :

#include "classkonversi.h"
supaya class tersebut bisa dikenali diprogram utama. pindah lagi ke tab Form1.h [Design] klik ganda button1 kemudian ketikan code program dibawah ini :


private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

if(maskedTextBox1->Text == ""){
maskedTextBox1->Focus();
goto keluar;
}

classkonversi^ konversisuhu = gcnew classkonversi;
double suhu, hasil;
suhu = Convert::ToDouble(maskedTextBox1->Text);

switch(comboBox1->SelectedIndex){
case 0 :
hasil = konversisuhu->keFahrenheit(suhu);
break;

case 1:
hasil = konversisuhu->keReamur(suhu);
break;

case 2:
hasil = konversisuhu->keKelvin(suhu);
break;

default:
MessageBox::Show("Maaf, pilihan tidak ada","Pesan");
goto keluar;
break;
}

label3->Text = "Hasil konversi Celcius ke " + comboBox1->SelectedItem + " = " + hasil.ToString();

keluar:;
}




0 komentar:

Posting Komentar