Pengertian, Konsep, Dan Contoh Program OOP Pada Java
Assalamu'alaikum wr.wb.
Pada kesempatan kali ini saya akan membahas tentang pengertian, konsep, dan contoh programm OOP (Object Oriented Programming) Pada Java. Pengertian yang akan saya sampaikan ini merupakan pengertian OOP dari java, yang akan saya tambahkan mengenai konsep OOP yang mana setiap bahasa pemrograman memiliki konsep OOP yang berbeda - beda. Java pun memiliki konsep yang unik. Meskipun sebenarnya setiap bahasa pemrograman bisa menggunakan konsep oop dari bahasa pemrograman lain. saya contohkan pada artikel saya tentang membuat windows aplication menggunakan C# dan Penjelasan OOP pada C#. Kedua artikel yang saya sebutkan menggunakan bahasa C#, tetapi konsep yang saya gunakan adalah konsep OOP dari java. Sebenarnya C# memiliki konsep OOP sendiri. Akan tetapi pada contohnya saya buat dengan konsep Java.
Baca Juga
- Contoh OOP Dalam Kehidupan Sehari-hari
- PortPlayer, Software Pemutar Video Alternatif Terbaik
- Program Pencarian Dinamis Menggunakan Bahasa Pemrograman C#
Seperti yang saya tulis berkali - kali. Sebagai seorang programmer, memahami OOP adalah suatu kewajiban. Karena pada zaman sekarang ini, programmer dituntut untuk meminimalisir program dan membuat program tertata rapi, sekaligus membuat sebuah aplikasi dengan cepat dan bug seminimal mungkin. Masalah yang saya sebutkan tadi untuk mengatasinya, salah satunya adalah OOP. Dengan OOP kita tidak perlu membuat perintah yang berulang - ulang. Oke langsung saja. berikut ini merupakan penjelasan tentang OOP
1. Pengertian OOP
OOP adalah suatu metode pemrograman yang berorientasi pada objek. Tujuan dari OOP adalah untuk mempermudah pengembangan dalam program dengan cara mengikuti model yang telah ada dalam kehidupan sehari - hari. Artinya setiap bagian dari suatu masalah adalah objek. Dan objek tersebut merupakan bagian dari beberapa objek didalamnya. Contohnya saya ibaratkan mobil. Mobil adalah objek. Dari mobil tersebut terdapat objek lagi seperti ban, mesin, spion, dll. Mobil adalah object, yang mana terdiri dari object - object lain. Dari pengertian oop dan contohnya yang saya berikan. Bisa diartikan bahwa oop merupakan object yang terdiri dari sekumpulan object kecil, yang mana object kecil tersebut sebagai pendukung dari object besar.Pengertian diatas merupakan contoh oop dalam kehidupan sehari - hari. yang mana contoh tersebut adalah contoh yang sering kita jumpai di kehidupan sehari - hari. Jika kita amati, mobil adalah benda yang sering kita temukan di kehidupan nyata, namun tak disangka bahwa oop juga termasuk dalam mobil beserta komponennya.
Sedangkan arti oop yang sebenarnya adalah pradigma pemrograman yang berorientasikan kepada object. semua data dan fungsi dalam pradigma ini dibungkus dalam sebuah Class. Jika dibandingkan dengan pemrograman terstruktur, setiap object dapan menerima pesan, memproses pesan, dan menerima data dari object lainnya. Artinya OOP adalah pemrograman yang saling mengirim data dari satu class ke class yang lain. Data tersebut nantinya akan disimpan didalam object dari suatu class, kemudian dikirimkan ke class lain. Begitulah kira - kira. Mungkin bisa kita sebut OOP dengan Oper - operan data.
2. Konsep Dasar OOP
Jika ingin mempelajari OOP java, tentu kita harus mengetahui terlebih dahulu mengenai konsep oop pada java. Konsep ini adalah dasar dari OOP. Berikut ini merupakan Konsep OOP pada java:- Class = Sebuah konsep OOP yang digunakan untuk mengkapsulasi atau membungkus data dan abstraksi prosedural yang diperlukan dalam Gambaran isi dan tingkah laku sebagai entitas.
- Object = Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program. Merupakan dasar dari modularitas dan struktur dalam sebuah OOP.
- Abstraksi = Proses representasi data dan program dalam bentuk sama dengan pengertiannya (semantik) dengan menyembunyikan rincian atau detail implementasi.
- Encapsulation = Merupakan pembungkus, artinya membungkus class dan menjaga apa saja yang ada didalam class tersebut. Baik method ataupun atribut. Agar tidak bisa diakses oleh class lainnya.
- Polimorfisme = Merupakan suatu kejadian ketika object dapat mengungkapkan banyak hal melalui suatu cara yang sama,
- Inheritance = Pewarisan. artinya sebuah class dapat menurunkan property dan method yang dimilikinya kepada class lain.
Setelah membaca pengertian tentang Konsep OOP, mungkin akan sangat membingungkan jika tidak ada contohnya. berikut ini merupakanc contoh program dari konsep OOP :
Class
class Mobil { private String nama; private String jenis; private String warna; private String merk; public Mobil(String nama, String merk, String jenis, String warna){ this.nama = nama; this.merk = merk this.jenis = jenis; this.warna = warna; } public void print_mobil(){ System.out.prinln("Nama Mobil : " + nama); System.out.prinln("Merk Mobil : " + merk); System.out.prinln("Jenis Mobil : " + jenis); System.out.prinln("Warna Mobil : " + warna); } }
program diatas merupakan contoh program untuk mendeklarasikan Class pada sebuah text editor. Nama class tersebut adalah Mobil. Didalam class Mobil terdapat atribut nama, jenis, warna, dan merk.
Selain itu, terdapat construktor pada class tersebut dengan parameter (nama, merk, jenis, warna). Lalu pada program this, disitulah nilai data dari parameter dikirim ke variabel dalam class mobil.
print_mobil merupakan method dalam class. Method tersebut berfungsi untuk menampilkan data dari variabel - variabel yang telah ditentukan.
Object
class panggil_mobil{ private Mobil m; private String nama; private String jenis; private String warna; private String merk; }
Kita bisa lihat warna, jenis, nama, dan merk merupakan object dari String. Sedangkan m merupakan object dari class Mobil. Object disini berfungsi untuk memanggil tipe data dan class tersebut. Jika kita bandingkan dengan kehidupan sehari - hari, paijo jo. Paijo adalah nama orang, jo adalah objectnya. jadi ketika kita memanggil paijo, kita cukup panggil dengan jo.
Abstraksi
class panggil_mobil{ private Mobil m; private String nama; private String jenis; private String warna; private String merk; public void main(String[] args){ nama = "Honda Jazz"; jenis = "Matic"; warna = "Silver"; merk = "Honda"; m = new Mobil(nama, jenis, warna, merk); } }
kita lihat program yang paling bawah. m = new Mobil(nama, jenis, warna, merk) itulah yang disebut abstraksi. artinya dalam program, abstraksi tersebut mendeklarasikan class Mobil didalam class jual mobil, Untuk memanggil class dengan abstraksi kita buat rumus object = new class(parameter).
Encapsulation
Untuk encapsulation, kita perlu mengubah class mobil menjadi seperti dibawah ini.
public class Mobil{ private String nama; private String jenis; private String merk; private String warna; public String getNama() { return nama; } public void setNama(String nama) { this.nama = nama; } public String getJenis() { return jenis; } public void setJenis(String jenis) { this.jenis = jenis; } public String getMerk() { return merk; } public void setMerk(String merk) { this.merk = merk; } public String getWarna() { return warna; } public void setWarna(String warna) { this.warna = warna; } public Mobil { System.out.println("Memanggil class Mobil. Ini adalah Constructor"); } }
Pada program diatas, kita bisa lihat terdapat dua model program (getXX dan setXX). get sendiri berfungsi untuk mengambil data, sedangkan set berfungsi untuk menambah data.
Pada encapsulation, Diwujudkan dalam bentuk class, dan didalam class sendiri terdapat method yang memiliki hak akses tertentu terhadap enviroment/ lingkungkannya. Hak akses ini disebut Acces Modifier. Yang terdiri dari private, protected, dan public.
- private = Memberikan hak akses hanya kepada class tersebut.
- protected = Memberikan hak akses kepada anggota classnya dan turunannya.
- public = memberikan hak akses kepada property dan method agar dapat digunakan di luar class tersebut.
Polimorfisme
class panggil_mobil{ private Mobil m; public panggil_mobil(){ m = new Mobil(); m.setNama("Honda Jazz"); m.setJenis("Matic"); m.setWarna("Silver"); m.setMerk("Honda"); } }
kita lihat dari program diatas, Pada constructor, kita panggil class mobil dengan object m. lalu dibawahnya terdapat method - method seperti setNama, setJenis dll yang notabene berasal dari class mobil. itulah yang disebut polimorfisme dimana dalam suatu class, terdapat method yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Inheritance
class jual_mobil() extends panggil_mobil{ public void main(String[] args){ System.out.println("Nama Mobil : " + m.getNama()); System.out.println("Jenis Mobil : " + m.getJenis()); System.out.println("Warna Mobil : " + m.getWarna()); System.out.println("Merk Mobil : " + m.getMerk()); } }
Pada contoh program diatas, saya membuat class jual_mobil dengan turunan dari panggil_mobil. m.getnama() dll merupakan milih class mobil, namun telah dipanggil di class mobil, sehingga class jual_mobil bisa mengaksesnya tanpa perlu mendeklarasikan class mobil terlebih dahulu.
apakah program diatas bisa di run ?
ReplyDelete