Lee Hyuk Jae

Lee Hyuk Jae

Sabtu, 01 Desember 2012

PENGERTIAN JAVA

 Java dibuat pada tahun 1995 di Sun Microsystem,merupakan bahasa berorientasi objek danserbaguna. Kode Java dikompilasi dalamformat yang disebut bytecode. Bytecode dapatdijalankan di semua komputer yang telahdilengkapi dengan program Java Interpreterdan Java Virtual Machine. Java sangat populerkarena pada masa awal internet menyediakansarana untuk membuat program (yang disebutApplet) yang  berjalan pada web browser.Bahasa ini mendukung koneksi ke database,menyediakan sarana untuk membuat aplikasiberbasis Windows, dan juga dapat dipakai untuk pemrograman jaringan.
Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Kita lebih menyukai menyebut Java sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap dibanding sebuah bahasa pemrograman konvensional. Teknologi Java memiliki tiga komponen penting, yaitu:
· Programming-language specification
· Application-programming interface
· Virtual-machine specification

B. Java API

Java API terdiri dari tiga bagian utama:
· Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi desktop dan applets dengan bahasa dasar yang mendukung grafis, M/K, keamanan, konektivitas basis data dan jaringan.
· Java Enterprose Edition (EE), sebuah inisiatif API untuk merancang aplikasi server dengan mendukung untuk basis data.
· Java Macro Edition (ME), sebuah API untuk merancang aplikasi yang jalan pada alat kecil seperti telepon genggam, komputer genggam dan pager.

C. Java Virtual Machine

Java Virtual Machine (JVM) adalah sebuah spesifikasi untuk sebuah komputer abstrak. JVM terdiri dari sebuah kelas pemanggil dan sebuah interpreter Java yang mengeksekusi kode arsitektur netral. Kelas pemanggil memanggil file .class dari kedua program Java dan Java API untuk dieksekusi oleh interpreter Java. Interpreter Java mungkin sebuah perangkat lunak interpreter yang menterjemahkan satu kode byte pada satu waktu, atau mungkin sebuah just-intime (JIT) kompiler yang menurunkan bytecode arsitektur netral kedalam bahasa mesin untuk host computer.

D. Sistem Operasi Java
Sistem operasi biasanya ditulis dalam sebuah kombinasi dari kode bahssa C dan assembly, terutama disebabkan oleh kelebihan performa dari bahasa tersebut dan memudahkan komunikasi dengan perangkat keras.

Satu kesulitan dalam merancang sistem basis bahasa adalah dalam hal proteksi memori, yaitu memproteksi sistem opeasi dari pemakai program yang sengaja memproteksi pemakai program lainnya. Sistem operasi tradisional mengaharapkan pada tampilan perangkat keras untuk menyediakan proteksi memori. Sistem basis bahasa mengandalkan pada tampilan keamanan dari bahasa. Sebagai hasilnya, sistem basis bahasa menginginkan pada alat perangkat keras kecil, yang mungkin kekurangan tampilan perangkat keras yang menyediakan proteksi memori.

E. Dasar Pemrograman

Java2 adalah generasi kedua dari Java platform (generasi awalnya adalah Java Development Kit). Java berdiri di atas sebuah mesin interpreter yang diberi nama JVM. JVM inilah yang akan membaca bytecode dalam file .class dari suatu program sebagai representasi langsung 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.

Platform Java terdiri dari kumpulan library, JVM, kelas- kelas loader yang dipaket dalam sebuah lingkungan rutin Java, dan sebuah compiler, debuger, dan perangkat lain yang dipaket dalam Java Development Kit (JDK). Java2 adalah generasi yang sekarang sedang berkembang dari platformJava. 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 libraryJava yang digunakan.

PlatformJava memiliki tiga buah edisi yang berbeda, yaitu J2EE ( Java2 Enterprise Edition), J2ME ( Java2 Micro Edition) dan J2SE ( Java2 Standard Edition). J2EE adalah kelompok dari beberapa API ( Application Programming Interface) dari Java dan teknologi selain Java. J2EE sering dianggap sebagai middleware atau teknologi yang berjalan di server, namun sebenarnya J2EE tidak hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi yang dapat digunakan di semua lapisan dari sebuah sistem informasi. Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan dari rutin standar untuk aplikasi klien maupun server, termasuk aplikasi yang berjalan di web browser. J2SE adalah lingkungan dasar dari Java, sedangkan J2ME merupakan edisi library yang dirancang untuk digunakan pada device tertentu seperti pagers dan mobile phone.

SEMANTIC


Semantic adalah Mendefinisikan arti dari program yang benar secara syntax dari bahasatersebut.
Semantic suatu bahasa pemrograman mempunyai banyakpotensial / keunggulanbeberapa diantara nya adalah :
 Standarisasi bahasa pemrograman.
   Banyak usaha yang dilakukan untuk menstandarisasi bahasa pemrograman sepertiFORTRAN, COBOL, dan PL/1, untuk lebih memudahkan programmer menggunakannya.
• Referensi untuk user.
  Programmer membutuhkan suatu dokumentasi yang pasti supaya user dapat mengoperasikan program yang dibuat dengan baik.
 Pembuktian dari program yang benar.
  Secara matematis, program tidak mungkin bekerja dan berjalan jika tidak ada semantic. 
 Referensi untuk implementor.
  Semantic akan mencegah suatu gaya bahasa yang tidak kompetibel yang diwujudkan dalamsuatu implementasi berbeda walaupun dengan bahasa yangsama.
 Implementasi otomatis
  Suatu tool/alat dapat secara otomatis membuatu translasi bahasa yang melebihi parsing. Hal ini dapat dilakukan jika semantic sudah dirumuskan.
• Pemahaman yang lebih baik dari desain bahasa.
  Jika suatu rumusan semantic sulit untuk di deskripsikan secara formal maka rumusan semantic tersebut juga akan sulit digunakan oleh programmer.
Dua alasan mengapa perlu memahami suatu desain bahasa pemrograman dengan lebih baik, yaitu :
1) Memahami dengan lebih baik suatu desain bahasa pemrograman, berarti mambantumenguasai dan menggunakan bahasa tersebut.
2) Memahami dengan lebih baik suatu disain bahasa pemrograman secara detail, membantuprogrammer untuk memperbaiki proses pengembangan program menjadi lebih baik. 
Teknik-Teknik Pendeskripsian Semantic Bahasa Pemrograman :
 Operational Semantic :: Pendekatan ini mendefinisikan suatu mesin buatan (Abstract) dengan instruksi-instruksi primitif, tidak perlu realistik, tetapi cukup sederhana supaya tidak muncul kesalahpahaman.Deskripsi semantic dari bahasa pemrograman menentukan suatu translasi kekode.
Denotational Semantic :: Pada pendekatan inidiberikan suatu fungsi yang memetakanprogram-program komputer yang ditunjuk kedalam bentuk nilai-nilai abstrak secaramatematika (angkanilaikebenaranfungsi matematikadan sebagainya).
Axiomatic Semantic :: Pada pendekatan ini didefinisikan suatu tindakan program yangdibangun dengan property logika yang menyimpan status computer sebelum dansesudah eksekusi.
Algebraic Semantic :: Pada pendekatan ini dipertimbangkan suatu objek komputasi yangmenjadi syarat-syarat dalam aljabar multi-sorted. Program meng-implementasikanfungsi yang dapat diwujudkan dengan suatu persamaan di antara syarat-syarattersebut.  
Structured Operational atau Natural Semantic :: Seperti dalam pengambilan keputusansecara alamiah dengan logika. Program diberi suatu arti dari aturan yang diturunkanyang menggambarkan penilaian gagasan suatu bahasa.
Penerapan Semantic
Misal :
  int nilai[10]
  Semantic akan menentukan deklarasi diatas akan menyebabkan ruang sebanyak 10 elemen integer yang diberikan kepada variabel nilai.
Contoh :
  if (a > b) max = a; else max = b;
  Ekspressi a > b harus di evaluasi, dan tergantung dari nilai ini, satu dari duastatemen di belakangnya akan dieksekusi.
  Aturan syntax memberikan bentuk pada statemen tersebut di mana dengan tepat meletakkan tanda “;” sehingga aturan semantic dapat mengartikannya dengan benar.