Pages

Kamis, 31 Oktober 2013

java

PERKEMBANGAN BAHASA PEMROGRAMAN JAVA
Makalah ini dibuat untuk memenuhi tugas mata kuliah Teknologi Informasi dan Komunikasi

Oleh:
Nama                  : Sholakhuddin
        NIM                    :1102412115
        Prodi       : Teknologi Pendidikan

FAKULTAS ILMU PENDIDIKAN
UNIVERSITAS NEGERI SEMARANG
2013
BAB I
PENDAHULUAN
A. Latar Belakang Masalah
Dewasa ini perkembangan dunia informasi dan teknologi sangat cepat pada dasawarsa terakhir sejak dimulainya era millennium. Perkembangan itu salah satunya ditandai dengan keberadaan bahasa pemrograman java yang menyediakan berbagai layanan. Bentuk layanan yang dihadirkan java sejatinya sangat berguna dan membantu bagi kehidupan manusia. Mulai dari akses data, informasi aktual, iklan, komunikasi, game  dan sebagainya.
Java merupakan bahasa pemrograman berorientasi objek yang dibuat oleh James Gosling saat masih bergabung di Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan ­ber-platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer­­. Bahasa ini juga dirancang untuk pemrograman di internet sehingga dirancang agar aman dan portabel.
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM).  Untuk itu penulis tertarik meneliti tentang “Perkembangan Bahasa Pemrograman Java”




B. Rumusan masalah
1. Bagaimana pengertian dan sejarah java ?
2. Bagaimana pengembangan Java ?
3. Bagaimana karakteristik java ?
4. Bagaimana struktur pemrograman java ?
5. Bagaimana versi-versi yang terdapat pada java ?
6. Bagaimana tipe data java ?
7. Bagaimana fitur-fitur java ?
8. Bagaimana aplikasi java 2 platform micro edition (J2ME)-java MIDlet ?
9. Bagaimana kelebihan dan kekurangan java ?

C. Tujuan
1. Mengetahui pengertian dan sejarah java
2. Mengetahui pengembangan java
3. Mengetahui karakteristik, struktur pemrograman java
4. Mengetahui versi-versi, fitur-fitur, aplikasi-aplikasi java
5. mengetahui kelebihan dan kekurangan java












BAB II
PEMBAHASAN
Ø  Pengertian Java
Java menurut definisi dari Sun adalah mana untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada computer stand alone ataupun pada lingkungan jaringan. Java 2 adalah generasi kedua dari java platform. Kata berdiri di atas sebuah mesin interpreter yang diberi mana Java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam file.class dari suatu program sebagai representasi langsung dari program yang berisi bahasa mesin. Oleh karena itu, bahasa java disebut  sebagai bahasa pemrograman yang portable karena dapat dijalankan pada  berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi, java harus dikompilasi menjadi file bytecode. Untuk menjalankan bytecode tersebut dibutuhkan JRE (Java Runtime Environment) yang memungkinkan pemakai untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM dan library Java yang digunakan. Java memiliki beberapa versi library atau teknologi yang disebut juga sebagai edisi dari bahasa pemrograman Java. Tiga edisi utama dari library tersebut adalah Micro, Standard, dan Enterprise. J2ME (Java2 Micro Edition) Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, 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. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.
Ø  Sejarah Java
Bahasa Pemrograman Java pertama lahir 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 inidimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, 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. Bahasa Pemrograman Java pertama lahir 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, James Gosling dan Bill Joy, 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 Oak pertama, 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, 7 Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.
B. PENGEMBANGAN JAVA
Aplikasi Java sudah begitu banyak digunakan dalam kehidupan sehari – hari. Apalagi aplikasi yang terdapat pada handphone kebanyakan berbasis java. Disamping itu, keunggulan lain yang dimiliki oleh java adalah multi platform, artinya setiap aplikasi yang kita bangun menggunakan bahasa Pemrograman Java, maka akan berjalan dengan baik pada sistem operasi apa saja, bisa di sistem operasi Windows, Linux, Unix dan lain-lain. Sebuah keunggulan yang tidak dimiliki oleh bahasa pemrograman yang lain, sehingga tidak heran kalau bahasa pemrograman Java di kenal dengan istilah ”Create once, run anywhere”Lalu, kenapa Java di katakan sebagai teknologi masa depan adalah karena fleksibilitas dan kemudahan menggunakannya serta mampu mencakup keseluruhan aspek pemrograman yang dibutuhkan di masa depan, yaitu :
Dengan Java kita mampu membangun aplikasi yang berbasis server (website misalnya), teknologi ini disebut dengan J2SE (Java versi 2 Standard Edition)
Dengan Java kita mampu membangun aplikasi berbasis Teks maupun Grafik (Graphical User Interface), teknologi ini disebut dengan J2EE (Java versi 2 Enterprise Edition). Dengan Java kita mampu membangun aplikasi berbasis Mobile, sehingga bisa jalan di Handphone, teknologi ini disebut dengan J2ME (Java versi 2 Micro Edition).  
Akhirnya masa depan Java sudah semakin jelas. Dengan bergabungnya James Gosling pendiri java ke perusahaan raksasa Amerika-Google. Menurut kabar yang beredar James merasa tidak cocok dengan masa depan Java yang diusung oleh Oracle. Ya tentu saja peristiwa ini terjadi setelah Sun Microsystem  menyatakan diri bergabung dengan Oracle. Selama ini google telah mengembangkan aplikasi Android yang berbasis Java. Namun sesungguhnya android tidak 100 sama dengan java. Namun hal ini tetap di permasalahkan oleh Oracle mengenai paten teknologi tersebut yang sudah dilakukan oleh Oracle.
Arah Pengembangan Java
Usia Java telah lebih dari 10 tahun, dan saat ini, Java (produk) dapat dikatakan sebuah implementasi dari Java (spesifikasi) itu sendiri, dimana spesifikasi Java (spesifikasi) dikeluarkan oleh badan yang disebut sebagai JCP (Java Community Process), yang secara kebetulan dinahkodai oleh Sun Microsystems sebagai pencipta Java (produk dan spesifikasi). Sebenarnya Implementasi Java itu sudah ada yaitu GNU Java (dari GNU.org milik Richard Stallman), Harmony (dari Apache, dimana donasi untuk solusi desktop yaitu AWT, merupakan sumbangan dari Intel, sedangkan kepala projek ini bekerja di IBM), serta Sun Java. Sun Java ini memiliki banyak turunan, yang dapat dikatakan dilisensikan, karena pihak lain tidak mau membuat dari nol tetapi mau menggunakan Java sebagai “merk”nya, yaitu IBM, Oracle, Bea, Blackdown (pembuat SDK Java untuk Linux) serta yang baru saja launching adalah FreeBSD.
Dari cerita diatas, terlihat bahwa banyak sekali vendor yang membuat Java, mulai dari yang Open Source sampai yang komersil. Karena mengacu pada JCP, maka tidak ada kata “propietary”, melainkan komersial (artinya mengkomersialisasikan implementasi berdasarkan spesifikasi). Sebenarnya misteri dari semua ini terletak pada JSR 270, yang merupakan nomor untuk spesifikasi Java terbaru.yaitu Java SE 6.0, yang saat ini memasuki beta. JSR 270 sebenarnya adalah kumpulan dari komponen penyusun dari Java SE 6.0 seperti 202: Class File Update, 199: Compiler API, 269: Annotation Processors, 221: JDBCTM 4.0 software, 223: Scripting, 105: XML Digital Signature, 173: Streaming API for XML, 222: JAXB 2.0, 250: Common Annotations, 181: WS Metadata, dan 224: JAX-WS 2.0. Semua angka-angka tersebut dapat dilihat di website JCP di http://www.jcp.org. Java SE 6.0 beta yang terbaru memasukan Java DB (rebranding dari Apache Derby) kedalam Java SDK 6.0 membuat banyak protes, karena Java DB bukan bagian dari spesifikasi JCP, tetapi sebuah projek Open Source yang merupakan donasi dari IBM, yang mana sebelumnya bernama Cloudscape, hasil akuisisi dari Informix.
Pengembangan Java SE 6.0 milik Sun atau sering disebut Sun Java SE 6.0, sudah berbeda dengan pengembangan Java pada versi sebelumnya. Semua pihak dapat berpartisipasi dalam pengembangan Java SE 6.0 yang diberi kode mustang. Saat ini karena Sun masih memperjuangkan kata “compatible” antara implementasi Java (produk) yang dikembangkannya dengan Java SE keluaran vendor lain, maka pengembangan mustang ini tidak 100% Open Source versi OSI, dengan kata lain, source code didapat, tetapi dilarang memiliki dan forking adalah ilegal. Websitenya adalah http://mustang.dev.java.net. Statement ini menarik sekali, karena Sun berusaha mengamankan investasi Java bagi semua pihak (termasuk kekuasaannya), karena bilamana tidak compatible, Java akan berubah seperti halnya C/C++, yang mana setiap vendor C/C++ membuat implementasi sendiri, dan ini yang membuat setiap projek C/C++ seperti lautan yang berbeda berat jenis. Pastinya komponen vendor A tidak dapat digunakan di vendor B, demikian juga sebaliknya, bilamana dapat, itupun tidak semudah Java, hanya dengan perintah import, terutama di dunia multiplatform dan clustering, implementasi API C/C++ memerlukan keahlian khusus.
Sun sedang mencari tahu cara agar Java miliknya Open Source sesuai dengan versi OSI, tetapi kompatibilitas yang diissuekan tetap terjaga. Ini juga terkait dengan statemen Jonathan Schawatz, yang merupakan CEO Sun saat ini yang berlatar belakang software, yang memiliki visi, semua software Sun akan di’open source’kan. Jika ini terjadi Sun akan menjadi perusahaan Open Source terbesar didunia. Saat ini Sun adalah perusahaan terbesar penyumbang aplikasi Open Source, beberapa yang terkenal adalah Emac, NFS, Dtrace. Dapat dibayangkan Linux tanpa NFS? Pergerakan ini sebenarnya juga sedang ditiru Microsoft, dengan produknya bernama .NET ke ECMA, untuk spesifikasi CLR, C#. Hanya perbedaannya didalam JCP sudah ada 950 perusahaan dan entitas, termasuk satu anggota kenegaraan (Brazil). Sedangkan di ECMA, mungkin baru Mono yang sedang menunggu implementasi WindowForm. Sebenarnya sebelumnya Microsoft juga adalah salah satu dari perusahaan yang melisensikan Java, tetapi Microsoft melakukan forking, sehingga terkena denda miliyaran dollar. Sehingga saat ini mungkin dapat dikatakan anggota JCP berkurang satu dari yang seharusnya.

C. KARAKTERISTIK JAVA
Java memiliki karakteristik yang diantaranya adalah sebagai berikut:
·         Sederhana, semudah C dan seampuh C++: berlawanan dengan anggapan orangorang bahwa bahasa Java sulit untuk dipelajari, Java gampang untuk dipelajari terutama untuk orang yang sudah mengenal pemrograman tapi belum terlalu terikat pada paradigma pemrograman prosedural. Tentu saja ini berarti bahwa kita harus siap mempelajari salah satu teknologi yang berkembang paling cepat di dunia dalam dua tahun terakhir ini dengan banyak membaca tentunya baik dari buku maupun melalui web.
·         Sangat berorientasi objek (OOP) dengan implementasi yang sangat baik sehingga kita bukan hanya belajar bagaimana membuat program yang baik (reusable, scalable, dan maintanable) tetapi juga kita belajar bagaimana cara berfikir yang baik untuk mengenali struktur masalah yang sedang kita hadapi dan  memecahkannya secara sistematis dengan pola-pola tertentu (patterns). Bahasa berorientasi objek biasanya mempunyai ciri-ciri sebagai berikut:
o   Abstraksi yang baik untuk memudahkan pemahaman dan komunikasi.
o   Enkapsulasi: penyembunyian informasi dari pihak-pihak yang tidak memerlukannya sehingga kompleksitas tetap tertangani dengan baik.
o   Pewarisan dan polymorphism, teknik yang menyebabkan objek menjadi modular dan mudah untuk dicopot dan dipasang objek yang lain
o   Komposisi dan Interface, berguna untuk membuat tingkat kopling yang lebih rendah dan struktur hirarki objek-objek yang rapih sehingga kita bias mengintegrasikan komponen-komponen untuk membuat sistem yang besar.
·         Open Platform, Write Once Run Anywhere (WORA), portabel atau multi platform, program yang kita buat dapat dijalankan di Windows, Linux/Unix, Solaris, dan MacIntosh tanpa perlu diubah maupun di kompilasi ulang. Java juga bahasa yang paling sesuai digunakan bersama dengan XML yang membuat data menjadi portabel, ini karena kelahiran XML tidak terlepas dari dukungan parser-parser berbahasa Java. Selain itu Java turut serta dalam mengkonvergenkan protocol menjadi Open protokol yaitu IP (Internet Protocol) terutama dalam Micro Java
·         Berarsitektur netral: Program Java merupakan independent platform. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine. Arsitekturnya yang kokoh dan pemrograman yang aman didukung oleh komunitas Open Source (ketiga terbesar setelah C dan C++ di SourceForge.net dan implementasi bahasa Java sudah menjadi milik umum). Dalam Java program yang kita buat tidak mudah untuk “hang” karena konflik pada memori biasanya diselesaikan dengan mengumpulkan objek-objek yang sudah tak terpakai lagi secara otomatis oleh garbage collector. Penanganan kesalahan juga dipermudah dalam Java dengan konsep Exception.
·         Bukan sekedar bahasa tapi juga platform sekaligus arsitektur. Java mempunyai portabilitas yang sangat tinggi. Ia dapat berada pada smartcard, pager, POS (Point of Service), handphone, PDA, palm, TV, Embedded device (PLC, micro controller), laptop, pc, dan bahkan server). Menyadari akan hal ini (one size doesn’t fit all) Sun membagi arsitektur Java membagi tiga bagian, yaitu:
1.      Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari Standar Java.
2.      Standar Java (J2SE), ini adalah yang biasa kita kenal sebagai bahasa Java, dan merupakan fokus kita sekarang.
3.      Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device / mobile device.
  • Terdistribusi: Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
  • Terinterpretasi: Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). JVM merupakan aplikasi sederhana yang ditulis dalam bahasa C untuk mengeksekusi program yang ditulis dalam bahasa Java. JVM mengubah kode sumber (source code) Java yang telah dikompilasi menjadi Java bytecodes sehingga dapat dijalankan pada platform yang berbeda-beda.
  • Kokoh (robust): Java mempunyai reliabilitas atau keandalan yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi eror secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi eror atau kesalahan pada pemrograman.
  • Aman: Java sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
  • Portabel: Kode sumber (source code) maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
  • Berkinerja Tinggi: Java dapat melakukan optimasi pada byte code dengan baik sehingga eksekusi program dapat dilakukan dengan cepat.
  • Berkas berganda (multi-threaded): Berkas yang dimaksud di sini yaitu bahwa Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan sekaligus secara simultan.
  • 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.
D. STRUKTUR PEMROGRAMAN JAVA
Bahasa pemrograman java, merupakan bahasa pemrograman yang diturunkan dari C. Sehingga, sebagian besar syntax-nya hampir mirip dengan C. Dalam bahasa Java juga dikenal sangat case sensitive, sehingga besar kecilnya huruf yang kita ketikkan ke dalam program dapat mempengaruhi program itu sendiri. Java yang sudah disusun menggunakan OOP murni, yaitu pada setiap program harus memiliki sebuah class juga dapat disusun menjadi program procedural. Jadi, supaya benar- benar menjadi program yang berbasis OOP kita harus mengenal struktur java terlebih dahulu. Struktur bahasa pemrograman java, terdiri atas 3 layer (lapisan). Yaitu :
  1. Package, yaitu suatu pengelompokan class-class dalam satu paket agar mudah digunakan. Suatu package dapat memiliki satu atau lebih subpackage sehingga dapat membentuk suatu hierarki.
  2. Import, yaitu suatu deklarasi yang digunakan untuk menunjukkan nama package yang digunakan dalam suatu program java. Import juga memiliki hierarki seperti package.
  3. Class, yaitu merupakan ciri utama program java. Class adalah inti dari program dengan ekstensi  Dalam program java, nama suatu class harus sama dengan nama file *.java tersebut. Misal terdapat program hello.java, maka nama class tersebut harus menjadi class hello{}. Class terdiri dari :
  • Nama class
  • Variabel
  • konstruktor
  • Method

Berikut ini adalah gambar dari struktur pemrograman Java:

E. VERSI JAVA
Bahasa pemprograman java telah mengalami beberapa perubahan sejak versi JDK 1.0 serta berbagai penambahan kelas dan paket ke perpustakaan standar. Sejak versi J2SE 1.4, evolusi Bahasa pemprograman java telah diatur oleh Java Community Process (JCP), yang menggunakan Java Specification Requests (JSRs) untuk mengusulkan dan menentukan penambahan dan perubahan pada platform Java. Bahasa ini ditentukan oleh Java Language Specification (JLS), perubahan pada JLS dikelola dengan JSR 901.
Setelah Java 7 rilis, Oracle berjanji untuk kembali ke 2 tahun siklus rilis. Akan tetapi, pada tanggal 18 April 2013, Oracle mengumumkan bahwa mereka akan menunda Java 8 dengan satu tahun, dalam rangka meningkatkan model keamanan Java. Lebih lengkapnya versi java dapat dirinci sebagai berikut:
1.      JDK Alpha and Beta (1995)
Rilis ke publik memiliki APIs dan ABIs yang sangat tidak stabil dan JDK Alpha and Beta disediakan untuk browser web Java bernama WebRunner.
2.      JDK 1.0 (23 Januari 1996)
Codename Oak. Versi stabil pertama adalah JDK 1.0.2.disebut Java 1.
3.      JDK 1.1 (19 Februari 1997)
Tambahan utama meliputi:
o   sebuah retooling luas dari AWT model.
o   Inner classes ditambahkan ke bahasa
o   JavaBeans
o   JDBC
o   RMI
o   refleksi yang didukung Introspeksi saja, tidak ada modifikasi pada runtime.
o   JIT compiler pada platform Microsoft Windows, diproduksi untuk JavaSoft oleh Symantec
4.      J2SE 1.2 (8 Desember 1998)
Nama kode Playground. Ini dan selanjutnya rilis melalui J2SE 5.0 yang namanya retrospektif Java 2 dan nama versi "J2SE" ( Java 2 Platform, Standard Edition ) diganti JDK untuk membedakan platform dasar dari J2EE ( Java 2 Platform, Enterprise Edition ) dan J2ME ( Java 2 Platform , Micro Edition ). Ini adalah rilis yang sangat signifikan dari Java karena tiga kali lipat ukuran platform Java untuk 1.520 kelas dalam 59 paket.
Tambahan utama meliputi:
o   kata kunci strictfp
o   swing API grafis telah diintegrasikan ke dalam kelas ini
o   Sun JVM dilengkapi dengan compiler JIT untuk pertama kalinya
o   Java plug-in
o   Java IDL , sebuah IDL pelaksanaan CORBA interoperabilitas

5.      J2SE 1.3 (8 Mei 2000)
Nama kode Kestrel. Perubahan yang paling menonjol adalah:
o   HotSpot JVM (HotSpot JVM pertama kali dirilis pada bulan April 1999 untuk J2SE 1.2 JVM)
o   RMI telah dimodifikasi untuk mendukung kompatibilitas dengan opsional CORBA
o   Penamaan Java dan Direktori Antarmuka (JNDI) termasuk dalam perpustakaan inti (sebelumnya tersedia sebagai ekstensi)
o   Java Platform Debugger Architecture (JPDA)
o   Java Sound
o   Kelas proxy Sintetis

6.      J2SE 1.4 (6 Februari 2002)
Codename Merlin. Ini adalah rilis pertama platform Java dikembangkan di bawah Java Community Process sebagai JSR 59 .
7.      J2SE 5.0 (30 September 2004)
Nama kode Tiger. Awalnya nomor 1,5, yang masih digunakan sebagai nomor versi internal.  Versi ini dikembangkan di bawah JSR 176 . J2SE 5.0 memasuki masa akhir-publik-update pada April 8, 2008 pembaruan tidak lagi tersedia untuk umum sebagai tanggal 3 Nopember 2009. Update akan tersedia untuk Pelanggan Oracle hingga Mei 2014.  
Java 5 adalah rilis terakhir dari Java untuk secara resmi mendukung Windows 9x baris Microsoft (Windows 95, Windows 98, Windows ME), sementara Windows Vista adalah versi terbaru dari Windows yang J2SE 5 didukung pada sebelum ke Java 5 akan akhir hidup pada bulan Oktober 2009.  Java 5 adalah versi default Java diinstal pada Apple Mac OS X 10.5 (Leopard). Java 6 dapat diinstal dan ditetapkan sebagai default yang akan digunakan pada 64-bit (Core 2 Duo dan lebih tinggi) mesin prosesor. [18] Java 6 juga didukung oleh mesin 32-bit menjalankan Mac OS X 10.6 (Snow Leopard).
8.      Java SE 6 (11 Desember 2006)
Nama kode Mustang. Pada versi ini, Sun diganti nama "J2SE" dengan Java SE dan menjatuhkan ".0" dari nomor versi. internal penomoran untuk pengembang tetap 1.6.0. Versi ini dikembangkan di bawah JSR 270 . Selama tahap pengembangan, baru dibangun termasuk perangkat tambahan dan perbaikan bug yang dirilis sekitar mingguan. Versi beta yang dirilis pada bulan Februari dan Juni 2006, menjelang rilis final yang terjadi pada tanggal 11 Desember 2006.
9.      Java SE 7 (28 Juli 2011)
Java 7 (nama kode Dolphin) adalah update besar yang diluncurkan pada 7 Juli 2011 dan dibuat tersedia untuk pengembang pada tanggal 28 Juli 2011.  Periode pembangunan ini disusun menjadi tiga belas tonggak; Juni 6, 2011, yang terakhir dari tiga belas tonggak selesai. Rata-rata, 8 membangun (yang umumnya termasuk perangkat tambahan dan perbaikan bug) yang dirilis per tonggak. The daftar fitur di proyek OpenJDK 7 mencantumkan banyak perubahan.
10.  Java SE 8 (Maret 2014)
Java 8 diharapkan Maret 2014 dan akan mencakup fitur yang direncanakan untuk Java 7 tetapi kemudian ditangguhkan.
11.  Java SE 9 (2016)
Pada JavaOne 2011, Oracle membahas fitur mereka berharap untuk memiliki di 2016 rilis Java 9, termasuk dukungan yang lebih baik untuk tumpukan multi-gigabyte, integrasi kode asli yang lebih baik, dan self-tuning JVM.
12.  Java SE 10 (belum dikonfirmasi)
Ada spekulasi menghapus tipe data primitif dan bergerak menuju 64-bit addressible array untuk mendukung set data yang besar.









F. TIPE DATA JAVA
Java memiliki tipe data yang dapat dikategorikan menjadi duakelompok, yaitu tipe data primitif dan referensi.
1. Tipe Data Primitif 
Delapan macam tipe data primitif dalam pemrograman Java, yaitu :
a.       Integer ( Bilangan Bulat )
Integer merupakan tipe data numerik yang digunakan apabilatidak berurusan dengan pecahan atau bilangan desimal. Tipe datanumerik yang termasuk integer adalah sebagai berikut :
Byte : Memiliki nilai integer dari -128 sampai +127 danmenempati 1 byte ( 8 bits ) di memori
Short : Memiliki nilai integer dari -32768 sampai 32767 danmenempati 2 bytes ( 16 bits ) di memori
Int : Memiliki nilai integer dari -2147483648 sampai2147483647 dan menempati 4 bytes ( 32 bits ) di memori
Long: Memiliki nilai -9223372036854775808 sampai 9223372036854775807 dan menempati 8 bytes ( 64 bits) di memori.
b.      Floating Point ( Bilangan Pecahan )
Floating Point digunakan untuk menangani bilangan decimal atauperhitungan yang lebih detail dibanding integer. Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf f akan dianggap sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float harus diakhiri dengan huruf F. Misalnya : 4.22 F atau 2.314f. Sedangkan untuk bilangan double, bisa menambah dengan huruf D, karena secara default bilangan dengan koma atau pecahan atau desimal akan dianggap sebagai double.
c.       Char
Char adalah karakter tunggal yang didefinisikan dengan diawalidan diakhiri dengan tanda „ (petik tunggal). Char berbeda dengan String, karena String bukan merupakan tipe data primitif, tetapi sudahmerupakan sebuah objek. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode /u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF.
d.      Boolean
Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu true dan false. Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.

2. Tipe Data Referensi
Kelebihan pemrograman berorientasi objek adalah dapat mendefinisikan tipe data baru yang merupakan objek dari class tertentu.Tipe data ini digunakan untuk mereferensikan objek atau class tertentu,seperti String.

G. FITUR JAVA
1. Java Virtual Machine (JVM)
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.
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 pemrogram 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. Dalam C, C++ dan bahasa lainnya, adalah pemrogram yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana pemrogram tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.
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 pada bahasa yang memungkinkan alokasi dinamis.
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.
Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas – kelas yang berasal dari local disk dengan kelas – kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas – kelas yang berasal dari local disk yang dimuat terlebih dahulu.
Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan – aturan dasar bahasa Java.
Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing. Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi. Java juga menyediakan beragam teknik pengamanan lain :
a.       Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan pemrogram handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan pemrogram jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
b.      Java memiliki beberapa pengaman terhadap applet.
Untuk mencegah program bertindak mengganggu media penyimpanan, maka 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.
4. Applet
Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih interaktif.
5. Java Networking
Sekumpulan API yang menyediakan fungsi untuk aplikasi-aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Address dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alas an sekuriti dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan Protokol ICMP.
6. Java Database Connectivity(JDBC)
Menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle,MySQL,PostgreSQL,Microsoft SQL Server.
7. Java Security
Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara High Level datau Low Level, seperti public/private key menegement dan certificates.
8. Java Swing
Menyediakan sekumpulan API untuk membangun aplikasi-aplikasi GUI dan model GUI yang diinginkan bisa bermacam-macam.
9. Java RMI
Java RMI menyediakan sekumpulan API untuk membangun aplikasi-aplikasi Java yang mirip dengan model RPC (remote Procedure Call), jadi objek-objek Java bisa di call secara remote di Jaringan Komputer.
10. Java 2D/3D
Merupakan sekumpulan API untuk membangun grafik-grafik 2D/3D yang menarik dan juga akses ke printer.
11. Java Server Pages (JSP)
Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi-aplikasi CGI.JSP yang mirip ASP dan PHP merupakan alternatif terbaik untuk solusi aplikasi internet.
12. JNI (Java Native Interface)
Merupakan sekumpulan API yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan Basic.
13. Java Sound
Menyediakan kumpulan API untuk manipulasi Sound.
14. Java IDL + CORBA
Menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia Networking.
15. Java Card
Java Card utamanya dipakai untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada Handphone.
16. JTAPI (Java Telephony API)
Sekumpulan API untuk memanfaatkan devices-devices telephony, sehingga cocok untuk aplikasi-aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution) PCPBX dan lainnya.

H. SIMULASI APLIKASI JAVA 2 PLATFORM MICRO EDITION (J2ME) - JAVA MIDlet
1. Teknologi Wireless Java
Secara konsep, teknologi wireless dapat dibagi  dalam dua  katagori, pertama untuk local dan kedua untuk area yang luas. Peralatan yang termasuk dalam katagori pertama misalnya adalah remote control untuk membuka atau mengunci mobil maupun garasi, telepon cordless 900Mhz, peralatan mainan dengan radio control, atau jaringan wireless. Peralatan wireless jenis pertama ini hanya bekerja untuk daerah dengan jangkauan yang tidak terlalu jauh. Sedangkan peralatan jenis aplikasi yang kedua diantaranya adalah pager, handphone, pda, dan sejenisnya.  Jangkauan dari perangkat  tersebut jauh lebih besar dari aplikasi jenis pertama. Karena jaringan yang ada di permukaan bumi berupa cell-tower, peralatan komunikasi bergerak seperti handphone menerima layanan dari sebuah  wireless carrier atau perusahaan yang mengoperasikan  cell-tower tersebut.
  Aplikasi komunikasi bergerak, dalam perkembangan awal masing-masing  vendor menghasilkan platform aplikasi dan sistem operasi sendiri. Sehingga sebuah peralatan handphone Nokia dan Siemens mempunyai platform aplikasi masing-masing. Perbedaaan  aplikasi menyebabkan suatu platform aplikasi maupun sistem operasi dalam handphone Nokia tidak dapat dijalankan dalam peralatan handphone Siemens misalnya. Sehingga berakibat memperburuk pengembangan aplikasi-aplikasi yang baru.
  Standarisasi yang dilakukan untuk membuat suatu bahasa pemrograman yang memiliki kebebasan platform atau platform independence. Salah satu teknologi Java adalah  “write once run everywhere”,  sehingga protabilitas Java merupakan suatu kekuatan yang dimiliki Java. Java dijalankan pada sistem operasi apapun tanpa perlu kompilasi ulang program Java yang dibuat. Untuk komunikasi bergerak,  Sun Microsystem mengenalkan  Java 2 Micro Edition (J2ME) yang merupakan salah satu bagian teknologi Java yang digunakan untuk aplikasi Java yang berjalan pada perangkat mobile device dan teknologi aplikasi wireless.




2. Java Virtual Machine (JVM)
 Java Virtual Machine adalah software yang berfungsi untuk menjalankan program Java supaya dapat dimengerti oleh komputer. Kode program Java ditulis menggunakan editor teks seperti Notepad, Textpad, Editplus, Jcreator dan lainnya.

Java Compiler yang digunakan untuk  mengkompilasi kode program Java dirancang untuk menghasilkan kode yang netral terhadap semua arsitektur perangkat keras (hardware) yang disebut sebagai Java Bytecode (*.class).  Dan JVM merupakan basis dari Java platform dan menjembatani  antara bytecode dengan hardware. 

3.  Java Application Programming Interface (Java  API)
Java API merupakan komponen-komponen  dan kelas Java yang sudah jadi, yang memiliki berbagai  kemampuan. Kemampuan untuk menangani objek,  string, angka dan sebagainya
1. Java  Applet merupakan program Java yang berjalan di atas browser. Penggunaan applet ini akan membuat halaman HTML lebih dinamis dan menarik. 
2.  Java Networking
3.  Java Database Connectivity (JDBC)
JDBC API terdiri atas class dan interface yang  ditulis dalam bahasa Java untuk sebagai alat bantu  bagi pembuat program  (developer) dan menyediakan sekumpulan API untuk mengatur keamanan mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server. Jadi keunggulan API JDBC dapat mengakses sumber data dan berjalan pada semua Platform yang mempunyai Java Viortual Machine (JVM).
4.  Java Server Pages (JSP)
JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan pada platform Java. JSP merupakan pengembangan dari Servlet serta merupakan bagian dari teknologi Java 2 Platform, Enterprise Edition (J2EE). 
5.  Java Card

