"Apa Itu OOP?"
OOP (Object Oriented Programming) Pemrograman yang berorientasi objek adalah konsep pemrograman yang bisa kita gunakan dalam kehidupan sehari-sehari, konsep ini merupakan dasar dari pemrograman yang terstruktur.
"Apakah Istimewanya Menggunakan OOP?"
OOP memiliki beberapa keuntungan dalam pemrograman, di antaranya yaitu:
- OOP
menyediakan struktur untuk modular yang jelas untuk program sehingga OOP
sangat bagus digunakan untuk mendefinisikan dari tipe data abstrak di
mana detil implementasinya tersembunyi.
- OOP
juga akan mempermudah untuk memaintain dan memodifikasi kode yang sudah
ada. Objek yang baru dapat dibuat tanpa mengubah kode yang sudah
ada.
- OOP
juga menyediakan framework untuk library kode di mana komponen software
yang tersedia dapat dengan begitu mudah diadaptasi dan dimodifikasi oleh
programmer. Hal ini sangat berguna dalam mengembangkan GUI
(Graphical User Interfaces).
Sedangkan ada beberapa kelemahan OOP antara lain adalah berikut ini:
1. OOP tidak memperbolehkan implementasi yang kuat pada reuse
2. Properti softwarenya tidak terikat dalam satu unit fungsional, sehingga harus
crosscut di antara komponennya.
3. Crosscut tersebut juga mengakibatkan sulitnya pengembangan dan pemeliharaan
"Konsep OOP"
Pemrograman orientasi-objek menekankan pada konsep berikut:
· Class
— kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk
suatu tujuan tertentu. Sebagai contohnya ‘class of dog’ adalah suatu unit
yang terdiri atas definisi-definisi dari data dan fungsi-fungsi yang menunjukan
pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah
ini adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi
object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh
seorang non-programmer sekalipun terkait dengan domain permasalahan yang
ada, dan kode yang terdapat dalam sebuah class tersebut juga biasanya (relatif)
bersifat mandiri dan independen (sebagaimana kode tersebut digunakan
jika tidak sedang menggunakan OOP). Dengan modularitas, struktur dari sebuah
program akan terkait dengan aspek-aspek dalam suatu masalah yang akan
diselesaikan melalui program tersebut. Cara seperti ini juga akan
menyederhanakan pemetaan dari masalah ke sebuah program ataupun juga
sebaliknya.
· Object –
membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah
program komputer; objek merupakan dasar dari modularitas dan juga struktur
dalam sebuah program komputer yang berorientasi objek.
· Abstraksi –
Kemampuan sebuah program juga untuk melewati aspek informasi yang diproses
olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam
sistem melayani sebagai model dari “pelaku” abstrak yang juga dapat melakukan
kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek
lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini
diterapkan. Proses, fungsi atau juga metode dapat juga dibuat abstrak, dan
beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
· Enkapsulasi –
Memastikan penggunaan sebuah objek tidak dapat mengganti keadaan dalam
dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek
tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek
mengakses interface yang menyebutkan bagaimana cara objek lainnya dapat
berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan juga
tergantung kepada representasi dalam objek tersebut.
· Polimorfisme melalui
pengiriman pesan. Tidak berparasit kepada pemanggilan subrutin, bahasa
orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan
dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana
pesan tersebut dikirim. Contohnya, bila ada sebuah burung menerima pesan
“gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor
singa menerima pesan yang sama, dia akan menggerakkan kakinya dan
berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai
dengan kemampuan hewan dari tersebut. Ini disebut polimorfisme karena sebuah
variabel tungal dalam program dapat memegang berbagai jenis objek yang
berbeda selagi program berjalan, dan teks program yang sama dapat
memanggil beberapa metode yang berbeda di saat yang berbeda dalam
pemanggilan yang sama. Hal ini kenyataannya berlawanan dengan bahasa fungsional yang
mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
"Pengimplementasian Dengan Menggunakan JAVA"
Kali ini kita akan membahas sedikit tentang modifier yang sering ada di Java. Ada empat macam modifier dalam java antara lain adalah:
1. Public,
digunakan apabila jika object tersebut diperuntukan untuk semua class yang
artinya object tersebut dapat digunakan oleh semua class yang ada berkaitan
dengan object tersebut.
2. Protected, hanya bisa digunakan untuk class tersebut saja dan class turunannya yang dapat menggunakan object dengan modifier tersebut.
3. Private,
digunakan untuk apabila object tersebut diperuntukan hanya untuk class
tersebut dan tidak ada class lain yang diizinkan untuk menggunakan
object tersebut.
4. Default modifier (tanpa modifier), biasanya digunakan hanya untuk method dimana object itu berada saja. Dengan kata lain default modifier adalah sebuah var/object lokal.
Lebih jelas tentang modifier sudah pernah di tulis disini.
Modifier sendiri digunakan untuk dua hal, yaitu : class modifier atau method modifier.
Cara dalam penulisan class modifier :
1
| modifier class namaClass{ |
Cara penulisan method modifier :
1
| modifier tipe-data namaMethod(parameter){ |
Contoh Program
01
| public class Mahasiswa |
05
| private String jurusan; |
07
| public void setNama(String nama){ |
10
| public void setNim(String nim){ |
13
| public void setJurusan(String jurusan){ |
16
| public String getJurusan(){ |
19
| public void tampilkan(){ |
20
| System.out.println( "Nama : " +nama+ "\n" ); |
21
| System.out.println( "Nim : " +nim+ "\n" ); |
24
| public static void main(String[] args) |
26
| Mahasiswa siswa = new Mahasiswa(); |
27
| siswa.setNama( "zahra" ); |
28
| siswa.setNim( "1130xxxxx" ); |
29
| siswa.setJurusan( "Informatika" ); |
31
| System.out.println( "Jurusan : " +siswa.getJurusan()); |
Catatan :
- this.nama=nama –> digunakan dalam memasukkan variabel inputan user ke dalam variabel nama pada public void setNama.
- Jika terdapat script “void” berarti method tersebut tidak akan mengembalikan nilai.
- public
String getJurusan –> method akan mengeluarkan nilai yang
direpresentasikan dengan script “return”, dalam kasus ini nilai kembalian
yang dikeluarkan berupa String.
- public static void main –> script inilah yang akan dijalankan ataupun dieksekusi.
Lihat Pula Referensinya
Disini