SlideShare a Scribd company logo
1 of 14
TUGAS PEMROGRAMAN 2 (DELPHI)
KELAS DAN OBJEK
KONSTRUKTOR DAN DESTRUKTOR
PENGKAPSULAN, PEWARISAN, POLIMORFISME, dan EKSEPSI (delphi)
OPERATOR KELAS
OLEH:
HARDINI
NIM.3201416015
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI PONTIANAK
2015
Class dan Object
Class dan Object adalah dua istilah yang sering dipakai dalam Object Pascal dan
bahasa OOP lainnya. Class adalah type data yang didefinisikan oleh pemakai. Class
mempunyai keadaan (representasi) dan operasi (perilaku). Class mempunyai data
internal dan beberapa method (dalam bentuk procedure dan function. Method
menggambarkan karakteristrik dasar dan perilaku sejumlah objek yang serupa.
Object adalah instance dari sebuah class atau sebuah variable dengan type class. Pada
saat program dijalankan, Object memerlukan memori untuk representasi internalnya.
Hubungan antara class dan obect sama dengan hubungan type data dengan variable.
KONSTRUKTOR DAN DESTRUKTOR
KONSTRUKTOR
Konstruktor adalah fungsi khusus anggota kelas yang otomatis dijalankan pada saat
penciptaan objek (mendeklarasikan instance). Konstruktor ditandai dengan namanya, yaitu sama
dengan nama kelas. Konstruktor tidak mempunyai tipe hasil (return value). Biasanya konstruktor
dipakai untuk inisialisasi anggota data dan melakukan operasi lain seperti membuka file dan
melakukan alokasi memori secara dinamis. Meskipun konstruktor tidak harus ada dalam kelas,
tetapi jika diperlukan konstruktor dapat lebih dari satu.
Konstruktor adalah fungsi anggota yang mempunyai nama yang sama dengan nama kelas.
Kegunaannya :
 Mengalokasikan ruang bagi sebuah objek
 Memberikan nilai awal terhadap anggota data suatu objek
 Membentuk tugas-tugas umum lainnya
Adapaun jenis-jenis kontruktor adalah sebagai berikut:
1. Konstruktor default : tidak dapat menerima argumen, anggota data diberi nilai awal
tertentu.
2. Konstruktor penyalinan dengan parameter : anggota data diberi nilai awal berasal dari
parameter.
3. Konstruktor penyalinan objek lain : parameter berupa objek lain, anggota data diberi nilai
awal dari objek lain.
Contoh penulisan konstruktor :
#include
class jumlah
{
public:
int jumlah1;
int jumlah2;
~jumlah();
};
jumlah objek1,objek2;
void main()
{
cout<<”Didalam main() n”;
cout<<”objek1.jumlah1 adalah “<<
cout<<”objek1.jumlah2 adalah “<<
cout<<”objek2.jumlah1 adalah “<<
cout<<”objek2.jumlah2 adalah “<<
}
jumlah::~jumlah()
{
cout<<”Didalam jumlah() n”;
}
DESTRUKTOR
Destruktor adalah pasangan konstruktor. Pada saat program membuat objek maka secara
otomatis kontruktor akan dijalankan, yang biasanya dimaksudkan untuk memberi nilai awal
variable private. Sejalan dengan itu, C++ menyediakan fungsi destruktor (penghancur atau
pelenyap) yang secara otomatis akan dijalankan pada saat berakhirnya objek. Setiap kelas
mempunyai tepat satu destuktor. jika kita tidak mendeklarasikan sebuah destruktor dalam
sebuah kelas, maka destruktor akan diciptakan sendiri oeh compiler C++. Fungsi destruktor itu
sendiri adalah untuk mendealokasikan memori dinamis yang diciptakan kontruktor. Nama
destruktor sama dengan nama kelas ditambah awalan karakter tilde (~). Walaupun compiler
C++ akan secara otomatis mendeklarasikan sebuah destruktor, akan tetapi sangat disarankan
untuk mendeklarasikan sendiri sebuah destruktor. Karena dengan mendeklarasikan sendiri
destruktor maka kita mempunyai kontrol penuh terhadap apa yang dilakukan destruktor dari
kelas yang kita buat.
Destruktor adalah fungsi anggota yang mempunyai nama yang sama dengan nama kelas
ditambah symbol tilde (~) didepannya.
Contoh penulisan dalam Destruktor :
#include
Class Tpersegi
{
int *lebar, *panjang;
public:
Tpersegi (int, int);
~Tpersegi();
int Luas() {return (*lebar * *panjang);}
};
Tpersegi::Tpersegi(int a, int b)
{
lebar=new int;
panjang=new int;
*lebar = a;
*panjang = b;
}
Tpersegi::~Tpersegi()
{
delete lebar;
delete panjang;
}
int main()
{
Tpersegi pers(3,4), persg(5,6);
cout<<”Luas pers= “<<
cout<<”Luas persg = “<<
return 0;
}
KESIMPULAN
Dari uraian diatas dapat kita simpulkan bahwa:
Konstruktor :
- Nama kontruktor sama dengan nama kelas
- Kontruktor tidak mempunyai nilai balik
- Kontruktor harus diletakkan di bagian public
- Kontruktor dijalankan dengan sendirinya pada saat objek diciptakan, bahkan kontruktor
dijalankan sebelum fungsi main() dijalankan.
Destruktor:
- Nama destruktor sama dengan nama kelas ditambahkan tanda tilde (~) di depannya.
- Destruktor tidak mempunyai nilai balik.
- Destruktor harus diletakkan di bagian public.
- Destruktor dijalankan dengan sendirinya pada saat objek akan sirna.
Contoh Lain konstruktor dan destruktor :
#include "stdafx.h"
#include "iostream.h"
#include "stdlib.h"
class hitung
{
public:
double alas,tinggi,luas,sisi,jari,kel;
void segitiga()
{ cout<<"** Luas Segitiga **"<
cout<<"Masukkan Alas = ";cin>>alas;
cout<<"Masukkan Tinggi = ";cin>>tinggi;
luas=(alas*tinggi)/2;
cout<<"Luas Segitiga = "<<
}
void persegi()
{ cout<<"** Luas Persegi **"<
cout<<"Masukkan Panjang Sisi = ";cin>>sisi;
luas=sisi*sisi;
cout<<"Luas Persegi = "<<
}
void llingkaran()
{ cout<<"** Luas Lingkaran **"<
cout<<"Masukkan Panjang Jari = ";cin>>jari;
luas=3.14*jari*jari;
cout<<"Luas Lingkaran = "<<
}
void ppanjang()
{ cout<<"** Luas Persegi Panjang **"<
cout<<"Masukkan Alas = ";cin>>alas;
cout<<"Masukkan Tinggi = ";cin>>tinggi;
luas=alas*tinggi;
cout<<"Luas Persegi Panjang = "<<
}
void kellingkaran()
{
cout<<"** Keliling Lingkaran **"<
cout<<"Masukkan Panjang Jari = ";cin>>jari;
kel=2*3.14*jari;
cout<<"Keliling Lingkaran = "<<
}
};
void main()
{ hitung htg;
char tanya;
tanya = 'y';
int pilih;
do {
system ("cls");
cout<<"== KALKULATOR LINDA =="<
cout<<"---------------------------"<
cout<<"1. Mencari Luas Segitiga"<
cout<<"2. Mencari Luas Persegi"<
cout<<"3. Mencari Luas Lingkaran"<
cout<<"4. Mencari Luas Persegi Panjang"<
cout<<"5. Mencari Keliling Lingkaran"<
cout<<"---------------------------"<
cout<<"Masukkan pilihan Anda = ";cin>>pilih;
if (pilih==1)
{ htg.segitiga();} else
if (pilih==2)
{ htg.persegi();} else
if (pilih==3)
{ htg.llingkaran();} else
if (pilih==4)
{ htg.ppanjang();} else
if (pilih==5)
{ htg.kellingkaran();}
cout<<"---------------------------"<
cout<<"Apakah Anda Ingin Mengulanginya ..? "; cin>>tanya;
} while (tanya == 'y');
}
Mengenal eksepsi pada Delphi
Kesalahansewaktu programdieksekusi atauyangdikenal denganistilah runtimeerrorbisaterjadi
karenaterdapatoperasi pembagianolehbilangannol,memoryhabisketikadiperlukan,atauoperasi
penulisanke suatuperanti gagal dilaksanakan.
Untuk mengatasi permasalahandemikian,Delphimenyediakanmekanisme yangdisebuteksepsi.
Denganmemberikankode padapenanganeksepsi,suatutindakandapatdiatursendiri olehpemrogram
sekiranyakesalahan-kesalahanangtidaknormal terjadi.Eksepsi akanmuncul manakalasuatukesalahan
atau kejadianyangmenginterupsi eksekusi yangnormal terjadi padaprogram.Eksepsi akan
menyebabkankontrolprogramdiberikankepadapenangananeksepsi.Denganmelakukanpenanganan
terhadapeksepsi,pemrogramdapatmenangkapkesalahan,memberitahukanataumengoreksi
kesalahan,sertamenjalankanataubahkanmenghentikaneksekusiprogram.
PEWARISAN
Pewarisan Di Delphi 7.Inheritance/pewarisan merupakan fitur yang tersedia dalam OOP(Object
Oriented Programming).Dimana kita bisa menduplikasi sifat-sifat sebuah class , dan
memanfaatkannya di class yang lain.Class dalam Delphi 7 sendiri ialah file Unit yang bersisi
source code dari program.Dan class itu sendiri merupakan sebuah object.
Contoh :
Type
Titik = Objek
x,y,Warna : Integer;
constructor Inits
destructor done
procedure SetX(newx:Integer)
function GetX:Integer;
End;
Lingkaran = Object(Titik)
R : Real;
End;
PENGKAPSULAN
Penggabungan data dan metode menjadi satu kesatuan yang disebut kelas. Pada konsep ini
terdapat konsep untuk menyembunyikan infomasi. Konsep penyembunyian informasi ini dalam
hal kontrol akses (AC), yang terdiri dari Public dan Private. Public, anggota kelas tersebut hanya
dapat diakses dari kelas/procedure yang lain, sedangkan Private, hanya dapat diakses pada
kelas/procedure pada unit yang sama.
Contoh :
Type
Titik = Objek
Private
x,y,Warna : Integer;
Public
constructor Inits
destructor done
procedure SetX(newx:Integer)
function GetX:Integer;
End;
POLIMORFISME
Banyak bentuk, merupakan dua kelas yang diturunkan dari satu kelas mempunyai metode sama
tetapi implementasinya berbeda. Atau dengan kata lain nama metode sama kode berbeda.
Metode ini sering disebut metode Virtual. Penggunaannya dengan menggunakan kata “Virtual”
Contoh :
Type
Titik = Objek
x,y,Warna : Integer;
constructor Inits
destructor done
procedure gambar; virtual;
End;
Lingkaran = Object(Titik)
R : Real;
constructor Inits
destructor done
procedure gambar; virtual;
End;
Metode gambar pada titik dam lingkaran adalah Virtual, artinya implementasinya bisa berbeda
tergantung kelasnya.
Contoh :
Procedure Titik.Gambar;
Begin
Writeln(‘Titik’);
End;
Procedure Lingkaran.Gambar;
Begin
Writeln(‘Lingkaran’);
End;
OperatorKelas pada PemogramanDelphi
Operator kelas ialah operator as dan is menerima class dan instan obyek sebagai operand,
operator = dan juga beroperasi dengan class.

More Related Content

What's hot

Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekAlvin Setiawan
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekKuncara Laksana
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekTugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekPungkas Soebarkah
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyastephan EL'wiin Shaarawy
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Melina Krisnawati
 
Modul prak2 constructor dan overloading
Modul prak2   constructor dan overloadingModul prak2   constructor dan overloading
Modul prak2 constructor dan overloadingwahyuniwulan
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collectionrizki adam kurniawan
 
modul Java dasar fundamental (OOP)
modul Java dasar fundamental (OOP)modul Java dasar fundamental (OOP)
modul Java dasar fundamental (OOP)Reza Pramana
 
Konstruktor dan inisialisasi objek
Konstruktor dan inisialisasi objekKonstruktor dan inisialisasi objek
Konstruktor dan inisialisasi objekifani_anesa
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
Dasar pemrograman C++
Dasar pemrograman C++Dasar pemrograman C++
Dasar pemrograman C++Andan Sperrow
 
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Asnita Meydelia C K
 
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Putra Andry
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekimam arifin
 
CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1giamuhammad
 
Pert 4. class dan objek
Pert 4. class dan objekPert 4. class dan objek
Pert 4. class dan objekradar radius
 

What's hot (20)

Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekTugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi Objek
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnya
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
 
Modul prak2 constructor dan overloading
Modul prak2   constructor dan overloadingModul prak2   constructor dan overloading
Modul prak2 constructor dan overloading
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
 
modul Java dasar fundamental (OOP)
modul Java dasar fundamental (OOP)modul Java dasar fundamental (OOP)
modul Java dasar fundamental (OOP)
 
Konstruktor dan inisialisasi objek
Konstruktor dan inisialisasi objekKonstruktor dan inisialisasi objek
Konstruktor dan inisialisasi objek
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
Dasar pemrograman C++
Dasar pemrograman C++Dasar pemrograman C++
Dasar pemrograman C++
 
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"
 
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objek
 
CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1
 
Pert 4. class dan objek
Pert 4. class dan objekPert 4. class dan objek
Pert 4. class dan objek
 
Laporan PBO Modul 4
Laporan PBO Modul 4Laporan PBO Modul 4
Laporan PBO Modul 4
 

Viewers also liked

Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)biedoen
 
Struktur data pertemuan 1 & 2
Struktur data   pertemuan 1 & 2Struktur data   pertemuan 1 & 2
Struktur data pertemuan 1 & 2biedoen
 
Pemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasPemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasKuliahKita
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6biedoen
 
02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseoJinTaek Seo
 
Algoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorAlgoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorKuliahKita
 
Predavanja 06 Konstruktori i destruktori
Predavanja 06  Konstruktori i destruktoriPredavanja 06  Konstruktori i destruktori
Predavanja 06 Konstruktori i destruktoriGoran Igaly
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circularHitesh Wagle
 
Gerbang Logika Dasar
Gerbang Logika DasarGerbang Logika Dasar
Gerbang Logika DasarArif Hakim
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan biedoen
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_listWandi Parlente
 
Tugas kelompok 2
Tugas kelompok 2Tugas kelompok 2
Tugas kelompok 2yusriren
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listSunarya Marwah
 

Viewers also liked (20)

Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)
 
Struktur data pertemuan 1 & 2
Struktur data   pertemuan 1 & 2Struktur data   pertemuan 1 & 2
Struktur data pertemuan 1 & 2
 
Pemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasPemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi Berkas
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo
 
Linked List
Linked ListLinked List
Linked List
 
Algoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorAlgoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan Destruktor
 
Predavanja 06 Konstruktori i destruktori
Predavanja 06  Konstruktori i destruktoriPredavanja 06  Konstruktori i destruktori
Predavanja 06 Konstruktori i destruktori
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circular
 
Gerbang Logika Dasar
Gerbang Logika DasarGerbang Logika Dasar
Gerbang Logika Dasar
 
Stack atau tumpukan
Stack atau tumpukanStack atau tumpukan
Stack atau tumpukan
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Stack
StackStack
Stack
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
Tugas kelompok 2
Tugas kelompok 2Tugas kelompok 2
Tugas kelompok 2
 
2894065
28940652894065
2894065
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked list
 
Teori antrian
Teori antrianTeori antrian
Teori antrian
 
Queue
QueueQueue
Queue
 

Similar to KELAS DAN OBJEK

Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1zisgoo
 
Tugas blog
Tugas blog Tugas blog
Tugas blog ryass
 
Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur DataAs Faizin
 
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2rizki adam kurniawan
 
pbo 4 ervan
pbo 4 ervanpbo 4 ervan
pbo 4 ervanaris
 
Materi Pemrograman Berbasis Desktop
Materi Pemrograman Berbasis DesktopMateri Pemrograman Berbasis Desktop
Materi Pemrograman Berbasis DesktopNaufal Arifudzaki
 
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaIndividual Consultants
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6ゴースト アノン
 
