Download 1 - Object + Classes

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
PEMROGRAMAN
BERORIENTASI OBJEK
Object dan Classes
Tujuan
• Mengerti apa yang dimaksud dengan Object dan Class,
dan
• Dapat membedakan antara Object dan Class
• Mengetahui kegunaannya dan bagaimana ber interaksi
dengan object dan class
Object
• Sebuah program komputer berorientasi objek terdiri dari
kumpulan “bagian-bagian” (umumnya kata benda) yang
disebut Objek yang timbul dari domain permasalahan
yang diselesaikan.
• Objek-objek yang sejenis di kategorikan menjadi sebuah
“Class”, yang menggambarkan secara “abstrak” objekobjek tersebut.
Apakah Object atau Class?
• Misalkan program simulasi lalulintas.
• Objek atau entitas atau benda apa yang ada di domain
lalulintas?
• Salah satu benda (entitas) adalah “mobil”.
• Apakah mobil sebuah objek atau sebuah Class?
• Ajukan pertanyaan berikut.
Apa warna mobil? Seberapa cepat dia jalan? Dimana dia
sekarang?
Object atau Class??
• Kita tidak akan bisa menjawab pertanyaan tadi, jika kita
tidak sedang membicarakan “sebuah mobil tertentu”;
Dengan kata lain kita sedang membicarakan mobil secara
umum, bukan “sebuah mobil tertentu”.
Dalam hal ini “mobil” adalah sebuah “Class”
Object atau Class??
• Ketika saya berkata ”Mobil saya yang diparkir di kampus
di basement” maka pertanyaan tadi tentang mobil
tersebut bisa dijawab.
Misalnya, mobil saya berwarna biru tua, dapat berjalan
cukup kencang, sekarang ada di basement kampus.
Dalam hal ini kita berbicara tentang sebuah Object –
tentang sebuah mobil yang tertentu-• Object biasanya disebut sebagai “instance” (instansi) dari
sebuah Class
Menciptakan Objek
• Objek diciptakan dari sebuah Class yang telah
didefinisikan sebelumnya
• Misal sebuah Class bernama “Circle”,
penciptaan sebuah Objek dari Class Circle tersebut
dalam JAVA:
new Circle();
• KONVENSI: nama sebuah Class selalu dimulai dengan
HURUF BESAR
Variabel / Referensi sebuah Objek
• Seperti halnya data biasa disimpan dalam sebuah
“Variable”, objek di”pegang” (direfensi/diacu) oleh sebuah
Variable; yang mempunyai “nama” dan “Tipe” dari Class
tertentu.
• Dalam JAVA:
Circle namaObjek = new Circle();
• namaObjek adalah nama Variable atau referense dari
sebuah Objek atau Instance
• KONVENSI: nama sebuah Variabel Objek selalu dimulai
dengan HURUF KECIL
Method dari sebuah Object dan Class
• Perilaku dan pekerjaan apa saja yang bisa dilakukan oleh
sebuah objek dan/atau pada sebuah objek, digambarkan
oleh “ method” yang didefinisikan dalam Class-nya.
• Misal sebuah pekerjaan yang membuat sebuah objek
Circle dapat terlihat dinamakan method
makeVisible();
• Atau method lain seperti:
moveDown(); moveUp();
• Ketika sebuah method dijalankan terminologinya adalah
sebuah method “dipanggil” (called / invoked)
Parameter (input) dari method
• Jika sebuah method membutuhkan data, maka, bisa
disampaikan (passed) melalui “parameter” .
• Misal method untuk memindahkan objek diarah horizontal
memerlukan data berapa pixel jarak pindahnya
moveHorizontal(int distance);
Data Type [JAVA]
• Tipe data adalah jenis nilai yang bisa disimpan dan diolah
dalam sebuah variabel
• Tipe data (primitif) dalam bahasa JAVA:
• boolean: Truth value
• (domain: true or false, size: 8 byte)
• int: Integer
• (contoh: 0, 1, -47; size: 32 byte)
• Tipe data sejenis: byte (8 byte), short (16 byte) dan long (64 byte)
• double: Real number
• (contoh: 3.14, 1.0, -2.1; size 64 byte)
• Tipe data sejenis: float (32 byte)
• String: Text (contoh: “Hello”, “red”)
Method dan Attribute
• Class digambarkan dengan “method” dan “attribute/field”
• Perilaku atau pekerjaan atau operasi dari sebuah Objek
ataupun Class disediakan melalu mekanisme “method”
• yang tidak lain adalah fungsi dalam bahasa pemrograman
terstruktur seperti C
• Objek-objek dari Class yang sama memiliki “method”
• Keadaan (state) atau kondisi dari sebuah Objek
didefinisikan oleh “attribute” atau “field”
• yang tidak lain adalah variable / referensi dalam bahasa
pemrograman terstruktur seperti C
• Objek-objek dari Class yang sama memiliki “attribute/field” yang
sama, walaupun nilai dari attribute/field bisa berbeda,
• contoh: dua buah lingkaran, sama-sama meiliki attribute warna tapi
yang pertama berwarna “red”, yang kedua “blue”
Interaksi antar Objek
• Objek bisa saling berinterkasi antara lain melalui “method
calling” objek lain oleh sebuah objek.
• Contoh:
• dalam Class Picture ada
4 objek (apa saja?)
• sun.changeColor("black");
Source Code sebuah Class
• Dalam Java, sebuah Class didefinisikan dalam satu
source code dengan nama file yang “harus” sama persis
(huruf besar/kecil) dengan nama Class
• Contoh: Class “Circle” harus didefiniskan dalam source
code “Circle.java”
• Setelah dilakukan kompilasi (compiled), “Circle.java”
menghasilkan “Circle.class” yang merupakan java object
code yang dapat dimengerti oleh Java Virtual Machine
(JVM) yang bahasa teknisnya dikenal sebagai Java
Runtime Environment (jre).
Contoh Source Code –Circle.java•
•
import java.awt.*;
import java.awt.geom.*;
•
•
•
•
•
•
/**
* A circle that can be manipulated and that draws itself on a canvas.
*
* @author Michael Kolling and David J. Barnes
* @version 2008.03.30
*/
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
public class Circle
{
private int diameter;
private int xPosition;
private int yPosition;
private String color;
private boolean isVisible;
•
..... deleted
/**
* Create a new circle at default position with default color.
*/
public Circle()
{
diameter = 30;
xPosition = 20;
yPosition = 60;
color = "blue";
isVisible = false;
}