pengenalan java (part 2)

pengenalan java (part 2)



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 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 aplikasi–aplikasi 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 aplikasi–aplikasi 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 aplikasi–aplikasi 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 aplikasi–aplikasi 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 aplikasi–aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution), PCPBX dan lainnya.




1.1.6 Sebagian Fitur di Java

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 harus dijalankan 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 bahasa pemrogaman lain yang mengijinkan seorang 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 mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.

Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek–objek yang tidak digunakan 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 kelas–kelas yang berasal 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 verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan–aturan dasar bahasa Java. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak 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 memiliki beberapa pengaman terhadap applet. Untuk 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.




1.2 Persiapan Pemrograman Java

Untuk mengembangkan program java kita harus menginstall aplikasi yang dibutuhkan terlebih dahulu. Semua aplikasi pengembangan yang dibutuhkan telah dijadikan suatu paket yang disebut Java Development Kit (JDK). Java Development Kit (JDK) dapat di-download di web site Oracle, yaitu http://www.oracle.com/.

JDK terdiri dari beberapa komponen, antara lain :

a. Kompilator/compiler (javac)

b. Intrepreter program java (java)

c. Applet viewer (appletviewer)

d. Debugger (jdb)

e. Class file disassembler (javap)

f. Header and stub file generator (javah)

g. Documentation generator (javadoc)

h. Applet demo

i. Kode sumber java API



Lihat pengenalan java part 1








Share this:

Enter your email address to get update from Kompi Ajaib.

Tidak ada komentar