JAVA

Posted: Oktober 8, 2009 in Belajar

PENDAHULUAN

SEJARAH JAVA

Proyek Java dimulai pada tahun 1991, ketika sejumlah insinyur

perusahaan Sun yang dimotori oleh James Gosling mempunyai

keinginan untuk mendesain sebuah bahasa komputer kecil yang dapat

dipergunakan untuk peralatan konsumen seperti kotak tombol saluran TV.

Proyek ini kemudian diberi nama sandi Green.

Keharusan untuk membuat bahasa yang kecil , dan kode yang

ketat mendorong mereka untuk menghidupkan kembali model yang

pernah dicoba oleh bahasa UCSD Pascal, yaitu mendesain sebuah

bahasa yang portable yang menghasilkan kode intermediate. Kode

intermediate ini kemudian dapat digunakan pada banyak komputer yang

interpreternya telah disesuaikan.

Karena orang-orang Sun memiliki latar belakang sebagai pemakai

unix sehingga mereka lebih menggunakan C++ sebagai basis bahasa

pemrograman mereka, maka mereka secara khusus mengembangkan

bahasa yang berorientasi objek bukan berorientasi prosedur. Seperti yang

dikatakan Gosling ”Secara keseluruhan, bahasa hanyalah sarana, bukan

merupakan tujuan akhir”. Dan Gosling memutuskan menyebut bahasanya

dengan nama “Oak” (diambil dari nama pohon yang tumbuh tepat diluar

jendela kantornya di Sun), tetapi kemudian nama Oak diubah menjadi

java, karena nama Oak merupakan nama bahasa komputer yang sudah

ada sebelumnya.

Pada tahun 1994 sebagian besar orang menggunakan mosaic,

browser web yang tidak diperdagangkan yang berasal dari pusat

Supercomputing Universitas Illinois pada tahun 1993.( Mosaic sebagian

ditulis oleh Marc Andreessen dengan bayaran $6.85 per jam, sebagai

mahasiswa yang melakukan studi praktek. Di kemudian hari ia meraih

ketenaran sebagai salah seorang pendiri dan pemimpin teknologi di

netscape)

Browser yang sesungguhnya dibangun oleh Patrick Naughton dan

Jonathan Payne dan berkembang ke dalam browser HotJava yang kita

miliki saat ini. Browser HotJava ditulis dalam Java untuk menunjukkan

kemampuan Java. Tetapi para pembuat juga memiliki ide tentang suatu

kekuatan yang saat ini disebut dengan applet, sehingga mereka membuat

browser yang mampu penerjemahkan kode byte tingkat menengah.

“Teknologi yang Terbukti” ini diperlihatkan pada SunWorld ’95 pada

tanggal 23 mei 1995, yang mengilhami keranjingan terhadap Java terus

berlanjut.

Kriteria “Kertas Putih” Java

Penulis Java telah menulis pengaruh “Kertas Putih” yang

menjelaskan tujuan rancangan dan keunggulannya. Kertas mereka

disusun lewat 11 kriteria berikut :

Sederhana (Simple)

Syntax untuk Java seperti syntax pada C++ tetapi syntax Java tidak

memerlukan header file, pointer arithmatic (atau bahkan pointer syntax),

struktur union, operator overloading, class virtual base, dan yang lainnya.

Jika anda mengenal C++ dengan baik, maka anda dapat berpindah ke

syntax Java dengan mudah tetapi jika tidak, anda pasti tidak berpendapat

bahwa Java sederhana.

Berorientasi Objek (Object Oriented)

Rancangan berorientasi objek merupakan suatu teknik yang

memusatkan rancangan pada data (objek) dan interface. Fasilitas

pemrograman berorientasi objek pada Java pada dasarnya adalah sama

dengan C++. Feature pemrograman berorientasi objek pada Java benarbenar

sebanding dengan C++, perbedaan utama antara Java dengan C++

terletak pada penurunanberganda (multiple inheritance), untuk ini Java

memiliki cara penyelesaian yang lebih baik.

Terdistribusi (Distributed)

Java memiliki library rutin yang luas untuk dirangkai pada protokol

TCP/IP sepetrti HTTP dan FTP dengan mudah. Aplikasi Java dapat

membuka dan mengakses objek untuk segala macam NET lewat URL

sama mudahnya seperti yang biasa dilakukan seorang programmer ketika

mengakses file sistem secara lokal.

Kuat (Robust)

Java dimaksudkan untuk membuat suatu program yang benarbenar

dapat dipercaya dalam berbagai hal. Java banyak menekankan

pada pengecekan awal untuk kemungkinan terjadinya masalah,

pengecekan pada saat run0time dan mengurangi kemungkinan timbulnya

kesalahan (error). Perbedaan utama antara Java dan C++ adalah Java

memiliki sebuah model pointer yang mengurangi kemungkinan penimpaan

(overwriting) pada memory dan kerusakan data (data corrupt).

Aman (Secure)

Java dimaksudkan untuk digunakan pada jaringan terdistribusi.

Sebelum sampai pada bagian tersebut, penekanan terutama ditujukan

pada masalah keamanan. Java memungkinkan penyusunan program

yang bebas virus, sistem yang bebas dari kerusakan.

Netral Arsitektur (Architecture Neutral)

Kompiler membangkitkan sebuah format file dengan objek

arsitektur syaraf, program yang di kompile dapat dijalankan pada banyak

prosesor, disini diberikan sistem run time dari Java. Kompiler Java

melakukannya dengan membangkitkan instruksi-instruksi kode byte yang

tidak dapat dilakukan oleh arsitektur komputer tertentu. Dan yang lebih

baiik Java dirancang untuk mempermudah penterjemahan pada banyak

komputer dengan mudah dan diterjemahkan pada komputer asal pada

saat run-time.

Portabel (Portable)

Tidak seperti pada C dan C++, di Java terdapat ketergantungan

pada saat implementasi (implement dependent). ukuran dari tipe data

primitif ditentukan, sebagaimana kelakuan aritmatik padanya. Librari atau

pustaka merupakan bagian dari sistem yang mendefinisikan interface

yang portabel.

Interpreter

Interpreter Java dapat meng-eksekusi kode byte Java secara

langsung pada komputer-komputer yang memiliki interpreter. Dan karena

proses linking dalam Java merupakan proses yang kenaikannya tahap

demi tahapdan berbobot ringan, maka proses pengembangan dapat

menjadi lebih cepat dan masih dalam penelitian.

Kinerja Yang Tinggi (High Performance)

Meskipun kinerja kode byte yang di interpretasi biasanya lebih dari

memadai, tetapi masih terdapat situasi yang memerlukan kinerja yang

lebih tinggi. Kode byte dapat diterjemahkan (pada saat run-time) de dalam

kode mesin untuk CPU tertentu dimana aplikasi sedang berjalan.

Multithreaded

Multithreading adalah kemampuan sebuah program untuk

melakukan lebih dari satu pekerjaan sekaligus. Keuntunga dari

multithreading adalah sifat respons yang interaktif dan real-time.

Dinamis

Dalam sejumlah hal, Java merupakan bahasa pemrograman yang

lebih dinamis dibandingkan dengan C atau C++. Java dirancang untuk

beradaptasi dengan lingkungan yang terus berkembang. Librari dapat

dengan mudah menambah metode dan variabel contoh yang baru tanpa

banyak mempengaruhi klien. Informasi tipr run-time dalam Java adalah

langsung (straigtforward).

_ EDISI JAVA

Java adalah bahasa yang dapat di jalankan dimanapun dan

disembarang platform apapun, diberagam lingkungan : internet,

intranet, consumer Electronic products dan computer Applications.

The Java 2 platform tersedia dalam 3 edisi untuk keperluan

berbeda. Untuk beragam aplikasi yang dibuat dengan bahasa java,

java dipaketkan dalan edisi2 berikut :

1. Java 2 Standard Edition ( J2SE )

2. Java 2 Enterprise Edition ( J2EE )

3. Java 2 Micro Edition ( J2ME )

Masing – masing edisi berisi java 2 Software Development Kit (

J2SDK ) untuk mengembangkan aplikasi dan java 2 Runtime

Environment ( J2RE ) untuk menjalankan aplikasi.

_ Kelebihan Java dibandingkan dengan C++

o Pembuat program java telah merancang java untuk

menghilangkan pengalokasian dan dealokasi memori secara

manual, karena java memiliki Garbage Collection.

o Diperkenalkannya deklarasi array yang sebenarnya dan

menghilangkan aritmatika pointer. Hal ini yang sering

menyebabkan memori overwrite.

o Di hilangkannya multiple inheritance, mereka menggantinya

dengan interface.

KONSEP OBJEK ORIENTASI PROGRAM

Obyektif :

1. Mengerti maksud inheritance

2. Mengerti dan memahami encapsulation

3. Mengerti dan dapat menjelaskan mengenai polymorphism

4. Dapat membuat program paling sederhana dari java

Pengenalan Java

Apa itu Java ?

Java adalah salah satu bahasa pemrograman berorientasi objek (OOPObject

Oriented Programming). Paradigma OOP menyelesaikan

masalah dengan merepresentasikan masalah ke model objek.

Keutamaan Java disbanding bahasa pemrograman lain:

Cross platform, dengan adanya Java Virtual Machine(JVM)

– Pengembangannya didukung oleh programmer secara luas

Automatic Garbage Collection, membebaskan programmer dari

tugas manajemen memori

Pemrograman Berorientasi Obyek (OOP)

Pemisalan Objek dalam OOP

Objek-objek dalam dunia nyata, mempunyai 2 karakteristik khusus : Status

