Selasa, 24 Desember 2013

Sejarah Singkat Java

Sejarah Singkat Java

   Pada tahun 1991, sekelompok insinyur SUN yang dipimpin Patrick Naughtonan James Gosling ingin merancang bahasa komputer untuk perangkat consumer seperti cable Tv box. Karena perangkat itu tidak mempunyai banyak memori, bahasa harus berukuran kecil dan menghasilkan kode yang liat, maka bahasa harus bebas dari arsitektur manapun. Proyek ini diberi nama kode Green.
   Nama JAVA sendiri terinspirasi pada saat orang–orang di proyek Green sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Kebutuhan kecil, liat dan kode netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portable yang menghasilkan kode antara untuk mesin hipotesis.
   Pada tahun 1995, Netscape memutuskan membuat browser yang dilengkapi dengan Java. Setelah itu diikuti IBM, Symantec, Inspire, bahkan Microsoft. Bahasa Java merupakan karya Sun Microsystem Inc. Rilis resmi dilakukan pada Nopember 1995. Maskot Java adalah Duke. Dua bulan berikutnya Netscape menjadi perusahaan pertama yang memperoleh lisensi bahasa Java dari Sun.

Pengenalan Java

   Dalam Java ada 2 jenis program berbeda, yaitu aplikasi dan applet. Keduanya merupakan bagian dari execute, dimana execute merupakan salah satu fase kelima dalam siklus program Java. Aplikasi adalah program yang biasanya disimpan dan di eksekusi dari komputer lokal. Applet adalah program yang biasanya disimpan pada komputer yang jauh,yang dikoneksikan pemakai lewat web browser. Komputer jauh menjalankan web server yang memberi layanan terhadap permintaan web browser.
   Kebanyakan bahasa pemrograman modern berdiri di atas pustaka-pustaka kelas yang telah ada untuk mendukung fungsionalitas bahasanya. Pada bahasa Java, kelompok-kelompok kelas yang berkaitan erat dimasukkan dalam satu paket, bervariasi sesuai edisi Java.
   Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai system operasi dan bersifat open source. 
   Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).
   Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun, di beragam lingkungan: Internet, intranets, consumer electronic products, dan computer applications. Untuk beragam aplikasi yang dibuat dengan bahasa Java, Java dipaketkan dalam edisi-edisi berikut:

• Java 2 Standar Edition (J2SE)
 J2SE menyediakan lingkungan pengembangan yang kaya fitur, stabil, aman, dan cross-platform. Edisi ini mendukung konektivitas basis data, rancangan user interface, masukkan/ keluaran input/output), dan pemrograman jaringan (network programming), dan termasuk sebagai paket-paket dasar bahasa Java.

• Java 2 Enterprise Edition (J2EE)
 J2EE berisi paket-paket J2SE serta paket-paket untuk mendukung pengembangan Enterprise JavaBeans, Java Servlets, JavaServer Pages, XML, dan kendali transaksi yang fleksibel.

• Java 2 Micro Edition (J2ME)
 J2ME adalah untuk beragam consumer electronic product, seperti pager, cell phone, handheld PDA, dll. Java bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tidak kompatibel dengan semuanya. Model objek Java adalah sederhana dan mudah dikembangkan, namun sejalan dengan itu, nilangan dan tipe data sederhana lain dianggap sebagai non-objek berkinerja tinggi.
   
   OOP (object oriented programming) adalah cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer sebagai sekelompok objek yang saling berinteraksi. Objek-objek ini ada secara secara independent yang mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerinthakan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu.

 Bahasa statically typed
   Semua objek dideklarasikan terlebih dahulu sebelum digunakan. Melalui fitur ini kode program lebih dapat dioptmasi untuk menghasilkan program berkinerja tinggi.

 Bahasa dikompilasi
   Sebelum menjalankan program di bahasa Java, program dikompilasi menggunakan Java Compiler. Kompilais akan menghasilkan file “bytecode” yang serupa fungsinya dengan file kode mesin. Program “bytecode” yang dihasilkan dapat di eksekusi di sembarang Java Interpreter. Java Interpreter membaca file “bytecode” dan menterjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang dapat di eksekusi mesin.

 Bahasa yang aman
   Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari Untrusted Java Code.
  1. Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java
  2. Class loader menangani pemuatan kelas Java ke runtime interpreter.
  3. Manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
   Selain itu Java menyediakan beragam teknik pengaman, yaitu:
  1. Bahasa dirancang untuk mempersulit eksekusi kode perusak
  2. Program Java dikompilasi menajdi serangkaian bytecode.
  3. Java mempunyai pengamanan terhadap applet.
 Bahasa independen    terhadap platform
   Platform independence merupakan kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java adalah bahasa yang secara sempurna tidak bergantung platform.

 Bahasa yang didukung garbage collector
   Artinya, program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkanalokasi dinamis.

 Bahasa yang tegar
   Java interpreter memeriksa semua akses sistem yang dilakukan. Program java tidak dapat menyebabkan crash terhadap sistem. Java mempunyai mekanisme exception handling yang ampuh. Exception-handling menyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar.

Karakteristik Java

1. Open Source 
   Java adalah bahasa yang bersifat open source atau free, dengan kata lain semua orang dapat mempelajarinya dengan mudah.

2. Berorientasi Objek (Object Oriented)
   Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut. 

3. Robust
   Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

4. Portable 
   Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

5. Case-sensitive 
   Java bersifat case-sensitive, artinya java membedakan huruf kecil dengan huruf besar atau kesamaan elemen suatu statement.

Struktur Program Java

   Penulisan program Java dapat dilakukan pada semua teks editor yang paling disukai baik itu editor handal semacam eclipse dan netbeans ataupun editor simple seperti editplus, dan crimson. Dalam pembuatan program java yang harus diperhatikan dalam pembuatan program java adalah penulisan huruf besar dan kecil karena java memiliki sifat Case Sensitive. Berikut adalah bentuk umum dari penulisan program Java:

   Pertama dalam program Java minimal terdapat sebuah class, dimana nama dari class tersebut diusahakan sama dengan nama file Java (arti dari class akan dijelaskan pada pertemuan selanjutnya), dan setiap class harus dibuka dengan tanda ‘{‘ dan ditutup dengan tanda ‘}’.
Contoh:
class Hello{
public static void main(String[] args)
{
(tulis code/ program disini)
}
}

Metode main () didefinisikan sebagai public static void, berikut penjelasannya:
 public, berarti metode ini dapat dipanggil dari luar class
 static, menunjukkan metode ini bersifat sama untuk semua class
 void, berarti metode ini tidak mengembalikan nilai.
 Argument args [ ] adalah array objek string argument baris-baris perintah yang dilewatkan ke kelas yang di eksekusi.

   Didalam penulisan program Java kita dapat membuat sebuah komentar, ada dua jenis tipe komentar pada Java, yang pertama menggunakan pasangan simbol /* dan */. Semua tulisan yang berada dalam tanda tersebut akan diperlakukan sebagai komentar. Yang kedua menggunakan awalan