Pemrograman berorientasi objek (object-oriented programming disingkat OOP)
merupakan pemograman yang berorientasikan kepada objek. Semua data dan
fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data
berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih,
kemudahan mengubah program, dan digunakan luas dalam teknik piranti
lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP
lebih mudah dipelajari bagi pemula dibanding dengan pendekatan
sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Istilah-istilah dalam OOP :
- Kelas atau 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.
- Objek
: 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
: kemampuan sebuah program untuk melewati aspek informasi yang diproses
olehnya, yaitu kemampuan untuk memfokus 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 izin 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.
- Polomorfisme 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.
Dengan
menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak
melihat bagaimana cara menyelesaikan suatu masalah tersebut
(terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan
masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen
yang memiliki manager, sekretaris, petugas administrasi data dan
lainnya. Misal manager tersebut ingin memperoleh data dari bag
administrasi maka manager tersebut tidak harus mengambilnya langsung
tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya.
Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana
cara mengambil data tersebut tetapi manager bisa mendapatkan data
tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan
suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap
objek memiliki deskripsi tugasnya sendiri.
Salah satu pemograman pendukung OOP adalah bahasa pemograman Java.
Java adalah salah satu bahasa pemograman OOP. Bahasa ini awalnya dibuat oleh James Gosling. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun
dengan sintaksis model objek yang lebih sederhana serta dukungan
rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java
umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose),
dan secara khusus didisain untuk memanfaatkan dependensi implementasi
seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi
java mampu berjalan di beberapa platform sistem operasi yang berbeda yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun".
Saat ini java merupakan bahasa pemrograman yang paling populer
digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai
jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.
Versi awal Java
ditahun 1996 sudah merupakan versi release sehingga dinamakan Java
Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang
terus dikembangkan pada versi selanjutnya:
java.lang
: Peruntukan kelas elemen-elemen dasar.
java.io
: Peruntukan kelas input dan output, termasuk penggunaan berkas.
java.util
: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
java.net
: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
java.awt
: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
java.applet
: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
Kelebihan bahasa pemograman Java antara lain :
- Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja.
Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan
dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa
mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas
beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah
program berbasis java dikerjakan diatas operating system Linux tetapi
dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung
sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun
Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya
sendiri-sendiri (yang dapat diunduh dari situs Java) untuk
meninterpretasikan bytecode tersebut.
- OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
- Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan
program program yang disertakan dalam pemrograman java) yang sangat
memudahkan dalam penggunaan oleh para pemrogram untuk membangun
aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan
komunitas Java yang besar yang terus menerus membuat
perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan
pembangunan aplikasi.
- Bergaya C++,
memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak
pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat
banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java.
Universitas-universitas di Amerika Serikat juga mulai berpindah dengan
mengajarkan Java kepada murid-murid yang baru karena lebih mudah
dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan
mengambil jurusan komputer.
- Pengumpulan Sampah otomatis,
memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram
tidak perlu melakukan pengaturan memori secara langsung (seperti halnya
dalam bahasa C++ yang dipakai secara luas).
Selain mempunyai kelebihan seperti yang sudah dijelaskan di atas, pemograman Java juga mempunyai kekurangan yaitu :
- Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
- Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang
menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama
kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Micosoft,
NET Platform. Dengan demikian, algoritma yang digunakan program akan
lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
- Penggunaan memori yang banyak.
Penggunaan memori untuk program berbasis Java jauh lebih besar daripada
bahasa tingkat tinggi generasi sebelumnya seperti
C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal).
Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan
teknologi terbaru (karena trend memori terpasang makin murah), tetapi
menjadi masalah bagi mereka yang masih harus berkutat dengan mesin
komputer berumur lebih dari 4 tahun.
Banyak pihak telah membuat IDE (Integrated Development Environment - Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli 2006) antara lain:
- Dr. Java, program gratis yang dikembangkan oleh Universitas Rice, Amerika Serikat
- BlueJ, program gratis yang dikembangkan oleh Universitas Monash, Australia
- NetBeans (open source- Common Development and Distribution License (CDDL))
- NetBeans
disponsori Sun Microsystems, dan versi terkininya memilki Matisse,
sebuah GUI Editor yang menurut pendapat umum merupakan yang
terbaik.[rujukan?]
- Eclipse JDT (open source- Eclipse Public License)
- Eclipse
dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse
Foundation' (beserta individu-individu lain). Banyak nama besar yang
ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia,
Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan
pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.
- IntelliJ IDEA (commercial, free 30-day trial)
- Oracle JDeveloper (free)
- Xinox JCreator (ada versi berbayar maupun free)
- JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.
(Sumber : http://en.wikipedia.org)
Contoh penulisan bahasa pemograman Java :
String Nama,WarnaRambut,TinggiBadan,BeratBadan;
public static void main(String[]args)
identitas Obj = new identitas();
System.out.println("Nama Lengkap : " + Obj.Nama);
System.out.println("Warna Rambut : " + Obj.WarnaRambut);
System.out.println("Tinggi Badan : " + Obj.TinggiBadan + " Cm");
System.out.println("Berat Badan : " + Obj.BeratBadan + " Kg");
System.out.println("Umur : " + Obj.Umur);
Semoga artikel yang saya share ini dapat bermanfaat. Thanks..
Artikel keren lainnya:
Belum ada tanggapan untuk "Konsep Dasar Pemrograman Berorientasi Objek (OOP)"
Post a Comment