Puji syukur kami panjatkan atas kehadirat Tuhan Yang Maha Esa, yang atas rahmat Nya
lah kami dapat menyelesaikan tugas mata kuliah Pemrograman Berorientasi Objek.
Dalam penyusunan makalah ini, tidak sedikit hambatan yang kami hadapi. Namun kami
menyadari bahwa kelancaran dalam penyusunan makalah ini tidak lain berkat bantuan, dorongan
dan bimbingan orang tua, sehingga kendala-kendala yang kami hadapi teratasi.
Dalam penulisan makalah ini kami menyampaikan ucapan terima kasih yang tak
terhingga kepada pihak-pihak yang membantu dalam menyelesaikan makalah ini, khususnya
kepada :
1. Orang tua yang telah turut membantu, membimbing, dan mengatasi berbagai kesulitan
sehingga tugas ini selesai.
2. Dosen Nahot Frastian, M.Kom, selaku Dosen Mata Kuliah Pemrograman Berorientasi
Objek yang telah meluangkan waktu, tenaga dan pikiran dalam pelaksanaan bimbingan,
pengarahan, dorongan dalam rangka penyelesaian penyusunan makalah ini.
3. Rekan-rekan semua di Kelas R5M Universitas Indraprasta Jurusan Teknik Informatika.
4. Semua pihak yang tidak dapat disebutkan satu persatu, yang telah memberikan bantuan
dalam penulisan makalah ini.
Akhirnya, kami berharap semoga Allah memberikan imbalan yang setimpal pada mereka
yang telah memberikan bantuan dan dapat menjadikan semua bantuan ini sebagai ibadah, Amiin
Yaa Robbal Alamiin.
Semoga materi ini dapat bermanfaat dan menjadi sumbangan pemikiran bagi pihak yang
membutuhkan, khususnya bagi kami sehingga tujuan yang diharapkan dapat tercapai, Amiin.
DAFTAR ISI
KATA PENGANTAR......................................................................................................................1
DAFTAR ISI ..................................................................................................................................2
BAB 1 Pendahuluan.........................................................................................................................5
1.1
Latar Belakang.........................................................................................................5
1.2
Rumusan Masalah....................................................................................................5
1.3
Tujuan ......................................................................................................................5
Struktur....................................................................................................................6
2.1.1
Deklarasi Struktur........................................................................................6
2.2
Typedef....................................................................................................................7
2.3
Uinon........................................................................................................................7
2.4
Enumerasi................................................................................................................8
2.4.1
Deklarasi Emunerasi....................................................................................8
2.5
Bitfiels......................................................................................................................8
2.6
Implementasi Struct.................................................................................................9
2.7
2.6.1
Bentuk Umum..............................................................................................9
2.6.2
Implementasi................................................................................................9
Member Operator...................................................................................................13
2.7.1
2. Operator Penugasan...............................................................................13
3. Operator Pembandingan.........................................................................14
4. Operator Logika.....................................................................................14
2.8
2.9
2.10
Deklarsi Pointer.........................................................................................15
2.8.2
Operator &.................................................................................................18
2.9.2
Operator *..................................................................................................18
Macam-macam Pointer..........................................................................................19
1. Pointer Bertipe Void ..........................................................................................19
2.Pointer Aritmetika ..............................................................................................19
3.Pointer NULL ....................................................................................................19
Pengertian (PBO)...................................................................................................21
3.1.1
3.2
3.3
Enkapsulasi............................................................................................................25
3.2.1
Modularitas................................................................................................25
3.2.2
Information Hiding....................................................................................25
Inheritansi..............................................................................................................26
3.3.1
3.4
Konsep Dasar.............................................................................................21
Polimorfisme..........................................................................................................27
3
3.5
Overriding..............................................................................................................28
3.6
Bahasa pemrograman.............................................................................................29
Enkapsulasi...............................................................................................................30
4.2
Polimorfisme.............................................................................................................31
4.3
Inheritansi (Inheritance)............................................................................................35
BAB 5 Penutup..............................................................................................................................37
5.1 Kesimpilan 37
DAFTER PUSTAKA.....................................................................................................................38
BAB 1
PENDAHULUAN
1.1 Latar belakang
Pemrograman berorientasi objek diciptakan untuk mempermudah pengembangan
program dengan cara mengikuti model yang telah ada dalam kehidupan nyata. Dalam paradigma
ini, sesuai dengan model kehidupan nyata, segala bagian (entiti) dari suatu permasalahan adalah
objek. Objek-objek ini kemudian dapat berupa gabungan dari beberapa objek yang lebih kecil.
Begitu juga dengan sebuah program. Objek besar dapat dibentuk dengan menggabungkan
beberapa objek-objek dalam bahasa pemrograman. Objek-objek tersebut berkomunikasi dengan
saling mengirim pesan kepada objek lain.
BAB 2
STRUKTUR, TYPEDEF, UNION, ENUMERASI, DAN BIT FIELDS
2.1
STRUKTUR
Struktur adalah sekumpulan variable yang masing-masing dapat berbeda tipe, dan
dikelompokkan ke dalam satu nama. Struktur ini sering digunakan untuk mendefinisikansuatu
record data yang disimpan didalam file.
Struktur termasuk ke dalam tipe data yang dibangkitkan (derived data type) yang disusun
dengan menggunakan obyek tipe lain.
2.1.1 Deklarasi Struktur
Struct Nama_Struktur { elemen/tipe data struktrur ; } ;
Contoh: struct mhs{
char*nama;
char*npm;
int uts, uas;
float akhir;
char mutu;
}
Contoh : struct Data {
int tinggi ;
char alamat[30];
};
variable struktur dideklarasikan dengan : struct Nama_struktur Nama_variable;
Contoh : struct Data Dian, Andi;
Cara lain mendeklarasikan variable struktur adalah digabung dengan deklarasi struct dengan
bentuk sebagai berikut :
struct Data { int tinggi;
char Alamat[30];
} Dian, Adi;
2.2
TYPEDEF
Digunakan untuk mendefinisikan kembali suatu nama tipe data yang baru berdasarkan
2.3
UNION
Union merupakan tipe data yang dibangkitkan dimana anggota-anggotanya menggunakan
secara bersama-sama ruang penyimpanan yang sama, berbeda dengan struktur yang masingmasing variable menempati lokasi memori yang berbeda. Jumlah byte yang digunakan untuk
menyimpan union adalah sedikitnya cukup untuk menyimpan data terbesar yang ditangani. Oleh
karena itu, tipe union ini digunakan untuk menangani satu, dua, atau tiga variable dengan tipe
yang mirip. Sebagai contoh:
union nilaiujian {
int uts, uas;
float akhir;
}
2.4
ENUMERASI
Enumerasi suatu tipe data yang mempunyai elemen-elemen bernilai konstatnta dengan
urutan yang sudah tertentu.Nilai-nilai tersebut berupa nilai integer. Nama enumerasi boleh tidak
ditulis jika tidak digunakan untuk enumerasi lain.
2.4.1 Deklarasi Enumerasi
enum Nama_tipe { elemen1,elemen2,};
Contoh :
enum {Minggu, senin,selasa, rabu, kamis,jumat,sabtu};
printf(%d%d%d%d%d
%d,minggu,senin,selasa,rabu,kamis,jumat,sabtu);
Output : 0123456
2.5
BIT FIELDS
Operasi bit dengan bahasa C didasarkan pada suatu struktu yang mempunyai elemen-
elemen berupa medan digit binary (bit field). Tiap bit field dapat ditentukan banyaknya bit yang
akan diwakilinya, Pendeklasian bit filed sama seperti struktur. Bit filed hanya dapat
didiklarasikan dengan tipe int, signed atau unsigned.
Contoh ;
struct tanggal { unsigned hari : 5;
unsigned bulan : 4;
unsigned tahun : 78; } ;
keterangan : elemen hari diberi nilai 5 bit berarti dapat mewakili 5 nilai 0 s/d 1 cukup untuk
mewakili nilai hari dalam 1 bulan.
2.6
IMPLEMENTASI STRUCT
Setelah kita membahas tentang ADT dan struct, sekarang akan dibahas beberapa contoh
implementasi struct, Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel
yang bernaung dalam satu nama yang sama dan memiliki kaitan satu sama lain. Berbeda dengan
array hanya berupa kumpulan variabel yang bertipe data sama, struct bisa memiliki variabelvariabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data
array atau struct itu sendiri. Variabel-variabel yang menjadi anggota struct disebut dengan
elemen struct.
2.6.1 Bentuk umum:
typedef struct {
tipe_data ;
tipe_data ;
.... }
2.6.2 implementasi
typedef struct Mahasiswa {
char NIM[8];
char nama[50];
float ipk;
};
untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2 seperti berikut:
Mahasiswa mhs,mhs2;
untuk menggunakan struct Mahasiswa dengan membuat variabel array m;
Mahasiswa m[100];
contoh lain:
struct {
char NIM[8];
char nama[50];
float ipk;
} mhs;
9
Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas.
Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe
data struct tersebut. Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan
nama variabel struct diikuti dengan operator titik (.) misalnya dengan struct mahasiswa seperti
contoh di atas, kita akan akses elemen-elemennya seperti contoh berikut:
#include
#include
//Pendeklarasian tipe data baru struct Mahasiswa
typedef struct Mahasiswa{
char NIM[9];
char nama[30];
float ipk;
};
int main(){
//Buat variabel mhs bertipe data Mahasiswa
Mahasiswa mhs;
printf("NIM = ");scanf("%s",mhs.NIM);
printf("Nama = ");scanf("%s",mhs.nama);
printf("IPK = ");scanf("%f",&mhs.ipk);
printf("Data Anda : \n");
printf("NIM : %s\n",mhs.NIM);
printf("Nama : %s\n",mhs.nama);
printf("IPK : %f\n",mhs.ipk);
getch();
}
contoh lain:
#include
#include
#define phi 3.14
10
luasLingkaran();
lingkaran.keliling = kelLingkaran(lingkaran.jari2);
printf("\nKeliling lingkaran = %f",lingkaran.keliling);
getch();
}
12
getch();
}
2.7
MEMBER OPERATOR
2.7.1
Operator adalah sebuah karakter yang digunakan untuk menghasilkan suatu nilai dari
operator.di java ada beberapa tipe operator, antara lain :
1. Operator Aritmatika
2. Operator Penugasan
3.
Operator Pembanding
4.
Operator Logika
1. Operator Aritmatika
Operator aritmatika yang sering digunakan untuk menghitung sebuah pekerjaan matematika
seperti jumlah, bagi, kali, pangkat, dll.
Operator
+
*
/
%
Keterangan
Penjumlahan
Pengurangan
Pengurangan
Pembagian
SisaPembagian
2. Operator Penugasan
Operator penugasan adalah operator yang digunakan untuk menugaskan suatu fariabel untuk
melakukan sebuah proses. Operator ini biasa digunakan pada perulangan sebagai increment
atau decrement.
Operator
=
+=
-=
/=
%
Keterangan
PemberianNilai
PenambahanBilangan
PenguranganBilangan
PembagianBilangan
PerolehanSisaPembagian
3. Operator Pembanding
13
Operator pembanding adalah operasi yang digunakan untuk membandingkan antara dua nilai
atau operand yang menghasilkan tipe data Boolean yaitu true / false.biasa digunakan pada
perulangan dan kondisional.
Operator
==
!=
>
<
>=
<=
Keterangan
SamaDengan
TidakSamaDengan
Lebihdari
Kurangdari
Lebihdarisamadengan
Kurangdarisamadengan
4. Operator Logika
Operator logika digunakan untuk membandingkan dua kondisi yang menghasilkan nilai
Boolean yaitu true / false.
Operator
&&
||
Keterangan
Dan
Atau
Kondisi 2
False
True
False
True
Hasil
False
False
False
True
Kondisi 2
False
True
False
True
Hasil
False
True
True
True
Pada kenyataan yang sebenarnya, variabel pointer berisi alamat dari suatu obyek lain (yaitu
obyek yang dikatakan ditunjuk oleh pointer).
14
2.8.1
Deklarasi Pointer
Seperti halnya variabel lain, variabel pointer juga harus dideklarasikan terlebih dahulu
sebelum digunakan. Bentuk umum deklarasi pointer adalah : Dimana Tipe_data merupakan tipe
dari data yang ditunjuk, bukan tipe dari pointer-nya. Contoh :
1. Mensubstitusikan address sebuah variabel ke pointer dengan memakai address operator &
int x;
int *ptr;
ptr = &x;
2. Mensubstitusikan address awal sebuah array ke pointer
char t[5];
char *ptr;
ptr = t;
3. Mensubstitusikan address salah satu elemen array dengan address operator
char t[5] ;
char *ptr;
ptr = &t[3];
4. Mensubstitusikan address awal character string ke pointer char
char *ptr;
ptr = "jakarta"
5.Mensubstitusikan NULL pada pointer. NULL ada pointer kosong, menunjukkan suatu status
dimana pointer itu belum diinisialisasikan dengan sebuah address tertentu.
6.Memakai fungsi MALLOC
2.8.2
turunan dari C++. Bahasa C, C++ dan Java masih merupakan saudara. Namun bahasa Java dan
bahasa C++ adalah saudara dekat. Heran ini kok malah nyambung ke sini ya
Well, Java dan C++, mereka sama-sama berorientasi objek dan mendukung fitur kelas (classes),
dan memiliki syntax yang hampir similiar secara konsep. Sejak awal diciptakannya, bahasa
15
16
Kita bisa mengamati pointer di Java hanyalah permainan dari objek-objek, object of object.
Istilah pointer di Java tidak ada, namun sengaja saya tulis mengalokasikan pointer pada
algoritma di atas. Pointer di dalam Java telah diganti dengan istilah references. Bahasa Java
hampir semuanya adalah references, variable references, object references dan lain-lain. Lantas
apa bedanya dengan pointer? Well, mekanisme references di dalam Java juga jauh berbeda,
dimana kita tidak perlu mengalokasikan wadah bagi references, dan kita juga tidak perlu
membuang references yang tidak terpakai. Masih ingat saat-saat Anda menge-set alamat pointer
ke nilai NULL? Saya tahu di saat itu Anda sedang membuang, pointer yang tidak terpakai
dengan mengesetnya ke NULL, atau bahasa Inceptionnya di-set ke LIMBO.
2.9
Ada 2 operator pointer yang dikenal secara luas, yaitu operator & dan operator *.
Operator &
2.9.1
Operator &
merupakan operator alamat. Pada saat pendeklarasian variable, user tidak diharuskan
menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh
kompiler dan operating sysem pada saat run-time. Jika ingin mengetahui dimana suatu variable
akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable ,
yang berarti "address of". Contoh :
ted = &andy;
Penulisan tersebut berarti akan memberikan variable ted alamat dari variable andy. Karena
variabel andy diberi awalan karakter ampersand (&), maka yang menjadi pokok disini adalah
alamat dalam memory, bukan isi variable. Misalkan andy diletakkan pada alamat 1776 kemudian
dituliskan instruksi sbb :
andy = 25;
fred = andy;
ted = &andy;
2.9.2
Operator *
merupakan operator reference. Dengan menggunakan pointer,kita dapat mengakses nilai yang
tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier
pointer, yang berarti "value pointed by". Contoh : beth = *ted;
(dapat dikatakan:"beth sama dengan nilai yang ditunjuk oleh ted") beth = 25, karena ted dialamat
1776, dan nilai yang berada pada alamat 1776 adalah 25. Ekspresi dibawah ini semuanya benar,
perhatikan :
andy = 25;
&andy = 1776;
ted = 1776;
18
*ted = 25;
2.10
MACAM-MACAM POINTER
1.Pointer Bertipe Void
Pada C++ terdapat pointer yang dapat menunjuk ke tipe data apapun, pointer semacam
ini dideklarasikan dengan tipe void sehingga sering dikenal dengan istilah Void Pointer.
Berikut ini contoh listing program yang menggunakan void pointer.
2.Pointer Aritmetika
Elemen-elemen array biasanya diakses melalui indeksnya, sebenarnya ada cara lain yang
lebih efisien, yaitu dengan menggunakan pointer. Pointer semacam ini disebut dengan
istilah pointer aritmetika. Konsep dasar dari pointer aritmetika ini adalah melakukan
operasi aritmetika terhadap variabel yang bertipe pointer.
3.Pointer NULL
Pada saat program dijalankan, pointer akan menunjuk ke alamat acak pada memori,
sehingga diperlukan inisialisasi agar hal tersebut tidak terjadi. Dalam C++ terdapat
sebuah cara untuk membuat pointer tidak menunjuk ke alamat manapun, yaitu dengan
mengisikan ponter tersebut dengan nilai NULL. Karena hal inilah maka pointer tersebut
sering dinamakan pointer NULL (NULL Pointer).Sebagai contoh kita mempunyai pointer
p, dan kita ingin melakukan inisialisasi pada pointer tersebut dengan nilai NULL maka
sintaknya adalah sebagai berikut. P=NULL;
Melewatkan sebuah struktur untuk menjadi parameter sebuah fungsi dapat dilakukan sama
dengan pengiriman parameter berupa variabel biasa. Fungsi yang mendapat kiriman parameter
tersebut juga bisa mengirimkan hasil baliknya yang juga berupa sebuah struktur (pass by
reference).
Apabila nilai suatu elemen struktur diharapkan akan diubah oleh fungsi, maka yang dilewatkan
haruslah berupa alamat dari elemen struktur (pass by reference). Untuk keperluan ini, operator
alamat ditempatkan di depan nama variabel struktur (bukan di depan nama elemen struktur).
19
BAB 3
KONSEP PEMOGRAMAN BERORIENTASI OBJEK
3.1
Pengertian (PBO)
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP)
merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi
di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan
logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan
mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih,
kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar.
Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula
dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan
dirawat.
3.1.1
Konsep dasar
Kelas kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan
tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan
fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class
adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class
secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan
domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif)
bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan
OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam
masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan
menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
20
Contohnya :
public class Siswa
{
public int nrp;
public String nama;
public void Info()
{
System.out.println(Saya siswa STMIK ERESHA);
}
}
Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program
komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer
berorientasi objek.
Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses
olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani
sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan
keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan
bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan
beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
Desain berorientasi object : Sebuah teknik yang memusatkan desain pada object dan class
berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan (state), behaviour dan
interaksi dari object. Selain itu juga menyediakan manfaat akan kebebasan pengembangan,
meningkatkan kualitas, mempermudah pemeliharaan, mempertinggi kemampuan dalam
modifikasi dan meningkatkan penggunaan kembali software.
Pewarisan : hubungan antara class dimana dalam satu class ada superclass atau class
induk dari class yang lain. Pewarisan menunjuk pada properti dan behaviour yang diterima dari
21
nenek moyang dari class. Ini dikenal juga sebagai hubungan is-a. Perhatikan pada hirarki
berikut.
Contohnya :
import java.awt.*;
class titik
{
int x;
int y;
}
class warnaTitik extends titik
{
Color warna;
}
Atribut : Menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi
tentang object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah field
data. Kembali lagi ke contoh sistem registrasi siswa, atribut dari sebuah siswa adalah nomor
siswa.
Contohnya :
public class DeklarasiAtribut
{
private String nama;
public boolean lulus = false;
String kampus;
}
Method : Sebuah method menjelaskan behaviour dari sebuah object. Method juga dikenal
sebagai fungsi atau prosedur. Sebagai contoh, method yang mungkin tersedia untuk entiti siswa
adalah method register.
22
Contohnya :
class DeklarasiMethod
{
int data;
int getData()
{
return data;
}
void setData(int data)
{
this.data = data;
}
void setMaxData(int data1, int data2)
{
data = (data1>data2)? data1 : data2;
}
}
Constructor : sebuah tipe khusus dari method yang digunakan untuk membuat dan
menginisialisasi sebuah object baru. Ingat bahwa constructor bukan member (yaitu atribut,
method atau inner class dari sebuah object).
Contohnya :
class DeklarasiKonstruktor
{
private int data;
public DeklarasiKonstruktor()
{
data = 100;
}
DeklarasiKonstruktor (int data)
{
23
this.data = data;
}
Package : menunjuk pada pengelompokkan class dan/atau subpackages. Strukturnya
dapat disamakan dengan direktorinya.
Contohnya :
package registrasi.reports;
import registration.processing.*;
import java.util.List;
import java.lang.*;
class Kelasku
{
3.2
ENKAPSULASI
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu
proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program
lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat
diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Manfaat dari proses enkapsulasi adalah :
3.2.1
Modularitas
Kode sumber dari sebuah objek dapat dikelola secara independen dari kode
sumber objek yang lain.
3.2.2
Information Hiding
Karena kita dapat menentukan hak akses sebuah variabel/method dari objek,
dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui
objek lain.
Contoh program
24
Belajar.java
class belajar{
public String x =Pintar;
private String y = Java;
}
Pintar.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(Panggil X : +panggil.x);
System.out.println(Panggil Y : +panggil.y);
}
}
Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam
class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar.
Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class
Belajar.
3.3
INHERITANSI
Merupakan proses mencipatakan kelas baru dengan mewarisi karakteristik kelas yang
telah ada, atau pewarisan dari satu kelas ke kelas lain. Pewarisan adalah mekanisme ampuh yang
memungkinkan kelas mewarisi fungsionalitas kelas yang telah ada.Untuk menciptakan kelas
baru, hanya perlu menspesifikasikan cara kelas baru itu berbeda dari kelas yang telah ada.
3.3.1
1. Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup menurunkan dari class induk
2. Memudahkan dan Mempercepat pemprogramman , mengurangi Code
public class A
25
{
public A() { }
}
public class B : A
{
public B() { }
}
3.4
POLIMORFISME
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah
konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari
suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil,
dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya
polimorfisme dapat diimplementasikan adalah :
1.
Method yang dipanggil harus melalui variabel dari basis class atau superclass.
2.
Method yang dipanggil harus juga menjadi method dari basis class.
3.
4.
Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
OVERRIDING
Overriding menyatakan keadaan dimana method pada subclass menolak method pada
parent classnya. Overriding dipakai saat kita menggunakan method yang sama tapi berbeda
implementasinya. Jadi overriding method mempunyai nama method yang sama,
Contoh:
class Kendaraan
3.6
Bahasa pemrograman
27
28
BAB 4
PROGRAM PRINT OUT
4.1
Enkapsulasi
29
4.2
Polimorfisme
30
31
32
33
4.3
Inheritansi (Inheritance)
34
35
BAB 5
PENUTUP
5.1
Kesimpulan
Struktur adalah pengelompokan variabel-variabel yang bernaung dalam satu nama yang
sama, namun tipe datanya tidak harus sama. Variabel-variabel yang membentuk suatu struktur,
selanjutnya disebut sebagai elemen dari struktur atau field. Suatu struktur didefinisikan dengan
menggunakan kata kunci struct. Elemen dari suatu variabel struktur dapat diakses dengan
menyebutkan nama variable struktur diikuti dengan operator titik (.) dan nama dari elemen
strukturnya.
Sebuah struktur juga bisa diinisialisasi pada saat dideklarasikan. Hal ini serupa dengan
inisialisasi array, yaitu elemen-elemennya dituliskan di dalam sepasang kurung kurawal ({ })
dengan masing-masing dipisahkan dengan koma. Elemen-elemen dari suatu array juga dapat
berbentuk sebuah struktur (array of struct). Melewatkan sebuah struktur untuk menjadi
parameter sebuah fungsi dapat dilakukan sama dengan pengiriman parameter berupa variabel
biasa. Fungsi yang mendapat kiriman parameter tersebut juga bisa mengirimkan hasil baliknya
yang juga berupa sebuah struktur (pass by reference).
Jika sebuah struktur mengandung banyak field dan diputuskan bahwa keseluruhan fieldnya akan diubah oleh fungsi, maka cara yang efisien adalah dengan melewatkan (passing) alamat
dari struktur. Dengan demikian pada pendefinisian fungsi, parameter formalnya berupa pointer
yang menunjuk ke struktur (pointer to struct).
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak
melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek
apa yang dapat melakukan pemecahan masalah tersebut.
36
DAFTAR PUSTAKA
Read more: http://jintoples.blogspot.com/2012/12/tipe-tipe-operator-padajava.html#ixzz2fIRaxFEm
http://www.google.com
http://www.ilmukomputer.com/pemrograman-berorientasi-objek/
37