Pengenalan JAVA
Tim sun Microsystems (dipimpin oleh James Gosling) bahasa komputer kecil (chipchip embedded) Proyek bernama Green. Pascal (diciptakkan oleh Niklaus Wirth) Bahasa yang portable kode intermediate mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter.
C++ sebagai basis bahasa pemrograman (bukan Pascal) mengembangkan bahasa yang berorientasi objek bukan berorientasi prosedur (kebanyakan sintaks diambil dari C++). Thn 1991, Gosling menamakan bahasa yang dibuatnya Oak Thn 1995 Java Produk pertama proyek Green adalah Star 7 (*7) WWW dan Internet
Bahasa pemrograman java yang telah dirilis adalah : 1. Produk Sun Microsystem : J2SE, J2ME, J2EE 2. Produk Borland : Borland JBuilder 3. Produk Microsoft : Microsoft Visual J/J++
1. Sebuah Bahasa Pemrograman Dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya Dapat dijalankan pada berbagai platform sistem operasi. Bersifat open source. 2. Sebuah Development Environment Compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya.
3. Sebuah Aplikasi Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE). 4. Deployment Environment JRE Terdapat pada paket J2SDK mengandung kelas kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dll. Web Browser
White paper resmi dari SUN, Java memiliki karakteristik berikut : 1. Sederhana (Simple) a) sintaks mirip dengan C++ b) menghilangkan penggunaan pointer yang rumit dan multiple inheritance c) menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi objek (Object Oriented) a) program dapat dibuat secara modular dan dapat dipergunakan kembali. b) memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut. 3. Dapat didistribusi dengan mudah (Distributed) libraries networking yang terintegrasi pada Java. 4. Interpreter Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM).
5. Kuat (Robust) Mempunyai runtime-exception handling untuk membantu mengatasi error pada pemrograman. 6. Aman (Secure) 7. Netral Arsitektur (Architecture Neutral) Program Java merupakan platform independent. 8. Portabel Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang. 9. Kinerja YangTinggi (Performance)
10. Multithreaded Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan. 11. 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.
1. Java Virtual Machine (JVM) JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. 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.
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. class-loader bytecode manajemen keamanan
1. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman. 2. Applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password.
1. Karena C++ ternyata tidak memenuhi janji sebagai pemrograman berorientasi objek. 2. JAVA TIDAK memiliki : Variabel Global Goto Pointer Alokasi Memori
1. Spasi 2. Komentar Komentar baris tunggal Komentar baris banyak Komentar terdokumentasi /** * komentar. */
3. kata kunci identifier khusus yang disimpan oleh bahasa Java untuk mengendalikan bagaimana program didefinisikan. Kata kunci ini digunakan untuk mengenali: Tipe-tipe Pengubah Mekanisme pengaturan aliran program. Sampai dengan Versi 1.0 terdapat 59 kata kunci (seperti terlihat dalam tabel)
4. Identifier Digunakan untuk nama: Class, Method, dan Variabel. Suatu variabel dapat berupa: urutan tertentu huruf (besar atau kecil) angka garis bawah Tanda dolar Tidak boleh diawali oleh angka bersifat case sensitive.
5. literal Besaran konstanta pada Java 6. Variable satuan dasar penyimpanan dalam program Java. Suatu variabel didefinisikan dengan kombinasi Identifier Tipe cakupan
7. Operator
8. Tipe Data Integer
Char Tanda kutip tunggal Boolean
9. Pemisah
1. Jika tipe operand adalah double, maka yang lain juga akan diperlakukan sebagai double pada lingkup operasi tersebut. 2. Jika operand adalah float, maka yang lain juga akan diperlakukan sebagai float. 3. Jika operand adalah long, maka yanglain jugaakan diperlakukan sebagai long.
Contoh : //FIRST PROGRAM IN JAVA //display multiple lines class helloworld { public static void main(string args[ ]){ System.out.println("Welcome to Java\nHello world"); } } Output: Welcome to Java Hello World
Contoh GUI : //FIRST PROGRAM IN JAVA //display multiple lines import javax.swing.joptionpane; //Import class JOptionPane class helloworld { public static void main(string args[ ]) { JOptionPane.showMessageDialog(null, "Welcome to Java\nHello World"); System.exit(0);//Terminate the program } } Output: