Sejarah Java
Paradigma : OOP
Muncul Tahun : 1990-an
Perancang : Sun Microsystems
Sistem pengetikan : kuat, statis
Implementasi : banyak
Terpengaruh oleh : Objective-C, C++, Smalltalk, Eiffel
Mempengaruhi : C#, D, J#, PH
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.
Perkembangan Java dari awal muncul smapai sekarang antara lain :
Ø Java Modern
Ø 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.
Ø Just In Time Compiler (JIT)
Sun menyediakan kompiler Just In Time Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan dengan eksekusinya.
Versi Awal
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
· java.lang: Peruntukan kelas elemen-elemen dasar.
· java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
· java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
· java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
· java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
· java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
- Keuntungan yang Anda dapat dari Java :
· Mulai dengan cepat
· Tulis lebih sedikit program
· Tulis program lebih baik
· Membuat program dengan lebih cepat
· Tulis sekali, jalankan di mana saja
· Menghindari kebergantungan pada platform tertentu
· Distribusikan software Anda dengan mudah
- Kekurangan Java :
Ø Tulis sekali, jalankan di mana saja : Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain.
Ø 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.
Ø 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).
Program Java pertama Anda
1. Klik "File -> New -> Java Project"
2. Isi nama proyek (misalnya SelamatDatang), kemudian klik "Finish"
3. Setelah Eclipse membuat proyek untuk Anda, di bagian kiri workspace Anda akan melihat struktur direktori proyek Anda yang dimulai dengan nama proyek, folder src, dan folder JRE System Library
4. Klik kanan pada folder src, kemudian "New -> Package"
5. Isi nama package (misalnya selamatdatang), kemudian klik "Finish"
6. Klik kanan lagi pada folder selamatdatang, kemudian "New -> Class"
7. Isi nama class (misalnya SelamatDatang)
8. Karena class ini adalah class utama yang akan langsung dijalankan oleh JRE (Java Runtime Environment), click "public static void main(String[] args)" pada bagian "Which method stubs would you like to create?"
9. Klik "Finish"
10. Eclipse akan membuat program kosong yang berisi package dan class sesuai dengan nama yang Anda masukkan pada tahap sebelumnya .
11. Sekarang ketik program berikut di bawah "// TODO"
|System.out.println("Selamat Datang!"); |
12. Kemudian simpan hasilnya
Menjalankan program Java pertama Anda
ü Untuk menjalankan program Anda, klik "Run -> Run"
ü Di bagian bawah pada tab yang berjudul "Console" hasil program Anda ditampilkan
ü Program ini akan menampilkan tulisan Selamat Datang! seperti pada gambar berikut ini
ü Definisi paket (package)
Package dalam Java merupakan kumpulan dari berbagai kode yang terangkum dalam satu paket. Untuk memudahkan penulisan dan pembagian logika suatu program, satu paket terbagi menjadi beberapa berkas (file) di mana setiap file memiliki fungsi atau tugas yang sangat khusus.
ü Definisi Kelas
Kelas merupakan bagian integral dari bahasa Java karena Java merupakan bahasa berorientasi objek. Setiap aplikasi harus terdiri dari satu kelas. Di sini kita definisikan kelas SelamatDatang sebagai kelas utama.
ü Metode main
Metode main mirip dengan fungsi main pada bahasa C/C++ di mana fungsi ini merupakan pintu gerbang dimulanya suatu program. Metoda main dapat dipanggil dengan menyertakan variabel, baik hanya satu variabel, banyak variabel atau bahkan tidak ada sama sekali.
Variabel dan Tipe Data
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 typed language.
- Jenis-jenis Variabel :
ü Instance Variables (tidak statis)
ü Class Variables (statis)
ü Local Variables
Bahasa Java memiliki 3 jenis komentar :
ü /* text */ — Compiler akan mengabaikan kata kata antara /* dan */
ü /** documentation */ — Ini merupakan komentar yang dipergunakan khusus untuk dokumentasi. Kompiler akan mengabaikan komentar dari /* hingga */. Alat bantu javadoc akan memproses komentar dokumentasi untuk membuat dokumentasi secara otomatis dari sumber program.
ü // text — Kompiler akan mengabaikan segala sesuatu dari // hingga akhir baris
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.
1. 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 membutuhkan memori sebesar 64bit, yang artinya kita dapat menyimpan bilangan bulat hingga 2 ^ 64. Untuk merepresentasikan long integer, tambahkan huruf L pada akhir bilangan. Ex : int angka = 22L;
2. 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.
Ex : // huruf 'A' dalam ASCII
char huruf = '\u0041';
3. 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;
4. 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). 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;
5. Literal String
String merupakan untaian huruf dan angka yang tersusun menjadi satu kalimat. 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";
6. 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.
Contoh Program Variabel dan Tipe Data
Lihat cara mengimpor contoh-contoh program ke dalam Eclipse di Bab II - Instalasi.
package bungabank;
public class BungaBank {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/* Deklarasi variable */
double pokok; // nilai investasi
double sukubunga; // suku bunga bank
double bunga; // nilai bunga
/* Perhitungan */
pokok = 20000;
sukubunga = 0.10; // sama dengan 10%
bunga = pokok * sukubunga;
pokok = pokok + bunga;
/* Cetak hasil keluaran */
System.out.print("Bunga yang dihasilkan adalah Rp. ");
System.out.println(bunga);
System.out.print("Nilai investasi setelah 1 tahun adalah Rp. ");
System.out.println(pokok);
}
}
Berikut adalah hasil keluarannya :
String, Objek dan Subrutin
Subrutin adalah kumpulan instruksi program yang digabungkan sehingga memiliki fungsi tertentu. Nilai tipe String adalah objek yang memiliki kumpulan subrutin yang dapat digunakan untuk memanipulasi String tersebut. Kelas terdiri dari variabel dan subrutin yang disimpan di dalamnya. Variabel dan subrutin ini disebut static member (anggota statis).
Contoh Kode Program Sederhana Dalam Java
Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello, world!" and then exits
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello, world!");
}
}
Tahap Kompilasi Java
1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
3. Muat. Pemuat kelas memuat bytecodes ke memori.
4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’
Keyword di Java
Keyword adalah identifier yang digunakan Java untuk suatu tujuan khusus. Daftar keyword Java adalah sebagai berikut:
abstract | do | implements | private | this |
boolean | double | import | protected | throw |
break | else | instanceof | public | throws |
byte | extends | int | return | transient |
case | false | interface | short | true |
catch | final | long | static | try |
char | finally | native | strictfp | void |
class | float | new | super | volatile |
continue | for | null | switch | while |
default | if | package | synchronized | |
Tipe Data di Java
Tipe data dalam Java dibagi dalam dua kategori:
1. Sederhana
2. Komposit
Tipe data sederhana
Terdapat delapan tipe data primitif di Java:
- Empat tipe adalah untuk bilangan bulat: byte, short, int, long
- Dua untuk tipe angka pecahan (floating point): float, double
- Satu untuk tipe karakter, yaitu char
- Satu untuk tipe boolean yang berisi nilai logika: true/false
Tipe data integer
Tipe data integer memiliki jangkauan nilai sebagai berikut:
Panjang Integer | Tipe data | Jangkauan Nilai |
8 bit | byte | -27 to 27-1 |
16 bit | short | -215 to 215-1 |
32 bit | int | -231 to 231-1 |
64 bit | long | -263 to 263-1 |
Integer
Tipe | Tempat yang Diperlukan | Jangkauan (inclusive) |
int | 4 byte | - 2.147.483.648 sampai 2.147.483.647 (hanya lebih dari 2 miliar) |
short | 2 byte | - 32.768 sampai 32.767 |
long | 8 byte | - 9.223.372.036.854.775.808L sampai 9.223.372.036.854.775.807L |
byte | 1 byte | - 128 sampai 127 |
Tipe data Floating point
Tipe data ini digunakan untuk perhitungan yang melibatkan bilangan pecahan, seperti perhitungan kosinus, akar persamaan, dan sebagainya. Java mengimplementasikan standar himpunan tipe dan operator titik mengambang IEEE-754.
Keakuratan nilai untuk tipe data floating point adalah sebagai berikut:
Panjang Float | Tipe data | Nilai terbesar |
32 bit | Float | 3.40282e+38 |
64 bit | Double | 1.79769e+308 |
Tipe data Char
Tipe data char merupakan tipe data yang direpresentasikan dengan 16-bit Unicode character. Literal dari char harus berada diantara single quotes (‘ ‘)
Contohnya :
‘a’ huruf a
‘\t’ karakter tab
Terdapat pula beberapa barisan escape untuk karakter Unicode yang spesial, seperti berikut:
Barisan Escape | Nama | Nilai Unicode |
\b | Backspace | \u008 |
\t | Tab | \u009 |
\n | Linefeed | \u00a |
\r | Carriage return | \u00d |
\” | Petik ganda | \u0022 |
\’ | Petik tunggal | \u0027 |
\\ | Backslash | \u005c |
Tipe data Boolean
Tipe data boolean memiliki 2 literal yaitu : true dan false. Contoh, Statemen :
boolean truth = true;
mendeklarasikan variabel truth sebagai tipe data boolean dan memberikan nilai true
Tipe data komposit
Tipe data komposit merupakan tipe data yang disusun dari tipe data sederhana atau tipe komposit lain yang sudah ada. Tipe ini dapat berupa array, string, kelas, dan interface.
Khusus untuk String pada Java dikenali sebagai kelas, bukan sebagai array of character. String pada Java diapit oleh tanda petik ganda (“.....”), contoh:
String s=”Saya makan nasi”;
Operator di Java
Java memiliki beberapa jenis operator di antaranya:
- Operator unary:
Nama Operator | Simbol | Definisi |
Increment | ++ | Akan menambahkan nilai sejumlah satu |
Decrement | -- | Akan mengurangi nilai sejumlah satu |
- Operator aritmatika:
Nama Operator | Simbol | Deskripsi |
Penambahan | + | Menambahkan dua buah nilai |
Pengurangan | - | Pengurangan dua buah nilai |
Perkalian | * | Perkalian dua buah nilai |
Pembagian | / | Pembagian dua buah nilai |
Sisa bagi | % | Sisa pembagian dua buah nilai |
- Operator relasi:
Simbol | Deskripsi |
< | Kurang dari |
> | Lebih dari |
<= | Kurang dari atau sama dengan |
>= | Lebih dari atau sama dengan |
== | Sama dengan |
!= | Tidak sama dengan |
- Operator boolean:
Simbol | Deskripsi |
&& | AND |
|| | OR |
^ | XOR |
! | NOT |
OPERATOR
Assignment Operator ( = )
Shorthand assignment operator
Operator | Usage | Meaning |
+= | X += Y | X = X + Y |
-= | X -= Y | X = X – Y |
*= | X *= Y | X = X * Y |
/= | X /= Y | X = X / Y |
%= | X %= Y | X = X % Y |
Arithmetic Operator
Operator | Operation |
+ | Addition |
- | Subtraction |
* | Multiplication |
/ | Division |
% | Modulo |
Bitwise Operator
Operator | Operation |
& | AND |
| | OR |
^ | XOR |
>> | Shift Kanan |
<< | Shift Kiri |
>>> | Shift Kanan isi dengan nol |
Unary Operator
Operator | Operation |
~ | Unary NOT |
- | Minus |
++ | Increment |
– | Decrement |
Relational Operator
Operator | Operation |
== | Equal To |
!= | Not Equal To |
> | Greater Than |
< | Less Than |
>= | Greater or Equal To |
<= | Less or Equal To |
Logical Operator
Operator | Operation |
! | Short-circuit NOT |
&& | Short-circuit AND |
|| | Short-circuit OR |
?: | Operator ternary if-then-else |
Preseden Operator
Tertinggi | |||
() | [] | . | |
++ | – | ~ | ! |
* | / | % | |
+ | - | | |
>> | >>> | << | |
> | >= | < | <= |
== | != | | |
& | | | |
^ | | | |
| | | | |
&& | | | |
|| | | | |
?: | | | |
= | op= | | |
Terendah |
Struktur kontrol alur program
Percabangan
- if – else
Bentuk umum pernyataan if-else :
if (boolean expression) statement 1; [else statement 2; ]
- break
- switch
Bentuk umum pernyataan switch :
switch (expression)
{ case value1 :
Statement;
break;
case value2 :
Statement;
break;
case valueN :
Statement;
break;
default;
}
- return
Perulangan (Looping)
- while
Bentuk umum dari pernyataan while :
[initialization;]
while (termination)
{ body program ;
[iteration;]
}
- do-while
Bentuk umum pernyataan do – while :
[initialization;]
do
{ body program;
[iteration;]
}
while [termination];
- for
- Pernyataan koma
- continue
Tidak ada komentar:
Posting Komentar