Bahasa Pemrograman Java

2.7 Bahasa Pemrograman Java

Java adalah bahasa pemrograman berorientasi objek (Object Oriented Programming ) pengembangan dari bahasa C++ yang dirancang untuk memberikan kemudahan peningkatan pemanfaatan setiap baris code untuk pengembangan atau pembangunan suatu program atau aplikasi, serta memberikan portabilitas yang tinggi untuk setiap baris code yang ditulis oleh developer untuk dapat dieksekusi pada setiap mesin tanpa memandang latar belakang platform mesin tersebut. Dengan memanfaatkan sebuah mesin virtual JVM (Java Virtual Machine), setiap baris code yang sudah dieksekusi berupa bytecode diinterpretasikan oleh JVM sehingga memungkinkan bytecode hasil kompilasinya dapat dijalankan di berbagai platform tanpa harus menulis ulang setiap baris code.

2.7.1 Class

Class adalah representasi objek-objek yang ada di sekitar kita ke dalam bahasa pemrograman komputer. Di dalam class berisi kumpulan attribute yang mendukung berjalannya setiap fungsi-fungsi yang terdapat di dalam class itu.

Di dalam class ini semua operasi dilakukan atau diimplementasikan. Untuk mengaktifkan semua fungsi-fungsi yang ada di dalam suatu class, maka sebuah class itu harus dideklarasikan pada sebuah method yang memiliki tipe static karena method yang memilki tipe static menginjinkan method tersebut mendapatkan pengalokasian tempat di dalam memory lebih awal dibandingkan dengan method- method lainnya, ketika class tersebut dieksekusi, method yang bertipe static tersebut menjadi mediary bagi method dan attribute lain yang bukan bertipe static untuk dieksekusi atau dikelola. Sebuah class juga memiliki identifier yang memungkinkan class tersebut membatasi ruang lingkup pengaksesan class lain terhadap class itu.

2.7.2 Constructor

Constructor adalah adalah sebuah method yang digunakan sebagai media dalam menciptakan sebuah objek. Karena constructor dapat di overload, maka dengan objek setiap fungsi-fungsi dan attribute yang dimiliki sebuah class dapat diakses atau dikelola berdasarkan parameter setiap constructor yang di-oveload. Overloading constructor adalah kondisi dimana sebuah class memiliki lebih dari satu buah constructor. Jadi penciptaan sebuah objek oleh constructor, diciptakan berdasarkan jumlah parameter yang dimiliki oleh constructor tersebut. Secara default , sebuah class yang tidak dideklarasikan pada sebuah constructor, class tersebut akan menggunakan constructor default-nya (constructor tanpa parameter) class itu sendiri sebagai media bagi class itu untuk menciptakan objek untuk mengelola fungsi-fungsi dan attirbute yang dimiliki oleh class. Berdasarkan penerapannya di dalam code program, constructor seperti halnya method atau fungsi dalam pendeklarasiannya, dideklarasikan dengan menggunakan modifier tetapi penamaan pada constructor harus mengikuti nama class itu sendiri, yang membedakan constructor dengan method lainnya adalah constructor tidak bertipe void dan tidak memiliki pengembalian nilai seperti halnya method-method biasa.

2.7.3 Method

Method adalah fungsi-fungsi yang dimiliki oleh suatu class. Seekor anjiing memiliki fungsi. Anjing dapat menggongong, anjing dapat menggigit, anjing dapat berkelahi, anjing dapat melihat, anjing dapat berjalan, dan berbagai fungsi-fungsi lain yang dimiliki oleh seekor anjing yang dapat dia lakukan. Fungsi-fungsi tersebut di dalam bahasa pemrograman Java mengimplementasikan apa yang dapat dilakukan oleh suatu class dalam menonjolkan berbagai keunggulan-keunggulan atau kelebihan-kelebihan yang dimiliki untuk dilakukan.

2.7.4 Attribute

Attribute/properties adalah semua perengkapan-perlengakapan yang dimiliki oleh sebuah class yang bekerja sama dalam mengimplementasikan setiap fungsi-fungsi yang dimiliki oleh sebuah class.

2.7.5 Object Oriented Programming (OOP)

Objek Oriented Programming (OOP) adalah suatu konsep bahasa pemrograman yang berorientasi objek yang diciptakan untuk mempermudah developer dengan mengikuti model yang sudah ada dalam kehidupan nyata. Berikut adalah empat prinsip umum OOP yang merupakan konsep dasar pemrograman Java.

