Minggu, 20 Maret 2011

PENGENALAN JAVA & SEJARAH JAVA

PENGENALAN JAVA
SEJARAH JAVA
Proyek Java dimulai pada tahun 1991, ketika sejumlah insinyur perusahaan Sun Microsystem yang
dimotori oleh James Gosling memulai Green Project, yaitu proyek penelitian untuk membuat bahasa komputer
yang digunakan pada chip-chip embedded untuk peralatan konsumen (inteligent consumer electronic devices)
seperti remote TV.
Keharusan untuk membuat bahasa yang kecil , dan kode yang ketat mendorong mereka untuk
menghidupkan kembali model yang pernah dicoba oleh bahasa UCSD Pascal, yaitu mendesain sebuah bahasa
yang portable yang menghasilkan kode intermediate. Kode intermediate ini kemudian dapat digunakan pada
banyak komputer yang interpreternya telah disesuaikan.
Karena orang-orang Sun memiliki latar belakang sebagai pemakai unix sehingga mereka lebih
menggunakan C++ sebagai basis bahasa pemrograman mereka, maka mereka secara khusus
mengembangkan bahasa yang berorientasi objek bukan berorientasi prosedur. Seperti yang dikatakan Gosling
”Secara keseluruhan, bahasa hanyalah sarana, bukan merupakan tujuan akhir”. Dan Gosling memutuskan
menyebut bahasanya dengan nama “Oak” (diambil dari nama pohon yang tumbuh tepat diluar jendela kantornya
di Sun), tetapi kemudian nama Oak diubah menjadi java, karena nama Oak merupakan nama bahasa komputer
yang sudah ada sebelumnya.
Pada tahun 1994 sebagian besar orang menggunakan mosaic, browser web yang tidak diperdagangkan
yang berasal dari pusat Supercomputing Universitas Illinois pada tahun 1993.( Mosaic sebagian ditulis oleh
Marc Andreessen dengan bayaran $6.85 per jam, sebagai mahasiswa yang melakukan studi praktek. Di
kemudian hari ia meraih ketenaran sebagai salah seorang pendiri dan pemimpin teknologi di netscape)
Browser yang sesungguhnya dibangun oleh Patrick Naughton dan Jonathan Payne dan berkembang ke
dalam browser HotJava yang ada saat ini. Browser HotJava ditulis dalam Java untuk menunjukkan kemampuan
Java. Tetapi para pembuat juga memiliki ide tentang suatu kekuatan yang saat ini disebut dengan applet,
sehingga mereka membuat browser yang mampu penerjemahkan kode byte tingkat menengah. “Teknologi yang
Terbukti” ini diperlihatkan pada SunWorld ’95 pada tanggal 23 mei 1995, yang mengilhami keranjingan terhadap
Java terus berlanjut.
KEUNGGULAN JAVA
1. Sederhana (Simple), Java dimodelkan sebagian dari bahasa C++ dengan memperbaiki beberapa
karakteristik C++, seperti penambahan fungsionalitas, pengurangan kompleksitas. Contohnya, java
menghilangkan multiple inheritance dari C++ dengan menggunakan interface.
2. Berorientasi Objek (Object Oriented), dalam memecahkan masalah, bahasa Java membagi program
menjasi objek-objek, kemudian memodelkan sifat dan tingkah laku masing-masing objek. Kemudian Java
menentukan dan mengatur interaksi antar objek.
3. Terdistribusi (Distributed), fitur- fitur Java sangat mendukung teknologi internet yang saat ini berkembang
sehingga dapat mendukung pemrograman terdistribusi.
4. Multiplatform, Bahasa Java dapat diterjemahkan oleh java interpreter pada berbagai macam sistem
operasi (linux, windows, apple)
5. Multithreaded, thread adalah proses yang dapat dikerjakan oleh suatu program dalam suatu waktu. Java
bersifat multithreaded, sehingga dapat mengerjakan beberapa proses dengan waktu yang hampir
bersamaan.
TATA BAHASA JAVA
Pemrograman Java adalah kumpulan spasi, komentar, kata kunci, identifier, literal, operator, dan pemisah.
Contoh :
//FIRST PROGRAM IN JAVA
//display multiple lines
class helloworld {
public static void main(String args[ ]){
System.out.println("Welcome to Java\nHello world"); }
}
Output :
Welcome to Java
Hello World
Contoh GUI :
//FIRST PROGRAM IN JAVA
//display multiple lines
import javax.swing.JOptionPane; //Import class JOptionPane
class helloworld {
public static void main(String args[ ]) {
JOptionPane.showMessageDialog(null, "Welcome to Java\nHello World");
System.exit(0); //Terminate the program
}
}
Output :
SPASI
Java adalah bahasa bebas bentuk. Tidak perlu mengatur tata letaknya agar dapat bekerja. Asalkan ada
sekurang-kurangnya satu spasi, tab, atau baris baru diantara setiap token sebelum disisipi operator atau
pemisah lain.
KOMENTAR
Ada beberapa bentuk :
1. Komentar baris tunggal, Diawali dengan tanda // dan diletakkan diakhir baris yang diberi komentar.
2. Komentar baris banyak, Diawali dengan tanda /* dan ditutup dengan */ semua diantara kedua tanda
tersebut dianggap komentar dan akan diabaikan oleh compiler.
contoh penulisan : /*
* komentar…….
* komentar……
*/
3. Komentar terdokumentasi, Menggunakan piranti Javadoc, yang menggunakan komponen compiler Java
untuk secara otomatis menghasilkan dokumentasi antarmuka public suatu class. Aturan pembuatan
komentar yang dapat diolah oleh Javadoc adalah : sebelum deklarasi class, method, dan variabel public
harus digunakan komentar bertanda /** untuk menyatakan komentar dokumentasi, diakhiri dengan tanda */.
Javadoc akan mengenali sejumlah variabel khusus yang didahului dengan tanda @ didalam bagian
komentar.
contoh penulisan : /**
* komentar….
* komentar…
*/
KATA KUNCI (KEYWORDS)
Sampai dengan Versi 1.0 terdapat 59 kata kunci seperti terlihat dalam tabel :
abstract boolean break byte byvalue case cast catch
char class const continue default do double else
extends false final finally float for future generic
goto if implements import inner instanceof int interface
long native new null operator outer package private
protected public rest return short static super switch
synchronized this throw throws transient true try var
void volatile while
IDENTIFIER & VARIABEL
Identifier digunakan untuk nama class, method, dan variabel. variabel adalah satuan dasar
penyimpanan dalam program Java. Suatu variabel didefinisikan dengan kombinasi identifier, tipe, dan cakupan.
Bergantung pada tempat dideklarasikannya, variabel dapat bersifat lokal atau sementara, misalnya didalam
perulangan for, atau dapat juga berupa variabel instans yang dapat diakses oleh semua method dalam class.
Cakupan lokal dinyatakan dalam kurung kurawal.
Dengan aturan dasar penamaan:
1. Berupa urutan tertentu huruf (besar atau kecil), angka, garis bawah, dan tanda dolar.
2. Tidak boleh diawali oleh angka
3. Bersifat case sensitive.
4. Tidak boleh menggunakan operator
5. Tidak boleh menggunakan keyword
Kelompok Java mengikuti aturan penamaan identifier untuk semua method public dan variabel instans :
1. Jika nama variabel atau identifier terdiri dari 1 kata, maka semua dituliskan dengan huruf kecil, misal :
“harga”, “nama”, “alamat”.
2. Jika terdiri dari 2 kata atau lebih, maka diawali dengan huruf kecil dan menandai bagian kata
selanjutnya dengan huruf besar, misalnya “nextItem”, “currentValue”, “getTimeOfDay”.
3. Untuk variabel private dan lokal identifier akan berupa huruf kecil semua dikombinasikan dengan garis
bawah, misalnya “next_val”, “temp_val”.
4. Untuk variabel final yang mewakili suatu konstanta, digunakan huruf besar semua, misalnya
“TOK_BRACE”, “DAY_FRIDAY”.
LITERAL
Besaran konstanta pada Java dihasilkan dengan menggunakan literal yang mewakilinya. Setiap literal
merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana sifat nilai tersebut dan
bagaimana penyimpanannya.
SEPARATOR (Pemisah)
Simbol Nama Fungsi
( ) Kurung Digunakan untuk menghimpun parameter dalam definisi dan pemanggilan
method, juga digunakan untuk menyatakan tingkatan pernyataan, menghimpun
pernyataan untuk pengaturan alur program dan menyatakan tipe cast.
{ } kurung
kurawal
Digunakan untuk menghimpun nilai yang otomatis dimasukkan kedalam array,
juga digunakan untuk mendefinisikan blok program, untuk cakupan class, method,
dan lokal variabel.
[ ] kurung siku Digunakan untuk menyatakan tipe array, juga digunakan untuk membedakan nilai
array.
; titik-koma pemisah pernyataan.
, koma Pemisah urutan identifier dalam deklarasi variabel, juga digunakan untuk
mengaitkan pernyataan didalam pernyataan for.
. titik Dugunakan untuk memisahkan nama paket dari sub-paket dan class, juga
digunakan untuk memisahkan variabel atau method dari variabel referensi.
TIPE DATA
Ada 8 kategori tipe data primitif dalam java, yaitu :
Data Type Keyword Description Size/Format
byte Byte-length integer 8-bit two's complement
short Short integer 16-bit two's complement
int Integer 32-bit two's complement
Integers
long Long integer 64-bit two's complement
float Single-precision floating point Real Numbers 32-bit IEEE 754
double Double-precision floating point 64-bit IEEE 754
Others Types char A single character 16-bit Unicode character
boolean A boolean value (true or false) true or false
Konversi antar Nilai Numerik
Operasi biner apapun pada variabel numerik dengan tipe yang berbeda dapat diterima dan diperlakukan
dengan cara seperti dibawah ini :
1. Jika tipe operand adalah double, maka yang lain juga akan diperlakukan sebagai double pada lingkup
operasi tersebut.
2. Jika operand adalah float, maka yang lain juga akan diperlakukan sebagai float.
3. Jika operand adalah long, maka yang lain juga akan diperlakukan sebagai long.
konversi yang diijinkan adalah sebagai berikut :
byte  short  int  long  float  double
Dimana dapat diberikan nilai variabel suatu tipe disebelah kiri ke tipe disebelah kanannya.
OPERATOR
Arithmetic Operators
Operator Use Description
+ op1 + op2 Adds op1 and op2
- op1 - op2 Subtracts op2 from op1
* op1 * op2 Multiplies op1 by op2
/ op1 / op2 Divides op1 by op2
% op1 % op2 Computes the remainder of dividing op1 by op2
Operators increment/decrement
Operator Use Description
++ op++ Increments op by 1; evaluates to the value of op before it was incremented
++ ++op Increments op by 1; evaluates to the value of op after it was incremented
-- op-- Decrements op by 1; evaluates to the value of op before it was decremented
-- --op Decrements op by 1; evaluates to the value of op after it was decremented
Relational Operators
Operator Use Returns true if
> op1 > op2 op1 is greater than op2
>= op1 >= op2 op1 is greater than or equal to op2
< op1 < op2 op1 is less than op2
<= op1 <= op2 op1 is less than or equal to op2
== op1 == op2 op1 and op2 are equal
!= op1 != op2 op1 and op2 are not equal
Conditional operators
Operator Use Returns true if
&& op1 && op2 op1 and op2 are both true, conditionally evaluates op2
|| op1 || op2 either op1 or op2 is true, conditionally evaluates op2
! ! op op is false
& op1 & op2 op1 and op2 are both true, always evaluates op1 and op2
| op1 | op2 either op1 or op2 is true, always evaluates op1 and op2
^ op1 ^ op2 if op1 and op2 are different--that is if one or the other of the operands is true but not
both
Shift Operators
Operator Use Operation
>> op1 >> op2 shift bits of op1 right by distance op2
<< op1 << op2 shift bits of op1 left by distance op2
>>> op1 >>> op2 shift bits of op1 right by distance op2 (unsigned)
Logical Operators
Operator Use Operation
& op1 & op2 bitwise and
| op1 | op2 bitwise or
^ op1 ^ op2 bitwise xor
~ ~op2 bitwise complement
Assignment Operators
Operator Use Equivalent to
+= op1 += op2 op1 = op1 + op2
-= op1 -= op2 op1 = op1 – op2
*= op1 *= op2 op1 = op1 * op2
/= op1 /= op2 op1 = op1 / op2
%= op1 %= op2 op1 = op1 % op2
&= op1 &= op2 op1 = op1 & op2
|= op1 |= op2 op1 = op1 | op2
^= op1 ^= op2 op1 = op1 ^ op2
<<= op1 <<= op2 op1 = op1 << op2
>>= op1 >>= op2 op1 = op1 >> op2
>>>= op1 >>>= op2 op1 = op1 >>> op2
Other Operators
Operator Use Description
?: op1 ? op2 : op3 If op1 is true, returns op2. Otherwise, returns op3.
[ ] type [] Declares an array of unknown length, which contains type elements.
[ ] type[ op1 ] Creates and array with op1 elements. Must be used with the new operator.
[ ] op1[ op2 ] Accesses the element at op2 index within the array op1. Indices begin at 0
and extend through the length of the array minus one.
. op1.op2 Is a reference to the op2 member of op1.
( ) op1(params) Declares or calls the method named op1 with the specified parameters.
The list of parameters can be an empty list. The list is comma-separated.
(type) (type) op1 Casts (converts) op1 to type. An exception will be thrown if the type of op1
is incompatible with type.
new new op1 Creates a new object or array. op1 is either a call to a constructor, or an
array specification.
instanceof op1 instanceof op2 Ret

0 komentar:

Posting Komentar