0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan26 halaman

Modul-6 Kelas Dan Objek

Modul-6 Kelas dan Objek

Diunggah oleh

erizalpicsi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan26 halaman

Modul-6 Kelas Dan Objek

Modul-6 Kelas dan Objek

Diunggah oleh

erizalpicsi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 26

Kelas dan Objek

Erizal, S.Si, M.Kom


[email protected]
http://erizal.wordpress.com
PBO
 Pemrograman Berorientasi Objek sebenarnya
bukanlah bahasa pemrograman baru, tetapi jalan
baru untuk berpikir dan merancang aplikasi yang
dapat membantu memecahkan persoalan
mengenai pengembangan perangkat lunak.
 Pemrograman berorientasi objek disusun dan
dipahami oleh ilmuwan yang memandang dunia
sebagai populasi objek yang berinteraksi dengan
yang lain.
Review
 Pemrograman Berorientasi Objek (PBO) adalah
metode pemrograman yang meniru cara kita
memperlakukan sesuatu(benda).
 Ada tiga karakteristik bahasa Pemrograman Berorientasi
Objek :
 Pengkapsulan (Encapsulation) : mengkombinasikan suatu
struktur dengan fungsi yang memanipulasinya untuk
membentuk tipe data baru yaitu kelas (class).
 Pewarisan (Inheritance) : mendefinisikan suatu kelas dan
kemudian menggunakannya untuk membangun hirarki kelas
turunan, yang mana masing-masing turunan mewarisi semua
akses kode maupun data kelas dasarnya.
Review
 Polimorphisme (Polymorphism) : memberikan
satu aksi untuk satu nama yang dipakai bersama pada
satu hirarki kelas, yang mana masing-masing kelas
hirarki menerapkan cara yang sesuai dengan dirinya.
Review
Pencetak kukis  kelas
 Dapat digunakan berkali-kali untuk
mencetak kukis.
Kukis  objek
Sebuah kelas dapat menghasilkan
banyak objek
 Dari 1 cetakan dapat dibuat banyak
kukis dengan berbagai macam hiasan,
namun kukis-kukis tersebut tetap
memiliki bentuk yang sama.
Review
Kelas menyatakan konsep (blueprint)
 Kelas mendefinisikan karakteristik (atribut) dan aksi
(method) yang dimiliki objek.
Objek adalah perwujudan dari konsep kelas (instance
of class)
 Setiap objek memiliki kelas yang mendefinisikan data dan
aksi yang dimiliki oleh objek tersebut.
Apakah Class?
 Definisi class : merupakan template untuk
membuat obyek.
 Definisi class : merupakan prototipe / blue
prints yang mendefinisikan variabel – variabel
dan method – method secara umum..
 Obyek merupakan hasil instansiasi dari suatu
kelas.
 Proses pembentukan obyek dari suatu class
disebut dengan instantiation.
 Obyek disebut juga instances.
Kelas dan Tipe Data
 Data atau informasi yang dimiliki oleh objek bisa
berupa data yang memiliki tipe data dasar (primitif)
atau tipe data bentukan.
 Tipe data bentukan di berorientasi objek dikenal
sebagai tipe data objek atau kelas.
 Kelas merupakan satu-satunya jenis tipe data yang
dapat dibuat /didefinisikan sendiri oleh
programmer.
Tipe Data Kelas
 Tipe data kelas didefinisikan dengan kata kunci
(keyword) class, yang merupakan generalisasi
dari pernyataan struct.
 Pernyataan struct secara umum digantikan
dengan pernyataan class. Jika objek kotak
dideklarasikan dalam bentuk kelas, maka
deklarasinya mirip dengan struktur.
Contoh Deklarasi Kelas

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>

Program class tkotak


{
double panjang;
double lebar;
public:
void SetUkuran(double pj, double lb);
double Keliling();
double Luas();
double GetPanjang();
double GetLebar();
};
int main()
{
tkotak kotak;
kotak.SetUkuran(10,7);
cout<<"Panjang : "<<kotak.GetPanjang()<<endl;
cout<<"Lebar : "<<kotak.GetLebar()<<endl;
cout<<"Keliling : "<<kotak.Keliling()<<endl;
cout<<"Luas : "<<kotak.Luas()<<endl;
getch();
return 0;
}
Contoh Program
void tkotak::SetUkuran(double pj, double lb)
{
panjang = pj;
lebar = lb;
}
double tkotak::Keliling()
{
return 2*(panjang+lebar);
}
double tkotak::Luas()
{
return panjang*lebar;
}
double tkotak::GetPanjang()
{
return panjang;
}
double tkotak::GetLebar()
{
return lebar;
}
Output
 Tampilan Output :
 Panjang : 10
 Lebar :7
 Keliling : 34
 Luas : 70
Definisi Kelas
 Dapat dilihat dari contoh program, bentuk
pendefinisian kelas adalah sebagai berikut :
Tipe Nama_Kelas::NamaFungsi()
{
IsiFungsi
}

 Untuk mendefinisikan variabel kelas, digunakan


deklarasi :
Nama_Kelas Nama_Variabel;

 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.

// penggunaan kelas persegi panjang


#include "PersegiPJ.Cpp"
void main()
{
PersegiPanjang pp1(10,5);
pp1.Skala(2);
pp1.TulisInfo();
getch();
}
END OF MODUL - 6

Anda mungkin juga menyukai