Fitur yang ada pada Bahasa Java

Oleh: M. Ghazali a.k.a ghaNOZ 2480

 

1. Sederhana dan Ampuh

 Banyak sistem pemrograman memiliki puluhan cara untuk mengerjakan satu hal. Jika suatu bahasa cukup terbuka sehingga orang dapat melihat lebih mendalam, kita bebas dan dapat melakukan apa saja dengan cara kita. Mungkin cara ini menawarkan kinerja yang sangat memuaskan bagi programmer yang ahli dan teliti, tetapi kebebasan tersebut harus dibayar mahal dengan kerumitan dan cukup sulit untuk dimengerti. Dengan Java, hanya ada sedikit cara untuk menyelesaikan suatu pekerjaan. Java memberi Anda kemampuan untuk menuangkan ide Anda dalam cara berorientasi objek yang mudah dan jelas, tanpa harus melihat proses bagian dalam sistem yang sering kali berbahaya. 

Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak menyediakan fitur-fitur rumit bahasa pemrograman level tinggi, serta banyak pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang dapat dikerjakan oleh Java secara otomatis. Java tidak mendukung fitur-fitur rumit berikut ini :

·         Explicit pointer manipulation

·         Implicit type casting

·         Structure atau Unions

·         Operator Overloading

·         Templates

·         Header Files

·         Multiple Inheritance 

2. Bahasa Berorientasi Objek

 Meskipun Java dipengaruhi bahasa-bahasa terdahulu, namun Bahasa Java bukan turunan langsung dari bahasa manapun, dan juga tidak dirancang untuk kompatibel secara kode sumber dengan bahasa-bahasa sebelumnya. Bahasa Java sepenuhnya baru. Kebijakan ini memberi kebebasan perancang Java. Kebebasan ini menghasilkan rancangan Bahasa Java yang bersih, berguna, serta sekaligus menerapkan pendekatan pragmatic terhadap objek. 

Java merupakan penyeimbangan antara mazhab berorientasi objek “murni” yang memandang “semua harus objek / semua adalah objek” dan mazhab pragmatis yang menerapkan pragmatis “stay out my way” (model hacker “jangan iktut campur”). Model objek Java adalah sederahana dan mudah dikembangkan, namun sejalan dengan itu, bilangan dan tipe data sederahana lain dianggap sebagai non-objek berkinerja tinggi. 

OOP adalah cara ampuh dalam pengembangan dan pengorganisasian perangkat lunak. Pada OOP, program computer sebagai sekelompok objek yang berinteraksi. Deskripsi ringkas OOP adalah mengorganisasikan program sebagai kumpulan komponen, disebut objek. Objek- Objek ini ada secara independent, mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerintahkan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu. 

Kebanyakan sistem berorientasi-objek lain memilih hirarki objek yang kaku dan susah diatur, atau memilih menggunakan model objek dinamik yang tidak memiliki kinerja tinggi dan kelengkapan. Java sekali lagi memiliki keseimbangan, menyediakan, menyediakan mekanisme peng-class-an sederhana, dengan model antarmuka dinamik yang intuitif hanya jika diperlukan. Java tidak mengijinkan pewarisan jamak namun menyelesaikan kebutuhan pewarisan jamak dengan fasilitas yang lebih elegan. 

3. Bahasa Statically Typed

 Seluruh objek dalam program harus dideklarasikan lebih dahulu sebelum digunakan. Ini memungkinkan kompilator Java menentukan dan melaporkan terjadinya pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal untuk mencegah kesalahan yang tidak perlu (seperti mengurangkan variable bertipe integer dengan variable bertipe string). 

Kebaikan lain dari fitur ini adalah kode program dapat dioptimasi untuk menghasilkan program berkinerja tinggi. 

4. Bahasa Dikompilasi

 Sebelum menjalankan program di bahasa Java, program dikompilasi menggunakan Java compiler. Kompilasi akan menghasilkan file bytecode yang serupa fungsinya dengan file kode mesin dan dapat dieksekusi disembarang Java Interpreter. Java Interpreter membaca file “bytecode” dan menerjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang dapat dieksekusi. 

5. Bahasa yang Aman

 Salah satu prinsip kunci perancangan Java adalah keselamatan dan keamanan. Bahasa Java (implementasinya) telah memperoleh pengalaman aspek keamanan dari Java Applet. Cara kerja applet adalah sebagai berikut :

Saat web browser mengetahui adanya Java Applet dihalaman web yang sedang diinterpretasi (atau web rendering), maka browser akan melakukan download applet dan keseluruhan halaman web. Applet itu kemudian dijalankan dikomputer dimana browser berada. Hal ini tentu dapat menjadi sangat berbahaya, banyak aksi buruk yang dapat dilakukan applet terhadap computer yang mengeksekusinya. Untuk itu Java telah memberi pengamanan terhadap applet dengan model pengamanan berlapis.   

Java menggunakan model pengamanan tiga lapis (three-layer security model) untuk melindungi system dari untrusted Java code.

1.      Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java.

2.      Class loader menangani pemuatan kelas Java ke runtime interpreter.  

3.      Manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port, jaringan, proses eksternal dan sistem windowing. 

Java juga menyediakan beragam teknik pengamanan, yaitu:

1.      Java tidak mengenal pointer. Peniadaan pointer merupakan langkah besar pengamanan. Bagi pemrogram handal, operasi pointer merupakan anugrah besar untuk optimasi program dan pembuatan program yang efisien serta mengagumkan. Namun juga dapat menjadi petaka yang besar, pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.

2.      Program Java dikompilasi menjadi serangkaian bytecode. Sebelum Java dijalankan, terdapat Java verifier yang memeriksa bytecode untuk menjamin ketiadaan kode yang mencurigakan.

3.      Java mempunyai beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu disk pemakai applet tidak diperbolehkan melakuukan open, read, atau write terhadap file di sistem pemakai secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai Java logo dan teks indentifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai yang lain seperti untuk meminta nama pemakai dan password. Java telah menerapkan keamanan yang ketat namun fleksibel. Keamanan berdasar suatu file kebijakan sehingga dapat diatur dan dikendalikan untuk memperoleh kemampuan maksimal bagi program mandiri dan applet yang dipercaya (trusted code). 

6. Bahasa Independen terhadap Platform

 Platform independence adalah kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak bergantung pada platform. 

Tipe variabel Java mempunyai ukuran yang sama di semua platform sehingga variabel bertipe integer (int, long) berukuran sama tidak peduli dimana program Java dikompilasi. Juga terhadap penggunaan Java applet di web adalah sama sekali tidak memerlukan perubahan sedikit pun terhadap file .class yang dihasilkan agar dapat dieksekusi di platform manapun. Begitu telah tercipta file  .class dengan menggunakan kompilator Java di platform manapun, maka file .class tersebut juga dapat dijalankan di platform manapun. Jadi dimanapun dibikin, dimanapun dapat dijalankan.  

7. Bahasa Multithreading

 Thread adalah untuk menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kakas untuk menulis program multithread, program mempunyai lebih dari satu thread eksekusi pada saat yang sama sehingga memungkinkan program menangani beberapa tugas secara konkruen. Semua aplikasi pasti sedikitnya mempunyai satu thread yang merepresentasikan jalur utama eskekusi. 

8. Bahasa yang Didukung Garbage Collector

 Program Java melakukan garbage collection yang berarti pemrogram tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkan kesalahan alokasi dinamis. 

9. Bahasa yang Tegar

 Java interpreter memeriksa semua akses sistem yang dilakukan. Program Java tidak dapat menyebabkan crash terhadap sistem. 

Java mempunyai mekanisme execption-handling yang ampuh. Exception handling menyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi menjadi lebih tegar. Ketika kesalahan yang serius ditemukan, program Java menciptakan execption. Exception dapat ditangkap dan dikelola program tanpa resiko membuat sistem menjadi down.  

10. Bahasa yang Mampu Diperluas

 Program Java mendukung native method, yaitu fungsi ditulis di bahasa lain, biasanya C/C++. Dukungan native method memungkinkan pemrogram menulis fungsi yang dapat dieksekusi lebih cepat dibanding fungsi ekivalen di Java. Native method secara dinamis akan di-link ke program Java, yaitu diasosiasikan dengan program saat jalan. 

Bahasa mempunyai banyak fitur modern yang ampuh untuk pengelolaan sistem kompleks.  Namun perlu diingat bahwa bahasa Java tetap hanya bahasa pemrograman sekedar kakas. Seluruh kakas pengembangan tetap memerlukan pengembang (pemrogram) yang mampu menggunakannya.  

REFERENSI

Hariyanto, Bambang “Esensi-esensi Bahasa Pemrograman Java”, Cetakan kedua Penerbit INFORMATIKA, Bandung:2005.

One thought on “Fitur yang ada pada Bahasa Java

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s