Java bagi pemula
Bahasa Java
Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun
1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan
menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Kita lebih
menyukai menyebut Java sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman,
karena Java lebih lengkap dibanding sebuah bahasa pemrograman konvensional. Teknologi Java
memiliki tiga komponen penting, yaitu:
• Programming-language specification
• Application-programming interface
• Virtual-machine specification
Bahasa Pemrograman Java
Bahasa Java dapat dikategorikan sebagai sebuah bahasa pemrograman berorientasi objek,
pemrograman terdistribusi dan bahasa pemrograman multithrreaded. Objek Java dispesifikasi dengan
membentuk kelas. Untuk masing-masing kelas Java, kompiler Java memproduksi sebuah file keluaran
arsitektur netral yang akan jalan pada berbagai implementasi dari Java Virtual Machine (JVM).
Awalnya Java sangat digemari oleh komunitas pemrograman internet, karena Java mendukung untuk
applets, dimana program dengan akses sumber daya terbatas yang jalan dalam sebuah web browser.
Java juga menyediakan dukungan level tinggi untuk networking dan objek terdistribusi.
Java juga dianggap sebagai sebuah bahasa yang aman. Tampilan ini pada khususnya penting
menganggap bahwa sebuah program Java boleh mengeksekusi silang sebuah jaringan terdistribusi.
Java API
Java API terdiri dari tiga bagian utama:
• Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi desktop dan applets
dengan bahasa dasar yang mendukung grafis, M/K, keamanan, konektivitas basis data dan jaringan.
• Java Enterprose Edition (EE), sebuah inisiatif API untuk merancang aplikasi server dengan
mendukung untuk basis data.
• Java Macro Edition (ME), sebuah API untuk merancang aplikasi yang jalan pada alat kecil seperti
telepon genggam, komputer genggam dan pager.
Java Virtual Machine
Java Virtual Machine (JVM) adalah sebuah spesifikasi untuk sebuah komputer abstrak. JVM terdiri
dari sebuah kelas pemanggil dan sebuah interpreter Java yang mengeksekusi kode arsitektur netral.
Kelas pemanggil memanggil file .class dari kedua program Java dan Java API untuk dieksekusi oleh
interpreter Java. Interpreter Java mungkin sebuah perangkat lunak interpreter yang menterjemahkan
satu kode byte pada satu waktu, atau mungkin sebuah just-intime (JIT) kompiler yang menurunkan
bytecode arsitektur netral kedalam bahasa mesin untuk host computer.
Atribut
Atribut dari sebuah kelas adalah variabel global yang dimilki sebuah kelas, misalkan pada kelas
sebagai berikut:
class Elemen
NilaiMatKul elmt
Elemen next
Elemen()
{end constructor}
{end class}
maka elmt dan next adalah atribut dari kelas Elemen. Atribut pada sebuah kelas memiliki izin akses
jika kelas digunakan oleh kelas lain, izin akses itu seperti private, public dan protected.
Atribut Private
Izin akses private pada sebuah atribut biasanya digunakan oleh sebuah kelas untuk melindungi atributatributnya agar tidak dapat diakses oleh kelas lain. Sebuah atribut yang dinyatakan sebagai private
hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangakan kelas lainnya tidak
dapat mengakses atribut ini secara langsung, misalkan kelas sebagai berikut:
class Elemen
private NilaiMatKul elmt
private Elemen next
Elemen()
{end constructor}
{end class}
maka yang dapat mengakses elmt dan next hanyalah kelas Elemen sehingga jika sebuah kelas List di
dalamnya mempunyai kode sebagai berikut:
Elemen e <- new Elemen
maka pengaksesan e.next tidak dizinkan pada kelas List. Agar isi dari sebuah atribut private dapat
diakses oleh kelas lain dapat dibuat sebuah metode yang mengembalikan nilai atribut itu, misalnya
sebagai berikut:
public getNext() -> Elemen
-> next
{end getNext}
sehingga kelas lain akan mengakses atribut next pada kelas Elemen dengan kode Elemen n <
e.getNext().
Atribut Public
Izin akses public sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas
lain. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di
luar kelas yang membungkusnya, misalkan pada kelas Elemen sebagai berikut:
class Elemen
public NilaiMatKul elmt
Elemen next
Elemen ()
{end constructor}
{end class}
maka aatribut elmt dan next dapat diakses secara langsung oleh kelas lain, misalkan dengan kode:
Elemen e <- new Elemen()
e.next <- NULL
Jika sebuah atribut tidak ditulis izin aksesnya misalkan hanya ditulis Element next, maka interpreter
Java akan menganggap atribut next mempunyai izin akses public.
Atribut Protected
Izin akses protected sebuah atribut biasanya digunakan oleh sebuah kelas, jika sebuah atribut
diperbolehkan diakses secara langsung oleh kelas lain yang merupakan kelas turunannya (
inheritance). Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung
oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas
turunan dari kelas yang membungkusnya, misalkan pada kelas Elemen sebagai berikut:
class Elemen
protected NilaiMatKul elmt
protected Elemen next
Elemen()
{end constructor}
{end class}
maka atribut elmt dan next dapat diakses secara langsung oleh kelas lain yang merupakan turunan
kelas Elemen. Izin akses protecteddimaksudkan untuk melindungi atribut agar tidak diakses secara
langsung oleh sembarang kelas lain, namun diizinkan diakses secara langsung oleh kelas turunannya.
Inheritance
Inheritanceatau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua
buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan
kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi
turunannya. Sebagai contoh, misalkan ada sebuah kelas Titik yang mempunyai kelas turunan Titik3D:
class Titik
private integer x
private integer y
Titik()
x < 0
y < 0
{end Titik}
public getX() -> integer
-> x
{end getX}
public getY() -> integer
-> y
{end getY}
{end class}
class Titik3D: Titik
private integer z
Titik3D()
z <- 0
{end Titik3D}
public getZ() -> integer
-> z
{end getZ}
{end class}
Keterkaitan antara kelas Titik dan Titik3D adalah kelas Titik3D merupakan kelas turunan dari kelas
Titik. Dalam hal ini kelas Titik disebut dengan kelas dasar atau super classatau base classsedangkan
kelas Titik3D disebut sebagai kelas turunan atau derived classatau subclass.
Pada contoh di atas, ketika kelas Titik3D dibuat objeknya maka objek tersebut dapat menggunakan
metode yang ada pada kelas Titik walau pada kode programnya metode itu tidak dituliskan, misalkan
sebagai berikut:
Titik3D p <- new Titik3D()
integer x <- p.getX()
integer y <- p.getY()
integer z <- p.getZ()
Keuntungan dari pewarisan adalah tidak perlu mengutak atik kode kelas yang membutuhkan tambahan
atribut atau metode saja, karena tinggal membuat kelas turunannya tanpa harus mengubah kode kelas
dasarnya. Kelas dasar akan mewariskan semua atribut dan kodenya kecuali konstruktor dan destruktor
yang memiliki izin akses publicdan protectedke kelas turunannya dengan izin akses yang sama dengan
pada kelas dasar.
Ketika sebuah kelas turunan dibuat objeknya saat eksekusi, maka secara implisit konstruktor kelas
dasar dipanggil terlebih dahulu baru kemudian konstruktor kelas turunan dijalankan. Begitu juga saat
objek dimusnahkan maka secara destruktor kelas turunan akan dijalankan baru kemudian destruktor
kelas dasar dijalankan.
Interface
Interfaceatau antar muka pada bahasa pemrograman Java sangat mirip dengan kelas, tapi tanpa
atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah
interfacedapat diimplementasikan oleh kelas lain. Sebuah kelas dapat mengimplementasikan lebih
dari satu interfacebahwa kelas ini akan mendeklarasikan metode pada interfaceyang dibutuhkan
kelas itu sekaligus mendefiniskan isinya pada kode program kelas itu. Metode pada interfaceyang
diimplementasikan pada suatu kelas harus sama persis dengan yang ada pada interface. Misalnya pada
interfaceterdapat deklarasi void printAnimal(); maka pada kelas yang mengimplementasikan metode
itu harus ditulis sama yaitu:
void printAnimal(){ .....................
}
Sebuah interfacedideklarasikan dengan kode:
interface nama_antarmuka{ metode_1 metode_2
..................... metode_n }
misalnya:
interface Animal{ void printAnimal();
}
Adapun deklarasi kelas yang mengimplementasikan interface sebagai berikut:
class nama_kelas implements interface_1,
interface_2, ..., interface_n{ metode_1 metode_2
...................................... metode_n }
misalnya:
class Mamalia implements Animal{ Mamalia (){ }
void prontAnimal(){ system.out.println("printAnimal dalam kelas
Mamalia"); } } .
Komentar
Posting Komentar