Breaking News
Loading...
Tuesday, November 10, 2009

Bahasa Pemrograman Java Part 2

11/10/2009
 
Kali ini kita akan mencoba mengenal tentang Java sebuah
bahasa berorientasi object yang dikembangkan oleh Sun
Microsystems.

Apa Java Itu?

Berbicara mengenai Java berarti ada dua bagian yang dibicarakan, yakni Java sebagai bahasa pemrograman dan Java sebagai platform. Sebagai bahasa pemro-graman, Java dikenal sebagai bahasa pemrograman tingkat tinggi dengan fitur-fitur utama antara lain:
  • Simple
Java dirancang untuk mudah dipelajari, terutama bagi programmer-programmer yang telah mengenal C/C++ akan mudah sekali untuk berpindah ke Java
  • Object Oriented
Paradigma pemrograman berorientasi object merupakan paradigma pemrograman masa depan. Java pun merupakan bahasa pemrograman berorientasi object
  • Robust and Secure
Java dirancang sebagai bahasa pemrograman yang handal dan aman. Aplikasi-aplikasi yang dibangun dengan bahasa Java sangat handal dengan manajemen memori yang bagus. Aplikasi Java juga dikenal sangat secure, yaitu kasus-kasus seperti buffer overflow yang umumnya menjadi lubang keamanan aplikasi-aplikasi berbasis C/C++ tidak terjadi di Java, karena pengaturan security-nya yang bagus
  • Architecture Neutral and Portable
Dengan semboyan write once run everywhere, Java dirancang untuk dapat dijalankan di semua platform, tanpa peduli apakah arsitektur perangkat lunak berupa Intel, AMD, Sun Sparc, PowerPC; ap likasi Java mampu berjalan di semuanya tanpa perlu dikompilasi ulang. Bagaimana Java bisa bersifat neutral architecture? Java Compiler yang digunakan untuk mengkom-pilasi kode program Java dirancang untuk menghasilkan kode yang netral terhadap semua arsitektur perangkat keras yang disebut sebagai Java bytecode. Aplikasi-aplikasi hasil kompilasi Java pada dasarnya berupa Java bytecode dan bukannya native code sebagaimana file-file *.exe pada Windows/DOS. JVM (Java Virtual Machine) menjadi bagian dari teknologi Java yang menyediakan media untuk dijalankannya aplikasi Java (Java bytecode).

  • High Performance
Java dirancang untuk menghasilkan aplikasi-aplikasi dengan performansi yang terbaik. Contoh nyata aplikasi besar saat ini yang mungkin bisa kita lihat adalah aplikasi database Oracle 8i/9i yang core-nya dibangun menggunakan bahasa pemrograman Java.  Seperti yang telah dijelaskan sebelumnya, aplikasi Java (*.class) merupakan Java bytecode yang  berjalan di atas JVM (Java Virtual Machine). Java bytecode bisa Anda anggap sebagai kode-kode mesin dari JVM, yang kemudian JVM-lah yang akan menginterpretasikan kode-kode tersebut ke kode native atau kode mesin dari arsitektur yang bersangkutan. Hal sangat menarik karena urusan arsitektur mesin bukan jadi masalah bagi programmer tapi menjadi urusan kompiler pada bahasa pemrograman Java. Setelah Anda memprogram dengan Java, Anda tidak perlu pusing-pusing lagi gara-gara aplikasi Anda hanya bisa berjalan di Intel Linux misalnya, padahal Anda ingin semua platform mendukung, karena JVM menyediakan neutral platform untuk Anda.



Gambar 2-1. Proses kompilasi dan dijalankannya aplikasi Java

Sebagai sebuah platform, Java terdiri atas dua bagian utama, yakni:
  • Java Virtual Machine (JVM)
  • Java Application Programming Interface (Java API)
