Konsep Pemprograman Berorientasi Objek dengan Bahasa JAVA


Konsep pemprograman berorientasi objek sampai saat ini masih merupakan sebuah paradigma pemprograman yang sangat powerfull. Dalam tulisan ini saya akan memaparkan sedikit apa yang saya ketahui tentang Pemprograman berorientasi objek berdasarkan apa yang telah saya pelajari dari beberapa literatur maupun perkuliahan yang pernah saya ikuti. Sebelum membahas beberapa konsep pemprograman dan paradigmanya, ada baiknya kita tahu sedikit sejarahnya serta mengapa perlu mendalaminya..
Pada pembahasan konsep pemprograman berorientasi objek ini, kenapa menggunakan bahasa JAVA?!Nanti akan sama2 kita bahas..
Pada tulisan ini akan saya sertakan beberapa contoh source code sederhana untuk memudahkan pemahaman mengenai konsep-konsep yang ada pada pemprograman berorientasi objek. Untuk itu bagi yang mau mencobanya dan belum punya tools-nya silakan diikuti langkah instalasinya terlebih dulu..!!( Ada dibawah )
Sejarah singkat
Pemprograman berorientasi objek dalam bahasa inggrisnya dinamakan Object Oriented Programming atau sering disingkat OOP. OOP ini mulai dikenalkan sekitar pertengahan tahun 60-an dengan bahasa SIMULA . SIMULA sendiri merupakan sebuah pemprograman yang biasanya dipakai untuk Simulasi, yakni untuk pemodelan suatu entitas/sistem. SIMULA mempunyai kemiripan sintak dengan PASCAL tetapi dalam perancangannya programmer berfikir sedikit lebih berbeda. Ide dasar yang diperkenalkan waktu itu adalah inheritance (pewarisan) dan juga sudah mengenal konsep objek pada sistem yang dimodelkan. Beberapa objek yang dikumpulkan dinamakan “Class” dan tugas programmer SIMULA tersebut adalah menentukan bagaimana behavior dari class tersebut.
Kemudian pada era 70-an, bahasa pemprograman yang mengadopsi konsep OOP yaitu SMALLTALK yang dikembangkan Xerok PARC. Meskipun pengembang perangkat lunak tidak secara intensif mengembangkan OOP, tetapi konsep OOP tetap digunakan dan dianggap powerful hingga sekarang.
Selanjutnya pertengahan 80-an, bahasa pemprograman OOP; seperti C++ menjadi populer dikalangan programmer komputer. Hingga era 90-an ternyata popularitas OOP berlanjut terus dan mulai banyak pengembang perangkat lunak yang menggunakan konsep OOP seperti pada Java yang menjadi popular hingga sekarang. Pada tahun 2000-an, microsoft-pun mulai memperkenalkan bahasa OOP baru yaitu C# (C-sharp) serta kemudian Visual Basic 6.0 yang tidak mendukung OOP dikembangkan menjadi VB.NET.
Demikian sejarah bagaimana Konsep OOP pada awalnya hingga saat ini menjadi sangat populer dan pilihan bagi para programmer dalam mengembangkan perangkat lunaknya.
Kenapa JAVA?!
Java merupakan bahasa pemprograman berorientasi objek yang dikembangkan oleh Sun Microsystem sejak tahun 1991. Bahasa ini merupakan pengembangan dari C/C++ dan SmallTalk. Namun bahasa ini dirancang agar lebih mudah dipakai dan ¬platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer . Bahasa ini sering juga bersifat Multiplatform, kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip write once, run every where.
Selain itu Java memiliki beberapa kelebihan lain, diantaranya;
 memiliki garbage collection yang dapat mendealokasikan memori secara otomatis,
 Sudah menghilangkan sifat pewarisan berganda yang terdapat pafa C++,
 Mengurangi pointer aritmetika,
 Pengaksesan lokasi memori secara langsung dengan menggunakan pointer sehingga memungkinkan program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan. Untuk mengurangi kemungkinan kesalahan seperti ini penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
 Dan kelebihan lainnya.