Lapres so d_modul5_yuka
Lapres so d_modul5_yukaLapres so d_modul5_yuka
Lapres so d_modul5_yukaYuka Arjaka
 
0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptxBom Bom
 

Similar to KELAS DAN OBJEK (20)

Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Tugas blog
Tugas blog Tugas blog
Tugas blog
 
Tutorial borland c tea.
Tutorial borland c tea.Tutorial borland c tea.
Tutorial borland c tea.
 
mf488_10_092649.ppt
mf488_10_092649.pptmf488_10_092649.ppt
mf488_10_092649.ppt
 
Algoritma Pemrograman 2
Algoritma Pemrograman 2Algoritma Pemrograman 2
Algoritma Pemrograman 2
 
Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur Data
 
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
 
Praktikum
PraktikumPraktikum
Praktikum
 
Prak 1
Prak 1Prak 1
Prak 1
 
pbo 4 ervan
pbo 4 ervanpbo 4 ervan
pbo 4 ervan
 
Materi Pemrograman Berbasis Desktop
Materi Pemrograman Berbasis DesktopMateri Pemrograman Berbasis Desktop
Materi Pemrograman Berbasis Desktop
 
4 Adt
4 Adt4 Adt
4 Adt
 
Ppt
PptPpt
Ppt
 
BAB 1 PBO C++ Struktur
BAB 1 PBO C++ StrukturBAB 1 PBO C++ Struktur
BAB 1 PBO C++ Struktur
 
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
Krisna vb6-12
Krisna vb6-12Krisna vb6-12
Krisna vb6-12
 
Lapres so d_modul5_yuka
Lapres so d_modul5_yukaLapres so d_modul5_yuka
Lapres so d_modul5_yuka
 
0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx
 

More from Hardini_HD

Hardini 3201416015 3_b
Hardini 3201416015 3_b Hardini 3201416015 3_b
Hardini 3201416015 3_b Hardini_HD
 
Using of computer tech
Using of computer tech Using of computer tech
Using of computer tech Hardini_HD
 
Number system
Number system Number system
Number system Hardini_HD
 
Komp. dan aplikasi
Komp. dan aplikasi Komp. dan aplikasi
Komp. dan aplikasi Hardini_HD
 
Introduction to software 2
Introduction to software 2 Introduction to software 2
Introduction to software 2 Hardini_HD
 
Introduction to software1
Introduction to software1 Introduction to software1
Introduction to software1 Hardini_HD
 
Introduce to internet2
Introduce to internet2 Introduce to internet2
Introduce to internet2 Hardini_HD
 
Introduce to internet1
Introduce to internet1 Introduce to internet1
Introduce to internet1 Hardini_HD
 
Intro to e gov
Intro to e gov Intro to e gov
Intro to e gov Hardini_HD
 
Flowchart dan dfd
Flowchart dan dfd Flowchart dan dfd
Flowchart dan dfd Hardini_HD
 
Business computing
Business computing Business computing
Business computing Hardini_HD
 
Pti (8) teknologi internet dan web
Pti (8)   teknologi internet dan webPti (8)   teknologi internet dan web
Pti (8) teknologi internet dan webHardini_HD
 
Pti (7) sistem bilangan
Pti (7)   sistem bilanganPti (7)   sistem bilangan
Pti (7) sistem bilanganHardini_HD
 

More from Hardini_HD (20)

Hardini 3201416015 3_b
Hardini 3201416015 3_b Hardini 3201416015 3_b
Hardini 3201416015 3_b
 
Delphi
DelphiDelphi
Delphi
 
Using of computer tech
Using of computer tech Using of computer tech
Using of computer tech
 
Software
Software Software
Software
 
Number system
Number system Number system
Number system
 
Komp. dan aplikasi
Komp. dan aplikasi Komp. dan aplikasi
Komp. dan aplikasi
 
Jarkom
Jarkom Jarkom
Jarkom
 
