Monday 13 April 2015

Pengertian JAVA

Apakah Java itu ? Java merupakan bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystem, suatu perusahaan yang terkenal dengan Workstation UNIX high-end. Sejak dirilis pada tahun 1995, bahasa pemrograman Java dengan cepat memperoleh popularitas di kalangan para pemrogram. Keberhasilan ini disebabkan teknologi baru yang diperkenalkan Sun Microsystems yaitu Java Virtual Machine (JVM), yang memungkinkan sebuah aplikasi dijalankan di atas platform apa saja sepanjang pada mesin tersebut dipasang JVM.
Program yang dihasilkan dengan bahasa Java dapat berupa applet (aplikasi kecil yang berjalan di atas web browser) maupun berupa aplikasi mandiri yang dijalankan dengan program Java Interpreter. Contoh program yang ditulis dengan bahasa Java adalah HotJava yang berupa sebuah web browser. Pada dasarnya sintaks pada bahasa Java mirip dengan sintaks pada bahasa C atau C++. Java bertipe kuat (strongly-typed). Ini berarti semua tipe data terikat secara statis atau dengan kata lain setiap nama variabel diasosiasikan dengan sebuah tipe data tunggal yang dikenali pada saat kompilasi.
Sejarah singkat Java
·         Java diciptakan setelah C++ oleh Sun microsystems.
·         Proyek Java dimulai tahun 1991 oleh sejumlah insinyur pada perusahaan Sun Microsystem Inc, dengan ide menggunakan bahasa komputer yang tidak mengacu pada sebuah arsitektur. Proyek ini diberi kode sandi Green.
·         Tahun 1992, proyek Green meluncurkan produk pertama ' *7 '.
·         Tahun 1993 dan separuh th 1994, berganti nama First Person, tetapi bubar.
·         Tahun 1995, dibuatlah browser yang mampu menerjemahkan kodebyte tingkat menengah. Dan bahasa Java mulai digunakan secara luas.

KARAKTERISTIK JAVA
Ciri utama dari program Java adalah :
·         JVM (Java Virtual Machine)
·         Garbage Collection
·         Code Security

Keuntungan dan Kelemahan dari Java

1.      Java merupakan bahasa pemrograman berorientasi objek (OOP).
2.      Memiliki tingkat fleksibilitas yang tinggi dan program Java bersifat modular serta kode dapat digunakan kembali.
3.      Java relatif lebih mudah untuk dipelajari.
4.      Java lebih sederhana, karena telah menghilangkan beberapa fitur dari C++ yang membingungkan dan sukar untuk dipelajari.
5.      Java memiliki kinerja yang tinggi dan handal.
6.      Java dapat dipergunakan sebagai penterjemah sehingga dapat digunakan pada lingkungan komputer jenis apapun tanpa merubah kode program kembali.
7.      Java memiliki tingkat keamanan yang sangat baik.
8.      Multithreading, sehingga program java dapat melakukan beberapa perintah (program) sekaligus.

Java dengan bahasa yang lain :
  • Java tidak sama dengan Javascript, salah satu contoh perbedaannya adalah javascript hanya terbatas pada fungsi browser, sedang Java mirip syntax dengan C++. Tetapi syntax Java tidak memerlukan header file, pointer arithmatic, struktur, union, operator overlading, class virtual dan lain-lain. Perancang tidak memperbaiki beberapa kelemahan pada C++, seperti switch statemen. Jika kita mengenal C++ dengan baik, akan lebih memudahkan berpindah ke syntax Java.

  • Jika kita menguasai Visual Basic, kita tidak berpendapat bahwa Java sederhana. Akan ada banyak syntax asing. Yang menarik di Visual Basic adalah lingkungan perancangan visual yang harus diprogram secara manual di Java.
·         Arsitektur Java
Arsitektur Java adalah kombinasi dari 4 komponen yaitu :
a.       Java Programming Language
b.      Java Class file Format
c.       Java Application Programming Interface (APIs)
d.      Java Virtual Machine (JVM)
e.       Java Virtual Machine (JVM)
  • JVM adalah mesin computing abstrak yang menerjemahkan kompiler program Java/jembatan antara program dan keunikan platform.\
  • JVM menyembunyikan kompleksitas platform dari program yang kita buat dan merupakan jantung program.
  • Secara sekilas lapisan tambahan tersebut menyebabkan aplikasi berjalan lambat dibanding aplikasi platform. Namun sekarang telah dikenal Just In Time (JIT) compiler. JIT ini membaca program java, dan segera melakukan kompilasi terhadap program java tersebut menjadi program spesifik platform. Contoh JVM pada web browser, begitu web browser misal Netscape menerima applet, ia akan mengkompilenya dengan JT (optimasi JIT dilakukan oleh para vendor).
·         Format File Class Java
  • JVM tidak dapat langsung menerjemahkan ke Java Programming language atau API sekalipun
  • Dalam Java, misalkan kita mengetik kode dengan text editor favorit, kemudian menyimpannya sebagai file dengan ekstensi Java. Lalu Java kompiler kita mengkompilasi kode tersebut menjadi Java Bytecode, tersimpan dalam ekstensi Calass. Java bytecode tersebut akan ditangani untuk dieksekusi oleh JVM yang saat ini ada dua modus dengan atau tanpa JIT.               
·         Java Programming Language (Bahasa aplikasi program Java)
·         Bahasa Program ini lebih mengacu pada core java programming. Diantaranya termasuk :
  • Method, Interface and class design, Threading, Even Handling, Perfomance and memory management, Controlling Access to Resources.
  • Aplication Programming Interface's (API's)
·         Beberapa Edisi program Aplikasi (API - Aplication Programming Interface)
  • J2SE - Java 2 Standard Edition - Platform ini berisikan paket Java standar dan GUI dalam Standard Edition mencakup :
1.      Swing Components (paket komponen aplikasi java dalam
    direktori JTree C : /
2.      J2sdkee 1.2.1 = java 2 SDK software platform.
3.      JavaStuff
4.       Jdk_1.3 = Java Development Kit, JRE termasuk di dalamnya.
5.       Jsse 1.0.1
6.      Data transfer API
7.      Printing API
8.      JDBC
9.       JNI (Java and nonjava code interface), dll
  • J2EE - Java 2 Enterprise Edition - Paket ini berisikan develop aplikasi berbasis web.
  • J2ME - Java 2 Micro Edition - Untuk produk konsumer lingkungan teknologi mobile.

PEMROGRAMAN BERBASIS OBJEK (OOP)
Java adalah bahasa yang termasuk dalam pemrograman berorientasi object. Berbandingan anologi aliran dan interaksi antar object antara Structured Procedural Programming (Basic, Pascal, C etc). Object mempresentasikan entitas pada dunia nyata. Dalam membuat mobil kita dimulai dari memecah-mecah kompleksitas sistem mobil ke dalam bagian kecil, seperti roda, kemudi, dan sebagainya.
Pada masing-masing bagian kecil itu kita definisikan field-field, seperti warna atau daya cengkeram. Selain itu, kita definisikan apa saja yang bisa dilakukan terhadap bagian-bagian itu. Perintah-perintah yang bisa diterima itu disebut method. Antarmuka dalam interaksi antar obyek tersebut adalah method-method yang dimiliki object. Objek-objek itu berinteraksi dengan saling memanggil method dari suatu objek, atau sering disebut message passing.
Tiga Pilar OOP :
  • Encapsulation
    Terdiri dari method-method dalam Class, tahapnya meliputi Constructor dan Destructor.
  • Inheritance (Pewarisan Sifat) Dengan inheritance, pengembang software dapat bekerja lebih efesien dan lebih cepat. Berkat inheritance, dapat digunakan definisi class yang sudah pernah dibuat sebelumnya untuk membuat class-class lain yang menyerupai class tersebut.
  • Polymorphism
    Polymorphism didefiniskan sebagai kemampuan beberapa objek bertipe sama, bereaksi secara berbeda terhadap message yang sama.
·         Object dan Class
·         Class adalah template untuk obyek-obyek yang memiliki sifat yang sama. Dalam menulis program yang berorientasi objek yang sebenarnya melainkan class dari objek tersebut.
·         Instance adalah kata lain dari objek. Dalam bahasa OOP kita harus terlebih dahulu membuat instance dari class tersebut. Jika Class adalah representasi generik dari objek, instance adalah representasi konkritnya.
·         Bahasa Java telah menyediakan Class Library, yaitu kumpulan class-class yang telah siap digunakan untuk membuat program-program baru. Class Library telah menyediakan class-class dasar seperti fungsi matematika, array string dan sebagainya hingga ke class untuk graphic, networking dan terutama internetworking (berbasis protokol TCP/IP).
Tujuan & Keuntungan dari Analis Berorientasi Obyek :
·         Lebih memahami inti permasalahan.
·         Dalam mengorganisasi analis dan spesifikasi dengan metode yang digunakan cara berpikir manusia.
·         Mengurangi jarak antara aktivitas analis yang berbeda dengan membuat atribut dan metode menjadi menjadi satu kesatuan.
·         Pewarisan dapat dilakukan dengan memberikan identifikasi sesuatu yang umum pada atribut dan metode.
·         Menjaga stabilitas atas perubahan kebutuhan pada system yang sama.
·         Hasil analisis dapat digunakan kembali.
·         Menghasilkan penggambaran yang konsisten.
Komponen JDK antara lain compiler(javac), interpreter(java) disebut juga java virtual machine atau java runtime environment, applet viewer(appletviewer), debugger(jdb), java class library(jcl), header dan stub generator(javah), dan yang paling penting yaitu java documentation(javadoc).

Penjelasan penggunaan komponen JDK :
1.      Kompilator (javac)
Bertugas untuk melaksanakan kompilasi
*.java menjadi *.class
Syntax umum : javac nama.java
2.      Interpreter (java)
Bertugas untuk menjalankan bytecode (*.class)
Syntax umum : java nama.class.

3.      Applet Viewer
Digunakan untuk menjalanakan applet viewer, namun sekarang sudah digantikan browser.
Syntax umum : appletviewer nama.html
4.      Java Debugger
Bertugas untuk melakukan debugging aplikasi java. Syntax umum : jdb option
5.      Java Class File Diassembler (javap)
Bertugas membuat daftar method dan attribute public dari suatu kelas.
Syntax : javap namaKelas
6.      Java Header and Stub Generator
Bertugas menerjemahkan bahasa yang ditulis dalam bahasa java menjadi bahasa C.
Syntax umum : javah namaKelas
7.      Java Documentation Generator
Menampilkan pustaka kelas, interface, constructor, dan method standard yang telah dibuat vendor. Dari hasil instalasi, dokumentasi ini dapat dilihat di pada  C:\java\docs\api\index.htmlatau
C:\Program Files\NetBeans3.6\docs\junit\index.html
8.      Source Code Java API
Source code ini dapat diperoleh dari file src.zip.

Untuk pemrogram pemula lingkungan pemrograman java dapat diringkas menjadi :
1.      Editing source code menggunakan editor teks.
2.       Compiling menggunakan keyword javac melalui command promp (dapat juga dari editor teks).
3.      Executing menggunakan :
a.       Keyword java melalui command prompt (dapat juga dari editor teks)
b.      Browser atau applerviewer untuk applet.

TOKEN
Token adalah elemen terkecil di program yang masih memiliki arti. Ada 5 token dalam bahasa java yaitu identifier, keyword, literal dan tipe data, operator, serta separator

IDENTIFIER
Identifier adalah token yang merepresentasikan nama sesuatu. Sesuatu tersebut adalah variabel, atau konstanta, atau attribute, atau method, atau kelas, atau package, atau interface, atau nama file, dan lain-lain.

KEYWORD
Kata kunci digunakan untuk suatu tujuan tertentu. Ada 51 keyword dalam java yaitu :

abstract
continue
for
new
switch
boolean
default
goto
null
synchronized
break
do
if
package
this
byte
double
implements
private
threadsafe
byvalue
else
import
protected
throw
case
extends
instanceof
public
throws
catch
false
int
return
transient
car
final
interface
short
true
class
finally
long
static
try
const
float
native
super
void




while

LIBERAL DAN TIPE DATA PRIMITIF
Literal adalah nilai variabel/attribute atau nilai konstanta atau nilai objek data. Ada tiga besaran literal dalam java yaitu angka, karakter, dan string. Angka terdiri dari byte, short, int, long, float, double, dan boolean (dianggap angka true = 1 atau false = 0) Semua variabel dan konstanta  yang akan digunakan harus dipesan terlebih dahulu dalam deklarasi.

Bentuk umum :
TipeData namaVar = ungkapan_atau_nilai;
TipeData namaVar1, namaVar2, …;
[modifier] static final TipeData NAMAKONSTANTA = nilai;

Contoh deklarasi :
double a=3, b=4;
double c = Math.sqrt(a*a+b*b);
static final PHI=3.14;
static final double CM_PER_INC = 2.54;
Berikut tabel jangkauan dan ukuran dari semua tipedata sederhana dalam java :
Tipe Data Primitif
Jangkauan
Ukuran (bit)
byte
-128 s/d 127
8
short
-32767 s/d 32767
16
int
-2147483648 s/d 2147483647
32
long
-9223372036854775808 s/d
9223372036854775807
64
char
sebuah Unicode
16
float
3.4e-038 s/d 3.4e+038
32
double
1.7e-308 s/d 1.7e+308
54
boolean
false = 0 atau true = 1
8

OPERATOR
Operator melakukan komputasi terhadap satu/dua objek data. Operan yang dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim method.

Berikut tabel dan hirarki operator :
Prioritas
Kelompok Operator
Keterngan
1
.  []  ()
Sekaligus
2
++var, –var, ~, instanceof
preincrement, predecrement, unary, instance dari kelas …
3
(type) (casting)

4
!
Not
5
*, /, %
perkalian, pembagian, modulus
6
+, -
penjumlahan, pengurangn
7
<<, >>, >>>
geser untuk bil biner
8
<, >, <=, >=
pembandingan
9
==, !=
kesamaan, ketidaksamaan
10
&
and
11
^
exclusive or
12
|
unconditional or
13
&&
conditional and
14
||
conditional or
15
? :
shorthand untuk if..then…else…
16
=, +=, -=, *=, /=, %=, ^=
operator penugasan
17
&=, |=, <<=, >>=, >>>=
operator penugasan
18
var++, var–
postincrement, postdecrement

SEPARATOR
Separator menginformasikan ke compiler java mengenai adanya kelompok kode program.

Berikut adalah daftar separator di java :
Notasi
Nama
Deskripsi
(…)
kurung
mengelompokkan parameter method.
{…}
kurung kurawal
mengelompokkan nilai-nilai suatu array, mendefinisikan blok kode kelas ataupun kode method.
[…]
kurung siku
mendeklarasikan tipe array
:
titik koma
mengakhiri pernyataan, merangkai pernyataan-pernyataan di dalam for.
,
koma
memisahkan identifier-identifier di bagian deklarsi variable.
.
titik
memisahkan nama-nama package, memisahkan kelas dari objek,
dan objek dari method.


KEYWORD BREAK, CONTINUE AND RETURN

Kelompok keyword ini pada prinsipnya merupakan kendali jump (variasi lain dari goto), sehingga berakibat pengabaian sisa instruksi.

No comments:

Post a Comment