Selamat datang di blogs UNYDeveloperNetwork. Alasan saya menulis artikel ini adalah bentuk keprihatinan Saya terhadap para sebagian besar pengajar (dosen / guru) yang memberikan materi pemrograman — tidak memberikan materi fundamental dengan baik kepada para calon programmer — terutama programmer pengguna bahasa dengan prefix “Java”. Banyak calon programmer ini (dalam hal ini programmer beginner) masih menganggap Java dan Javascript adalah satu keluarga. Hanya karena dengan melihat prefix “Java” -nya. Tetapi benarkah Java dan Javascript ini satu keluarga?
Sejarah
Sebelum kita lebih jauh masuk ke dalam masing masing bahasa, alangkah baiknya kita lihat dulu sejarah mereka terlebih dahulu.
Java, adalah sebuah bahasa pemrograman yang dikembangkan dengan tujuan untuk main brain berbagai perangkat mikro yang saat itu sedang populer (TV Interaktif, ATM, Oven serba bisa, dll). Bahasa ini dikembangkan pada tahun 1990 oleh insinyur Sun Microsystem, James Gosling bersama dengan Patrick Naughton dan Mike Sheridan di bawah project The Green Project yang mana pada akhirnya, tiga dari pimpin project ini (Eric Schmidt, George Paolini, dan Marc Andreessen) keluar dari project dan membentuk Netscape.
Pada awalnya, bahasa ini diberi nama Oak, sebuah pohon yang sering Gosling lihat dari kantornya. Namun, pada akhirnya Gosling menggantinya dengan nama Java yang tidak lain berasal dari Kopi Jawa (Java Coffee) yang banyak dikonsumsi dalam jumlah besar oleh pengembang bahasa ini.
Java menjadi bahasa pemrograman berbintang di kala itu, karena bahasa ini menjadi bahasa pemrograman pertama yang menawarkan teknologi dimana bahasa ini dapat disematkan di sebuah halaman web dan dapat diakses oleh seluruh pengguna internet (java applet). Selain itu, karena sifat bahasa ini yang general purpose, pengembang dapat menerapkan write once, run anywhere (WORA) dalam memgembangkan aplikasinya. Dimana dalam hal ini, pengembang hanya perlu sekali saja menulis dan mengkompilasi, namun sudah dapat dijalankan di berbagai platform. Untuk saat ini pun, Java menjadi bahasa paling populer yang digunakan terutama untuk aplikasi web client-server.
JavaScript, adalah bahasa pemrograman yang dikembangkan dengan tujuan membantu halaman web menjadi interaktif dan hari ini menjadi bagian web yang esensial. Pada awal kemunculannya pada tahun 1995, Javascript hanya diimplementasikan sebagai client-side pada web-browser. Namun, kini JavaScript dapat disisipkan ke dalam server-side: web server, database, aplikasi non-web, dan juga sebagai runtime environment untuk aplikasi desktop ataupun mobile.
JavaScript dikembangkan oleh insinyur Netscape, Brendan Eich di bawah project Mocha. Kemudian, saat rilis pada bulan September 1995 bersamaan dengan rilis beta Netscape Navigator 2.0 namanya diganti menjadi LiveScript. Hingga akhirnya, pada rilis final di bulan Desember 1995, namanya menjadi JavaScript meskipun tidak ada hubungannya sama sekali dengan Java.
Tujuan dari pengembangan bahasa JavaScript ini sendiri pada awalnya adalah untuk mendukung Netscape Navigator. Pada versi rilis sebelumnya, Navigator sudah dibekali dengan Java sehingga dapat menjalankan aplikasi java yang disematkan ke dalam suatu halaman. Namun, karena hal tersebut, Navigator tidak dapat dimanfaatkan oleh web programmer non-java. Oleh karena itu, untuk mengakomodasi hal tersebut maka dikembangkanlah JavaScript ini.
Lalu, mengapa terdapat kata “Java” pada “Javascript”? ternyata, hal ini adalah strategi pemasaran saja supaya bahasa pemrograman baru ini mudah diterima. Selain itu, pada saat kemunculannya, terdapat persaingan antara Netscape yang didukung oleh Sun Microsystem dan Internet Explorer yang didukung oleh Microsoft. Dan pada awalnya, Eich berkata bahwa Netscape dan Sun melakukan perjanjian lisensi untuk JavaScript yang membuatnya saling melengkapi dengan Java. Saat itu, microsoft juga merilis “JavaScript” versi mereka sendiri yang dinamakan “JScript” karena “JavaScript” sudah terlebih dahulu menjadi nama dagang Sun Microsystem dan Netscape (yang pada akhirnya, baik Java dan JavaScript menjadi milik Oracle).
Kelebihan dan Kekurangan
Setelah kita mengetahui sejarahnya, sekarang kita akan lebih mendalaminya dengan mengetahui kelebihan dan kekurangannya.
KELEBIHAN DAN KEKURANGAN JAVA
Java, seperti yang sudah diketahui bahasa pemrograman java menerapkan write once, run anywhere (WORA). Namun, fitur ini selain merupakan kelebihan merupakan ternyata menjadi salah satu kelemahan yang dimiliki Java. Karena nyatanya, fitur ini belum kompatibel dengan beberapa sistem misalnya, MacOSX untuk SWT-AWT bridge. Selain itu, apa kelebihan dan kekurangan lainnya?
Kelebihan Java |
Multiplatform, merupakan kelebihan utama dari bahasa pemrograman Java. Sesuai dengan prinsip write one, run anywhere (WORA), pengembang aplikasi cukup sekali saja menulis dan mengkompilasi kode program yang sudah ditulisnya dan dapat dijalankan di berbagai sistem operasi. Hal ini dapat terjadi karena Java menggunakan Java Runtime Environment (JRE) yang memungkinkan kode program yang sudah ditulis dapat dijalankan di berbagai sistem operasi |
OOP (Object Oriented Programming) atau dalam bahasa Indonesia dapat dikatakan Pemrograman Berbasis Object. Java merupakan salah satu bahasa pemrograman yang menerapkan konsep OOP. Dimana program yang dibuat berorientasikan kepada object – object. Program yang dibuat dengan menggunakan konsep OOP terdiri atas object – object yang saling berhubungan. |
Library yang Lengkap, Java terkenal dengan kelengkapan library nya yang sangat memudahkan para pengembang aplikasi dalam membangun aplikasinya. Kelengkapan library ini ditambah dengan komunitas – komunitas Java yang terus menerus membuat library – library baru atau memperbarui library – library yang telah ada sebelumnya, membuat bahasa pemrograman Java semakin kokoh. |
C++ Style, Bukan hal yang asing lagi jika bahasa pemrograman Java dipengaruhi oleh C++. Sehingga membuat sintaks – sintaksnya mirip dengan bahasa pemrograman C++. Hal ini tentu memudahkan sekali para pengguna bahasa pemrograman C++ untuk pindah ke Java. |
Automatic Garbage Collector, Java memiliki fitur yang dulu membuatnya menjadi bintang, yakni automatic garbage collector. Fitur ini memungkinkan program yang dikembangkan dengan bahasa pemrograman Java dapat mengalokasikan penggunaan memori secara otomatis sehingga para pengembang aplikasi tidak perlu melakukan pengaturan memori secara langsung. |
Kekurangan Java |
Write Once Run Anywhere, sudah disebutkan sebelumnya, selain menjadi kelebihan ternyata fitur ini juga merupakan kekurangan dari Java. Karena ada beberapa komponen yang masih tidak kompatibel di beberapa sistem. Contoh untuk J2SE (Java 2.0 Standard Edition), komponen SWT-AWT bridge sampai sekarang tidak berfungsi di MacOS X. |
Mudah didekompilasi, dekompilasi adalah proses pembalikan bahasa yang sudah dicompile menjadi source code kembali. Hal ini dapat terjadi karena compiled source Java merupakan bytecode yang menyimpan banyak sekali atribut bahasa tingkat tinggi, seperti nama kelas, method, dan tipe data. Sehingga sulit sekali menyembunyikan algoritma yang digunakan pada suatu program dan memungkinkan untuk dilakukan reverse–engineer |
Penggunaan Memori yang Banyak. Sudah bukan menjadi rahasia umum, bahwa memori yang digunakan ketika menjalankan program yang ditulis dengan menggunakan Java adalah lebih besar daripada bahasa yang lain (C, C++, bahkan Pascal). Hal ini, karena konsep write once run anywhere yang diterapkan oleh Java membuat runtime environment dibuat se-umum mungkin dan dapat berjalan di berbagai jenis kelas hardware. Untuk masa sekarang ini, hal seperti ini bukan menjadi masalah lagi, karena memori perangkat juga sudah sedemikian besarnya. Namun pada masa lalu, hal ini menjadi problematika. |
KELEBIHAN DAN KEKURANGAN JAVASCRIPT
Seperti yang sudah dijelaskan sebelumnya, bahwa JavaScript tidak memerlukan compiler untuk dapat menjalankannya karena JavaScript hanya memerlukan browser yang mendukung JavaScript. Berbeda dengan Java, yang harus dicompile terlebih dahulu dan dijalankan dengan menggunakan Java Runtime Environment. Jadi, apakah yang menjadi kelebihan dan kekurangan dari JavaScript?
Kelebihan JavaScript |
Mudah Dipelajari, berbeda dengan Java, JavaScript mudah sekali dipelajari. Mengapa? karena JavaScript merupakan bahasa semi pemrograman yang mengkombinasikan antara Bahasa Pemrograman Java dengan HTML sehingga disebut hybrid. |
Open, JavaScript tidak terikat dengan hardware maupun software tertentu, bahkan juga tidak terikat dengan sistem operasi. Karena bersifat terbuka, JavaScript dapat dibuat maupun dieksekusi di semua jenis perangkat. |
Ukuran File Kecil, Script dari JavaScript berukuran sangat kecil, sehingga kecepatan load dari page yang memiliki JavaScript juga lebih cepat. |
Cepat, Tanpa Compiler, karena diletakkan di dalam tag HTML, dapat langsung diinterpret oleh browser yang mendukung JavaScript |
Kekurangan JavaScript |
Masalah Keamanan, Pernahkan Anda melihat kode JavaScript yang ada di dalam sebuah halaman web? Dengan menggunakan view source kita dapat melihat seluruh kode (baik HTML, CSS, dan JS) yang ada di dalamnya. Di sinilah letak masalahnya. Baik HTML, CSS, dan JS dieksekusi di browser pengguna (client side), Seringkali kita menjumpai script – script action yang membuat browser client dapat berkomunikasi langsung, realtime, dengan sebuah server. Kode – kode JavaScript ini tidak dapat dienkripsi (karena tidak ada proses kompilasi) dan benar benar terbuka yang menjadi celah keamanan paling berbahaya dan dapat digunakan untuk mengeksploitasi server. Selain itu, karena JavaScript dieksekusi di browser client, maka sangat besar kemungkinan terdapat JavaScript yang ditanamkan dalam sebuah web page digunakan untuk mengeksploitasi sistem pengguna. |
Kemampuan Terbatas, Meski JavaScript dapat membuat sebuah halaman web dinamis dan interaktif, namun JavaScript tidak dapat digunakan untuk membuat aplikasi mandiri seperti Java. |
Keterbatasan Objek, JavaScript tidak memiliki kemampuan untuk membuat class – class yang bisa menampung object – object tambahan seperti Java. Hal ini dikarenakan JavaScript sudah memiliki object builtin pada struktur bahasanya. |
Demikian artikel Java v.s. Javascript. Satu Keluarga atau Tidak? Semoga bermanfaat untuk kita semua. Dapat disimpulkan bahwa, Java dan JavaScript itu sama sekali berbeda. Java memerlukan compiler supaya kodenya dapat dijalankan, sedangan JavaScript hanya memerlukan interpreter untuk dapat menjalankannya. Selain itu, Java dapat digunakan untuk keperluan web development, desktop apps develoment, bahkan mobile development, sehingga Java dapat digunakan untuk membangun aplikasi mandiri. Berbeda dengan JavaScript, JavaScript memerlukan sebuah halaman web (dalam HTML) untuk dapat menjalankan scriptnya.
Apabila Anda memiliki pertanyaan, jangan sungkan meninggalkannya di kolom komentar. Jika Anda ingin mencuplik artikel ini, jangan lupa juga sertakan URL nya. Terima Kasih.. ^_^
REFERENSI
- https://bpptik.kominfo.go.id/2012/06/04/257/sejarah-java/
- https://id.wikipedia.org/wiki/Java
- https://id.wikipedia.org/wiki/JavaScript
- https://jogjaweb.co.id/blog/pengertian-dan-sejarah-javascript
- https://www.codepolitan.com/penasaran-gak-kenapa-ada-kata-java-pada-javascript
- https://en.wikipedia.org/wiki/JavaScript