Home > Java > Overview Java

Overview Java

September 5, 2010 Leave a comment Go to comments

Java

  • Java adalah bahasa pemrograman tingkat tinggi yang mempunyai karakteristik
  1. Berorientasi object. Bahasa Java merupakan bahasa pemrograman yang menerapkan konsep berorientasi object murni
  2. Sederhana dan familiar. Sebagian besar sintaks Java hampir sama dengan sintaks bahasa C/C++ dengan menghilangkan bagian yang membingungkan seperti typedef, pointer, struct, union, multiple inheritance.
  3. Platform independent. Proses kompilasi dari kode program sampai dapat dieksekusi oleh PC sebagai berikut. Kode program .java lalu di-compile menjadi .class. File dengan ekstensi .class disebut bytecode, kode inilah yang di-intepreted oleh mesin untuk menjalankan program java. Untuk dapat membaca bytecode tersebut mesin harus mempunyai java virtual machine. Sehingga jika suatu mesin mempunyai java virtual machine ( JVM ), maka mesin tersebut dapat menjalankan program java tanpa harus melakukan perubahan pada bytecode.        ( Secara Teori )
  4. Automatic garbage collection merupakan teknik yang digunakan Java untuk memusnahkan object yang tidak digunakan lagi sehingga penggunaan memory lebih efisien. Dan juga dapat membantu programmer karena tidak lagi memikirkan dealokasi memory yang digunakan oleh suatu object yang telah diciptakan dan object tersebut tidak digunakan lagi.
  5. Portable. Bytecode dapat dipindahkan dari satu mesin ke mesin yang lain tanpa mengalami perubahan
  6. Multi-thread. Java memberikan dukungan terhadap banyak thread eksekusi yang menangani tugas yang berbeda
  • Java dan Object Oriented Programming. Tujuan dari Object Oriented Programming adalah untuk mempercepat pengembangan, meningkatkan kualitas software, mempermudah perawatan software dan juga mempermudah perubahan dalam proses pengembangan software. Dalam OOP sering digunakan istilah object dan class, object adalah suatu unit yang mempunyai identitas ( nama ), state dan behavior. State merupakan pengetahuan object tentang dirinya sendiri dan object lain sedangkan behavior adalah kemapuan untuk melakukan suatu task atau bekerjasama dengan object lain. Sedangkan class merupakan cetak biru state, behavior suatu object. Pilar utama dalam OOP adalah
  1. Pengkapsulan ( Encapsulation ) adalah pembungkusan data internal object dan menyediakan interface untuk  melakukan akses terhadap data tersebut. Java menyediakan mekanisme untuk melakukan pengkapsulan yaitu dengan memberikan modifier access terhadap data, method pada suatu class. Berikut ini kelompok modifier yang terdapat dalam Java.

Access modifier berlaku untuk class method dan variabel, meliputi modifier public, protected, private, dan default (tak ada modifier).

Final modifier berlaku untuk class,variabel dan method, meliputi modifier final.

Static modifier berlaku untuk variabel dan method, meliputi modifier static.

Abstrac modifier berlaku untuk class dan method, meliputi modifier abstract.

Syncronized modifier berlaku untuk method, meliputi modifier syncronized .

Native modifier berlaku untuk method, meliputi modifier native.

            Storage modifier berlaku untuk variabel, meliputi transient dan volatile

Berikut ini tingkatan modifier pada Java

Modifier Class dan Interface Method dan Variabel
Default (tak ada modifier) Tampak di Paketnya Diwarisi oleh subclassnya di paket yang sama dengan classnya. Dapat diakses oleh method-method di class-class yang sepaket.
Public Tampak di manapun Diwarisi oleh semua subclassnya.Dapat diakses dimanapun.
Protected Tidak dapat diterapkan Diwarisi oleh semua subclassnya.Dapat diakses oleh method-method di class-class yang sepaket.
Private Tidak dapat diterapkan Tidak diwarisi oleh subclassnyaTidak dapat diakses oleh class lain.

 

Modifier Class Interface Method Variabel
Abstract Class dapat berisi method abstract. Class tidak dapat diinstantiasiTidak mempunyai constructor Optional untuk diberikan di interface karena interface secara inheren adalah abstract. Tidak ada badan method yang didefinisikan. Method memerlukan class kongkret yang merupakan subclass yang akan mengimplementasikan method abstract Tidak dapat diterapkan.
Final Class menjadi tidak dapat digunakan untuk menurunkan class yang baru. Tidak dapat diterapkan. Method tidak dapat ditimpa oleh method di subclass-subclassnya Berperilaku sebagai konstanta
Static Tidak dapat diterapkan. Tidak dapat diterapkan. Mendefinisikan method (milik) class. Dengan demikian tidak memerlukan instant object untuk menjalankanya. Method ini tidak dapat menjalankan method yang bukan static serta tidak dapat mengacu variable yang bukan static. Mendefinisikan variable milik class. Dengan demikian, tidak memerlukan instant object untuk mengacunya. Variabel ini dapat digunakan bersama oleh semua instant objek.
synchronized Tidak dapat diterapkan. Tidak dapat diterapkan. Eksekusi dari method adalah secara mutual exclusive diantara semua thread. Hanya satu thread pada satu saat yang dapat menjalankan method Tidak dapat diterapkan pada deklarasi. Diterapkan pada instruksi untuk menjaga haya satu  thread yang mengacu variable pada satu saat.
Native Tidak dapat diterapkan. Tidak dapat diterapkan. Tidak ada badan method yang diperlukan  karena implementasi dilakukan dengan bahas lain. Tidak dapat diterapkan.
transient Tidak dapat diterapkan. Tidak dapat diterapkan. Tidak dapat diterapkan. Variable tidak aka diserialisasi
Volatile Tidak dapat diterapkan. Tidak dapat diterapkan. Tidak dapat diterapkan. Variabel diubah secara asinkron. Kompilator tidak pernah melakukan optimasi

 

  1. Pewarisan ( Inheritance ) menyatakan pewarisan dari suatu class ke class lainnya. Pewarisan dituliskan dengan keyword extends. Java hanya mendukung single inheritance. Dengan pewarisan memungkinkan sub-class mewarisi semua method dan variable dari super-class. Dan memungkinkan sub-class untuk mendefinisikan variable dan mehodnya sendiri.
  2. Polymorphism berarti mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai  polymorphic bila objek-objek itu mempunyai antarmuka-antarmuka identik namun mempunya perilaku-perilaku yang berbeda. Pada bahasa pemrograman fungsional yang lain, untuk melengkapi dua pekerjaan yang berbeda diperlukan dua fungsi terpisah dengan nama yang berbeda. Pada  polymorphism memperbolehkan method memiliki beberapa implementasi yang dipilih berdasarkan tipe objek yang dilewatkan pada pengerjaan method, ini dikenal dengan overloading method.
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: