PBO Java: Tugas #1

Nama        : Muhammad Hanif
NIM        : 2012 1037 0311 350
Kelas        : 2H Teknik Informatika

EVOLUSI JAVA

Bahasa pemrograman Java dikembangkan oleh para perancang sistem di Sun Microsystems Inc. diantaranya James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sherridan pada tahun 1991. Butuh waktu selama 18 bulan untuk mengembangkannya. Awalnya bahasa tersebut diberi nama “Oak”, namun karena suatu hal di tahun 1995 nama tersebut diganti menjadi “Java”. Antara implementasi awal dari Oak di musim gugur tahun 1992 dan rilis Java ke publik di musim  semi tahun 1995, banyak orang yang berkontribusi terhadap desain dan perkembangan bahasa tersebut. Bill Joy, Artur van Hoff, Jonathan Payne, Frank Yellin, and Tim Lindholm merupakan kontributor utama yang bertugas  mematangkan prototype dari bahasa tersebut.

Yang menjadi motivasi utama dalam pembuatan bahasa Java adalah bukan karena internet yang memang pada saat itu sedang naik daun, namun dikarenakan kebutuhan platform bahasa yang independen (architectur neutral) yang dapat digunakan untuk menciptakan software yang embedded di berbagai peralatan elektronik seperti microwave oven dan remote control. Yang menjadi masalahnya adalah banyak tipe-tipe CPU  yang berbeda digunakan sebagai pengontrol. Masalah yang terdapat pada bahasa C dan C++ (dan juga bahasa lainnya) ialah bahwa bahasa-bahasa tersebut desain komplilasinya dibuat untuk tujuan tertentu. Meskipun hal tersebut memungkinkan untuk mengkompilasi sebuah program yang dibangun dengan bahasa C++ untuk berbagai tipe CPU, namun untuk melakukannya dibutuhkan compiler C++ khusus untuk tipe CPU tersebut. Masalahnya adalah compiler tersebut mahal dan memakan banyak waktu untuk membuatnya. Di dalam usaha untuk menemukan solusi terhadap problem tersebut, James Gosling dan lainnya memulai proyek pembuatan platform bahasa indepeden yang memungkinkan digunakan untuk menghasilkan kode  yang dapat berjalan diberbagai macam CPU. Dari usaha tersebutlah pada akhirnya bermuara pada penciptaan Java.

EDISI JAVA

Java memiliki tiga edisi yang berbeda. Berikut ini penjelasan singkatnya.

  • Java SE: Java Standart Edition (SE) digunakan untuk mengembangkan dan menyebarkan aplikasi-aplikasi desktop dan server, juga kebutuhan embedded environment. Java menawarkan user interface yang kaya, performa,  portabilitas dan keamanan yang saat ini dibutuhkan. Java SE meliputi kelas yang mendukung pengembangan Java Web Services dan memberikan dasar untuk Java Platform, Enterprise Edition (EE). Terdapat dua produk utama di dalam platform Java SE, yakni:
  1. Java Runtime Environment (JRE) menyediakan pustaka-pustaka, Java Virtual Machine, dan kompnen-komponen lainnya yang digunakan untuk menjalankan applet dan aplikasi yang dibangun dengan menggunakan bahasa pemrograman java. Selain itu, Java Runtime Environment juga memiliki dua teknologi yakni: Java Plug-in yang memungkinkan applet dapat dijalankan melalui browser ; dan Java Web Start yang memungkinkan penyebaran aplikasi-aplikasi standalone melalui jaringan.
  2. Java Development Kit (JDK) merupakan superset dan memuat apapun yang ada di Java Runtime Environment juga menyediakan tool untuk compiler dan debugger yang dibutuhkan untuk pengembangan applet dan apliakasi pada java.
  • Java EE: Java Enterprise Edition (EE) memyediakan Application Programming Interface (API) dan rutime environment mengembangkan dan menjalanakan software-software enterprise, termasuk dalam hal ini adalah jaringan dan web services.
  • Java ME: Java Micro Edition (ME) adalah sekumpulan teknologi dan spesifikasi yang digunakan untuk membanguan platform yang cocok dengan kebutuhan mobile devices.  Java ME juga dapat dikombinasikan untuk membangun Java Runtime Environment yang lengkap secara rinci untuk memenuhi kebutuhan device khusus.

FITUR JAVA

Beberapa fitur yang dimiliki oleh java adalah diantaranya:

  • Simple: Berbagai fitur yang memjadikan java dikenal sebagai bahasa pemrograman yang simple. Mengapa? Karena java adalah bahasa yang mudah untuk dipelajari. Hal tersebut dikarenakan java dikembangkan dari fitur-fitur utama dari bahasa pemrograman lainnya terutama C dan C++.
  • Platform Independent:cJava terkenal dengan “Write Once, Run Every Where”. Java memiliki kemampuan yakni cross-paltform di mana hasil dari proses kompilasi berupa bytecode memungkinkan dapat diterjemahkan/dijalankan di berbagai platform yang telah dilengkapi dengan Java Virtual Machine (JVM). Begitu juga dengan source code java yang dengan mudah dapat dipindah ke platform yang berbeda tanpa perlu mengubahnya.
  • Object Oriented: Sebuah bahasa yang beorientasi objek harus mendukung karakteristik-karakteristik dari Object Oriented Programming. Java adalah termasuk ke dalam bahasa yang sepenuhnya mendukung semua karakteristik yang dibutuhkan dalam Object Oriented Programming.
  • Robust: Java memiliki menyediakan fasilitas automatic memory allocation dan automatic garbage collection. Selain itu, compiler java mempunyai kemampuan mendeteksi error lebih teliti dibanding dengan bahasa pemrograman lainnya. Java juga mempunyai fasilitas Exception-Handling yang berfungsi mengatasi error pada pemrograman.

BAGIAN-BAGIAN JAVA

Contoh program java yang sederhana:

Screenshot from 2013-03-06 13:23:18

Bagian-bagian program diatas:
Baris ke satu dan dua terdapat komentar, yakni

1

Komentar pada kode di atas bukan bagian dari program tersebut, sehingga saat proses kompilasi, compiler akan mengabaikannya.

Baris ke 4 dan 5 terdapat kode, yakni

2

Kode di atas mengindikasikan nama class yakni learnJava. Pada java, semua kode ditempatkan di dalam deklarasi class. Hal tersebut dilakukan dengan menggunakan keyword class. Class pada program di atas menggunakan akses khusus public, yang berarti bahwa class tersebut mempunyai hak akses ke class lainnya dari package yang berbeda. Baris berikutnya terdiri atas kurung kurawal { yang berfungsi sebagai awal blok dari class.

Baris ke 6 dan 7 terdapat kode, yakni

3

Kode di atas mengindikasikan nama suatu method dalam class learnJava yang bertindak sebagai method utama yang merupakan titik awal dari program java. Semua program pada java dimulai dengan method utama kecuali pada apllet.

Baris ke 8 terdapat kode, yakni

4

Kode di atas akan mencetak teks “I Learn Java” pada layar.

Pada dua baris terakhir terdiri atas dua kurung kurawal. Kurung kurawal tersebut berfungsi sebagai penutup method utama dan class.

SECURITY JAVA

Bahasa Java memiliki kemampuan yang built-in yang fungsi memastikan bahwa pelanggaran/penyalahgunaan terhadap keamanan tidak terjadi. Java memberikan multilevel pengaman yakni:

  1. Pada saat proses kompilasi, pointer dan pengalokasian memori ditiadakan dengan cara menghilangkan suatu system breaker yang bisa digunakan untuk mendapatkan akses ke sumber daya sistem. Dengan cara tersebut pengalokasian memory ditangguhkan sampai runtime.
  2. Meskipun compiler Java hanya menghasilkan kode yang sesuai dengan standart, masih ada kemungkinan kode dirusak saat proses  kompilasi dan runtime. Dalam hal ini, java melakukan pengamanan dengan menggunakan bytecode verifier untuk memeriksa bytecode apakah sesuai dengan aturan bahasa java atau tidak. Bytecode verifier memastikan bahwa kode yang ditulis tidak melakukan hal-hal berikut:
  • Memalsukan pointer
  • Melanggar pembatasan hak akses
  • Salah pengaksesan kelas
  • Menggunakan parameter instruksi yang salah pada bytecode
  • Menggunakan konversi data ilegal
  • Pada saat runtime, interpreter Java memastikan bahwa kelas yang dimuat tidak mengakses file sistem kecuali dengan cara yang diijinkan oleh pengguna.

References:
# Internet:

# Ebook:

  • Ebook JENI Bab 4: Dasar-Dasar Pemrograman
  • Ebook The Complete Reference Java written by Herbert Schildt

One thought on “PBO Java: Tugas #1

  1. terimakasihh contohnya..

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s