Java

22
SEJARAH JAVA JAVA (Menurut BILL JOY) JAVA MASKOT JAVA DUKE 1996 Sun mengeluarkan JSDK (Java Software Development Kit) VERSI 1.02 BASIS DATA dan OBJEK-OBJEK TERSEBAR VERSI 1.1 (1997) EVENT MODEL, INTERNATIONALIZATION, dan model komponen JAVABEANS VERSI 1.2 (1998) / JAVA 2 USER INTERFACE TOOLKIT "SWING" utk membuat aplikasi GUI portabel VERSI 1.3 (2000) Banyak peningkatan VERSI 1.4 (2000) Fasilitas ASERSI untuk dukungan DESIGN-BY-CONTRACT VERSI 1.5 / JAVA 5 J2SE - JAVA 2 STANDARD EDITION J2EE - JAVA 2 ENTERPRISE EDITION J2ME - JAVA 2 MICRO EDITION JDK 4 Fitur-fiturnya : 2. Perbaikan thdp FOR LOOP digunakan pada ITERATOR 3. Jumlah argumen dpt beragam. 5. TYPE-SAFE ENUMERATION 6. METADATA 1991, PATRICK NAUGHTON dan JAMES GOSLING. Proyek pertama dinamakan "GREEN" dan bahsa yg diciptakan diberi nama "OAK" Java adalah bahasa pemrograman orientasi objek yang berukuran kecil,sederhana, aman, diinterpretasi atau dioptimasi secara dinamis, ber- bytecode, netral arsitektur, mempunyai garbage- collector, multithreading, mempunyai mekanisme penanganan kekecualian (exception handling), berbasis tipe untuk penulisan program mudah diperluas secara dinamis serta telah diperuntukkan sistem tersebar. karya Sun Microsystem Inc. Rilis resmi level BETA-November 1995. 2 Bulan berikutnya NETSCAPE memperoleh lisensi bahasa JAVA dari SUN. JAVA mrpkn bahasa yang dapat dijalankan di sembarang platform, di berbagai lingkungan: internet, consumer electronic products, dan computer applications GENERICS (PARAMETERIZED TYPES), ENUMERATION, dan METADATA. LIGHTWEIGHT DATABASE SYSTEM yaitu DERBY (BASIS DATA APACHE), sebelumnya mrpkn CLOUDSCAPE dari IBM The Java 2 Platform tersedia dalam tiga edisi untuk keperluan berbeda sebagai berikut: 1.Java 2 Standard Edition (J2SE - berbasis dekstop) 2.Java 2 Enterprise Edition (J2EE - berbasis web) 3.Java 2 Micro Edition (J2ME - berbasis mobile/handphone) Karya fitur, stabil, aman, dan CROSS-PLATFORM. Mendukung BASIS DATA, Rancangan antarmuka pemakai, masukan/keluaran, dan jaringan. KAKAS utk membangun dan menjalankan MULTITIER ENTERPRISE APPLICATIONS. J2EE berisi paket di J2SE ditambah pakey yang mendukung ENTERPRISE JAVABEANS, JAVA SERVLETS, JAVASERVER PAGES, XML dan kendali traksaksi yg fleksibel. Utk CONSUMER ELECTRONIC PRODUCT : pager, smart card, cell phone, handheld PDA dan SET-TOP BOX. J2ME berisi SUBSET paket J2SE ditambah paket spesifik MICRO EDITION JAVAX.MICROEDITION.IO. 1. Generics, cara membuat kelas-kelas TYPE-SAFE, menghilangkan keperluan CAST thdp objek-objek saat mengambil objek dari COLLECTION 4. Boxing/unboxing, konversi otomatis antara tipe primitif dan tipe reference segala macam yang ada saat ini : 1.berbasis konsol tradisional yang berbasis text (text based application) 2.Berbasis windows atau GUI based application segala platform sistem operasi 3.Aplikasi di web browser dengan menggunakan java Applet 4.Aplikasi Web Server dengan menggunakan Java Servlet, JSP(Java server Page) 5. Aplikasi berbasis model komponen java seperti Component di Borland Dhelpi atau Control di Visual Basic, yaitu java Beans 6. Aplikasi Terbesar skala Enterprise dengan menggunakan EJB (Enterprise Java Beans) disertai basis koneksi basis data messaging (JMS-Java Messaging System) mailing (Java Mail), Konectivitas(JCA-Java Conectivity Architecture), dan RMI (Remote Methide Invocation) dan sebagainya 7. Aplikasi handheld dan mobile computing melalui J2ME (Java 2 Micro Edition)

description

all about java

Transcript of Java

JAVASEJARAH JAVA1991, PATRICK NAUGHTON dan JAMES GOSLING. Proyek pertama dinamakan "GREEN" dan bahsa yg diciptakan diberi nama "OAK"JAVA (Menurut BILL JOY)Java adalah bahasa pemrograman orientasi objek yang berukuran kecil,sederhana, aman, diinterpretasi atau dioptimasi secara dinamis, ber- bytecode, netral arsitektur, mempunyai garbage- collector, multithreading, mempunyai mekanisme penanganan kekecualian (exception handling), berbasis tipe untuk penulisan program mudah diperluas secara dinamis serta telah diperuntukkan sistem tersebar.JAVAkarya Sun Microsystem Inc. Rilis resmi level BETA-November 1995. 2 Bulan berikutnya NETSCAPE memperoleh lisensi bahasa JAVA dari SUN. JAVA mrpkn bahasa yang dapat dijalankan di sembarang platform, di berbagai lingkungan: internet, consumer electronic products, dan computer applicationsMASKOT JAVADUKE1996Sun mengeluarkan JSDK (Java Software Development Kit)VERSI 1.02BASIS DATA dan OBJEK-OBJEK TERSEBARVERSI 1.1 (1997)EVENT MODEL, INTERNATIONALIZATION, dan model komponen JAVABEANSVERSI 1.2 (1998) / JAVA 2USER INTERFACE TOOLKIT "SWING" utk membuat aplikasi GUI portabelVERSI 1.3 (2000)Banyak peningkatanVERSI 1.4 (2000)Fasilitas ASERSI untuk dukungan DESIGN-BY-CONTRACTVERSI 1.5 / JAVA 5GENERICS (PARAMETERIZED TYPES), ENUMERATION, dan METADATA. LIGHTWEIGHT DATABASE SYSTEM yaitu DERBY (BASIS DATA APACHE), sebelumnya mrpkn CLOUDSCAPE dari IBMThe Java 2 Platform tersedia dalam tiga edisi untuk keperluan berbeda sebagai berikut:1.Java 2 Standard Edition (J2SE - berbasis dekstop)2.Java 2 Enterprise Edition (J2EE - berbasis web)3.Java 2 Micro Edition (J2ME - berbasis mobile/handphone)

J2SE - JAVA 2 STANDARD EDITIONKarya fitur, stabil, aman, dan CROSS-PLATFORM. Mendukung BASIS DATA, Rancangan antarmuka pemakai, masukan/keluaran, dan jaringan.J2EE - JAVA 2 ENTERPRISE EDITIONKAKAS utk membangun dan menjalankan MULTITIER ENTERPRISE APPLICATIONS. J2EE berisi paket di J2SE ditambah pakey yang mendukung ENTERPRISE JAVABEANS, JAVA SERVLETS, JAVASERVER PAGES, XML dan kendali traksaksi yg fleksibel.J2ME - JAVA 2 MICRO EDITIONUtk CONSUMER ELECTRONIC PRODUCT : pager, smart card, cell phone, handheld PDA dan SET-TOP BOX. J2ME berisi SUBSET paket J2SE ditambah paket spesifik MICRO EDITION JAVAX.MICROEDITION.IO.JDK 4Fitur-fiturnya :1. Generics, cara membuat kelas-kelas TYPE-SAFE, menghilangkan keperluan CAST thdp objek-objek saat mengambil objek dari COLLECTION2. Perbaikan thdp FOR LOOP digunakan pada ITERATOR3. Jumlah argumen dpt beragam.4. Boxing/unboxing, konversi otomatis antara tipe primitif dan tipe reference5. TYPE-SAFE ENUMERATION6. METADATAKEMAMPUAN JAVASeluruh kemampuan yang dimiliki java dapat dikatakan mampu membuat segala macam yang ada saat ini :1.berbasis konsol tradisional yang berbasis text (text based application)2.Berbasis windows atau GUI based application segala platform sistem operasi3.Aplikasi di web browser dengan menggunakan java Applet4.Aplikasi Web Server dengan menggunakan Java Servlet, JSP(Java server Page)5. Aplikasi berbasis model komponen java seperti Component di Borland Dhelpi atau Control di Visual Basic, yaitu java Beans6. Aplikasi Terbesar skala Enterprise dengan menggunakan EJB (Enterprise Java Beans) disertai basis koneksi basis datamessaging (JMS-Java Messaging System) mailing (Java Mail), Konectivitas(JCA-Java Conectivity Architecture),dan RMI (Remote Methide Invocation) dan sebagainya7. Aplikasi handheld dan mobile computing melalui J2ME (Java 2 Micro Edition)

Contoh kemampuan yang dapat disediakan java antara lain :1.pemrograman berorientasi Objek2.Reflection dan Procxy3.Interface dan Inner classes4.Event Listener Model5.Graphic User Interface dengan Swing User Interface Toolkit6.Exception Handling7.Stream input/Output dan Objek serialization8.Multithreading9.Pemrograman Jaringan10.Objek Objek tersebar11Basis Data12.Grafis13.Internationalization14.Native Methode15.Java Applet16.Java Beans17.Java Servlet18Java Server Page19.Enterprise Java Beansdll. Dibanding bahasa C++, JAVA memberi kemudahan antara lain:1. Menghilangkan keperluan DEALOKASI MANUAL. Java dilengkapi GARBAGE COLLECTOR yg bertugas menDEALOKASI MEMORI yg tidk diperlukan2. Java mrpkn ARRAY sebenarnya, menghilangkan keperluan aritmatika POINTER yg bs mengakibatkan kesalahan3. Menghilangkan KENISCAYAAN operasi penugasan (ASSIGNMENT)4. Menghilangkan pewarisan jamak (MULTIPLE INHERITANCE) diganti failitas INTERFACE.FITUR PENTING BAHASA JAVA1. Program di lingkungan web browser, yaitu APPLET2. Program di lingkungan web serverA. Java Server Pages, sebagai web scripting serupa ASP, PHP dan sebagainya. Pemrograman JSP mengakomodasi pemrograman gaya tempelan seperti PHP, gaya tagging seperti Cold Fusion dan orientasi komponen JavaBeans.3. Program Mandiri (STAND ALONE APPLICATION), GENERAL PURPOSE LANGUAGE4. Bahasa skala enterpriseUntuk mengembangkan komponen yaitu EJB (Enterprises JavaBeans) yang berjalan diapikasi server.[6] EJB mendukung Component-based softeware engineering.

JAVASCRIPT1. BUKAN mrpkn program JAVA, namun SINTAKS dan SEMNTIKnya seperti BAHASA JAVA2. TIDAK termasuk teknologi JAVA3. Karya NETSCAPE, awalnya bernama LIVESCRIPT4. TIDAK termasuk teknologi JAVA SUN MICROSYSTEMSFitur Fitur Unggulan Java 1. Bahasa yang sederhana2. Bahasa orientasi objek3. Bahasa yang statically typed4. Bahasa yang di kompilasi5. Bahasa yang kecil dan sederhana6. Bahasa yang aman7. Bahasa yang independen terhadap flatform BAHASA SEDERHANAJava TIDAK MENDUKUNG fitur fitur rumit seperti dibawah ini :1.Explicit pointer manipulation2.Implicit type casting3.Structure and unions4.Operator overloading5.Templates6.Header file7.Multiple inheritence

BAHASA BERORIENTASI OBJEKJAVA memberi kebebasan bagi perancang java itu sendiri dan penyeimbang antara Idealis OOP murni yang memandang semua harus objek dan penerapan model pragmatis dengan Idealis "stay out my way" Model objek di java sederhana dan mudah untuk diperluas, sementara tipe data sederhana seperti interger, float dan char tetap ada untuk mengejar kinerja tinggi tipe data primitif yang langsung didukung perangkat keras.Orientasi Objek adalah cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada pemrograman Orientasi Objek, program merupakan sekelompok Objek yang saling berinteraksi.BAHASA YANG STATICALLY TYPEDSeluruh objek didalan program harus didefinisikan dulu sebelum dapat digunakan. Pemaksaan ini memungkinkan kompilator java menemukan dan melaporkan terjadinya pertentangan type sehingga menjadi pencegahan kesalahan awal yang tidak perlu(seperti mengurangkan varibel bertype integere dengan variable bertype string)

BAHASA YANG DIKOMPILASISebelum menjalankan program di bahasa java. Program dikompilasi menggunakan java compiler. kompiler akan menghasilkan bytecode yang serupa fungsinya dengan file code mesin.bytecode yang telah dihasilkan dapat dieksekusi di sembarang platform yang memiliki Java Interpreter. Java Interpreter membaca bytecode dan menterjemahkan perintah bytecode menjadi perintah bahasa mesin yang dapat dieksekusi mesin.

BAHASA YANG AMANBahasa java (implementasinya) telah memperoleh pengalaman aspek keamanan dari APPLET JAVA, cara kerja applet sebagai berikut :JAVA menggunakan model pengamanan tiga lapis (three-layer security) untuk melindungi system dari untrusted java code :1.Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan aturan pemrograman bahasa java2.Kedua, class loader menangani pemuatan kelas java ke Runtime Interpreter3.Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti system file, port, jaringanproses external dan windowing.

BAHASA INDEPENDENT THDP FLATFORMPlatform independence adalah kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak bergantung pada platform.

Tipe variabel Java mempunyai ukuran yang sama di semua platform sehingga variabel bertipe integer (int, long) berukuran sama tidak peduli dimana program Java dikompilasi. Juga terhadap penggunaan Java applet di web adalah sama sekali tidak memerlukan perubahan sedikit pun terhadap file .class yang dihasilkan agar dapat dieksekusi di platform manapun. Begitu telah tercipta file .class dengan menggunakan kompilator Java di platform manapun, maka file .class tersebut juga dapat dijalankan di platform manapun. Jadi dimanapun dibikin, dimanapun dapat dijalankan.

BAHASA MULTITHREADINGThread adalah untuk menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kakas untuk menulis program multithread, program mempunyai lebih dari satu thread eksekusi pada saat yang sama sehingga memungkinkan program menangani beberapa tugas secara konkruen. Semua aplikasi pasti sedikitnya mempunyai satu thread yang merepresentasikan jalur utama eskekusi.

BAHASA YANG DIDUKUNG GARBAGE COLLECTORProgram Java melakukan garbage collection yang berarti pemrogram tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkan kesalahan alokasi dinamis.

BAHASA YANG TANGGUHJava interpreter memeriksa semua akses sistem yang dilakukan. Program Java tidak dapat menyebabkan crash terhadap sistem.

Java mempunyai mekanisme execption-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 menjadi lebih tegar. Ketika kesalahan yang serius ditemukan, program Java menciptakan execption. Exception dapat ditangkap dan dikelola program tanpa resiko membuat sistem menjadi down.

BAHASA YANG MAMPU DIPERLUASProgram 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 jalan.

Bahasa mempunyai banyak fitur modern yang ampuh untuk pengelolaan sistem kompleks. Namun perlu diingat bahwa bahasa Java tetap hanya bahasa pemrograman sekedar kakas. Seluruh kakas pengembangan tetap memerlukan pengembang (pemrogram) yang mampu menggunakannya.

JAVA DEVELOPMENT KIT (JDK)Java Development Kit (JDK) berisi sekumppulan kakas baris perintah ( command-line tool ) untuk menciptakan program Java.

Berikut adalah daftar komponen utama Java Development Kit (JDK) :

1. Komppilator (javac)2. Interpreter program java (java)3. Applet viewer (appletviewer)4. Debugger (jdb)5. Class file disassembler (javap)6. Header and stub file generator (javah)7. Documentation generator (javadoc)8. Applet demo9. Kode sumber Java API KOMPILATORProgram javac untuk mengkompilasi file kode sumber java menjadi kelas bytecode. File kode sumber mempunyai ekstensi .java. Kompilator javac menghasilkan bytecode kelas dengan ekstensi .class. Kompilator menciptakan satu file .class untuk tiap kelas yang di definisakan di file sumber. Dengan demikian, dimungkinkan satu file kode sumber Java dikompilasi menghasilkan banyak file kelas .class.

Sintak untuk menggunakan kompilator sebagai berikut :

Javac Options ProgramName

INTERPRETERInterpreter merupakan modul utama sustem Java yang digunakan aplikasi java.

Interpreter untuk menjalankan program bytecode Java. Interpreter bertindak sebagai kakas baris perintah untuk menjalankan baris java non grafis. Program grafis memerlukan tampilan yang di dukung browser dan system operasi

Sintaks untuk menjalankan interpreter sebagai berikut

Java Options ClassName Arguments

Argument ClassName menspesifikan nama kelas yang ingin di eksekusi. Ketika interpreter mengeksekusi satu class, yang di lakukanya adalah mengeksekusi metode main() di kelas itu. Interpreter keluar ketika metode main() dan thread-thread yang di ciptakan telah berakhir di eksekusi.Argumen Options menspesifikasikan options cara interpreter mengeksekusi program java

APPLET VIEWERAdalah KAKAS untuk pengujian JAVA APPLET secara minimalBaris Perintah untuk menjalankan APPLET Viewer adalah :applviewer Options URLArgumen Options menspesifikasikan cara menjalankan Java Aplet. Hanya 1 option yang didukung Applet Viewer adalah : -debug yang menyatakan menjalankan applet viewer di Java Debugger yng memungkinkan melakukan debugging thdp Java applet.Argumen URL menspesifikasikan doumen URL berisi halaman HTML dengan EMBEDDED JAVA APPLET.JAVA DEBUGGER (jdb)Adalah Utilitas baris perintah untuk melakukan debugging aplikasi.Sintaks untuk menjalankan Java debugger sbb.:jdb OptionsArgumen Options menspesifikasikan cara menjalankan java debuggerJAVA CLASS FILE DISASSEMBLER (javap)Java class disassembler (javap) digunakan untuk melakukanpenguraian (disassemble) terhadap file .class. Keluaran default aktivitasdisassemble adalah berisi daftar dari publik (public class) dan metode publik(public methode) di kelas. Class file disassembler berguna ketika kode sumberdari kelas tidak dimiliki. Dengan demikian data dan metode publik dapatdiketahui sehingga kelas tersebut dapat digunakan. Sintaks untuk disassembleradalah sebagai berikut :javap Options ClassNames- Argumen Options menspesifikasikan cara yang digunakan untuk disassemble.- Argumen ClassNames menspesifikasikan nama satu kelas atau lebih yang akan didisassemble.JAVA HEADER and STUB FILE GENERATOR (javah)Java header and stub file generator (javah) adalah alat yangdigunakan untuk menghasilkan C header dan file kode sumber untukimplementasi metodemetodeJava dalam bahasa C. Filefileyang dihasilkandapat digunakan untuk mengakses variabel anggota objek yang ditulis denganbahasa C. Java header and stub file generator menghasilkan struktur C denganlayout kelas Java. Sintaks untuk menggunakan Java header and stub filegenerator adalah sebagai berikut :javah Options ClassNames- Argumen options menspesifikasikan cara filefilesumber dihasilkan. ArgumennamaKelas adalah nama kelas yang perlu dihasilkan filefilesumber bahasa C.JAVA DOCUMENTATION GENERATOR (javadoc)Java documentation generator (javadoc) adalah alat yang digunakanuntuk menghasilkan dokumentasi API secara langsung dari kode sumber Java.Java documentation generator melakukan parsing file sumber Java danmenghasilkan halaman html berdasarkan deklarasi dan komentar. Sintaks untukmenggunakan Java documentation generator adalah sebagai berikut :javadoc Options FileName- Argumen Options menspesifikasikan cara file-file sumber dihasilkan- Argumen FileName menghasilkan paket atau file kode DEMOJDK juga berisi contoh Proggram Java, semuanya disertai kode sumberKODE SUMBER JAVA APIJDK disertai kode sumber lengkap utk semua kelas yang membentuk JAVA API. Kode sumber API secara otomatis dipasang di hard drive saat melakukan dekompres JDK. Kode sumber API terdapat di file bernama scr.zip berada di direktori java yang diciptakan di hardirive selama instalasi Java.public class HelloWorldToy { public static void main (String args []) { System.out.println (Hello World); } }

PROGRAMProgram "HELLO WORLD"public class Hello {public static void main(String[] args){System.out.println("Hello World!");}}

PENJELASAN PROGRAM DI ATASKata kunci public disebut access modifier yang mengendalikan ketampakkan terhadap bagian-bagian program yang lain dalam menggunakan kode ini.Kata kunci class, segala sesuatu di program Java adalah berada di dalam suatu kelas. Berkenaan dengan contoh program sederhana diatas, nama class-nya adalah Hello.Setelah kata kunci class adalah nama kelasnya. Nama kelas harus dimulai dengan huruf, setelah itu boleh kombinasi huruf dan angka. Dalam penamaan kelas tidak boleh menggunakan kata yang dicadangkan (reserved word yang kebanyakan merupakan kata kunci). Konvensi untuk penamaan kelas adalah kata benda dimulai dengan huruf capital (besar) di awal kata yang berarti.Class tersebut memiliki fungsi main() dengan parameter variabel args dengan tipe array dari String. Fungsi main ini yang akan mengeksekusi statement System.out.println (Hello World!); untuk menampilkan kata Hello World! ke console.Pasangan kurung kurawal merupakan awal dan akhir badan dari metode. Di Java tiap kalimat harus diakhiri dengan titik koma (; semicolon). Ekspresi diatas memanggil fungsi atau metode println() di objek out yang berada di objek System. Objek out merupakan standar output. Sementara kelas System adalah kelas yang melindungi atau mengkapsulkan seluruh fungsionalitas sistem.

FUNGSI main()Sintaksnya : public static void main (String args[]) {fungsi main() harus ditetapkan sebagai berikut :a. public berarti metode dapat dipanggil dari manapun di dalam dan diluar kelasb. static berarti sama untuk seluruh instan dari kelasc. void berarti metode tidak mengirim apapun setelah selesainya.Fungsi main() dapat mempunyai argumen yang diambil dari lingkungan eksekusi. Argumen args[] adalah array objek string argumen-argumen baris perintah yang di lewatkan ke kelas yang dieksekusi, dan kelas Hello mengabaikan seluruh argumen baris perintah.

diagramDIAGRAM UMLUntuk mengekspresikan model orientasi objek di beragam level abstraksi mulai level KONSEPTUAL sampai level IMPLEMENTASI dan pandangan : STATIS dan DINAMIS1. DIAGRAM KELAS (CLASS DIAGRAM)Menunjukkan keberadaan kelas-kelas dan hubungan-hubungannya.2. DIAGRAM DINAMIS1. DIAGRAM SEKUEN (SEQUENCE DIAGRAM)2. DIAGRAM KOLABORASI (COLLABORATION DIAGRAM)2.A. DIAGRAM SEKUENPandangan grafis satu skenario yg menunjukkan interaksi objek dalam basis waktu, yaitu mana yg lebih dhaulu terjadi dan mana yg berikutnya. Bagus utk dkembangkan di tahap awal analisis karena sederhana dan mudah dipahami3. DIAGRAM KOMPONENMenyediakan pandangan fisik

tipe aplikasi JAVATipe-Tipe Aplikasi yang Ada di Java

1. Aplikasi Berbasis WindowAplikasi berbasis teks dieksekusi lewat promt atau shell saja untuk menjalankannya, namun aplikasi berbasis teks ini justru bisa menjadi sangat kompleks dan canggih, misalnya :1.Apache-Jakarta-Tomcat yang sepenuhnya ditulis dengan bahasa Java merupakan webserver yang mempunyai kemampuan Java Servlet dan Java Server Pages.2.Apache-Jboss merupakan aplikasi server yang mampu memberi kemampuan middleware aplikasi tersebar n-tier berbasis EJB (Enterprise Java Beans).JAVA menyediakan fasilitas Swing (mrpkn bagian JFC-Java Foundation Calsses) ygn memberi kemampuan berbasis Grafis (GUI-Graphical User Interface) yg portabel

2. Appletmerupakan aplikasi/program berbentuk bytecode yang akan diinterpretasikan di web browser.

3. Tipe aplikasi java yang lain1. Java Server Pagesmerupakan bahasa scripting serupa dengan PHP, seperti ASP, Java mampu langsung ditempelkan di halaman HTML untuk menghasilkan efek tampilan di web browser. Java Server Pages merupakan aplikasi sisiserver sehingga web browser tidak dibebani komputasi. Java Server Pages sepenuhnya mengikuti kaidah bahasa pemrograman Java dan mampu menghasilkan kelas-kelas yang dihasilkan dari kompilasi Java.2. Java Servletmerupakan aplikasi apllet namun ada di sisi server (bukan web browser). Java Servlet memberikan layanan yang diminta lewat web browser, dimana web server akan mengeksekusi atau mendelegasikan sepenuhnya layanan ke suatu java servlet.3. Java Beansmerupakan konsep model komponen yang ada di Java.4. Eneterprise Java Beansuntuk mengusung konsep n-tier computing5. Java Micro Editionmerupakan pemrograman untuk membangun aplikasi pada handheld devices atau perangkat genggam seperti handphone dan sebagainya.

SIKLUS JAVASIKLUS PROGRAM JAVAProgram java biasanya melewati lima fase yaitu :

1. Edit2. Compaile3. Loading4. Verify5. Execute

FASE 1Editing afile (penyuntingan file program) fase penyuntingan dilakukan dengan editor teks. Pemrograman mengetik program sumber kemudian program sumber disimpan sebagai file program sumber harus berekstensi (berakhiran) .java untuk identifikasi ekstensi .java, mengidentifikasi file merupakan kode sumber dibahasa .java.

FASE 2Compile (kompilasi program sumber) Program memberikan perintah`: javac Perintah diatas memanggil kompilator java untuk menerjemahkan program sumber menjadi bytecode. Serangkaian instruksi yang dipahami java interpreator untuk mengompilasi file program nama file .java, maka kita ketikkan perintah (prompt atau MS-DOS di windows) javac nama file .java. Jika javac mengkompilasi dengan benar maka kompilator javac akan menghasilkan file bernama, nama file .class, file ini berisi bytecode yang akan diinterpresikan selama fase eksekusi.

FASE 3LOADING Program yang dieksekusi (class) harus lebih dalam berada dimemori sebelum dieksekusi. Aktifitas pemuatan ke memori dilakukan class loader dengan mengambil file .calss berisi byte code dan mentransfer memori utama file .class dapat dimuatkan dari disk system local atau jaringan

FASE 4VERIFY Begitu kelas dimemori byte code diverifikasi bytecode verifier, verifikasi ini untuk menjamin sah dan tidak melanggar batasan keamanan java .java memaksakan keamanan secara ketat agara program darai jaringan tidak merusak system local milik kita sebagaimana virus dapat melakukannyaFASE 5EXECUTE Interpreter dibwah kendali system operasi menginterpretasikan satu bytecode, satu saat dan melakukan aksi-aksi yang dispesifikasikan bytecode.

Dalam 5 FASE itu, pemrogram peduli dengn 3 FASE AKTIVITAS, yaitu :1. Penyuntingan menggunakan editor teks2. Kompilasi menggunakan javac3. Eksekusi menggunakan : a. java interpreter (java) untuk aplikasi b. web browser atau appletviewer untuk applet.

APLIKASI DAN APPLETDUA JENIS PROGRAM BERBEDA1. APLIKASI ; 2. APPLETAPLIKASIProgram yg disimpan dan dieksekusi komputer lokal.APPLETProgram di komputer jauh yang di koneksi lewat web browser.JAVA INTERPRETER (java) AKAN MENJALANKAN INTERPRETER YNG MENGINTERPRETASIKAN APLIKASI WelcomToy dan menyebabkan class loader memuatkan program bytecode WelcomeToy.class

TOKEN DAN LITERALPROSES PENEMUAN ORGANISASI PROGRAM1. LEXICAL ANALYZER, melakukan analisa leksik (kexical analysis) atau pemindaian (scan) untuk mencari sekuen karakter disbut TOKEN, membentuk identifier, operator dsb.2. PARSER, melakukan parsing bertanggung jawab utk menemukan level organisasi lebih tinggi di sekuen token yang menghasilkan lexical analyzer.TOKENelemen terkecil di program yang mempunyai arti bagi kompilator.Token Java dibagi 5, yaitu:

1.Identifier2.Keyword3.Literal4.Operator5.Separator

IDENTIFIERIdentifier adalah token yang merepresentasikan nama. Dalam Java, identifier adalah nama yang diberikan untuk variable, class, atau method. Identifier boleh dimulai dengan huruf, underscore (_) atau tanda dollar ($). Identifier adalah case sensitive (membedakan huruf besar/ kecil) dan tidak ada batas maksimum.

Contoh :

usernameuser_name_sys_var1$change

VARIABELHarus mempunyai tipe. Kita mendeklarasikan variabel dengan menempatkan tipe lebih dahulu, diikuti nama variabelContoh :

double salary;long distance;boolean flag;int nrDays;int i,j,k;

Nama adalah case-sensitive sehingga Big box, bigbox adalah berbeda.KONSTANTAMenggunakan kata kunci (keyword) final untuk menunjukkan konstanta.Nama Konstanta adalah huruf BESAR seluruhnya, misalnya :final double PHI = 3.14final double CM_PER_INCH = 2.54Pendefinisian konstanta dilakukan di luar metode main (). Dengan demikian konstanta dpt digunakan di metode2 lain di kelas yang sama..KEYWORDKeyword (kata kunci) adalah dentifier yang digunakan dalam Java untk suatu tujuan khusus. Daftar keyword Java sebagai berikut:

abstract, Boolean, Break, Byte, byvalue, Case, Catch, Char, Class, Const, continue, default, Do, double, else, extends, false, final, finally, float, for, goto, if, implements, import, instanceof, In, Interface, Long, Native, New, Null, Package, private, protected, public, return, short, static, Super, Switch, synchronized, This, threadsafe, throwm Transient, True, Try, Void, while.

LITERALPenulisan besaran untuk variabel adalah penting, literal Java terdiri dari angka, karakter, dan string. Angka terdiri dari bilangan bulat (integer), bilangan mengambang (floating point), dan boolean. Nilai boolean untuk true dan false direpresentasikan sebagai 1 dan 0. KARAKTER selalu mengacu ke karakter UNICODE. STRING berisi rangkaian KARAKTER

LITERAL INTEGERBilangan integer dapat mempunyai beberapa format berikut ;1. DECIMAL (basis 10) sebagai blngan biasa tanpa notasi khusus.2. HEXADECIMAL (basis 16), dimulai ox atau oX serupa dengan cara C/C++3. OCTAL (basis 8), dimulai dengan oContoh :Bilangan desimal 12 direpresentasikan :a. 12 dalam DECIMALb. oxC dalam HEXADECIMALc. o14 dalam OCTALLITERAL FLOATING-POINTContoh :Bialngan 563.84 juga dapat diekspresikan sebagai 5.6384e2Secara default bilangan floating point bertipe double 64-bit. Kita menggunakan float 32-bit dengan menambah f atau F di akhir angka seperti : 5.6384e2fLITERAL KARAKTERdirepresentasikan satu karakter unicode tunggal dan muncul di pasangan tanda petik tunggal ('..'), karakter khusus direpresentasikan backslash ( \ ) diikuti kode karakterContoh :karakter spesial \n adalah karakter untuk memaksakan baris baruLITERAL STRINGmerepresentasikan banyak karakter dan muncul di dalam pasangan tanda petik ganda ("..")

SEPARATOR-WHITESPACE-KOMENTARSEPARATORSeparator digunakan untuk menginformasikan ke komplator Java mengenai adanya pengelompokkan di kode program. Berikut daftar separator yang digunakan dalam Java:

(...) Kurung / PARENTHESES Untuk menghimpun parameter dalam definisi dan pemanggilan method, juga digunakan untuk menyatakan tingkat pernyataan, menghimpun pernyataan, untuk pengaturan alur program, dan untuk menyatakan tipe cast (cast types)

{...} Kurung Kurawal / BRACES Untuk menghimpunnilai yang otomatis dimasukkan ke dalam array, digunakan juga untuk mendefinisikan blok program, untuk cakupan class, method, dan lokal.

[...] Kurung SIKU / BRACKETS Untuk menyatakan tipe array dan untuk membedakan nilai array.

; Titik Koma / SEMICOLON Mengakhiri Pernyataan.

, Koma / COMMA Pemisah urutan identifier dalam deklarasi variabel dan untuk merangkai pernyataan di dalam kalimat for

. Titik / PERIOD Untuk memisahkan nama paket dari sub-paket dan class dan untuk memisahkan variabel atau method dari variabel referensi.

WHITESPACETerdiri dari spasi, tab, dan tanda ubah garis / linefeedAturan whitespace sbb. :SpaceCharacterHorizontalTabCharacterFormFeedCharacterLineTerminatorEndOfFileMarkerKOMENTARJenis komentar :/* komentar */ : seua karakter diantara itu akan diabaikan// komentar : semua karakter seteah itu sampai akhir naris akan diabaikan/** komentar **/ : digunakan kakas javadoc untuk menciptakan dokumen

TIPE DATATIPE DATATipe data mendefinisikan metode penyimpanan untuk mereperesentasikan informasi dan cara informasi diinterprentasikan. Tipe data berkaitan erat dengan penyimpanan variabel di memori karena tipe data variabel menentukan cara kompilator menginterpretasikan isi memoriJAVA ADALAH STRONGLY TYPE LANGUAGE1. Setiap variabel hrs mempunyai tipe2. semua penugasan, baik eksplisit atau via pelewatan parameter melewati pemeriksaan kompatibiliti tipe3. kompilatr java memeriksa semua ekspresi dan parameterKATEGORI TIPE DATATipe data dalam Java dibagi 2 kategori:1. Sederhana, Tipe data sederhana merupakan tipe inti. Tipe sederhana ini tidak diturunkan dari tipe lain. Tipe ini sering disebut juga dengan tipe primitive. Terdapat 8 tipe tipe sederhana dan dipisahkan dalam 4 kelompok:A. Empat tipe adalah untuk bilangan bulat (integer) bertanda: byte, short, int, dan long.B. Dua untuk tipe angka titik mengambang (floating point) atau bilangan pecahan: float dan double.C. Satu untuk tipe karakater yaitu char, mewakili simbol pada himpunan karakter seperti tulisan dan angka.D. Satu untuk tipe Boolean, merupakan tipe khusus untuk menunjukkan besaran logika (nilai-nilai logika).2. Komposit, Tipe data komposit disusun dari tipe data sederhana atau tipe komposit lain yang telah ada. Tipe ini antara lain: string, array, class, dan interface.

b (2)

Sheet2

Sheet3

Sheet10