Java adalah sebuah bahasa
pemrograman komputer kompilasi bytecode yang tidak bergantung pada
sistem operasi atau platform dan termasuk berbasis pada object oriented
programming.
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.
Beberapa sifat-sifat / Karakteristik bahasa Java antara lain :
-
Platform Independence. Dapat dipindah-pindahkan di antara bermacam-macam platform dan SO. Begitu pula sourcecode-nya.
-
Program yang dihasilkan dalam bahasa Java dapat berupa applet (aplikasi kecil yang jalan di atas web browser).
-
Berupa aplikasi mandiri yang dijalankan dengan program Java Interpreter.
-
Setiap program yang ditulis dalam bahasa Java,
hasil kompilasinya berupa bytecode, yaitu sekumpulan instruksi yang
terlihat seperti kode mesin, tetapi tidak spesifik untuk satu jenis
prosessor tertentu.
-
Berbasis Object Oriented Programming.
-
Dan masih banyak lagi.
Keunggulan Java :
-
Sederhana
-
Berorientasi Object
-
Terdistribusi
-
Kuat / Robust = mengurangi bug / error
-
Aman = memungkinkan bebas virus
-
Netral Arsitektur = mudah diterjemahkan
-
Portable
-
Interpreter = diakses komputer yang memiliki interpreter.
-
Kinerja tinggi
-
Multithreaded = melakukan lebih dari satu pekerjaan.
-
Dinamis = mudah diadaptasikan untuk lingkungan yang akan berkembang.
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 :
-
Java Programming Language
-
Java Class file Format
-
Java Application Programming Interface (APIs)
-
Java Virtual Machine (JVM)
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).
Ide tentang Object Oriented
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.