Java merupakan bahasa
pemrograman berorientasi objek (PBO). Pemrograman berorientasi objek atau yang disebut dengan object oriented programming ialah
suatu bahasa pemrograman yang dikembangkan untuk membentuk suatu objek-objek.
Jadi, java menggunakan kelas untuk membentuk suatu obejek-objek tersebut.
Objek-objek dalam dunia nyata, mempunyai
2 karakteristik khusus yaitu : status dan peilaku. Contohnya, sepeda punya
status(jumlah gir, jumlah pedal, dua buah ban) dan perilaku(mengerem,
mempercepat, ubah gir).
Java juga memiliki sifat
sebagai bahasa portable. Karena java bisa dijalankan disegala macam sistem
operasi tanpa harus mengkompilasi ulang. Jadi, ketika java dibuat disistem
operasi windows, untuk menjalankannya disistem operasi lain. Oleh karena itu,
bahasa pemrograman java akan dimanjakan dengan kemudahan-kemudahan yang
tersedia. Adapun beberapa kelebihan dari java yaitu :
·
Aplikasi yang dibuat dengan menggunakan
java dapat dijalankan diberbagai OS yang didalamnya sudah terdapat Java Virtual
Machine (JVM).
·
Banyak referensi-referensi untuk belajar
java, termasuk juga komunitas developer java internet.
·
Banyak contoh program ataupun library yang
siap pakai dan dapat digabungkan dengan program yang kita buat.
Konsep pemrograman
berorientasi objek sebagai berikut :
A. Class
Kumpulan atas defenisi 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 berbagai macam perilaku/turunan dari anjing.
B. Object
Sebuah entiti yang memiliki keadaan,
behaviour dan identias yang tugasnya dirumuskan dalam suatu lingkup masalah
dengan baik.
C. Atribut
Atribut menunjukkan pada elemen data dari
sebuah object. Atribut menyimpan informasi tentang object, dikenal juga sebagai
member java, variabel instance, properti atau sebuah field data.
D. Method
Sebuah method menjelaskan behaviour dari
sebuah object, method juga dikenal sebagai fungsi atau prosedur. Contohnya,
method yang tersedia untuk entiti siswa dan method register.
E. 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.
F. Enkapsulasi
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.
G. Pewarisan
Pewarisan adalah keuntungan besar dalam pemrograman
berbasis object karena suatu sifat atau method didefinisikan dalam superclass,
sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda dapat
menuliskan kode method hanya sekali dan mereka dapat digunakan oleh semua
subclass.
Beberapa Fitur Penting
Dalam Bahasa Java
- Bahasa Sederhana
o
Explicit pointer manipulation
o
Implicit type casting
o
Structures atau union
o
Operator overloading
o
Templates
o
Header files
o
Multiple inheritance
Java
dirancang untuk mudah dipelajari dan digunakan dengan secara efektif. Java
tidak mendukung fitur-fitur rumit seperti:
Rancangan
bahasa Java telah berdasar teknologi yang telah terbukti dan dikembangkan di
bahasa-bahasa pemrograman lainnya.
- Bahasa berororientasi objek
Java
bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tidak
kompatibel dengan semuanya. Model objek Java adalah sederhana dan mudah
dikembangkan, namun sejalan dengan itu, nilangan dan tipe data sederhana lain
dianggap sebagai non-objek berkinerja tinggi.
OOP
(object oriented programming) adalah cara ampuh dalam pengorganisasian dan
pengembangan perangkat lunak. Pada OOP, program komputer sebagai sekelompok
objek yang saling berinteraksi. Objek-objek ini ada secara secara independent
yang mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk
memerinthakan objek lain guna meminta informasi tertentu atau meminta objek
lain mengerjakan sesuatu.
- Bahasa statically typed
Semua
objek dideklarasikan terlebih dahulu sebelum digunakan. Melalui fitur ini kode
program lebih dapat dioptmasi untuk menghasilkan program berkinerja tinggi.
- Bahasa dikompilasi
Sebelum
menjalankan program di bahasa Java, program dikompilasi menggunakan Java
Compiler. Kompilais akan menghasilkan file “bytecode” yang serupa fungsinya
dengan file kode mesin. Program “bytecode” yang dihasilkan dapat di eksekusi di
sembarang Java Interpreter. Java Interpreter membaca file “bytecode” dan
menterjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang
dapat di eksekusi mesin.
- Bahasa yang aman
- Class loader menangani pemuatan kelas Java ke runtime interpreter.
- Manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
- Bahasa dirancang untuk mempersulit eksekusi kode perusak
- Program Java dikompilasi menajdi serangkaian bytecode.
- Java mempunyai pengamanan terhadap applet.
Java menggunakan model
pengamanan 3 lapis untuk melindungi sistem dari Untrusted Java Code. Selain itu
Java menyediakan beragam teknik pengaman, yaitu:
- Bahasa indpenden terhadap platform
Platform
independence merupakan kemampuan program bekerja di sistem operasi atau sistem
komputer berbeda. Bahasa Java adalah bahasa yang secara sempurna tidak
bergantung platform.
·
Bahasa multithreading
Thread
adalah menyatakan program komputer melakukan lebih dari satu tugas di satu
waktu yang sama. Java menyediakan kakas untuk menulis program multithread,
program mempunyai lebih dari 1 thread eksekusi pada saat yang sama sehingga
memungkinkan program menagani beberapa tugas secara konkuren.
- Bahasa yang didukung garbage collector
Artinya,
program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi.
Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi
atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang
memungkinkanalokasi dinamis.
- Bahasa yang tegar
Java
interpreter memeriksa semua akses sistem yang dilakukan. Program java tidak
dapat menyebabkan crash terhadap sistem. Java mempunyai mekanisme exception
handling yang ampuh. Exception-handling menyediakan cara untuk memisahkan
antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun
ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar.