Kamis, 04 Juli 2013
In:
JAVA
Mengenal Bahasa Pemrograman Java
Sejarah Java
Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991. Mereka membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe aslinya.
Java Modern
Java telah digunakan dalam banyak hal dan telah membuktikan keberadaannya pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut J2EE dan masih banyak lagi.
Java Virtual Machine (JVM)
Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa C untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program tersebut diubah menjadi KODE BYTE. Kemudian pada saat eksekusi, JVM membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti oleh sistem operasi tempat program tersebut dijalankan.
Karena JVM sangat bergantung pada platformnya (bahasa mesin merupakan bahasa level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel, tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh), byte code ini dapat dibuat untuk terbebas dari kungkungan platform tertentu. Code byte yang dihasilkan dalam proses kompilasi bahasa Java akan selalu sama untuk setiap sistem operasi atau jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut menjadi bahasa mesin tujuannya.
Just In Time Compiler (JIT)
Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa pemrograman lainnya. Sun menyediakan kompiler Just In Time Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan dengan eksekusinya. Walaupun demikian, pendekatan JIT ini menghasilkan kemampuan yang lebih dibandingkan dengan interpretasi biasa.
Kelebihan Java
Bahasa pemrograman lain yang telah ada sebelum Java lahir sudah merupakan bahasa yang baik dan mudah dipelajasi oleh programmer profesional. Akan tetapi para programmer ini menginginkan sesuatu yang baru yang memiliki banyak hal yang menyelesaikan masalah mereka. Utamanya adalah keamanan kode mereka. Hal ini melahirkan pikiran yang revolusioner untuk menemukan bahasa pemrograman lain yang disebut Java. Tidak hanya keamanan tapi juga beberapa hal yang sering disebut sebagai Java-Buzzwords. Kata-kata ini menjelaskan berbagai fitur tambahan dan beberapa hal yang membuat Java demikian sukses dan diterima oleh dunia perangkat lunak. Berikut ini adalah penjelasan serta keuntungan dari kata-kata tersebut.
Sederhana dan Berorientasi Objek
Seperti diuraikan sebelumnya, Java lahir dari suatu pemikiran mendalam akan bahasa pemrograman yang ada pada saat itu, seperti C dan C++. Hal ini akan memudahkan programmer profesional untuk dapat mengerti lebih jelas tentang Java, fungsionalitas, dan lain sebagainya apabila ia memiliki pengetahuan dasar tentang C++ dan konsep pemrograman berorientasi objek. Tujuannya agar konsep dasar dari teknologi Java dapat dimengerti dengan mudah, dan programmer dapat segera menghasilkan sesuatu sedini mungkin. Tidak hanya ini, penemu Java memastikan bahwa Java juga bermula dari bahasa pemrograman dasar yang sudah ada pada saat itu. Kemudian mereka membuang berbagai fitur yang rumit dan membingungkan.
Bahasa pemrograman Java didesain sejak awal untuk menjadi bahasa yang berorientasi objek. Setelah kira-kira 30 tahun, akhirnya teknologi objek menjadi kenyataan dan diterima oleh sebagian besar komunitas pemrograman. Konsep berorientasi objek memungkinkan pembuatan software yang kompleks, berbasis network, sehingga dapat disimpulkan bahwa teknologi Java menghasilkan platform pembuatan perangkat lunak yang baik dan efisien serta berorientasi objek.
Keuntungan yang Anda dapat dari Java
- Mulai dengan cepat: Java merupakan bahasa pemrograman berorientasi objek, mudah dipelajari, terutama untuk programmer yang sudah menguasai C atau C++
- Tulis lebih sedikit program: Jumlah kelas, jumlah metode, dll, menunjukkan bahwa program yang ditulis dalam bahasa pemrograman Java memiliki jumlah 4 kali lipat lebih kecil dari program sama yang ditulis dalam bahasa C++
- Tulis program lebih baik: Bahasa pemrograman Java menganjurkan praktek membuat program yang baik, dan automatic garbage collection membantu Anda untuk menghindari kebocoran memori. Orientasi objeknya, arsitektur komponen JavaBeans, dan jangkauannya yanga luas, API yang mudah diperluas, memungkinkan Anda menggunakan kode yang ada.
- Membuat program dengan lebih cepat: Bahasa pemrograman Java lebih mudah dari C++, pemrograman akan menjadi 2 kali lipat lebih cepat, dengan jumlah baris yang jauh lebih sedikit.
- Menghindari kebergantungan pada platform tertentu: Anda dapat menjalankan program Anda pada banyak platform dengan TIDAK menggunakan library yang ditulis spesifik untuk platform tertentu.
- Tulis sekali, jalankan di mana saja: Karena aplikasi yang ditulis dalam bahasa Java dikompilasi ke dalam kode byte yang bebas platform, aplikasi yang ditulis dapat jalan secara konsisten pada platform apa saja.
- Distribusikan software Anda dengan mudah: Dengan Java Web Start, pengguna program Anda akan dapat menggunakan aplikasi Anda dengan mudah. Sistem pengecekan versi otomatis pada saat program dimulai menjamin pengguna Anda selalu menjalankan versi terkini. Apabila versi baru tersedia, Java Web Start akan melakukan instalasi secara otomatis.
Memulai Java
Variabel dan Tipe Data
Nama merupakan hal penting dalam teknik pemrograman. Dalam suatu program, nama digunakan untuk menyebut sesuatu. Untuk menggunakan "sesuatu" tersebut, programmer harus mengerti bagaimana aturan pemberian nama dan aturan untuk menggunakan nama tersebut dalam programnya. Atau dengan kata lain, programmer harus mengerti sintaks dan semantik dari nama.
Menurut aturan sintaks Java, nama merupakan rangkaian dari 1 atau lebih karakter. Harus dimulai dengan huruf dan harus terdiri dari huruf, angka atau karakter garis bawah '_'. Berikut ini adalah contoh nama yang diperbolehkan:
N n rate x15 quite_a_long_name HelloWorld
Hurus kecil dan huruf besar dianggap berbeda, sehingga HelloWorld, helloworld,HELLOWORLD, dan heLLOwoRLD adalah nama yang berbeda-beda. Beberapa kata tertentu merupakan nama yang memiliki kegunaan tertentu oleh Java, dan tidak dapat dipergunakan oleh programmer. Kata-kata ini disebut reserved words (kata-kata cadangan) misalnya:class, public, static, if, else, while, dan lain-lain.
Hal lain yang penting adalah compound names atau nama campuran, yaitu yang merupakan nama biasa yang dihubungkan dengan titik, misalnya System.out.println. Idenya adalah "sesuatu" pada Java dapat terdiri dari "sesuatu" yang lain. Nama System.out.printlnartinya System menampung out dan out menampung println. Kita sebut "sesuatu" sebagaiidentifier (pengenal) tidak peduli apakah ia berupa nama tunggal atau campuran.
Program melakukan manipulasi data yang disimpan dalam memori. Dalam bahasa mesin, data hanya bisa diambil dengan menyebut alamatnya di memori. Dalam bahasa pemrograman tingkat tinggi seperti Java, nama bisa digunakan untk mengganti alamat data tersebut di memori. Tugas komputer adalah untuk melacak di mana data tersebut di simpan, sedangkan programmer menggunakan nama untuk memerintahkan komputer mengambil data tersebut dari memori. Nama yang digunakan seperti ini disebut variable.
Variabel sebenarnya berarti lebih kompleks. Variabel bukan isi dari data, tapi lokasi di memori yang menyimpan data tersebut. Variabel bisa diibaratkan sebagai kotak penyimpanan data, bukan isi kotaknya. Karena data di dalam kotak bisa berubah, variabel hanya dapat dipercaya pada satu saat saja, walaupun tempatnya selalu sama.
Dalam bahasa Java, satu-satunya cara untuk memasukkan data ke dalam variabel adalah dengan menggunakan assignment statement, atau pernyataan pemberian nilai. Pernyataan ini berbentuk:
variable = ekspresi;
di mana ekspresi menyatakan apapun yang berhubungan dengan nilai suatu data. Ketika komputer menjalankan instruksi ini, komputer akan menghitung dan menyimpan hasilnya ke dalam variabel. Contoh:
kecepatan = 40;
Variable dalam pernyataan di atas adalah kecepatan dan ekspresinya adalah angka 40. Komputer menghitung pernyataan ini dan menyimpan 40 ke dalam variabel kecepatan, dan mengganti apapun yang telah disimpan sebelumnya.
Sekarang misalnya kita ingin melakukan perhitungan yang lebih kompleks:
jarak = kecepatan * waktu
Di sini, * merupakan operasi perkalian. Komputer mengambil data yang disimpan dalam variabel kecepatan dan waktu, melakukan perkalian, dan menyimpan hasilnya dalamjarak.
Variabel dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe data. Kompiler akan menampilkan kesalahan sintax apabila variabel ini dicoba untuk diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa pemrograman bertipe kuat atau strongly typedlanguage.
Ada 8 tipe data primitif dalam bahasa Java.
Jenis Data
|
Deskripsi
|
Ukuran
|
Minimum
|
Maksimum
|
boolean
|
Hanya bisa berisi benar atau salah
|
1-bit
| ||
char
|
Karakter Unicode
|
16-bit
| ||
byte
|
Bilangan bulat
|
8-bit
|
-127
|
128
|
short
|
Bilangan bulat
|
16-bit
|
-32768
|
32767
|
int
|
Bilangan bulat
|
32-bit
|
-2147483648
|
2147483647
|
long
|
Bilangan bulat
|
64-bit
|
-9223372036854775808
|
9223372036854775807
|
float
|
Bilangan riil
|
32-bit
|
1.40129846432481707e-45
|
3.40282346638528860e+38
|
double
|
Bilangan riil
|
64-bit
|
4.94065645841246544e-324
|
1.79769313486231570e+308
|
Suatu variabel baru dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variabel digunakan untuk mendeklarasikan satu atau lebih variabel dan memberinya nama. Ketika komputer mengeksekusi deklarasi variabel, komputer akan menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variabel yang diberikan. Deklarasi variable berbentuk seperti :
nama_tipe nama_variabel;
nama_variabel dapat berupa sebuah nama variabel atau beberapa nama sekaligus yang dipisah dengan koma. Gaya pemrograman yang baik yaitu dengan mendeklarasikan satu variabel dalam satu pernyataan, kecuali variabel tersebut berhubungan erat satu sama lain. Misalnya:
float num;
String nama;
String nama;
boolean bol;
int x,y;
Atau pendeklarasian variabel bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut:
int num = 1000;
char ch = 'e';
float angka = -1.504;
boolean bol = true;
Jenis-jenis Variabel
Java memiliki beberapa jenis variabel yang dapat dikelompokkan sebagai berikut :
- Instance Variables (tidak statis). Dalam bahasa pemrograman berorientasi objek, objek menyimpan variabel yang tidak dideklarasikan dengan kata kuncistatic dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat dijelmakan ke dalam beberapa objek. Nilai yang terkandung dalam variabel tak-statis ini berbeda untuk setiap objeknya.
- Class Variables (statis). Variabel ini merupakan bagian integral dari suatu kelas, dan tidak ada satu objek pun yang dapat menyatakan kepemilikan atas variabel ini. Variabel yang dideklarasikan sebagai statis digunakan bersama oleh semua objek. Variabel ini lebih bersifat global yang nilainya sama untuk setiap objek pada kelas yang bersangkutan.
- Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method) atau dalam suatu prosedur. Variabel ini bersifat lokal karena hanya dapat diakses oleh metoda atau prosedur tersebut.
- Parameter. Paramater atau argumen adalah variabel yang digunakan pada saat suatu metoda atau prosedur dipanggil. Parameter berguna untuk memberikan nilai awal untuk diteruskan (pass) ke dalam suatu prosedur atau metoda.
Literal
Pada bagian ini akan dijelaskan tentang literal, yaitu rangkaian kata atau huruf yang menyatakan suatu nilai. Misalnya
int angka = 10;
Pada pernyataan di atas, yang dinamakan literal adalah 10, karena 10 berarti bilangan bulat atau integer. Pada bahasa pemrograman java, terdapat beberapa jenis literal yang melambangkan bilangan bulat, riil, kalimat, atau boolean.
Literal Bilangan Bulat
Bilangan bulat dapat dilambangkan dalam beberapa bentuk. Bilangan bulat biasa dilambangkan dengan deretan angka yang dimulai dengan angka yang bukan nol.
int angka = -10;
Bilangan oktal adalah bilangan bulat berbasis 8, yang berarti hanya dapat terdiri dari angka-angka 0 hingga 7. Bilangan oktal ditulis seperti bilangan bulat biasa dimulai dengan 0.
// 22 basis delapan atau 18 dalam desimal
int angka = 022;
Bilangan heksadesimal adalah bilangan berbasis 16. Bilangan heksadesimal dilambangkan dengan 0 hingga 9 dan a hingga f dan dimulai dengan 0x.
// 2a heksadesimal atau 42 dalam desimal
int angka = 0x2a;
Long integer. Seperti dijelaskan pada bab terdahulu long integer membutuhkan memori sebesar 64bit, yang artinya kita dapat menyimpan bilangan bulat hingga 2 ^ 64. Untuk merepresentasikan long integer, tambahkan huruf L pada akhir bilangan.
int angka = 22L;
Literal Karakter
Kita dapat melambangkan suatu karakter dengan tanda petik tunggal misalnya ‘a’ atau ‘3′ atau ‘=’. Suatu karakter dapat juga dilambangkan dengan kode ASCII nya. Caranya dengan memulainya dengan \u00 (garis miring terbalik) kemudian diikuti dengan kode ASCII nya dalam bentuk heksadesimal.
// huruf 'A' dalam ASCII
char huruf = '\u0041';
Selain itu ada beberapa karakter lain selain alfabet yang dapat dilambangkan dengan escape sequence. Berikut ini beberapa contohnya.
\n = tombol enter atau baris baru.
\r = carriage return.
\t = tombol tab.
\b = tombol backspace.
\\ = karakter \
\’ = karakter ‘
\” = karakter ”
Literal Boolean
Nilai true dan false pada java merupakan literal boolean. Suatu variabel bertipe boolean hanya dapat memiliki nilai true atau false.
boolean ok = true;
Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik tunggal seperti ekspresi pada karakter.
Literal Bilangan Riil
Bilangan riil, misalnya -0.00127 atau 415.842, pada java dapat disimpan baik sebagai float atau double. Bilangan real dapat direpresentasikan dalam bentuk desimal biasa, pecahan, atau eksponen (dilambangkan dengan e atau E).
Tipe
|
Ukuran
|
Rentang
|
Presisi (jumlah digit)
| |
bytes
|
bit
| |||
float
|
4
|
32
|
+/- 3.4 x 1038
|
6-7
|
double
|
8
|
64
|
+/- 1.8 x 10308
|
15
|
Imbuhan akhir d atau D dan f atau F dapat pula ditambahkan untuk menentukan tipenya secara eksplisit. Berikut beberapa contohnya.
double d = 3.27E+32;
float f = 4f;
float pi = 3.14159;
Literal String
String merupakan untaian huruf dan angka yang tersusun menjadi satu kalimat. Dalam bahasa java, string bukan merupakan tipe primitif, tetapi merupakan kelas. String pada java tidak disimpan dalam bentuk array seperti pada C. Java menyediakan beberapa metoda untuk melakukan penggabungan, modifikasi, atau perbandingan. String ditulis di antara dua tanda petik ganda seperti contoh berikut.
String salam = "Selamat Datang";
String juga dapat mengandung karakter spesial seperti dibahas pada literal karakter. Misalnya
String hallo = "Selamat Datang \"Bapak Presiden\"";
System.out.println("Hallo Bambang\nSelamat pagi,\nSemoga hari anda cerah\n";
Berikut ini adalah beberapa contoh lainnya.
// Contoh string kosong
String teks = "";
// Contoh string berisi "
teks = "\"";
// String dapat juga dipisah menjadi beberapa baris
teks = "ini baris pertama " +
"dan ini lanjutannya."
Literal Null
Literal terakhir pada bahasa java adalah literal null. Null merupakan kondisi di mana suatu objek tidak diberi alokasi memori. Pada saat suatu objek dideklarasikan, komputer akan mengalokasikan memori untuk objek tersebut. Apabila objek tersebut telah selesai dipergunakan, kita dapat melepas lokasi memori yang digunakan oleh objek tersebut sehingga memori itu dapat digunakan oleh objek lain. Berikut ini adalah contohnya
obj = null;
Literal null berfungsi memberi tahu garbage collector (pemulung memori) bahwa objek tersebut tidak lagi terpakai. Kemudian memori akan dilepaskan agar dapat digunakan oleh objek lain.
Dasar Sintaks:
Tentang program Java, sangat penting untuk diingat hal-hal berikut.
· Kasus Sensitivitas - Java adalah case sensitive yang berarti identifier Hello hello dan akan memiliki arti yang berbeda di Jawa.
· Nama Kelas - Untuk semua nama kelas huruf pertama harus dalam Kasus Atas.
Jika beberapa kata yang digunakan untuk membentuk nama kelas setiap huruf dalam kata-kata pertama harus dalam Kasus Atas.
Contoh kelas MyFirstJavaClass
Jika beberapa kata yang digunakan untuk membentuk nama kelas setiap huruf dalam kata-kata pertama harus dalam Kasus Atas.
Contoh kelas MyFirstJavaClass
· Metode Nama - Semua nama metode harus dimulai dengan huruf Kasus rendah.
Jika beberapa kata yang digunakan untuk membentuk nama metode, maka huruf pertama setiap kata dalam itu harus dalam Kasus Atas.
Contoh public void myMethodName ()
Jika beberapa kata yang digunakan untuk membentuk nama metode, maka huruf pertama setiap kata dalam itu harus dalam Kasus Atas.
Contoh public void myMethodName ()
· Program File Name - Nama file program sebenarnya yang harus sesuai dengan nama kelas.
Ketika menyimpan file Anda harus menyimpannya dengan menggunakan nama kelas (Ingat java adalah case sensitive) dan append ke akhir nama 'java.'. (Jika nama file dan nama kelas tidak sesuai program anda tidak akan mengkompilasi).
Contoh: Asumsikan 'MyFirstJavaProgram' adalah nama kelas. Maka file tersebut harus disimpan sebagai 'MyFirstJavaProgram.java'
Ketika menyimpan file Anda harus menyimpannya dengan menggunakan nama kelas (Ingat java adalah case sensitive) dan append ke akhir nama 'java.'. (Jika nama file dan nama kelas tidak sesuai program anda tidak akan mengkompilasi).
Contoh: Asumsikan 'MyFirstJavaProgram' adalah nama kelas. Maka file tersebut harus disimpan sebagai 'MyFirstJavaProgram.java'
· public static void main (String args []) - program pengolah java dimulai dari metode main () yang merupakan bagian wajib dari setiap program java ..
Praktikum 1
A. KONFIGURASI TEXTPAD
1. Klik Start – All Program – TextPad
2. Klik Configuration – Preferences pada TextPad
3. Pada bagian File, ubah default file menjadi java
4. Pada bagian Tools, harus tersedia Compile Java, Run Java Application dan Run Java Applet telah tersedia. Jika belum klikAdd dan pilih Java SDK Commands.
5. Klik Ok untuk menyimpan konfigurasi.
B.
MEMBUAT PROGRAM HelloWorld.java
|
public class HelloWorld {
public static void main (String[]args){
System.out.println(“ Hello World from JAVA”);
}
}
Maka Hasilnya seperti gambar dibawah ini;
C. MEMBUAT PROGRAM TesTipeData.java
class TesTipeData{
public static void main (String[]args){
byte b = 1;
short s = 100;
int i = 1000;
long l = 10000;
char c = ‘a’;
float f = 3.14f;
double d = 3.14;
boolean t = true;
final double PI = 3.14;
System.out.println(“byte “ +b);
System.out.println(“short“ +s);
System.out.println(“int “ +i);
I = 010;
System.out.println(“int “ +i+ “ octal mode");
I = 0XFF;
System.out.println(“int “ +i+ “ hexa mode");
System.out.println(“long “ +l);
System.out.println(“char “ +c);
System.out.println(“float “ +f);
System.out.println(“double “ +d);
System.out.println(“boolean “ +t);
System.out.println(“PI “ +PI);
}
}
Maka hasilnya seperti gambar dibawah ini:
D.
MEMBUAT PROGRAM TesKeputusan.java
|
class TesKeputusan{
public static void main (String[]args){
char jeniskelamin = ‘W’;
//nested if
if (jeniskelamin==’L’)
System.out.println(“Cowok”);
else If (jeniskelamin==’P’)
System.out.println(“Cewek”);
if
System.out.println(“Banci”);
//ternary
System.out.println(jeniskelamin==’P’? ”Dia pasti cowok.” : “Dia pasti cewek”);
//switch case
switch (jeniskelamin) {
case ‘P’ : System.out.println (“Cowok”);
break;
case ‘L’ : System.out.println (“Cewek”);
break;
default : System.out.println (“Banci”);
break;
}
}
}
E. MEMBUAT PROGRAM TesPerulangan.java
public class Tesperulangan{
public static void main (String[]args){
int i;
//for
System.out.println(“Perulangan For…”);
for (i=0; i<10; i++)
System.out.println(“Perulangan ke : “+i);
//while
System.out.println(“Perulangan While…”);
i = 0;
while (i<10) {
System.out.println(“Perulangan ke : “+i);
i++;
}
//do while
System.out.println(“Perulangan Do while…”);
i = 0;
do {
System.out.println(“Perulangan ke : “+i);
i++;
}
while (i<10);
}
}
Maka hasilnya sbb:
Langganan:
Postingan (Atom)