Object dan Class di
Processing.
Object Oriented Programming (OOP).
No object is so beautiful that, under
certain conditions, it will not look
ugly.
OBJECT
Sebelum kita membahasa bagaimana OOP dapat bekerja di Processing, sebaiknya kita membahas konsep dari object itu sendiri.
Objek menggunakan semua yang sudah kita pelajari sampai minggu ini, yaitu variable,
statement if, loop, function, dan sebagainya.
Namun, yang baru adalah bagimana cara berpikir, cara menyusun, dan mengatur semua yang sudah kita pelajari tersebut.
Pendahuluan
(1)
dibaca ya agar paham
konsepnya dulu!
Bangun Tidur
Minum Kopi atau Teh
Sarapan: Telor Ceplok, Sereal, atau Bubur Naik BusWay ke kampus.
Bayangkan kamu tidak sedang menulis program di Processing, tetapi kamu justru menulis program untuk hari-hari kamu, seperti sebuah daftar instruksi, yang mungkin bentuknya akan
seperti ini:
Pendahuluan
(2)
dibaca ya agar paham
konsepnya dulu!
Secara khusus hal-hal apa saja
yang terlibat di sini?
Pada deretan instruksi tersebut yang utama terlibat adalah kamu sendiri, kamu sebagai manusia. Kamu menunjukkan property tertentu. Kamu melihat dengan cara tertentu, mungkin kamu memiliki rambut coklat, memakai kacamata, dan terlihat tinggi.
Selain itu, kamu memiliki kemampuan melakukan hal-hal, seperti bangun tidur atau tidur, makan dan minum, atau naik BusWay.
Pendahuluan
(3)
dibaca ya agar paham
konsepnya dulu!
Nah, objek nih sama kaya kamu.
Sesuatu yang memiliki sifat dan
dapat melakukan hal-hal.
Jadi, apa hubungannya dengan pemrograman?
Pendahuluan
(4)
dibaca ya agar paham
konsepnya dulu!
Properti dari suatu objek adalah
variable
dan
hal-hal yang dapat dilakukan oleh
objek adalah function.
Begitu juga dengan yang dimaksud Object-oriented
programming atau Pemrograman Berbasis Objek.
Merupakan sebuah penggabungan dari semua
materi yang dibahas sebelumnya, seperti variable, loop, statement if, function. dan sebagainya.
HUMAN DATA HUMAN FUNCTION Tinggi Berat Jenis Kelamin Warna Mata Warna Rambut Tidur Bangun Tidur Makan Mengendarai Motor
Asumsikan
mari kita
memetakan data dan
function ke dalam
suatu objek yang
sangat sederhana,
CLASS
Struktur dari human data dan human function
bukanlah merupakan manusia itu sendiri, itu hanya
menggambarkan ide, atau sebuah konsep di belakang manusia. Hal tersebut menggambarkan apa artinya
menjadi manusia. Menjadi manusia berarti memiliki tinggi, rambut, bisa tidur, makan, dan sebagainya. Hal ini menjadi perbedaan penting di dalam Pemrograman Berbasis Objek.
Contoh dari manusia ini disebut Class.
Class berbeda dari object. Kamu adalah seorang
objek, saya seorang objek, nah kita semua adalah manusia atau termasuk manusia.
Asumsikan
sebelum dilanjutkan
lebih dalam, kamu
perlu mengetahui
CLASS DAN OBJECT
Sebelum membuat object, kita harus menentukan
class. Class merupakan spesifikasi untuk object.
Menggunakan analogi arsitektur, class
seperti blue-print untuk sebuah rumah, dan objeknya adalah rumah
itu sendiri. Setiap rumah yang terbuat dari
sebuah print dapat memiliki variasi, dan
blue-print hanya spesifikasinya, bukan struktur yang
dibangun. Misalnya, satu rumah bisa berwarna biru dan merah, satu rumah memiliki jendela dan satu rumah tidak.
Demikian juga, dengan objek, kelas mendefinisikan tipe data dan perilaku, tetapi setiap objek (rumah) yang dibuat dari satu class (blue-print) memiliki variable (warna, jendela) yang diatur ke nilai yang berbeda.
Asumsikan
Contoh lain dari Class
CLASS DAN OBJECT
Setiap object adalah turunan dari sebuah class. Dan setiap turunan tersebut memiliki kumpulan bidang dan metode sendiri.
Istilah lebih
teknisnya...
Car color.
Car x location. Car y location. Car x speed.
Data (Global Variables)
Using an
object
Terdapat Pseudocode untuk
membuat Mobil.
Initialize car color.
Initialize car location to starting point.
Initialize car speed.
Setup
Fill background.
Display car at location with color. Increment car's location by speed.
Using an
object
Pemrograman berorientasi objek (OOP)
memungkinkan kita untuk mengambil semua variabel dan fungsi dari program utama dan menyimpannya dI dalam objek mobil.
Objek mobil akan tahu tentang datanya -warna, lokasi, kecepatan.
Pertama
Bagian kedua dari objek mobil adalah hal-hal yang dapat dilakukannya, yaitu method (function di dalam
object). Seperti, mobil dapat bergerak dan dapat
ditampilkan (display).
Car object.
Data (Global Variables)
Menggunakan desain
object-oriented,
pseudocode dapat
diimprovisasi
menjadi seperti
berikut:
Initialize car object.
Setup
Fill background. Display car object. Move car object.
Draw
Semua variabel global pada contoh pertama kita hapus. Karena daripada kita memiliki variabel terpisah untuk warna mobil, lokasi mobil, da kecepatan mobil, sekarang kita hanya memiliki satu,
yaitu variabel Mobil.
Dan daripada kita menginisialisasi ketiga variabel, kita
membuatnya menjadi 1 hal, yaitu Object Mobil. Ke mana perginya variabel-variabel tersebut? Mereka masih ada namun tinggal di dalam objek mobil, dan akan ditentukan dalam Class Mobil
Berpindah dari
pseudocode, kode
dari sketsa yang
sebenarnya
mungkin terlihat
seperti ini:
CLASS TERDIRI DARI
Sebuah class harus mengandung 4 elemen, yaitu name, data, constructor, dan methods.
Saatnya
membuat
Class
CLASS NAME
DATA
Nama class dibuat seperti ini:
class NamaClassYangKamuBuat {
semua kode untuk kelas berada di dalam sini.
}
Nama class dibuat dengan huruf kapital di awal, hal ini digunakan untuk membedakan dengan nama variabel, yang biasanya ditulis engan lowercase.
Data untuk suatu class adalah kumpulan variabel. Variabel-variabel ini sering disebut sebagai variabel turunan (instance) karena setiap turunan dari objek berisi set variabel tersebut.
CONSTRUCTOR
FUNCTIONALITY
Konstruktor adalah fungsi khusus di dalam class yang menciptakan turunan dari objek itu sendiri. Di sinilah Kamu memberikan instruksi tentang cara mengatur objek. Sama seperti fungsi Setup (), hanya di sini ia digunakan untuk membuat objek individual di dalam sketsa, kapan pun objek baru dibuat dari kelas ini. Itu selalu memiliki nama yang sama dengan kelas dan dipanggil dengan memanggil operator baru:
"Car myCar = new Car (); ”
Kita dapat menambahkan fungsionalitas atau hal-hal yang bisa dilakukan ke dalam objek kita menggunakan
methods. Dalam membuat function atau method caranya
sama saja seperti yang sudah kita pelajari di minggu sebelumnya, seperti:
void display() { }
Penjelasan Detail
Terkait Penggunaan
Object & Class
Sebelumnya kita sudah mengetahu bagaimana membuat sebuah object seperti berikut.
Pada minggu-minggu sebelumnya kamu sudah
mengetahui bagaimana membuat variable, yaitu seperti ini:
Declaring an object variable.
Step 1.
kode di atas bagaimana bentuk dasar dalam pembuatan variabel, yaitu terdiri dari tipe data dan nama
variabelnya. Tipe data tunggal berisi suatu informasi tunggal, tipe data diantaranya adalah integer, float, character.
Nah, mendeklarasikan variable ke dalam Object sangat mirip. Perbedaannya adalah bahwa di sini tipe data dari variabel diganti dengan nama kelasnya. Sesuatu yang ingin kita buat misalnya "Car".
Object bukan lagi tipe data primitif seperti yang lainnya, objek dianggap tipe data yang kompleks. Hal ini
dikarenakan objek menyimpan banyak informasi, seperti data dan fungsionalitas. Sedangkan tipe data primitif
hanya menyimpan data.
Step 1.
Masih sama di minggu sebelumnya kamu sudah belajar bagaimana menginisialisasi variable (memberikan suatu nilai ke variable), dengan menggunakan sesuatu seperti operator sama dengan =.
Initializing an object.
Inisialisasi objek sedikit lebih kompleks. Daripada hanya memberinya nilai primitif, seperti bilangan bulat atau
angka floating-point, kita harus membangun objek. Objek dibuat dengan operator baru.
Dalam contoh di atas, "myCar" adalah nama variabel objek dan "=" menunjukkan kita menyetelnya sama dengan
sesuatu, bahwa sesuatu ini akan menjadi instance baru dari objek Car. Apa yang sebenarnya dilakukan di sini adalah
menginisialisasi objek Car. Biasanya, jika kamu
menginisialisasi variabel primitif, seperti integer, Kamu cukup mengaturnya sama dengan angka.
Tetapi suatu objek dapat berisi beberapa bagian data.
Mengingat class Car dari bagian sebelumnya, kita melihat bahwa baris kode tersebut memanggil constructor, fungsi khusus bernama Car () yang menginisialisasi semua variabel objek dan memastikan objek Car siap untuk dijalankan.
Setelah berhasil mendeklarasikan dan menginisialisasi objek, kita dapat menggunakannya. Menggunakan objek melibatkan pemanggilan sebuah function yang dibangun ke objek itu. Misal sebuah function, objek manusia dapat makan, objek mobil dapat bergerak, dan kucing bisa
mengeong.
Function yang ada di dalam objek secara teknis disebut
dengan method. Memanggil method di dalam objek dilakukan melalui sintaks dot .
Using an object.
Dalam contoh dari class Car, sebuah pemanggilan
function ke dalam objek terlihat seperti:
Step 3.
Dari beberapa potongan program
sebelumnya kita bisa menggabungkannya
menjadi satu kesatuan dan program
menggunakan objek dan class bisa
dijalankan.
Tulis kode di bawah ini pertama kali.
Berikutnya dilanjutkan dengan kode ini, maka program baru bisa dijalankan.
Kalian bisa lihat bahwa kode yang mengandung class
Car ditempatkan di bawah kode utama dari draw().
Tempat dan cara ini sama dengan minggu sebelumnya di mana kita harus menempatkan sebuah function.
Secara teknis urutan tidak jadi masalah, kalian bisa menempatkan class di paling atas, bahkan bisa juga diantara setup() dan draw(). Yang penting kode dari class utuh tidak ada yang hilang.
Sedikit
informasi
Namun di Processing menawarkan cara yang berguna untuk memisahkan blok kode satu sama lain melalui penggunaan tab.
Sedikit
informasi
Saat pertama kali processing dijalankan maka akan terbuka 1 buah tab. Kemudian isi programnya seperti ini.
Berikutnya buat tab baru dengan mengklik tanda panah disamping tab pertama, kemudian pilih New Tab dan beri nama file dengan Car.
Jika sudah isikan program pada tab Car dengan kode class Car, sperti berikut.
Langkah 3.
Jika sudah, kembali pada tab yang pertama