• Tidak ada hasil yang ditemukan

Bahasa Pemrograman 2.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bahasa Pemrograman 2."

Copied!
43
0
0

Teks penuh

(1)

Bahasa

 

Pemrograman

 

2

Class & Object Class & Object

(2)

Pengantar

Pengantar

(3)

Pengantar

Pengantar

Procedural vs Object Oriented

Procedural:  bagaimana memecahkan suatu 

l h? masalah?

Proses

(4)

Pengantar

Pengantar

Procedural: memisahkan data dan methods

Object Oriented: semuanya dipandang 

b i b k iliki d d

sebagai obyek yang memiliki data dan 

methods sebagai satu kesatuan

• OOP: suatu paradigma pemrograman yang 

dipakai untuk mengorganisasikan program

dipakai untuk mengorganisasikan program 

(5)

Class

Class

Merupakan definisi tentang karakteristik

(attributes) dan perilaku (behavioral) suatu 

( ) p ( )

obyek

• Adalah blueprint  / prototype  / cetakan

(6)

Class

Class

l h dii i i dib b k

Class harus diinstansiasi – dibuat obyeknya

terlebih dahulu sebelum bisa digunakan.

• Class merupakan suatu template yang 

digunakang  sebagaig p pola desain suatu obyeky

(7)
(8)

Class & Object

Class

 

&

 

Object

Class dan Object, mana duluan?Object dan Class, mana duluan?

(9)

Object

Object

Instance (instan) dari sebuah kelas

Hasil/wujud nyata dari “cetakan” kelasHasil/wujud nyata dari  cetakan  kelas

Program = kumpulan objects

Contoh: CRV, dosen, JupiterMX

• Untuk membuat obyek:Untuk membuat obyek:

– Keyword pada java: new

(10)

Berbagai macam

tipe

objek

Berbagai

 

macam

 

tipe

objek

ConcreteConcrete: manusia mobil ponsel: manusia, mobil, ponsel

Intangible*: keluarga, kualitas, ide, accountRoles: dokter, pasien, manager, admin

Judgements: gaji tinggi pintarJudgements: gaji tinggi, pintar

relational: partnership, pernikahan, ownership • events: penjualan, system crash

displayable: string integer image • displayable: string, integer, image

* Incorporeal property that is saleable though not material, cannot be seen, handled, 

(11)

Class

Class

• Contoh: class sepeda.

• AdaAda 3 3 atribut/stateatribut/state//variabelvariabel kelas = speed, rpm,kelas  speed, rpm, 

dan gear.

• Misalnya nilai/value untuk atribut speed= 18 mph

• Misalnya nilai/value untuk atribut speed= 18 mph

• Ada 3 services / methods / behavior:

– Change gears

– Brake

(12)

Class & Object

Class

 

&

 

Object

Contoh Class

Rancangan sebuahRancangan sebuah flashdiskflashdisk::

– Ada port USB

Ad k i i d (fl h )

– Ada rangkaian penyimpan data (flash storage)

– Apa bisa dilakukan flashdisk? (read and write)

• Object: Flashdisk Kingston 8 GB 4 GB 2 GB

• Object: Flashdisk Kingston 8 GB, 4 GB, 2 GB • Object: Flashdisk SanDisk 8 GB, 4 GB, 2 GB

(13)

Contoh lain Class dan Obyek

Contoh

 

lain

 

Class

 

dan

 

Obyek

(14)

Attribute dan Method

Attribute

 

dan

 

Method

Attribut:

 

Ciri

 

pembeda

 

antar

 

obyek

Method: Tingkah laku sebuah obyek

(15)
(16)

Ilustrasi class dan instansiasi

Ilustrasi

 

class

 

dan

 

instansiasi

(17)
(18)
(19)

Konsep OOP

Konsep

 

OOP

Abstraction

Encapsulation and Data HidingEncapsulation and Data HidingInheritance

(20)

Abstraction

Abstraction

d l l h k l k k d l

Pemodelan masalah yang kompleks ke dalam 

bentuk sederhana, sesuai dengan tingkatan

yang dibutuhkan

• Contoh: Air Conditioner

Pengoperasian AC: Turn On, Turn Of, Naikkan  suhu, Turunkan suhu, Aktifkan Kipas, Matikan  Kipas, Aktifkan timer, Matikan timer, dsb…

(21)

Abstraction

Abstraction

…C t h M bil di d l d i b d

…Contoh: Mobil, di dalamnya ada mesin, body, 

gear, dsb

…Dengan pemisahan rancangan mobil dan mesin, 

