Rangkuman 1 : Mengulas kembali istilah-istilah Java

Kelas dan Object?

Object merupakan segala sesuatu pada dunia nyata yang dapat digambarkan. Kriteria object:

–          State : implementasi berupa field dari kelas (attribut-attribut yang berhubungan dengan object)

–          Behaviour : implementasi menjadi method dari kelas (aktifitas atau kegiatan yang terjadi atau dilakukan pada object)

Kelas adalah rancangan dari sebuah object yang mendefinisikan atribut dan method umum pada semua object dari jenis tertentu. Misalnya sebuah kelas sepeda_budi, sepeda_saya adalah instance dari kelas Sepeda. Pada kelas terdapat informasi mengenai:

  1. Method atau diasumsikan sebagai behavior dari object, misalnya pada kelas sepeda terdapat method ganti_ban atau menukik_gunung. Method ini menjelaskan tentang aktifitas yang dikenakan terhadap object, penamaan method harus sesuai dengan proses yang berlangsung didalamnya. Salah satu method dari kelas adalah main, dimana kelas ini akan dijalankan pertama kali saat kelas dieksekusi
  2. Attribut atau diasumsikan sebagai segala informasi yang berkenaan dengan object, misalnya pada kelas sepeda terdapat attribute merk_sepeda, jenis_sepeda dll.
  3. Modifier atau diasumsikan sebagai role pengaksesan method atau attribute dalam sebuah kelas atau bahkan role akses kelas itu sendiri. Macam-macam modifier tersebut antara lain:
Modifier Keterangan Class Package Subclass World
Public Bisa diakses di kelas bersangkutan, kelas yang berada dalam satu package, kelas turunannya, serta bukan dari ketiganya Y Y Y Y
Protected Hanya dapat diakses dari kelas bersangkutan, kelas yang berada dalam satu package serta kelas turunannya saja Y Y Y N
Default (tidak ditulis) Hanya dapat diakses dari kelas bersangkutan dan kelas yang berada dalam satu package saja Y Y N N
Private Hanya dapat diakses dari kelas yang bersangkutan Y N N N

[Sumber, 12/12/2012]

Deklarasi pemrograman java kurang lebih seperti berikut:

class nama_kelas {

public static void main (String args []) {

//isi program

}

}

Apa itu static?

Static adalah suatu tipe dari method atau variabel.

Terdapat 2 buah tipe dari method, yakni:

  1. Method Instance berhubungan dengan obyek dan menggunakan instance variabel pada object. Tipe method ini adalah default
  2. Method Static tidak menggunakan variabel instance pada segala object yang terdefinisi dalam kelas. Apabila di definisikan sebagai static, maka akan diberikan perintah (secara paksa) pada compiler untuk mencoba mengakses instance variabel apapun.  Anda dapat mengakses static varaibel kecuali konstanta.

[Sumber, 12/17/2012]

Static digunakan dalam 3 konteks:

  1. Variabel
    1. Variabel yang dimiliki dalam kelas dan tidak pada objek (instance)
    2. Static variabel diinisialisasikan sekali, pada saat awal eksekusi. Variabel ini akan diinisialisasi terlebih dahulu inisialisasi instance variabel apapun.
    3. Salinan tunggal dibagikan pada seluruh instances dalam kelas
    4. Static variabel dapat langsung mengakses dengan nama kelas dan tidak membutuhkan object apapun. Syntax : <nama-kelas>.<nama variabel>
    5. Method
      1. Method yang dimiliki kelas dan tidak mengacu pada object (instance)
      2. Static method dapat diakses hanya oleh static data. Tidak dapat diakses dengan data bukan static (instance variabel)
      3. Static method hanya dapat dipanggil oleh method static lainnya, dan tidak dapat dipanggil dari method bukan static
      4. Static method dapat diakses langsung dari nama kelas tanpa menggunakan object. Syntax : <nama_kelas>.<nama_method>
      5. Static method tidak dapat mengimplementasi keyword “this” atau “super”
    6. Block Code

Static block adalah blok pernyataan dalam kelas Java yang akan dieksekusi ketika kelas tersebut dimuat dalam JVM. Static block membantu untuk insialisasi static data members, seperti constructure yang membantu inisialisai member [Sumber, 12/13/2012]

Apa itu void? Tipe method ini tidak mengembalikan nilai kembalian.

Apa maksud parameter String[] args?

The fact that this string array is called args is a standard convention, but not strictly required. You would populate this array at the command line whne you invoke your program [Sumber, 12/17/2012]

The String array args refers to the arguments that the program may require before starting. In many cases you may want the program to take some values as input for processing. this string array is for that purpose. [Sumber, 12/17/2012]

Dimana kesimpulannya adalah String args[] pada main java tersebut adalah bentuk yang sudah ditentukan, dimana dapat isikan dengan menggunakan baris perintah ketika menjalankan program

Kenapa bentuk main() adalah public static void dan String args[]?

Karena telah ditentukan oleh Java language Spesification dalam “Execution – Virtual Machine Startup” yakni :

The method main must be declared public, static, and void. It must accept a single argument that is an array of strings. [Sumber, 12/17/2012]

Sebagai contoh penerapan:

public class Sepeda {

String merk_sepeda, jenis_sepeda;

int nomor_seri;

public static void main(String args[]){

System.out.print(“Ini Sepeda”);

}

}

Selanjutnya, file kelas disimpan sesuai dengan nama kelasnya. Kenapa?

Hubungan nama file dan nama kelas

–          Bila file kode sumber java memiliki sebuah deklarasi kelas public, maka nama file kode sumber java tersebut harus sama dengan nama kelas public [Sumber, 12/13/2012]

Setelah proses kompilasi program maka system mendapatkan bytecode yang berada dalam bentuk file dengan ekstensi class. Sehingga nama file bytecode hasil kompilasi sama dengan nama class yang didefinisikan. [Sumber, 12/13/2012]

Pada sebuah kelas dikenal dengan constructor. Apa kegunaan constructor?

Constructor adalah method atau fungsi yang dieksekusi ketika sebuah kelas diinisialisasi, secara default sebuah kelas java memiliki sebuah constructor tanpa parameter, constructor ini bisa ditulis, bisa tidak. Setiap kelas bisa memiliki lebih dari sebuah konstruktor dengan parameter yang berbeda-beda.[Sumber, 12/14/2012]

Contoh penerapan:

public class Sepeda {

String merk_sepeda, jenis_sepeda;

int nomor_seri;

//penulisan konstruktor disini

public static void main(String args[]){

System.out.print(“Ini Sepeda”);

}

}

Isikan baris konstruktor seperti berikut:

Sepeda(String merk, String jenis, int seri){

//konstruktor dengan parameter attribut

this.merk_sepeda = merk;

this.jenis_sepeda = jenis;

this.nomor_seri = seri;

}

atau

Sepeda(){

//konstruktor tanpa parameter

this.merk_sepeda = “Yamaha”;

this.jenis_sepeda = “Gunung”;

this.nomor_seri = 782537;

}

Kedua konstruktor diatas memiliki perbedaan pada parameternya, dimana konstruktor yang pertama meminta data attribute kepada pengguna saat deklarasi object dengan menggunakan kelas Sepeda sedangkan konstruktor ke dua memiliki data default sehingga setiap object mendapatkan data default tersebut sebelum dilakukan perubahan atasnya.

Dalam sebuah kelas, juga dikenal mengenai:

1. Inheritance?

Pewarisan atau inheritance adalah salah satu konsep terpenting dalam OOP dan mempunyai dampak langsung pada cara merancang dan menulis kelas. Pewarisan adalah proses penciptaan kelas baru dengan mewarisi karakteristik kelas yang telah ada, ditambah dengan karakteristik unik kelas baru tersebut. Pewarisan adalah mekanisme ampuh yang memungkinkan kelas mewarisi fungsionalitas kelas yang telah ada. Untuk menciptakan kelas baru, kita hanya perlu menspesifikasikan cara kelas itu berbeda dari kelas yang telah ada.

Dalam terminology java, kelas yang diwarisi disebut superclass, sedangkan kelas yang mewarisi disebut subclass. Subclass atau anak kelas mewarisi semua metode dan variabel dari superkelas atau kelas induk. Dengan pewarisan, kita dapat dengan mudah mendefinisikan perilaku umum dari item-item yang saling berhubungan. [Sumber, 12/16/2012]

2. Polymorphism?

Polimorfisme atau yang disebut juga dengan aneka ragam adalah kemampuan program untuk mengungkap banyak hal berbeda dengan cara yang sama. Polimorfisme adalah konsep yang sangat handal bagi pengembang perangkat lunak untuk pemisahan secara jelas diantara subsistem yang berbeda. Dengan demikian sebuah sistem akan bisa dimodifikasi secara mudah karena hanya dibutuhkan interface antar kelas. [Sumber, 12/17/2012]

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s