Saturday 30 July 2016

Makalah Arsitektur Pemrograman Java

 Arsitektur JAVA


Seperti gambar diatas, lapisan terbawah adalah system operasi yang menjalankan Java Virtual Machine (JVM), diatasnya terdapat Core APIs (Application Programming Interfaces) dan integration APIs yang menyediakan kumpulan library.
Lapisan  berikutnya  adalah  Swing  dan  AWT  (Abstract  Windowing  Toolkit)  untuk
membuat  tampilan  aplikasi  yang  bagus.  Lapisan  selanjutnya  adalah  utilitas  untuk
menjalankan aplikasi pada lingkungan desktop. Lapisan teratas adalah utilitas yang digunakan oleh para programmer untuk pengembangan, kompilasi, debug dan membuat dokumentasi program.

Beberapa fitur penting yang dimiliki oleh java antara lain :

a. 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 manapun karena proses 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    instruksi    serupa    instruksi    kode    mesin.
Perbedaannya  adalah  kode  mesin  harudijalankan  pada  sistem  komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.

b. Garbage Collection
Banyak   bahas pemrogama lai yan mengijinka seoran programmer
mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok
memori tersebut supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa untuk mengembalika blo memori   sehingga   menyebabka situasi   yang  dikenal dengan nama memory leaks.
Program Java melakukan garbage collection yang berarti program tidak perlu
menghapu sendir objekobjek   yan tida digunaka lagi Fasilitas   ini
mengurangi beban pengelolaan memori oleh programmer dan mengurangi atau
mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.

c.  Code Security
Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.
Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter.
Proses ini menyediakan pengamanan dengan memisahkan kelaskelas yang berasal dari local disk dengan kelas–kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelaskelas yang berasal dari local disk yang dimuat terlebih dahulu.
Kedua,   bytecod verifie membac bytecode   sebelu dijalankan   dan menjamin bytecode memenuhi aturanaturan dasar bahasa Java.
Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan  apakah  prograberhak  mengakses  sumber  daya  seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi.
Java juga menyediakan beragam teknik pengamanan lain :

Bahasa  dirancang  untuk  mempersulit  eksekusi  kode  perusak.  Peniadaan
pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programmer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.

Java   memilik beberap pengama terhada applet Untu mencegah program  bertindak  mengganggu  media  penyimpanan,  maka  applet  tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela  mempunyai logo Java dan  teks identifikasi terhadap  jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password.

Beberapa  fitur  yang  ditawarkan  Java  API  (Application  Programming  Interface) antara lain sebagai berikut :

a. Applet
Program  Java  yang  dapat  berjalan  di  atas  browser,  yang  dapat  membuat
halaman HTML lebih dinamis dan menarik.

b. Java Networking
Sekumpulan API (Application Programming Interface) yang menyediakan fungsi
fungsi untuk aplikasiaplikasi jaringan, seperti penyediaan akses untuk TCP, UDP,
IP Adrress dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP (Internet Control Message Protocol) dikarenakan alasan sekuriti dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan protokol ICMP.

c.  Java Database Connectivity (JDBC)
JDBC menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server.

d. Java Security
Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi
Java baik secara high level atau low level, seperti public/private key management
dan certificates.

e. Java Swing
Java Swing menyediakan  sekumpulan  API untuk membangun  aplikasiaplikasi
GUI (Graphical User Interface) dan model GUI yang diinginkan bisa bermacam– macam, bisa model Java, model Motif/CDE atau model yang dependent terhadap platform yang digunakan.

f.  Java RMI
Java RMI (Remote Method Invocation) menyediakan sekumpulan API untuk membangun aplikasiaplikasi Java yang mirip dengan model RPC (Remote Procedure Call), jadi objek-objek java bisa dipanggil secara remote pada jaringan.

g.  Java 2D/3D
Java  2D/3D  menyediakan  sekumpulan  API  untuk  membangun  grafik   grafik
2D/3D yang menarik dan juga akses ke printer.
h. Java Server Pages
Berkembang  dari  Java  Servlet  yang  digunakan  untuk  menggantikan  aplikasi
aplikasi  CGI,  JSP  (Java  Server  Pages)  yang  mirip  ASP  dan  PHP  merupakan alternatif terbaik untuk solusi aplikasi Internet.

i JNI (Java Native Interface)
JNI  menyediakan  sekumpulan  API  yang  digunakan  untuk  mengakses  fungsi
fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan Basic.

j Java Sound
Java Sound menyediakan sekumpulan API untuk manipulasi sound.

k.  Java IDL + CORBA
Java IDL (Interface Definition Language) menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia networking.

l Java Card
Java Card utamanya digunakan untuk aplikasiaplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada handphone.
m. JTAPI (Java Telephony API)
Java Telepony API menyediakan sekumpulan API untuk memanfaatkan devices–
devices telepony, sehingga akan cocok untuk aplikasiaplikasi CTI (Computer Telephony  Integration)  yang  dibutuhkan  seperti  ACD  (Automatic  Call Distribution), PCPBX dan lainnya.


Referensi :

1 Hariyanto, Bambang, (2007),  Esensi-esensi Bahasa Pemrograman  Java, Edisi 2, Informatika Bandung, November 2007.
2 Utomo, Eko Priyo, (2009), Panduan Mudah Mengenal Bahasa Java, Yrama Widya, Juni 2009.
3 Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007
4 http://www.java.net/, diakses tanggal 28 September 2010
5 http://www.oracle.com/, diakses tanggal 28 September 2010



No comments:

Post a Comment