Pengenalan JAVA Farhat, ST., MMSI., MSc 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. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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 Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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++ Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 1. 2. Sebuah Bahasa Pemrograman Dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya Dapat dijalankan pada berbagai platform sistem operasi. Bersifat open source. Sebuah Development Environment Compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 3. 4. Sebuah Aplikasi Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE). 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 Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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). 2. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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) 5. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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. 10. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 Java Virtual Machine (JVM) JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. 1. 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. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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. 2. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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. 3. class-loader bytecode manajemen keamanan Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 1. 2. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman. 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. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 1. 2. Karena C++ ternyata tidak memenuhi janji sebagai pemrograman berorientasi objek. JAVA TIDAK memiliki : Variabel Global Goto Pointer Alokasi Memori Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 1. Spasi 2. Komentar Komentar baris tunggal Komentar baris banyak Komentar terdokumentasi /** * komentar…. */ Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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) 3. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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. 4. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 literal Besaran konstanta pada Java 6. Variable satuan dasar penyimpanan dalam program Java. Suatu variabel didefinisikan dengan kombinasi Identifier Tipe cakupan 5. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 7. Operator Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 8. Tipe Data Integer Char Tanda kutip tunggal Boolean Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 9. Pemisah 1. 2. 3. Jika tipe operand adalah double, maka yang lain juga akan diperlakukan sebagai double pada lingkup operasi tersebut. Jika operand adalah float, maka yang lain juga akan diperlakukan sebagai float. Jika operand adalah long, maka yanglain jugaakan diperlakukan sebagai long. Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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 Farhat, ST., MMSI., MSc Pemrograman Berorientasi Objek 3KA27 & 3KA35 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: