Bahasa pemrograman Java merupakan bahasa turunan dari C, atau bahasa turunan
dari C++. Well, Java dan C++, mereka sama-sama berorientasikan objek dan
mendukung fitur kelas (classs), dan memiliki syntax yang hampir similiar secara
konsep.
Sejak awal diciptakannya, bahasa pemrograman C memang
banyak menginspirasi berbagai bahasa pemrograman lainnya, contohnya PHP,
Objective-C, Perl, Phyton, Java, dan banyak lainnya.
Java ialah bahasa pemrograman yang juga ter-influenced bahasa C, mempunyai
banyak kesamaan. Tapi Java tidak sama dengan C. Dan bisa dijelaskan lagi, bahwa
Java itu bukan C ataupun C++.
Java didesain sebagai simplifikasi dari bahasa C/C++ dan sekaligus
memperbaiki fitur-fitur keamanan yang kurang dipendahulunya sehingga banyak
fitur - fitur bahasa C/C++ yang dihilangkan. Semua itu bertujuan untuk meng-“eliminate
redundancy”, alias meminimalisir proses yang berulang-ulang.
Di dalam perkembangannya, bahasa C berubah menjadi kumpulan proses yang,
banyak, namun intinya sama, menyediakan terlalu banyak cara untuk melakukan hal
yang sama, dimana bahkan dalam beberapa kasus C tidak menyediakan fitur yang
dibutuhkan.
Salah satu hal yang menjadi ciri khas Java ialah tidak adanya “pointer”.
Sekali lagi java, “There’s no pointer in Java”. Banyak yang bilang, bahkan beberapa teman saya juga bilang, “Ada
kok.” Tapi mari kita bahas saja disini apa yang orang - orang bilang
tentang pointer di Java.
Kenapa Tidak Ada Pointer di Java ?
Banyak penelitian berkesimpulan kalau pointer ialah salah satu fitur utama yang
memungkinkan programmer menginjeksikan “bugs” ke dalam program mereka. Di Java,
struktur data sudah dilenyapkan (hal ini akan dibahas lain waktu), dan
array dan string adalah objek. Maka kebutuhan untuk memakai pointer bagi struktur
tersebut hilang. Ditambah lagi Java tidak punya pointer data types.
Algoritma-algoritma yang membutuhkan array, struktur, dan pointer di dalam C
bisa lebih mudah dan cepat diselesaikan dengan deklarasi array dan objek dari
suatu array. Lalu, apakah kita nggak bisa membuat struktur data seperti linked
list,
stack dsb pada Java? Tentu saja tidak.
Algoritma di bawah ini ialah contoh linked-list di dalam bahasa C, dan
memakai pointer tentunya.
Dengan
adanya algoritma disamping ini, Kita bisa mengamati pointer di Java hanyalah permainan dari
objek-objek, object of object.
Istilah pointer
di Java tidak ada, namun sengaja saya tulis “mengalokasikan pointer”
pada algoritma di atas. Pointer di dalam Java telah diganti dengan istilah references. Bahasa Java hampir
semuanya adalah references, variable references, object references dan lain-lain.
No comments:
Post a Comment