Java
pertama kali diluncurkan pada tahun 1995 sebagai bahasa
pemrograman umum (general purpose programming language)
dengan kelebihan dia bisa dijalankan di web browser
sebagai applet. Bahasa
ini awalnya dibuat oleh James Gosling
saat masih bergabung di Sun Microsystems
saat ini merupakan bagian dari Oracle dan
dirilis tahun 1995.
Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun
dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras
bawah yang minimal. Aplikasi-aplikasi berbasis Java umumnya
dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai
[[Mesin virtual Java|Mesin Virtual Java
(JVM)]]. Java merupakan
bahasa pemrograman yang bersifat umum/non-spesifik (general purpose),
dan secara khusus didesain
untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena
fungsionalitasnya yang memungkinkan aplikasi Java mampu berjalan
di beberapa platform sistem
operasi yang berbeda, Java
dikenal pula dengan slogannya, "Write Once, Run Anywhere " yang artinya “ Tulis
Sekali, Jalankan Dimanapun “. Saat ini Java merupakan
bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan
dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi
berbasis web.
Karakteristik Java antara lain :
*
Sederhana (Simple)
Yaitu Bahasa pemrograman Java
menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak
diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple
inheritance. Java juga menggunakan automatic memory allocation dan memory
garbage collection.
*
Berorientasi Objek (Object
Oriented)
Yaitu Java mengunakan pemrograman
berorientasi objek yang membuat program dapat dibuat secara modular dan dapat
dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata
kedalam objek dan melakukan interaksi antar objek-objek tersebut.
*
Terdistribusi (Distributed)
Yaitu Java dibuat untuk membuat
aplikasi terdistribusi secara mudah dengan adanya libraries networking
yang terintegrasi pada Java.
*
Interpreted
Program Java dijalankan
menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini
menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes
dapat dijalankan pada platform yang berbeda-beda.
*
Robust
Java mempuyai reliabilitas yang
tinggi. Compiler pada Java mempunyai
kemampuan mendeteksi error secara
lebih teliti dibandingkan bahasa
pemrograman lain. Java mempunyai runtime-Exception
handling untuk
membantu mengatasi error pada pemrograman.
*
Aman (Secure)
Sebagai bahasa pemrograman untuk
aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan
untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang
menjalankan aplikasi tersebut.
*
Architecture Neutral
Program Java merupakan platform
independent. Program cukup mempunyai satu buah versi yang dapat dijalankan
pada platform yang berbeda dengan Java Virtual Machine.
*
Portable
Source code maupun program Java
dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi
ulang.
*
Performance
Performance pada Java sering
dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan
kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang
menggunakan Just In Time Compilers (JIT).
*
Multithreaded
Java mempunyai kemampuan untuk
membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus
dan simultan.
*
Dinamis
Java didesain untuk dapat
dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan
menambahkan properties ataupun method dapat dilakukan tanpa menggangu program
yang menggunakan class tersebut.
Sebagian fitur Java :
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.
1.
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.
2.
Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan
menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.
3.
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.
Nah,
sekarang kita akan mengetahui kelebihan dan kekurangan java.
Kelebihan
:
Multiplatform
Kelebihan utama dari Java
ialah dapat dijalankan di beberapa platform / sistem
operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di
mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java
dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa
mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa
platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java
dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas
Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft
Windows, Linux, Mac OS dan Sun
Solaris. Penyebanya adalah setiap sistem operasi menggunakan
programnya sendiri-sendiri (yang dapat diunduh dari situs Java)
untuk meninterpretasikan bytecode tersebut.
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan
(kumpulan program program yang disertakan dalam pemrograman Java)
yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun
aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java
yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk
melingkupi seluruh kebutuhan pembangunan aplikasi.
Bergaya C++,
memiliki sintaks seperti bahasa pemrograman C++
sehingga menarik banyak pemrogram C++ untuk pindah ke Java.
Saat ini pengguna Java sangat banyak,
sebagian besar adalah pemrogram C++ yang pindah ke Java.
Universitas-universitas di Amerika
Serikat juga mulai berpindah dengan mengajarkan Java
kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat
berguna juga bagi mereka yang bukan mengambil jurusan komputer.
Pengumpulan sampah
otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para
pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti
halnya dalam bahasa C++ yang dipakai secara luas).
Kekurangan
:
Tulis sekali, jalankan di mana saja -
Masih ada beberapa hal yang tidak kompatibel antara platform
satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang
sampai sekarang tidak berfungsi pada Mac OS X.
Mudah didekompilasi.
Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini
dimungkinkan karena kode jadi Java
merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi,
seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada
Microsoft
.NET Platform. Dengan demikian, algoritma yang digunakan program
akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
Penggunaan memori yang banyak.
Penggunaan memori untuk program berbasis Java jauh lebih besar
daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih
spesifik lagi, Delphi
dan Object Pascal). Biasanya
ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru
(karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka
yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Cukup sampai disini dulu kawan-kawan, J. Eitss tapi masih ada kelanjutannya lhooo :D tunggu ya…
Sumber :
modul2.pdf
Tidak ada komentar:
Posting Komentar