Pada dasarnya, ada berbagai macam platform tempat aplikasi-aplikasi perangkat lunak (software) dieksekusi
seperti Microsoft Windows, Unix, Linux, Netware, Macintosh, dan OS/2. Namun, aplikasi-aplikasi yang berjalan pada suatu platform (misalnya Windows) tidak akan bisa dijalankan di platform yang lain (misalnya Linux) tanpa usaha kompilasi ulang, bahkan pengubahan kodeprogram. Java platform merupakan perangkat lunak yang menjadi mesin virtual bagi aplikasi Java untuk dieksekusi. Jadi, aplikasi Java tidak perlu dikompilasi ulang jika telah dikompilasi di suatu platform dan akan dijalankan di platform yang berbeda dengan platform saat dikompilasi, karena aplikasi Java dijalankan di atas Java Virtual Machine (JVM). Saat ini Java Platform telah ada secara default pada berbagai sistem operasi, antara lain:
  1. Windows 9.x/NT/2000
  2. Sun Solaris
  3. MacOS
  4. Novell Netware 4.0
  5. HPUx
  6. Hitachi OS
  7. AIX
  8. Irix
  9. Unixware (SCO)



Gambar 2-2. Perbandingan fitur beberapa bahasa pemrograman populer (sumber : http://java.sun.com/docs/white/langenv/Perform.doc2.html)



 
Gambar 2-3. Model Java Platform sebagai perantaradieksekusinya aplikasi Java(Java bytecode) ke kode mesinyang bersangkutan

Berbicara kecepatan, memang aplikasi Java kalah cepatdibandingkan dengan aplikasi yang native code karena Javaberjalan di atas JVM sedangkan aplikasi native, misalnyafile  *.exe, langsung berjalan di atas perangkat keras yang bersangkutan. Namun, saat hal ini bisa ditekan dan tak jadi masalah lagi dengan algoritma yang bagus dan dukunganhardware, misal memori (RAM), yang baik.

Fitur-Fitur Java yang Menarik 

Java API menyediakan fitur-fitur yang menarik bagi Andayang ingin menggunakan Java untuk mengem-bangkanaplikasi Anda. Ada berbagai fitur yang ditawarkan olehJava API antara lain sebagai berikut:
  • Applet 
Java Applet merupakan program Java yang berjalan diatas browser. Dengan menggunakan java Applet, makahalaman HTML Anda akan lebih dinamis dan menarik,sangat cocok untuk pengembangan aplikasi-aplikasiberbasis web.
  • Java Networking
Java Networking merupakan sekumpulan API (Application Programming Interface) yang menyediakan fungsi-fungsi untuk aplikasi-aplikasi jaringan. Java Networking menyediakan akses untuk TCP,UDP, IP Address dan URL. Java Networking tidak menyediakan akses untuk ICMP dikarenakan alasan sekuriti dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan protokol ICMP.
  • Java Database Connectivity (JDBC)
JDBC menyediakan sekumpulan API yang dapat digunakan untuk  mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server.
  • Java Security
Java Security menyediakan sekumpulan API untukmengatur security dari aplikasi Java baik secara high-level ataupun low-level, seperti public/private key management dan certificates.
  • 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.
  • Java RMI
Java RMI menyediakan sekumpulan API untuk membangun aplikasi-aplikasi Java yang mirip dengan model RPC (Remote Procedure Call) jadi object-object Java bisa di-call secara remote pada jaringan komputer.
  • Java 2D/3D
Java 2D/3D menyediakan sekumpulan API untuk membangun grafik-grafik 2D/3D yang menarik dan juga akses ke printer.
  • 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 Anda.
  • 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.
  • Java Sound
Java Sound menyediakan sekumpulan API untuk manipulasi sound.
  • 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.
  • Java Card
Java Card utamanya digunakan untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada handphone Anda.
  • JTAPI (Java Telephony API)
Java Telephony API menyediakan sekumpulan API untuk memanfaatkan devices-devices telephony, sehingga akan cocok untuk aplikasi-aplikasi CTI (Computer Telephony Integration) yang Anda butuhkan seperti  ACD (Automatic Call Distribution), PC-PBX dan lainnnya. Sebenarnya, ada banyak sekali API-API yang disediakan oleh Java yang bisa Anda manfaatkan sesuai kebutuhan Anda, Anda dapat melihatnya di situs utama Java, yakni
http://java.sun.com/

Rating: 5, Reviewer : Yufex E,

0 Comments:

Post a Comment

Terimakasih telah berkunjung di LpuARmy Blog, budayakan berkomentar dengan nama (jangan pakai Anonymous) dan baik yah :)

sankyu :)
- Admin LpuARmy Blog

 
Toggle Footer