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 aturanaturan 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. Java adalah bahasa pemograman
tingkat tinggi yang berorientasi objek, diedarkan oleh Sun Microsystem1 pada
awal tahun 1996.
Sejarah awal Java berawal di tahun 1991
ketika satu group insinyur-insinyur Sun, yang dipimpin oleh Petrick Naughton
dan James Gosling, ingin mendesain sebuah bahasa pemograman komputer yang
berukuran kecil yang dapat digunakan untuk peralatan elektronika konsumen
sepertu switchboxes TV kabel. Dikarenakan peralatan-peralatan ini menggunakan
konsumsi daya dan memory yang rendah, maka bahasa pemograman tersebut harus
berukuran sangat kecil. Juga karena setiap vendor menggunakan CPUs (Central
Processing Unit) yang berbeda, maka bahasa tersebut harus bersifat
multiplatfrom, tidak terikat hanya pada satu arsitektur (Architecture Neutral).
Proyek ini diberi nama Green Project. Karena harus bersifat Architecture
Neutral, maka Green Project menggunakan Virtual Machine (atau dikenal dengan
Java Virtual Machine) yang berasal dari model implementasi bahasa Pascal di
awal-awal perkembangan PC. Dikarenakan insinyur-insinyur Sun berlatar belakang
Unix2, jadi mereka mendasari bahasa pemograman mereka dengan C++ dari pada
Pascal. Secara khusus mereka membuat bahasa mereka berorientasi obyek (object
oriented), bukan berorientasi prosedur (procedural oriented) seperti model
bahasa Pascal. Bahasa pemograman tersebut dinamakan Oak, kemudian diubah
menjadi Java. Karena pada awalnya ditujuan untuk pemograman device kecil, Java
memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai
hardware. Perkembangannya sempat terhenti karena tidak ada yang tertarik dan
tidak memiliki pasar seperti yang diramalkan. Ketika teknologi internet
berkembang, Java diarahkan untuk menjadi bahasa pemograman internet karena
fitur-fitur Java seperti Architecture Neutral, real time, reliable dan secure
sangat sesuai untuk pengembangan internet. Sebuah perusahaan berasal dari
California yang membuat software dan hardware computer Didirikan tahun 1982
oleh Andeas Bechtolsheim, Vinod Khosla dan Scott Mc Neally. Perusahaan ini
lebih terkenal karena pengembangan computer untuk system operasi UNIX. Sistim
operasi yang dikembangkan oleh Bell Labs pada awal tahun 1970. 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 menjamin
bytecode 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 sebagaiWrite Once, Run
Anywhere (WORA). Beberapa aturan dasar yang perlu diperhatikan sebelum mulai
menulis program Java: Setiap memulai untuk menulis program Java harus
menggunakan keyword class. Penggunaan tanda kurung (seperti { }, ( ), [ ])
harus selalu berpasangan.Penggunaan tanda – tanda kurung tersebut memiliki
peran masing – masing yang akan saudara pelajari nantinya. Java bersifat case
sensitif, artinya setiap huruf besar dan huruf kecil akan dibedakan oleh Java.
Penggunaan tanda ; (titik koma) untuk mengakhiri setiap perintah,
pendeklarasian serta hal – hal lain. Setiap program yang ditulis harus disimpan
dengan nama ......java ( ..... diisi sesuai dengan nama class). Dan setelah
di-compile akan menghasilkan .....class. Contoh: file dkp.java setelah di-compile
akan menghasilkan dkp.class.
Setiap program .java minimal
menghasilkan saru file .class. Java Development Kit tidak menyertakan sebuah
tool untuk menuliskan program Java kita. Oleh karena itu, untuk menuliskan
program Kita harus menggunakan editing tool yang ada seperti Notepad, Textpad,
JCreator dsb. Atau kita dapat menggunakan IDE yang lebih canggih seperti
JBuilder, Eclipse, BlueJ, dsb tergantung pada kebutuhan kita. Untuk yang
menggunakan Notepad terlebih dahulu melakukan setting path pada komputer
saudara karena akan melakukan proses compile dan execute melalui . command
promt. Untuk hal ini tanyakan kepada asisten yang bersangkutan Sedangkan untuk
yang lain hanya perlu melakukan setting pada program editing-nya dan langsung
dapat melakukan compile dan execute hanya dengan icon – icon ataushortcut key
pada program tersebut. Menulis program pertama: Menampilkan tulisan di console
Program : class HelloWorld { public static void main(String [] args) {
System.out.println(―Hello World!!!‖); } } Simpan file dengan nama
HelloWorld.java. Output berupa tulisan yang ditampilkan pada console / command
promt. Memberi input ke dalam program Pemberian input yang paling sederhana dan
gampang di lingkungan Java dengan menggunakan swing GUI Java, JOptionPane.
Program: import javax.swing.JOptionPane; class Input { public static void main
(String args[]) { String s = JOptionPane.showInputDialog ("Nama : ");
System.out.println ("Selamat belajar Java saudara " + s); } } Simpan
file dengan nama Input.java.
Hasil
eksekusinya akan meminta masukan dengan menggunakan kotak dialog, dan kemudian
menampilkan tulisan di konsole. Kedua contoh program diatas akan sangat penting
untuk kelanjutan praktikum ini ke . depannya, silahkan berlatih lebih sering
Pembahasan Program class HelloWorld { class Input { Dengan ini dideklarasikan
kelas baru dengan nama HelloWorld dan Input. Dan tanda { untuk memulai
pengetikan kode program. Method main Setiap program Java harus mengandung method
main dengan format sebagai berikut: public static void main (String args[]) public
menunjukkan ketentuan akses, bahwa semua kelas dapat mengakses data yang ada
dalam ketentuan akses public. static membuat method dapat dipanggil tanpa
menjadi instans dari suatu class. Pada main butuh karena main bukan instans
dari suatu class tapi merupakan yang dipanggil oleh interpreter. void
mengindikasikan bahwa method main tidak mengembalikan nilai apa pun. String
args mendeklarasikan parameter yang diberi nama args, yang merupakan instans
class String. Tanda [] menunjukan tipe array System.out.println(―Hello
World!!!‖); System.out.println berfungsi untuk membuat output ke layar. (―Hello
World!!!‖) menunjukkan bahwa output yang akan ditampilkan adalah kata Hello World!!!
Tanda ; untuk mengakhiri sebuah perintah. import javax.swing.JOptionPane;
import keyword untuk memanggil packet atau Java Library javax.swing.JOptionPane
merupakan Java library yang mengandung method yang ada di kelas JOptionPane
yang akan digunakan nantinya. Tanda ; untuk mengakhiri sebuah perintah. String
s = JOptionPane.showInputDialog ("Nama : "); String s mendeklarasikan
variabel s yang bertipe String. Tanda = berarti memberikan nilai variabel s
sesuai dengan sisi sebelah kanan JOptionPane.showInputDialog ("Nama :
") merupakan method yang ada di library JOptionPane yang berunguna untuk
memasukkan input dan akan mengembalikan nilai bertipe String yang akan disimpan
pada variabel s. Tanda ; untuk mengakhiri sebuah perintah. System.out.println
("Selamat belajar Java saudara " + s); System.out.println berfungsi
untuk membuat output ke layar. Menunjukkan bahwa output yang akan ditampilkan.
Berbeda dengan yang tadi, selain kalimat Selamat belajar Java saudara akan
ditambah lagi dengan nilai yang telah disimpan pada variabel s dengan
menggunakan operator String + (operator penggabungan String). Tanda ; untuk
mengakhiri sebuah perintah. Tanda } untuk menutup pendeklarasian dari method
dan class. Menggunakan Java Library (Java API): Java mempunyai library yang
merupakan kumpulan dari class yang dapat langdsung digunakan, tanpa harus dideklarasi
secara eksplisit terlebih dahulu. Sebelum menggunakannya, terlebih dahulu harus
di-import ke kode program kita dengan menggunakan keyword import.
Contoh: import java.util.*; import javax.swing.JOptionPane;
Tanda * menunjukkan seluruh class yang terkandung di dalamnya. Ada ratusan
class di Java API, untuk lebih detailnya dapat dilihat pada dokumentasi yang
disediakan di situs Java. Atau dapat melihat pada file src.zip yang ada di
folder instalasi Java.
Secara default (tanpa meng-import apa – apa) di kode
program yang kita tulis terlah terintergrasi library java.lang.*. Penggunaan
―static‖ : static memunyau arti bahwa suatu method tidak mempunyai hubungan
dengan objek tertentu yang merupakan instance dari suatu class.
Jadi suatu method dapat dipanggil atau suatu data static
dapat diakses tanpa menghubungkannya dengan suatu objek (tanpa membuat objek)
static juga mempunyai arti bahwa hal yand dirujuknya (method, objek dan reference)
adalah statis, tetap, dan hanya satu itu saja. Hal–hal yang static hanya dapat
mengakses hal-hal yang static juga. Jadi kita tidak dapat memanggil non-static
member dari dalam static member (dalam arti memanggil secara langsung).
Tapi untuk hal kebalikannya dapat dilakukan. Komentar
Komentar merupakan bagian program yang tidak tereksekusi.
Karena itu berapa banyak pun kita membuat komentar pada
program kita tidak akan memperbesar ukuran kode program tersebut.
Komentar berguna untuk menjelaskan program kita agar lebih
mudah dimengerti oleh orang yang akan membaca source code program kita. 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 seperti Button, 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 komponen heavyweight (kelas berat)
dan Swing, sedangkan AWT merupakan Swing lightweight (kelas ringan).
Swing memiliki lebih banyak komponen.
Fasilitas SwingLook 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. Bahasa pemrograman Java
merupakan salah satu bahasa pemrograman yang umum digunakan untuk mengembangkan
aplikasi basis data yang dibuat menggunakan MySQL. Sejarah Java Dimulai pada
tahun 1991 dibentuknya suatu tim yang diberi nama green Tim ini dipimpin oleh
Patrick Naughton dan James Gosling (Sekelompok insinyur Sun ). Awalnya mereka
ingin membuat suatu bahasa komputer yang dapat digunakan oleh TV kabel ( Cable
TV Box) yang memiliki memori kecil dan setiap perusahaan memiliki tipe yang
berbeda. Untuk mengaplikasikan hal tersebut mereka menggunakan hal yang pernah
dicoba oleh bahasa pascal. Sebelumnya Niclaus Wirth telah membuat sebuah bahasa
yang portable yang akan digunakan dalam mesin bayangan selanjutnya ini disebut
sebagai Virtual Mesin namun saat itu belum diumumkan. Akhirnya tim green
mengunakan ide ini akhirnya mereka menciptakan Java Virtual Mesin. Vitual mesin
inilah yang membuat java dapat dijalankan diberbagai platform.
Pada tahun 1992 tim green membuat
produknya yang diberi nama *7 (Star Seven ) Namun produk ini gagal dipasaran.
Setelah itu dibuat produk yang baru. Inilah java, pada awalnya bahasa
pemrograman yang dibuat tersebut diberi nama ―oak ― (Kemungkinan nama ini
diambil dari nama pohon yang ada didepan jendela James Gosling). Namun setelah
diperiksa ternyata nama oak sudah pernah digunakan. Maka lahirlah nama ― Java
―Pada tahun 1993 sampai pertengahan 1994 tim green yang mempunyai nama baru
First person. Inc hanya menghabiskan waktu dengan memperhatikan penjualan dari
produknya. Ternyata tidak satupun orang ditemukan. Akhirnya pada tahun 1994
First Person dibubarkan. Pada tahun itu Web berkembang sangat pesat saat itu
browser yang banyak digunakan adalah Mosaic suatu broser yang gratis. Dalam
suatu wawancara pada pertengahan tahun 94 James Gosling mengatakan ―We could
build a real cool browser. It was one of the few things in the client/serve
mainstream that needed some of the weird things we’d done: architecture
neutral, real-time,reliable, secure—issues that weren’t terribly important in
the workstation world. So we built a browser.‖ Akhirnya dibuatlah suatu browser
oleh Patrick Naughton dan Jonathan Payne. Browser itu diberi nama Hot Java.
Browser ini dibuat dengan menggunakan bahasa java untuk menunjukkan kemampuan
dari java. Yang tidak kalah hebatnya mereka juga membuat teknologi yang disebut
Aplet sehingga browser dapat menjalankan kode program didalam browser. Inilah
bukti dari teknologi itu yang ditunjukkan java pada tanggal 25 mei 1995.
Sejak saat itu browser java memberikan lisensinya kepada
browser lain untuk bisa menjalankan Applet dan pada tahun 1996 diberikan pada
Internet Explorer. Akhirnya pada tahun 1996 dikeluarkan versi pertama dari java
dengan mengeluarkan java 1.02 Pada tahun 1998 dikeluarkan java 1.2 dan java
mulai mengeluarkan slogannya ―Write once, Run anywhre ― Bahasa pemrograman Java
terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun
1991 hingga musim panas 1992.
Proyek tersebut belum menggunakan versi yang dinamakan Oak.
Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling,
beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil
proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang. Pertemuan proyek
berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar
musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java
Oakpertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi
layar sentuh (touch screen), seperti pada PDA sekarang ini.
Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik
ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan
kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat
dari 13 menjadi 70 orang.
Pada rentang waktu ini juga ditetapkan pemakaian Internet
sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal
tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di
kalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai
landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner,
terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama,
Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk
pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti
dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News
pada tanggal 23 Mei 1995. Sayang terjadi perpecahan di antara mereka suatu hari
pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan
utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama
Marc Andreessen, membentuk Netscape. Edisi Java Versi awal Java ditahun 1996
sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini
menyertakan banyak paket standar awal yang terus dikembangkan pada versi
selanjutnya: java.lang: Peruntukan kelas elemen-elemen dasar. java.io:
Peruntukan kelas input dan output, termasuk penggunaan berkas. java.util:
Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas
penanggalan. java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi
dengan komputer lain menggunakan jaringan TCP/IP. java.awt: Kelas dasar untuk
aplikasi antarmuka dengan pengguna (GUI) java.applet: Kelas dasar aplikasi
antar muka untuk diterapkan pada penjelajah web.
Java
adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun,
di beragam lingkngan :
internet, intranets,consumer electronic
products, dan computer applications.The java 2 platform tersedia dalam 3 edisi
untuk keperluan berbeda. Untuk beragam aplikasi yang dibuat dengan bahasa Java,
java dipaketkan dalam edis – edisi berikut : 1. Java 2 Standard Edition ( J2SE
) J2SE atau Java 2 Standard Edition merupakan bahasa pemrograman Java untuk
aplikasi desktop yang merupakan object-oriented programming. Pada J2SE, terdiri
dari dua buah produk yang dikeluarkan untuk membantu dalam membuat aplikasi
tanpa tergantung dari platform yang digunakan, yaitu : Java SE Runtime Environment
(JRE) Java Runtime Environtment (JRE) menyediakan perpustakaan, Java Virtual
Machine (JVM), dan komponen lain untuk menjalankan applet dan aplikasi yang
ditulis dengan bahasa pemrograman Java.
Selain
itu, terdapat dua buah kunci teknologi yang merupakan bagian JRE, yaitu :
Java Plug-in, yang memungkinkan
menjalankan appletdi browser popular dan Java Web Start, yang menyebarkan
aplikasi mandiri melalui jaringan. JRE tidak mengandung utilitas seperti
compiler atau debugger untuk mengembangkan applet dan aplikasi. Java
Development Kit (JDK) Java Development Kit (JDK) merupakan perangkat lunak yang
digunakan untuk manajemen dan membangun berbagai aplikasi Java. JDK merupakan
superset dari JRE, berisikan segala susuatu yang ada di JRE ditambahkancompiler
dan debugger yang diperlukan untuk membangun aplikasi. Dasar-dasar J2SE,
meliputi pengenalan J2SE dan komponen pada J2SE.
Berikut
adalah penjelasannya:
J2SE atau Java 2 Standard Edition
merupakan bahasa pemrograman Java untuk aplikasi desktop yang merupakan object-
oriented programming. Pada J2SE, terdiri dari dua buah produk yang dikeluarkan
untuk membantu dalam membuat aplikasi tanpa tergantung dari platform yang
digunakan, yaitu:
Java
Runtime Environment (JRE) menyediakan perpustakaan, Java Virtual Machine (JVM),
dan komponen lain untuk menjalankan applet dan aplikasi yang ditulis dengan
bahasa pemrograman Java. Selain itu, terdapat dua buah kunci teknologi yang
merupakan bagian dari JRE, yaitu: d Plug-in, yang memungkinkan menjalankan
applet di browser populer dan Java Web Start, yang menyebarkan aplikasi mandiri
melalui jaringan. JRE tidak mengandung utilitas seperti compiler atau debugger
untuk mengembangkan applet Dan aplikasi.
Java 2 Enterprise dition ( J2EE ) J2EE
adalah singkatan dari Java 2 Enterprise Edition, dan sejak versi 5 berubah
menjadi Java EE atau cukup Java Enterprise Edition. Java EE adalah sebuah
spesifikasi, bukan berupa product berwujud nyata. Ada banyak vendor software
atau komunitas opensource membuat software berupa application server yang
mengikuti standard Java EE sehingga disebut Java EE compliant application
server. J2EE (Java 2 Enterprise Edition)adalah kelompok dari beberapa API
(Application Programming Interface) dari Java dan teknologi selain Java. J2EE
dirancang untuk membuat aplikasi yang rumit. J2EE sering dianggap sebagai
middle-ware atau teknologi yang berjalan di server, namun sebenarnya J2EE tidak
hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi yang dapat
digunakan disemua lapisan dari sebuah sistem informasi.
J2EE adalah teknologi yang dikembangkan
(sekarang) oleh Oracle untuk pengembangan aplikasi skala enterprise. J2EE
adalah sub dari bahasa Java. Arti dari aplikasi enterprise adalah aplikasi yang
mempunyai karakteristik. Application server ini memungkinkan kita untuk membuat
aplikasi berskala enterprise dengan lebih mudah karena application server sudah
menyediakan berbagai fasilitas yang siap untuk digunakan sebagai pendukung
aplikasi kita. Full Java EE compliant application server menyediakan berbagai
service seperti web container, messaging, web service, mail, directory service,
database connectivity, distributed transaction, remoting, persistence, dan lain
lain. Contoh application server adalah Glassfish, Oracle AS, JBoss, IBM
Websphere, JRun, JOnAS, dll. Apache
Tomcat adalah salah satu
webserver/webcontainer untuk aplikasi web Java yang cukup terkenal, tapi bukan
termasuk Java EE application server karena tidak menyediakan semua service yang
ada di spesifikasi Java EE. Jika kita membuka website sun.java.com, dan menuju
halaman tentang Java EE, maka kita bisa mendownload salah satu produk
implementasi Java EE yang dibuat di bawah kendali Sun Microsystem, yaitu Sun
Java System Application Server, yang sebenarnya adalah nama lain dari Glassfish
application server. Implementasi J2EE menyediakan kelas dasar dan API dari Java
yang mendukung pengembangan dan rutin standard untuk aplikasi client maupun
server, termasuk aplikasi yang berjalan di web browser. untuk aplikasi berbasis
web, aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas
yang tinggi.
Java 2 Micro Edition ( J2ME ) J2ME
adalah lingkungan pengembangan yang dirancang untuk meletakan perangkat lunak
Java pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika
perangkat lunak berfungsi baik pada sebuah perangkat, maka belum tentu juga
berfungsi baik pada perangkat yang lainnya. J2ME membawa Java ke dunia
informasi, komunikasi, dan perangkat komputasi selain perangkat komputer
desktop yang biasanya lebih kecil dibandingkan perangkat komputer desktop. J2ME
biasa digunakan pada telepon selular, pager, personal digital assistants (PDA)
dan sejenisnya. J2ME adalah bagian dari J2SE, karena itu tidak semua librabry
yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai beberapa
library khusus yang tidak dimiliki J2SE. J2ME yaitu bagian dari J2SE yang
ditujukan untuk implementasi pada perangkat genggam yang tidak mampu mendukung
secara penuh imlementasi menggunakan J2SE dan dirancang untuk dapat menjalankan
program Java pada perangkat-perangkat seperti hand phone, PDA (Personal Digital
Assistant), Palm, PocketPC, Smart-Phone hingga PDA-Phone yang tidak mempunyai
karakteristik yang berbeda dengan komputer biasa misalnya kecilnya jumlah
memory pada perangkat genggam.
Sebenernya pada dasarnya J2ME itu terdiri dari 3 bagian yaitu konfigurasi, profil dan paket-paket opsional, berikut penjelasannya.
Konfigurasi
yaitu bagian yang berisi JVM dan beberapa library kelas lainnya. Ada dua jenis
konfigurasi yaitu CDC (Connected Device Configuration) dan CLDC (Connected
Limited Device Configuration).
Profile yaitu bagian perluasan dari
konfigurasi artinya selain sekumpulan kelas yang ada di konfigurasi, terdapat
juga kelas lain yang lebih spesifik yang didefinisikan di dalam profil. Oleh
karena itu profil akan membantu secara fungsional dengan menyediakan
kelas-kelas yang tidak terdapat di konfigurasi. profile yang paling populer
dari Sun adalah sering disebut MIDP (Mobile Information Device Profile).
Paket-paket opsional yaitu paket
tambahan yang dibutuhkan oleh aplikasi sehingga pada saat proses deployment
paket-paket tersebut perlu didistribusikan sebagai bagian dari aplikasi yang
bersangkutan. Perlu diingat bahwa paket-paket opsional tersebut bukan merupakan
paket yang dibuat oleh perusahaan alat yang digunakan. Masing – masing edisi
berisi Java 2 Software Development Kit (J2SDK) untuk mengembangkan aplikasi dan
Java 2 Runtime Environent ( J2RE ) untuk menjalankan aplikasi. Kelebihan Java
di bandingkan dengan C++ Pembuat program java telah merancang java untuk
menghilangkan pengalokasian dan dealokasi memori secara manual, karena java
memiliki Garbage Collection Diperkenalkannya deklarasi array yang sebenarnya
dan menghilangkan aritmatika pointer. Hal ini yang sering menyebabkan memori
overwrite.
Dihilangkannya
multiple inheritance, mereka menggantinya dengan interface. Kelebihan
Pemrograman Java Java memiliki beberapa kelebihan dibandingkan dengan bahasa
pemrograman lainnya. Adapun kelebihan tersebut di antaranya:
1. Sederhana dan Ampuh Java dirancang
untuk mudah dipelajari, terutama bagi programmer yang telah mengenal C/C++ akan
mudah sekali untuk berpindah ke Java. Pemakai dapat belajar membuat program
dengan Java secara cepat jika telah memahami konsep dasar pemrograman
berorientasi objek. Java member programmer kemampuan untuk menuangkan semua
ide, karena bahasa pemrograman ini bukan merupakan scripting language (bahasa
naskah) yang menghilangkan kemampuan programmer untuk berinovasi, tetapi dengan
cara berorientasi objek yang mudah dan jelas.
1.
Aman Java dirancang sebagai bahasa pemrograman yang handal dan aman.
Aplikasi-aplikasi yang dibangun dengan bahasa Java sangat handal dengan
manajemen memori yang bagus. Aplikasi Java juga dikenal sangat secure, yaitu
kasus-kasus seperti buffer everflow yang umumnya menjadi lubang keamanan
aplikasi-aplikasi berbasis C/C++ tidak terjadi di Java, karena pengaturan
keamanannya yang bagus.
2.
Berorientasi-Objek Java merupakan bahasa pemrograman berorientasi objek dan
bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tida
kompetibel dengan semuanya. Java memiliki keseimbangan, menyediakan mekanisme
peng-class-an sederhana, dengan model antar muka dinamik yang intuitif hanya
jika diperlukan.
3. Kokoh
Kesalahan sering terjadi pada saat kompilasi karena Java merupakan bahasa
pemrograman yang sensitif dalam hal deklarasi dan tipe data. Oleh karena hal
tersebut, Java memiliki batasan agar dapat menemukan kesalahan lebih cepat
18saat mengembangkan program yaitu dengan langsung memeriksa program saat
ditulis, dan sekali lagi ketika program di jalankan. Hal ini akan lebih
menghemat waktu jika dibandingkan dengan keharusan menjalankan program terlebih
dahulu dan memeriksa semua bagian program untuk melihat ketidakcocokan dinamis
selama program berjalan.
4.
Interaktif Java memiliki kemampuan yang memungkinkan program melakukan beberapa
hal pada saat bersamaan, tanpa harus kesulitan menangani proses yang akan
terjadi selanjutnya. Jalinan program-program Java yang mudah digunakan
memungkinkan programmer untuk memikirkan pembuatan perilaku khusus, tanpa harus
mengintegrasikan perilaku tersebut dengan model pemrograman global yang
mengatur perulangan kejadian.
5.
Netral Terhadap Berbagai Arsitektur Java memiliki kemampuan yang memungkinkan
program melakukan beberapa hal pada saat bersamaan, tanpa harus kesulitan
menangani proses yang akan terjadi selanjutnya. Jalinan program-program
digunakan memungkinkan programmer Java yang mudah untuk memikirkan pembuatan perilaku
khusus, tanpa harus mengintegrasikan perilaku tersebut dengan model pemrograman
global yang mengatur perulangan kejadian.
6.
Terinterpretasi dan Berkinerja-Tinggi Java dirancang untuk tetap berkinerja
baik pada CPU yang tidak terlalu kuat. Walaupun Java merupakan bahasa
terinterpretasi, kode-kode Java telah dirancang dengan hati-hati sehingga mudah
diterjemahkan ke dalam bahasa asli suatu mesin untuk menghasilkan kinerja yang
tinggi. Java dilengkapi keajaiban lintas-platform yang luar biasa dengan kompilasi
ke dalam representasi langsung yang disebut kode-byte Java (Java byte-code),
yang dapat diterjemahkan oleh sistem manapun yang memilki program Java
didalamnya. Sebagai sebuah platform, Java terdiri atas dua bagian utama, yakni
: a. Java virtual machine (jvm) b. Java application programming interface (Java
api)
7.
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. Penyebabnya adalah setiap sistem operasi
menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java)
untuk menginterpretasikan bytecode tersebut.
8.
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.
9.
Bergaya C++ Dalam bahasa pemrograman manapun selalu ada fitur komentar. Java
sendiri memiliki sintaks seperti bahasa pemrograman C++, dengan tambahan yang
sangat istimewa yaitu komentar yang nantinya digunakan untuk menciptakan
dokumentasi secara otomatis oleh suatu aplikasi yang disebut javadoc, 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.
10.
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).
Serupa dengan C, java mengalokasikan
operator baru untuk mengalokasikan memori pada heap untuk objek baru.
Kekurangan Pemrograman Java Adapun kekurangan pemrograman Java, yaitu:
1. Tulis sekali,
perbaiki 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.
2. 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.
3. 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.
Tahapan Kompilasi Java Adapun tahapan
kompilasi Java sebagai berikut:
1. Tulis/Ubah
Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas
'.Java'.
2. Kompilasi
Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
3. Muat Pemuat kelas
memuat bytecodes ke memori.
4. Verifikasi
Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
5. Jalankan Penerjemah
menerjemahkan bytecodes ke bahasa mesin dan memilih mana yang tidak bisa di
pakai.
Java Swing merupakan library Java yang
digunakan untuk menciptakan Graphic User Interface (GUI) yang berbasis cross
platform atau OS independent. User interface yang dibangun dengan Java swing
dapat dijalankan pada sistem operasi apa saja yang mendukung Java dengan
tampilan yang relatif sama, bahkandapat menyerupai user interface Windows XP,
Mac OS atau Linux. Sejarah Swing Internet Foundation Classes (IFC) merupakan
library grafik untuk Java yang dikeluarkan pertama kali oleh Netscape
Comminication Corporation pada 16 Desember 1996.
Pada 2 April 1997, Sun Microsystems dan
Netscape Comminication Corporation menggabungkan IFC dengan teknologi lain
untuk membangun Java Foundation Classes. Swing diperkenalkan sebagai mekanime
yang dapat dilihat dan dirasakan tiap -tiap komponen dalam sebuah aplikasi
tanpa membuat perubahan pada substansi dalam pengkodean dari aplikasi.
Perkenalan tersebut didukung dengan pluggabke kook and feel yang membuat
komponen swing dapat digunakan dalam berbagai platform. Pada dasarnya, swing
merupakan library yang terpisah. Namun, sejak Java Standard Edition 1.2
dipublikasikan, swing sudah termasuk ke dalam bagian J2SE. Arsitektur Swing
Swing merupakan platform-independent, Model View Controller framework untuk
Java yang mengikuti model pemrograman tunggal.
Arsitektur dari swing terdiri dari:
1.
Platform Independence Swing dapat digunakan diberbagai platform seperti Windows
OS, Mac OS, dan Linux karena ekspresi Java dan implementasinya hamper sama
untuk berbagai platform.
2.
Extensible Swing merupakan arsitektur terpartisi, yang memungkinkan untuk
penggunaan implementasi berbagai framework interface tertentu. Pengguna dapat
menyediakan kustom implementasi sendiri dari komponen untuk menggantikan
implementasi default. Secara umum, pengguna Swing dapat menambahkan framework
dengan memperluas framework y ang sudah ada dan menyediakan implementasi
alternatif komponen inti. Swing juga merupakan framework berbasis komponen,
dimana komponen Swing adalah komponen Java Beans yang kompatibel dengan
spesifikasi Java Beans Component Architecture
3. Customizable Atas dasar model program
rendering dari framework Swing, kendali atas rincian rendering komponen
dimungkinkan dalam Swing. Representasi visual dari komponen Swing pada umumnya
berupa satu set standar elemen. Pengguna program biasanya menyesuaikan komponen
Swing standar dengan menetapkan beberapa elemen untuk membuat visualisasi
kontrol GUI yang unik.
4.
Configurable Swing bergantung pada mekanisme runtime dan pola komposisi tidak
langsung untuk merespon perubahan pengaturan secara run-time. Contohnya
aplikasi berbasis Swing dapat mengubah tampilan pada saat run-time, dimana
pengguna dapat memberikan tampilan mereka sendiri dan diimplementasikan tanpa
perubahan apapun pada kode program.
5.
Loosely-Coupled and MVC Pustaka Swing memanfaatkan pola model/view/controller(mvc)
desain perangkat lunak yang secara konseptual pasangan data yang dilihat dari
kontrol interface pengguna melalui yang dilihat. Karena hal tersebut, komponen
Swing dikaitkan model dan programmer dapat menggunakan berbagai macam
implementasi atau menyediakan sendiri implementasi tersebut. Penggunaan
framework Swing tidak memerlukan penciptaan model, karena telah tersedia satu
set implementasi yang transparan secara default, yang terkait dengan kelas
Jcomponent di perpustakaan Swing. Komponen yang kompleks mungkin memerlukan
implementasi model disekitar data spesifik aplikasi seperti: tabel dan pohon.
Komponen
Dasar Swing Secara umum, komponen swing terdiri dari lima bagian yang sering
digunakan, yaitu:
1.
Top-level Container Merupakan Toplevel Container container dasar dimana
komponen lainnya diletakkan. ini terdiri dari Frame, Dialog, dan Applet yang
diimplementasikan dalam class JFrame, JDialog, dan JApplet.
2.
Intermediate Container Merupakan komponen perantara untuk peletakkan komponen
lainnya, yaitu class JPanel.
3.
Atomic Container Merupakan komponen yang memiliki fungsi spesifik dan biasanya
user berinteraksi langsung dengan jenis komponen ini. Komponen ini terdiri
dari: JButton, JTextField, dan JTextArea.
4.
Layout Manager Layout Manager berfungsi untuk mengatur posisi dari komponen
yang diletakkan pada container. Terdapat lima macam layout, yaitu: class
BorderLayout, Boxlayout, FlowLayout, GridBagLayout, dan GridLayout.
5.
Event Handling Event Handling berfungsi untuk menangani event yang dilakukan
user, misalnya menekan tombol, mengklik mouse, dan lain sebagainya.
http://erikandfiki.wordpress.com/2013/04/29/sekilas-tentang-java/
http://signal5.wordpress.com/2008/11/29/sekilas-tentang-java/
http://andikafisma.wordpress.com/kelebihan-kelemahan-dan-aplikasi-10-bahasa-pemrograman/
http://riestechindo.wordpress.com/2009/12/15/keunggulan-java/
http://belajartogather.blogspot.com/2013/05/struktur-dasar-pemrograman-java.html
http://materijava.wordpress.com/2009/09/24/struktur-program-java/ http://rodelaide.blogspot.com/2013/04/struktur-kontrol-perulangan-pada-java.html
http://signal5.wordpress.com/2008/11/29/sekilas-tentang-java/
http://andikafisma.wordpress.com/kelebihan-kelemahan-dan-aplikasi-10-bahasa-pemrograman/
http://riestechindo.wordpress.com/2009/12/15/keunggulan-java/
http://belajartogather.blogspot.com/2013/05/struktur-dasar-pemrograman-java.html
http://materijava.wordpress.com/2009/09/24/struktur-program-java/ http://rodelaide.blogspot.com/2013/04/struktur-kontrol-perulangan-pada-java.html
