Bahasa pemrograman java merupakan salah satu bahasa pemrograman yang sering digunakan para programmer. Ada banyak alasan untuk kita para programmer muda mempelajari bahasa pemrograman java. Bahasa pemrograman java mempunyai syntax yang mirip dengan C++. Namun syntax pada pemrograman java telah banyak diperbaiki seperti multiple inheritance. Selain itu, java juga menggunakan automatic memory allocation dan memory garbage collection.
Java adalah bahasa pemrograman yang berorientasi objek. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan berinteraksi dengan objek-objek tersebut. Java dijalankan dengan Java Virtual Machine (JVM). Hal ini menyebabkan source code java yang telah dikompilasi menjadi java bytecodes dapat dijalankan pada platform yang berbeda-beda.
Java mempunyai reabilitas yang tinggi. Compiler pemrograman java mempunyai kemampuan untuk mendeteksi error yang lebih teliti dibandingkan bahasa pemrograman lainnya. Java juga mempunyai runtime Exception handling, yang dapat membantu mengatasi error pada pemrograman.
Java sangat aman untuk digunakan. Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java mempunyai mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menggunakan aplikasi tersebut.
Java adalah bahasa pemrograman yang berorientasi objek. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan berinteraksi dengan objek-objek tersebut. Java dijalankan dengan Java Virtual Machine (JVM). Hal ini menyebabkan source code java yang telah dikompilasi menjadi java bytecodes dapat dijalankan pada platform yang berbeda-beda.
Java mempunyai reabilitas yang tinggi. Compiler pemrograman java mempunyai kemampuan untuk mendeteksi error yang lebih teliti dibandingkan bahasa pemrograman lainnya. Java juga mempunyai runtime Exception handling, yang dapat membantu mengatasi error pada pemrograman.
Java sangat aman untuk digunakan. Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java mempunyai mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menggunakan aplikasi tersebut.
Java adalah bahasa pemrograman yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dalam platform independent. Platform independent yaitu sebuah bahasa pemrograman yang dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer. Semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung dieksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.. Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain.
Java Virtual Machine (JVM) sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter. Sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada Java Virtual Machine (JVM) di sana
2. KELEBIHAN JAVA
Bahasa pemrograman java memiliki banyak kelebihan, beberapa diantaranya seperti dibawah ini :
- Berorientasi objek (Object Oriented Programming). Dengan ciri-ciri sebagai berikut
- Abstraction : menandai masing-masing objek dengan karakteristik yang unik sehingga mudah dibedakan dan dipahami.
- Encapsulation : memisahkan elemen-elemen yang menyusunnya. Dengan menyembunyikan detail dari class; memaksa user untuk menggunakan interface dalam mengakses data; membuat code lebih mudah di-maintain.
- Inheritance : sebuah objek memerlukan properti dari objek yang lain.
- Polymorphism : membuat objek menjadi modular sehingga mudah untuk dipindah/dipakai lagi.
- Open platform/portable maksudnya ialah Dapat digunakan pada platform yang berbeda (Windows, Linux/UNIX, Solaris, Macintosh, etc) tanpa harus dilakukan perubahan. Java juga merupakan bahasa yang paling sesuai digunakan bersama XML, sehingga data menjadi portable
- Java sebagai bahasa, platform dan sekaligus arsitektur. Java memiliki fleksibilitas dan portabilitas yang sangat tinggi. Java dapat berada pada smartcard, handphone, PDA, Palm, TV, embedded device, etc.
- Multi-threading. Dalam program yang sama, memungkinkan untuk dilakukaan banyak thread secara independen dan kontinyu dalam sebuah eksekusi program.
- Automatic garbage collection. Fitur ini dapat membersihkan objek yang tidak terpakai dari memori.
- Secure. Java memang didisain untuk eksekusi yang aman pada jaringan. Banyak fitur-fitur C dan C++ yang dieliminasi, seperti pointer. Dan pada Java, program tidak dapat mengakses arbitrary memory.
Bahasa Java yang berkembang dapat dikategorikan menjadi :
- Java Micro Edition (JME). Khusus untuk aplikasi skala kecil, dan biasa digunakan untuk membuat aplikasi pada PDA atau mobile divice dan wireless lain. Contoh keluaran Sun adalah J2ME.
- Java Standart Edition (JSE). Ini yang biasa dikenal dengan bahasa Java. Banyak subset dari JSE untuk aplikasi yang berbeda-beda. Misalnya untuk networking, database, web, security, dll
- Java Enterprise Edition (JEE). Untuk aplikasi skala makro dengan kompleksitas tinggi. Aplikasi ini berbasis web.
- Java Card (JC). Untuk aplikasi khusus diimplementasikan pada pemrograman java
3. FITUR JAVA
Java api menyediakan fitur-fitur yang menarik bagi yang ingin menggunakan Java untuk mengembangkan aplikasi. Ada berbagai fitur yang ditawarkan oleh Java api antara lain sebagai berikut :
• Applet
Java applet merupakan program Java yang berjalan di atas browser. Dengan menggunakan Java applet, maka halaman html akan lebih dinamis dan menarik, sangat cocok untuk pengembangan aplikasi-aplikasi berbasis web.
• Java networking
Java networking merupakan sekumpulan api (application programming interface). Yang menyediakan fungsi-fungsi untuk aplikasi-aplikasi jaringan. Java networking menyediakan akses untuk tcp, udp, ip address dan url. Java networking tidak menyediakan akses untuk icmp dikarenakan alasan keamanan dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan protokol icmp.
• Java database connectivity (jdbc)
Jdbc menyediakan sekumpulan api yang dapat digunakan untuk mengakses database seperti oracle, mysql, postgresql, microsoft sql server.
• Java security
Java security menyediakan sekupulan api untuk mengatur security dari aplikasi Java baik secara high-level ataupun low-level, seperti public private key management dan certificates.
• Java swing
Java swing menyediakan sekumpulan api untuk membangun aplikasiaplikasi gui (graphical user interface) dan model gui yang diinginkan bisa bermacam-macam, bisa model Java, model motif/cde atau model yang dependent terhadap platform yang digunakan.
• Java rmi
Java rmi menyediakan sekumpulan api untuk membangun aplikasiaplikasi Java yang mirip dengan model rpc (remote procedure call) jadi object-object Java bisa di-call (dipanggil) secara remote (acak) pada jaringan komputer.
• Java 2d/3d
Java 2d/3d menyediakan sekumpulan api untuk membangun grafik-grafik 2d/3d yang menarik dan juga akses ke printer.
• Java server pages
Berkembang dari Java servlet yang digunakan untuk menggantikan aplikasi-aplikasi cgi, jsp (Java server pages) yang mirip asp dan php merupakan alternatif terbaik untuk solusi aplikasi internet.
• Jni (Java native interface)
Jni menyediakan 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.
• Java sound
Java sound menyediakan sekumpulan api untuk manipulasi sound.
• Java idl + corba
Java idl (interface definition language) menyediakan dukungan Java untuk implementasi corba (common object request broker) yang merupakan model distributed-object untuk solusi aplikasi besar di dunia networking.
• Java card
Java card utamanya digunakan untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti sim card pada handphone.
• Jtapi (Java telephony api)
Java telephony api menyediakan sekumpulan api untuk memanfaatkan devices-devices telephony, sehingga akan cocok untuk aplikasi-apliaksi cti (computer telephony intergration) yang dibutuhkan seperti acd (automatic call distribution), pc-pbx dan lainnya.
4. VARIABEL DALAM JAVA
Seperti halnya pada bahasa pemrograman pada umumnya, Java juga memungkinkan untuk mendeklarasikan variabel. Variabel merupakan satuan dasar penyimpanan dalam program Java. Suatu variabel didefinisikan dengan kombinasi identifier, tipe, dan cakupan. Pada dasarnya ada dua macam tipe variabel data bahasa Java, yakni tipe primitif dan tipe reference.
1. Tipe Data Primitif
Delapan macam tipe data primitif dalam pemrograman Java, yaitu :
a. Integer ( Bilangan Bulat )
Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal. Bilangan integer biasanya menggunakan int, dan bukan byte, short maupun long. Bilangan integer juga mengenal nilai positif dan negatif ( signed number ). Tipe data byte dan short hanya digunakan pada aplikasi khusus yang memperhatikan penggunaan memori. Sedangkan long jarang digunakan karena jarang memerlukan bilangan sebesar kapasitas long.
b. Floating Point ( Bilangan Pecahan )
Floating Point digunakan untuk menangani bilangan desimal atau perhitungan 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 diawali dan diakhiri dengan tanda ‘ ( petik tunggal ). Char berbeda dengan String, karena String bukan merupakan tipe data primitif, tetapi sudah merupakan 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. Misalnya : ‘\u123’ Selain karakter biasa, juga terdapat karakter khusus yang didefinisikan dengan cara mengawalinya menggunakan tanda \ .
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.
5. CONTOH PROGRAM SEDERHANA JAVA
A. Source Code Java
Berikut kode untuk HelloWorld.java:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Apa Kabar Dunia?");
}
}
Dan ini sebuah contoh lain, yaitu applet sederhana untuk menampilkan teks di applet. Sebutlah file ini bernama HelloWorldApplet.java:
import java.awt.Graphics;
public class HelloWorldApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
g.drawString("Apa Kabar Dunia?", 5, 25);
}
}
Secara gamblang dapat diperhatikan bahwa struktur kedua program sangat mirip, dan hanya berbeda dalam konteks eksekusi. setelah kita membahas cara mengkompile dan mengeksekusi program tersebut.
Perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga Anda harus memperhatikan penggunaan huruf besar dan kecil. Selain itu penulisan source code program tidak harus memperhatikan bentuk tertentu, sehingga Anda bisa saja menuliskan semua baris source code tersebut dalam satu baris asal Anda tidak lupa membubuhkan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tersendiri. Namun dianjurkan Anda mengikuti layout seperti pada contoh agar program Anda mudah dibaca dan dimengerti.
B. Kompilasi Java
Setelah kedua file disave dengan nama HelloWorld.java dan HelloWorldApplet.java, kita akan mengkompile kedua program tersebut dengan perintah:
prompt> javac HelloWorld.java
prompt> javac HelloWorldApplet.java
Perlu diperhatikan bahwa direktori aktif Anda saat ini adalah direktori tempat Anda meletakkan file-file program tersebut. Anda tetap dapat mengkompile program Anda dari direktori berbeda dengan perintah:
prompt> javac (direktori program)/namafile.java
Setelah perintah ini selesai, Anda akan melihat bahwa telah tercipta dua buah file .class, yaitu bytecode hasil kompilasi source code kita.
C. Sintaks Program Java
Sekarang kita akan mencoba membahas elemen-elemen dalam kedua source code tersebut. Pada awal Listing 2 kita menemukan perintah import. Pada tahap awal ini Anda perlu mengetahui bahwa pernyataan tersebut hanya berfungsi mempermudah penulisan metode atau dalam bahasa pemrograman lain disebut prosedur atau fungsi. Jadi Anda hanya perlu menulis Graphics sebagai pengganti java.awt.Graphics, karena kita telah mengimpor java.awt.Graphics.
Kemudian di masing-masing listing terdapat pernyataan public class. Pernyataan ini adalah pernyataan pembuka sebuah kelas. Kelas sendiri digunakan untuk menciptakan objek. Ingat bahwa Java berorientasi objek. Kata public di depannya berfungsi agar kelas tersebut dapat diakses oleh semua program lain. Untuk saat ini anggaplah objek sebagai suatu item yang dapat dimanipulasi oleh sebuah program. Dalam Listing 2 terdapat tambahan kata extends. Hal ini berarti kelas yang kita buat akan mewarisi sifat-sifat dari kelas yang kita extends. Dengan kata lain kita menjadikan kelas yang kita extends sebagai himpunan bagian dari kelas kita buat.
Kemudian kita menemukan baris pernyataan public static void main(String[] args) dan public void paint(Graphics g). Keduanya adalah pernyataan pembuka sebuah metode. Metode sendiri adalah kumpulan pernyataan untuk melakukan suatu tugas tertentu dalam kelas. Keduanya sebenarnya mempunyai fungsi yang sama namun dalam konteks yang berbeda. Dalam setiap aplikasi harus ada sebuah metode yang bernama main yang akan dieksekusi pertama kali saat program tersebut dieksekusi. Sementara dalam applet, metode yang pertama kali akan dieksekusi ketika applet diload adalah paint. Kata public di depannya mempunyai fungsi yang sama dengan kata public yang ada di depan baris permulaan kelas. Namun nantinya Anda akan menemukan juga bentuk lain seperti private dan protect yang akan kita bahas nanti.
Pada Listing 1 terdapat kata static pada pernyataan pembuka metode main. Hal ini berarti metode main tidak mengubah atau menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan berdiri sendiri dan tidak terikat dengan objek. Dalam metode main dalam aplikasi, parameternya adalah selalu String[] args, di mana args hanyalah sebuah nama dari objek array dari String. Array ini nantinya akan berisi parameter-parameter yang diberikan user sebagai argumen command line. Sementara Anda tidak perlu mengerti mengenai parameter tersebut, cukup diingat bahwa bentuk metode main harus selalu demikian.
Kemudian di dalam kedua metode pada kedua listing tersebut, kita menemukan sebuah pernyataan. Anda tentu dapat saja meletakkan lebih dari satu pernyataan dalam sebuah metode. Setiap pernyataan dalam sebuah metode dipisahkan oleh titik koma dan akan dieksekusi satu persatu. Kedua pernyataan pada listing ternyata memanggil sebuah metode lain yaitu metode println dan paint. Tentunya dapat Anda perhatikan bahwa untuk memanggil sebuah metode diperlukan tiga komponen yaitu:
- Objek yang ingin kita pakai. Dalam hal ini objek System.out dan Graphics g.
- Nama metode yang ingin kita pakai. Dalam hal ini println dan paint.
- Sepasang tanda kurung yang berisi informasi tambahan yang diperlukan oleh metode yang dipanggil, yaitu parameter.
Dalam Listing 1, pernyataan System.out.println("Apa Kabar Dunia?"); berarti carilah objek out dalam kelas System kemudian panggil metode println dari objek out dengan parameter berupa string "Apa Kabar Dunia?". Sedang dalam Listing 2, pernyataan g.drawString("Apa Kabar Dunia?", 5, 25); berarti carilah objek g kemudian panggil metode drawString pada objek g dengan parameter "Apa Kabar Dunia?”, 5, 25);.
thanx.....ini sangat membantu saya untuk belajar pemrograman java.
min bisa minta code java networking gak
sent to my email: amin_riza2@yahoo.co.id
ga lengkap ahh
ga lengkap ahh