Untuk menggunakan Java diperlukan Java Standard Edition (JSE), dimana semua program dan dokumentasi bisa di-download secara gratis disitus: http://www.java.sun.com. Berikut langkah tools dan langkah instalasinya(untuk Operating System Windows) :
1. Download Java Standard Edition dari (http://java.sun.com/javase/downloads/)
2. Install Java Standard Edition dengan mengklik jdk-6u6-windows-i586-p.exe
3. Klik start → control panel →system → advanced → environment variables dan set PATH :;C:\Program Files\Java\jdk1.6.0_6\bin
4. Install text editor untuk editing code : notepad, textpad, jcreator, dll

Pemprograman berorientasi objek
Pemprograman berorientasi objek (Object Oriented Programming atau OOP) merupakan suatu konsep yang menyelesaikan masalah pemprograman dengan menggunakan pendekatan objek. Konsep OOP ini merupakan pengembangan dari konsep pemprograman sebelumnya yang dianggap kurang mampu menyelesaiakan tingkat pemprograman yang lebih kompleks. yaitu pemprograman fungsional (berdasarkan urutan fungsi secara sekuensial, seperti : Scheme, Lisp) dan pemprograman prosedural (berdasarkan prosedural kerja yang terkumpul dalam unit pemprograman bernama fungsi, seperti: C, Pascal). Pada pemprograman prosedural program ditulis dalam mode barisan linier yang bekerja dari atas ke bawah atau program merupakan kumpulan dari tahapan yang dijalankan setelah yang lain berjalan. Programming jenis ini dapat bekerja dengan baik untuk program kecil yang berisi code relative sedikit, tetapi ketika program menjadi besar, maka cenderung sulit untuk di-manage dan di-debug. Nah, konsep OOP inilah yang bisa mengatasi permasalahan tersebut.

Berikut ini adalah beberapa konsep dan istilah yang ditekankan pada OOP :
 Objek (Object)

Pada dasarnya semua benda dalam dunia nyata dapat kita anggap sebagai objek. Dan apabila kita perhatikan lebih lanjut maka objek itu memiliki karakteristik, yaitu attribut (keadaan yang ada pada objek) dan behavior (kelakuan yang dimiliki oleh objek).
Contoh sederhana : objek Sepeda Motor
Sepeda motor memiliki attribut : roda, rantai, rem, gir, warna, tahun pembuatan, dll
Sepeda motor memiliki behavior : cara menghidupkan, cara menjalankan, cara membelokkan, cara mengerem , dll
Pemahaman objek disekitar kita inilah yang dapat mendasari pemahaman mengenai pemrograman berorientasi objek. Yang paling utama adalah bagaimana mentransformasikan apa yang kita ketahui tentang suatu objek menjadi suatu program.
Secara sederhana attribute bisa dikatakan sebagai kata benda karena sifatnya yang pasif, benda tersebut tidak melakukan operasi tetapi justru menjadi target operasi. Sedangkan behaviour bisa disebut sebagai kata kerja, karena ia untuk menujukkan operasi apa yang dilakukan.
Dalam penerapannya pada perangkat lunak berorientasi objek, objek menyimpan attribute dalam variabel dan menyimpan behavior dalam method.

 Abstraksi (Abtraction)
Dalam OOP dikenal istilah ABSTAKSI. Yaitu suatu cara bagaimana kita melihat objek dalam bentuk yang lebih sederhana. Sebagai contoh apabila kita melihat sebuah Sepeda Motor, kita tidak perlu mengetahui susunan komponen mesin dan komponen elektris lainnya yang sangat kompleks. Namun kita hanya memahami sepeda motor sebagai suatu entitas/sistem yang memiliki karakteristik tersendiri, yang ketika dinyalakan bisa digunakan sebagai alat transportasi. Dengan pemahaman yang sederhana ini maka ketika kita memakai sepeda motor, kita tidak perlu tahu betapa rumit komponen dan rangkaian yang menyusun sebuah sepeda motor. Karena yang perlu kita ketahui adalah bagaimana cara sepeda motor tersebut dikendalikan.
Jadi konsep abstraksi ini kita dapat memandang suatu entitas/sistem yang kompleks yang terdiri dari subsistem-subsistem yang rumit dapat dipandang menjadi sebuah paket sistem yang sederhana.

 Kelas (Class)
Kelas bisa kita ibaratkan sebagai sebuah cetakan atau prototype untuk membuat objek. Misal, sebuah cetakan kue yang digunakan untuk membuat ribuan kue. Kue yang dibuat tersebut adalah objek dari kelas cetakan kue. Hal ini dapat dilakukan karena semua objek kue yang dibuat memiliki karakteristik yang sama sehingga dapat dibuatkan blueprintnya.
Kelas vs Objek
Kelas berbeda dengan objek. Kelas merupakan prototipe yang mendefinisikan variabel-variabel dan method-method sedangkan objek merupakan instansiasi dari suatu kelas.
Dalam dunia nyata, kita sering mempunyai objek yang berjenis sam. Misal; Sepeda motor yang kita punyai merupakan satu dari banyak sepeda motor di dunia. Dengan konsep orientasi objek, bisa dikatakan bahwa sepeda motor tersebut adalah instance dari sebuah class dari objek sepeda motor. Sepeda motor umumnya memiliki atribute (seperti: roda, rantai, rem, gir) dan behaviour (seperti: mengerem, ganti gir, dll). Namun setiap sepeda motor adalah independen atau bebas dan bisa beda dari sepeda motor lainnya. Ketika membuat sepeda motor, pabrik pembuatnya mengambil keuntungan dari kenyataan bahwa sepeda motor memiliki karakteristik yang sama, sehingga untuk membuat sepeda motor bisa mulai dari membuat prototype. Sangat tidak efisien jika membuat sepeda mtor dengan prototype yang berbeda-beda untuk setiap sepeda motor.
Class akan mendefinisikan variabel-variabel instan yang diperlukan untuk memuat karakteristik-karakteristik dari objek yang bersangkutan. Class akan dideklarasikan dan menyediakan beberapa method-method instan yang memungkinkan pengendara sepeda motor tersebut mengubah gir, rem, dan sebagainya.
Setelah kita membuat kelas sepeda motor, kita dapat membuat sejumlah objek sepeda motor dari Class tersebut. Ketika kita membuat sebuah Class instan, maka system akan mengalokasikan sejumlah memori yang cukup untuk objek-objek dan semua variable instan.
Untuk lebih memahami konsep-konsep diatas berikut contoh sederhana pemprograman dengan Java:

 Membuat Class, Objek, dan Memanggil Atrribute

/* Simpan dengan nama file : SepedaMotor.java
Membuat class Sepeda Motor */

class SepedaMotor {
String warna;
int tahunProduksi;
}

/*Simpan dengan nama file : SepedaMotorBeraksi.java
Membuat Class yang bernama SepedaMotorBeraksi */

public class SepedaMotorBeraksi {
public static void main (String[] args) {
//Membuat objek yang bernama sepedaMotorku
SepedaMotor sepedaMotorku = new SepedaMotor();

// Memanggil attribut dan memberi nilai
sepedaMotorku .warna = “Hitam”;
sepedaMotorku .tahunProduksi=2008;
System.out.println( “Sepeda Motorku berwarna : ”+ sepedaMotorku .warna);
System.out.println( “Sepeda Motorku tahun : ”+ sepedaMotorku.tahunProduksi);
}
}

About fairuzabadisalim
cool, calm,confidence

Leave a comment