Java adalah
bahasa pemrograman tingkat tinggi yang berorientasi objek dan program
java tersusun dari bagian yang disebut kelas. Kelas terdiri atas
metode-metode yang melakukan pekerjaan dan mengembalikan informasi
setelah melakukan tugasnya. Para pemrogram Java banyak mengambil
keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut
dengan Java Application Programming Interface (API). Kelas-kelas ini
diorganisasikan menjadi sekelompok yang disebut paket (package). Java
API telah menyediakan fungsionalitas yang memadai untuk menciptakan
applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari
dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan
kelas pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian
eksekusi program, tidak ada cara lain. Pada Java program javac untuk
mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File
kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan
file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul
utama sistem Java yang digunakan aplikasi Java dan menjalankan program
bytecode Java.
Beberapa keunggulan java
yaitu java merupakan bahasa yang sederhana. Java dirancang agar mudah
dipelajari dan digunakan secara efektif. Java tidak menyediakan
fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak
pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang
digantikan dikerjakan Java secara otomatis seperti dealokasi memori.
Bagi pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan
bahasa Java namun harus waspada karena mungkin Java mengambil arah
(semantiks) yang berbeda dibanding C++.
Java
merupakan bahasa berorientasi objek (OOP) yaitu cara ampuh dalam
pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program
komputer sebagai kelompok objek yang saling berinteraksi. Deskripsi
ringkas OOP adalah mengorganisasikan program sebagai kumpulan komponen,
disebut objek. Objek-objek ini ada secara independen, mempunyai
aturan-aturan berkomunikasi dengan objek lain dan untuk memerintahkan
objek lain guna meminta informasi tertentu atau meminta objek lain
mengerjakan sesuatu. Kelas bertindak sebagai modul sekaligus tipe.
Sebagai tipe maka pada saat jalan, program menciptakan objek-objek yang
merupakan instan-instan kelas. Kelas dapat mewarisi kelas lain. Java
tidak mengijinkan pewarisan jamak namun menyelesaikan kebutuhan
pewarisan jamak dengan fasilitas antarmuka yang lebih elegan.
Seluruh objek
diprogram harus dideklarasikan lebih dulu sebelum digunakan. Ini
merupakan keunggulan Java yaitu Statically Typed. Pemaksaan ini
memungkinkan kompilator Java menentukan dan melaporkan terjadinya
pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal
untuk mencegah kesalahan yang tidak perlu (seperti mengurangkan variabel
bertipe integer dengan variabel bertipe string). Pencegahan sedini
mungkin diharapkan menghasilkan program yang bersih. Kebaikan lain fitur
ini adalah kode program lebih dapat dioptimasi untuk menghasilkan
program berkinerja tinggi.
Java
menggunakan model pengamanan tiga lapis (three-layer security model)
untuk melindungi sistem dari untrusted Java code. Pertama, bytecode
verifier membaca bytecode sebelum dijalankan dan menjaminbytecode
memenuhi aturan-aturan dasar bahasa Java. Kedua, class loader menangani
pemuatan kelas Java ke runtime interpreter. Ketiga, manajer keamanan
menangani keamanan tingkat aplikasi dengan mengendalikan apakah program
berhak mengakses sumber daya seperti sistem file, port jaringan, proses
eksternal dan sistem window.
Platform
independence adalah kemampuan program bekerja di sistem operasi yang
berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak
bergantung platform. Tipe variabel Java mempunyai ukuran sama di semua
platform sehingga variabel bertipe integer berukuran sama tidak peduli
dimana program java dikompilasi. Begitu telah tercipta file .class
dengan menggunakan kompilator Java di platform manapun, maka file .class
tersebut dapat dijalankan di platform manapun. Jadi “dimanapun dibuat,
dimanapun dapat dijalankan”. Slogan ini biasa diringkas sebagai Write
Once, Run Anywhere (WORA).
Java termasuk
bahasa Multithreading. Thread adalah untuk menyatakan program komputer
melakukan lebih dari satu tugas di satu waktu yang sama. Java
menyediakan kelas untuk menulis program multithreaded, program mempunyai
lebih dari satu thread eksekusi pada saat yang sama sehingga
memungkinkan program menangani beberapa tugas secara konkuren.
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 pemrogram dan mengurangi atau
mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang
memungkinkan alokasi dinamis.
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. Ketika kesalahan yang serius
ditemukan, program Java menciptakan exception. Exception dapat ditangkap
dan dikelola program tanpa resiko membuat sistem menjadi turun.
Program Java
mendukung native method yaitu fungsi ditulis di bahasa lain, biasanya
C/C++. Dukungan native method memungkinkan pemrogram menulis fungsi yang
dapat dieksekusi lebih cepat dibanding fungsi ekivalen di java. Native
method secara dinamis akan di-link ke program java, yaitu diasosiasikan
dengan program saat berjalan.
Selain itu keuntungan menggunakan bahasa pemrograman Java antara lain
memori pada
Java secara otomatis dilengkapi garbage collector yang berfungsi
mendealokasi memori yang tidak diperlukan. Tidak ada lagi upaya yang
dilakukan pemrogram untuk melakukan dispose(). Kita tidak lagi dibebani
urusan korupsi memori. Java menerapkan array sebenarnya, menghilangkan
keperluan aritmatika pointer yang berbahaya dan mudah menjadi salah.
Menghilangkan pewarisan jamak (multiple inheritance) diganti fasilitas
antarmuka. Dan mudah dijalankan diberbagai platform.
Grafical User
Interface (GUI) adalah salah satu kemampuan Java dalam mendukung dan
manajemen antarmuka berbasis grafis. Tampilan grafis yang akan
ditampilkan terhubung dengan program serta tempat penyimpanan data.
Elemen dasar di Java untuk penciptan tampilan berbasis grafis adalah dua
paket yaitu AWT dan Swing. Abstract Windowing Toolkit (AWT), atau
disebut juga “Another Windowing Toolkit”, adalah pustaka windowing
bertujuan umum dan multiplatform serta menyediakan sejumlah kelas untuk
membuat GUI di Java. Dengan AWT, dapat membuat window, menggambar,
manipulasi gambar, dan komponen sepertiButton, Scrollbar, Checkbox,
TextField, dan menu pull-down.
Penggunaan
komponen AWT ditandai dengan adanya instruksi : import java.awt.*; Swing
merupakan perbaikan kelemahan di AWT. Banyak kelas swing menyediakan
komponen alternatif terhadap AWT. Contohnya kelas JButton swing
menyediakan fungsionalitas lebih banyak dibanding kelas Button. Selain
itu komponen swing umumnya diawali dengan huruf “J”, misalnya JButton,
JTextField, JFrame, JLabel, JTextArea, JPanel, dan sebagainya. Teknologi
swing menggunakan dan memperluas gagasan-gagasan AWT. Sementara,
penggunaan komponen Swing ditandai dengan adanya instruksi : import
javax.swing.*;
Beberapa
perbedaan AWT dan Swing, AWT merupakan komponen heavyweight (kelas
berat) sedangkan Swing lightweight (kelas ringan). Swing memiliki lebih
banyak komponen. Fasilitas Swing Look and Feel : Metal, Windows, Motif.
Komponen Swing berdasar model-view, yaitu suatu cara pengembangan
komponen dengan pemisahan penyimpanan dan penanganan data dari
representasi visual data.
0 komentar:
Posting Komentar