Kamis, 13 September 2012

PENDAHULUAN DAN SEJARAH JAVA


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 benar- benar 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 benar- benar 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++
·         Pembuat  program  java  telah  merancang  java  untuk menghilangkan pengalokasian dan dealokasi memori secara manual, karena java memiliki Garbage Collection.
·         Diperkenalkannya deklarasi array yang sebenarnya dan menghilangkan  aritmatika  pointer.  Hal  ini  yang  sering menyebabkan memori overwrite.
·         Di hilangkannya multiple inheritance, mereka menggantinya dengan interface.

2 komentar: