Pengertian Java
Java menurut definisi dari Sun adalah mana untuk
sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada
computer stand alone ataupun pada lingkungan jaringan. Java 2 adalah generasi
kedua dari java platform. Kata berdiri di atas sebuah mesin interpreter yang
diberi mana Java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode
dalam file.class dari suatu program sebagai representasi langsung dari program
yang berisi bahasa mesin. Oleh karena itu, bahasa java disebut sebagai
bahasa pemrograman yang portable karena dapat dijalankan pada berbagai
sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Agar sebuah
program Java dapat dijalankan, maka file dengan ekstensi, java harus
dikompilasi menjadi file bytecode. Untuk menjalankan bytecode tersebut
dibutuhkan JRE (Java Runtime Environment) yang memungkinkan pemakai untuk
menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru
lagi. JRE berisi JVM dan library Java yang digunakan. Java memiliki beberapa versi
library atau teknologi yang disebut juga sebagai edisi dari bahasa pemrograman
Java. Tiga edisi utama dari library tersebut adalah Micro, Standard, dan
Enterprise. J2ME (Java2 Micro Edition) merupakan edisi library yang dirancang
untuk digunakan pada device tertententu seperti pagers dan mobile phone. J2SE
(Java2 Standard Edition) merupakan edisi library yang dirancang untuk membuat
aplikasi desktop atau applet pada web browser. J2EE (Java2 Enterprise Edition)
merupakan edisi librari Java yang dirancang untuk membuat sebuah aplikasi
enterprise yang memerlukan antarmuka dengan sumber data (data source) atau
dapat pula dikatakan bahwa J2EE adalah kelompok yang lebih besar dengan J2SE di
dalamnya.
Sejarah
Java
Bahasa Pemrograman Java pertama lahir 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 inidimotori oleh Patrick
Naughton, Mike Sheridan, James Gosling dan Bill Joy, 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 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.
Apa Yang dimaksud Dengan Teknologi Java
a. Sebuah Bahasa Pemrograman
Sebagai bahasa pemrograman, java dapat membuat seluruh bentuk aplikasi,
dekstop, web dan lainya. Sebagaimana dibuat dengan menggunakan bahasa
pemrograman konvensional yang lain. Java adalah bahasa pemrograman yang
berorientasi obyek (OOP) dan dapat dijalankan pada berbagai platfom sistem
operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi,
tetapi dikembamgakan untuk berbagai sistem opersi dan bersifat open source.
b. Sebuah Development Environment
Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools
: compiler, intepreter, penyusun dokumtasi, paket kelas dan sebagainya.
c. Sebuah Aplikasi
Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang
dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment
(JRE).
d. Sebuah Deployment Environment
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.
Karakteristik
Java
Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk
aplikasi,desktop, web dan lainnya, sebagaimana dibuat dengan
menggunakan bahasa pemrograman konvensional yang lain. Java adalah bahasa
pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem
operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi,
tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open
source.
Java memiliki
karakteristik berikut :
1. 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.
2.. Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanyalibraries networking
yang terintegrasi pada Java.
3. Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual
Machine(JVM). Hal ini menyebabkan source code Java yang
telah dikompilasi menjadi Javabytecodes dapat dijalankan pada
platform yang berbeda-beda.
4. 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.
5. Secure
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.
6. Architecture
Neutral
Program Java merupakan platform independent. Program cukup
mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java
Virtual Machine.
7. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang
berbeda-beda tanpa harus dikompilasi ulang.
8. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan
beberapa pekerjaan secara sekaligus dan simultan.
9. Dynamic
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.
Level Bahasa Pemrograman
Di sini muncul
pemeringkatan (levelling) bahasa pemrograman. Bahasa pemrograman yang lebih
rendah merupakan bahasa yang cenderung lebih dimengerti oleh komputer”.
Sedangkan bahsa yang lebih tinggi merupakan bahasa yang ”cenderung dimengerti
oleh manusia”. Terdapat beberapa tingkat bahasa pemrograman, antara lain :
Bahasa tingkat rendah
(low-level language), misalnya bahasa mesin, dan assembler.
Bahasa tingkat
menengah (medin-level language), misalnya bahasa C / C++, Foltran.
Bahasa tingakat tinggi
(high-level lanuage), misalnya bahasa pascal.
Bahasa tingkat lebih
tinggi (higher-level language), misalnya bahasa Java, DotNet.
Ciri khas dari bahasa
yang levelnya lebih rendah adalah kemampuan user untuk memanipulasi operasi
pada level hardware (misalnya, mengisi, mengedit, dan menghapus data memory dan
register) lebih tinggi. Sedangkan pada bahasa yang levelnya lebih tinggi,
kemampuan user untuk memanipulasi operasi pada level hardware lebih rendah.
Bahkan pada bahasa higher-level seperti Java, user benar-benar tidak dapat
melakukan manipulasi pada level hardware secara langsung, karena
operasi-operasi pada hardware (misalnya : pengalokasian memory, penghapusan
data pada memory) sudah dilakukan secara otomatis oleh Java Virtual Machine
(JVM).
Kelebihan dan Kekurangan Java
Kelebihan
Multiplatform. Kelebihan utama dari Java ialah
dapat dijalankan di beberapa 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.
§ OOP (Object
Oriented Programming - Pemrogram Berorientasi Objek) yang artinya
semua aspek yang terdapat di Java adalah Objek. Java merupakan
salah satu bahasa pemrograman berbasis objek 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.
§ Perpustakaan Kelas Yang Lengkap, Java
terkenal dengan kelengkapan library/perpustakaan (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.
Kekurangan
§ Mudah didekompilasi. Dekompilasi
adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan
karena kode jadi Java merupakan bytecode yang
menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas,
metode, dan tipe data. Dengan demikian, algoritma yang digunakan program akan
lebih sulit disembunyikan dan mudah dibajak.
§ 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.
Fitur
Dari Java
Java
Virtual Machine (JVM)
JVM
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 menjadi bebas dari platform maupun karena prose kompilasi
diselesaikan oleh JVM.
Aplikasi
program Java diciptakan dengan file teks berekstensi .java. program ini
dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih.
Bytecode adalah serangkaian intruksi serupa instruksi kode mesin. Perbedaannya
adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi
ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di
semua platform sistem komputer dan sistem operasi.
Garbage
Colletion
Program
Java melakukan garbage collection yang berarti program tidak perlu menghapus
sendiri obyek-obyek yang tidak perlu digunakan lagi. Fasilitas ini mengurangi
beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi
sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi
dinamis.
Code
Security
Code
Security terimplementasi pada Java melalui pengguanan Java Runtime Environment
(JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari
untrusted Java Code.
·
Pertama, class-loader
menagani permutaan kelas Java ke runtime interpreter. Proses ini menyediakan
pengamanan denagn memisahkan kelas-kelas yang bersal dari local disk dengan
kelas-kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan
karena kelas-kelas yang berasal dari local disk yang dimuat terlebih dahulu.
·
Kedua, bytecode
veryfier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi
aturan-aturan dasar bahasa Java.
·
Ketiga, manajemen
keamanan menagani keamanan tingkat aplikasi dengan mengendalikan apakah program
berhak mengakses sunberdaya seperti sistem file, port jaringan, proses
eksternal dan sistem windowin.
VARIABEL
JAVA
Bahasa pemrograman pada umumnya, mengenal adanya variabel yangdigunakan
untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenalsebagai bahasa
pemrograman dengan sifat strongly typed yang artinya diharuskan mendeklarasikan
tipe data dari semua variabel, dan apabila lupaatau salah mengikuti aturan
pendeklarasian variabel, maka akan mendapatkan error
pada saat proses kompilasi.Variabel merupakan container yang digunakan
untuk menyimpan suatunilai pada sebuah rogram dengan tipe tertentu. Untuk mendefinisikanvariabel,
kita dapat menggunakan identifier ntuk menamai variabel tersebut.
1.Identifier
Identifier adalah kumpulan karakter yang dapat digunakan untuk menamai
variabel, method, lass, interface, dan package. Sebagaimanabahasa pemrograman
pada umumnya, Java memiliki peraturan untuk identifier yang valid atau sah.
Identifier bisa disebut valid atau sah apabiladiawali dengan :-
Huruf / abjad-
Karakter mata uang-
Underscore ( _ )Identifier dapat
terdiri dari :-
Huruf / abjad-
Angka-
Underscore ( _ )
Identifier tidak boleh mengandung @, spasi atau diawali denganangka. Selain
itu, identifier tidak boleh menggunakan keyword ataukatakata yang memiliki arti
atau digunakan dalam pemrograman
Java.Daftar Keyword Java
:abstact double int strictfpboolean flse static superbreak fxtends long
switchbyte final native synchronizedcase finally new thiscatch float package
throwchar for private throwsclass goto protected transientconst if public
trycontinue implements return voiddefault import short volatiledo instanceof
interface while
Selain menggunakan
karakter biasa, kita juga dapat menggunakanunicode sebagai identifier.
2.Deklarasi Variabel
Sintaks dasar :
[tipe data] [nama
variabel]
Menuliskan tipe data
dari variabel, contoh :
int bilangan;char karakter;float
bildesimal;boolean status;
Setelah mendeklarasikan
variabel dengan tipe data, selanjutnyamemberikan nilai variabel tersebut dengan
tanda = .
bilangan = 20;
karakter = ‘k’;
bildesimal = 22.2f;status = true;
Dapat juga
mendeklarasikan dan memberikan nilai dalam satu baris.
int bilangan = 20;
char karakter = ‘k’;
float bildesimal = 22.2f;boolean status =
true;
Kita dapat membuat
variabel menjadi konstanta yang tidak dapatdiubah nilainya dengan menambahkan
keyword sebelum tipe data darivariabel.Contoh :
final int
konstantainteger = 10;final float pajak = 15.5;
Agar konstanta ini
dapat diakses oleh class lain tanpa harus membuat objek terlebih dahulu, maka
kita dapat menambahkan modifierpublic dan keyword static seperti berikut :
public static final konstantainteger
= 10;
TIPE DATA JAVA
Java memiliki tipe data
yang dapat dikategorikan menjadi duakelompok, yaitu tipe data primitif dan
referensi.
1.Tipe Data Primitif
Delapan macam tipe data
primitif dalam pemrograman Java, yaitu :
a.Integer ( Bilangan
Bulat )
Integer merupakan tipe
data numerik yang digunakan apabilatidak berurusan dengan pecahan atau bilangan
desimal. Tipe datanumerik yang termasuk integer adalah sebagai berikut :
Bilangan integer
biasanya menggunakan int, dan bukan byte,short maupun long. Bilangan integer
juga mengenal nilai positif dannegatif ( signed number). Tipe data byte dan
short hanya digunakanpada aplikasi khusus yang memperhatikan penggunaan
memori.Sedangkan long jarang digunakan karena jarang memerlukan bilangansebesar
kapasitas long.
b.Floating Point (
Bilangan Pecahan )
Floating Point
digunakan untuk menangani bilangan decimal atauperhitungan yang lebih detail
dibanding integer. Ada dua macamfloating point, yaitu :
Float : Memiliki nilai -3.4x108 sampai +3.4x108
dan menempati 4 byte dimemori
Doble: Memiliki nilai -1.7x10308 sampai +1.7x10308
Semua bilangan pecahan
atau desimal dalam Java tanpa diakhirihuruf
f akan dianggap sebagai
double. Sedangkan bilangan yang ingindikategorikan 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 ataudesimal akan dianggap
sebagai double.
Char
Char adalah karakter
tunggal yang didefinisikan dengan diawalidan diakhiri dengan tand
a „ (petik tunggal).
Char berbeda dengan
String, karena String
bukan merupakan tipe data primitif, tetapi sudahmerupakan sebuah objek. Tipe
char mengikuti aturan unicode, sehinggadapat menggunakan kode /u kemudian
diikuti bilangan dari 0 sampai65535, tetapi yang biasa digunakan adalah
bilangan heksadesimal dari
0000 sampai FFFF.
Misalnya : „ \u123‟
Boolean
Dalam Java dikenal tipe
data boolean yang terdiri dari dua nilaisaja, yaitu true dan false. Boolean
sangat penting dalam mengevaluasisuatu kondisi, dan sering digunakan untuk
menentukan alur program.
Tipe Data Referensi
Kelebihan pemrograman
berorientasi objek adalah dapatmendefinisikan tipe data baru yang merupakan
objek dari class tertentu.Tipe data ini digunakan untuk mereferensikan objek
atau class tertentu,seperti String.
OPERATOR JAVA
Operator Java merupakan
karakter khusus yang berupa simbol atautanda yang memerintahkan
Compiler untuk melakukan berbagai operasi terhadap
sejumlah operand . Perintah operasi dispesifikasikan oleh operator,dimana operand-nya
adalah variabel, pernyataan, atau besaran literal.Operator yang dibahas pada
bagian ini adalah operator aritmatika,increment dan decrement, assignment
(penugasan), relasi, logical, danbitwise.
1.Operator Aritmatika
Sama halnya dengan
semua bahasa pemrograman, Java menyediakanoperator-operator aritmatika untuk
manipulasi variabel data numerik.
2.Operator Increment
dan Decrement
Operator Increment dan
Decrement digunakan untuk menaikan ataumenurunkan suatu nilai integer (bilangan
bulat) sebanyak satu satuan, danhanya dapat digunakan pada variabel.Ada dua
versi operator increment maupun decrement, yaitu prefixdan postfix. Prefix
berarti operator digunakan sebelum variabel atauekspresi, dan postfix berarti
operator digunakan sesudahnya.
Operator Assignment (
Penugasan )
Operator assignment
dalam Java digunakan untuk memberikan
sebuah nilai ke sebuah
variabel. Operator assignment hanya berupa „=‟,
Operator Relasi
Operator relasi dalam
Java digunakan untuk menghasilkan nilaiboolean yang sering digunakan untuk
mengatur alur jalannya sebuahprogram.
Operator Logical
Operator ini digunakan
untuk ekspresi logik yang menghasilkan nilaiboolean. Operator-operator yang
digunakan adalah AND ( && ), OR ( ¦ ¦ )dan NOT ( ! )
Operator Bitwise
Operator ini dalam Java
digunakan untuk melakukan manipulasi bit
Bitwise AND
Bitwise AND akan
menghasilkan bit “1”,
jika kedua operator bernilai bit “1”.
Bitwise OR
Bitwise OR akan
menghasilkan bit “1”,
jika salah satu operator bernilai bit
“1”.
Bitwise XOR ( Exclusive
OR )
Bitwise XOR akan
menghasilkan bit “1”, jika kedua operator
memiliki nilai bit yang
berbeda.
Bitwise Complement
Bitwise Complement akan
menghasilkan bit yang berlawanandengan bit yang dioperasikan.
Operator Precedence
Operasi-operasi yang
menggunakan operator dapat melibatkan lebihdari 1 operator dan 1 operand.










