

Java
1. PENGERTIAN JAVA DAN SEJARAH JAVA
Java adalah sebuah bahasa pemrograman pada komputer sama seperti pendahulunya c++ . Java bersifat multi platform dan multi device. Sekali menuliskan sebuah program dengan menggunakan Java, kita dapat menjalankannya hampir di semua komputer dan perangkat lain yang support Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual Machine. Fungsionalitas dari Java ini dapat berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan non-spesifik.
Java sendiri merupakan bahasa pemrograman yang berbasis objek, maksudnya adalah semua aspek yang terdapat pada java adalah objek sehingga sangat memudahkan untuk mendesain, membuat dan mengembangkan program java dengan cepat. Kelebihan ini membuat program java menjadi mudah untuk digunakan oleh banyak orang.
Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java 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 lain 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. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java). Maka lahirlah nama “ Java “ .
Pada tahun 1993 sampai pertengahan 1994 tim green yang mempunyai nama baru First person. Inc hanya menghabiskan waktu dengan memperhatikan penjualan dari produknya. Ternyata tidak satupun orang ditemukan. Akhirnya pada tahun 1994 First Person dibubarkan.
Pada tahun itu Web berkembang sangat pesat saat itu browser yang banyak digunakan adalah Mosaic suatu broser yang gratis.
Dalam suatu wawancara pada pertengahan tahun 94 James Gosling mengatakan “We could build a real cool browser. It was one of the few things in the client/serve mainstream that needed some of the weird things we’d done: architecture neutral, real-time,reliable, secure—issues that weren’t terribly important in the workstation world. So we built a browser.”
Akhirnya dibuatlah suatu browser oleh Patrick Naughton dan Jonathan Payne. Browser itu diberi nama Hot Java. Browser ini dibuat dengan menggunakan bahasa java untuk menunjukkan kemapuan dari java. Yang tidak kalah hebatnya mereka juga membuat teknologi yang disebut Aplet sehingga browser dapat menjalankan kode program didalam browser.
Inilah bukti dari teknologi itu yang ditunjukkan java pada tanggal 25 mei 1995. Sejak saat itu browser java memberikan lisensinya kepada browser lain untuk bisa menjalankan Applet dan pada tahun 1996 diberikan pada Internet Explorer. Akhirnya pada tahun 1996 dikeluarkan versi pertama dari java dengan mengeluarkan java 1.02. Pada tahun 1998 dikeluarkan java 1.2 dan java mulai mengeluarkan slogannya “Write once, Run anywhere” yang artinya “Tulis sekali, jalankan di manapun”. Sekarang ini Java menjadi sebuah bahasa pemrograman yang populer dan dimanfaatkan secara luas untuk pengembangan perangkat lunak.
2. PERKEMBANGAN VERSI JAVA
Dalam perkembangannya versi java secara internal muncul dalam versi-versi sesuai dengan JDK (Java Development Kit) yang beredar. Sedangkan secara eksternal versi-versi yang kita kenal adalah 1,2,5, dan 6. Perlu diketahui bahwa versi 3 dan 4 tidak dimunculkan. Namun perkembangan versi JDK biasanya ditulis dengan 1.1, 1.2, 1.3, 1.4, 1.5, 1.6. Sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kemudian tahun 1996 versi awal Java sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya yaitu java.lang, java.io, java.util, java.net, java.awt, dan java.applet. Jumlah class saat itu baru 211 class.
Setiap versi JDK selalu menambahkan API baru. API baru mungkin melibatkan perubahan pada bahasa (misal: API Reflection), namun biasanya tidak. • API yang tidak berhubungan dengan perubahan bahasa (secara sintaks/semantik) bisa diimplementasikan ulang di JDK versi yang lama (misal di JDK 1.5 ada Regex, di JDK sebelumnya kita bisa menggunakan library regex dari pihak ketiga). Perkembangan versi JDK terutama untuk J2SE dan fitur-fiturnya dapat dilihat sebagai berikut :
· JDK 1.1 dirilis tahun 1997, dengan jumlah class 477. Penambahan fitur inner Class (perubahan bahasa). Versi Java sebelumnya hanya mendukung Top Level Class. Penambahan Reflection API – Reflection API melibatkan perubahan bahasa (setiap kelas dapat diakses refleksinya). Pada versi ini juga diperkenalkan Format file JAR. File JAR merupakan file yang berisi kelas Java dan resource yang dibutuhkan untuk menjalankan kumpulan kelas tersebut (gambar, suara, dan sebagainyal), yang – menjadi bagian integral Java karena menjadi bagian dari classpath Java.
· JDK versi 1.2 dirilis tahun 1998, dengan jumlah kelas 1524. Penambahan Weak Reference dan tipe reference lain. Referensi yang “lemah”, sehingga bias dibersihkan oleh garbage collector jika diperlukan. Perubahan pada penanganan Thread . Sebelum JDK1.2 ada method untuk mensuspend (menghentikan sementara) dan me-resume (meneruskan) thread, tapi ternyata ini rawan deadlock.
· JDK versi 1.3 dirilis tahun 2000, dengan jumlah kelas 1840. Tidak ada perubahan bahasa. Penambahan dan perbaikan API untuk distributed programming (RMI, CORBA). Sampai dengan versi terakhir (1.3.1_14) Sangat banyak bug yang diperbaiki (lebih dari 100) .
· JDK versi 1.4. dirilis tahun 2004, dengan jumlah kelas 2723. Perubahan terletak pada asersi (seperti pada C/C++). Asersi adalah pernyataan boolean bahwa sesuatu pasti benar di satu titik program dan jika salah, maka exception akan dilempar. Selain itu pada versi ini terdapat penambahan API baru seperti NIO dan logging. NIO merupakan API yang digunakan untuk I/O yang berguna untuk I/O kinerja tinggi. Sedangkan Logging merupakan Fitur untuk melakukan pencatatan aktivitas program ke media tertentu (disk, jaringan, dan lainnya).
· JDK versi 1.5 dirilis tahun 2004 yang biasa disebut versi 5 saja dengan jumlah kelas 3279. Versi ini paling banyak terjadi perubahan bahasa misalnya kelas generic, syntax loop untuk enumerasi, automatic boxing/unboxing, enumerasi, static import, metadata, dan variable arguments. Kelas generik memungkinkan suatu abstraksi terhadap tipe data. Konsep yang bersesuaian adalah Template di C++, tetapi konsep template C++ tidak 100% kompatibel dengan Java. Java memproses generic pada compile time dan runtime, sedangkan C++ hanya pada compile time.
· versi 1.6 dirilis tahun 2006 yang biasa disebut versi 6 saja, dengan jumlah kelas lebih dari 3777. Piranti lunak Java SE 6 memungkinkan pengembangan menjadi lebih mudah, lebih cepat dan lebih hemat biaya. Aplikasi ini menghadirkan sejumlah feature yang lebih modern bagi layanan web, dukungan dynamic language, diagnostik dan aplikasi desktop. Selain itu, lebih dari 160 perusahaan telah bermitra dengan Sun dan menguji aplikasi berbasis teknologi Java mereka pada platform Java SE 6 untuk menjamin kompatibilitas, stabilitas dan kinerja optimal pada peluncuran Java SE 6. Kompatibilitas Java SE 6 dengan platform versi sebelumnya memudahkan para pegembang Java dalam menggunakannya sekaligus melindungi investasi teknologi Java. Teknologi Java SE 6 sudah berbeda dengan pengembangan Java versi sebelumnya, ini merupakan platform yang sangat kokoh bagi para pengembang dan vendor. NetBeans IDE merupakan cara terbaik bagi para pengembang untuk mengembangkan semua fungsi terbaru dari Java SE 6. Dengan peningkatan dynamic language dan dukungan layanan web, platform Java SE 6 optimis bagi pembangunan aplikasi dan layanan Web 2.0. Untuk perkembangan visual aplikasi interaktif yang sangat cepat, platform Java SE 6 termasuk komponen pengaturan tampilan baru, berdasarkan NetBeans GUI Builder (denga nama kode sebelumnya Matisse). Piranti lunak Java SE 6 juga memberikan dukungan penuh terhadap versi Windows Vista berikutnya.
Sejak tahun 2006 tersebut, Sun Microsystems telah menerapkan lisensi open source, yaitu GNU GPL (GNU General Public License), sehingga siapapun akan lebih leluasa menggunakan java. Sedangkan di Indonesia awal tahun 2009, Sun Microsystem, juga telah meresmikan pusat penelitian aplikasi berbasis Java yang pertama di Asia Tenggara . Pusat penelitian itu didirikan bersama SEAMOLEC (SEAMEO Regional Open Learning Center). Pusat penelitian yang dinamai JENI (Java Education Network Indonesia) Research Center itu didirikan di kompleks Universitas Terbuka, Pondok Cabe, Tangerang yang memiliki fasilitas pendidikan Java dan open source, termasuk 10 Sun Ultra 20 Workstation, perangkat pelatihan berbasis web. Ini merupakan pusat penelitian pertama di ASEAN, dan akan terus dikembangkan diseluruh Negara-negara ASEAN.
Sejak diperkenalkan, Sun telah merilis versi baru dari bahasa Java setiap dua tahun atau lebih. Versi ini membawa perangkat tambahan baru, kemampuan baru dan perbaikan bug. Sampai saat ini, versi diberi nomor 1.x, di mana x mencapai sampai 4. (Revisi Menengah diberi label dengan nomor ketiga - 1.xy -. Seperti pada 1.4.2) Versi terbaru, bagaimanapun, disebut Java 5.0 bukan Java 1.5.
Di bawah ini adalah timeline berbagai versi Edisi dasar, atau Standard (SE), Jawa bersama dengan beberapa fitur baru yang masing-masing diperkenalkan. Edisi ini berisi paket bahasa inti (nama kode untuk perpustakaan di Jawa) dan ditujukan untuk pemrograman desktop.
1995: Versi 1.0 dari Java Development Kit (JDK) dirilis secara gratis oleh Sun.
· 8 package dengan 212 class.
· Netscape 2,0-4,0 termasuk Java 1.0.
· Microsoft dan perusahaan lain berlisensi Jawa.
1997: Versi 1.1:
· 23 package - 504 class.
· Perbaikan meliputi penanganan event yang lebih baik, inner class, JVM ditingkatkan.
· Microsoft mengembangkan 1,1 sendiri. kompatibel Java Virtual Machine untuk Internet Explorer.
· Banyak browser yang digunakan masih hanya kompatibel dengan 1.1.
· Ayunan paket grafis sangat meningkat menjadi tersedia selama ini tetapi tidak disertakan dengan bahasa inti.
1999: Versi 1.2, juga disebut Java 2 Platform
· 59 package - 1520 class.
· Kode dan alat didistribusikan sebagai The Software Development Kit (SDK)
· Yayasan Jawa Kelas (JFC), berdasarkan Swing, untuk grafis ditingkatkan dan user interface, sekarang termasuk dengan bahasa inti.
· Koleksi API termasuk dukungan untuk berbagai daftar, set, dan peta hash.
2000: Versi 1.3:
· 76 package - 1842 class.
· Kinerja perangkat tambahan termasuk mesin virtual Hotspot.
2002: Versi 1.4:
· 135 package - 2991 class.
· Peningkatan IO, XML dukungan, dll
2004: Versi 5.0 (sebelumnya bernomor 1,5):
· 165 package, lebih dari 3000 class.
· Startup yang lebih cepat dan lebih kecil memori tapak
· Metadata
· Terformat keluaran
· Generics
· Peningkatan fitur multithreading
3. PERKEMBANGAN TEKNOLOGI JAVA
1. Sebuah Bahasa Pemrograman
Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. Java memiliki sintak ( dalam bahasa manusia adalah kosa kata ) yang mirip dengan bahasa C. Java merupakan suatu bahasa pemrograman yang berorientasi Objek atau sering disebut OOP ( Object Oriented Programming ). Penekanannya bukan pada alur ( struktur ) tapi pada objek, properti dan state - state yang dimiliki oleh objek tersebut. Di sini Java hadir untuk mengatasi kendala - kendala ( kompleksitas ) bahasa pendahulunya dan menghilangkan hambatan antar sistem operasi.
Java memudahkan programmer untuk melakukan porting ke suatu arsitektur atau platform yang mana Java mempunyai slogan " Write Once Run Any Where". Maksudnya, bahwa ketika menulis program dengan Java di Windows dan program yang dibuat dapat dijalankan pada berbagai platform seperti Linux, FreeBSD dan keluarga Unix hanya dengan menggunakan Java Virtual Machine ( JVM ). Untuk itu Java dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangan untuk berbagai sistem operasi dan bersifat open source.
2. Platform Java
Java Platform adalah sebuah platform software yang berbeda dari berbagai paltform lainnya seperti Microsoft Windows, Macintosh, OS / 2, UNIX, dan NetWare. Namun dirancang untuk menghasilkan dan berjalan sangat interaktif, dinamis, dan applet yang aman dan aplikasi - aplikasi pada sistem jaringan komputer. Java Platform berada berada di atas sistem operasi ini. Aplikasi yang ditulis dalam bahasa Java untuk mengkompilasi arsitektur netral JVM ( Java Virtual Machine ) bytecodes, yang tidak sekedar kode mesin normal. Selanjutnya interpreter Java menterjemahkan ke dalam kode eksekusi. Keuntungan utama dari pendekatan ini adalah agar memungkinkan untuk menjalankan aplikasi Java pada sistem apapun, selama masih menerapkan sistem JVM.
Java Platform terdiri dari 2 bagian utama, yaitu JVM dan Java API :
1. Java Virtual Machine (JVM) adalah suatu mesin virtual yang menginterpretasikan bytecode-bytecode Java ke dalam bahasa mesin. Bytecode Java adalah file hasil kompilasi kode java (ekstension filenya adalah .class )
2. Application Programming Interface (API) adalah sekumpulan (libraries) komponen software (kelas - kelas dan interface - interface Java) siap pakai yang memiliki berbagai kegunaan dan kemampuan yang berbeda-beda. Sekumpulan kelas-kelas dan interface-interface yang saling berkaitan diorganisasikan dalam suatu library. Library ini dikenal dengan sebutan package (paket). Paket inilah untuk menambahkan fungsionalitas yang sudah dibuat dan dapat dirubah, sehingga menghemat waktu coding.
Seiring dengan perkembangannya saat ini Sun Microsystems membagi Java menjadi 4 edisi, yaitu :
• Java Card : program Java yang digunakan pada peralatan elektronik yang memiliki memori sangat terbatas, misalnya Smart Card.
• J2ME : Java 2 Platform, Micro Edition. Java2 Micro Edition atau J2ME merupakan salah satu teknologi dari Bahasa Pemograman Java yang memungkinkan pembuatan aplikasi-aplikasi Java bisa berjalan pada perangkat mobile/handpone atau PDA (Personal Digital Asistent) yang karakteristiknya berbeda dengan PC (personal computer), seperti kecilnya jumlah memory pada handphone dan PDA, serta keterbatasan interface dari perangkat tersebut. J2ME juga merupakan lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak JAVA pada barang elektronik berserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi dengan baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada perangkat yang lain. J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi yang lebih kecil dibandingkan dengan computer desktop. J2ME biasa digunakan pada telepon selular, pager, PDA, dan sejenisnya.
Teknologi J2ME juga memiliki beberapa keterbatasan jika diaplikasikan pada ponsel. J2ME sangat bergantung pada device yang digunakan, bisa dari merk ponsel, maupun kemampuan ponsel, dan dukungan terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera.
Salah satu teknologi yang dikembangkan untuk pemrograman aplikasi-aplikasi untuk perangkat mobile adalah WAP (Wireless Aplication Protocol), namun WAP hanya salah satu dari beberapa teknologi nirkabel dan dalam perkembangannya, WAP kurang suskes di pasaran.
Berawal dari hal tersebut, perusahaan Sun Microsistem mencoba untuk mengembangkan teknologi Java yang dapat dijalankan untuk pemrograman wireless. J2ME merupakan salah satu teknologi Java yang dikembangkan untuk pembuatan aplikasi-aplikasi perangkat wireless. Seperti teknologi Java yang lain, J2ME terdiri atas beberapa komponen. Antara lain yaitu :
a. Java Virtual Machine (JVM). Komponen ini digunakan untuk menjalankan program-program Java pada emulator.
b. Java API (Aplication Programing Interface). Komponen ini merupakan kupulan library yang digunakan untuk menjalankan dan mengembangkan program Java pada handphone.
c. Tools. Komponen ini digunakan untuk pengembangan apliaksi Java, semacam emulator Java Phone.
Connected Limeted Device Configuration (CLDC)
CLDC atau Connected Limited Device Cofiguration adalah perangkat dasar dari J2ME, spesifikasi dasar yang berupa library atau API yang diimplementasikan pada J2ME, seperti yang digunakan pada telepon selular, pager, dan PDA. Perangkat tsb dibatasi dengan keterbatasan memory, sumber daya, dan kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal pada package, class, dan sebagian fungsi Java Virtual Machine yang dikurangi agar dpat diimplementasikan dengan keterbatasan sumber daya pada alat tersebut, JVM yang digunakan adalah KVM (Kilobyte Virtual Machine).
Mobile Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profil J2ME. MIDP memilik lapisan diatas CLDC, API tambahan untuk daur hidup aplikasi, antar muka, jaringan, dan pemyimpanan persisten. Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0. Fitur tambahan pada MIDP 2.0 dibandingkan MIDP 1.0 adalah API untuk multimedia. Pada MIDP 2.0 terdapat dukunagan memainkan tone, tone sequence, dan file WAV walaupun tanpa adanya Mobile Media API (MMAPI).
MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari class javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP. MIDlet berupa sebuah class abstrak yang merupakan subclass dari bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat bisa terbentuk.
Daur Hidup MIDlet
MIDlet terdiri dari beberapa method yang harus ada, yaitu contructor(), protected void startApp() throws MIDletStateChangeException, protected void pauseApp(), protected void destroyApp (Boolean unconditional) throws MIDletStateChangeException.
Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada startApp(). Metode yang ada tersebut diimplementasikan sebagai protected, hal ini dimaksudkan agar MIDlet lain tidak dapat memanggil method tersebut. Pada saat pemakai keluar dari MIDlet, maka method destroyApp() akan dijalankan sebelum MIDlet benar-benar tidak berjalan lagi. Method notifyDestroyed() akan dipanggil sebelum MIDlet benar-benar tidak berjalan lagi, DestroyApp() akan memanggil notifyDestroyed(), dan notifyDestroyed() akan memberi tahu platform untuk menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada MIDlet
J2ME Wireless Toolkit.
J2ME Wireless Toolkit adalah perkakas yang menyediakan lingkungan emulator, dokumentasi beserta contoh-contoh aplikasi JAVA untuk perangkat kecil. J2ME WTK berbasiskan pada CLDC dan MIDP. J2ME WTK adalah program yang meniru kerja ponsel yang mendukung MIDP atau yang disebut emulator. Oleh karena itu, belum tentu MIDlet yang berjalan di emulator juga berjalan pada ponsel yang sebenarnya, karena juga bergantung pada kemampuan dan kapasitas ponsel yang digunakan. Edisi mikro yang digunakan untuk penerapan teknologi Java pada peralatan elektronik seperti handphone, PDA, dll.
• J2SE : Java 2 PlatForm, Standard Edition. Merupakan teknologi Java edisi standar yang digunakan untuk penerapan teknologi Java pada computer desktop karena Java 2 Standard Edition mencakup core dari bahasa pemrograman Java, memuat library-library inti yang dibutuhkan seperti IO, Networking dan JDBC.
• J2EE : Java 2 PlatForm, Enterprise Edition. Java 2 Enterprise Edition adalah pengembangan Java untuk solusi enterprise, mulai dari aplikasi berbasis Web dengan Servlet dan JSP, aplikasi terdistribusi dengan EJB, sebagaimana aplikasi integrasi enterprise seperti Web Service. Edisi ini biasanya digunakan untuk penerapan teknologi Java pada computer server.
Berikut adalah kumpulan library dasar di Java :
• java.lang : paket yang berisi kelas - kelas elemen dasar ( untuk melakukan pemrograman ). Paket ini diimpor oleh kompiler ke semua program java secara otomatis.
• java.io : paket yang berisi kelas - kelas untuk melakukan manipulasi masukan dan keluar ( input dan output ) termasuk penanganan masalah file
• java.util : paket yang berisi kelas - kelas pelengkap seperti kelas struktur data dan kelas penanggalan
• java.net : paket yang berisi kelas - kelas yang memungkinkan komputer saling berinteraksi dengan komputer yang lainnya melalui jaringan TCP / IP
• java.awt : paket yang berisi kelas - kelas yang memungkinkan programmer untuk membuat aplikasi dengan antarmuka grafis, Graphical User Interface ( GUI )
• java.awt.peer : merupakan paket yang berisi keseluruhan definisi interface. Setiap antarmuka java.awt.peer berkaitan dengan salah satu atau java.awt Komponen Menu Component. The Interface dalam paket ini menentukan metode yang harus didukung oleh komponen GUI pada platform tertentu.
· Java Swing : merupakan librari java yang digunakan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality.
Komponen Swing
Package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Komponen Swing ditulis menyeluruh menggunakan Java. Kesimpulannya, program GUI ditulis menggunakan banyak kelas dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada beda paltform. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperticolor chooser dan option pane.
Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama komponen tersebut menjadi Jbutton class.
Dalam ranah antarmuka pengguna, komponen merupakan bagian fundamental di Java. Pada prinsipnya, segala sesuatu yang kita lihat di tampilan aplikasi Java adalah suatu komponen—misalnya window, menu, dan button.
Di sisi lain, container adalah jenis komponen yang “menampung” dan mengelola komponen-komponen lainnya. Idealnya, suatu komponen harus diletakkan di sebuah container agar ia dapat digunakan.
Secara umum ada lima bagian dari Swing yang akan sering kita gunakan. Komponen atau bagian – bagian itu adalah:
1. Top-level Container, merupakan container dasar di mana komponen lainnya diletakan. Contoh Top-level container ini adalah Frame, Dialog dan Applet yang diimplementasi dalam class JFrame, Jdialog, dan JApplet.
2. Intermediate Container, merupakan komponen perantara di mana komponen lainnya akan diletakan. Salah satu contoh container ini adalah class JPanel.
3. Atomic Component, merupakan komponen yang memiliki fungsi spesifik dan biasanya user berinteraksi langsung dengan komponen jenis ini. Contohnya adalah JButton, JLabel, JTextField, dan JTextArea.
4. Layout Manager, berfungsi untuk mengatur bagaimana posisi dari komponen – komponen yang diletakan pada container. Secara default terdapat 5 macam layout yaitu berupa class BorderLayout, BoxLayout, FlowLayout, GridBagLayout, dan GridLayout.
5. Event Handling, untuk menangani event yang dilakukan oleh user misalnya menekan tombol, mengkilik mouse dan lain – lain.
Features pada Swing diantaranya:
1. Swing GUI Component
Swing Toolkit memiliki beragam komponen GUI, mulai dari komponen sederhana (button, check boxes) hingga komponent komplex seperti tabel dan text. Anda pun dapat membuat komponen anda sendiri.
2. Java 2D API
Dengan Java 2D API , kita dapat dengan mudah menambahkan images, drop shadow, dan lain lain kedalam aplikasi GUI kita.
3. Pluggable Look and Feel Support
Setiap program yang menggunakan Swing Component, dapat diubah tampilannya. Banyak sekali pilihan tampilan yang nantinya dapat kita gunakan dalam pembuatan GUI ini.
4. Data Transfer
Anda dapat menerapkan Data Transfer (Copy, Paste, Drag and Drop pada Swing)
5.Internationalization
Dengan adanya Internationalization, developer dapat membuat software sesuai dengan bahasa negaranya sendiri-sendiri, juga mensupport character dari berbagai negara seperti Japanese, Chinese, Korean.
6. Undo Framework API
Dengan Swing Undo Framework, maka developer dapat menggunakan undo dan redo seperti pada text component. Java Swing mensupport unlimited undo dan redo.
7. Flexible Deployment Support
Swing dapat dideploy ke dalam Applet yang dijalankan via browser. Dapat juga dideploy ke dalam standalone application dengan Java Web Start sebagai Standard Destop Application.
• java.applet : paket yang berisi kelas - kelas yang memungkinkan programmer untuk membuat antarmuka ( applet ) yang interaktif di web. Aplikasi java ini bisa disisipkan kedalam halaman HTML. Java applet bisa berjalan pada web browser yang telah mendukung java seperti mozilla, IE, dan chrome. Applet dirancang untuk berjalan ‘remotely‘ pada browser client, sehingga ada beberapa keterbatasan. Secara default, applet tidak bisa mengakses resource pada komputer lokal. Applet biasanya digunakan untuk membuat website lebih dinamis dan menghibur. Semua program yang ditulis dalam Java pasti memanfaatkan API Java ini. Java Applet adalah
Keuntungan Menggunakan Java Applet :
1. Bersifat lintas platform, dapat dijalankan pada Windows, Mac OS, dan Linux
2. Bisa berjalan pada semua versi plugin java
3. Bisa berjalan di dalam sandbox, sehingga user tidak perlu meninjau source-nya, karena ia berjalan tanpa persetujuan keamanan
4. Didukung oleh hampir semua browser
5. Applet bisa disimpan sebagai cache oleh sebagian besar webbrowser sehingga menjadi lebih cepat untuk dimuat ketika diakses berikutnya
6. Applet bisa memiliki akses penuh ke dalam komputer jika user mengijinkan
Kerugian Menggunakan Java Applet:
1. Memerlukan plugin Java
2. Java applet memerlukan JVM sehingga saat pertama dijalankan, akan memakan waktu cukup lama
3. Jika applet tidak di-cache kedalam komputer lokal, maka proses download akan memakan waktu lama
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. Sebuah Deployment Environment
Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya.
Terdapat dua komponen utama dari Deployment Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas – kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java.
4. KARAKTERISTIK JAVA
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut:
1. Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3. Dapat didistribusi dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
4. Interpreter
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime Exception handling untuk membantu mengatasi error pada pemrograman.
6. Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.
8. Portabel
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
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.
5. FITUR JAVA
Fitur dari Java yang penting diuraikan seperti berikut :
• JVM (Java Virtual Machine) 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 dengan bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java diciptakan dengan file teks berekstensi .java. JVM merupakan jantung dari Java Platform. JVM ini adalah pihak yang bertanggung jawab untuk mengeksekusi program Java menjadi bahasa mesin untuk diproses oleh prosesor. JVM mampu menerjemahkan code-code Java ke hampir semua platform. JVM ini-lah yang membuat Java "write once, run everywhere" alias multi-platform.
· JRE (Java Runtime Environment) adalah sesuatu yang memungkinkan sebuah program Java dapat berjalan di mesin Anda. JRE ini mengeksekusi binary-binary dari class-class dan mengirimnya ke JVM untuk diproses lagi ke prosesor. Setiap JRE pasti memiliki sebuah JVM di dalamnya untuk melakukan pemrosesan selanjutnya
· JDK (Java Development Kit). Seperti namanya, JDK adalah semacam kotak peralatan (kit) yang digunakan untuk development. JDK ini berguna saat Anda menulis code program. Seperti halnya JRE, JDK juga memiliki JVM di dalamnya.
· SDK (Software Development Kit). Ini lain lagi ceritanya. SDK ini biasanya adalah kumpulan dari tools yang dibutuhkan untuk membuat serta menjalankan program. Jadi di dalam SDK itu ada JDK-nya, ada JRE-nya serta mungkin IDE-nya juga.
• Garbage Collection. Banyak bahasa pemrograman lain yang mengijinkan seorang programmer mengalokasikan memori pada saat dijalankan. Namun setelah meggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat mengginakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.
• 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.
Java juga menyediakan beragam teknik pengamanan lain :
• Bahasa dirancang untuk mempersuli eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programmer 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 programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi.
• 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.
Sebuah standar aplikasi java sudah dibundel dalam sebuah paket pada Java SDK. Terdapat beberapa platform SDK yang digunakan dalam pemrograman Java seperti :
• J2EE merupakan teknologi program Java yang sudah diterapkan pada aplikasi computer server. Java EE biasanya sudah dibundel pada paket development tools maupun application server yang kita gunakan.
• J2SE merupakan teknologi program Java yang pada umumnya digunakan untuk computer dekstop / PC.
• J2ME merupakan teknologi program Java yang diterapkan pada aplikasi mobile seperti pada handphone dan PDA.
• Java Card merupakan teknologi pemrograman Java yang diimplementasikan untuk kebutuhan desain peralatan elektronik yang memiliki sangat sedikit memori, misalnya smart card dan ATM.
• JavaFX Script Technology merupakan teknologi java yang digunakan untuk aplikasi scripting untuk sangat produktif, yang memungkinkan pembuat content ( content developers ) untuk membuat media yang kaya dan content untuk deployment pada Java environment.
6. APLIKASI JAVA
Berikut ini adalah beberapa aplikasi java yang banyak digunakan oleh pengguna dan sering dimanfaatkan antara lain :
Ø Aplikasi facebook
Facebook termasuk dari salah satu social networking platform yang paling populer. Jejaring seperti Facebook tidak hanya menghubungkan satu orang dengan orang lainnya di dunia tanpa batas, akan tetapi menciptakan komunikasi atas profil, kegemaran, dan terutama pencitraan. Tidak mengherankan apabila jejaring sosial (social networking) seperti Facebook sering dimanfaatkan untuk keperluan promosi, kampanye, bahkan propaganda. Tidak hanya untuk mengkomunikasikan citra individu, akan tetapi termasuk pula kelompok, organisasi, maupun produk.
Di tahun 2008 lalu, Facebook bahkan mampu mengalahkan popularitas jejaring sosial ternama lainnya seperti MySpace, Friendster, dan Multiply. Siapapun bisa memanfaatkan ataupun mengoptimalkan Facebook Di sini disediakan dua buah ebook panduan menggunakan Facebook untuk pemula (for Dummies)dan tingkat lanjut (advanced user).
Aplikasi online Facebook tidak hanya mampu mengkomunikasikan melalui pesan, akan tetapi mampu pula menciptakan komunikasi interaktif online. Di antara situs jejaring sosial, Facebook memiliki fitur yang paling lengkap. Mereka yang memanfaatkan aplikasi jejaring online Facebook tidak hanya individu, akan tetapi kelompok, organisasi, dan bahkan suatu negara. Tentunya kita masih ingat ketika Israel pernah memanfaatkan Facebook (bersama dengan Twitter) untuk membela kepentingan mereka di Jalur Gaza.
Ø Aplikasi opera mini
Opera Mini adalah penjelajah web yang dirancang khusus untuk ponsel, dan juga untuk PDA Phone dan Smartphone. Penjelajah Web ini tersedia dalam Java , Android, Windows Mobile, iOS, BlackBerry OS, UIQ3, Symbian, dan Zeebo. Opera Mini adalah sebuah aplikasi yang gratis, didukung melalui kemitraan antara para pengembang, yaitu Opera Software, situs aplikasi gratis Gamejump, situs web Yahoo, dan Mesin Pencari Google.
Opera Mini berasal dari penjelajah web Opera untuk komputer pribadi, yang telah tersedia untuk umum sejak 1996. Opera Mini pada awalnya dirancang untuk ponsel yang telah mampu terkoneksi atau tersambung ke jaringan internet. Opera Mini pertama kali diperkenalkan pada tanggal 10 Agustus 2005sebagai pilot project dalam kerjasama dengan stasiun televisi Norwegia, TV 2. Sehingga pada saat itu, Opera Mini hanya tersedia untuk pelanggan TV 2.
Opera Mini terbaru mempunyai fitur yang tidak ada pada browser bawaan ponsel biasa yaitu mengupload file secara langsung. Opera Mini terkenal akan dengan kecepatan browsingnya yang cukup cepat, biasanya lebih cepat daripada browser bawaan ponsel. Keunggulan lainnya dari Opera Mini adalahtarifnya yang relatif lebih murah dari browser bawaan milik ponsel ini dikarenakan Opera Mini dapat mengkompres suatu halaman sampai 90%. Keunggulan yang menarik ialah dapat menyimpan halaman website yang dianggap penting atau menarik oleh penggunanya, dan selanjutnya disimpan di folder yang telah dipilih pengguna pada memori telepon atau kartu memori. Opera Mini juga dapat menyinkronkan bookmark, dan tekan cepat ke akun milik anda diKomunitas Opera. Versi Opera Mini 6 menyertakan fitur Share yang memungkinkan pengguna membagikan halaman yang dibaca ke account jejaring sosial Facebook, Twitter, dan My Opera.
Ø Aplikasi kamus
Aplikasi Kamus sangat berguna dalam berbahasa, tahap pembelajaran kamus berperan penting dalam memahami kosa kata. Semangat belajar berbahasa tentu dilengkapi fasilitas yang lengkap diantaranya kamus tebal yang di bawa-bawa sepanjang waktu. Anda tidak perlu repot lagi membawa kamus yang tebal, karena ada solusi jitu yang akan membantu untuk menyelesaikan masalah yang berhubungan dengan bahasa yang sulit untuk dimengerti. karena dengan menggunakan aplikasi kamus bisa mengurangi kepikunan sebab tanpa kita sadari aplikasi kamus mengajak agar orang sedikit berfikir dan menganalisa tentang bahasa yang ingin di mengerti. Karena dengan berfikir dan menganalisa itu dapat mengurangi kepikun dalam usia yang sudah lanjut usia.
Sesuai dengan konsep belajar bahasa yang menyarankan agar kita praktek kapanpun dan dimanapun kita merasa senang untuk belajar Software kamus ini ada dalam versi sesuai dengan sistem yang lebih banyak dipakai oleh pengguna aplikasi mobile yaitu dalam bentuk Java.
Ø Aplikasi game
Bermain game juga ada manfaatnya. Manfaatnya adalah melatih kepekaan, melatih problem solving, berpikir logis dan kreatif, dan yang paling berpengaruh adalah secara tidak langsung kita belajar bahasa Inggris. Manfaat yang terakhir ini sungguh luar biasa, kita sebagai orang Indonesia sangat buruk dalam mempelajari bahasa Inggris tetapi dengan bermain game mau tidak mau kita harus belajar bahasa Inggris agar kita bisa memecakan permasalahan yang ada didalam pemainan game agar kiata bisa memenangkan game itu. Karena bahasa yang digunakan dalam game pada umumnya adalah bahasa Inggris, dan dialog, pengantar, tips, pilihan yang ada memakai bahasa Inggris, sehingga semakin sering kita bermain game, kita secara tidak langsung telah berlatih bahasa Inggris. Hasil penelitian menyebutkan bahwa para pemain game ini memiliki fokus yang lebih terhadap apa yang terjadi di sekelilingnya, jika dibandingkan dengan mereka-mereka yang jarang main game, apalagi yang tidak main sama sekali.
Manfaat dari bermain game juga dapat dirasakan bagi orang yang sudah tua atau dengan kata lain lanjut usia karena dengan bermain game bisa mengurangi kepikunan sebab tampa kita sadari game mengajak pemainnya agar sedikit berfikir dan menganalisa bagaimana cara menyelesaikan permain game. Karena dengan berfikir dan menganalisa itu dapat ngurangi kepikun dalam usia yang sudah lansia. Ternyata maksud dari semua pembuat game dan kebanyakan programmer game adalah berusaha melatih kepekaan, problem solving, dan logika pemain ketika dihadapkan pada suatu keadaan yang kurang menguntungkan, dibumbui dengan kejutan2 dan ketegangan yang memompa adrenalin dan emosi. Contohnya : KONAMI, pembuat game SILENT HILL, dan developer game2 yang lain ingin mengatakan bahwa “dalam keadaan serba sulit, asal kita mau berusaha, pasti ada jalan keluarnya”
7. KELEBIHAN DAN KEKURANGAN JAVA
Keunggulan dan kekurangan Java adalah sebagai berikut:
a. Kelebihan Java
1) 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.
2) Berbasis OOP. (Object Oriented Programming – Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis oebjek 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.
3) Perpustakaan Kelas (Class Library) Lengkap. Java terkenal dengan kelengkapan perpustakaan/library (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.
4) Bergaya C++. Java 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 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.
5) 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).
b. Kekurangan Java
1) Tulis sekali, perbaiki di mana saja. Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
2) Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena koe jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data.
3) Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Tidak ada komentar:
Posting Komentar