![]() |
Logo OOP |
Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 1
Selama hampir sepuluh tahun belakangan ini telah di perkenalkan paradigma pemrograman baru yang di kenal dengan konsep Pemrograman Berorientasi Object (PBO) atau Object Oriented Programming (PBO). Konsep ini, membagi program menjadi objek-objek yang saling berinteraksi satu sama lain.
Keuntungan Menggunakan Paradigma Pemrograman Berorientasi Objek:
Ada 6 keuntungan
yang dapat di peroleh apabila seorang pengembang perangkat lunak menggunakan Paradigma OOP :
1.
Alami
(Natural)
2.
Dapat
diandalkan (Reliable)
3.
Dapat
digunakan kembali (Reusable)
4.
Mudah
untuk di-pelihara (Maintainable)
5.
Dapat
di-perluas (Extendable)
6.
Efisiensi
waktu
Berikut ini beberapa
bahasa pemrograman yang mendukung konsep paradigma OOP :
1. C++
2.
Visual
C++
3.
Delphi
4.
Visual
Basic
5.
JAVA
Berikut adalah pembahasan mengenai komponen-komponen dasar pemrograman berorientasi objek :
Objek
Objek adalah benda, baik yang berwujud nyata seperti di jumpai dalam kehidupan kita, maupun yang tidak berwujud nyata, seperti halnya yang berupa sistem maupun konsep. Dalam Object Oriented Programming (OOP), objek adalah unit terkecil pemrograman yang masih memiliki data (sifat karakteristik) dan fungsi.
Seperti halnya sepatu yang kita pakai, buku yang kita baca, mobil yang kita kendarai, kacamata yang kita gunakan, nasi yang kita makan, dan Smartphone yang digunakan untuk mencari informasi di dunia maya, semuanya adalah benda yang merupakan objek. Pembayaran tagihan internet telkom, sistem antrian pembayaran spp di akademik, penyimpanan uang di bank, sampai mengirim data melalui bluetooth, meskipun bukan benda nyata, namun kesemuanya juga merupakan objek.
Bagi teman-teman yang pernah mempelajari bahasa
pemrograman lain seperti Delphi, Visual Basic, atau Visual C++, pada saat
mendesain layout grafis user interface tentulah tidak asing lagi denga komponen
COMMAND BUTTON, EDITTEXT, LABEL, MESSAGEBOX, PROGRESSBAR, dan sebagainya yang
merupakan objek. Masing-masing komponen memiliki data atau yang biasa dikenal
sebagai sifat(properties), dan juga fungsi (method).
![]() |
Objek Pena |
Kelas
Kelas adalah wadah yang
berisi abstraksi (pemodelan) dari
suatu objek (benda), yang mendeskripsikan data (sifat karakteristik) dan fungsi
yang dimiliki oleh objek tersebut. Karena kelas merupakan wadah yang akan
digunakan untuk menciptakan objek, maka jelaslah bahwa ketika akan membuat
suatu objek sebelum nya terlebih dahulu membuat suatu kelas.
Hubungan antar kelas dan objek dapat diilustrasikan sebagai resep kue dengan kuenya, dimana resep kue adalah kelas dan kue adalah objeknya. Sebelum membuat kue, kita harus membaca dan mempelajari resep kue terlebih dahulu. Dalam resep disebutka data mengenai kue, yaitu bahan-bahan yang diperlukan serta fungsi-fungsi yaitu bagaimana cara mengolah bahan tersebut hingga menjadi kue yang siap disajikan. Pada OOP, kita tidak hanya menggunakan resep kue yang sudah ada untuk membuat kue, namun juga menciptakan resep-resep kue yang yang baru sesuai selera kita. Oleh sebab itu, yang menjadi fokus dalam OOP adalah bagaimana menciptakan dan mendefinisikan kelas yang kelak menjadi wadah untuk membuat objek-objek.
![]() |
Illustrasi Kelas Kue |
Instance (Instans)
Objek
dapat juga di katakan sebagai instans (instance) dari suatu kelas.
Maksudnya, objek merupakan perwujudan dalam bentuk benda; baik berupa benda
nyata, maupun konsep, sesuai dengan deskripsi yang telah di definisikan oleh
kelas. Proses pembentukan objek dari suatu kelas disebut instansiasi (instantiation).
Dari ilustrasi
sebelumnya, Speaker merupakan
instans dari kelas Alat Musik yang memiliki data (sifat karakteristik) pengubah
gelombang lstrik menjadi gelombang suara, memiliki fungsi sebagai pengeras
suara, memiliki bentuk yang beragam : ada yang berbentuk tabung, persegi, balok,
dll. Smartphone merupakan instans
dari kelas Alat Elektronik yang memiliki data mudah di bawa, berbentuk unik
sesuai selera pengguna, dan memiliki fungsi sebagai pengirim pesan, pemberitahu pesan, pemutar musik, pengambil
gambar, dll. AC merupakan instans dari kelas Alat Rumah Tangga, dan seterusnya.
Data ↔ Variabel ↔ Property
Data adalah sifat karakteristik atau kondisi yang dimiliki
oleh suatu objek. Ketiga istilah tersebut (data,
variable, property) memiliki pegertian yang sama, dan dapat
digunakan/dianalogikan secara bergantian untuk lebih memperjelas suatu konsep. Di dalam berbagai pengertian ada yang menggunakan istilah atribut (attribute). Dalam OOP,
istilah data lebih cenderung diartikan sebagai variable yang membentuk sifat karakteristik dari suatu
kelas.
Sebagai illustrasi, teman-teman ingin membuat kelas SepatuSport, yang memiliki
objek diantaranya : sepatu futsal, sepatu sepakbola, sepatu tennis, sepatu
basket, dan sebagainya. Karena kelas merupakan abstraksi dari objek, maka
pemilihan data haruslah yang dapat mempresentasikan objek secara umum. Beberapa
data yang dapat di gunakan, yaitu ukuran, berat, bahan pembuat
sepatu(kulit, sintetis, canvas, karet,
denim), warna, dan tekstur.
Dari kelas MamaliaLaut,
dapat diinstans objek-objek paus, lumba-lumba, pesut, anjing laut, singa laut, gajah
laut dan dugong[ikan duyung]). Data dari kelas ini adalah : bentuk sirip, jenis makanan, ekor, mulut, dan
sebagainya.
Method ↔ Prosedur/Fungsi ↔ Behavior
Method adalah
prosedur/fungsi yang dimiliki oleh sebuah objek. Karena pada dasarnya merupakan
prosedur/fungsi, maka method ini akan mengolah atau mengubah data/variabel yang
ada di dalam objek sesuai dengan operasi yang telah ditentukan. Dari proses
tersebut akan terjadi tiga kemungkian, yaitu :
1. Menghemat suatu nilai akhir.
2. Mengembalikan nilai yang bersifat sementara untuk kemudian diumpamakan ke method lain.
3. Tidak mengembalikan nilai sama sekali.
1. Menghemat suatu nilai akhir.
2. Mengembalikan nilai yang bersifat sementara untuk kemudian diumpamakan ke method lain.
3. Tidak mengembalikan nilai sama sekali.
Seperti halnya data, keempat istilah
method/prosedur/fungsi/behavior memiliki pengertian yang sama, namun teman-teman akan
lebih banyak menggunakan istilah method.
Dari kelas MamaliaLaut, selain data yang telah
didefinisikan sebelumnya, teman-teman juga dapat menentukan method yang telah
dimiliki oleh kelas tersebut. Ambilah method cara mamalia-mamalia bersuara,
sehingga untuk paus akan bernilai ”mengaung”, anjing laut “menggaug”, singa
laut “aaarrrrg”. Data dan method ini harusdideklarasikan dan didefinisikan di
dalam ClassBody.
Hierarki Kelas
Suatu kelas dapat dibuat sebagai kelas yang benar-benar
baru atau dapat dibentuk dari kelas yang sudah ada. Baru disini dalam
pengertian, semua data dan method yang dimiliki oleh kelas tersebut
dideskripsikan dan dibuat sendiri, sedangkan bila membentuk dari kelas yang
sudah ada bermakna menggunakanan data dan method yang telah dideskripsikan
dalam suatu kelas acuan (fundamen). Proses pembentukan kelas baru dari kelas
yang sudah adadisebut sebagai pewarisan
(inheritance). Kelas yang menjadi basis bagi pembentukan kelas lainnya
disebut sebagai Super Class (Kelas Super
/ Kelas Induk), sedangkan kelas yang terbentuk dinamakan Sub Class (Kelas Sub / Kelas Anak).
Proses pewarisan ini akan
menghasilkan suatu hierarki kelas. Kelas yang terletak pada puncak hierarki
disebut sebagai Abstract Class (Kelas
Abstrak). Sifat dari kelas
abstrak adalah hanya berisi deskripsi data dan method yang sangat umum,
sehingga tidak mungkin diimplementasikan secara terperinci. Oleh sebab itu,
kelas abstrak ini tidak dapat langsung diinstansiasi menjadi objek.
![]() |
Hirarki Kelas Mamalia Laut |
Sebagai ilustrasi, tinjaulah hierarki kelas dari kelas
MamaliaLaut, yang memiliki objek (instans) berupa paus, lumba-lumba, pesut,
anjing laut, singa laut, gajah laut dan dugong[ikan duyung]). Kelas tersebut
dihasilkan dari pewarisan kelas Mamalia, yang merupakan Kelas Sub dari Kelas Hewan,
dan seterusnya sampai ke puncak kelas, yaitu Kelas Mahluk Hidup. Dalam
ilustrasi, Kelas Mahluk Hidup adalah kelas abstrak. Kita tidak mungkin
menginstans objek-objek tersebut langsung dari Kelas Mahluk Hidup karena hanya
mengandung deskripsi data dan method yang sangat umum. Data bisa berupa
organ-organ tubuh, sedangkan method berupa bernafas, makan, berkembang biak,
dan sebagainya.
Sekian sharing pengetahuan mengenai Pemrograman Berorientasi Objek pada bagian 1 ini dari saya. Semoga Bermanfaat :D
Sekian sharing pengetahuan mengenai Pemrograman Berorientasi Objek pada bagian 1 ini dari saya. Semoga Bermanfaat :D
Sumber : Menguasai Java 2 & Object Oriented Programming (Benny Hermawan)
Baca Juga : Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 2
Terima aksih sangat bermanfaat gan,,, :D
BalasHapusSama-sama gan Terimakasih kembali :)
Hapus