Studi Informatika

Panduan Pembelajaran Ilmu Teknologi & Komputer

Tuesday, March 27, 2018

Pengenalan Aplikasi Java

Sejarah Java
=> Java = Jawa
=> Java ≠ Indonesia
=> Kelahiran bahasa Java dimulai tahun 1991
=> Proyek penelitian Sun Microsystems yang diberi kode Green
=> Proyek ini bertujuan membangun sebuah sistem yang memungkinkan komputer berperan dalam peralatan rumah tangga
=> Fokus pertama pada TV kabel yang disebut set-top box
=> memesan film, membeli barang dan sebagainya
=> merencanakan untuk membangun sebuah sistem operasi yang dibangun dengan bahasa C++.
=> James Gosling merasa tidak puas dengan bahasa C++.
=> membuat sendiri bahasa pemrograman baru yang diberi nama Oak.
=> diambil dari nama pohon yang terlihat dari jendela kantornya.
=> dibuat berdasarkan pada syntax bahasa C++.
=> Oak lebih sederhana dari C++, lebih stabil dan lebih mendukung network-programming.
u

=> James Gosling merasa tidak puas dengan bahasa C++.
=> membuat sendiri bahasa pemrograman baru yang diberi nama Oak.
=> diambil dari nama pohon yang terlihat dari jendela kantornya.
=> dibuat berdasarkan pada syntax bahasa C++.
=> Oak lebih sederhana dari C++, lebih stabil dan lebih mendukung network-programming.
=> Oak dibuat murni object-oriented.
=> C++ masih mempertahankan kompatibilitas dengan C
=> C++ dapat dikatakan tidak murni object-oriented
=> bahasa Oak dibuat sebagai bahasa yang tidak terikat pada satu platform (cross-platform atau multi-platform).
=> peralatan elektronik rumah tangga dibuat oleh berbagai pabrik dengan berbagai macam prosesor yang dipakai.

=> Tahun 1994, proyek Green diperbesar oleh Sun menjadi proyek FirstPerson.
=> Gagal akibat penolakan pasar terhadap ide TV interaktif.
=> Internet memulai sejarah baru dengan WWW (World Wide Web). 
=> Browser GUI pertama bernama Mosaic.
=> Sun melihat celah lain dalam dunia Web
=> Bahasa Oak yang multi-platform serta ditujukan untuk pemrograman interaktif dan distributed, dirasa sangat cocok untuk dunia Web.
=> Oak kemudian harus diganti karena ada produk lain yang telah mematenkan nama tersebut.
=> Tahun 1995, nama Oak diganti dengan nama Java (ada produk lain yang telah mematenkan nama tersebut).
=> Pemilihan nama ini (yang dikenal oleh para pekerja Sun sebagai nama jenis kopi) sama sekali  tidak didasarkan atas kedekatan mereka dengan Indonesia atau pulau (atau orang) Jawa.
=> Nama Java dipilih mengalahkan nama-nama lainnya, sekedar karena mereka merasa bahwa nama ini sangat bagus (“cool” menurut bahasa anak muda sekarang).
=> Bersamaan dengan lahirnya nama Java ini, Sun juga mengganti nama web-browser mereka menjadi HotJava (semula bernama WebRunner).

=> Sun kemudian mengumumkan bahasa Java sebagai bahasa yang mampu menjalankan Web secara interaktif dan aman.
=> Pertengahan tahun 1995, Netscape mengumumkan akan mengadopsi Java di dalam browser mereka.
=> Kemudian,  Java (pada tahun-tahun itu) secara de-facto menjadi bahasa standar di dunia maya Internet.
=> Perkembangan Java dipermudah lagi dengan tersedianya JDK (Java Development Kit) di situs milik Sun yang dapat di-download gratis
=> Akhir tahun 1995, IBM dan Microsoft memutuskan untuk membeli lisensi Java untuk dipakai dalam teknologi mereka.


 Apa itu bahasa Java? (vs C++)
=> Java adalah bahasa pemrograman yang mempunyai syntax yang (pada dasarnya) sama dengan bahasa C/C++.
=> Java lebih sederhana daripada C++. Beberapa kemampuan C++, seperti multiple inheritance, overload operator, preprocessor serta pointer telah dihilangkan di dalam bahasa Java.
=> Java merupakan bahasa yang murni object oriented
=> C++ masih dapat memakai syntax dari bahasa C, seperti deklarasi function atau variable di luar class. Ini membuat C++ tidak murni object oriented.
=> seluruh struktur program JAVA berada dalam class-class. Tidak ada function atau variable yang dideklarasikan di luar class.

=> Java menghasilkan program yang sangat stabil.
=> Pointer telah dihilangkan di dalam Java
=> Maka, programmer tidak dapat lagi mengalokasikan atau mengakses memori secara manual.
=> Seluruh alokasi memori dilakukan oleh Java melalui reference.
=> Sedangkan seluruh dealokasi memori dilakukan secara otomatis melalui mekanisme yang disebut garbage-collection.
=> Sehingg tidak ada lagi error akses memori ataupun error alokasi/dealokasi memori yang dapat menyebabkan program serta sistem menjadi tidak stabil.
=> Fasilitas coercion yang dalam C/C++ dapat dilakukan secara otomatis, tidak lagi didukung oleh Java.
=> Dalam Java, setiap coercion harus dilakukan secara eksplisit dengan memakai type-casting. Sehingga, ketidakstabilan diketahui secara pasti pada saat perancangan program dan compile-time.

