Pemrograman Java #01: Mengenal Bahasa Pemrograman Java

Pemrograman Java #01: Mengenal Bahasa Pemrograman Java - Bagi anda yang kini sedang menempuh mata kuliah dengan jurusan Informatika atau hanya sekedar ingin belajar tentang pemrograman maka anda sebaiknya terlebih dahulu mengenal apa itu bahasa pemrograman dan jenis bahasa pemrograman apa saja yang digunakan saat ini.

Salah satu bahasa pemrograman yang digunakan oleh orang-orang saat ini adalah bahasa pemrograman Java yang mana bahasa pemrograman Java merupakan karya Sun Microsystem Inc. Rilis resmi level beta dilakukan pada November 1995. Dua bulan berikutnya Netscape menjadi perusahaan pertama yang memperoleh lisensi bahasa Java dari Sun.

Sebelum kita membahas lebih dalam lagi mengenai bahasa pemrograman Java sebaiknya anda mengetahui beberapa hal penting mengenai Java diantaranya: Evolusi Java, Edisi Java, Fitur Java, Bagian-bagian Java dan Security Java yang akan kita bahas secara satu persatu di bawah ini.

1. Evolusi Java

Berbicara masalah Evolusi atau Perubahan pada Java maka kita akan mendapati bahwa ternyata telah memiliki banyak sekali perubahan yang mana berawal pada tahun 1996, Sun mengeluarkan JSDK (Java Software Development Kit). Kemudian secara berturut-turut sebagai berikut ini:

  • Versi 1.02 yang mendukung konektivitas basis data dan objek-objek tersebar.
  • Versi 1.1 pada tahun 1997 ditambahkan model kejadian (event model) yang handa, Internationalization, dan model komponen JavaBeans.
  • Versi 1.2, dirilis pada tahun 1998 mempunyai banyak peningkatan diantaranya user interface toolkit “Swing” yang memungkinkan pemrogram membuat aplikasi berbasis GUI yang sepenuhnya portable. Sejak ini disebut sebagai Java 2.
  • Versi 1.3 dirilis tahun 2000, dengan banyak peningkatan. Dan versi 1.4 ditambahkan fasilitas asersi untuk dukungan design-by-contrack.
  • Versi 1.5 ditambahkan fitur-fitur baru di level bahasa di antaranya generic (parameterized types), enumeration, dan metadata. Versi ini disebut JDK 5.
  • Versi 1.5 ditambahkan lightweight database system yaitu Derby. Derby merupakan hasil pengembangan dari proyek basis data Apache. Derby mulanya merupakan CloudSpace dari IBM.

Pengembangan Java bukan hanya ditujukan untuk pemrograman applet di web browser menjadi bahasa pemrograman pengembangan aneka ragama aplikasi, mulai dari yang berjalan di handheld devices seperti handphone, PDA (Personal Digital Assitant) sampai skala enterprise di beragam komputer server.

2. Edisi Java

Dengan perkembangan Java yang kini telah menjadi bahasa untuk pengembangan aplikasi skala enterprise berbasis jaringan besar maka Java pun dapat dijalankan di sembarang platform, di beragam lingkungan: internet, consumer, electronic, products, dan computer applications. The Java 2 platform tersedia dalam tiga edisi untuk keperluan berbeda berikut:

a. Standart Edition (J2SE)

Edisi ini mendukung konektivitas basis data, rancangan antarmuka pemakai, masukan/keluaran, dan pemrograman jaringan dan termasuk sebagai paket-paket dasar Java.

b. Enterprise Edition (J2EE)

Edisi ini menyediakan kakas untuk membangun dan menjalankan multifier enterprise applications. J2EE, berisi paket-paket di J2SE ditambah paket-paket untuk mendukung pengembangan Enterprise JavaBeans, Jva Servlets, JavaServer Page, XML, dan kendali transaksi yang fleksibel.

c. Micro Edition (J2ME)

Edisi ini digunakan untuk beragam consumer electronic product, seperti pager, smart card, cell phone, handheld PDA, dan set-top box. J2ME menyediakan bahasa Java yang sama, unggul dalam portabilitas, kemampuan dijalankan di mana pun dan safe network delivery seperti J2SE dan J2EE. J2ME menggunakan sekumpulan paket lebih kecil. J2ME berisi subset paket J2EE ditambah paket spesifik Micro Edition javac.microedition.io. Aplikasi J2ME dapat diskala agar juga dapat bekerja dengan J2SE dan J2EE.

3. Fitur-fitur Java

Sebagai bahasa pemrograman, bahasa java memiliki fitur penting dalam pembuatan berbagai jenis aplikasi. Adapun fitur-fitur Java adalah sebagai berikut:

1. Java Virtual Machine (JVM)

JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.

Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi. class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.

2. Garbage Collection

Banyak bahasa pemrogaman lain yang mengijinkan seorang programmer mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks. Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.

3. Code Security

Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.

a. Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas–kelas yang berasal dari local disk dengan kelas–kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas–kelas yang berasal dari local disk yang dimuat terlebih dahulu.

b. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.

c. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.

4. Bagian-bagian Java

Seperti yang kita ketahui bahwa Java telah begitu banyak perkembangan yang mana dari tahun ke tahun terdapat versi berbeda-beda yang tentunya memiliki banyak peningkatan dibandingkan dengan versi terdahulunya dan salah satu versi Java yang terkenal yakni JDK (Java Development Kit). Adapun bagian Java dari versi ini adalah sebagai berikut:
  • Kompilator (javac)
  • Interpreter program Java (java)
  • Applet viewer (appletviewer)
  • Debugger (jdb)
  • Class file disassembler (javap)
  • Header and stub file generator (javah)
  • Documentation generator (javadoc)
  • Applet demo
  • Kode sumber Java API

5. Security Java

Salah satu keunggulan dari Java ialah bisa dilihat dari segi keamanannya karena telah memperoleh pengalaman aspek keamanan dari Java applet.

Java menggunakan model pengamanan tiga lapis untuk melindungi system dari untrusted Java code.

Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java.

Class loader, menangani pembuatan kelas Java ke runtime interpreter.

Manajer kemanan menangani kemanan tingkat aplikasi dengan mengendalikan apakah sebuah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.

Sumber:
  • Dr. Bambang Hariyanto “esensi-esensi bahasa pemrogaram Java” revisi ketiga.
  • http://informaticunsil.blogspot.com/2012/01/fitur-fitur-dari-java.html