• Tidak ada hasil yang ditemukan

Slide IST101 Fondasi Pemrograman Struktur Data 05 Object Class Class Documentation Packages

N/A
N/A
Protected

Academic year: 2017

Membagikan "Slide IST101 Fondasi Pemrograman Struktur Data 05 Object Class Class Documentation Packages"

Copied!
32
0
0

Teks penuh

(1)

DATA

#5

Object, Class, Class

(2)

Tujuan Pertemuan

Memahami prinsip Object pada pemrograman.

Memahami tentang encapsulation and information

hiding pada object.

Mampu implementasi class dan dokumentasi class

untuk diterapkan pada object.

(3)

Object Oriented Programming

Tentang Object

Object

merupakan entitas/

data type

yang memiliki

struktur dan

state.

Tiap

object

memiliki operasi yang disediakan untuk

mengakses atau memanipulasi

state

-nya.

Object

merupakan unit

atomic

: bagian-bagian dari

(4)

Object Oriented Programming

Tentang Object

Atomicity

dikenal juga dengan

information hiding

.

Information hiding

:

User tidak dapat mengakses langsung ke

bagian-bagian atau implementasi

object

;

hal tersebut dapat diakses secara tidak langsung,

melalui

method

yang disediakan pada

object

.

Wa

rn

ing

:

“D

o n

ot

op

en

no

us

er

se

rv

ice

ab

le

pa

rts

in

(5)

Object Oriented Programming

Suatu peradigma pemrograman yang menggunakan object

