Sabtu, 02 November 2013

Bahasa Pemprogaman JAVA

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 WindowsLinuxMac 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.

Tidak ada komentar:

Posting Komentar