=> Dalam C/C++ dikenal beberapa function yang mempunyai argumen yang bervariasi.
=> Misalnya printf() mengijinkan pemakaian argumen dengan jumlah tidak tetap.
=> Dalam Java, seluruh method (yaitu function yang merupakan bagian dari class) tidak boleh mempunyai argumen yang bervariasi.
=> menghapus kemungkinan terjadinya error pada saat run-time akibat kesalahan pengisian argumen.
=> Java dapat dipakai membangun aplikasi Web dan aplikasi stand-alone yang dijalankan dari komputer lokal.

=> Java adalah bahasa multi-platform.
=> dapat dijalankan oleh bermacam-macam platform dengan sistem operasi yang berbeda-beda.
=> Program yang ditulis dalam bahasa Java akan di-compile menjadi sebuah file .class yang disebut compiled-bytecode.
=> Bytecode dapat dieksekusi oleh JVM (Java Virtual Machine).
=> File .class dapat berupa applet maupun aplikasi lokal.
=> Sepanjang sistem telah diinstall dengan JVM, maka semua program Java (.class) akan dapat dijalankan,  tidak tergantung kepada perbedaan bahasa mesin, assembler ataupun kernel yang dimiliki oleh masing-masing platform.
=> berbeda dengan bahasa lain yang di-compile menjadi suatu program executable (misal .exe. )

=> Bahasa Java mendukung multithreading.
=> Program dapat dibuat untuk dijalankan oleh thread tertentu.
=> Beberapa thread (baik yang menjalankan program Java ataupun program lainnya) dapat dijalankan secara bersama-sama.
=> Java khususnya applet, sangat aman dipakai.
=> Diterapkan pembatasan. Misal, applet tidak boleh membuka, membaca dan menulis ke dalam file di komputer lokal.
=> Applet tidak boleh mengambil dan mengirim data ke server lain, selain ke/dari server tempat ia berasal.
=> Jika applet menampilkan dialog atau membuka window lain, (misalnya untuk meminta data dari user berupa password atau nomor kartu kredit), maka applet akan selalu menampilkan peringatan kepada user berupa logo Java dan identitas.

=> Program Java selalu diverifikasi oleh interpreter.
=> Program Java setelah di-compile akan berbentuk instruksi bytecode (.class).
=> Instruksi bytecode ini yang akan dijalankan oleh interpreter.
=> Pada waktu dijalankan, bytecode akan diverifikasi untuk mengetahui apakah ada byte yang telah diubah atau terkorupsi.
=> Ini dapat mencegah program Java tidak disusupi oleh virus, worm ataupun program lain yang merusak.
     
Java adalah bahasa yang sangat berdaya guna, mudah dipelajari, mudah di-debug, dan mudah dipakai.
=> Menurut Bill Joy (salah seorang pendiri Sun Microsystems) :
   “Java adalah bahasa pemrograman yang kecil, sederhana, aman, object-oriented, dijalankan oleh interpreter (kode program di-optimisasi secara dinamis pada saat run-time), tidak tergantung pada arsitektur (hardware), alokasi data yang tidak terpakai dibersihkan secara otomatis (oleh garbage-collector), mendukung multithreading, serta mempunyai mekanisme penanganan exception yang strongly-type (tipe exception diketahui secara pasti pada saat compile-time). Bahasa ini (cocok) untuk dipakai dalam menulis program yang terdistribusi (pada jaringan Internet misalnya) dan dapat dikembangkan secara dinamis.”
 
 
 Logo dan Maskot Java
=> Logo Java berbentuk secangkir kopi.
=> Merupakan hak milik intelektual dari Sun Microsystems.
=> Maskot Java bernama Duke dalam berbagai gaya.
=> Duke memiliki hidung besar berwarna merah.
=> Maskot Duke ini merupakan hak milik intelektual dari Sun Microsystems.
 

 
 Typical Java environment
=> Memiliki 5 Fase.
=> Edit
=> Programmer menulis program (disimpan di disk)
=> Compile
=> Compiler membuat bytecodes untuk program
=> Loading
=> Class loader menyimpan bytecodes ke memory
=> Verify
=> Verifier mengecek bytecodes tidak bertentangan dengan keamanan
=> Execute
=> Interpreter mentranslasikan bytecodes ke bahasa mesin
 






 Java Virtual Machine (Java VM).
=> Java bytecode dapat dibayangkan sebagai  kode instruksi mesin untuk Java Virtual Machine (Java VM).
=> Java interpreter merupakan implementasi dari Java VM
=> Java interpreter merupakan:
=> Sebuah development tool yang dapat menjalankan aplications
=> Suatu Web browser  yang dapat menjalankan applets
 
 
Java Portability  
=> Kode-kode Java memungkinkan untuk "write once, run anywhere”.
=> Program dapat dikompilasi ke dalam bytecodes di setiap platform yang memiliki Java compiler.
=> bytecodes ini kemudian dapat dijalankan disemua implementasi Java VM.
=> Java portability:
=> Selama komputer memiliki Java VM, program yang ditulis dalam bahasa Java dapat dijalankan pada Windows 2000, Solaris workstation, ataupun iMac
 
  
Tuesday, March 27, 2018 March 27, 2018 - tanpa komentar

No comments:

Post a Comment