A.
TUJUAN
·
Memahami konsep
dasar pemrograman berorientasi objek.
·
Mampu
mengimplementasikan konsep-konsep pemrograman berorientasi objek di dalam
program.
·
Mampu
menyelesaikan kasus-kasus sederhana dengan menggunakan paradigma objek.
B. DASAR TEORI
1. Pemrograman
Berorientasi Objek
Secara garis
besar, suatu bahasa pemrograman dapat dikatakan sebagai bahasa pemrograman
berorientasi objek (atau Object Oriented Programming / OOP) apabila ia
mendukung konsep abstraksi (abstraction), enkapsulasi (encapsulation),
polimorfisme (polymorphism), dan pewarisan (inheritance). Selain konsep-konsep
ini, ada beberapa konsep fundamental lainnya, seperti kelas, objek, dan
message.
2. Kelas
Kelas
mendefinisikan karakteristik-karakteristik abstrak dari sesuatu (objek),
termasuk karakteristik dan perilaku (behavior) dari “sesuatu” itu sendiri.
Kelas dapat diilustrasikan sebagai sebuah cetak biru (blueprint), prototipe,
atau pabrik (factory) yang berfungsi untuk menghasilkan objek- objek.
Bentuk kelas yang paling sederhana diperlihatkan sebagai berikut:
3. Objek
Dalam terminologi OOP, objek adalah
instans (atau manifestasi) dari sebuah kelas. Dengan demikian, dalam konteks
desain, kita berbicara mengenai kelas; saat run time, yang kita bicarakan
adalah objek.
Baik di dunia nyata maupun di dalam
pemrograman, sebuah objek memiliki dua karakteristik utama, yaitu state
(status) dan behavior (perilaku). Sebagai contoh, kucing memiliki state (nama,
warna, dan sebagainya) dan behavior (mengeong, melompat, dan sebagainya).
4. Field
Field adalah variabel yang didefinisikan di dalam kelas, dan disebut
juga sebagai member variable. Field—dan juga member-member kelas lainnya—dapat
dideklarasikan dengan level akses tertentu. Berkaitan dengan level akses ini,
ada beberapa jenis level dari yang umum sampai yang restriktif.
5. Pewarisan (Inheritance)
Istilah inheritance (pewarisan) mengacu pada
kemampuan dari sebuah kelas untuk mewarisi state dan behavior kelas lain.
Dengan demikian, atribut-atribut dan method-method kelas yang diwarisi
(superkelas) secara intrinsik menjadi bagian dari kelas yang mewarisinya
(subkelas). Terlepas dari warisan yang telah diperoleh, subkelas dapat
menambahkan atau memodifikasi atribut-atribut dan method-method superkelas.
Gambar 1. Hubungan pewarisan
Konsep inheritance melahirkan sejumlah pasangan
istilah yang menggambar-kan hubungan antara dua kelas terkait, seperti
superkelas- subkelas, supertipe-subtipe, kelas dasar-kelas turunan, ancestor-
descendant, parent-heir, dan leluhur-turunan.
6. Kelas Abstrak
Kelas abstrak (abstract class) adalah kelas yang
mengandung konsep abstrak, dan tidak akan pernah bisa diinstansiasi. Kelas
abstrak didefinisikan dengan tujuan untuk digunakan dan diperluas oleh kelas
lain. Dengan demikian, kelas ini merupakan cikal bakal superkelas.
Gambar 2. Kelas abstrak Buah
7. Interface
Interface merupakan suatu tipe abstrak yang
mendefinisikan komunikasi antara dua entitas. Interface merepresentasikan
sebuah kontrak, di mana kelas yang mengimplementasikan interface harus
menerapkan tiap-tiap aspek interface secara nyata sebagaimana yang telah
didefinisikan.
Tujuan utama penggunaan interface adalah
memungkinkan kelas-kelas yang mirip untuk memiliki behavior standar. Jadi,
interface memiliki sedikit kemiripan dengan kelas abstrak, di mana keduanya
sama-sama didesain untuk digunakan oleh kelas lain.
Di balik beberapa persamaan antara interface dan
kelas abstrak, terdapat perbedaan-perbedaan di antara keduanya. Mengacu pada
karakteristik keduanya, setidaknya ada dua perbedaan mendasar yang bisa kita
garisbawahi.
·
Di dalam
kelas abstrak boleh terdapat implementasi nyata dari suatu method. Keadaan ini
berbeda sekali dengan interface, di mana semua method harus berupa deklarasi
abstrak, dan tidak boleh ada implementasi sama sekali.
·
Suatu kelas
hanya boleh mewarisi sebuah kelas, tetapi ia dapat mengimplementasikan lebih
dari satu interface.
8. Polimorfisme (Polymorphism)
Polimorfisme secara harfiah dapat diartikan banyak
bentuk. Konsep ini memiliki arti kemampuan untuk mendefinisikan perilaku yang
berbeda. Singkatnya, secara teknis, method atau konstruktor dengan nama sama
dapat memiliki perilaku berbeda bergantung pada argumen atau tipe objeknya.
Jadi, kata kunci untuk merepresentasikan konsep polimorfisme adalah: satu nama,
banyak bentuk.
Konsep polimorfisme membentuk paradigma
pemrograman yang ampuh yang mampu menyederhanakan definisi client dan secara
dinamis mendukung pengubahan keterhubungan antarobjek saat runtime.
C. LATIHAN
1. Kelas dan Objek
Ø
Scrip
Ø
Hasil
2. Method
Ø
Scrip
Ø
Hasil
3. Pewarisan
Ø
Scrip
Ø
Hasil
Overdiving Method
Ø
Scrip
Ø
Hasil
4. Kelas Abstrak
Ø
Scrip
Ø
Hasil
5. Interface
Ø
Scrip
Ø
Hasil
6. Polimorfisme
Ø
Scrip
Ø
Hasil
D. TUGAS PRAKTIKUM
1. Membuat aplikasi menampilkan hari
Ø
Scrip
Ø
Hasil
2. Uji fungsional atribut
Ø
Scrip
Ø
Hasil
3. Membuat aplikasi luas lingkaran
Ø
Scrip
Ø
Hasil
E. TUGAS RUMAH
Membuat aplikasi luas
lingkaran dan persegi
Ø
Scrip
Ø
Hasil
F. DAFTAR PUSTAKA
Modul 7 Praktikum Bahasa
Pemrog. Visual Prodi Pendidikan Teknik Informatika UM
Hermawan widyo.2009.ShortCourse:Visual
Basic 2008.Yogyakarta:C.V ANDI OFFSET