Kamis, 21 November 2013

TUTORIAL BORLAND C++


Tata Cara Penggunaan Pemrograman Berbasis
Obyek:
1. Fungsi dan data menjadi satu kesatuan yang disebut obyek
2. Obyek-obyek dalam OOP bersifat aktif
3. Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh
obyek-obyek yang bekerjasama untuk menyelesaikan masalah




Pernyataan diatas digunakan untuk mendefinisikan variabel bernama sport.
Pada C++ variabel seperti sport berkedudukan sebagai objek.
Pada sebuah kelas, item-item di dalamnya bisa bersifat private atau public. Secara
default, semua item di dalam kelas bersifat private. Jadi tanpa menuliskan kata kunci
private, semua item di dalam kelas sudah private.
A. Public pada kelas
Public (public) menyatakan bahwa deklarasi variabel atau item-item yang ada di
dalam kelas dapat diakses dari luar kelas.
Contoh-1  

//Penggunaan public pada class
#include<iostream.h>
#include<conio.h>
#include<stdio>
garis( )
{
cout<<"==============================\n";
}
class mahasiswa
{
public :
char nim[10],nama[30];
float nilai;
};
main( )
{
clrscr( );
mahasiswa kampus;
garis( );cout<<endl;
cout<<"\t Program Nilai Mahasiswa"<<endl
<<"\t -------------------"<<endl;
cout<<" Input NIM             = ";cin>>kampus.nim;
cout<<" Input Nama Mahasiswa  = ";gets(kampus.nama);
cout<<" Input Nilai Akhir     = ";cin>>kampus.nilai;
clrscr( );
garis( );cout<<endl;
cout<<"\t Nilai Mahasiswa"<<endl
<<"\t ---------------"<<endl<<endl
<<" NIM             = "<<kampus.nim<<endl
<<" Nama Mahasiswa  = "<<kampus.nama<<endl
<<" Nilai Akhir     = "<<kampus.nilai<<endl;
garis( );
getch( );
}

Output yang dihasilkan dari program contoh-1 di atas adalah:










Gambar diatas adalah hasil contoh 1 (layar input).











Gambar diatas adalah hasil contoh 1 (layar output).


B. Private pada Kelas
Private digunakan pada kelas untuk memproteksi anggota-anggota tertentunya agar
tidak dapat diakses dari luar kelas secara langsung.

Contoh-2

//Penggunaan private pada class
#include <conio.h>
#include <iostream.h>
#define pi 3.14
class tabung
{

int j,t;
float v,k;
public :
tabung( );
void keluaran( );
};
void main( )
{
clrscr( );
tabung s;
s.keluaran( );
getch( );
}
tabung :: tabung( )
{
cout<<"\n Menghitung Tabung"<<endl
<<" -----------------"<<endl<<endl;
cout<<" Masukan Jari-jari = ";cin>>j;
cout<<" Masukan Tinggi    = ";cin>>t;
v=(pi*j*j)*t;
k=(2*(pi*2*j))+t;
}
void tabung :: keluaran( )
{
cout<<endl
<<" Volume Tabung   = "<<v<<endl
<<" Keliling Tabung = "<<k<<endl;
}

Output yang dihasilkan dari program contoh-2 di atas adalah:












Gambar hasil contoh 2.

12.2. Konstruktor
Konstruktor (constructor) merupakan suatu fungsi dari anggota suatu kelas
yang memiliki nama yang sama dengan nama kelas fungsi itu berada.
Konstruktor ini digunakan untuk mengalokasikan ruang untuk suatu objek dan untuk
memberikan nilai awal.
Berikut contoh pendeklarasian suatu konstruktor di dalam sebuah kelas:
class hitung
{
private:
int a;
int b;
public:
int inta( );
int intb( );
hitung(int mudah); //deklarasi constructor
};
Contoh-3 //Konstruktor
#include <conio.h>
#include <iostream.h>
class bilangan
{
private :
int bulat;
double nyata;
public :
bilangan( ); //konstruktor
void info( );
};
void main( )
{
clrscr( );
bilangan a;
a.info( );
bilangan b;
b.info( );
getch( );
}
bilangan :: bilangan( )
{
cout<<"\n Konstruktor dijalankan ... "<<endl;
bulat = 5.2;
nyata = 3.6;
}
void bilangan :: info( )
{
cout<<"\n Jenis Bilangan: "<<endl
<<" Bulat = "<<bulat<<endl
<<" Nyata = "<<nyata<<endl;
}
Output yang dihasilkan dari program contoh-3 di atas adalah:













Gambar 12.4 Hasil Contoh-3
12.3. Destruktor
Destruktor merupakan suatu fungsi anggota yang dijalankan secara otomatis
manakala suatu objek akan terbebas dari memori karena lingkup keberadaannya telah
menyelesaikan tugasnya.
Destruktor harus mempunyai nama yang sama dengan kelas dan diawali
karakter tilde(~) atau karakter tak terhingga.
Destruktor digunakan secara khusus manakala suatu objek menggunakan
memori dinamis selama keberadaannya dan kemudian melepaskan memori itu
setelah tidak menggunakannya lagi.
Contoh-4 //Destruktor
#include <conio.h>
#include <iostream.h>
#include <string.h>
class motor
{
private :
char *merk;
float cc_mesin; long harga;
public :
motor(char *nama, float cc, long hrg);//konstruktor
~motor();//destruktor
void keterangan( );
};
void main( )
{
clrscr( );
motor sport("Honda CBR",500,30500000);
motor matic("Honda Vario",125,14500000);
sport.keterangan( );
matic.keterangan( );
getch( );
}
motor :: motor(char *nama, float cc, long hrg)
{
merk = new char[25];//merubah data karakter menjadi string
strcpy(merk,nama);
cc_mesin=cc;
harga=hrg;
}
motor :: ~motor( )
{
delete [ ] merk;//menghapus memori karakter pd merk
}
void motor :: keterangan( )
{
cout<<"\n Informasi Motor:"<<endl
<<" Merk = "<<merk<<endl
<<" CC Mesin = "<<cc_mesin<<endl
<<" Harga = "<<harga<<endl<<endl;
}
Output yang dihasilkan dari program contoh-4 di atas adalah:



Gambar 12.5 Hasil Contoh-4

12.4. Array pada Kelas
Anggota dari suatu kelas dapat pula berupa array. Berikut ini contoh anggota
dari suatu kelas yang berupa array.
Contoh-5
//Class dg Array & Fungsi
#include <conio.h>
#include <iostream.h>
class kerja
{
public :
char nik[10],nm[25];
int jam; long total;
float lembur(int l);
};
main( )
{
int x,y,a=1,b=1;
long grand=0;
kerja kary[15];
cout<<endl<<"Jumlah Data : ";cin>>y;
for(x=0;x<y;x++)
{
cout<<endl<<" Data Ke- "<<a++<<endl;
cout<<" NIK           : ";cin>>kary[x].nik;
cout<<" Nama Karyawan : ";cin>>kary[x].nm;
cout<<" Jumlah Jam    : ";cin>>kary[x].jam;
}
clrscr( );
gotoxy(14,3);cout<<"Daftar Gaji Mingguan\n";
gotoxy(16,4);cout<<"Karyawan Honorer\n";
cout<<" --------------------------------------------------------------\n"
<<" No.  NIK         Nama        Jumlah      Upah           Total\n"
<<"                  Karyawan     Jam        Lembur         Gaji\n"
<<" ---------------------------------------------------------------\n";
for(x=0;x<y;x++)
{
gotoxy(3,wherey());cout<<b++<<".";
gotoxy(7,wherey());cout<<kary[x].nik;
gotoxy(19,wherey());cout<<kary[x].nm;
gotoxy(33,wherey());cout<<kary[x].jam;
gotoxy(43,wherey());cout<<kary[x].lembur(kary[x].jam);
kary[x].total=(40*20000)+kary[x].lembur(kary[x].jam);
gotoxy(58,wherey());cout<<kary[x].total<<endl;
grand=grand+kary[x].total;
}
cout<<" ---------------------------------------------------------------\n";
cout<<" Total Keseluruhan Karyawan :";
gotoxy(58,wherey());cout<<grand<<endl;
getch( );
}
float kerja::lembur(int l)
{
if (l>40)
return(l-40)*30000;
else
return 0;
}
Output yang dihasilkan dari program contoh-5 di atas adalah:












Gambar 12.6 Hasil Contoh-5 (Layar Input)