4  Java  2 Platform TM
4.1 Java 2 Platform, Standard Edition (J2SE )  Platform digunakan untuk menjalankan dan mengembangkan aplikasi Java pada level  Personal Computer (PC). Platform ini berisi class-class inti pada Java dan Graphical User Interface (GUI).
4.2  Java 2 Platform, Micro Edition (J2METM)
Platform ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada  handheld devices atau perangkat-perangkat semacam  handphone, Personal Digital Assistance (PDA) dan PocketPC
4.3  Java 2 Platform, Enterprise Edition (J2EETM )
Platform ini berupa paket yang berisi class-class dan  interface-interface yang digunakan untuk menjalankan dan mengembangkan aplikasi Java  berbasis web, seperti class-class Servlet, Java Server Pages (JSP) dan Enterprise JavaBeans (EJB)  serta Java CORBA. 
4.4  Java 2 Platform, Micro Edition (J2ME TM)  
Komponen-komponen J2ME terdiri dari Java Virtual Machine (JVM) yang digunakan untuk menjalankan aplikasi Java pada emulator atau  handheld device, Java API  (Aplication Programming  Interface) dan  tools lain untuk pengembangan aplikasi Java semacam emulator  Java Phone, emulator Motorolla dari J2ME  wireless toolkit. Dalam pengembangan aplikasi wireless dengan Java, J2ME dibagi menjadi dua buah bagian diantaranya ialah bagian configuration dan profile. 
1. Lapisan Konfigurasi (Configuration Layer) J2ME mempunyai dua konfigurasi yaitu    `Connected Limited Device Configuration (CLDC) dan Connected Device Configuration (CDC).

2.  Lapisan Profil (Profile Layer)
      J2ME mempunyai beberapa profil antara lain : 
1.  Mobile Iformation Device Profile (MIDP)
     2.  Foundation Profile (FP)
     3.  Personal Profile
     4.  Personal Digital Assistance (PDA)  Profile


Dilihat dari Gambar 2.4 diatas maka J2ME (Java 2 Micro Edition) mempunyai lapisan konfigurasi dan profile yang didukung oleh Java Virtual Machine (C-Virtual Machine dan K-Virtual Machine).

3 Connected Limited Device Configuration (CLDC) Spesifikasi CLDC adalah sebagai berikut 
1. Mengimplementasikan subset dari J2SE]
2. JVM  yang digunakan dikenal dengan nama  K-Virtual Machine    (KVM)
3.Digunakan pada perangkat  handheld dengan ukuran memori terbatas    (160-512 Kbytes)
4.   Prosesor : 16 Bit atau 32 Bit
     Pada bagian ini secara detail CLDC diperlukan untuk pengembangan aplikasi wireless dengan MIDP implementasinya CLDC digunakan untuk program Java pada perangkat keras dengan ukuran memori yang terbatas, pada 160 sampai dengan 512 Kilobyte.  Akibatnya, fitur fitur yang kurang penting untuk diimplementasikan dalam  handheld device yang bersangkutan dari Java 2 harus dibuang. 


5  MIDlets
Aplikasi yang berjalan pada sebuah perangkat yang mendukung MIDP disebut dengan MIDlets, atau lebih singkatnya MIDlet merupakan aplikasi yang dibuat menggunakan Java 2 Micro Edition dengan profile  Mobile Information Device Profile (MIDP). 
MIDP dikhususkan untuk digunakan pada handset dengan kemampuan CPU, memori, keyboard dan layer yang terbatas, seperti  handphone, pager, PDA dan sebagainya. 


Gambar 2.6  Arsitektur aplikasi MIDP
Gambar 2.6  Arsitektur aplikasi MIDP Pada Gambar 2,6 Menunjukkan bahwa aplikasi yang mendukung perangkat MIDP adalah aplikasi MIDlet yang juga termasuk bagian dari Java 2 Micro Edition.  

5.1  Daur Hidup (LifeCycle)  MIDlet
Lifecycle dari sebuah MIDlet ditangani oleh Application Management Software  (AMS). AMS adalah sebuah lingkungan tempat siklus dari sebuah MIDlet, mampu untuk diciptakan, dijalankan, dihentikan maupun dihilangkan. AMS sering pula disebut dengan  Java Application Manager (JAM). MIDlet memiliki beberapa state, yaitu  Pause, Active  dan Destroy. Ketika masing-masing state dipanggil, beberapa  method yang bersesuaian dipanggil.  Method-method tersebut merupakan bawaan dari J2ME.  Untuk menjelaskan proses MIDlet dalam  Java Aplication Manager (JAM) adalah pada Gambar 2.7


5.2  Status MIDlet

Gambar 2.7 LifeCycle dan perubahan status
MIDlet

5.2.1  High Level API 
Kelas-kelas yang menyediakan fungsionalitas untuk pembuatan GUI pada MIDP ada pada paket  javax.microedition.lcdui. Pada paket tersebut terdapat tiga interface dan 21 kelas.   Interface tersebut adalah Display, Screen dan Form. 
5.2.2  Low Level API
Pada level pemrograman yang lebih rendah (low level), akan ditemukan  fungsionalitas yang lebih spesifik ke jenis  handheld yang digunakan.  Kelas-kelas untuk pemrograman GUI pada level yang lebih rendah ini diimplementasikan oleh kelas javax.microedition.lcdui.Canvas  dan javax.microedition.lcdui.Graphics. Kelas  Canvas ini memungkinkan pengguna untuk menggambar garis, titik dan elemen-elemen dasar lain. 
5.3  Servlet 
Tujuan servlet adalah untuk meng-generate respons yang bersifat dinamis. 
Cara komunikasi antara  client dan server melalui  protocol HTTP  adalah sebagai berikut :
1.Client akan mengirimkan HTTP request ke server
2. Setelah request diterima oleh server, server akan memberikannya pada servlet untuk dilakukan pemrosesan, misalnya akses ke database
3. Setelah pemrosesan selesai dilakukan, server akan mengembalikan hasilnya  ke  client. Hasil pengembalian ini dapat berbentuk file HTML yang akan ditampilkan di browser, image dan data binary. 

Gambar 2.8  Cara Kerja Servlet

5.3.1  HTTP Servlet
Dua buah tipe request HTTP yang paling umum digunakan adalah  GET dan POST yang juga dikenal sebagai  request method.   Request GET digunakan untuk mendapatkan atau menerima informasi dari server.  Pada umumnya request GET  digunakan untuk menerima file HTML atau  image. Sedangkan  request POST  digunakan untuk mengirimkan data ke server.  Request POST akan mengirimkan  informasi server dalam bentuk HTML yang berisi data yang dimasukkan oleh client. 

5.4  Konsep Database Manajement System (DBMS)
DBMS terdiri dari Database dan Set Program pengelola untuk menambah data, menghapus data, mengambil dan membaca data.
 5.4.1  Structured Query Language (SQL)
MySQL adalah Relation Database Manajemen Sistem yang didistribusikan secara gratis di bawah lisensi GPL (General Public lisence). Suatu database relational menyimpan data dalam table table terpisah. Hal ini memungkinkan kecepatan dan flexibelitas. MySQL merupakan turunan salah satu konsep utama dalam database sejak lama yaitu SQL (Struktured Query Language). MySQL menggunakan standar SQL (Structured Query Language), yaitu bahasa standar yang paling banyak digunakan untuk mengakses database dan  SQL dirancang khusus untuk berkomunikasi dengan database. 
Gambar Tampilan dengan MySQL Front


Kelebihan dan Kekurangan Java
kelebihan Java
Kelebihan utama dari Java diantaranya ialah:
  • 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. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming – Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
  • 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.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ 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.
  • 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).


Kekurangan Java
  • 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.
  • 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.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ danPascal (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.
  • Sun membagi arsitektur Java menjadi 4 bagian, yaitu :

  • Enterprize Edition(J2EE) untuk aplikasi Web, aplikasi system tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan SuperSet dari Standart Java.
  • Standart Edition (J2SE) ini dikenal sebagai bahasa Java.
  • Micro Edtiton (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk Mobile Device.





















BAB III
PENUTUP

Kesimpulan
Kesimpulan yang dapat ditarik dari pembahasan mengenai java yaitu:
1. Java dikenal sebagai bahasa pemrograman yang bersifat strongly, yang berarti diharuskan mendeklarasikan tipe data dari semua variable yang apabila lupa atau salah dalam mengikuti aturan pendeklarasian variable, maka akan terjadi error pada saat proses kompilasi.
2. Tipe data yang terdapat pada bahasa pemrograman Java pada umumnya tidak jauh berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic, dan lainnya, yakni terdiri dari integer, floating point, char, dan boolean.
3. Aturan penulisan variabel pada bahasa pemrograman Java juga tidak jauh berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic, dan lainnya, yakni harus diawali dengan huruf/abjad, karakter mata uang, dan underscore ( _ ) dan terdiri dari huruf/abjad, angka, dan underscore ( _ ), serta tidak boleh menggunakan kata-kata yang dikenal oleh bahasa pemrograman Java (keyword), seperti byte, case, int, dan lainnya.
4. Sama halnya dengan semua bahasa  dapat dipemrograman, Java juga menyediakan operator-operator aritmatika untuk memanipulasi data numerik.
5. Selain operator aritmatika, Java juga mempunyai operator-operator lain, seperti operator increment dan decrement, operator assignment (penugasan), operator relasi, operator logical, operator bitwise (yang terdiri dari and, or, xor, dan complement), dan operator precedence.
 Saran
Dikarenakan cukup rumitnya bahasa pemrograman Java dan semakin banyaknya pesaing yang berkompetisi di bidang pemrograman Java, maka Penyusun menyarankan kepada pembaca (khususnya pemula), untuk sejak dini mempelajari bahasa pemrograman tersebut.








Daftar pustaka
Wicaksono, Adi. 2002.  Pemrograman Aplikasi Wireless dengan Java. Elex Media Komputindo. Jakarta
 ----. 2001.  Java 2 Platform, Micro Edition Wireless Toolkit User’s Guide (Version 1.0.3). Sun Microsystems, Inc.  California.
http://ilmukomputer.org/2009/05/pemrograman-dengan-c-part-ii/
http://unyildadakan.com/java/sejarah-dan-perkembangan-java/ http://giriayoga.com/2010/10/28/sejarah-java/



0 komentar:

Posting Komentar