(Struktur Data yang terdiri dari data fields dan methods

Merupakan paradigma pemrograman yang

 

 

berorientasikan kepada objek.

Semua data & fungsi di dalam paradigma ini dibungkus

dalam

 

class

atau objects

 

Support

code reuse

(6)

Object Oriented Programming

Inheritance

Suatu cara untuk

reuse

 

(menggunakan ulang) code dari objects yg ada atau

membangun

subtype

dari

object

yang sudah ada.

Encapsulation

Menyembunyikan detil keseluruhan dari implementasi (

information hiding

).

Untuk menyembunyikan interface dari implementasi digunakan kata

kunci

 private

.

Polymorphism

Memberikan suatu kemampuan pada program untuk berkembang secara

terus menerus.

Baik pada tahap pengembangan awal ataupun pada saat ingin menambahkan

kemampuan-kemampuan yang baru.

(7)

Class

“Suatu class pada java terdiri dari

fields

yang berfungsi

untuk menyimpan data dan

methods

yang nantinya akan

digunakan oleh instances dari class” .

(8)

Class

“Merupakan spesifikasi dari suatu object yang mengacu

padanya”.

[cay horstmann, Big Java, 2.4]

“Merupakan type dari suatu object”.

[cay horstmann, Big Java, 2.4]
(9)

Class

public class IntCell {

// Public methods

public int read( ) {

return storedValue;

}

public void write( int x ){

storedValue = x;

}

/* Private internal data

representation */

private int storedValue;

}

public class IntCell {

// Public methods

public int read( ) {

return storedValue;

}

public void write( int x ){

storedValue = x;

}

/* Private internal data

representation */

private int storedValue;

}

IntCell

Data: storedValue Data: storedValue Method: read() write(int x) Method: read() write(int x)

Kita bisa menggunakan method

read()

dan

write()

pada object yang memiliki

type class IntCell.

Kita bisa menggunakan method

read()

dan

write()

pada object yang memiliki

type class IntCell.

Contoh

:

IntCell m = new IntCell( );

m.write( 5 );

Contoh

:

(10)

Class

Contoh Class dalam Program Java

// IntCell class

// int read( ) --> Returns the stored value

// void write( int x ) --> x is stored

public class IntCell {

// Public methods

public int read( ) {

return storedValue;

}

public void write( int x ) {

storedValue = x;

}

// Private internal data representation

private int storedValue;

}

// IntCell class

// int read( ) --> Returns the stored value

// void write( int x ) --> x is stored

public class IntCell {

// Public methods

public int read( ) {

return storedValue;

}

public void write( int x ) {

storedValue = x;

}

// Private internal data representation

private int storedValue;

}

Class

IntCell

Method

read() dengan tipe

public, dgn return value

Method

write() dengan tipe

public, tanpa return value (void)

Field

storedValue dengan tipe

private.

Field

adalah member yang menyimpan

data, biasanya memiliki tipe

private

.

Method

adalah member melakukan aksi

Field

adalah member yang menyimpan

data, biasanya memiliki tipe

private

.

(11)

Class

Public members

merupakan bagian dari

class

yang

dapat dilihat oleh pengguna object.

Private members merupakan bagian dari

class

yang

tidak dapat dilihat (hidden) dari sisi pengguna object.

(

nonclass routines

).

public

int

read( ) {

public

int

read( ) {

private int storedValue;

(12)

Class

Methods yang mengembalikan nilai harus disertakan

tipe

dari nilai yang di kembalikannya, pada deklarasi

method

Methods yang tidak mengembalikan nilai harus

disertakan void, pada deklarasi method

public

int

read( ) {

public

int

read( ) {

public

void

write( int x ) {

(13)

Class

Membuat object dari Class

// IntCell class

// int read( ) --> Returns the stored value

// void write( int x ) --> x is stored

public class IntCell {

// Public methods

public int read( ) {

return storedValue;

}

public void write( int x ){

storedValue = x;

}

/* Private internal data

representation */

private int storedValue;

}

// IntCell class

// int read( ) --> Returns the stored value

// void write( int x ) --> x is stored

public class IntCell {

// Public methods

public int read( ) {

return storedValue;

}

public void write( int x ){

storedValue = x;

}

/* Private internal data

representation */

private int storedValue;

}

// Exercise the IntCell class

public class TestIntCell {

public static void main( String [ ] args ) {

IntCell m = new IntCell( );

m.write( 5 );

System.out.println( "Cell contents: " +

m.read( ) );

// The next line would be illegal if

uncommented

// because storedValue is a private member

// m.storedValue = 0;

}

}

// Exercise the IntCell class

public class TestIntCell {

public static void main( String [ ] args ) {

IntCell m = new IntCell( );

m.write( 5 );

System.out.println( "Cell contents: " +

m.read( ) );

// The next line would be illegal if

uncommented

// because storedValue is a private member

// m.storedValue = 0;

}

}

Deklarasi object m dengan

tipe class IntCell

Object m menggunakan

method write()

(14)

Constructing Objects (instance)

Suatu

object

adalah suatu nilai yang dapat

dimanipulasi dengan memanggil satu atau lebih

method

yang dimilikinya

[cay horstmann, Big Java, 2.4]

Suatu

method

terdiri dari urutan instruksi yang dapat

mengakses data internal objectnya

(15)

Constructing Objects (instance)

Pembuatan suatu object dengan mengacu pada

suatu class disebut

instance

Kebanyakan program memerlukan berbagai jenis

object. Untuk itu perlu diketahui cara membangun

(

construct

) object baru.

Syntax:

Contoh:

IntCell objAngka = new IntCell( );

(16)

Constructing Objects (instance)

Contoh

m

sebagai suatu object acuan. Dapat

dimanipulasi dengan memanggil

method

-nya:

write(par)

,

dengan cara:

m.write(5)

Saat method

write()

dipanggil,

beberapa aktifitas terjadi didalam

object, dan hasilnya adalah

storedValue

diisi dengan nilai dikirim

melalui parameter.

public class IntCell {

// Public methods

public int read( ) {

return storedValue;

}

public void write( int x ){

storedValue = x;

}

/* Private internal data

representation */

private int storedValue;

}

public class IntCell {

// Public methods

public int read( ) {

return storedValue;

}

public void write( int x ){

storedValue = x;

}

/* Private internal data

representation */

private int storedValue;

}

public class TestIntCell {

public static void main( String [ ] args ) {

IntCell m = new IntCell( );

m.write( 5 );

System.out.println( "Cell contents: " +

m.read( ) );

}

}

public class TestIntCell {

public static void main( String [ ] args ) {

IntCell m = new IntCell( );

m.write( 5 );

System.out.println( "Cell contents: " +

m.read( ) );

(17)

Method

Method merupakan member class yang berfungsi

untuk melakukan suatu aksi.

Pada java terdapat beberapa jenis method:

constructor

mutator

(18)

Method

Constructor

constructor

memberitahu bagaimana suatu object dideklarasikan

dan di-inisialisasi.

constructor

biasanya digunakan untuk inisialisasi

field member

yang ada pada

object

Jika pada suatu

class

tidak ada

constructor

,

default constructor

akan dibuat oleh java untuk menginisialisasi tiap

field member

sesuai

default value

dari tipe

field

-nya.

Untuk

membuat constructor

, kita harus menulis

method

dengan

(19)

Method

Constructor

4 public class Date {

5

// Constructor tanpa parameter

6

public Date( )

{

7

month = 1;

8

day = 1;

9

year = 2010;

10 }

11

// Constructor denga tiga parameter

12

public Date( int theMonth, int theDay, int theYear )

{

13

month = theMonth;

14

day = theDay;

15

year = theYear;

16 }

... }

Untuk membuat object based on

class Date, dengan cara:

Date d1 = new Date( );

Atau

(20)

Method

Accessor & Mutator

Field members

biasanya dideklarasikan secara

private

, dengan demikian maka tidak dapat diakses

oleh rutin di luar class (

nonclass routines

).

Untuk itu diperlukan suatu

method

:

method accessor ;

yang dapat memeriksa / membaca nilai suatu

field

tanpa

merubah nilainya

method mutator ;

(21)

Method

Accessor & Mutator

public class IntCell {

public int read( )

{

return storedValue;

}

public void write( int x )

{

storedValue = x;

}

private int storedValue;

}

public class IntCell {

public int read( )

{

return storedValue;

}

public void write( int x )

{

storedValue = x;

}

private int storedValue;

}

Method accessor

(22)

Method

toString

Method toString() biasa digunakan untuk:

Membaca seluruh nilai field pada class namun dalam

bentuk string.

Membaca suatu object sebagai suatu string

public class IntCell {

private int x;

private int y;

public String toString( ) {

return x + “ “ + y;

}

}

public class IntCell {

private int x;

private int y;

public String toString( ) {

return x + “ “ + y;

}

}

Misal:

IntCel angka = new IntCell( );

System.out.println( angka.toString() );

Atau

(23)

Method

Main

Method main pada suatu file class merupakan

method utama yang diprioritaskan untuk dijalankan

oleh java command saat suatu file class dipanggil.

public class TestIntCell {

public static void main( String [ ] args ) {

IntCell m = new IntCell( );

m.write( 5 );

System.out.println( "Cell contents: " + m.read( ) );

}

}

public class TestIntCell {

public static void main( String [ ] args ) {

IntCell m = new IntCell( );

m.write( 5 );

System.out.println( "Cell contents: " + m.read( ) );

}

(24)

Package

Package

digunakan untuk mengelompokkan class -

class.

Sebuah package dapat mempunyai satu atau lebih

sub-package ini sehingga membentuk sebuah hirarki.

Contoh package:

java.awt.Rectangle;

Nama package

(25)

Importing a Class from a

Package

Kita harus melakukan import suatu class sebelum kita

membuat object dari suatu class.

Perhatikan pembuatan

object berikut:

untuk membuat object kotak dengan type class Rectangle

maka kita harus import dahulu class Rectangle dari

package-nya.

Rectangle

kotak

= new Rectangle(5,5,20,20)

import java.awt.Rectangle;

class bentuk {

public static void main (String[] args) {

Rectangle kotak = new Rectangle(5,5,20,20); }

}

Instruksi import class Rectangle dari package java.awt

Untuk mengetahui pada package apa suatu class bisa dilihat di:

http://java.sun.com/javase/7/docs/api/index.html

Don’t Memorize—Use Online Help

(26)

Class ke Package

Syntax:

Contoh:

package agen;

package calculator;

Untuk mendaftarkan class yg kita buat ke suatu package,

tambahkan syntax di atas pada bagian paling atas program

kita, contoh:

Berdasarkan contoh di atas, berarti class hai berada dalam

package paket1, untuk menggunakan class hai lakukan:

package

<namaPackage>

package

paket1

;

public class

hai {

….

}

(27)

Mendaftarkan Class ke Package

Contoh:

package

agen

;

public class

myAgen

{

private String name;

public myAgen(String name) {

this.name = name;

}

public String ambilPesan() {

return "Salam kepada Anda !. dari " + name;

}

}

constructor method Field / Data member

import agen.myAgen;

public class salam {

public static void main(String[] args) {

myAgen

Helo

= new myAgen("Rayputra");

String s = Helo.ambilPesan();

System.out.println(s);

}

}

Membuat object Helo dari class myAgen

Menjalankan method

(28)

Javadoc

Spesifikasi class mendeskripsikan apa yang dapat

dilakukan terhadap suatu

object

. Implementasi internal

object

dapat diketahui dari spesifikasi yang dibuat.

Program

javadoc

digunakan untuk membuat

dokumentasi class secara otomatis.

(29)

Javadoc

Untuk membuat javadoc secara command line:

Jalankan progam

javadoc

disertai dengan nama file (.java).

Output

dari program

javadoc

berasal dari

comment

pada program kecuali untuk

method

yang diambil dari

header

method

tersebut.

Comment

/**

digunakan Untuk membuat spesfikasi terkait implementasi dari

class.

Tags yang digunakan dalam comment;

@author

, untuk memberitahukan nama penulis,

@param

, untuk memberitahukan parameter-parameter yang digunakan pada

method.

@return

, untuk memberitahukan nilai yang dikembalikan oleh method.

(30)

Contoh Javadoc

/**

* class untuk simulasi sel memori integer

* @author Augury El Rayeb

public class IntCell {

/**

* Get the stored value.

* @return the stored value.

*/

public int read( )

{

return storedValue;

}

/**

* Store a value.

* @param x the number to store.

*/

public void write( int x )

{

storedValue = x;

}

private int storedValue;

}

/**

* class untuk simulasi sel memori integer

* @author Augury El Rayeb

public class IntCell {

/**

* Get the stored value.

* @return the stored value.

*/

public int read( ) {

return storedValue;

}

/**

* Store a value.

* @param x the number to store.

*/

public void write( int x ) {

storedValue = x;

}

(31)

Latihan (Tugas)

Buat program untuk membaca file teks. Kemudian

tampilkan seluruh isi file teks tersebut pada Konsol.

Kirim ke:

augury.elrayeb@upj.ac.id

(32)

See You Next Session

Referensi

Dokumen terkait

Berdasarkan hasil penelitian disimpulkan bahwa jumlah koloni bakteri fase inflamasi luka bakar grade II pada mencit sebelum dilakukan perawatan dengan menggunakan

Berakhlak kepada diri sendiri merupakan bentuk ibadah kepada Allah yang paling mudah karena dilakukan oleh diri sendiri dan manfaatnya dapat secara langsung

Siswa menjawab soal-soal Kuis Uji Teori untuk mereview konsep-konsep penting tentang berpidato yang telah dipelajari Siswa merefleksikan nilai-nilai serta kecakapan hidup

Pertumbuhan kredit yang luar biasa akan menjadi pendorong utama BBRI menikmati pertumbuhan double - digit pada interest.. income 2019, menghentikan tren pertumbuhan

Selain ditemukan motif yang melatarbelakangi perempuan menikah di Surabaya dalam membaca rubrik ‘Anda &amp; Anak’ pada tabloid Nova, terdapat beberapa temuan dari penelitian

Fenomena perubahan yang menonjol adalah didirikannya bangunan rumah tinggal di tengah-tengah perkebunan yang bersifat permanen dan modern seperti rumah tinggal di kota yang

Tujuan dari penelitian ini adalah untuk mengetahui objektifitas berita pada media online VIVAnews dalam berita kasus dugaan korupsi Andi mallaranggeng dalam

Metode Fuzzy Mamdani yang digunakan dalam penelitian ini adalah untuk membantu orang dalam membeli cat, terkadang seseorang bingung dalam menentukan cat mana yang