Pemrograman Lanjut Class dan Object § Aryo Pinandito, ST, M.MT
Team Teaching Pemrograman Lanjut
Objectives § Memahami tentang classes, objects, methods
dan instance variables.
§ Mampu memberikan contoh object beserta
atribut dan tingkah lakunya.
Konsep OOP § OOP (Object Oriented Programming)
memandang semua aspek sebagai suatu obyek § OOP berputar pada konsep dari object sebagai elemen dasar dari program § Beberapa objek disekitar kita, seperti mobil, singa, manusia dan seterusnya dapat dimodelkan ke dalam objek § Object ini dikarakterisasi oleh sifat/attributnya
dan tingkah lakunya
Konsep Objek § Contohnya: mobil dan singa § Objek mobil mempunyai sifat-sifat seperti: merk, tipe
transmisi, warna, dan jenis. Mempunyai perilaku bisa berbelok, mengerem, dan berakselerasi. § Dengan cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa. § Sifat § Umur, warna, rambut, suara, … § Tingkah Laku § Makan, minum, mengaum, berlari, tidur …
Konsep Objek § Objek pada dunia nyata dapat secara mudah
dimodelisasi sebagai objek software menggunakan sifat sebagai data dan tingkah laku sebagai method. § Objek mobil dalam
software permainan balap mobil § Objek singa dalam software pendidikan interaktif pada kebun binatang untuk anak anak
Konsep Objek dalam Program § Sebuah objek adalah sebuah komponen software
yang stukturnya mirip dengan objek pada dunia nyata
§ Setiap objek dibuat dari satu set data (sifat) dimana
variable menjabarkan esensial karakter dari objek, dan juga terdiri dari satu set dari method (tingkah laku) yang menjabarkan bagaimana tingkah laku dari objek.
§ Jadi objek adalah sebuah berkas software dari
variable dan method yang saling berhubungan
Class § Class adalah struktur dasar (abstraksi) suatu objek
pada pemrograman berorientasi objek (OOP).
§ Terdiri dari dua tipe dari anggota yang disebut
dengan field (attribut/properti) dan method.
§ Field menspesifikasi tipe data yang didefinisikan oleh
class.
§ Method spesifikasi dari suatu operasi. § Sebuah objek adalah sebuah instance (wujud nyata)
dari sebuah class.
Class dan Object § Cetakan kue: kelas § Dapat digunakan berkali-kali untuk mencetak kukis. § Kue: objek § Sebuah kelas dapat menghasilkan
banyak objek
§ Dari 1 cetakan dapat dibuat banyak
kukis dengan berbagai macam hiasan, namun kukis-kukis tersebut tetap memiliki bentuk yang sama.
Class § Kelas menyatakan konsep (blueprint) § Kelas mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki objek. § Objek adalah perwujudan dari konsep kelas
(instance of class)
§ Setiap objek memiliki kelas yang mendefinisikan data
dan aksi yang dimiliki oleh objek tersebut.
Class § Class merupakan template/abstraksi
untuk membuat objek. § Class merupakan prototipe/blueprints yang mendefinisikan variabel-variabel dan method-method secara umum. § Obyek merupakan hasil instansiasi
dari suatu kelas. § Proses pembentukan obyek dari suatu class disebut dengan instantiation. § Obyek disebut juga instances.
Object § Sebuah objek adalah sebuah instance pada class. § Variable dan methods dalam objek Java secara
formal diketahui sebagai instance variable dan instance methods untuk membedakannya dari class variable dan class method
Perbedaan Class dan Object
§
Sebuah class mobil dimana dapat digunakan untuk mendefinisikan beberapa object mobil
§
Mobil A dan mobil B adalah objek dari kelas mobil
Perbedaan Class dan Object Class name : Circle
Class template
Data Field : Radius Methods: - getArea() - getPerimeter()
Three objects of Circle class
Object1 : Circle1
Object2 : Circle2
Object3 : Circle3
Data Field: Radius = 15
Data Field: Radius = 20
Data Field: Radius = 5
Class § Ketika suatu kelas diinisialisasi, tiap objek akan
mendapatkan set variabel baru dari suatu class.
§ Implementasi dari method dibagi diantara objek
pada kelas yang sama.
§ Class menyediakan keuntungan berupa
reusability.
Variabel Class § Variabel class merupakan variabel milik dari
seluruh class
§ Variabel ini memiliki nilai yang sama untuk
semua objek pada kelas yang sama
§ Variabel ini juga disebut static member variables
Method § Sebuah method adalah bagian terpisah dari kode
yang akan dipanggil oleh program utama dan beberapa method lainnya untuk menunjukkan beberapa fungsi spesifik. § Mengapa kita perlu membuat method? § Mengapa kita tidak
meletakkan semua kode pada sebuah method yang sangat besar, seperti pada layaknya sebuah program struktural
Object, Method and Instance § Object memiliki identitas/atribut, state/nilai dari
atribut, dan tingkah laku yang bersifat unik
§ State: direpresentasikan oleh data fields (properties /
attributes) dengan nilai yang terkandung di dalamnya. § Atribut/Identitas dispesifikasikan oleh instance variables. § Perilaku: didefinisikan oleh sekumpulan method. § Memanggil method pada objek berarti bahwa Anda meminta objek
untuk melakukan tugas. § Melakukan tugas dalam program membutuhkan method. § Class menyediakan satu atau lebih method yang dirancang untuk melakukan tugas-tugas class itu. § Method ini dikenal sebagai instance methods karena memeriksa atau mengubah the state of a particular instance variable.
Interaksi antar Object § Object berinteraksi dan berkomunikasi dengan
object lain dengan mengirimkan pesan. § Ketika object A menginginkan object B untuk menjalankan salah satu method (meminta object B untuk melakukan sesuatu), maka object A mengirimkan pesan ke object B
A
message
B
Contoh Interaksi Antar Object § Sebuah mobil hanyalah seonggok besi dan karet
roda, dimana mobil itu tidak dapat melakukan apapun oleh dirinya sendiri. Mobil baru dapat berfungsi jika objek lain (misalnya manusia) berinteraksi dengan mobil (misalnya menginjak pedal gas).
§ Ketika sebuah mobil dikendarai, manusia menginjak
pedal gas mobil untuk membuat mobil melaju lebih cepat. Hal ini dapat diartikan bahwa manusia mengirimkan pesan kepada mobil.
Contoh Interaksi Antar Object (2) § Dalam OOP, ketika objek
manusia mengirimkan pesan kepada mobil dengan memanggil perilaku/method yang ada pada objek mobil. mobil.tancapGas();
Manusia pesan / messages
Mobil
Contoh Interaksi Antar Object dalam Program Java class Manusia {
class Mobil {
private String nama;
public int kecepatan;
void ngebut() {
void tancapGas() {
Mobil ferrari = new Mobil();
this.kecepatan = 200;
ferrari.tancapGas(); print(ferrari.kecepatan);
} }
} }
Manusia joko = new Manusia(); joko.ngebut(); // menampilkan kecepatan mobil
Questions?
Practice § Buatlah dua buah kelas yang bukan: § Mahasiswa § Dosen § Buatlah Sifat/Atribut/Properti/Field § Buatlah Tingkah laku/Behavior/Method § Yang memperlihatkan interaksi antar dua kelas tersebut § Modelkan Class tersebut ke dalam
diagram Class UML
§ Subject e-mail: § Tugas I Class UML § Sebelum Senin, 22 Februari
2016, pukul 22:00 WIB