• Tidak ada hasil yang ditemukan

Pengenalan b i tib k pemrograman berorientasi obyek

N/A
N/A
Protected

Academic year: 2018

Membagikan "Pengenalan b i tib k pemrograman berorientasi obyek"

Copied!
59
0
0

Teks penuh

(1)

Pengenalan

b

i

t i b

k

(2)

Topik

Topik

• MENGENAL OBJEK & CLASS • Fitur OOP

• Fitur OOP

• Deklarasi class • Deklarasi AtributDeklarasi Atribut • Deklarasi metode

• Pengaksesan anggota obyek • Life Cycle dari Objek

• Tipe Reference

P b l

(3)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

• Paradigma ObjekParadigma Objek

– Paradigma adalah suatu cara pandang atau cara berpikir

– Paradigma objek adalah cara pandang yang

memandang SEGALA SESUATU sebagai OBJEK Semua aspek dalam Java programming dapat

– Semua aspek dalam Java programming dapat dianggap sebagai objek, -kecuali TIPE DATA

(4)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

• Persoalannya bagaimana memindahkan

Persoalannya, bagaimana memindahkan

pemikiran objek di dunia nyata menjadi

objek di dunia software atau

objek di dunia software atau

pemrograman, khususnya Java

• Ambil contoh objek nyata yang akan

• Ambil contoh objek nyata yang akan

(5)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

• Data Member

Data Member

– Setiap objek yang dinamakan ‘orang’ pasti memiliki : nama tinggi badan berat badan memiliki : nama, tinggi badan, berat badan, warna rambut, warna kulit, jenis kelamin, menggunakan kacamata, dllgg

(6)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

– Contoh pemisalan objek orang nyata menjadiContoh pemisalan objek orang nyata menjadi kode program dalam class Orang :

class Orang {

String nama; //nama orang int tinggiBadan; //dalam cm

int beratBadan; //dlm kg int beratBadan; //dlm kg

String warnaRambut; //hitam, pirang, coklat String warnaKulit; //sawoMatang, hitam, putih String jenisKelamin; //pria atau wanita

(7)

MENGENAL OBJEK & CLASS

(8)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

• Class dapat diumpamakan seperti spesifikasi atau blueprint. Dalam hal ini, Tuhan p ,

menciptakan manusia dengan spesifikasi tertentu.

• Jadi dapat diumpamakan bahwa Tuhan memiliki • Jadi dapat diumpamakan bahwa Tuhan memiliki

class Orang yang kemudian membuat banyak objek dari class Orang tsb, dan contoh objek tersebut adalah Anda sendiri

tersebut adalah Anda sendiri.

(9)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

• Dari definisi class Orang di atas, kita bisaDari definisi class Orang di atas, kita bisa

membuat objek-objek berdasar class tersebut. • Objek-objek yang dibuat perlu disimpan dalamj j y g p p

variabel yang akan menyimpan

referensi/address dari objek yang dibuat.

• Proses pembuatan objek sering disebut sebagai

(10)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

• Method

– Selain memiliki atribut(STATE) yang diimplementasikan sebagai data member di atas, manusia juga dapat melakukan suatu aksi atau pekerjaan tertentu (BEHAVIOR)p j ( )

– Contoh aksi/behavior yang umum adalah menangis dan tertawa – Kedua behavior tsb bisa dipindahkan ke dalam bahasa

pemrograman menjadi method sbb : pemrograman menjadi method sbb :

void menangsi() {

System.out.println(“hik..hikk..hik…”); }}

void tertawa() {

System.out.println(“ha..ha..ha..ha..”); }

(11)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

• Method merupakan perwujudan aksi atau

Method merupakan perwujudan aksi atau

tindakan dari dunia nyata di dalam

pemrograman komputer

pemrograman komputer.

(12)
(13)

MENGENAL OBJEK & CLASS

MENGENAL

 

OBJEK

 

&

 

CLASS

• Dari gambar di atas dapat dipahami bahwa g p p suatu class dapat memiliki banyak objek, dan setiap objek akan mewarisi data member dan method yang sama dari classy g

• Untuk membuat objek Orang dari class Orang, gunakan keyword new sbb :

Orang orang1 = new Orang(“Izzuddin A Afif”);

(14)
(15)

Fitur

 

OOP

• Encapsulation

Encapsulation

• Inheritance

(16)

Fitur

 

OOP

Enkapsulasi Æ suatu cara untuk

b ik i l t i d t il d i t

menyembunyikan implementasi detail dari suatu class dalam rangka menghindari akses yang

ilegal ilegal

Inheritansi Æ dimana suatu entitas/obyek dapat

mempunyai entitas/obyek turunan Dengan mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat

mempunyai class turunan p y

Polymorphism Æ kemampuan untuk

(17)

D kl

i l

Deklarasi

 

class