Introduction to software 2
Introduction to software 2 Introduction to software 2
Introduction to software 2
 
Introduction to software1
Introduction to software1 Introduction to software1
Introduction to software1
 
Introduce to internet2
Introduce to internet2 Introduce to internet2
Introduce to internet2
 
Introduce to internet1
Introduce to internet1 Introduce to internet1
Introduce to internet1
 
Intro to e gov
Intro to e gov Intro to e gov
Intro to e gov
 
Internet
Internet Internet
Internet
 
Hardware
Hardware Hardware
Hardware
 
Flowchart dan dfd
Flowchart dan dfd Flowchart dan dfd
Flowchart dan dfd
 
File org
File org File org
File org
 
Data comm
Data comm Data comm
Data comm
 
Business computing
Business computing Business computing
Business computing
 
Pti (8) teknologi internet dan web
Pti (8)   teknologi internet dan webPti (8)   teknologi internet dan web
Pti (8) teknologi internet dan web
 
Pti (7) sistem bilangan
Pti (7)   sistem bilanganPti (7)   sistem bilangan
Pti (7) sistem bilangan
 

KELAS DAN OBJEK

  • 1. TUGAS PEMROGRAMAN 2 (DELPHI) KELAS DAN OBJEK KONSTRUKTOR DAN DESTRUKTOR PENGKAPSULAN, PEWARISAN, POLIMORFISME, dan EKSEPSI (delphi) OPERATOR KELAS OLEH: HARDINI NIM.3201416015 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI PONTIANAK 2015
  • 2. Class dan Object Class dan Object adalah dua istilah yang sering dipakai dalam Object Pascal dan bahasa OOP lainnya. Class adalah type data yang didefinisikan oleh pemakai. Class mempunyai keadaan (representasi) dan operasi (perilaku). Class mempunyai data internal dan beberapa method (dalam bentuk procedure dan function. Method menggambarkan karakteristrik dasar dan perilaku sejumlah objek yang serupa. Object adalah instance dari sebuah class atau sebuah variable dengan type class. Pada saat program dijalankan, Object memerlukan memori untuk representasi internalnya. Hubungan antara class dan obect sama dengan hubungan type data dengan variable.
  • 3. KONSTRUKTOR DAN DESTRUKTOR KONSTRUKTOR Konstruktor adalah fungsi khusus anggota kelas yang otomatis dijalankan pada saat penciptaan objek (mendeklarasikan instance). Konstruktor ditandai dengan namanya, yaitu sama dengan nama kelas. Konstruktor tidak mempunyai tipe hasil (return value). Biasanya konstruktor dipakai untuk inisialisasi anggota data dan melakukan operasi lain seperti membuka file dan melakukan alokasi memori secara dinamis. Meskipun konstruktor tidak harus ada dalam kelas, tetapi jika diperlukan konstruktor dapat lebih dari satu. Konstruktor adalah fungsi anggota yang mempunyai nama yang sama dengan nama kelas. Kegunaannya :  Mengalokasikan ruang bagi sebuah objek  Memberikan nilai awal terhadap anggota data suatu objek  Membentuk tugas-tugas umum lainnya Adapaun jenis-jenis kontruktor adalah sebagai berikut: 1. Konstruktor default : tidak dapat menerima argumen, anggota data diberi nilai awal tertentu. 2. Konstruktor penyalinan dengan parameter : anggota data diberi nilai awal berasal dari parameter. 3. Konstruktor penyalinan objek lain : parameter berupa objek lain, anggota data diberi nilai awal dari objek lain.
  • 4. Contoh penulisan konstruktor : #include class jumlah { public: int jumlah1; int jumlah2; ~jumlah(); }; jumlah objek1,objek2; void main() { cout<<”Didalam main() n”; cout<<”objek1.jumlah1 adalah “<< cout<<”objek1.jumlah2 adalah “<< cout<<”objek2.jumlah1 adalah “<< cout<<”objek2.jumlah2 adalah “<< } jumlah::~jumlah() { cout<<”Didalam jumlah() n”; } DESTRUKTOR
  • 5. Destruktor adalah pasangan konstruktor. Pada saat program membuat objek maka secara otomatis kontruktor akan dijalankan, yang biasanya dimaksudkan untuk memberi nilai awal variable private. Sejalan dengan itu, C++ menyediakan fungsi destruktor (penghancur atau pelenyap) yang secara otomatis akan dijalankan pada saat berakhirnya objek. Setiap kelas mempunyai tepat satu destuktor. jika kita tidak mendeklarasikan sebuah destruktor dalam sebuah kelas, maka destruktor akan diciptakan sendiri oeh compiler C++. Fungsi destruktor itu sendiri adalah untuk mendealokasikan memori dinamis yang diciptakan kontruktor. Nama destruktor sama dengan nama kelas ditambah awalan karakter tilde (~). Walaupun compiler C++ akan secara otomatis mendeklarasikan sebuah destruktor, akan tetapi sangat disarankan untuk mendeklarasikan sendiri sebuah destruktor. Karena dengan mendeklarasikan sendiri destruktor maka kita mempunyai kontrol penuh terhadap apa yang dilakukan destruktor dari kelas yang kita buat. Destruktor adalah fungsi anggota yang mempunyai nama yang sama dengan nama kelas ditambah symbol tilde (~) didepannya. Contoh penulisan dalam Destruktor : #include Class Tpersegi { int *lebar, *panjang; public: Tpersegi (int, int); ~Tpersegi(); int Luas() {return (*lebar * *panjang);} }; Tpersegi::Tpersegi(int a, int b) { lebar=new int;
  • 6. panjang=new int; *lebar = a; *panjang = b; } Tpersegi::~Tpersegi() { delete lebar; delete panjang; } int main() { Tpersegi pers(3,4), persg(5,6); cout<<”Luas pers= “<< cout<<”Luas persg = “<< return 0; } KESIMPULAN Dari uraian diatas dapat kita simpulkan bahwa: Konstruktor : - Nama kontruktor sama dengan nama kelas - Kontruktor tidak mempunyai nilai balik - Kontruktor harus diletakkan di bagian public - Kontruktor dijalankan dengan sendirinya pada saat objek diciptakan, bahkan kontruktor dijalankan sebelum fungsi main() dijalankan. Destruktor:
  • 7. - Nama destruktor sama dengan nama kelas ditambahkan tanda tilde (~) di depannya. - Destruktor tidak mempunyai nilai balik. - Destruktor harus diletakkan di bagian public. - Destruktor dijalankan dengan sendirinya pada saat objek akan sirna. Contoh Lain konstruktor dan destruktor : #include "stdafx.h" #include "iostream.h" #include "stdlib.h" class hitung { public: double alas,tinggi,luas,sisi,jari,kel; void segitiga() { cout<<"** Luas Segitiga **"< cout<<"Masukkan Alas = ";cin>>alas; cout<<"Masukkan Tinggi = ";cin>>tinggi; luas=(alas*tinggi)/2; cout<<"Luas Segitiga = "<< } void persegi() { cout<<"** Luas Persegi **"< cout<<"Masukkan Panjang Sisi = ";cin>>sisi; luas=sisi*sisi; cout<<"Luas Persegi = "<< }
  • 8. void llingkaran() { cout<<"** Luas Lingkaran **"< cout<<"Masukkan Panjang Jari = ";cin>>jari; luas=3.14*jari*jari; cout<<"Luas Lingkaran = "<< } void ppanjang() { cout<<"** Luas Persegi Panjang **"< cout<<"Masukkan Alas = ";cin>>alas; cout<<"Masukkan Tinggi = ";cin>>tinggi; luas=alas*tinggi; cout<<"Luas Persegi Panjang = "<< } void kellingkaran() { cout<<"** Keliling Lingkaran **"< cout<<"Masukkan Panjang Jari = ";cin>>jari; kel=2*3.14*jari; cout<<"Keliling Lingkaran = "<< } }; void main() { hitung htg; char tanya; tanya = 'y'; int pilih; do {
  • 9. system ("cls"); cout<<"== KALKULATOR LINDA =="< cout<<"---------------------------"< cout<<"1. Mencari Luas Segitiga"< cout<<"2. Mencari Luas Persegi"< cout<<"3. Mencari Luas Lingkaran"< cout<<"4. Mencari Luas Persegi Panjang"< cout<<"5. Mencari Keliling Lingkaran"< cout<<"---------------------------"< cout<<"Masukkan pilihan Anda = ";cin>>pilih; if (pilih==1) { htg.segitiga();} else if (pilih==2) { htg.persegi();} else if (pilih==3) { htg.llingkaran();} else if (pilih==4) { htg.ppanjang();} else if (pilih==5) { htg.kellingkaran();} cout<<"---------------------------"< cout<<"Apakah Anda Ingin Mengulanginya ..? "; cin>>tanya; } while (tanya == 'y'); }
  • 10. Mengenal eksepsi pada Delphi Kesalahansewaktu programdieksekusi atauyangdikenal denganistilah runtimeerrorbisaterjadi karenaterdapatoperasi pembagianolehbilangannol,memoryhabisketikadiperlukan,atauoperasi penulisanke suatuperanti gagal dilaksanakan. Untuk mengatasi permasalahandemikian,Delphimenyediakanmekanisme yangdisebuteksepsi. Denganmemberikankode padapenanganeksepsi,suatutindakandapatdiatursendiri olehpemrogram sekiranyakesalahan-kesalahanangtidaknormal terjadi.Eksepsi akanmuncul manakalasuatukesalahan atau kejadianyangmenginterupsi eksekusi yangnormal terjadi padaprogram.Eksepsi akan menyebabkankontrolprogramdiberikankepadapenangananeksepsi.Denganmelakukanpenanganan terhadapeksepsi,pemrogramdapatmenangkapkesalahan,memberitahukanataumengoreksi kesalahan,sertamenjalankanataubahkanmenghentikaneksekusiprogram. PEWARISAN
  • 11. Pewarisan Di Delphi 7.Inheritance/pewarisan merupakan fitur yang tersedia dalam OOP(Object Oriented Programming).Dimana kita bisa menduplikasi sifat-sifat sebuah class , dan memanfaatkannya di class yang lain.Class dalam Delphi 7 sendiri ialah file Unit yang bersisi source code dari program.Dan class itu sendiri merupakan sebuah object. Contoh : Type Titik = Objek x,y,Warna : Integer; constructor Inits destructor done procedure SetX(newx:Integer) function GetX:Integer; End; Lingkaran = Object(Titik) R : Real; End; PENGKAPSULAN Penggabungan data dan metode menjadi satu kesatuan yang disebut kelas. Pada konsep ini terdapat konsep untuk menyembunyikan infomasi. Konsep penyembunyian informasi ini dalam hal kontrol akses (AC), yang terdiri dari Public dan Private. Public, anggota kelas tersebut hanya dapat diakses dari kelas/procedure yang lain, sedangkan Private, hanya dapat diakses pada
  • 12. kelas/procedure pada unit yang sama. Contoh : Type Titik = Objek Private x,y,Warna : Integer; Public constructor Inits destructor done procedure SetX(newx:Integer) function GetX:Integer; End; POLIMORFISME Banyak bentuk, merupakan dua kelas yang diturunkan dari satu kelas mempunyai metode sama tetapi implementasinya berbeda. Atau dengan kata lain nama metode sama kode berbeda. Metode ini sering disebut metode Virtual. Penggunaannya dengan menggunakan kata “Virtual” Contoh : Type Titik = Objek
  • 13. x,y,Warna : Integer; constructor Inits destructor done procedure gambar; virtual; End; Lingkaran = Object(Titik) R : Real; constructor Inits destructor done procedure gambar; virtual; End; Metode gambar pada titik dam lingkaran adalah Virtual, artinya implementasinya bisa berbeda tergantung kelasnya. Contoh : Procedure Titik.Gambar; Begin Writeln(‘Titik’); End; Procedure Lingkaran.Gambar; Begin Writeln(‘Lingkaran’); End;
  • 14. OperatorKelas pada PemogramanDelphi Operator kelas ialah operator as dan is menerima class dan instan obyek sebagai operand, operator = dan juga beroperasi dengan class.