1. Encapsulation Encapsulation biasanya disebut dengan data hiding. Encapsulation adalah suatu teknik di dalam bahasa pemrograman Java dalam membuat sebuah field di dalam suatu class serta menyediakan akses kepada field tersebut melalui public method. Jika field tersebut adalah field yang bertipe private, maka field tersebut tidak dapat diakses oleh class lain. Dengan demikian memungkinkan class-class yang dibangun dan method yang ciptakan di dalam suatu class dapat di kontrol keamanannya. Pengontrolan keamaan ini biasanya disebut dengan modifier . Di dalam bahasa pemrograman Java terdapat 4 jenis modifier, yaitu public , private, protected dan default (biasanya tidak ditulis).

a. Public Class atau fungsi yang bertipe public, menyatakan bahwa class atau fungsi tersebut dapat diakses pada semua class yang dibentuk, meskipun class tersebut berada pada package yang berbeda.

b. Private Modifier yang bertipe private adalah modifier yang tidak mengizinkan class atau fungsi yang dimiliki oleh class itu diakses oleh class lain meskipun itu class turunannya (subclass).

c. Protected Seperti halnya fungsi atau class yang bertipe public, tetapi protected tidak dapat mengakses class-class maupun fungsi-fungsi yang ada pada package yang berbeda tanpa instansiasi.

d. Default Hak akses yang dimiliki oleh suatu class dan fungsi-fungsinya yang hanya dapat mengakses class-class maupun fungsi-fungsi yang berada di dalam satu package saja, itu berarti class tersebut tdak dapat mengakses class-class serta fungsi-fungsi yang berada ada package yang lain.

2. Inheritance Inheritance adalah suatu konsep pewarisan. Seperti halnya dikehidupan nyata, Java juga mengadopsi konsep pewarisan yang memungkinkan subclass-nya mendapat warisan dari superclass-nya. Semua attribute dan fungsi-fungsi yang dimilliki oleh superclass merupakan milik dari subclass (diwarisi oleh superclass ). Implementasinya ke dalam program dioperasikan dengan menggunakan keyword extends . Class yang akan mengizinkan semua fungsi-fungsi dan attribute yang dimilikinya biasanya disebut dengan class parent, diturunkan kepada class yang akan mendapat warisan setiap fungsi-fungsi dan attribute yang dimiliki oleh class parent (superclass) biasanya disebut dengan class child (subclass).

3. Abstraction Secara umum, abstraction adalah suatu konsep di dalam bahasa pemrograman komputer yang menggambarkan konsep ril fungsi suatu program atau aplikasi yang ditampilkan dalam bentuk abstrak. Untuk mengambar sebuah pohon yang bervariasi berdasarkan fungsinya masing-masing yang mewakili keseluruhan dari pohon yang digambarkan nantinya, maka digambarkanlah suatu gambar abstrak yang akan menerangkan secara jelas bahwa itu adalah merupakan sebuah gambar pohon yang nantinya ketika gambar abstrak itu diimplementasikan, maka gambar abstrak itu dapat jadi bahwa pohon itu adalah pohon kelapa, atau dapat jadi pohon itu adalah pohon pala, atau dapat jadi pohon itu adalah pohon langsat, atau dapat jadi pohon itu adalah pohon cengkeh, dan lain-lain tergantung kebutuhan penggunaan. Dalam implementasinya pada bahasa pemrograman Java, di dalam class abstract tidak membuka perizinan untuk membuat instansiasi seperti halnya class-class biasa. Di dalam class abstrak berisi methods yang dideklarasikan tanpa adanya implementasi dari method tersebut. Untuk membuat sebuah class itu menjadi class abstrak, maka class tersebut harus dideklarasikan sebagai class abstrak (menggunakan keyword abstract). Di dalam class abstract hanya berisi kumpulan method-method abstrak yang tidak memiliki body (belum diimplementasi) yang pengimplementasiannya dilakukan oleh class turunannya (class abstrak sebagai superclass).

4. Polymorphism Polymmorphism adalah konsep implementasi sebuah method pada class parent yang juga diimplementasikan pada class child-nya yang dengan latar belakang method yang memiliki nama yang sama tetapi memiliki parameter yang berbeda. Biasanya polymorphism ini sering disebut sebagai sebuah class yang memiliki banyak bentuk. Dapat juga polymorphism ini disebut sebagai overloading method tetapi bukan pada class yang sama melainkan pada class turunannya.