<modifier> class <classname> {

[deklarasi atribut]

[deklarasi_atribut]

[deklarasi_konstruktor]

[d kl

i

t d ]

(18)

Contoh

Contoh

bli

l

Si

{

public class Siswa {

}

(19)

Deklarasi Atribut

Deklarasi

 

Atribut

(20)

Contoh

Contoh

public class Siswa { public class Siswa { public int nrp;

public String nama; atribut

(21)

Deklarasi metode

Deklarasi

 

metode

<modifier> <return_type> <nama_metode> ([daftar_argumen])

{{

(22)

Tipe Reference

Tipe

 

Reference

• Tipe selain tipe primitif dinamakan tipe

Tipe selain tipe primitif dinamakan tipe

reference

• Tipe reference adalah tipe berbentuk

• Tipe reference adalah tipe berbentuk

(23)

Contoh

Contoh

public class Siswa {

public int nrp; metode

public String nama; public void info() {

(24)

Pengaksesan anggota obyek

Pengaksesan anggota obyek

• Struktur untuk mengakses anggota obyek

Struktur untuk mengakses anggota obyek.

NamaObject.NamaVariabelj

NamaObject.NamaMethod(parameter-list)

Siswa siswa = new Siswa(); siswa.nrp=10;

Siswa.info();

Cara mengakses variabel object Cara mengakses method

(25)

P

k

b

k

Pengaksesan anggota obyek

(26)

Contoh Class

Contoh Class

public class Coin {

public final int HEADS = 0; public final int TAILS = 1; private int face;

public Coin () { flip(); }

public void flip (){ pub c o d p (){

face = (int) (Math.random() * 2); }

public int getFace (){ return face; }

public String toString(){ String faceName; if (face == HEADS)

faceName = "Heads"; faceName Heads ; else

faceName = "Tails"; return faceName;

(27)

Contoh Class

Contoh Class

public class Circle {

public double x, y; // centre of the circle public double r; // radius of circle

//Methods to return circumference and area

public double circumference() { return 2*3.14*r;

(28)

Using Circle Class

Using

 

Circle

 

Class

// Circle.java: Contains both Circle class and its user class //Add Circle class code here

class MyMain class MyMain {

public static void main(String args[]) {

Circle aCircle; // creating reference Circle aCircle; // creating reference aCircle = new Circle(); // creating object

aCircle.x = 10; // assigning value to data field aCircle.y = 20;

aCircle.r = 5; aCircle.r 5;

double area = aCircle.area(); // invoking method double circumf = aCircle.circumference();

System.out.println("Radius="+aCircle.r+" Area="+area);

System.out.println("Radius="+aCircle.r+" Circumference ="+circumf); System.out.println( Radius aCircle.r Circumference circumf); }

} [raj@mundroo]%: java MyMain

Radius=5.0 Area=78.5

R di 5 0 Ci f 31 400000000000002

(29)

Ob

/C

l

Object/Circle

• Using Object Methods:

Using Object Methods:

sent ‘message’ to aCircle

Circle aCircle = new Circle(); Circle aCircle = new Circle();

(30)

Life Cycle dari Objek

Life

 

Cycle

 

dari

 

Objek

• Creation (Membuat objek)

Creation (Membuat objek)

• Use (Menggunakan objek)

D

t

ti

(M

h

bj k)

(31)

Contoh

Contoh

public class MyDate { private int day=1; private int day 1; private int month=1; private int year=2000;

//konstruktor

public MyDate(int day, int month, int year) {…}

} }

(32)

Declaring

 

Objek

(M

b

Obj k)

(Membuat

 

Objek)

M D t t d

M D t (10 11 2006)

MyDate today

= new MyDate(10, 11, 2006);

• Pernyataan diatas terdiri dari 3 langkah :

– Deklarasi objek Æ MyDate today ;

– Alokasi Memori Æ menggunakan kata kunci new

MyDate(10, 11, 2006);

I i i li i Obj k Æ t t d i – Inisialisasi Objek Æ tergantung dari

(33)

Membuat Objek

Membuat

 

Objek

MyDate today

= new MyDate(10 11 2006);

(34)

MyDate today = new MyDate(10, 11, 2006);

????

today Alokasi Memori objek today dengan tipe class MyDate

0

0

day

th

tipe class MyDate Mengisi atribut

dengan default value

0

0

month

(35)

MyDate today = new

MyDate(10, 11, 2006);

????

today Mengisi atribut

d il i

1

day

dengan nilai

(36)

MyDate today = new

MyDate(10, 11, 2006)

;

????

today Menjalankan

(37)

MyDate today =

new MyDate(10, 11, 2006);

0x01abcdef

today Membuat Variabel

R f

10

day

(38)

Men

assign reference variable

Men assign

 

reference

 

variable

MyDate x = new MyDate(14, 6, 2005);

y

y

(

, ,

);

MyDate y = x;

(39)

Men

assign reference variable

Men assign

 

reference

 

variable

MyDate x = new MyDate(14, 6, 2005);

y

y

(

, ,

);

MyDate y = x;

y = new MyDate(14 6 2005);

y = new MyDate(14, 6, 2005);

14

0x01234567 6

(40)

Menggunakan Objek

Menggunakan

 

Objek

• Ada 2 cara :

Ada 2 cara :

– Memanipulasi variabelnya

(41)

aCircle = new Circle();

bCi l Ci l () Buatlah object dari

bCircle = new Circle() ;

bCircle = aCircle;

j Class Circle

Sebelum Assignment Setelah Assignment

(42)

Automatic garbage collection

Automatic

 

garbage

 

collection

• Object

Object sudah tidak mempunyai

Q

sudah tidak mempunyai

reference dan tidak bisa digunakan lagi.

• Maka object tersebut menjadi kandidat

Maka object tersebut menjadi kandidat

dari automatic

garbage collection

.

• Java secara otomatis mengumpulkan

Java secara otomatis mengumpulkan

garbage secara periodik dan

membersihkan memori yang sudah

y

g

(43)

Pass by value

Pass

 

by

 

value

• Java tidak membolehkan adanya pass by

f j di h iji k b

reference, jadi hanya mengijinkan pass by value.

K tik di i d l h b ti

• Ketika argumen yang di-passing adalah bertipe reference type, maka anggota-anggota (data member) dari argumen tersebut diperlakukan member) dari argumen tersebut diperlakukan sebagai pass by reference, sedangkan

(44)

Contoh

public class MyDate { private int day=1; private int day 1; private int month=1; private int year=2000;

bli M D t (i t d i t th i t ) {

public MyDate(int day, int month, int year) { …

}

public void setDay(int day) { // change the day

}}

public void print() {

// print the day, month and year }

(45)

value = 10; value = 10; }

public static void changeObjectRef(MyDate ref) { ref = new myDate(3 5 2003);

ref new myDate(3, 5, 2003); }

public static void changeObjectAttr(Mydate ref) { ref.setDay(5);y( )

}

public static void main(String args[]) { int x=5;

changeInt(x);

System.out.println(x);

(46)

Hasil eksekusi

Hasil

 

eksekusi

> java TestMyDate

> java TestMyDate

5

(47)

Class Fundamentals: main method

Class

 

Fundamentals:

 

main

 

method

• The main() Method

public static void main(String[] args)

• public : met hod main() dapat diakses oleh apa saj a, t ermasuk j ava t echnology int erpret er

t echnology int erpret er.

• st at ic : keyword ini berf ungsi unt uk memberi t ahu kompiler bahwa

met hod main bisa langsung digunakan dalam cont ext class yang bersangkut an. Unt uk mengeksekusi/ menj alankan met hod yang bert ipe st at ic t idak diperlukan inst ance nya

bert ipe st at ic, t idak diperlukan inst ance nya.

• void : menunj ukkan bahwa met hod main() t idak mengembalikan nilai

• main : merupakan nama met hod ut ama dari program j ava

(48)

Contoh Program

Contoh

 

Program

• Implementasikan UML class diagram dalam program p g p g untuk class Tabungan

Tabungan Output Tabungan

- saldo : int

+ Tabungan(initsaldo : int)

+ getSaldo() : int

p

Jumlah uang yang disimpan : 8000 Jumlah uang yang diambil : 6000 true Jumlah uang yang disimpan : 5500 Jumlah uang yang diambil : 4000 true

+ getSaldo() : int

+ simpanUang(jumlah : int)

+ ambilUang(jumlah : int) : boolean

g y g

(49)
(50)
(51)

Class Customer

(52)
(53)
(54)

Class Customers

Class

 

Customers

Output

Y li S ti ti A 29

Yuliana Setiowati Age:29 Stanley Clark Age:8

Jane Graff Age:16

(55)

Class TestCustomer2

(56)

Data Member

Data

 

Member

• Disebut juga variabel atau atribut

Disebut juga variabel atau atribut

• Variabel dibagi menjadi dua :

– Variabel instance : variabel yang dimiliki olehVariabel instance : variabel yang dimiliki oleh setiap objek. Masing-masing objek

mempunyai nilai variabel instance yang b b d

berbeda

(57)

Contoh Program

Contoh

 

Program

• Class Tabungan2 terdiri dari dua variabel:

Class Tabungan2 terdiri dari dua variabel:

– Variabel instance : saldo

Variabel class : bunga (kata kunci static) – Variabel class : bunga (kata kunci static)

M th d

Æ

• Method

public String toString()

Æ

(58)
(59)

Referensi

Dokumen terkait

dapat diketahui bahwa dari 53 responden yang dilakukan penelitian melalui hasil survey lembar scrining yang dilakukan di Rumah Sakit Mary Cileungsi didapatkan

Ini berarti bahwa setiap objek dari class tersebut dapat memiliki nilai variabel instance yang berbeda.. Variabel class di sisi lain adalah milik class

Untuk menampilkan gambar sebagai gambar latar belakang halaman web dapat menambahkan atribut BACKGROUND pada tag &lt;BODY&gt;, dan untuk menampilkan gambar dalam halaman

A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-1-2-3-4-5-6-7-8-9-0-.-, - Buatlah chiper dengan menggunakan tabel ROT13 dari plaintext berikut : Seorang penyerang bisa

Berdasarkan hasil analisis hubungan dukungan suami pada pemberian ASI eksklusif dengan jumlah 81 responden, didapatkan Nilai p = 0,000 yang lebih kecil dari 0,05 maka dapat disimpulkan