Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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; }