Modul-6 Kelas Dan Objek
Modul-6 Kelas Dan Objek
class tkotak
{
double panjang;
double lebar;
Public :
void SetUkuran(double pj, double lb);
double Keliling();
double Luas();
};
tkotak kotak;
Deklarasi
Dalam deklarasi kelas tersebut, muncul kata public.
Data atau fungsi yang dideklarasikan di bawah kata
kunci public mempunyai sifat dapat diakses dari luar
kelas secara langsung. Dalam deklarasi tersebut, variabel
panjang dan lebar tidak bersifat public, sehingga tidak
dapat diakses secara langsung dari luar kelas.
Perintah-perintah di bawah ini tidak dapat dijalankan :
kotak.panjang = 10;
kotak.lebar = 7;
cout<<”Panjang : ”<<kotak.panjang<<endl;
cout<<”Lebar : “<<kotak.lebar<<endl;
Contoh
//program class
#include<iostream.h>
#include<conio.h>
Contoh :
Tkotak kotak;
Pengkapsulan(Encapsulation)
Pengkapsulan adalah : mengkombinasikan suatu
struktur dengan fungsi yang memanipulasinya untuk
membentuk tipe data baru yaitu kelas(class).
Kelas akan menutup rapat baik data maupun kode.
Akses item di dalam kelas dikendalikan. Pengendalian
ini tidak hanya berupa data tetapi juga kode.
Saat kelas akan digunakan, kelas harus sudah
dideklarasikan. Pemakai kelas harus mengetahui
deskripsi kelas, tetapi bukan implementasinya.
Bagi pemakai, detail internal kelas tidak penting.
Konsep ini disebut penyembunyian informasi
(information hiding).
User Interface
Fungsi yang dapat digunakan dan data yang
dapat diakses disebut antarmuka pemakai (user
interface).
Antarmuka pemakai menceritakan bagaimana
kelas berperilaku, bukan bagaimana kelas dibuat.
Kita tidak perlu mengetahui implementasi kelas.
Sekali kelas dibuat, kita bisa memakainya
berulang-ulang.
Bagi pandangan pemakai, kelas adalah kotak
(black box) hitam dengan perilaku tertentu.
Kendali Akses terhadap Kelas
Tugas kelas adalah untuk menyembunyikan
informasi yang tidak diperlukan oleh pemakai.
Ada tiga macam pemakai kelas :
kelas itu sendiri
pemakai umum
kelas turunan
Hak Akses Kelas
Setiap macam pemakai mempunyai hak aksesnya
masing-masing.
Hak akses ini ditandai dengan kenampakan
anggota kelas.
Kelas pada C++ menawarkan tiga level
kenampakan anggota kelas (baik anggota data
maupun fungsi anggota) :
Private
Public
Protected
Private
Anggota kelas private mempunyai kendali akses
yang paling ketat. Dalam bagian private, hanya
fungsi anggota dari kelas itu yang dapat
mengakses anggota private atau kelas yang
dideklarasikan sebagai teman (friend).
Public
Dalam bagian public, anggotanya dapat
diakses oleh fungsi anggota kelas itu
sendiri, instance kelas, fungsi anggota kelas
turunan.
Suatu kelas agar bisa diakses dari luar kelas,
misalnya dalam fungsi main(), perlu mempunyai
hak akses publik. Hak akses ini yang biasanya
digunakan sebagai perantara antara kelas dengan
dunia luar.
Protected
Suatu kelas dapat dibuat berdasarkan kelas lain. Kelas
baru ini mewarisi sifat-sifat dari kelas dasarnya. Dengan
cara ini bisa dibentuk kelas turunan dari beberapa
tingkat kelas dasar.
Bila pada kelas dasar mempunyai anggota dengan hak
akses terproteksi, maka anggota kelas ini akan dapat
juga diakses oleh kelas turunannya.
Anggota kelas terproteksi dibentuk dengan didahului
kata kunci protected. Pada bagian protected, hanya
fungsi anggota dari kelas dan kelas-kelas
turunannya yang dapat mengakses anggota.
Contoh Program
//File persegiPJ.Cpp
#include <iostream.h>
class PersegiPanjang
{
protected :
int panjang;
int lebar;
public :
PersegiPanjang(int pj, int lb)
{
panjang = pj;
lebar = lb;
}
int Panjang()
{
return panjang;
}
int Lebar()
{
return lebar;
}
Contoh Program
int Keliling()
{
return 2*(panjang+lebar);
}
int Luas()
{
return panjang*lebar;
}
void Skala(float sk)
{
panjang *= sk;
lebar *= sk;
}
void TulisInfo()
{
cout<<"Panjang : "<<panjang<<endl
<<"Lebar :"<<lebar<<endl
<<"Keliling :"<<Keliling()<<endl
<<"Luas :"<<Luas()<<endl;
}
};
Contoh Program
(Main Program)
//Buat dalam file baru.