dan Perilaku. Contohnya, sepeda punya status(jumlah gir, jumlah pedal,

dua buah ban) dan perilaku(mengerem, mempercepat, ubah gir).

Bahasa yang berorientasi pada objek pun mempunyai karakteristik yang

sama dengan objek-objek di dunia nyata. Yaitu status yang dalam bahasa

pemrograman biasanya disimpan sebagai Variabel dan perilaku yang

diimplementasikan sebagai Method.

Karakteristik OOP

1. Enkapsulasi(Pembungkusan)

Enkapsulasi adalah pelindung program dan data yang sedang

diolah. Enkapsulasi mendefinisikan perilaku dan melindungi

program dan data agar tidak diakses secara sembarangan oleh

program lain.

Dalam Java, dasar enkapsulasi adalah class. Anda membuat suatu

class yang menyatakan bahwa variable atau method sebuah class

tidak dapat diakses oleh class lain dengan menjadikan class

tersebut private, atau menjadikan class tersebut protected – yaitu

hanya bisa diakses oleh turunannya, atau menjadikan class

tersebut public – yaitu bisa diakses oleh sembarang class.

2. Inheritansi

Objek-objek yang berada di sekitar kita adalah objek-objek yang

saling terhubung secara hirarkis. Misalnya :

Lingkaran dan Bujur Sangkar adalah turunan dari bentuk 2D dan

Bentuk 2D adalah turunan dari Objek Gambar

Objek Gambar

Bentuk 2D Bentuk 3D

Lingkaran Bujur Sangkar Piramida Bola

Lingkaran dan Bujur Sangkar mewarisi(inherit) sifat-sifat dari bentuk

2D, juga mewarisi sifat-sifat dari objek gambar

Lingkaran dan Bujur Sangkar dapat dikatakan subclass dari bentuk

2D. Bentuk 3D adalah superclass dari Bola dan Piramida, dan

seterusnya.

3. Polimorfisme

Walaupun Lingkaran dan Bujur Sangkat sama-sama turunan dari

Bentuk 2D, tetapi cara menubah ukuran masing-masing berbeda,

untuk lingkaran anda harus merubah besar jari-jarinya, sedang

untuk bujur sangkar anda harus mengubah panjang sisinya.

Dalam Java implementasi, method suatu parent-class dapat diubah oleh

sub-class, hal ini dikenal dengan overriding method. Deklarasi method

sama tetapi implementasi atau definisinya berbeda(Method atau perilaku

yang sama tapi implementasinya/caranya yang berbeda-beda inilah yang

disebut dengan Polimorfisme).

Menulis Program Java

Aturan penulisan program di Java

– Java adalah turunan dari C, sehingga Java memiliki sifat C yaitu

Case sensitive, yaitu membedakan antara huruf besar dan kecil

– Dalam sebuah file program di Java, hanya diijinkan memiliki 1 buah

class yang bersifat public

– Dalam sebuah file program Java, hanya ada satu method

main(method yang pertama kali dibaca oleh interpreter Java)

– Nama sebuah file program Java harus sama dengan nama class

yang memiliki method main() di dalam tubuhnya. Perhatikan bahwa

tulisan nama file dengan nama class (huruf besar maupun kecilnya)

haruslah persis sama. .

Berikut adalah contoh membuat program dengan menggunakan Java.

Pada program akan ditampilkan tulisan “Hello World !“

//Nama File Hello.java

class Hello

{

public static void main(String args[])

{

System.out.println(“Hello World !”);

}

}

Langkah selanjutnya :

1. Simpan dengan nama: Hello.java

2. compile Hello.java : javac Hello.java

3. hasilnya akan menghasilkan : Hello.class

4. jalankan Hello.class: java Hello.class atau java Hello

5. akan keluar hasil :

Hello world!

Programming Tip :

Dalam penulisan bahasa program, disarankan :

1. Huruf depan dari sebuah class atau method menggunakan huruf besar

2. Menulis Komentar pada sebuah class atau method untuk memudahkan

debug(pencarian kesalahan). Serta mempermudah orang lain

membaca program kita. Ingat !!! Dalam dunia nyata, programmer

bekerja secara team, jadi usahakan partner team mengerti apa yang

kita buat dengan memberikan komentar(tentang pembuatan komentar

akan dibahas dibawah)

3. Membuat indentasi(jarak antara induk perintah dan anak perintah).

Identasi sebisa mungkin dibuat standard, semisal pada contoh diatas,

jarak antara tulisan “class Hello” sebagai induk perintah dengan tulisan

“public…..” sebagai anak perintah adalah 5 spasi. Sekali lagi, ini untuk

mempermudah dalam pengertian program.

mohon maaf bila ada yang kurang jangan lupa comment yaa,,trima kasih

Komentar
  1. wahyu mengatakan:

    thx om ^^

  2. rizqialextoramadhan mengatakan:

    oi ki w mau naNya ne contoh dri program Inheritansi ap?

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