DATA 5 Object Class Class Documentation amp Packages Tujuan Pertemuan Memahami prinsip Object pada pemrograman Memahami tentang encapsulation and information hiding pada object ID: 625651
Download Presentation The PPT/PDF document "FONDASI PEMROGRAMAN & STRUKTUR" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
FONDASI PEMROGRAMAN & STRUKTUR DATA#5
Object
,
Class
,
Class Documentation
&
PackagesSlide2
Tujuan PertemuanMemahami prinsip Object pada pemrograman.Memahami tentang encapsulation and information hiding pada object.Mampu implementasi class dan dokumentasi class untuk diterapkan pada object.Memahami pemanfaatan packages.Slide3
Object Oriented ProgrammingTentang ObjectObject 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
object
tidak dapat dibongkar oleh pengguna
object
.Slide4
Object Oriented ProgrammingTentang ObjectAtomicity 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
.
Warning:
“
Do not open
—
no
user
serviceable parts
inside.”Slide5
Object Oriented ProgrammingSuatu peradigma pemrograman yang menggunakan object (Struktur Data yang terdiri dari data fields dan methodsMerupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data & fungsi di dalam paradigma ini dibungkus dalam class atau objects
Support
code reuse
Programmer harus dapat me-reuse object sehingga tidak perlu menulis ulang program.Slide6
Object Oriented ProgrammingInheritanceSuatu 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.
Merupakan bagian dari
implementasi
inheritanceSlide7
Class“Suatu class pada java terdiri dari fields yang berfungsi untuk menyimpan data dan methods yang nantinya akan digunakan oleh instances dari class” .
“
Suatu class pada java merupakan suatu blue print untuk object yang akan digunakan dalam program
”Slide8
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]
“Merupakan
template untuk
membuat
object”.
[Lucy Mendel, MIT] Slide9
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;
}
IntCell
Data:
storedValue
Method:
read()
write(int x)
Kita bisa menggunakan method
read()
dan
write()
pada object yang memiliki type class IntCell.
Contoh
:
IntCell m = new IntCell( );
m.write( 5 );Slide10
ClassContoh 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;
}
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 aksiSlide11
ClassPublic 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( ) {
private int storedValue;Slide12
ClassMethods yang mengembalikan nilai harus disertakan tipe dari nilai yang di kembalikannya, pada deklarasi methodMethods yang tidak mengembalikan nilai harus disertakan void, pada deklarasi method
public
int
read( ) {
public
void
write( int x ) {Slide13
ClassMembuat 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;
}
// 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()
Object
m
menggunakan method read()Slide14
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
[
cay horstmann, Big Java, 2.4]Slide15
Constructing Objects (instance)Pembuatan suatu object dengan mengacu pada suatu class disebut instanceKebanyakan program memerlukan berbagai jenis object. Untuk itu perlu diketahui cara membangun (construct) object baru. Syntax:
Contoh:
IntCell
objAngka
= new IntCell( );
<namaClass>
<namaObjectBaru>
= new
namaClass()Slide16
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 TestIntCell {
public static void main( String [ ] args ) {
IntCell m = new IntCell( );
m.write( 5 );
System.out.println( "Cell contents: " + m.read( ) );
}
}Slide17
MethodMethod merupakan member class yang berfungsi untuk melakukan suatu aksi. Pada java terdapat beberapa jenis method:constructormutatoraccessortoStringmainSlide18
MethodConstructorconstructor 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 tipe no return yang memiliki nama sama dengan class. Constructor bisa memiliki parameter.Slide19
MethodConstructor
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 Date d2 = new Date( 4, 15, 2010 );Slide20
MethodAccessor & MutatorField 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
;
yang
dapat digunakan untuk merubah nilai suatu
field.Slide21
MethodAccessor & Mutator
public class IntCell {
public int read( )
{
return storedValue;
}
public void write( int x )
{
storedValue = x;
}
private int storedValue;
}
Method accessor
Method mutatorSlide22
MethodtoStringMethod 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;
}
}
Misal:
IntCel angka
=
new IntCell( );System.out.println( angka.toString() );
Atau
System.out.println( angka );Slide23
MethodMainMethod 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( ) );
}
}Slide24
PackagePackage 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
Nama classSlide25
Importing a Class from a PackageKita 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
The Java library has thousands of classes and methodsSlide26
Membuat Package dan Mendaftarkan Class ke PackageSyntax: 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 {
…
….
}
import paket1.hai;Slide27
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
ambilPesan()Slide28
JavadocSpesifikasi 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.Output dari javadoc
merupakan sekumpulan
file HTML
yang dapat dilihat atau dicetak melalui
browser
.Slide29
JavadocUntuk 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. @throws, kegunaannya hampir sama dengan @paramSlide30
JavadocContoh 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;}Slide31
Latihan (Tugas)Buat program untuk membaca file teks. Kemudian tampilkan seluruh isi file teks tersebut pada Konsol.Kirim ke: augury.elrayeb@upj.ac.idSubject: tugas sdat 2016-01 - nim - namaKasih penjelasan program pada emailSlide32
See You Next SessionThanks