Sabtu, 10 November 2012


Cukup sering saya mendengar pertanyaan di Tempat kuliah saat diluar jam pelajaran: "Apakah Itu OOP ?" "Apa yang istimewa tentang itu?" "Bagaimana Cara Menggunakannya?", oleh karena itu disini saya akan menjelaskan sedikit tentang konsep OOP dan Java.


"Apakah Itu OOP?"
Program adalah suatu bentuk aplikasi atau bisa juga disebut software yang dibuat dengan menggunakan Bahasa Pemrograman dan dapat menyelesaikan suatu Tugas, Fungsi, Perhitungan dengan menggunakan computer.Bahasa  Pemrograman  merupakan  kumpulan  perintah-perintah yang  dimengerti  komputer  untuk melakukan tugas-tugas tertentu. Sedangkan Pemrograman atau Programming merupakan teknikuntuk membuat suatu Program dengan menggunakan Bahasa Pemrograman
Pemrograman  Berorientasi  Objek  (Object  Oriented  Programming) merupakan  teknik  membuat  suatu program  berdasarkan  objek. dengan tujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat dan mempermudah pengembangan program dengan cara mengikuti model yang telah ada dalam kehidupan nyata.Dalam paradigma ini, sesuai dengan model kehidupan nyata, segala bagian (entiti) dari suatu permasalahan adalah objek. Objek-objek ini kemudian juga dapat berupa gabungan dari beberapa objek yang lebih kecil  Untuk  lebih  memudahkan pemahaman  tentang  objek,  saya  beri  sebuah  contoh  :
 Meja,  Kursi,  Jam  Dinding  dan  yang  lainnya  merupakan  contoh objek
Objek  yang  disebutkan tadi umumnya berada didalam sebuah ruangan, ruangan apabila kita melihatnya dari sebuah rumah bisa  juga  dikategorikan sebuah  objek  dan  rumah  jika  dilihat  dari  cara  pandang  yang  lebih  luas lagi  juga  merupakan  objek.  Jadi  sebuah  Objek  merupakan  suatu  bentuk atau  model  yang  tergantung  dari  cara  pandang objek dimaksud

Kesimpulannya :
   Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya memiliki ciri khas (attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Singkatnya, OOP memiliki keunggulan dari konsep pemrograman terstruktur, selain itu juga memiliki kemampuan untuk mengimplementasikan objek dalam kehidupan nyata.

"Apakah Keistimewaan OOP?"

OOP memiliki beberapa keuntungan dalam pemrograman, di antaranya:
  1. OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sangat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detil implementasinya tersembunyi.
  1. OOP akan mempermudah dalam memaintain dan memodifikasi kode yang sudah ada. Objek yang baru dapat dibuat tanpa mengubah kode yang sudah ada.
  1. OOP menyediakan framework untuk library kode di mana komponen software yang tersedia dapat dengan mudah diadaptasi dan dimodifikasi oleh programmer. Hal ini sangat berguna untuk mengembangkan GUI (Graphical User Interfaces).
Sedangkan beberapa kelemahan OOP antara lain adalah sebagai berikut:

       1. Tidak memperbolehkan implementasi yang kuat pada reuse
       2. Properti software tidak terikat dalam satu unit fungsional, sehingga harus
            crosscut di antara komponennya.
       3. Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan

"Konsep OOP"

Pemrograman orientasi-objek menekankan konsep berikut:

·         Class — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class 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 sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.




·         Object – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.


·         Abstraksi – Merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses
olehnya atau 
kemampuan untuk mefokus pada inti. Setiap objek dalam sistem melayani sebagai model dari pelaku abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem,tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.


·         Enkapsulasi – Memastikan pengguna 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 objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
Contoh dalam program
Belajar.Java
class belajar{
public String x =”Pintar”;
private String y = “Java”;
}
Pintar.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}
Tipe public dan private mempunyai fungsi yang berbeda. Fungsipublic yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.

·         Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila 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 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 berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

















































































Pewarisan (Inheritance)
Pewarisan merupakan pewarisan atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai superclass bagi class lainya, disebut sebagai multilevel inheritance.
Contoh : terdapat class sepeda dan sepeda gunung. Sepeda termasuk superclass.  Sepeda gunung termasuk subclass. Hal ini dikarenakan sepeda gunung memiliki variabel dan method yang dimiliki oleh sepeda.
Seprti Penghitungan dalam matematika.Matemtika menjadi super class dan class hitung menjadi sub class.karena hitung memiliki variabel atau method yang sama dengan class matematika.

"Pengimplementasian Dengan Menggunakan JAVA"

Kali ini akan membahas sedikit tentang modifier yang sering ada di Java. Ada empat macam modifier dalam java yaitu :

1.     Public, digunakan apabila object tersebut diperuntukan untuk semua class   yang artinya object tersebut dapat digunakan oleh semua class yang berkaitan dengan object tersebut.
2.     Protected, hanya bisa digunakan untuk class tersebut 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 hanyak untuk method dimana object itu berada. Dengan kata lain default modifier adalah sebuah var/object lokal.

Modifier sendiri digunakan untuk dua hal, yaitu : class modifier dan method modifier.