kita dapat membuat mesin yang dapat dipakai

kita dapat membuat mesin yang dapat dipakai

dibeberapa macam mobil

…Disebut relasi has‐a / komposisi

(22)

Encapsulation & Data Hiding

Encapsulation

 

&

 

Data

 

Hiding

Object tidak perlu menampilkan seluruh data  dan methodnya,y  hanyay y g yang dibutuhkan sajaj   untuk interaksi dengan object lainnya

Dibuat dalam method method:

Dibuat dalam methodmethod:

– Set ‐> mengisi nilai

(23)

Encapsulation & Data Hiding

Encapsulation

 

&

 

Data

 

Hiding

Beberapa keyword akses untuk encapsulation class

Public: dapat diakses dari semua class

Private: hanya dapat diakses dari dalam classProtectedProtected:: hanya dapat diakses dari sub hanya dapat diakses dari sub classclassDefault: hanya dapat diakses dari class yang 

b d d l k

(24)

Encapsulation & Data Hiding

Encapsulation

 

&

 

Data

 

Hiding

i f (d fi i i)

• Bagian Interfaces (definisi)

– Dibuat dalam bentuk method

– Mendefinisikan bagaimana membuat instance dari 

suatu class, dan mendefinisikan operasi‐operasi dari 

object tersebut object tersebut

– Sifat : Public

• Bagian Implementation

– Sifat : Private, disembunyikan, 

(25)

Encapsulation & Data Hiding

Encapsulation

 

&

 

Data

 

Hiding

(26)

Bentuk umum Class

Bentuk

 

umum

 

Class

class <Nama_kelas>{

[<deklarasi_variabel>] //Åmember variable (1)

[<konstruktor>] //Å constructor (2)

[<metode>] //Å method (3) [<metode>] //Å method (3) }

(27)

Contoh Class

Contoh

 

Class

class Bilangan{g {

int bil;

void Bilangan(){}

void isiBil(int bil){ this.bil = bil; this.bil bil; }

} }

(28)

Class & Object pada Java

Class

 

&

 

Object

 

pada

 

Java

(29)

Attribute

Attribute

Did kl ik di d l k l d di l t d

• Dideklarasikan di dalam kelas dan di luar metode

• Disebut juga : field, member variabel, atau instan 

variable, variabel kelas

• Untuk membedakan dengan variabel lokal, variabel 

ini dapat diakses dengan memakai kata kunci this

• Sebagai objek, variabel ini menunjukkan state/Sebagai objek, variabel ini menunjukkan state/ 

kondisi/ sifat/ karakteristik/ ciri‐ciri/ penjelasan dari 

objek objek

Local variables dideklarasikan di dalam method.

Local variables harus diinisialisasi terlebih dahulu!

(30)

Instance vs Local Variable

Instance

 

vs

 

Local

 

Variable

Instance Variable

(31)

Metode

Metode

• Semua kode p gprogram harus ditulis di dalam metode

atau konstruktor

• Metode merupakan cara pengorganisasi program 

OOP OOP

• Dalam suatu kelas dapat dibuat lebih dari satu 

metode metode

• Suatu metode harus diberi identifier (nama)

• Secara sederhana bisa dikatakan bahwa metode

• Secara sederhana bisa dikatakan bahwa metode

(32)

Metode

Metode

b d ( id k ik)

• Tujuan utama membuat metode (tidak statik)  dalam PBO adalah menyediakan cara 

(metode) nt k mengakses (membaca ata (metode) untuk mengakses (membaca atau 

menulis) variabel anggota

Di b t d d t t

• Disebut dengan accessor dan mutator

method.

D d iki d t / i f i d

Dengan demikian, data/ informasi yang ada  pada variabel anggota dapat ditingkatkan 

kualitas informasinya dan dapat dilindungi

kualitas informasinya dan dapat dilindungi

(33)

Method pada Java

Method

 

pada

 

Java

Method dapat digambarkan sebagai sifat

(behavior) dari suatu class.

( )

hak_akses <tipe_data_return> nama_method( [parameter] )

• Untuk memanggilgg  method dapatp  digunakang  sintaks sebagaig  

berikut:

namaObyek.nama_method( [parameter] ); Contoh:

goofy.menggonggong(); g y gg gg g();

(34)

Contoh

Contoh

(35)

Accessor

Accessor

Fungsi untuk mendapatkan nilai dari suatu  field/attribute

• Fungsi ini mengembalikan nilai field/attribute

Fi ld/ ib b did kl ik

• Field/attribute tersebut dideklarasikan 

private, gunakan accessor untuk mengakses  nilainya

Diawali dengan get

(36)

Mutator

Mutator

Mengubah nilai suatu field/data dari objectDitujukan demi enkapsulasiDitujukan demi enkapsulasi

– Perlindungan data variabel instan

(37)

Accessor & Mutator

Accessor

 

&

 

Mutator

class Bilangan{ int bil;

Bilangan(){}

void setBil(int bil){( ){

this.bil = bil; }

}

int getBil(){

return this.bil;etu t s.b ; }

} }

(38)

Contoh set Method

Contoh

 

set

 

Method

(39)

Reference Variable

Reference

 

Variable

Reference variable digunakan untuk 

menyimpany p  alamat dinamis suatu class  instance.

(40)

Reference Variable

Reference

 

Variable

(41)

Kelas Gerobag

Kelas

 

Gerobag

• B t K l G b d k t t

• Buat Kelas Gerobag, dengan ketentuan

• Attribut :

– roda : menyimpan nilai banyaknya roda

– bahan : menyimpan informasi bahan gerobag (“kayu”,”bambu”, 

dsb.)

– warna : menyimpan informasi warna gerobag (“putih”,”coklat”, 

d b ) dsb.)

– arah : menyimpan informasi (“maju”, ”mundur”, ”ke kiri”, “ke 

kanan”, ”berhenti”)

d

• Metode :

– maju : menyebabkan arah bernilai “maju”

– mundur : menyebabkan arah bernilai “mundur”

– kiri : menyebabkan arah bernilai “ke kiri”

– kanan : menyebabkan arah bernilai ”ke kanan”

(42)

kelas Mobil

kelas

 

Mobil

• Buat kelas Mobil:

• Buat kelas Mobil:

• Attribut :

– sirine : menyimpan nilai kondisi bel (“Nguing‐nguing”,”diam”)

– jendela aj _ : menyimpany p  informasi kondisi jendelaj  kiri (“buka”,”tutup”)( , p )

– jendela_b : menyimpan informasi kondisi jendela kanan (“buka”,”tutup”)

– merk : menyimpan informasi merk mobil (“Mazda”,”Suzuki”, dsb.)

– gigi : menyimpan informasi posisi gigi presneling (1, 2, 3, 4, 5)

– beepbeep : menyebabkan sirine berbunyi “Nguing: menyebabkan sirine berbunyi  Nguing nguing‐nguing”

– no_beep : menyebabkan sirine berbunyi “diam”

• Metode

– buka : jika parameter ‘a’ berarti jendela kiri terbuka, ‘b’ berarti jendela kanan terbuka.

– tutup : jika parameter ‘a’ berarti jendela kiri tertutup, ‘b’ berarti jendela kanan 

tertutup.

– tambah : jika persneling kurang dari 5, persneling dinaikkan 1, jika sudah 5 tampilkan 

pesan “Jangan ngebut‐ngebut…”.

k jik li l bih d i 1 li dit k 1 jik d h 1 t ilk

– kurang : jika persneling lebih dari 1, persneling diturunkan 1, jika sudah 1 tampilkan 

(43)

NEXT

NEXT

Desain Class dan Obyek

Gambar

Ilustrasi class dan instansiasiIlustrasi class dan instansiasi

Referensi

Dokumen terkait

 Konfirmasi transaksi yang done tidak sesuai antara DP X dengan pihak broker.  Masalah teknis/internal di

Dengan in kami mengundang saudara untuk mengikuti Pembuktian Kualifikasi Pengadaan Jasa Konsultan dengan Sistem Seleksi Umum untuk :. Pemetaan dan Mitigasi Wilayah Rawan Bencana

Negoisasi Teknis dan Biaya dalam Rangka Pemilihan Penyedia Jasa Konsultansi pada Badan Penanggulangan Bencana Daeran Kabupaten Manggarai Timur Tahun Anggaran 2017, yang

[r]

belum melakukan klaim data mahasiswa belum bisa melakukan up-load pelaporan data. semesteran ke server

Dalam penelitian Yulia Kurniawati tentang game online (2010) frekunsi atau keseringan remaja bermain game mengakibatkan banyak waktu yang dipakai untuk bermain sehingga

Manfaat yang diperoleh dari penelitian ini yaitu mendapatkan informasi tentang efektivitas penambahan jintan hitam dengan suplemen vitamin C dalam ransum terhadap

Konsep kejadian manusia jelas perbedaannya dengan konsep kejadian mahluk selain manusia. Manusia memiliki kelebihan yang sempurna dan sekaligus menunjukkan